/* AIO Resto — corrections du thème + couche de mouvement (chargée par AIO Resto Bridge depuis uploads/aio-site/). v2 */

/* Polices : sous-ensembles WOFF2 (Inter 18 Ko par graisse, IBM Plex Arabic 33-36 Ko) à la place des TTF de 220-330 Ko.
   Noms de famille neufs : l'ancienne déclaration du thème n'est plus jamais utilisée, donc jamais téléchargée. */
@font-face{font-family:"AIO Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-400.woff2") format("woff2")}
@font-face{font-family:"AIO Inter";font-style:normal;font-weight:600 800;font-display:swap;src:url("fonts/inter-600.woff2") format("woff2")}
@font-face{font-family:"AIO Plex Arabic";font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF;src:url("fonts/ibm-arabic-400.woff2") format("woff2")}
@font-face{font-family:"AIO Plex Arabic";font-style:normal;font-weight:600 800;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF;src:url("fonts/ibm-arabic-600.woff2") format("woff2")}
html:root{--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI Variable Display","AIO Inter",system-ui,sans-serif}
html[dir=rtl]:root{--font:"AIO Plex Arabic",Tahoma,Arial,system-ui,sans-serif}
/* Le lien « العربية » de l'en-tête français reste en police système : aucun téléchargement de police arabe sur les pages françaises. */
.aio-language[lang="ar"]{font-family:system-ui,"Segoe UI",Tahoma,Arial,sans-serif}

/* Menu : le lien « Produit » occupe toute la hauteur de l'en-tête (plus de zone morte de 21 px entre le mot et le panneau),
   plus un pont invisible de 8 px, et l'en-tête ne se cache jamais tant qu'un panneau est ouvert. */
@media(min-width:1101px){
  html .aio-dropdown summary{min-height:var(--nav-height)}
  .aio-dropdown[open]>.aio-mega::before{content:"";position:absolute;inset-inline:0;top:-8px;height:8px}
}
.aio-header:has(.aio-dropdown[open]){transform:none!important}

/* Cibles tactiles/clic : les liens de l'en-tête (20 px de haut) et du pied de page (19 px) passent à 44 px et ~33 px (WCAG 2.5.8). */
#aio-nav>a:not(.aio-button){display:inline-flex;align-items:center;min-height:44px}
.aio-footer a{display:inline-block;padding-block:7px}
[data-cookie-open]{min-height:32px;padding-block:6px}
@media(pointer:coarse){
  .aio-footer a,[data-cookie-open]{display:inline-flex;align-items:center;min-height:44px;padding-block:0}
  html .aio-footer li+li{margin-block-start:0}
}
@media(pointer:coarse) and (min-width:1101px){html .aio-nav-actions .aio-button,html #aio-nav>.aio-button{min-height:44px}}   /* le thème donne 40 px au bureau ; en mobile il donne déjà 52 px */

/* Décalage de mise en page (CLS) : le thème déplie tout le menu en mobile tant que le JS n'a pas posé .aio-js, puis le replie d'un coup
   (0,39 de CLS mesuré en mobile ralenti). Quand le JS est disponible (scripting:enabled), l'état final — burger — est dessiné dès le premier affichage. */
@media (max-width:1100px) and (scripting:enabled){
  html:root:not(.aio-js) #aio-nav{display:none}
  html:root:not(.aio-js) .aio-menu-toggle{display:grid;place-items:center}
  html:root:not(.aio-js) .aio-navwrap{flex-wrap:nowrap}
}

/* ══ Mouvement — jetons (réutilisables : var(--aio-…, valeur)) ══════════════════════════════════════════════════
   Principes : ease-out fort (jamais ease-in), < 300 ms pour l'interface, sortie plus rapide que l'entrée,
   transform + opacity seulement, aucune animation sur une action clavier, rien sans (hover:hover) and (pointer:fine). */
html:root{
  --aio-ease-out:cubic-bezier(.23,1,.32,1);
  --aio-ease-in-out:cubic-bezier(.77,0,.175,1);
  --aio-ease-drawer:cubic-bezier(.32,.72,0,1);
  --aio-dur-press:.12s;      /* appui : 100-160 ms */
  --aio-dur-hover:.16s;      /* survol, couleur */
  --aio-dur-pop:.18s;        /* menus, popovers, accordéon : ≤ 180 ms (usage répété) */
  --aio-dur-exit:.12s;       /* sortie : toujours plus rapide que l'entrée */
  --aio-dur-modal:.22s;      /* boîtes de dialogue */
  --aio-dur-reveal:.56s;     /* apparition au défilement (vu une seule fois) */
  --aio-stagger:60ms;        /* écart entre éléments d'un groupe : 30-80 ms */
  --aio-scale-pop:.96;       /* départ des popovers/modales : jamais scale(0) */
  --aio-press:.97;
  --ease:var(--aio-ease-out);--ease-in-out:var(--aio-ease-in-out);   /* alias des variables du thème */
}
html{interpolate-size:allow-keywords}

/* BOUTON DE MARQUE — correctif d'ordre de chargement. Le thème est inliné AVANT le CSS global de WordPress ; `:root :where(.wp-block-button__link)` (styles globaux)
   écrase alors la règle du thème : les boutons « Demander mon essai gratuit » s'affichent gris #32373C, police 400, 18 px au lieu d'orange, 650, 16 px.
   On rétablit la règle du thème avec une spécificité supérieure. */
html .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 24px;border:1.5px solid transparent;border-radius:999px;background-color:var(--accent);color:var(--button-ink);font-size:16px;font-weight:650;line-height:1.3;text-align:center;text-decoration:none}
html .wp-block-button__link:hover{background-color:var(--accent-hover);color:var(--button-ink)}
html .is-style-outline>.wp-block-button__link{color:var(--ink);background-color:transparent;border:1.5px solid var(--ink)}
html .is-style-outline>.wp-block-button__link:hover{color:var(--ink);background-color:var(--accent-fill);border-color:var(--ink)}
@media(max-width:760px){html .wp-block-button__link{font-size:14px;padding:14px 20px}}

/* ── Appui : chaque élément cliquable se creuse de 3 % en 120 ms, sans `transition:all` ─────────────────────── */
html .aio-button,html .wp-block-button__link,html button[type=submit]{transition:background-color var(--aio-dur-hover) ease,border-color var(--aio-dur-hover) ease,color var(--aio-dur-hover) ease,transform var(--aio-dur-press) var(--aio-ease-out)}
button,[role=tab],summary,.aio-link,.aio-brand,#aio-nav>a,.aio-mega a,.aio-footer a{transition:transform var(--aio-dur-press) var(--aio-ease-out),color var(--aio-dur-hover) ease,background-color var(--aio-dur-hover) ease,border-color var(--aio-dur-hover) ease}
:where(.aio-button,.wp-block-button__link,button,[role=tab],summary,.aio-link,.aio-brand,#aio-nav>a,.aio-mega a,.aio-footer a,.aio-whatsapp):active{transform:scale(var(--aio-press));transition-duration:.1s}
.aio-faq summary:active,.wp-block-details summary:active{transform:scale(.99)}   /* ligne pleine largeur : appui plus discret */
.aio-dots button:active{transform:scale(.9)}
[dir=rtl] :is([data-tour-prev],[data-tour-next]){transform:scaleX(-1)}           /* flèches ← → miroir en arabe */
[dir=rtl] :is([data-tour-prev],[data-tour-next]):active{transform:scale(-.97,.97)}
.aio-menu-toggle{transition:transform var(--aio-dur-press) var(--aio-ease-out)}
html .aio-whatsapp{transition:opacity var(--aio-dur-hover) ease-out,transform var(--aio-dur-press) var(--aio-ease-out)}
html .aio-whatsapp.is-hidden{transition-duration:var(--aio-dur-exit)}
html .aio-whatsapp span{transition:max-width var(--aio-dur-pop) var(--aio-ease-out)}

/* Cartes-liens : une carte qui ne contient qu'un lien est cliquable en entier (le JS ajoute .aio-clickable et relaie le clic ; pas de pseudo-élément étiré,
   qui donnait au lien un rectangle de la taille de la carte et provoquait des décalages de mise en page pendant l'apparition). */
.aio-clickable{cursor:pointer}
.aio-card.aio-clickable:active{transform:scale(.985);transition-duration:.1s}
html .aio-card{transition:transform var(--aio-dur-modal) var(--aio-ease-out),box-shadow var(--aio-dur-modal) var(--aio-ease-out)}
html .aio-card img{transition:transform .3s var(--aio-ease-out)}
html .aio-button .aio-arrow,html .aio-link .aio-arrow,html .aio-button>span[aria-hidden]{transition:transform var(--aio-dur-pop) var(--aio-ease-out)}

/* Survol : le mouvement (carte qui monte, image qui grossit, flèche qui glisse) n'existe que pour souris + pointeur précis.
   Au doigt, l'état :hover reste collé après un appui : on l'annule. */
@media (hover:none),(pointer:coarse),(pointer:none){
  html .aio-card:hover{transform:none;box-shadow:none}
  html .aio-card:hover img{transform:none}
  html .aio-button:hover .aio-arrow,html .aio-button:hover>span[aria-hidden],html .aio-link:hover .aio-arrow{transform:none}
  html[dir=rtl] .aio-button:hover .aio-arrow,html[dir=rtl] .aio-link:hover .aio-arrow{transform:scaleX(-1)}
  html .aio-whatsapp:hover span{max-width:0}
}
/* Aimant doux (JS n'ajoute .aio-mag qu'avec la souris) : le bouton suit le pointeur de quelques pixels, ressort à la sortie. */
html .aio-mag{transform:translate(var(--mx,0px),var(--my,0px));transition:transform .24s var(--aio-ease-out),background-color var(--aio-dur-hover) ease,border-color var(--aio-dur-hover) ease,color var(--aio-dur-hover) ease}
.aio-mag:active{transform:translate(var(--mx,0px),var(--my,0px)) scale(var(--aio-press));transition-duration:.1s}

/* ── En-tête collant : il revient en 220 ms, repart en 160 ms ; flou saturé plus léger ────────────────────────── */
html .aio-header{transition:transform .22s var(--aio-ease-out),background-color .2s ease,border-color .2s ease}
html .aio-header.is-hidden{transition-duration:.16s,.2s,.2s}
html .aio-header.is-scrolled{-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px)}
#aio-nav>a,#aio-nav summary{transition:color var(--aio-dur-hover) ease,transform var(--aio-dur-press) var(--aio-ease-out)}
html .aio-dropdown summary::after{transition:transform var(--aio-dur-pop) var(--aio-ease-out)}

/* ── Panneau du menu : opacité + scale .96 → 1 depuis le point d'ancrage du titre (--aio-ox, posé par le JS) ─── */
@media (min-width:1101px){
  .aio-mega{transform-origin:var(--aio-ox,50%) -28px;transition:opacity var(--aio-dur-exit) ease-out,transform var(--aio-dur-exit) ease-out}
  .aio-dropdown:not([open])>.aio-mega{opacity:0;transform:scale(var(--aio-scale-pop));pointer-events:none}
  .aio-dropdown[open]>.aio-mega{opacity:1;transform:none;transition-duration:var(--aio-dur-pop);transition-timing-function:var(--aio-ease-out)}
  @starting-style{.aio-dropdown[open]>.aio-mega{opacity:0;transform:scale(var(--aio-scale-pop))}}
  @supports selector(::details-content){
    .aio-dropdown::details-content{transition:content-visibility var(--aio-dur-exit) allow-discrete}   /* garde le panneau rendu pendant la sortie */
    .aio-dropdown[open]::details-content{transition-duration:0s}
  }
}
/* Pas d'animation quand on change de panneau (le 2e s'ouvre instantanément) ni pour une action clavier. */
html[data-swap] .aio-mega,html[data-input=key] .aio-mega{transition-duration:0s!important}
html[data-swap] .aio-dropdown::details-content,html[data-input=key] .aio-dropdown::details-content{transition-duration:0s!important}

/* Menu mobile : le tiroir apparaît (opacité + 8 px, 220 ms) et se referme en 120 ms ; le burger se change en croix. */
@media (max-width:1100px){
  html.aio-js #aio-nav{transition:opacity var(--aio-dur-exit) ease-out,transform var(--aio-dur-exit) ease-out,display var(--aio-dur-exit) allow-discrete}
  html.aio-js body:not(.aio-menu-open) #aio-nav{opacity:0;transform:translateY(-8px)}
  html.aio-js .aio-menu-open #aio-nav{opacity:1;transform:none;transition-duration:var(--aio-dur-modal),var(--aio-dur-modal),var(--aio-dur-modal);transition-timing-function:var(--aio-ease-out)}
  @starting-style{html.aio-js .aio-menu-open #aio-nav{opacity:0;transform:translateY(-8px)}}
  html[data-input=key] #aio-nav{transition-duration:0s!important}
  .aio-dropdown::details-content{overflow:clip}
  @supports selector(::details-content){
    .aio-dropdown::details-content{block-size:0;opacity:0;transition:block-size var(--aio-dur-pop) var(--aio-ease-out),opacity var(--aio-dur-pop) ease-out,content-visibility var(--aio-dur-pop) allow-discrete}
    .aio-dropdown[open]::details-content{block-size:auto;opacity:1}
  }
}
.aio-menu-toggle{font-size:0;position:relative}
.aio-menu-toggle::before,.aio-menu-toggle::after{content:"";position:absolute;inset-inline:11px;top:16px;height:2px;border-radius:2px;background:currentColor;transition:transform var(--aio-dur-modal) var(--aio-ease-out)}
.aio-menu-toggle::after{top:26px}
.aio-menu-toggle[aria-expanded=true]::before{transform:translateY(5px) rotate(45deg)}
.aio-menu-toggle[aria-expanded=true]::after{transform:translateY(-5px) rotate(-45deg)}
@media(max-width:1100px){.aio-mega a{display:flex;align-items:center;min-height:44px}}
.aio-brand{min-height:44px}
html[data-input=key] .aio-menu-toggle::before,html[data-input=key] .aio-menu-toggle::after{transition-duration:0s}

/* ── Accordéon FAQ : hauteur animée par grid-template-rows 0fr → 1fr (le JS enveloppe la réponse dans .aio-dc) ─── */
html .wp-block-details>summary:first-child{padding-block:12px;margin-block:-12px}   /* zone d'appui 49 px au lieu de 25 px, mise en page inchangée (spécificité > `:root :where(.is-layout-flow)>:first-child` de WP) */   /* zone d'appui de 49 px au lieu de 25 px, sans bouger la mise en page */
html .wp-block-details summary::after{content:"";top:calc(.7em + 12px);margin-top:-.75px;width:16px;height:1.5px;background:currentColor;font-size:inherit;inset-inline-end:2px;color:var(--ink-2)}
.wp-block-details summary::before{content:"";position:absolute;top:calc(.7em + 4px);width:1.5px;height:16px;background:var(--ink-2);inset-inline-end:9.25px;transition:transform var(--aio-dur-pop) var(--aio-ease-out)}
html .wp-block-details[open]>summary::after{content:""}
.wp-block-details[open]>summary::before{transform:scaleY(0)}
html[data-input=key] .wp-block-details summary::before{transition-duration:0s}
@supports selector(::details-content){
  html.aio-dc-on .wp-block-details::details-content{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--aio-dur-pop) var(--aio-ease-out),opacity var(--aio-dur-hover) ease-out,content-visibility var(--aio-dur-pop) allow-discrete}
  html.aio-dc-on .wp-block-details[open]::details-content{grid-template-rows:1fr;opacity:1}
  html.aio-dc-on .wp-block-details .aio-dc{overflow:hidden;min-height:0;margin-block:0}   /* margin:0 : WP donne 24 px aux enfants de .is-layout-flow */
  html.aio-dc-on .wp-block-details .aio-dc>p{margin-block:18px 0;color:var(--ink-2);font-size:16px;max-width:75ch}   /* le thème cible `details>p` : la réponse enveloppée garde le même style */
  html.aio-dc-on[data-input=key] .wp-block-details::details-content{transition-duration:0s}
}

/* ── Onglets de la visite : un fond qui glisse d'un onglet à l'autre (le JS pose --ix/--iy/--iw/--ih) ─────────── */
.aio-tour-tabs{isolation:isolate}   /* le thème le rend sticky (bureau) : déjà positionné, on n'y touche pas */
.aio-tour-tabs::before{content:"";position:absolute;z-index:-1;left:0;top:0;width:var(--iw,0);height:var(--ih,0);transform:translate(var(--ix,0),var(--iy,0));border-radius:14px;background:var(--surface);border:1px solid var(--line);opacity:0;pointer-events:none}
.aio-tour-tabs.has-ind::before{opacity:1;transition:transform var(--aio-dur-modal) var(--aio-ease-in-out),width var(--aio-dur-modal) var(--aio-ease-in-out),height var(--aio-dur-modal) var(--aio-ease-in-out)}
.aio-tour-tabs.has-ind [aria-selected=true]{background:transparent;border-color:transparent}
html[data-input=key] .aio-tour-tabs.has-ind::before{transition:none}
@media(max-width:760px){html .aio-tour-tabs{position:relative;top:auto;padding-inline:8px;margin-inline:-8px}}   /* le thème passe en static mais garde top:120px : `html` + top:auto pour gagner dans les deux ordres de chargement */   /* l'anneau de focus n'est plus rogné par le défilement horizontal */

/* ── Boîtes de dialogue (cookies, film) : opacité + scale .96 → 1 depuis le centre (modale = pas d'ancrage) ──── */
dialog,dialog::backdrop{opacity:0;transition:opacity var(--aio-dur-exit) ease-out,transform var(--aio-dur-exit) ease-out,overlay var(--aio-dur-exit) allow-discrete,display var(--aio-dur-exit) allow-discrete}
dialog{transform:scale(var(--aio-scale-pop))}
dialog[open],dialog[open]::backdrop{opacity:1;transition-duration:var(--aio-dur-modal);transition-timing-function:var(--aio-ease-out)}
dialog[open]{transform:none}
@starting-style{dialog[open]{opacity:0;transform:scale(var(--aio-scale-pop))}dialog[open]::backdrop{opacity:0}}
html[data-input=key] dialog,html[data-input=key] dialog::backdrop{transition-duration:0s}
@media(max-width:760px){#aio-cookies{margin:auto auto 12px}}
body:has(dialog[open]) .aio-whatsapp{opacity:0;pointer-events:none}
.aio-film-trigger:active{transform:scale(var(--aio-press))}
.aio-film-trigger{transition:transform var(--aio-dur-press) var(--aio-ease-out)}

/* ── Apparition au défilement (JS : .aio-rv posé sous la ligne de flottaison seulement, .aio-in à l'entrée) ───── */
html.aio-rv-on .aio-rv{opacity:0;transform:translateY(20px)}
html.aio-rv-on .aio-rv-clip{clip-path:inset(0 0 100% 0);transform:none}
html.aio-rv-on .aio-rv.aio-in{opacity:1;transform:none;clip-path:inset(0 0 0 0);transition:opacity var(--aio-dur-reveal) var(--aio-ease-out) var(--d,0ms),transform var(--aio-dur-reveal) var(--aio-ease-out) var(--d,0ms)}
html.aio-rv-on .aio-rv-clip.aio-in{transition:opacity var(--aio-dur-reveal) var(--aio-ease-out),clip-path .8s var(--aio-ease-in-out)}
@media print{html.aio-rv-on .aio-rv{opacity:1!important;transform:none!important;clip-path:none!important}}

/* ── Héros : mots plus rapprochés (50 ms), 14 px de montée, léger flou qui se dissipe ; tablette en 560 ms ───── */
@keyframes aio-word-in-v2{from{opacity:0;transform:translateY(14px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes aio-device-in-v2{from{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:none}}
html.aio-motion .aio-hero h1 .aio-word{animation-name:aio-word-in-v2;animation-duration:.5s;animation-delay:calc(var(--word-index)*50ms)}
html.aio-motion .aio-hero-media{animation-name:aio-device-in-v2;animation-duration:.56s;animation-delay:.08s}
/* Profondeur au défilement : la tablette s'éloigne d'un rien (scale .95, opacité .6) seulement pendant qu'elle sort par le haut de l'écran
   (animation-timeline:view(), hors thread principal) ; entièrement visible, elle est intacte. */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    @keyframes aio-hero-away{to{transform:scale(.95) translateY(18px);opacity:.6}}
    html .aio-hero{overflow:clip}   /* `hidden` fait de la section un conteneur de défilement et fige la frise view() ; `clip` rogne pareil sans en créer */
    html .aio-tablet{animation:aio-hero-away linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
  }
}
/* Prix : le calculateur anime déjà les chiffres (JS) ; l'ancienne animation d'opacité du thème est remplacée. */
html.aio-tw :is([data-total],[data-price]).aio-price-change{animation:none}
.aio-plan.is-featured .aio-button{position:relative}
.aio-plan.is-featured .aio-button::after{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid var(--accent);opacity:0;pointer-events:none}
.aio-plan.is-featured .aio-button.is-nudge::after{animation:aio-ring .7s var(--aio-ease-out)}
@keyframes aio-ring{from{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}

/* Histoire (sticky) : pastille et image changent en 240 ms, l'image sortante se floute très légèrement. */
html .aio-story-steps [data-story-step]{transition:color var(--aio-dur-modal) ease}
html .aio-story-steps [data-story-step]::before{transition:background-color var(--aio-dur-modal) ease,color var(--aio-dur-modal) ease,border-color var(--aio-dur-modal) ease}
html .aio-story-media img{transition:opacity .28s ease,transform .28s var(--aio-ease-out),filter .28s ease}
html .aio-story-media img.is-inactive{transform:scale(1.015);filter:blur(2px)}

/* Typographie : titres équilibrés, textes courts sans veuves, chiffres tabulaires partout où un chiffre change. */
p,li,figcaption{text-wrap:pretty}
.aio-hero p,.aio-eyebrow,.aio-reassurance,summary,.aio-question,.aio-answer,.aio-final-cta p,.aio-section-header p{text-wrap:balance}
.aio-price,[data-price],[data-total],[data-setup],[data-ai-price],[data-extra-price],[data-ai-extra],[data-tour-count],time,output,td,th{font-variant-numeric:tabular-nums}
.aio-section:not(.aio-final-cta):not(.aio-hero)>.aio-container>h2{font-size:clamp(34px,5.2vw,64px)}
html .aio-section-header{margin-block-end:clamp(40px,6vw,64px)}

/* Contraste AA : le texte orange #D0421A fait 4,31:1 sur le fond et 3,76:1 sur les pastilles (seuil 4,5). Le TEXTE prend la teinte de survol de la marque
   #B53A17 (5,4:1 / 4,7:1) ; les fonds, boutons et anneaux de focus gardent #D0421A. Mode sombre et sections sombres : inchangés (7,4:1). */
html:root{--aio-accent-text:var(--accent-hover)}
@media (prefers-color-scheme:dark){html:root{--aio-accent-text:var(--accent)}}
html .aio-dark{--aio-accent-text:var(--accent)}
html main a:where(:not([class]),[class=""]),html .aio-eyebrow,html .aio-pill,html .aio-text-button,html .aio-film-trigger{color:var(--aio-accent-text)}
html .aio-plan-label{color:var(--aio-accent-text)!important}

/* Captures d'écran : un liseré très fin les détache du fond sans bordure visible. */
.aio-story-media img,.aio-tour img,.wp-block-image img{outline:1px solid rgba(0,0,0,.08);outline-offset:-1px}
@media (prefers-color-scheme:dark){.aio-story-media img,.aio-tour img,.wp-block-image img{outline-color:rgba(255,255,255,.1)}}

/* Les ancres (#tarifs, #faq…) ne se cachent plus sous l'en-tête collant. */
html:root{scroll-padding-top:calc(var(--nav-height,84px) + 16px)}

/* ── Mouvement réduit : plus aucun déplacement ni échelle, on garde les fondus qui aident à comprendre ────────── */
@media (prefers-reduced-motion:reduce){
  .aio-mega,dialog,#aio-nav{transform:none!important;transition-property:opacity,content-visibility,display,overlay!important;transition-duration:.15s!important}
  .aio-dropdown:not([open])>.aio-mega{transform:none}
  dialog::backdrop{transition:opacity .15s ease-out,overlay .15s allow-discrete,display .15s allow-discrete!important}
  .aio-dropdown::details-content,.wp-block-details::details-content{transition-property:opacity,content-visibility!important;transition-duration:.15s!important}
  .aio-menu-toggle::before,.aio-menu-toggle::after,.wp-block-details summary::before{transition:none!important}
  .aio-rv,.aio-rv-clip{opacity:1!important;transform:none!important;clip-path:none!important}
  .aio-tablet,.aio-mag{animation:none!important;transform:none!important}
  .aio-tour-tabs::before{transition:none!important}
  html .aio-story-media img.is-inactive{transform:none;filter:none}
  html[dir=rtl] :is([data-tour-prev],[data-tour-next]),html[dir=rtl] :is([data-tour-prev],[data-tour-next]):active{transform:scaleX(-1)!important}   /* garde le miroir arabe */
  :where(.aio-button,.wp-block-button__link,button,[role=tab],summary,.aio-link,.aio-brand,#aio-nav>a,.aio-mega a,.aio-footer a,.aio-whatsapp,.aio-card.aio-clickable):active{transform:none!important}
}

/* Couleurs forcées (Windows contraste élevé) : les barres du burger et du +/− sont des fonds, que ce mode supprime. On les redessine en couleur système. */
@media (forced-colors:active){
  html .aio-menu-toggle::before,html .aio-menu-toggle::after,html .wp-block-details summary::before,html .wp-block-details summary::after{forced-color-adjust:none;background:CanvasText}
}
