/*
 * StylesZoomEditeur — colonne de zoom à gauche de la feuille A4
 * Position : voir .zone-zoom dans StylesMainTraitementText.css (centre vertical sous le bandeau sticky)
 * Dimensions en vh / vw — typographie en rem
 */

.zoom-editeur {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65vh;
    width: 100%;
    min-width: 9vw;
    max-width: 9vw;
    padding: 0.65vh 0.85vw;
    border: 2px solid var(--color-accent);
    border-radius: 0.35vh;
    background-color: color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));
    box-shadow: 0 2px 8px color-mix(in srgb, var(--color-accent) 14%, transparent);
}

@media (min-width: 1920px) {
    .zoom-editeur {
        max-width: 10vw;
    }
}

.zoom-editeur__entete {
    display: flex;
    flex-direction: column;
    gap: 0.15vh;
    margin: 0;
    text-align: center;
}

.zoom-editeur__titre {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-accent);
    letter-spacing: 0.02em;
}

.zoom-editeur__aide {
    font-size: 0.88rem;
    line-height: 1.35;
    color: var(--color-text-muted);
}

.zoom-editeur__controles {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65vh;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.zoom-editeur__controles > li {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.zoom-editeur__valeur-bloc {
    gap: 0.35vh;
    width: 100%;
    min-width: 8vw;
}

.zoom-editeur__bouton {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15vh;
    width: 100%;
    min-width: 9vw;
    min-height: 2.4vh;
    padding: 0.25vh 0.6vw;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.15;
    cursor: pointer;
    border: 2px solid var(--color-accent);
    border-radius: 0.3vh;
    background-color: var(--color-surface);
    color: var(--color-accent);
    transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}

.zoom-editeur__symbole {
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1;
}

.zoom-editeur__libelle {
    font-size: 0.95rem;
    font-weight: 600;
}

.zoom-editeur__bouton:hover:not(:disabled) {
    background-color: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));
    box-shadow: 0 2px 6px color-mix(in srgb, var(--color-accent) 22%, transparent);
}

.zoom-editeur__bouton:active:not(:disabled) {
    transform: scale(0.98);
}

.zoom-editeur__bouton:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 35%, transparent);
}

.zoom-editeur__bouton:disabled {
    cursor: not-allowed;
    opacity: 0.45;
    border-color: var(--color-border);
    color: var(--color-text-muted);
}

.zoom-editeur__valeur {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
    color: var(--color-accent);
    text-align: center;
}

.zoom-editeur__unite {
    font-size: 1.15rem;
    font-weight: 600;
}

.zoom-editeur__reinitialiser {
    width: 100%;
    min-height: 1.85vh;
    padding: 0.18vh 0.45vw;
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    border: 1px solid color-mix(in srgb, var(--color-accent) 45%, var(--color-border));
    border-radius: 0.35vh;
    background-color: var(--color-surface);
    color: var(--color-accent);
}

.zoom-editeur__reinitialiser:hover:not(:disabled) {
    background-color: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));
}

.zoom-editeur__reinitialiser:disabled {
    cursor: default;
    opacity: 0.5;
}
