/**
 * ================================================================
 * FICHIER : taille_texte.css
 * EMPLACEMENT : 2027_B2B/_modules/taille_texte/taille_texte.css
 * SHORT_DESC : Taille du texte réglable (90 à 150 %) : échelles sur <html>, bouton « Aa » et glissière de l'en-tête
 * DESCRIPTION : Les classes taille_texte_N (posées par le serveur depuis le cookie, puis par taille_texte.js) agrandissent
 *               la taille racine (tout ce qui est en rem) et le texte courant du body (17 px dans le thème). L'en-tête et
 *               la barre d'onglets gardent leurs tailles d'origine (en px) pour que la navigation ne déborde jamais.
 *               Variables du thème uniquement, rayons de 2 px.
 *
 * SOMMAIRE :
 *   - TAILLE_TEXTE_ECHELLES  : Classes 90 à 150 %
 *   - TAILLE_TEXTE_PROTEGES  : En-tête et barre d'onglets à taille fixe
 *   - TAILLE_TEXTE_BOUTON    : Bouton « Aa »
 *   - TAILLE_TEXTE_PANNEAU   : Panneau et glissière
 *   - TAILLE_TEXTE_MOBILE    : Téléphone
 *
 * MODIFICATIONS :
 *   - 09/10/2026 20:42 : Glissière fluide au pas de 1 % (Antigravity, Dialogue n° 331 et n° 335) ; ligne ajoutée le 09/10/2026 20:43 par Claude (MONSTERJaxX #3) — A VALIDER PAR JaxX
 *   - 09/10/2026 19:24 : Création (demande de JaxX, Dialogue n° 325, session MONSTERJaxX #3) — A VALIDER PAR JaxX
 *
 * ================================================================
 */

/* TAILLE_TEXTE_ECHELLES =============================================== */
html.taille_texte_90
{
    font-size: 90%;
}

html.taille_texte_91
{
    font-size: 91%;
}

html.taille_texte_92
{
    font-size: 92%;
}

html.taille_texte_93
{
    font-size: 93%;
}

html.taille_texte_94
{
    font-size: 94%;
}

html.taille_texte_95
{
    font-size: 95%;
}

html.taille_texte_96
{
    font-size: 96%;
}

html.taille_texte_97
{
    font-size: 97%;
}

html.taille_texte_98
{
    font-size: 98%;
}

html.taille_texte_99
{
    font-size: 99%;
}

html.taille_texte_101
{
    font-size: 101%;
}

html.taille_texte_102
{
    font-size: 102%;
}

html.taille_texte_103
{
    font-size: 103%;
}

html.taille_texte_104
{
    font-size: 104%;
}

html.taille_texte_105
{
    font-size: 105%;
}

html.taille_texte_106
{
    font-size: 106%;
}

html.taille_texte_107
{
    font-size: 107%;
}

html.taille_texte_108
{
    font-size: 108%;
}

html.taille_texte_109
{
    font-size: 109%;
}

html.taille_texte_110
{
    font-size: 110%;
}

html.taille_texte_111
{
    font-size: 111%;
}

html.taille_texte_112
{
    font-size: 112%;
}

html.taille_texte_113
{
    font-size: 113%;
}

html.taille_texte_114
{
    font-size: 114%;
}

html.taille_texte_115
{
    font-size: 115%;
}

html.taille_texte_116
{
    font-size: 116%;
}

html.taille_texte_117
{
    font-size: 117%;
}

html.taille_texte_118
{
    font-size: 118%;
}

html.taille_texte_119
{
    font-size: 119%;
}

html.taille_texte_120
{
    font-size: 120%;
}

html.taille_texte_121
{
    font-size: 121%;
}

html.taille_texte_122
{
    font-size: 122%;
}

html.taille_texte_123
{
    font-size: 123%;
}

html.taille_texte_124
{
    font-size: 124%;
}

html.taille_texte_125
{
    font-size: 125%;
}

html.taille_texte_126
{
    font-size: 126%;
}

html.taille_texte_127
{
    font-size: 127%;
}

html.taille_texte_128
{
    font-size: 128%;
}

html.taille_texte_129
{
    font-size: 129%;
}

html.taille_texte_130
{
    font-size: 130%;
}

html.taille_texte_131
{
    font-size: 131%;
}

html.taille_texte_132
{
    font-size: 132%;
}

html.taille_texte_133
{
    font-size: 133%;
}

html.taille_texte_134
{
    font-size: 134%;
}

html.taille_texte_135
{
    font-size: 135%;
}

html.taille_texte_136
{
    font-size: 136%;
}

html.taille_texte_137
{
    font-size: 137%;
}

html.taille_texte_138
{
    font-size: 138%;
}

html.taille_texte_139
{
    font-size: 139%;
}

html.taille_texte_140
{
    font-size: 140%;
}

html.taille_texte_141
{
    font-size: 141%;
}

html.taille_texte_142
{
    font-size: 142%;
}

html.taille_texte_143
{
    font-size: 143%;
}

html.taille_texte_144
{
    font-size: 144%;
}

html.taille_texte_145
{
    font-size: 145%;
}

html.taille_texte_146
{
    font-size: 146%;
}

html.taille_texte_147
{
    font-size: 147%;
}

html.taille_texte_148
{
    font-size: 148%;
}

html.taille_texte_149
{
    font-size: 149%;
}

html.taille_texte_150
{
    font-size: 150%;
}

html.taille_texte_90 body
{
    font-size: 15.3px;
}

html.taille_texte_91 body
{
    font-size: 15.47px;
}

html.taille_texte_92 body
{
    font-size: 15.64px;
}

html.taille_texte_93 body
{
    font-size: 15.81px;
}

html.taille_texte_94 body
{
    font-size: 15.98px;
}

html.taille_texte_95 body
{
    font-size: 16.15px;
}

html.taille_texte_96 body
{
    font-size: 16.32px;
}

html.taille_texte_97 body
{
    font-size: 16.49px;
}

html.taille_texte_98 body
{
    font-size: 16.66px;
}

html.taille_texte_99 body
{
    font-size: 16.83px;
}

html.taille_texte_101 body
{
    font-size: 17.17px;
}

html.taille_texte_102 body
{
    font-size: 17.34px;
}

html.taille_texte_103 body
{
    font-size: 17.51px;
}

html.taille_texte_104 body
{
    font-size: 17.68px;
}

html.taille_texte_105 body
{
    font-size: 17.85px;
}

html.taille_texte_106 body
{
    font-size: 18.02px;
}

html.taille_texte_107 body
{
    font-size: 18.19px;
}

html.taille_texte_108 body
{
    font-size: 18.36px;
}

html.taille_texte_109 body
{
    font-size: 18.53px;
}

html.taille_texte_110 body
{
    font-size: 18.7px;
}

html.taille_texte_111 body
{
    font-size: 18.87px;
}

html.taille_texte_112 body
{
    font-size: 19.04px;
}

html.taille_texte_113 body
{
    font-size: 19.21px;
}

html.taille_texte_114 body
{
    font-size: 19.38px;
}

html.taille_texte_115 body
{
    font-size: 19.55px;
}

html.taille_texte_116 body
{
    font-size: 19.72px;
}

html.taille_texte_117 body
{
    font-size: 19.89px;
}

html.taille_texte_118 body
{
    font-size: 20.06px;
}

html.taille_texte_119 body
{
    font-size: 20.23px;
}

html.taille_texte_120 body
{
    font-size: 20.4px;
}

html.taille_texte_121 body
{
    font-size: 20.57px;
}

html.taille_texte_122 body
{
    font-size: 20.74px;
}

html.taille_texte_123 body
{
    font-size: 20.91px;
}

html.taille_texte_124 body
{
    font-size: 21.08px;
}

html.taille_texte_125 body
{
    font-size: 21.25px;
}

html.taille_texte_126 body
{
    font-size: 21.42px;
}

html.taille_texte_127 body
{
    font-size: 21.59px;
}

html.taille_texte_128 body
{
    font-size: 21.76px;
}

html.taille_texte_129 body
{
    font-size: 21.93px;
}

html.taille_texte_130 body
{
    font-size: 22.1px;
}

html.taille_texte_131 body
{
    font-size: 22.27px;
}

html.taille_texte_132 body
{
    font-size: 22.44px;
}

html.taille_texte_133 body
{
    font-size: 22.61px;
}

html.taille_texte_134 body
{
    font-size: 22.78px;
}

html.taille_texte_135 body
{
    font-size: 22.95px;
}

html.taille_texte_136 body
{
    font-size: 23.12px;
}

html.taille_texte_137 body
{
    font-size: 23.29px;
}

html.taille_texte_138 body
{
    font-size: 23.46px;
}

html.taille_texte_139 body
{
    font-size: 23.63px;
}

html.taille_texte_140 body
{
    font-size: 23.8px;
}

html.taille_texte_141 body
{
    font-size: 23.97px;
}

html.taille_texte_142 body
{
    font-size: 24.14px;
}

html.taille_texte_143 body
{
    font-size: 24.31px;
}

html.taille_texte_144 body
{
    font-size: 24.48px;
}

html.taille_texte_145 body
{
    font-size: 24.65px;
}

html.taille_texte_146 body
{
    font-size: 24.82px;
}

html.taille_texte_147 body
{
    font-size: 24.99px;
}

html.taille_texte_148 body
{
    font-size: 25.16px;
}

html.taille_texte_149 body
{
    font-size: 25.33px;
}

html.taille_texte_150 body
{
    font-size: 25.5px;
}

/* Les longs mots (titres en très grand) passent à la ligne au lieu de déborder */
html.taille_texte_actif main
{
    overflow-wrap: break-word;
}
/* TAILLE_TEXTE_ECHELLES =============================================== */

/* TAILLE_TEXTE_PROTEGES =============================================== */
/* Valeurs d'origine du thème (rem calculés sur 16 px) figées en px */
html.taille_texte_actif .header_principal
{
    font-size: 17px;
}

html.taille_texte_actif .wordmark_anunaqi
{
    font-size: 20px;
}

html.taille_texte_actif .brand_logo_link .wordmark_baseline
{
    font-size: 11.2px;
}

html.taille_texte_actif .navigation_desktop .nav_lien
{
    font-size: 15.2px;
}

html.taille_texte_actif .header_bouton_devis
{
    font-size: 14.08px;
}

html.taille_texte_actif .tab_bar_item
{
    font-size: 10.88px;
}

@media (max-width: 1800px)
{
    html.taille_texte_actif .navigation_desktop .nav_lien
    {
        font-size: 14.4px;
    }
}

@media (max-width: 1200px)
{
    html.taille_texte_actif .navigation_desktop .nav_lien
    {
        font-size: 13.44px;
    }
}
/* TAILLE_TEXTE_PROTEGES =============================================== */

/* TAILLE_TEXTE_BOUTON ================================================= */
.taille_texte
{
    position: relative;
}

.taille_texte_bt
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--ligne);
    border-radius: 2px;
    background: none;
    color: var(--encre);
    cursor: pointer;
    transition: border-color var(--duree) var(--easing), box-shadow var(--duree) var(--easing);
}

.taille_texte_bt:hover,
.taille_texte_bt[aria-expanded="true"],
html.taille_texte_actif .taille_texte_bt
{
    border-color: var(--accent);
}

.taille_texte_bt:hover,
.taille_texte_bt[aria-expanded="true"]
{
    box-shadow: 0 0 12px var(--accent_halo);
}

.taille_texte_bt:focus-visible,
.taille_texte_pas:focus-visible,
.taille_texte_retablir:focus-visible,
.taille_texte_glissiere:focus-visible
{
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.taille_texte_icone
{
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
/* TAILLE_TEXTE_BOUTON ================================================= */

/* TAILLE_TEXTE_PANNEAU ================================================ */
.taille_texte_panneau
{
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 1060;
    width: 300px;
    padding: 14px 16px 12px;
    border: 1px solid var(--ligne_forte);
    border-radius: 2px;
    background: var(--surface);
    color: var(--encre);
    box-shadow: var(--ombre);
    font-family: var(--police_texte);
    font-size: 14px;
    line-height: 1.4;
}

.taille_texte_panneau[hidden]
{
    display: none;
}

.taille_texte_entete
{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 10px;
}

.taille_texte_titre
{
    font-size: 14px;
    font-weight: 600;
}

.taille_texte_valeur
{
    color: var(--encre_second);
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

.taille_texte_reglage
{
    display: flex;
    align-items: center;
    gap: 10px;
}

.taille_texte_pas
{
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--ligne);
    border-radius: 2px;
    background: var(--surface_input);
    color: var(--encre);
    font-family: var(--police_titres);
    line-height: 1;
    cursor: pointer;
}

.taille_texte_moins
{
    font-size: 13px;
}

.taille_texte_plus
{
    font-size: 21px;
}

.taille_texte_pas:hover
{
    border-color: var(--accent);
}

.taille_texte_pas:disabled
{
    opacity: 0.4;
    cursor: default;
}

.taille_texte_glissiere
{
    flex: 1 1 auto;
    min-width: 0;
    height: 40px;
    margin: 0;
    accent-color: var(--accent);
    cursor: pointer;
}

.taille_texte_retablir
{
    display: block;
    margin: 10px 0 0 auto;
    padding: 6px 0;
    border: 0;
    background: none;
    color: var(--encre_second);
    font-family: var(--police_texte);
    font-size: 13px;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.taille_texte_retablir:hover
{
    color: var(--encre);
}

.taille_texte_retablir:disabled
{
    visibility: hidden;
}
/* TAILLE_TEXTE_PANNEAU ================================================ */

/* TAILLE_TEXTE_MOBILE ================================================= */
@media (max-width: 768px)
{
    /* Panneau pleine largeur sous l'en-tête : il ne sort jamais de l'écran */
    .taille_texte_panneau
    {
        position: fixed;
        top: calc(var(--hauteur_header) + 6px);
        left: 8px;
        right: 8px;
        width: auto;
    }

    .taille_texte_pas
    {
        width: 44px;
        height: 44px;
    }

    .taille_texte_glissiere
    {
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce)
{
    .taille_texte_bt
    {
        transition: none;
    }
}
/* TAILLE_TEXTE_MOBILE ================================================= */
