/* ==========================================================================
   sabadye — « +6 h sur Paris »  ·  feuille de style du site (novembre 2026)

   Où la coller : WPCode → Ajouter un extrait → « Extrait CSS » → Partout
   (en-tête du site). Une seule copie pour tout le site.

   Tout est rangé sous .sb-racine, la balise qui enveloppe chaque page.
   Pourquoi des sélecteurs à deux classes (.sb-racine .sb-xxx) : le thème et
   le « kit » Elementor stylent h1, h2, a, button, input avec une classe +
   une balise (ex. .elementor-kit-7 h2). À une seule classe, l'ordre de
   chargement déciderait — et il change selon les extensions. Deux classes
   gagnent toujours, sans recourir à !important.
   ========================================================================== */

/* --- Neutraliser le cadre Elementor autour du widget HTML ---------------- */
/* Le conteneur Elementor ajoute marges, largeur « boxed » et espacements :
   la page sabadye doit occuper toute la largeur, d'un bord à l'autre. */
.e-con:has(.sb-racine), .e-con-inner:has(.sb-racine),
.elementor-section:has(.sb-racine) > .elementor-container,
.elementor-column:has(.sb-racine) > .elementor-widget-wrap,
.elementor-widget-html:has(.sb-racine), .elementor-widget-html:has(.sb-racine) > .elementor-widget-container {
  padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important;
  --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; --content-width: 100%;
}
body:has(.sb-racine) { margin: 0; background: #F6E7D3; }

/* --- Jetons ---------------------------------------------------------------- */
.sb-racine {
  --safran: #F2A21B; --tamarin: #2E1A12; --piment: #B8321F; --grenade: #7A1E16; --lotus: #F4B9A6;
  --sable: #F6E7D3; --carte: #FFFBF5; --jade: #2F6B5E; --brun: #6A5546;
  --creme: #E4D3BE; --filet: #C9AE8F; --blanc: #FFFFFF;
  --gouttiere: 24px; --largeur: 1280px;
  --f-titre: 'Archivo', 'Arial Black', system-ui, sans-serif;
  --f-texte: 'Newsreader', Georgia, 'Times New Roman', serif;
  --f-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  background: var(--sable); color: var(--tamarin);
  font-family: var(--f-texte); font-size: 18px; line-height: 1.5;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  overflow-x: clip; min-height: 100vh;
}
@media (max-width: 640px) { .sb-racine { --gouttiere: 16px; font-size: 17px; } }

/* --- Remise à zéro, limitée à sabadye ------------------------------------- */
.sb-racine *, .sb-racine *::before, .sb-racine *::after { box-sizing: border-box; }
.sb-racine.sb-racine :is(h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote, figcaption) {
  margin: 0; padding: 0; color: inherit; background: none; border: 0;
  text-transform: none; font-style: normal; text-shadow: none;
}
.sb-racine.sb-racine :is(h1, h2, h3, h4) { font-family: var(--f-titre); font-weight: 900; line-height: 1; letter-spacing: -0.03em; font-stretch: 125%; }
.sb-racine.sb-racine img { display: block; max-width: 100%; height: auto; border: 0; box-shadow: none; border-radius: 0; }
.sb-racine.sb-racine a { color: inherit; text-decoration-thickness: 2px; text-underline-offset: 5px; transition: color .15s; }
.sb-racine.sb-racine a:not([class]) { text-decoration-line: underline; }
.sb-racine.sb-racine a:not([class]):hover { color: var(--piment); }
.sb-racine.sb-racine :is(.sb-fond-tamarin, .sb-fond-jade, .sb-fond-grenade, .sb-pied) a:not([class]):hover { color: var(--safran); }
.sb-racine.sb-racine .sb-fond-piment a:not([class]):hover { color: inherit; text-decoration-thickness: 3px; }
/* Le contour jade disparaît sur les fonds sombres (1:1 sur jade) : sable à la place. */
.sb-racine.sb-racine :is(.sb-fond-tamarin, .sb-fond-jade, .sb-fond-piment, .sb-fond-grenade, .sb-pied, .sb-fuseau) :is(a, button, input, summary):focus-visible { outline-color: var(--sable); }
/* Lien d'évitement : invisible jusqu'à la tabulation. */
.sb-racine.sb-racine .sb-evitement { position: absolute; left: 12px; top: -100px; z-index: 100; padding: 12px 18px; border-radius: 999px; background: var(--tamarin); color: var(--sable); font-family: var(--f-titre); font-weight: 700; text-decoration: none; }
.sb-racine.sb-racine .sb-evitement:focus { top: 12px; }
.sb-racine.sb-racine .sb-insec { white-space: nowrap; }
@media (max-width: 640px) { .sb-racine.sb-racine .sb-insec { white-space: normal; } }
.sb-racine.sb-racine :is(button, input, select) { font: inherit; margin: 0; text-transform: none; letter-spacing: normal; box-shadow: none; }
.sb-racine.sb-racine :is(a, button, input, summary):focus-visible { outline: 3px solid var(--jade); outline-offset: 3px; }
.sb-racine [hidden] { display: none !important; }
.sb-racine .sb-visuel-cache { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sb-racine .sb-piege { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .sb-racine * { transition: none !important; animation: none !important; } }

/* --- Typographie ----------------------------------------------------------- */
.sb-racine.sb-racine .sb-d { font-family: var(--f-titre); font-stretch: 125%; font-weight: 900; }
.sb-racine.sb-racine .sb-d8 { font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; letter-spacing: 0; }
.sb-racine.sb-racine .sb-s { font-family: var(--f-texte); }
.sb-racine.sb-racine .sb-m { font-family: var(--f-mono); letter-spacing: .04em; }
.sb-racine.sb-racine .sb-surtitre { font-family: var(--f-mono); font-size: 13px; letter-spacing: .16em; font-weight: 600; text-transform: uppercase; color: var(--piment); }
.sb-racine.sb-racine .sb-h1 { font-size: clamp(42px, 6.4vw, 98px); line-height: .92; text-wrap: balance; }
.sb-racine.sb-racine .sb-h1-geant { font-size: clamp(64px, 9vw, 168px); line-height: .82; letter-spacing: -0.05em; }
.sb-racine.sb-racine .sb-h2 { font-size: clamp(36px, 5vw, 76px); line-height: .95; text-wrap: balance; }
.sb-racine.sb-racine .sb-h2-moyen { font-size: clamp(32px, 4.4vw, 64px); line-height: .95; text-wrap: balance; }
.sb-racine.sb-racine .sb-h3 { font-size: clamp(26px, 2.6vw, 32px); line-height: 1.02; letter-spacing: -0.02em; }
.sb-racine.sb-racine .sb-chapo { font-size: clamp(19px, 1.6vw, 22px); line-height: 1.5; max-width: 600px; }
.sb-racine.sb-racine .sb-texte { font-size: clamp(18px, 1.4vw, 21px); line-height: 1.5; }
.sb-racine.sb-racine .sb-attenue { color: var(--brun); }
.sb-racine.sb-racine .sb-note { font-family: var(--f-mono); font-size: 12px; line-height: 1.6; color: var(--brun); letter-spacing: .02em; }
.sb-racine.sb-racine .sb-fil { font-family: var(--f-mono); font-size: 13px; letter-spacing: .14em; font-weight: 600; text-transform: uppercase; }
.sb-racine.sb-racine .sb-fil a { text-decoration: none; }

/* --- Mise en page ---------------------------------------------------------- */
.sb-racine.sb-racine .sb-cadre { max-width: var(--largeur); margin: 0 auto; }
.sb-racine.sb-racine .sb-section { padding: clamp(72px, 9vw, 120px) var(--gouttiere); }
.sb-racine.sb-racine .sb-section-serre { padding: clamp(56px, 7vw, 88px) var(--gouttiere); }
.sb-racine.sb-racine .sb-pile { display: flex; flex-direction: column; gap: var(--ecart, 24px); }
.sb-racine.sb-racine .sb-deux { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: var(--ecart-v, 24px) var(--ecart-h, 64px); align-items: var(--align, end); }
.sb-racine.sb-racine .sb-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(var(--min, 280px), 100%), 1fr)); gap: var(--ecart, 20px); }
.sb-racine.sb-racine .sb-rangee { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; }
.sb-racine.sb-racine .sb-fond-tamarin { background: var(--tamarin); color: var(--sable); }
.sb-racine.sb-racine .sb-fond-safran { background: var(--safran); color: var(--tamarin); }
/* Grenade : fond des héros illustrés. Le safran sous une illustration au ciel orangé
   faisait « orange sur orange » ; le rouge laqué garde la chaleur et détache l'image. */
.sb-racine.sb-racine .sb-fond-grenade { background: var(--grenade); color: var(--sable); }
.sb-racine.sb-racine .sb-fond-grenade .sb-macaron { box-shadow: 0 0 0 3px var(--grenade); }
.sb-racine.sb-racine .sb-fond-piment { background: var(--piment); color: var(--blanc); }
.sb-racine.sb-racine .sb-fond-lotus { background: var(--lotus); color: var(--tamarin); }
.sb-racine.sb-racine .sb-fond-jade { background: var(--jade); color: var(--sable); }
.sb-racine.sb-racine .sb-fond-carte { background: var(--carte); color: var(--tamarin); }
.sb-racine.sb-racine :is(.sb-fond-tamarin, .sb-fond-grenade) .sb-surtitre { color: var(--safran); }
.sb-racine.sb-racine .sb-fond-jade .sb-surtitre { color: var(--sable); }
.sb-racine.sb-racine :is(.sb-fond-piment, .sb-fond-safran, .sb-fond-lotus) .sb-surtitre { color: inherit; }
.sb-racine.sb-racine .sb-fond-tamarin .sb-attenue { color: var(--creme); }

/* --- Boutons et pastilles -------------------------------------------------- */
.sb-racine.sb-racine .sb-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 24px; border-radius: 999px; border: 0; cursor: pointer;
  font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 16px; line-height: 1.1;
  text-decoration: none; text-align: center; white-space: normal; background: var(--tamarin); color: var(--sable);
  transition: filter .15s, transform .15s;
}
.sb-racine.sb-racine.sb-racine .sb-btn:hover { filter: brightness(1.12); color: var(--sable); }
.sb-racine.sb-racine .sb-btn svg { flex: none; }
.sb-racine.sb-racine .sb-btn-grand { min-height: 60px; padding: 0 30px; font-size: 18px; }
.sb-racine.sb-racine .sb-btn-piment { background: var(--piment); color: var(--blanc); }
.sb-racine.sb-racine.sb-racine .sb-btn-piment:hover { color: var(--blanc); }
.sb-racine.sb-racine .sb-btn-safran { background: var(--safran); color: var(--tamarin); }
.sb-racine.sb-racine.sb-racine .sb-btn-safran:hover { color: var(--tamarin); }
.sb-racine.sb-racine .sb-btn-contour { background: transparent; color: var(--tamarin); box-shadow: inset 0 0 0 2px var(--tamarin); }
.sb-racine.sb-racine.sb-racine .sb-btn-contour:hover { background: var(--tamarin); color: var(--sable); filter: none; }
.sb-racine.sb-racine .sb-lien-fort { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 17px; text-decoration: underline; }
.sb-racine.sb-racine .sb-lien-fort:hover { text-decoration-thickness: 3px; }
.sb-racine.sb-racine .sb-lien-fleche { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 16px; color: var(--piment); text-decoration: none; }
.sb-racine.sb-racine.sb-racine .sb-lien-fleche:hover { text-decoration: underline; }
.sb-racine.sb-racine .sb-pastille {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 12px;
  border-radius: 999px; font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}
.sb-racine.sb-racine .p-jade { background: var(--jade); color: var(--sable); }
.sb-racine.sb-racine .p-piment { background: var(--piment); color: var(--blanc); }
.sb-racine.sb-racine .p-safran { background: var(--safran); color: var(--tamarin); }
.sb-racine.sb-racine .p-tamarin { background: var(--tamarin); color: var(--sable); }
.sb-racine.sb-racine .p-carte { background: var(--carte); color: var(--tamarin); }
.sb-racine.sb-racine .p-blanc { background: var(--blanc); color: var(--piment); }
.sb-racine.sb-racine .p-veille { background: transparent; color: var(--piment); box-shadow: inset 0 0 0 1.5px var(--piment); }
.sb-racine.sb-racine .sb-macaron { position: absolute; right: -16px; top: -16px; padding: 6px 12px; border-radius: 999px; background: var(--sable); color: var(--piment); font-family: var(--f-titre); font-stretch: 125%; font-weight: 900; font-size: 13px; transform: rotate(8deg); box-shadow: 0 0 0 3px var(--safran); }

/* --- Onglets / filtres ----------------------------------------------------- */
.sb-racine.sb-racine .sb-onglets { display: flex; flex-wrap: wrap; gap: 10px; }
.sb-racine.sb-racine .sb-onglet {
  display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 22px; border-radius: 999px; border: 0; cursor: pointer;
  font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 17px;
  background: transparent; color: var(--tamarin); box-shadow: inset 0 0 0 2px var(--tamarin); transition: transform .15s, background .15s; white-space: normal; text-align: left;
}
.sb-racine.sb-racine .sb-onglet:hover { transform: translateY(-1px); background: transparent; color: var(--tamarin); }
.sb-racine.sb-racine .sb-onglet[aria-selected="true"], .sb-racine.sb-racine .sb-onglet[aria-pressed="true"] { background: var(--tamarin); color: var(--sable); box-shadow: none; }
.sb-racine.sb-racine .sb-onglet .sb-m { font-size: 11px; letter-spacing: .12em; opacity: .8; font-weight: 500; }
.sb-racine.sb-racine .sb-onglet-grand { min-height: 60px; padding: 0 28px; font-size: 20px; }
.sb-racine.sb-racine .sb-onglet-mini { min-height: 44px; padding: 0 16px; font-family: var(--f-mono); font-stretch: 100%; font-size: 13px; font-weight: 600; box-shadow: none; background: var(--carte); }
.sb-racine.sb-racine .sb-onglet-mini[aria-pressed="true"] { background: var(--safran); color: var(--tamarin); }
.sb-racine.sb-racine .sb-bascule { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--carte); }
.sb-racine.sb-racine .sb-bascule .sb-onglet-mini { background: transparent; }
.sb-racine.sb-racine .sb-bascule .sb-onglet-mini[aria-pressed="true"] { background: var(--tamarin); color: var(--sable); }

/* --- Bandeau horaire + navigation ----------------------------------------- */
.sb-racine.sb-racine .sb-fuseau { background: var(--tamarin); color: var(--sable); padding: 9px var(--gouttiere); }
.sb-racine.sb-racine .sb-fuseau .sb-cadre { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; font-family: var(--f-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.sb-racine.sb-racine .sb-fuseau .sb-heure { font-weight: 600; color: var(--safran); }
.sb-racine.sb-racine .sb-fuseau .sb-pale { opacity: .72; }
.sb-racine.sb-racine .sb-fuseau a { text-decoration: none; color: var(--sable); display: inline-flex; align-items: center; min-height: 24px; }
.sb-racine.sb-racine .sb-fuseau :is([data-sb-ecart], a) { text-transform: none; }
.sb-racine.sb-racine .sb-fuseau-court { display: none; }
@media (max-width: 640px) { .sb-racine.sb-racine .sb-fuseau-long { display: none; } .sb-racine.sb-racine .sb-fuseau-court { display: inline; } }
.sb-racine.sb-racine .sb-nav { background: var(--sable); padding: 0 var(--gouttiere); position: relative; z-index: 20; }
.sb-racine.sb-racine .sb-nav > .sb-cadre { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0; }
.sb-racine.sb-racine .sb-logo img { height: 34px; width: auto; }
.sb-racine.sb-racine .sb-liens { display: flex; gap: 30px; font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 16px; }
.sb-racine.sb-racine .sb-liens a { text-decoration: none; }
.sb-racine.sb-racine.sb-racine .sb-liens a:hover, .sb-racine.sb-racine .sb-liens a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; color: var(--tamarin); }
.sb-racine.sb-racine .sb-nav-actions { display: flex; gap: 10px; align-items: center; }
.sb-racine.sb-racine .sb-nav-actions .sb-btn { min-height: 46px; padding: 0 20px; font-size: 15px; }
.sb-racine.sb-racine .sb-badge { font-family: var(--f-mono); font-size: 11px; padding: 3px 8px; border-radius: 999px; background: var(--safran); color: var(--tamarin); font-weight: 600; letter-spacing: .04em; }
.sb-racine.sb-racine .sb-burger { display: none; width: 46px; height: 46px; border-radius: 50%; border: 0; padding: 0; background: var(--tamarin); align-items: center; justify-content: center; cursor: pointer; }
.sb-racine.sb-racine .sb-burger:hover { background: var(--tamarin); }
.sb-racine.sb-racine .sb-tiroir { display: none; }
@media (max-width: 900px) {
  .sb-racine.sb-racine .sb-liens { display: none; }
  .sb-racine.sb-racine .sb-burger { display: inline-flex; }
  .sb-racine.sb-racine .sb-nav-actions .sb-btn .sb-texte-long { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .sb-racine.sb-racine .sb-tiroir { display: block; position: absolute; left: 0; right: 0; top: 100%; background: var(--sable); padding: 8px var(--gouttiere) 24px; box-shadow: 0 18px 30px -18px rgba(46,26,18,.35); }
  .sb-racine.sb-racine .sb-tiroir[hidden] { display: none !important; }
  .sb-racine.sb-racine .sb-tiroir a { display: flex; align-items: center; min-height: 52px; border-bottom: 1px solid var(--filet); font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 20px; text-decoration: none; }
}
@media (max-width: 420px) { .sb-racine.sb-racine .sb-logo img { height: 28px; } .sb-racine.sb-racine .sb-nav-actions .sb-btn { padding: 0 14px; } }

/* --- Héros ----------------------------------------------------------------- */
.sb-racine.sb-racine .sb-heros { padding: 0 var(--gouttiere); }
.sb-racine.sb-racine .sb-heros > .sb-cadre { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr)); gap: 40px 56px; align-items: end; padding-top: clamp(40px, 5vw, 64px); }
.sb-racine.sb-racine .sb-heros-texte { display: flex; flex-direction: column; gap: 26px; padding-bottom: clamp(48px, 6vw, 88px); }
.sb-racine.sb-racine .sb-heros-media { position: relative; justify-self: end; width: 100%; max-width: 520px; }
.sb-racine.sb-racine .sb-arche { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 0 0 !important; background: var(--piment); }
.sb-racine.sb-racine .sb-incline { display: inline-block; background: var(--sable); color: var(--piment); padding: 0 .14em .04em; border-radius: 14px; transform: rotate(-2.5deg); }
.sb-racine.sb-racine .sb-tampon { position: absolute; left: -56px; bottom: 56px; width: 158px; height: 158px; border-radius: 50%; background: var(--tamarin); color: var(--sable); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; transform: rotate(-8deg); box-shadow: 0 0 0 6px var(--safran); }
.sb-racine.sb-racine .sb-tampon .sb-m { font-size: 11px; letter-spacing: .16em; }
.sb-racine.sb-racine .sb-tampon .sb-d { font-size: 38px; color: var(--safran); letter-spacing: -0.02em; line-height: 1.1; }
@media (max-width: 900px) {
  .sb-racine.sb-racine .sb-heros-media { justify-self: center; }
  .sb-racine.sb-racine .sb-tampon { left: 12px; bottom: 16px; width: 124px; height: 124px; }
  .sb-racine.sb-racine .sb-tampon .sb-d { font-size: 30px; }
}

/* --- Bandes de chiffres ---------------------------------------------------- */
.sb-racine.sb-racine .sb-bande { padding: 18px var(--gouttiere); }
.sb-racine.sb-racine .sb-bande .sb-cadre { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 32px; font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 18px; }
.sb-racine.sb-racine .sb-bande .sb-m { font-size: 13px; color: var(--safran); letter-spacing: .12em; }
.sb-racine.sb-racine .sb-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(var(--min, 220px), 100%), 1fr)); }
.sb-racine.sb-racine .sb-chiffres > div { padding: 26px 20px; display: flex; flex-direction: column; gap: 6px; border-left: 2px solid currentColor; }
.sb-racine.sb-racine .sb-chiffres > div:first-child { border-left: 0; padding-left: 0; }
.sb-racine.sb-racine .sb-chiffres-doux > div { border-left-color: rgba(246,231,211,.22); border-left-width: 1px; }
.sb-racine.sb-racine .sb-chiffres dt { font-family: var(--f-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.sb-racine.sb-racine .sb-chiffres-inverse dt { order: 2; }
.sb-racine.sb-racine .sb-chiffres dd { font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 21px; }
.sb-racine.sb-racine .sb-chiffres-gros dd { font-stretch: 125%; font-weight: 900; font-size: clamp(40px, 4vw, 56px); line-height: .95; letter-spacing: -0.04em; }
.sb-racine.sb-racine .sb-fond-tamarin .sb-chiffres dt { color: var(--safran); }
@media (max-width: 560px) { .sb-racine.sb-racine .sb-chiffres > div { border-left: 0; padding-left: 0; border-top: 1px solid rgba(127,100,80,.3); } .sb-racine.sb-racine .sb-chiffres > div:first-child { border-top: 0; } }

/* --- Sommaire de page ------------------------------------------------------ */
.sb-racine.sb-racine .sb-sommaire { padding: 28px var(--gouttiere) 0; }
.sb-racine.sb-racine .sb-sommaire .sb-cadre { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.sb-racine.sb-racine .sb-sommaire .sb-btn { min-height: 44px; padding: 0 18px; font-size: 15px; }

/* --- Sélecteur de ville (accueil) ----------------------------------------- */
.sb-racine.sb-racine .sb-ville { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: 40px 48px; align-items: center; background: var(--carte); border-radius: 36px; padding: clamp(16px, 2.2vw, 28px); }
.sb-racine.sb-racine .sb-ville-img { width: 100%; max-width: 520px; aspect-ratio: 4 / 4.4; object-fit: cover; border-radius: 999px 999px 18px 18px !important; background: var(--safran); }
.sb-racine.sb-racine .sb-ville-texte { display: flex; flex-direction: column; gap: 22px; padding: 8px 12px; }
.sb-racine.sb-racine .sb-ville-faits { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); border-top: 2px solid var(--tamarin); border-bottom: 2px solid var(--tamarin); }
.sb-racine.sb-racine .sb-ville-faits > div { padding: 18px 14px; display: flex; flex-direction: column; gap: 6px; border-left: 2px solid var(--tamarin); }
.sb-racine.sb-racine .sb-ville-faits > div:first-child { border-left: 0; padding-left: 0; }
@media (max-width: 560px) { .sb-racine.sb-racine .sb-ville-faits > div:nth-child(3) { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: 2px solid var(--tamarin); } }
.sb-racine.sb-racine .sb-ville-faits dt { order: 2; font-family: var(--f-mono); font-size: 12px; letter-spacing: .1em; color: var(--brun); }
.sb-racine.sb-racine .sb-ville-faits dd { font-family: var(--f-titre); font-stretch: 125%; font-weight: 900; font-size: 22px; line-height: 1.15; }
.sb-racine.sb-racine .sb-ville-faits dd.sb-gros { font-size: 44px; line-height: 1; letter-spacing: -0.03em; }
.sb-racine.sb-racine .sb-ville-faits dd.sb-s { font-family: var(--f-texte); font-weight: 400; font-stretch: 100%; font-size: 18px; line-height: 1.3; }
.sb-racine.sb-racine .sb-encadre { padding: 16px 18px; border-radius: 16px; background: var(--sable); font-size: 18px; line-height: 1.5; }
.sb-racine.sb-racine .sb-encadre strong { font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; }

/* --- Questions ------------------------------------------------------------- */
.sb-racine.sb-racine .sb-questions { border-top: 2px solid var(--tamarin); }
.sb-racine.sb-racine .sb-question { display: grid; grid-template-columns: 70px minmax(0, 1.05fr) minmax(0, 1.4fr); gap: 16px 32px; align-items: start; padding: 30px 0; border-bottom: 2px solid var(--tamarin); }
.sb-racine.sb-racine .sb-question > .sb-m { font-size: 14px; font-weight: 600; color: var(--piment); padding-top: 10px; }
.sb-racine.sb-racine .sb-question h3 { font-size: clamp(28px, 3.2vw, 46px); }
.sb-racine.sb-racine .sb-question p { font-size: 20px; line-height: 1.5; }
@media (max-width: 900px) { .sb-racine.sb-racine .sb-question { grid-template-columns: 1fr; } .sb-racine.sb-racine .sb-question > .sb-m { padding-top: 0; } }

/* --- Listes cochées -------------------------------------------------------- */
.sb-racine.sb-racine .sb-coches { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.sb-racine.sb-racine .sb-coches li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; font-size: 19px; line-height: 1.45; }
.sb-racine.sb-racine .sb-coches li::before { content: ""; width: 22px; height: 22px; margin-top: 3px; border-radius: 50%; background: var(--coche, var(--safran)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.2l3 3 6-6.4' fill='none' stroke='%232E1A12' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px no-repeat; }
.sb-racine.sb-racine .sb-coches-jade li::before { background-color: var(--jade); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.2l3 3 6-6.4' fill='none' stroke='%23F6E7D3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.sb-racine.sb-racine .sb-numeros { list-style: none; border-top: 2px solid var(--tamarin); }
.sb-racine.sb-racine .sb-numeros li { display: grid; grid-template-columns: 56px 1fr; gap: 14px; padding: 18px 0; border-bottom: 2px solid var(--tamarin); font-size: 19px; line-height: 1.4; }
.sb-racine.sb-racine .sb-numeros li > .sb-d { font-size: 26px; color: var(--piment); }

/* --- Section « offert » et téléphone -------------------------------------- */
.sb-racine.sb-racine .sb-tel { justify-self: center; width: 100%; max-width: 400px; background: var(--sable); border-radius: 48px; padding: 14px; transform: rotate(2deg); box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); }
.sb-racine.sb-racine .sb-tel-ecran { background: var(--carte); color: var(--tamarin); border-radius: 36px; padding: 24px 18px 20px; display: flex; flex-direction: column; gap: 14px; min-height: 560px; }
.sb-racine.sb-racine .sb-tel-ecran .sb-onglet-mini { min-height: 44px; padding: 0 12px; font-size: 12px; background: var(--sable); }
.sb-racine.sb-racine .sb-tel-ecran .sb-onglet-mini[aria-pressed="true"] { background: var(--tamarin); color: var(--sable); }
.sb-racine.sb-racine .sb-tel-ecole { background: var(--sable); border-radius: 16px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.sb-racine.sb-racine .sb-tel-ecole .sb-d8 { font-size: 14px; line-height: 1.25; }
.sb-racine.sb-racine .sb-tel-ecole .sb-m { font-size: 11px; color: var(--brun); }
.sb-racine.sb-racine .sb-mini { font-family: var(--f-mono); font-size: 11px; padding: 3px 8px; border-radius: 999px; }
@media (max-width: 560px) { .sb-racine.sb-racine .sb-tel { transform: none; } }

/* --- Cartes ---------------------------------------------------------------- */
.sb-racine.sb-racine .sb-carte { border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 16px; text-decoration: none; }
.sb-racine.sb-racine a.sb-carte { transition: transform .15s; }
.sb-racine.sb-racine a.sb-carte:hover { transform: translateY(-3px); }
.sb-racine.sb-racine .sb-carte-haute { min-height: 400px; }
.sb-racine.sb-racine .sb-carte .sb-gros-chiffre { font-family: var(--f-titre); font-stretch: 125%; font-weight: 900; font-size: clamp(64px, 6vw, 92px); line-height: .85; letter-spacing: -0.05em; margin-top: 12px; }
.sb-racine.sb-racine .sb-carte .sb-titre-carte { font-family: var(--f-titre); font-stretch: 125%; font-weight: 900; font-size: 25px; line-height: 1.05; margin-top: auto; }
.sb-racine.sb-racine .sb-carte-contour { box-shadow: inset 0 0 0 2px var(--tamarin); }
.sb-racine.sb-racine .sb-puces { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.sb-racine.sb-racine .sb-puce { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; box-shadow: inset 0 0 0 2px var(--tamarin); text-decoration: none; font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 15px; }
.sb-racine.sb-racine.sb-racine .sb-puce:hover { background: var(--tamarin); color: var(--sable); }

/* --- Nous ------------------------------------------------------------------ */
.sb-racine.sb-racine .sb-citation { font-family: var(--f-texte); font-size: clamp(40px, 5.4vw, 80px); line-height: 1; font-style: italic !important; font-weight: 500; letter-spacing: -0.02em; }
.sb-racine.sb-racine .sb-regles > div { display: grid; grid-template-columns: 88px 1fr; gap: 18px; padding: 26px 0; border-top: 2px solid var(--tamarin); }
.sb-racine.sb-racine .sb-regles > div:last-child { border-bottom: 2px solid var(--tamarin); }
.sb-racine.sb-racine .sb-regles .sb-d { font-size: 44px; color: var(--piment); letter-spacing: -0.03em; line-height: 1; }
.sb-racine.sb-racine .sb-regles h3 { font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 22px; letter-spacing: 0; }
.sb-racine.sb-racine .sb-photo-vide { aspect-ratio: 4 / 3; border-radius: 22px; background: var(--sable); display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; box-shadow: inset 0 0 0 2px var(--filet); }
.sb-racine.sb-racine .sb-rond { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 999px !important; }

/* --- Escales --------------------------------------------------------------- */
.sb-racine.sb-racine .sb-escale { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); background: var(--carte); border-radius: 28px; overflow: hidden; text-decoration: none; color: var(--tamarin); }
.sb-racine.sb-racine .sb-escale img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
.sb-racine.sb-racine .sb-escale > div { padding: 28px; display: flex; flex-direction: column; gap: 12px; }

/* --- Formulaires ----------------------------------------------------------- */
.sb-racine.sb-racine .sb-form { display: flex; flex-wrap: wrap; gap: 12px; max-width: 640px; }
.sb-racine.sb-racine .sb-form label.sb-etiquette { flex-basis: 100%; font-family: var(--f-mono); font-size: 13px; letter-spacing: .08em; }
.sb-racine.sb-racine.sb-racine .sb-champ { flex: 1 1 260px; min-height: 60px; padding: 0 22px; border-radius: 999px; border: 0; outline: 0; font-family: var(--f-texte); font-size: 18px; color: var(--tamarin); background: var(--carte); box-shadow: inset 0 0 0 2px transparent; }
.sb-racine.sb-racine.sb-racine .sb-champ:focus { box-shadow: inset 0 0 0 2px var(--jade); }
.sb-racine.sb-racine .sb-form .sb-btn { min-height: 60px; padding: 0 28px; font-size: 17px; }
.sb-racine.sb-racine .sb-case { flex-basis: 100%; display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.45; cursor: pointer; }
.sb-racine.sb-racine .sb-case input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--tamarin); flex: none; }
.sb-racine.sb-racine .sb-soleil { position: absolute; pointer-events: none; }
@media (max-width: 1100px) { .sb-racine.sb-racine .sb-soleil { display: none; } }

/* --- Barres de budget ------------------------------------------------------ */
.sb-racine.sb-racine .sb-barres { background: var(--carte); border-radius: 28px; padding: clamp(18px, 2.6vw, 32px); display: flex; flex-direction: column; gap: 18px; }
.sb-racine.sb-racine .sb-barre { display: grid; grid-template-columns: 180px 1fr; gap: 8px 20px; align-items: center; }
.sb-racine.sb-racine .sb-barre-piste { position: relative; height: 34px; border-radius: 999px; background: var(--sable); }
.sb-racine.sb-racine .sb-barre-plage { position: absolute; top: 0; bottom: 0; left: var(--de); width: var(--l); border-radius: 999px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; font-family: var(--f-mono); font-size: 12px; font-weight: 600; white-space: nowrap; }
.sb-racine.sb-racine .sb-echelle { display: flex; justify-content: space-between; font-family: var(--f-mono); font-size: 12px; color: var(--brun); }
@media (max-width: 700px) { .sb-racine.sb-racine .sb-barre { grid-template-columns: 1fr; } .sb-racine.sb-racine .sb-barre-axe { display: none; } }

/* --- Outils (antisèches) --------------------------------------------------- */
.sb-racine.sb-racine .sb-outil { background: var(--carte); border-radius: 28px; overflow: hidden; display: flex; flex-direction: column; }
.sb-racine.sb-racine .sb-outil-tete { padding: 20px 26px; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.sb-racine.sb-racine .sb-outil-corps { padding: 26px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.sb-racine.sb-racine .sb-outil-corps h2 { font-size: 26px; line-height: 1.05; letter-spacing: -0.02em; }
.sb-racine.sb-racine .sb-outil-pied { display: flex; flex-wrap: wrap; gap: 6px 16px; font-family: var(--f-mono); font-size: 12px; color: var(--brun); margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--filet); }
.sb-racine.sb-racine .sb-outil-pied .sb-domaine { color: var(--tamarin); }

/* --- Écoles (aperçu) ------------------------------------------------------- */
.sb-racine.sb-racine .sb-ecole { background: var(--carte); border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 12px; min-height: 200px; }
.sb-racine.sb-racine .sb-ecole h3 { font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 19px; line-height: 1.25; letter-spacing: 0; }
.sb-racine.sb-racine .sb-ecole-pied { margin-top: auto; display: flex; align-items: center; gap: 8px; padding-top: 12px; border-top: 1px dashed var(--filet); font-family: var(--f-mono); font-size: 12px; }
.sb-racine.sb-racine .sb-vide { border-radius: 22px; padding: 26px; box-shadow: inset 0 0 0 2px var(--piment); display: flex; flex-direction: column; gap: 8px; }

/* --- Grille « ce que vous recevez » --------------------------------------- */
.sb-racine.sb-racine .sb-mosaique { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 1px; background: rgba(246,231,211,.2); border-radius: 28px; overflow: hidden; list-style: none; }
.sb-racine.sb-racine .sb-mosaique > * { background: var(--tamarin); padding: 30px; display: flex; flex-direction: column; gap: 12px; min-height: 200px; }
.sb-racine.sb-racine .sb-mosaique h3 { font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 22px; line-height: 1.15; letter-spacing: 0; }
.sb-racine.sb-racine .sb-mosaique p { font-size: 17px; line-height: 1.5; color: var(--creme); }

/* --- FAQ ------------------------------------------------------------------- */
.sb-racine.sb-racine .sb-faq details { background: var(--carte); border-radius: 20px; padding: 0 22px; }
.sb-racine.sb-racine .sb-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; cursor: pointer; list-style: none; font-family: var(--f-titre); font-stretch: 112%; font-weight: 700; font-size: 19px; }
.sb-racine.sb-racine .sb-faq summary::-webkit-details-marker { display: none; }
.sb-racine.sb-racine .sb-faq summary::after { content: "+"; font-family: var(--f-titre); font-stretch: 125%; font-weight: 900; font-size: 26px; transition: transform .2s; }
.sb-racine.sb-racine .sb-faq details[open] summary::after { transform: rotate(45deg); }
.sb-racine.sb-racine .sb-faq details p { margin: 0 0 20px; font-size: 18px; line-height: 1.5; }

/* --- Encadrés -------------------------------------------------------------- */
.sb-racine.sb-racine .sb-alerte { border-radius: 22px; padding: 24px 26px; box-shadow: inset 0 0 0 2px var(--piment); display: flex; flex-direction: column; gap: 8px; }
.sb-racine.sb-racine .sb-fond-tamarin .sb-alerte { box-shadow: inset 0 0 0 2px rgba(246,231,211,.35); }
.sb-racine.sb-racine .sb-tuile { border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 10px; min-height: 220px; }
.sb-racine.sb-racine .sb-tuile .sb-d { font-size: 72px; line-height: .85; letter-spacing: -0.05em; }
.sb-racine.sb-racine .sb-tuile p { margin-top: auto; font-size: 18px; line-height: 1.4; }
.sb-racine.sb-racine .sb-etapes { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 1px; background: rgba(246,231,211,.2); border-radius: 28px; overflow: hidden; }
.sb-racine.sb-racine .sb-etapes li { background: var(--tamarin); padding: 30px; display: flex; flex-direction: column; gap: 12px; }

/* --- Pied de page ---------------------------------------------------------- */
.sb-racine.sb-racine .sb-pied { background: var(--tamarin); color: var(--sable); padding: 72px var(--gouttiere) 40px; }
.sb-racine.sb-racine .sb-pied img { height: 30px; width: auto; align-self: flex-start; }
.sb-racine.sb-racine .sb-pied nav { display: flex; flex-direction: column; gap: 0; align-items: flex-start; }
.sb-racine.sb-racine .sb-pied nav a { color: var(--sable); display: inline-flex; align-items: center; min-height: 44px; }
.sb-racine.sb-racine .sb-pied .sb-pied-titre { font-family: var(--f-mono); font-size: 12px; letter-spacing: .14em; color: var(--safran); text-transform: uppercase; }
.sb-racine.sb-racine .sb-pied-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; border-top: 1px solid rgba(246,231,211,.25); font-family: var(--f-mono); font-size: 12px; letter-spacing: .06em; color: var(--creme); }
.sb-racine.sb-racine .sb-pied-bas a { color: var(--creme); display: inline-flex; align-items: center; min-height: 24px; }
.sb-racine.sb-racine .sb-pied-bas span { display: flex; flex-wrap: wrap; gap: 8px 20px; }

/* --- Impression ------------------------------------------------------------ */
@media print {
  .sb-racine.sb-racine .sb-fuseau, .sb-racine.sb-racine .sb-nav, .sb-racine form, .sb-racine.sb-racine .sb-soleil { display: none !important; }
  .sb-racine { background: #fff; }
}

/* Sans prise en charge des fuseaux horaires, le script retire l'horloge plutôt que d'afficher « --:-- ». */
.sb-racine.sb-racine.sb-sans-heure :is(.sb-tampon, .sb-fuseau .sb-heure) { display: none; }
