/* tm-brand.css — TAGE MAGE Étoile : jetons, polices, en-tête, navigation, pied de page (10 octobre 2026, révision 2)
 * Destination : wp-content/uploads/tagemage-refonte-20261010/css/tm-brand.css
 * Chargée par mu-plugins/tagemage-brand-20261010.php, exclue de « Remove Unused CSS » (états ouverts, focus).
 *
 * PORTÉE. Cette feuille n'habille que ce que l'extension imprime (en-tête, pied de page, boutons flottants) et les
 * enveloppes Divi qui les contiennent. Elle ne change la police, la taille ni l'interligne d'aucun élément du corps
 * des pages, des fenêtres Divi Areas ni des formulaires hors de la carte de contact du pied. Les deux blocs gelés de
 * l'accueil (carrousel des avis, bandeau de logos) ne reçoivent donc aucune règle d'ici. La typographie du corps des
 * pages appartient à tm-pages.css.
 * Hors de cette portée, quatre blocs seulement : les jetons de :root (lus par les autres feuilles de la refonte),
 * le renvoi de garantie .tm-note (copie conforme de la feuille du lot contenu, bloc 3), une règle de compatibilité
 * reprise de l'ancien pied de page (bloc 7) et les couleurs du bandeau de cookies de Pressidium (bloc 9).
 * Chaque règle d'habillage est préfixée par « .tm-refonte » (classe du corps posée par l'extension) ; celles qui
 * positionnent l'en-tête portent « .tm-entete », posée seulement quand le gabarit d'en-tête contient [tm_header].
 * !important n'est employé que là où Divi écrit lui-même des règles à deux identifiants ou en !important :
 * enveloppes de section, de rangée et de colonne des gabarits, bouton du formulaire. */

/* ============================== 1. Polices ============================== */
/* Noms de famille propres à la refonte : les familles « Mona Sans » et « Commissioner » que le site charge déjà
   (fichiers de prepa-toeic.fr, Google Fonts) gardent leurs fichiers, donc rien de ce qui existe ne change de rendu. */
@font-face{font-family:'Mona Sans Local';src:url('../fonts/monasans-variable-latin-20260915.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:'Commissioner Local';src:url('../fonts/commissioner-variable-latin-20260915.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}

/* ============================== 2. Jetons ============================== */
:root{
  --tm-prune:#2B193D;
  --tm-orange:#E76A34;
  --tm-bleu:#0477BF;
  --tm-jaune:#FDC03A;
  --tm-blanc:#FFFFFF;
  --tm-fond:#FBFBFB;
  --tm-clair:#F7F3F9;
  --tm-survol:#F6F2F8;
  --tm-ligne:#EEEAF1;
  --tm-texte:#2B193D;
  --tm-texte-2:#5E516A;
  --tm-bleu-texte:#035E97;
  --tm-orange-texte:#B74319;
  --tm-sur-prune:#FBFBFB;
  --tm-sur-prune-2:#CFC8D6;
  --tm-police-texte:'Mona Sans Local','Mona Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --tm-police-titre:'Commissioner Local','Commissioner','Mona Sans Local','Mona Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --tm-rayon:24px;
  --tm-rayon-m:18px;
  --tm-rayon-s:10px;
  --tm-pilule:999px;
  --tm-ombre:0 8px 24px rgba(43,25,61,.12);
  --tm-ombre-haute:0 16px 40px rgba(43,25,61,.16);
  --tm-entete-h:88px;
  --tm-largeur:1440px;
  --tm-focus:#0477BF;
  /* Alias : noms lus par tm-pages.css, tm-locations.css et tm-guides.css. Une seule valeur par notion. */
  --tm-header-h:var(--tm-entete-h);
  --tm-font-title:var(--tm-police-titre);
  --tm-font-titres:var(--tm-police-titre);
  --tm-font-text:var(--tm-police-texte);
  --tm-font-texte:var(--tm-police-texte);
  --tm-font-body:var(--tm-police-texte);
  --tm-ink:var(--tm-texte);
  --tm-muted:var(--tm-texte-2);
  --tm-line:var(--tm-ligne);
  --tm-tint:var(--tm-clair);
  --tm-blue:var(--tm-bleu);
  --tm-blue-dark:var(--tm-bleu-texte);
  --tm-yellow:var(--tm-jaune);
  --tm-orange-text:var(--tm-orange-texte);
}
@media (max-width:1099.98px){:root{--tm-entete-h:72px}}

/* Les ancres s'arrêtent sous la barre fixe */
html:has(body.tm-entete){scroll-padding-top:calc(var(--tm-entete-h) + 16px)}

/* ============================== 3. Renvoi de garantie ============================== */
/* Source unique : design\content\assets\tm-garantie-renvoi.css (lot contenu), recopiée ENTIÈRE entre les deux repères par
   « scratch\build3.py sync », marque « tm-garantie-renvoi:rN » comprise. L'extension du renvoi lit cette feuille : si elle
   y trouve sa marque, elle n'imprime plus son bloc de style en ligne ; sinon elle l'imprime, et ses règles l'emportent.
   Ne rien retoucher à la main entre les repères. Le pied de page emploie .tm-note-mark (l'astérisque dessiné). */
/* >>> tm-garantie-renvoi */
/* tm-garantie-renvoi.css — copie conforme des règles de mu-plugins/tagemage-garantie-renvoi-20261010.php
   (fonction tm_garantie_renvoi_css_rules, version r2). Écrite par scratch/renvoi_sim.py --write-css : ne pas la retoucher à la main.
   Pour le lot habillage : remplacer les règles .tm-note et .tm-note-conditions de tm-brand.css par ce fichier ENTIER, marque
   « tm-garantie-renvoi:r2 » comprise. Le mu-plugin lit tm-brand.css : s'il y trouve la marque, il n'imprime plus son bloc en ligne. */
/*! tm-garantie-renvoi:r2 */
:root sup.tm-note{position:relative!important;top:auto!important;bottom:auto!important;display:inline!important;height:auto;margin:0 .04em 0 .1em!important;padding:0!important;font-size:1em!important;line-height:0!important;vertical-align:calc(.7em - .6*clamp(17px,1.12em,27px))!important;white-space:nowrap}
:root sup.tm-note a{--tm-note-c:#e76a34;position:relative;display:inline-block;box-sizing:border-box;width:.78em;height:.78em;margin:-.3em 0!important;padding:.25em 0 0!important;border-radius:50%;background:#fff;color:transparent!important;font-size:clamp(17px,1.12em,27px);font-weight:800;font-style:normal;line-height:.78;letter-spacing:0;text-align:center;text-decoration:none!important;text-shadow:none;text-transform:none;vertical-align:baseline;outline:0}
:root .tm-note-mot{white-space:nowrap}
:root sup.tm-note a::before{top:13%;right:13%;bottom:13%;left:13%}
:root sup.tm-note a::before,:root .tm-note-mark::before{content:"";position:absolute;border-radius:50%;background:linear-gradient(90deg,transparent calc(50% - .085em),var(--tm-note-c) calc(50% - .065em),var(--tm-note-c) calc(50% + .065em),transparent calc(50% + .085em)),linear-gradient(30deg,transparent calc(50% - .085em),var(--tm-note-c) calc(50% - .065em),var(--tm-note-c) calc(50% + .065em),transparent calc(50% + .085em)),linear-gradient(150deg,transparent calc(50% - .085em),var(--tm-note-c) calc(50% - .065em),var(--tm-note-c) calc(50% + .065em),transparent calc(50% + .085em))}
:root sup.tm-note a::after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}
:root sup.tm-note a:hover{--tm-note-c:#fdc03a;background:#2b193d;color:transparent!important}
:root sup.tm-note a:focus-visible{--tm-note-c:#fdc03a;background:#2b193d;color:transparent!important;outline:2px solid #fff!important;outline-offset:1px!important;box-shadow:0 0 0 1px #2b193d}
:root .tm-note-mark{--tm-note-c:#e76a34;position:relative;display:inline-block;width:.62em;height:.62em;margin:0 .14em 0 0;overflow:hidden;color:transparent;font-weight:800;line-height:1;vertical-align:.34em;white-space:nowrap}
:root .tm-note-mark::before{top:0;right:0;bottom:0;left:0}
:root .tm-garantie-note-wrap{box-sizing:border-box;width:100%;margin:0;padding:18px 24px 26px;clear:both;background:var(--tm-note-bande,#fbfbfb)}
:root .tm-garantie-note{box-sizing:border-box;max-width:1080px;margin:0 auto;padding:12px 0 0;border-top:1px solid rgba(43,25,61,.16);font-size:13px;line-height:1.6;color:#4a4458;text-align:left;scroll-margin-top:160px;overflow-wrap:anywhere}
:root body.tm-entete .tm-garantie-note{scroll-margin-top:24px}
:root .tm-garantie-note:target{background:#fff6ef;box-shadow:0 0 0 8px #fff6ef;border-top-color:#e76a34}
:root .tm-garantie-note a{color:#27187e;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
:root .tm-garantie-note a:hover{color:#b3471a}
:root .tm-garantie-note a:focus-visible{outline:2px solid #27187e;outline-offset:2px;border-radius:2px}
@media (max-width:480px){:root .tm-garantie-note-wrap{padding:14px 16px 22px}
:root .tm-garantie-note{font-size:12.5px}
}
@media print{:root sup.tm-note a{background:none!important;color:#000!important}
:root .tm-note-mark{color:#000}
:root sup.tm-note a::before,:root .tm-note-mark::before{display:none}
:root .tm-garantie-note-wrap{background:none}
}
@media (forced-colors:active){:root sup.tm-note a::before,:root .tm-note-mark::before{display:none}
}
/* <<< tm-garantie-renvoi */

/* ============================== 4. Boutons de la charte ============================== */
.tm-refonte .tm-btn,.tm-refonte .tm-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 20px;border:1px solid var(--tm-orange);border-radius:var(--tm-pilule);background:var(--tm-orange);color:var(--tm-prune);font-family:var(--tm-police-texte);font-size:14px;font-weight:650;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.tm-refonte .tm-btn:hover,.tm-refonte .tm-cta:hover{background:var(--tm-jaune);border-color:var(--tm-jaune);color:var(--tm-prune)}
.tm-refonte .tm-btn:active,.tm-refonte .tm-cta:active{background:#F2B020;border-color:#F2B020}
.tm-refonte .tm-btn--contour{background:var(--tm-blanc);border-color:var(--tm-prune)}
.tm-refonte .tm-btn--contour:hover{background:var(--tm-survol);border-color:var(--tm-prune)}
/* La règle « img{pointer-events:none} » du site reste en place (elle sert le carrousel des avis) ; elle est levée
   dans les composants de la refonte. */
.tm-refonte :where(.tm-header,.tm-footer,.tm-loc,.tm-locations) img{pointer-events:auto}

/* ============================== 5. En-tête ============================== */
/* 5.1 Enveloppes du gabarit Theme Builder : seul <header> est positionné. C'est lui que le minuteur du test de
   niveau repère (fixe, haut 0, 89 ou 73 px de haut) ; l'attribut data-tm-fixed du bloc intérieur n'est qu'un repère
   de lecture. Ces règles portent « tm-entete » : tant que l'ancien en-tête est en service, elles ne s'appliquent pas. */
.tm-entete header.et-l--header{position:fixed;top:0;left:0;right:0;width:100%;z-index:9100;margin:0;padding:0;background:none}
.tm-entete.admin-bar header.et-l--header{top:32px}
@media (max-width:782px){.tm-entete.admin-bar header.et-l--header{top:46px}}
.tm-entete .et-l--header .et_builder_inner_content,
.tm-entete .et-l--header .et_pb_section,
.tm-entete .et-l--header .et_pb_row,
.tm-entete .et-l--header .et_pb_column,
.tm-entete .et-l--header .et_pb_module,
.tm-entete .et-l--header .et_pb_code_inner{display:block!important;position:static!important;float:none!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;z-index:auto!important}
.tm-entete .et-l--header .et_pb_row::after{display:none!important}
@media (max-width:980px){.tm-entete #et-main-area{padding-top:var(--tm-entete-h)}}

/* 5.2 Barre */
.tm-refonte .tm-header{font-family:var(--tm-police-texte);font-size:15px;font-weight:400;line-height:1.4;letter-spacing:normal;text-transform:none;color:var(--tm-texte);text-align:left;-webkit-font-smoothing:antialiased}
.tm-refonte .tm-header *,.tm-refonte .tm-header *::before,.tm-refonte .tm-header *::after{box-sizing:border-box}
.tm-refonte .tm-header a,.tm-refonte .tm-header button,.tm-refonte .tm-header summary,.tm-refonte .tm-header strong,.tm-refonte .tm-header span{font-family:inherit;letter-spacing:inherit;text-transform:none}
.tm-refonte .tm-header__bar{position:relative;background:var(--tm-blanc);border-bottom:1px solid var(--tm-ligne);border-radius:0 0 var(--tm-rayon) var(--tm-rayon);box-shadow:var(--tm-ombre)}
.tm-refonte .tm-header__in{position:relative;display:flex;align-items:center;gap:20px;min-height:var(--tm-entete-h);max-width:var(--tm-largeur);margin:0 auto;padding:0 32px}
.tm-refonte .tm-header a,.tm-refonte .tm-header button,.tm-refonte .tm-header summary{-webkit-tap-highlight-color:transparent}
.tm-refonte .tm-header :focus{outline:none}
.tm-refonte .tm-header :focus-visible{outline:3px solid var(--tm-focus);outline-offset:2px}

/* Lien d'évitement */
.tm-refonte .tm-header .tm-skip{position:absolute;left:16px;top:-80px;z-index:10;padding:12px 18px;border-radius:0 0 12px 12px;background:var(--tm-prune);color:var(--tm-blanc);font-size:15px;font-weight:650;text-decoration:none;transition:top .12s ease}
.tm-refonte .tm-header .tm-skip:focus{top:0;outline:3px solid var(--tm-jaune);outline-offset:-3px}

/* 5.3 Logo : signature en ligne du kit (300 × 32, jamais sous 199 × 21) */
.tm-refonte .tm-logo{flex:0 0 auto;display:block;padding:10px 0;line-height:0;border-radius:6px}
.tm-refonte .tm-logo picture{display:block}
.tm-refonte .tm-logo__img{display:block;width:250px;max-width:none;height:auto;aspect-ratio:3157.67/333.57;color:var(--tm-prune);font:700 17px/26px var(--tm-police-titre);white-space:nowrap;overflow:hidden}
@media (min-width:1440px){.tm-refonte .tm-logo__img{width:300px}}

/* 5.4 Navigation (à partir de 1100 px) */
.tm-refonte .tm-burger{display:none}
.tm-refonte .tm-panel{display:contents}
.tm-refonte .tm-nav{flex:1 1 auto;min-width:0}
/* Un menu devenu trop long passe sur deux rangées de 44 px dans la barre de 88 px au lieu de déborder */
.tm-refonte .tm-nav__list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 2px;margin:0;padding:0;list-style:none}
.tm-refonte .tm-nav__list li{margin:0;padding:0;list-style:none}
.tm-refonte .tm-nav__item{position:relative;display:flex;align-items:center}
.tm-refonte .tm-nav__link{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--tm-pilule);color:var(--tm-texte);font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:color .16s ease,background-color .16s ease}
.tm-refonte .tm-has-sub > .tm-nav__link{padding-right:2px}
.tm-refonte .tm-nav__link:hover,
.tm-refonte .tm-nav__item:hover > .tm-nav__link,
.tm-refonte .tm-nav__item.tm-open > .tm-nav__link{color:var(--tm-bleu)}
.tm-refonte .tm-nav__link::after{content:'';position:absolute;left:12px;right:12px;bottom:7px;height:2px;border-radius:2px;background:var(--tm-orange);transform:scaleX(0);transform-origin:left center;transition:transform .18s ease}
.tm-refonte .tm-has-sub > .tm-nav__link::after{right:2px}
.tm-refonte .tm-nav__item.tm-current > .tm-nav__link::after,
.tm-refonte .tm-nav__link[aria-current="page"]::after{transform:scaleX(1)}
.tm-refonte .tm-nav__toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:44px;margin:0 4px 0 0;padding:0;border:0;border-radius:var(--tm-pilule);background:none;color:var(--tm-texte);cursor:pointer;transition:color .16s ease}
.tm-refonte .tm-nav__toggle::before{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.tm-refonte .tm-nav__item:hover > .tm-nav__toggle,
.tm-refonte .tm-nav__item.tm-open > .tm-nav__toggle,
.tm-refonte .tm-nav__toggle:hover{color:var(--tm-bleu)}

/* Sous-menu : ouvert au survol, au focus clavier, ou au clic sur le chevron */
.tm-refonte .tm-sub{position:absolute;top:calc(100% + 8px);left:-6px;z-index:5;min-width:272px;margin:0;padding:10px;list-style:none;background:var(--tm-blanc);border:1px solid var(--tm-ligne);border-radius:var(--tm-rayon-m);box-shadow:var(--tm-ombre-haute);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s ease .08s,transform .16s ease .08s,visibility 0s linear .24s}
.tm-refonte .tm-sub::before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px}
.tm-refonte .tm-nav__item:hover > .tm-sub,
.tm-refonte .tm-nav__item:focus-within > .tm-sub,
.tm-refonte .tm-nav__item.tm-open > .tm-sub{opacity:1;visibility:visible;transform:none;transition-delay:0s,0s,0s}
.tm-refonte .tm-nav__item.tm-dismissed > .tm-sub{opacity:0!important;visibility:hidden!important}
.tm-refonte .tm-nav__item:hover > .tm-nav__toggle::before,
.tm-refonte .tm-nav__item:focus-within > .tm-nav__toggle::before,
.tm-refonte .tm-nav__item.tm-open > .tm-nav__toggle::before{transform:translateY(2px) rotate(225deg)}
.tm-refonte .tm-nav__item.tm-dismissed > .tm-nav__toggle::before{transform:translateY(-2px) rotate(45deg)}
.tm-refonte .tm-sub a{position:relative;display:flex;align-items:center;min-height:44px;padding:9px 14px;border-radius:var(--tm-rayon-s);color:var(--tm-texte);font-size:15px;font-weight:550;line-height:1.3;text-decoration:none;white-space:nowrap;transition:background-color .14s ease,color .14s ease}
.tm-refonte .tm-sub a:hover{background:var(--tm-survol);color:var(--tm-prune)}
.tm-refonte .tm-sub a[aria-current="page"]{color:var(--tm-bleu);font-weight:650;padding-left:26px}
/* sur le fond de survol, le bleu de la charte tombe à 4,32:1 : bleu de texte (6,2:1) */
.tm-refonte .tm-sub a[aria-current="page"]:hover{color:var(--tm-bleu-texte)}
.tm-refonte .tm-sub a[aria-current="page"]::before{content:'';position:absolute;left:11px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--tm-orange)}

/* 5.5 « Contactez-nous » (déclencheur #contact-button) */
.tm-refonte .tm-header .tm-cta{flex:0 0 auto;padding:0 18px}
/* Tailles explicites : des pages du site déclarent « svg{width:50%} » sans classe */
.tm-refonte .tm-ico{flex:0 0 auto;display:block;width:18px;height:18px;max-width:none;overflow:hidden;fill:currentColor}
.tm-refonte .tm-ico--arrow{width:12px;height:12px;fill:none}

/* 5.6 « Nous appeler » */
.tm-refonte .tm-call{position:relative;flex:0 0 auto;order:5;margin:0;padding:0}
.tm-refonte .tm-call > summary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:44px;padding:0 16px;border:1px solid var(--tm-prune);border-radius:var(--tm-pilule);background:var(--tm-blanc);color:var(--tm-texte);font-size:14px;font-weight:650;line-height:1.2;white-space:nowrap;list-style:none;cursor:pointer;user-select:none;transition:background-color .16s ease}
.tm-refonte .tm-call > summary::-webkit-details-marker{display:none}
.tm-refonte .tm-call > summary::marker{content:''}
.tm-refonte .tm-call[open] > summary{background:var(--tm-survol)}
/* teinte de survol : seulement pour un pointeur qui survole (sur écran tactile elle restait posée après l'appui) */
@media (hover:hover){.tm-refonte .tm-call > summary:hover{background:var(--tm-survol)}}
.tm-refonte .tm-chev{flex:0 0 auto;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.tm-refonte .tm-call[open] .tm-chev{transform:translateY(2px) rotate(225deg)}
.tm-refonte .tm-call__panel{position:absolute;top:calc(100% + 10px);right:0;z-index:6;width:312px;max-width:calc(100vw - 32px);padding:10px;background:var(--tm-blanc);border:1px solid var(--tm-ligne);border-radius:var(--tm-rayon-m);box-shadow:var(--tm-ombre-haute)}
.tm-refonte .tm-call__panel::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
.tm-refonte .tm-call__panel a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-height:48px;padding:13px 14px;border-radius:var(--tm-rayon-s);color:var(--tm-texte);text-decoration:none;line-height:1.3;transition:background-color .14s ease}
.tm-refonte .tm-call__panel a:hover{background:var(--tm-survol)}
.tm-refonte .tm-call__panel span{font-size:13px;font-weight:500;color:var(--tm-texte-2)}
.tm-refonte .tm-call__panel strong{font-size:16px;font-weight:650;color:var(--tm-texte);white-space:nowrap;font-variant-numeric:tabular-nums}
/* Quatrième ligne : la fenêtre des villes (adresse et numéro de chaque ville) */
.tm-refonte .tm-call__panel a.tm-call__villes{align-items:center;margin-top:6px;padding-top:14px;padding-bottom:14px;border-top:1px solid var(--tm-ligne);border-radius:0 0 var(--tm-rayon-s) var(--tm-rayon-s);font-size:14px;font-weight:600}
.tm-refonte .tm-call__panel a.tm-call__villes span{font-size:14px;font-weight:600;color:var(--tm-texte)}

/* 5.7 Entre 1100 et 1359 px : le libellé du bouton d'appel laisse la place au menu */
@media (min-width:1100px) and (max-width:1359.98px){
  .tm-refonte .tm-header__in{gap:14px;padding:0 24px}
  .tm-refonte .tm-call__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .tm-refonte .tm-call > summary{padding:0 13px;gap:7px}
}
@media (min-width:1100px) and (max-width:1219.98px){
  .tm-refonte .tm-logo__img{width:216px}
  .tm-refonte .tm-nav__link{padding:0 9px;font-size:14.5px}
  .tm-refonte .tm-nav__link::after{left:9px;right:9px}
  .tm-refonte .tm-header .tm-cta{padding:0 15px}
}
@media (min-width:1100px) and (max-width:1159.98px){
  .tm-refonte .tm-header__in{gap:10px}
  .tm-refonte .tm-logo__img{width:204px}
}

/* 5.8 Sous 1100 px : barre compacte, menu en panneau */
@media (max-width:1099.98px){
  .tm-refonte .tm-header__in{gap:8px;padding:0 16px}
  .tm-refonte .tm-logo{margin-right:auto}
  .tm-refonte .tm-logo__img{width:clamp(199px,56vw,250px)}
  .tm-refonte .tm-call{position:static;order:2}
  .tm-refonte .tm-burger{display:block;order:3;flex:0 0 auto;margin:0;padding:0}
  .tm-refonte .tm-burger > summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--tm-orange);list-style:none;cursor:pointer;user-select:none}
  .tm-refonte .tm-burger > summary::-webkit-details-marker{display:none}
  .tm-refonte .tm-burger > summary::marker{content:''}
  @media (hover:hover){.tm-refonte .tm-burger:not([open]) > summary:hover{background:var(--tm-survol)}}
  .tm-refonte .tm-burger__ico{position:relative;display:block;width:26px;height:20px}
  .tm-refonte .tm-burger__ico::before,.tm-refonte .tm-burger__ico::after,.tm-refonte .tm-burger__ico > span{content:'';position:absolute;left:0;right:0;height:3px;border-radius:3px;background:currentColor;transition:transform .2s ease,opacity .14s ease,top .2s ease}
  .tm-refonte .tm-burger__ico::before{top:0}
  .tm-refonte .tm-burger__ico > span{top:8.5px}
  .tm-refonte .tm-burger__ico::after{top:17px}
  .tm-refonte .tm-burger[open] .tm-burger__ico::before{top:8.5px;transform:rotate(45deg)}
  .tm-refonte .tm-burger[open] .tm-burger__ico > span{opacity:0}
  .tm-refonte .tm-burger[open] .tm-burger__ico::after{top:8.5px;transform:rotate(-45deg)}
  /* voile derrière le panneau : un clic dessus referme le menu, sans script */
  .tm-refonte .tm-burger[open] > summary::before{content:'';position:fixed;inset:0;z-index:-2;background:rgba(43,25,61,.46);cursor:default}

  .tm-refonte .tm-panel{display:none;position:absolute;left:0;right:0;top:calc(100% - var(--tm-rayon));z-index:-1;max-height:calc(100vh - var(--tm-entete-h) + var(--tm-rayon) - 12px);max-height:calc(100dvh - var(--tm-entete-h) + var(--tm-rayon) - 12px);overflow-y:auto;overscroll-behavior:contain;padding:calc(var(--tm-rayon) + 10px) 16px 20px;background:var(--tm-blanc);border-radius:0 0 var(--tm-rayon) var(--tm-rayon);box-shadow:0 18px 40px rgba(43,25,61,.22)}
  .tm-refonte .tm-burger[open] ~ .tm-panel{display:block}
  .tm-refonte .tm-nav__list{display:block}
  .tm-refonte .tm-nav__item{display:block;padding:6px 0;border-bottom:1px solid var(--tm-ligne)}
  .tm-refonte .tm-nav__item:last-child{border-bottom:0}
  .tm-refonte .tm-nav__link,.tm-refonte .tm-has-sub > .tm-nav__link{display:flex;min-height:48px;padding:0 12px;border-radius:var(--tm-rayon-s);font-size:17px;font-weight:650;white-space:normal}
  .tm-refonte .tm-nav__link::after{display:none}
  /* dans le panneau, le survol garde le texte prune (16:1 sur le fond de survol) ; la page courante passe au bleu de texte */
  .tm-refonte .tm-nav__link:hover,
  .tm-refonte .tm-nav__item:hover > .tm-nav__link,
  .tm-refonte .tm-nav__item.tm-open > .tm-nav__link{color:var(--tm-texte)}
  .tm-refonte .tm-nav__link:hover{background:var(--tm-survol)}
  .tm-refonte .tm-nav__link[aria-current="page"],
  .tm-refonte .tm-nav__item:hover > .tm-nav__link[aria-current="page"]{color:var(--tm-bleu-texte)}
  .tm-refonte .tm-nav__toggle{display:none}
  .tm-refonte .tm-sub,.tm-refonte .tm-nav__item.tm-dismissed > .tm-sub{position:static;min-width:0;margin:0 0 4px;padding:0 0 0 14px;border:0;border-radius:0;box-shadow:none;background:none;opacity:1!important;visibility:visible!important;transform:none;transition:none}
  .tm-refonte .tm-sub::before{display:none}
  .tm-refonte .tm-sub a{min-height:46px;padding:8px 12px;font-size:16px;font-weight:500;white-space:normal}
  .tm-refonte .tm-sub a[aria-current="page"]{padding-left:26px;color:var(--tm-bleu-texte)}
  .tm-refonte .tm-header .tm-cta{display:flex;width:100%;min-height:52px;margin-top:14px;font-size:16px}

  .tm-refonte .tm-call > summary{width:44px;padding:0;gap:0}
  .tm-refonte .tm-call__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .tm-refonte .tm-chev{display:none}
  .tm-refonte .tm-call__panel{left:16px;right:16px;top:calc(100% + 8px);width:auto;max-width:none}
  html.tm-menu-lock{overflow:hidden}
}
@media (min-width:480px) and (max-width:1099.98px){
  .tm-refonte .tm-header__in{padding:0 24px}
  .tm-refonte .tm-panel{padding-left:24px;padding-right:24px}
  .tm-refonte .tm-call > summary{width:auto;padding:0 16px;gap:9px}
  .tm-refonte .tm-call__label{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
  .tm-refonte .tm-chev{display:block}
  .tm-refonte .tm-call__panel{left:auto;right:76px;width:312px}
}
/* Sous 360 px la signature en ligne passerait sous sa taille minimale : version empilée du kit (98 × 48) */
@media (max-width:359.98px){
  .tm-refonte .tm-header__in{padding:0 12px}
  .tm-refonte .tm-panel{padding-left:12px;padding-right:12px}
  .tm-refonte .tm-logo{padding:0}
  .tm-refonte .tm-logo__img{width:98px;height:48px;aspect-ratio:auto}
  .tm-refonte .tm-call__panel{left:12px;right:12px}
}

/* ============================== 6. Pied de page ============================== */
/* 6.1 Enveloppes du gabarit */
.tm-refonte .et-l--footer .et_pb_section.tm-footer-contact,
.tm-refonte .et-l--footer .et_pb_section.tm-footer-section{position:relative!important;width:100%!important;max-width:none!important;margin:0!important;transform:none!important;border-radius:0!important;box-shadow:none!important}
.tm-refonte .et-l--footer .et_pb_section.tm-footer-contact{padding:64px 0 0!important;background:linear-gradient(to bottom,var(--tm-fond) calc(100% - 180px),var(--tm-prune) calc(100% - 180px))!important;scroll-margin-top:calc(var(--tm-entete-h) + 8px)}
.tm-refonte .et-l--footer .et_pb_section.tm-footer-section{padding:0!important;background:var(--tm-prune)!important}
.tm-refonte .et-l--footer .et_pb_row.tm-footer-row{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;background:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.tm-refonte .et-l--footer .et_pb_row.tm-contact-card::after,
.tm-refonte .et-l--footer .et_pb_row.tm-footer-row::after{display:none!important}
.tm-refonte .et-l--footer .tm-contact-card .et_pb_column,
.tm-refonte .et-l--footer .tm-footer-row .et_pb_column,
.tm-refonte .et-l--footer .tm-contact-card .et_pb_module,
.tm-refonte .et-l--footer .tm-footer-row .et_pb_module{float:none!important;width:100%!important;margin:0!important;padding:0!important;transform:none!important}

/* 6.2 Carte « Contactez-nous » : le formulaire Fluent Forms 4 y est inséré par son code court, inchangé.
   Seul endroit où cette feuille habille un formulaire : couleurs, police et états, jamais la structure. */
.tm-refonte .et-l--footer .et_pb_row.tm-contact-card{font-family:var(--tm-police-texte);position:relative!important;display:block!important;width:min(820px,calc(100% - 32px))!important;max-width:none!important;margin:0 auto!important;padding:34px clamp(20px,7vw,96px) 40px!important;transform:none!important;overflow:visible!important;background:linear-gradient(180deg,var(--tm-jaune) 12%,var(--tm-orange) 100%)!important;border-radius:25px!important;box-shadow:0 20px 48px rgba(43,25,61,.3)!important}
.tm-refonte .et-l--footer .tm-contact-card .tm-contact-card__title{margin:0 0 20px;padding:0;color:var(--tm-prune);font-family:var(--tm-police-titre);font-size:clamp(22px,2.6vw,30px);font-weight:600;line-height:1.15;letter-spacing:.01em;text-align:center;text-transform:uppercase}
.tm-refonte .et-l--footer .tm-contact-card .fluentform,
.tm-refonte .et-l--footer .tm-contact-card .fluentform input,
.tm-refonte .et-l--footer .tm-contact-card .fluentform select,
.tm-refonte .et-l--footer .tm-contact-card .fluentform textarea,
.tm-refonte .et-l--footer .tm-contact-card .fluentform button,
.tm-refonte .et-l--footer .tm-contact-card .fluentform label{font-family:var(--tm-police-texte)}
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff-el-form-control{border-radius:10px;border-color:rgba(43,25,61,.18);color:var(--tm-prune)}
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff-el-form-control:focus{border-color:var(--tm-prune);box-shadow:0 0 0 3px rgba(43,25,61,.28);outline:none}
.tm-refonte .et-l--footer .tm-contact-card .fluentform,
.tm-refonte .et-l--footer .tm-contact-card .fluentform label,
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff-el-form-check-label,
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ge-phone-format-help{color:var(--tm-prune)}
/* Le lien de la case de consentement porte « color:blue!important » dans la définition du formulaire, qui n'est pas modifiée :
   la couleur du tracé du texte est donc fixée ici, sans toucher au formulaire. */
.tm-refonte .et-l--footer .tm-contact-card .fluentform a{color:var(--tm-prune);-webkit-text-fill-color:var(--tm-prune);text-decoration:underline;text-decoration-color:var(--tm-prune);text-underline-offset:.15em}
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff_submit_btn_wrapper{text-align:center}
/* Erreurs de saisie : le rouge par défaut de Fluent Forms est illisible sur le dégradé */
.tm-refonte .et-l--footer .tm-contact-card .fluentform .text-danger,
.tm-refonte .et-l--footer .tm-contact-card .fluentform .error{color:var(--tm-prune)!important;font-size:13.5px;font-weight:650;line-height:1.35}
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff-el-is-error .ff-el-form-control{border-color:#B42318!important;box-shadow:0 0 0 2px rgba(180,35,24,.3)}
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff-errors-in-stack,
.tm-refonte .et-l--footer .tm-contact-card .ff-message-success{margin-top:14px;padding:12px 16px;border:0;border-radius:12px;background:var(--tm-blanc);color:var(--tm-prune);font-weight:600;box-shadow:0 6px 16px rgba(43,25,61,.18)}
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff-errors-in-stack:empty{display:none}
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff-btn-submit{min-height:50px;padding:0 38px;border:0!important;border-radius:var(--tm-pilule)!important;background:var(--tm-prune)!important;color:var(--tm-blanc)!important;font-size:15px;font-weight:700;letter-spacing:.04em;box-shadow:0 10px 22px rgba(43,25,61,.28);transition:background-color .16s ease,transform .16s ease}
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff-btn-submit:hover{background:#3D2556!important;transform:translateY(-1px)}
.tm-refonte .et-l--footer .tm-contact-card .fluentform .ff-btn-submit:focus-visible{outline:3px solid var(--tm-blanc);outline-offset:3px}

/* 6.3 Bloc principal */
.tm-refonte .tm-footer{font-family:var(--tm-police-texte);font-size:15px;font-weight:400;line-height:1.5;letter-spacing:normal;color:var(--tm-sur-prune);background:var(--tm-prune);text-align:left;-webkit-font-smoothing:antialiased}
.tm-refonte .tm-footer *,.tm-refonte .tm-footer *::before,.tm-refonte .tm-footer *::after{box-sizing:border-box}
.tm-refonte .tm-footer p,.tm-refonte .tm-footer ul,.tm-refonte .tm-footer li{margin:0;padding:0;list-style:none;font-family:inherit}
.tm-refonte .tm-footer a{color:var(--tm-sur-prune);font-family:inherit;text-decoration:none;transition:color .14s ease}
.tm-refonte .tm-footer a:hover{color:var(--tm-jaune);text-decoration:underline;text-underline-offset:.2em}
.tm-refonte .tm-footer a:focus{outline:none}
.tm-refonte .tm-footer a:focus-visible{outline:3px solid var(--tm-jaune);outline-offset:3px;border-radius:4px}
.tm-refonte .tm-footer a[aria-current="page"]{color:var(--tm-jaune)}
.tm-refonte .tm-footer__in{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-areas:"marque liens" "marque villes";grid-template-rows:auto 1fr;gap:36px 48px;max-width:1328px;margin:0 auto;padding:72px 32px 44px}
.tm-refonte .tm-footer__brand{grid-area:marque}
.tm-refonte .tm-footer__nav{grid-area:liens}
.tm-refonte .tm-footer__villes{grid-area:villes}
.tm-refonte .tm-footer__logo{display:block;width:260px;max-width:100%;height:auto;aspect-ratio:1543.86/918.76;filter:none;color:var(--tm-blanc);font:600 18px/1.3 var(--tm-police-titre)}
.tm-refonte .tm-footer .tm-footer__garantie{margin-top:14px;font-size:13.5px;line-height:1.4}
.tm-refonte .tm-footer__garantie a{display:inline-flex;align-items:center;gap:5px;min-height:36px;color:var(--tm-sur-prune-2)}
/* Astérisque du pied : le signe dessiné du renvoi de garantie (.tm-note-mark, bloc 3), agrandi pour un texte de 13 px.
   Si ce bloc venait à manquer, le caractère « * » resterait lisible, dans la couleur du texte. */
.tm-refonte .tm-footer .tm-footer__ast{flex:0 0 auto;font-size:1.3em;margin:0 .32em 0 0}
.tm-refonte .tm-footer__garantie .tm-footer__ast{top:-.26em;margin-right:0}
.tm-refonte .tm-footer .tm-footer__title{margin:0 0 10px;color:var(--tm-blanc);font-family:var(--tm-police-titre);font-size:16px;font-weight:600;line-height:1.3;letter-spacing:normal;text-transform:none}
.tm-refonte .tm-footer .tm-footer__appel .tm-footer__title{margin-top:22px}
.tm-refonte .tm-footer__tel a{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:260px;min-height:36px;padding:6px 0;line-height:1.3}
.tm-refonte .tm-footer__tel span{font-size:13.5px;color:var(--tm-sur-prune-2)}
.tm-refonte .tm-footer__tel strong{font-size:15.5px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.tm-refonte .tm-footer .tm-footer__adresses{margin-top:8px;font-size:14px;line-height:1.35}
.tm-refonte .tm-footer__adresses a{display:inline-flex;align-items:center;gap:8px;min-height:36px;color:var(--tm-jaune);font-weight:600}
.tm-refonte .tm-footer__adresses a:hover{color:var(--tm-blanc)}
.tm-refonte .tm-footer__nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:36px 28px;align-content:start}
.tm-refonte .tm-footer__col a{display:inline-flex;align-items:center;min-height:34px;padding:5px 0;font-size:14.5px;line-height:1.35;overflow-wrap:break-word;text-wrap:balance}
/* Zone « Préparation par ville » : une ligne de liens vers les pages ville publiées */
.tm-refonte .tm-footer__villes{align-self:start;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.tm-refonte .tm-footer__villes ul{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 28px}
.tm-refonte .tm-footer__villes a{display:inline-flex;align-items:center;min-height:34px;padding:5px 0;font-size:14.5px;line-height:1.35;overflow-wrap:break-word}
.tm-refonte .tm-footer__legal{max-width:1328px;margin:0 auto;padding:26px 32px 40px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;line-height:1.6;color:var(--tm-sur-prune-2)}
.tm-refonte .tm-footer__legal p + p{margin-top:6px}
.tm-refonte .tm-footer__legal p{max-width:92ch}
/* lien de la note : 24 px de hauteur utile sans écarter les lignes (44 px sous 981 px, plus bas) */
.tm-refonte .tm-footer__legal a{display:inline-block;padding:3px 0;margin:-3px 0;color:var(--tm-sur-prune);text-decoration:underline;text-underline-offset:.2em}
.tm-refonte .tm-footer__legal .tm-footer__copy{margin-top:16px;color:var(--tm-sur-prune)}
@media (max-width:1199.98px){
  .tm-refonte .tm-footer__in{grid-template-columns:minmax(0,1fr);grid-template-areas:"marque" "liens" "villes";grid-template-rows:auto;gap:36px;padding:60px 32px 40px}
  .tm-refonte .tm-footer__brand{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 72px}
  .tm-refonte .tm-footer .tm-footer__appel .tm-footer__title{margin-top:6px}
  .tm-refonte .tm-footer__appel{flex:0 1 260px}
}
/* À droite, la dernière colonne et les mentions restent à l'écart des deux boutons flottants */
@media (min-width:981px){
  .tm-refonte .tm-footer__in,.tm-refonte .tm-footer__legal{padding-right:max(32px,calc(104px - max(0px,(100vw - 1328px) / 2)))}
}
/* Écrans tactiles : chaque lien du pied offre au moins 44 px de hauteur */
@media (max-width:980px){
  .tm-refonte .tm-footer__in{padding:56px 24px 36px}
  .tm-refonte .tm-footer__nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 28px}
  .tm-refonte .tm-footer__villes ul{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tm-refonte .tm-footer__legal{padding:24px 24px 104px}
  .tm-refonte .tm-footer__col a,.tm-refonte .tm-footer__villes a,.tm-refonte .tm-footer__tel a,
  .tm-refonte .tm-footer__garantie a,.tm-refonte .tm-footer__adresses a{min-height:44px}
  .tm-refonte .tm-footer__legal a{display:inline-block;padding:12px 0;margin:-12px 0}
}
@media (max-width:599.98px){
  .tm-refonte .tm-footer__nav,.tm-refonte .tm-footer__villes ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tm-refonte .tm-footer .tm-footer__appel .tm-footer__title{margin-top:20px}
}
@media (max-width:479.98px){
  .tm-refonte .tm-footer__in{padding:48px 16px 32px}
  .tm-refonte .tm-footer__nav{gap:26px 20px}
  .tm-refonte .tm-footer__villes ul{gap:0 20px}
  .tm-refonte .tm-footer__legal{padding:22px 16px 112px}
  .tm-refonte .et-l--footer .et_pb_section.tm-footer-contact{padding-top:48px!important}
}
@media (max-width:339.98px){.tm-refonte .tm-footer__nav,.tm-refonte .tm-footer__villes ul{grid-template-columns:minmax(0,1fr)}}

/* 6.4 Boutons flottants (#cta-tel : appel direct ou fenêtre des villes, selon le réglage TM_BRAND_CTA_TEL de
   l'extension ; #cta-mail : fenêtre « Demandez la brochure »).
   #sticky vit dans le contexte d'empilement du pied de page : il passe sous la barre de l'en-tête et sous le menu
   mobile ouvert, ce qui est voulu ; son z-index ne le place qu'au-dessus du contenu du pied.
   Bandeau de consentement : il est posé au-dessus de toute la page, dans le coin des boutons. Tant qu'il est affiché,
   les deux boutons passent au-dessus de lui, par la variable --tm-flottant-bas de #sticky :
   - tm-chrome.js (bloc 7) y écrit la hauteur mesurée du bandeau plus 12 px et pose la classe tm-float--leve ;
   - sans ce script (fichier bloqué ou en échec), la feuille suffit : la bibliothèque du bandeau pose la classe
     show--consent sur <html> tant que le bandeau est affiché et la retire dès la réponse du visiteur. La règle
     « html.show--consent … :not(.tm-float--mesure) » donne alors à la variable une hauteur forfaitaire (bandeau
     mesuré : 192 px à partir de 689 px de large, 216 à 259 px en dessous). Le script pose tm-float--mesure dès
     son démarrage : la valeur forfaitaire ne sert jamais quand il tourne.
   Le reste du temps la variable n'existe pas et rien ne bouge. Aucune règle de cette feuille ne vise le bandeau ni
   ses boutons : seul #sticky se déplace. */
.tm-refonte #sticky.tm-float{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom),var(--tm-flottant-bas,0px));z-index:999999;display:flex;flex-direction:column;align-items:flex-end;gap:12px;margin:0;padding:0;transition:bottom .2s ease}
.tm-refonte .tm-float__btn{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0;padding:0;border:0;border-radius:50%;background:var(--tm-orange);color:#FFFAF8;text-decoration:none;cursor:pointer;box-shadow:0 0 0 4px rgba(255,228,217,.9),0 10px 22px rgba(43,25,61,.28);transition:transform .18s ease,background-color .18s ease}
.tm-refonte .tm-float__btn:hover{background:#D85A24;color:#FFFFFF;transform:scale(1.07)}
.tm-refonte .tm-float__btn:focus{outline:none}
/* Anneau de focus lisible sur fond clair comme sur le prune du pied : blanc, prune, blanc */
.tm-refonte .tm-float__btn:focus-visible{outline:3px solid var(--tm-prune);outline-offset:3px;box-shadow:0 0 0 9px var(--tm-blanc),0 10px 22px rgba(43,25,61,.28)}
.tm-refonte .tm-float__btn .svg-icon{display:block;flex:0 0 auto;width:28px;height:28px;max-width:none;overflow:hidden;animation:tm-ring 5s ease-in-out 3s infinite;transform-origin:50% 50%;pointer-events:none}
.tm-refonte #cta-mail .svg-icon{width:24px;height:24px}
.tm-refonte .tm-float__btn::after{content:attr(data-tm-label);position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);padding:7px 12px;border-radius:8px;background:var(--tm-prune);color:var(--tm-blanc);font-family:var(--tm-police-texte);font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:0 0 0 1px rgba(255,255,255,.5);opacity:0;visibility:hidden;transition:opacity .14s ease;pointer-events:none}
@media (hover:hover) and (pointer:fine){.tm-refonte .tm-float__btn:hover::after,.tm-refonte .tm-float__btn:focus-visible::after{opacity:1;visibility:visible}}
@keyframes tm-ring{0%,24%,100%{transform:rotate(0)}4%{transform:rotate(14deg)}8%{transform:rotate(0)}12%{transform:rotate(-10deg)}16%{transform:rotate(0)}19%{transform:rotate(5deg)}22%{transform:rotate(-4deg)}}
@media (max-width:768px){
  .tm-refonte #sticky.tm-float{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom),var(--tm-flottant-bas,0px));gap:10px}
  .tm-refonte .tm-float__btn{width:48px;height:48px;box-shadow:0 0 0 3px rgba(255,228,217,.9),0 8px 18px rgba(43,25,61,.28)}
  .tm-refonte .tm-float__btn:focus-visible{box-shadow:0 0 0 9px var(--tm-blanc),0 8px 18px rgba(43,25,61,.28)}
  .tm-refonte .tm-float__btn .svg-icon{width:24px;height:24px}
  .tm-refonte #cta-mail .svg-icon{width:21px;height:21px}
}
/* Bandeau de consentement affiché et script absent : hauteur forfaitaire (voir l'en-tête du bloc 6.4).
   688 px est le seuil de la bibliothèque du bandeau : en dessous il occupe toute la largeur du bas de l'écran. */
html.show--consent .tm-refonte #sticky.tm-float:not(.tm-float--mesure){--tm-flottant-bas:232px}
@media (max-width:688px){html.show--consent .tm-refonte #sticky.tm-float:not(.tm-float--mesure){--tm-flottant-bas:min(300px,calc(100vh - 200px))}}

/* 6.5 Téléphones (écran tenu en hauteur, moins de 600 px de large) : une bande réservée aux deux boutons.
   À ces largeurs le texte des pages va presque d'un bord à l'autre, et les deux boutons superposés recouvraient la
   fin de plusieurs lignes (relevé du lot guides à 320 et à 390 px ; mesuré ici sur /garantie-etoile/ : cinq lignes à
   320 px, encore trois à 560 px). Ils se rangent côte à côte, à droite, sur une bande blanche de 60 px posée en bas
   de l'écran : une ligne de texte est au-dessus de la bande ou derrière elle, jamais sous un bouton. Mêmes boutons,
   mêmes identifiants, mêmes clics. Un téléphone tenu en largeur garde les deux boutons superposés : la bande y
   prendrait un cinquième de la hauteur.
   Bandeau de consentement affiché (tm-float--leve, ou html.show--consent quand le script est absent) : la bande
   s'efface, les deux boutons restent côte à côte juste au-dessus de lui. La réserve sous les mentions du pied suit
   la hauteur de la bande.
   Pour revenir aux deux boutons superposés : supprimer ce bloc 6.5, rien d'autre n'en dépend. */
@media (max-width:599.98px) and (orientation:portrait){
  .tm-refonte #sticky.tm-float{left:0;right:0;bottom:0;flex-direction:row;justify-content:flex-end;align-items:center;gap:12px;padding:6px max(12px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--tm-blanc);border-top:1px solid var(--tm-ligne);border-radius:var(--tm-rayon-m) var(--tm-rayon-m) 0 0;box-shadow:0 -6px 18px rgba(43,25,61,.1)}
  .tm-refonte #sticky.tm-float.tm-float--leve,html.show--consent .tm-refonte #sticky.tm-float:not(.tm-float--mesure){left:auto;right:max(12px,env(safe-area-inset-right));bottom:var(--tm-flottant-bas,0px);padding:0;background:none;border-top:0;border-radius:0;box-shadow:none}
  /* étiquette de survol (fenêtre d'ordinateur rétrécie) : au-dessus du bouton, pas sur son voisin */
  .tm-refonte .tm-float__btn::after{right:0;top:auto;bottom:calc(100% + 12px);transform:none}
  .tm-refonte .tm-footer__legal{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  html:has(body.tm-entete){scroll-padding-bottom:68px}
}

/* ============================== 7. Compatibilité ============================== */
/* Règle reprise telle quelle de l'ancien module de code du pied de page (elle y est en service aujourd'hui) :
   elle vise la troisième section du corps des pages. */
.et_pb_section_2{z-index:100}

/* ============================== 8. Mouvement réduit, impression ============================== */
@media (prefers-reduced-motion:reduce){
  .tm-refonte .tm-header *,.tm-refonte .tm-header *::before,.tm-refonte .tm-header *::after,
  .tm-refonte .tm-footer *,.tm-refonte #sticky.tm-float,.tm-refonte .tm-float__btn,.tm-refonte .tm-float__btn .svg-icon,
  .tm-refonte .tm-btn,.tm-refonte .tm-cta,.tm-refonte .tm-header .tm-skip,
  .tm-refonte .et-l--footer .tm-contact-card,.tm-refonte .et-l--footer .tm-contact-card .ff-btn-submit{transition:none!important;animation:none!important}
}
@media print{
  .tm-entete header.et-l--header{position:static}
  .tm-refonte .tm-burger,.tm-refonte .tm-panel,.tm-refonte .tm-call,.tm-refonte #sticky.tm-float,.tm-refonte .tm-header .tm-skip{display:none!important}
  .tm-refonte .tm-header__bar{box-shadow:none;border-radius:0}
  .tm-entete #et-main-area{padding-top:0}
}

/* ============================== 9. Bandeau de cookies ============================== */
/* Pressidium imprime ses couleurs sous .pressidium-cc-theme, classe qu'il pose sur le corps de page ; le sélecteur
   ci-dessous la prend avec la classe de la refonte et l'emporte sans !important. Seuls les jetons de couleur, la police et
   les arrondis changent : textes, boutons, ordre et comportement restent ceux réglés dans l'extension.
   « Tout accepter » et « Tout refuser » reçoivent le même habillage (recommandation de la CNIL : le refus aussi visible
   que l'accord). Prune sur orange : contraste 5,0:1 ; le lien « Choisir par catégorie » passe au bleu texte (6,9:1). */
body.tm-refonte.pressidium-cc-theme{
  --cc-font-family:var(--tm-police-texte);
  --cc-bg:var(--tm-blanc);
  --cc-text:var(--tm-texte);
  --cc-block-text:var(--tm-texte);
  --cc-btn-primary-bg:var(--tm-orange);
  --cc-btn-primary-text:var(--tm-prune);
  --cc-btn-primary-hover-bg:var(--tm-jaune);
  --cc-btn-primary-hover-text:var(--tm-prune);
  --cc-btn-secondary-bg:var(--tm-orange);
  --cc-btn-secondary-text:var(--tm-prune);
  --cc-btn-secondary-hover-bg:var(--tm-jaune);
  --cc-btn-secondary-hover-text:var(--tm-prune);
  --cc-toggle-bg-off:#8E8299;
  --cc-toggle-bg-on:var(--tm-prune);
  --cc-toggle-bg-readonly:var(--tm-sur-prune-2);
  --cc-toggle-knob-bg:var(--tm-blanc);
  --cc-toggle-knob-icon-color:var(--tm-clair);
  --cc-cookie-category-block-bg:var(--tm-clair);
  --cc-cookie-category-block-bg-hover:var(--tm-ligne);
  --cc-section-border:var(--tm-ligne);
  --cc-cookie-table-border:var(--tm-ligne);
  --cc-overlay-bg:rgba(43,25,61,.45);
  --cc-webkit-scrollbar-bg:var(--tm-clair);
  --cc-webkit-scrollbar-bg-hover:var(--tm-texte-2);
  --cc-btn-floating-bg:var(--tm-prune);
  --cc-btn-floating-icon:var(--tm-sur-prune);
  --cc-btn-floating-hover-bg:var(--tm-orange);
  --cc-btn-floating-hover-icon:var(--tm-prune);
}
/* Le bandeau porte la classe « slide » (son animation) : la règle « .slide{width:150px!important} » du carrousel de logos
   de l'accueil le réduisait à 150 px de large sur téléphone. */
/* Une marge de -20 px venue d'une règle générale du site collait le bandeau au bord droit de l'écran et le rognait. */
body.tm-refonte #cc--main #cm.slide{width:auto!important;margin:0!important;text-align:left}
@media (min-width:689px){body.tm-refonte #cc--main #cm.slide{width:100%!important;right:20px;bottom:20px}}
@media (max-width:688px){body.tm-refonte #cc--main #cm.slide{left:12px;right:12px;bottom:12px;max-width:none}}
body.tm-refonte #cc--main #cm,body.tm-refonte #cc--main #s-inr{border-radius:var(--tm-rayon-m);box-shadow:var(--tm-ombre-haute)}
body.tm-refonte #cc--main .c-bn{border-radius:var(--tm-pilule);font-weight:650}
body.tm-refonte #cc--main #cm .cc-link,body.tm-refonte #cc--main #s-cnt .cc-link,body.tm-refonte #cc--main #s-cnt a{color:var(--tm-bleu-texte);border-bottom-color:var(--tm-bleu-texte)}
body.tm-refonte #cc--main #cm .cc-link:hover,body.tm-refonte #cc--main #cm .cc-link:focus{color:var(--tm-prune)}
body.tm-refonte #cc--main .c-bn:focus-visible,body.tm-refonte #cc--main .cc-link:focus-visible{outline:2px solid var(--tm-focus);outline-offset:2px}
