/* Feuille de style du site (reprise de l’aperçu validé).
   Noir pour les bandes de marque (en-tête, hero, pied de page), or comme seul accent,
   Open Sans partout. La police est hébergée sur le site : aucun appel à Google Fonts. */
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/open-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/open-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --night:#000000; --night-2:#121214; --on-night:#F2F2F0; --on-night-muted:#A9ABB4;
  --gold:#E1C05C; --gold-deep:#B8962E;
  --bg:#FFFFFF; --bg-alt:#F4F4F1; --surface:#FFFFFF; --fg:#141416; --muted:#565860; --line:#E1E1DC;
  --gold-ink:#7E6110; --chip:#F7F1DC;
  --ok:#23704A; --ok-bg:#E5F3EB; --warn:#94560A; --warn-bg:#FBEFDC; --bad:#A3271B; --bad-bg:#F8E4E1;
  --map-land:#ECEBE6; --map-road:#FFFFFF; --map-major:#F3D98A; --map-water:#CFE0EA;
  --font:"Open Sans","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:10px;
  --chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23565860' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0D0D0F; --bg-alt:#141417; --surface:#18181C; --fg:#EDEDEC; --muted:#A3A5AD; --line:#2A2A30;
  --gold-ink:#E1C05C; --chip:#2A2412;
  --ok:#6FCF97; --ok-bg:#15291E; --warn:#F2B35C; --warn-bg:#2E2210; --bad:#F08A7E; --bad-bg:#30160F;
  --map-land:#1C1C20; --map-road:#2E2E34; --map-major:#6B5A22; --map-water:#1A2A33;
  --chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23A3A5AD' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#0D0D0F; --bg-alt:#141417; --surface:#18181C; --fg:#EDEDEC; --muted:#A3A5AD; --line:#2A2A30;
  --gold-ink:#E1C05C; --chip:#2A2412;
  --ok:#6FCF97; --ok-bg:#15291E; --warn:#F2B35C; --warn-bg:#2E2210; --bad:#F08A7E; --bad-bg:#30160F;
  --map-land:#1C1C20; --map-road:#2E2E34; --map-major:#6B5A22; --map-water:#1A2A33;
  --chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23A3A5AD' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color-scheme:dark;}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:400 16px/1.65 var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font);font-weight:800;line-height:1.15;text-wrap:balance;margin:0;letter-spacing:-.015em}
h1{font-size:clamp(2rem,5vw,3.3rem)}
h2{font-size:clamp(1.55rem,3vw,2.15rem)}
h3{font-size:1.08rem;font-weight:700;letter-spacing:-.005em}
p{margin:0}
a{color:inherit}
/* Marge des côtés : à mi-chemin entre l’ancienne colonne centrée de 1180 px et le logo de la barre du haut
   (20 px sur téléphone ; environ 55 px à 1280 px de large, 100 px à 1440 px, 220 px à 1920 px). */
.wrap{--marge:calc((max(20px,(100vw - 1180px) / 2 + 20px) + clamp(20px,3.2vw,56px)) / 2);max-width:none;margin:0 auto;padding-inline:var(--marge)}
.eyebrow{font:700 .75rem/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--gold)}
.on-night .eyebrow{color:var(--gold)}
.gold{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
.prose{display:grid;gap:14px;max-width:70ch}
.prose p{font-size:1.02rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 .95rem/1 var(--font);padding:15px 22px;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:#111}
.btn-gold:hover{background:#ebcd70}
.btn-line{border-color:currentColor;background:transparent;color:inherit}
.btn-line:hover{border-color:var(--gold)}
.btn-dark{background:var(--fg);color:var(--bg)}
.btn-sm{padding:11px 16px;font-size:.88rem}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}

.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--night);color:var(--on-night);border-bottom:1px solid #1d1d20}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:72px}
.brand img{height:48px;width:auto;display:block}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:10px 12px;text-decoration:none;font-weight:600;font-size:.93rem;color:var(--on-night-muted)}
.nav a:hover,.nav a.active{color:var(--on-night)}
.nav a.active{box-shadow:inset 0 -2px 0 var(--gold)}
.top-actions{display:flex;align-items:center;gap:10px}
.lang{display:flex;border:1px solid #333;border-radius:999px;overflow:hidden}
.lang button{background:none;border:0;color:var(--on-night-muted);font:700 .78rem/1 var(--font);padding:9px 11px;cursor:pointer;letter-spacing:.06em}
.lang button[aria-pressed="true"]{background:var(--gold);color:#111}
.tel-top{color:var(--on-night);text-decoration:none;font-weight:700;font-size:.92rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.burger{display:none;background:none;border:1px solid #333;color:var(--on-night);border-radius:8px;width:44px;height:44px;cursor:pointer}
.mnav{display:none}
@media (max-width:960px){
  .nav,.tel-top,.top-actions .btn{display:none}
  .burger{display:inline-flex;align-items:center;justify-content:center}
  .top-actions{margin-left:auto}
  .brand img{height:40px}
  .mnav.open{display:flex;flex-direction:column;padding:8px 20px 18px;gap:2px;background:var(--night);border-top:1px solid #1d1d20}
  .mnav a{color:var(--on-night);text-decoration:none;font-weight:600;padding:12px 0;border-bottom:1px solid #1d1d20}
}
.mbar{display:none}
@media (max-width:760px){
  .mbar{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--night);padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #222}
  .mbar .btn{padding:14px 10px}
  .mbar .btn-line{color:var(--on-night)}
  body{padding-bottom:76px}
}

.hero{position:relative;background:var(--night);color:var(--on-night);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(120% 90% at 85% 40%,#1b1b1f 0%,#000 60%)}
.hero .wrap{padding-block:72px 40px;display:grid;gap:26px}
.hero-text{max-width:620px;display:grid;gap:20px}
.hero-sub{font-size:1.08rem;color:#d4d5d9;max-width:52ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-ctas .btn-line{color:var(--on-night)}
.next{margin-top:18px;border-top:1px solid #222;padding-top:22px;display:grid;gap:12px;max-width:760px}
.next-head{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--on-night-muted);font-weight:600}
.pulse{width:9px;height:9px;border-radius:50%;background:#5BD08A;box-shadow:0 0 0 0 rgba(91,208,138,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(91,208,138,0)}100%{box-shadow:0 0 0 0 rgba(91,208,138,0)}}
.next-list{display:flex;flex-wrap:wrap;gap:10px}
.slotchip{background:#141416;border:1px solid #2a2a2e;color:var(--on-night);border-radius:12px;padding:10px 14px;text-align:left;cursor:pointer;font:600 .9rem/1.25 var(--font);display:grid;gap:2px}
.slotchip small{color:var(--on-night-muted);font-weight:600;font-size:.75rem}
.slotchip:hover{border-color:var(--gold)}
@media (max-width:760px){
  .hero .wrap{padding-block:48px 32px}
}

section.band{padding-block:72px}
.band.alt{background:var(--bg-alt)}
.band.tight{padding-block:48px}
.sec-head{display:grid;gap:12px;margin-bottom:34px;max-width:720px}
.sec-head p{color:var(--muted)}
.sec-foot{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}

/* seasonal banners */
.season{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.ban{position:relative;overflow:hidden;border-radius:14px;padding:24px;display:grid;gap:12px;align-content:start;background:var(--night);color:var(--on-night);min-width:0}
.ban.lead{background:linear-gradient(135deg,#1a160a 0%,#000 70%);border:1px solid #3a3115}
.ban .tag{justify-self:start;font:700 .7rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#111;background:var(--gold);padding:6px 9px;border-radius:999px}
.ban h3{font-size:1.25rem;font-weight:800}
.ban p{color:#cfd0d4;font-size:.95rem}
.ban .dates{display:grid;gap:6px;margin:4px 0;padding:12px 14px;border:1px solid #2c2c31;border-radius:10px;background:#0c0c0e;font-size:.88rem}
.ban .dates div{display:flex;justify-content:space-between;gap:12px}
.ban .dates b{color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.ban .src{font-size:.75rem;color:var(--on-night-muted)}
.ban .src a{color:var(--on-night-muted)}
.ban .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.ban .btn-line{color:var(--on-night)}
.ban .acts{align-items:center}
.ban .ghost{position:absolute;right:-18px;bottom:-18px;width:120px;height:120px;color:#ffffff10;pointer-events:none}

/* services */
/* Cartes de services : photo sombre en fond, texte en bas, flèche ronde ; au survol la photo s’éclaire */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.svc-grid{grid-template-columns:1fr}}
.svc{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:16px;aspect-ratio:4/5;padding:22px;border:1px solid #1f1f23;border-radius:var(--r);background:var(--night);color:var(--on-night);text-decoration:none;transition:border-color .35s,transform .35s,box-shadow .35s}
@media (max-width:520px){.svc{aspect-ratio:4/3}}
.svc-bg{position:absolute;inset:0;z-index:-1}
.svc-bg img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.85) brightness(.5);transform:scale(1.02);transition:filter .5s,transform .8s ease}
.svc-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.1) 35%,rgba(0,0,0,.88) 100%)}
.svc:hover,.svc:focus-visible{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.svc:hover .svc-bg img,.svc:focus-visible .svc-bg img{filter:grayscale(0) brightness(.72);transform:scale(1.07)}
.svc .ic{background:rgba(0,0,0,.55);color:var(--gold);border:1px solid rgba(225,192,92,.35);backdrop-filter:blur(4px)}
.svc-txt{display:grid;gap:6px;padding-right:52px}
.svc h3{font-size:1.15rem;font-weight:800;color:#fff;line-height:1.2}
.svc p{color:#cfd0d4;font-size:.88rem;line-height:1.45}
.svc-fl{position:absolute;right:20px;bottom:22px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.6);display:grid;place-items:center;color:#fff;transition:background .3s,border-color .3s,color .3s,transform .3s}
.svc-fl svg{display:block;width:18px;height:18px}
.svc:hover .svc-fl,.svc:focus-visible .svc-fl{background:var(--gold);border-color:var(--gold);color:#111;transform:translateX(3px)}
.ic{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;background:var(--chip);color:var(--gold-ink);flex:none}
.ic svg{width:24px;height:24px}
.svc-group{display:grid;gap:14px}
.svc-group+.svc-group{margin-top:36px}

.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.why div{display:grid;gap:8px;align-content:start;border-top:2px solid var(--gold);padding-top:16px}
.why p{color:var(--muted);font-size:.94rem}

/* reviews */
.rev-top{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-bottom:22px}
.gscore{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.gscore .g{font:800 1.4rem/1 var(--font);color:var(--fg)}
.stars{color:var(--gold-deep);letter-spacing:2px;font-size:1.05rem}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.rev{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:20px;display:grid;gap:10px;align-content:start}
.rev .who{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.92rem}
.rev .av{width:34px;height:34px;border-radius:50%;background:var(--chip);color:var(--gold-ink);display:grid;place-items:center;font-weight:800;font-size:.85rem}
.rev p{color:var(--muted);font-size:.94rem}
.rev .ex{font-size:.72rem;font-weight:700;color:var(--warn);text-transform:uppercase;letter-spacing:.08em}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;counter-reset:s}
.step{display:grid;gap:8px;align-content:start}
.step::before{counter-increment:s;content:counter(s);font:800 1rem/1 var(--font);width:40px;height:46px;display:grid;place-items:center;color:var(--gold-ink);background:url(/img/hex/hex-contour-or.svg) center/contain no-repeat}
.step p{color:var(--muted);font-size:.94rem}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:860px){.gal{grid-template-columns:repeat(2,1fr)}}
.gal figure{margin:0;display:grid;gap:8px;align-content:start;min-width:0}
.gal img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);display:block;background:var(--night)}
.gal figure.wide img{aspect-ratio:1/1}
.gal figcaption{font-size:.86rem;font-weight:600;color:var(--muted)}
.about-top{display:grid;grid-template-columns:1fr 260px;gap:36px;align-items:start}
@media (max-width:760px){.about-top{grid-template-columns:1fr}}
.cube{margin:0;display:grid;gap:8px}
.cube img{width:100%;max-width:260px;border-radius:var(--r);display:block}
.cube figcaption{font-size:.84rem;color:var(--muted)}
/* seasonal carousel */
.season-band{background:var(--night);color:var(--on-night);padding-block:52px 34px;overflow:hidden}
.season-head{display:grid;gap:10px;margin-bottom:26px}
.season-head h2{color:var(--on-night)}
.car{position:relative}
.car-track{display:grid}
.slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s;background:linear-gradient(110deg,#17140a 0%,#0a0a0b 55%,#000 100%);border-block:1px solid #2a2512}
.slide.on{opacity:1;visibility:visible}
.slide-in{display:grid;grid-template-columns:1.4fr 1fr;grid-template-areas:"txt side" "acts side";grid-template-rows:1fr auto;gap:22px 40px;padding-block:44px}
.slide-txt{grid-area:txt}.slide-side{grid-area:side}.slide .acts{grid-area:acts}
@media (max-width:860px){.slide-in{grid-template-columns:1fr;grid-template-areas:"txt" "side" "acts";grid-template-rows:auto auto 1fr;gap:20px;padding-block:32px}.slide .acts{align-self:end}}
.slide-txt{display:flex;flex-direction:column;gap:14px;align-items:flex-start;min-width:0}
.slide .tag{font:700 .72rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#111;background:var(--gold);padding:7px 10px;border-radius:999px}
.slide h3{font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:800;line-height:1.15;color:var(--on-night)}
.slide p{color:#d4d5d9;font-size:1.05rem;max-width:56ch}
.slide .src{font-size:.78rem;color:var(--on-night-muted)}
.slide .src a{color:var(--on-night-muted)}
.slide .acts{display:flex;flex-wrap:wrap;gap:12px;align-self:end}
.slide .btn-line{color:var(--on-night)}
.slide-side{display:flex;align-items:center;justify-content:center;min-width:0}
.slide .dates{width:100%;display:grid;gap:0;border:1px solid #2c2c31;border-radius:12px;background:#0c0c0e;overflow:hidden}
.slide .dates div{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #1f1f23;font-size:.98rem}
.slide .dates div:last-child{border-bottom:0}
.slide .dates b{color:var(--gold);font-size:1.15rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.big-ic{width:150px;height:150px;color:var(--gold);opacity:.85}
.big-ic svg{width:100%;height:100%;stroke-width:1.1}
@media (max-width:860px){.big-ic{display:none}}
.car-ctl{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px}
.dots{display:flex;gap:8px;align-items:center}
.dot{background:none;border:0;padding:10px 0;cursor:pointer}
.dot::before{content:"";display:block;width:10px;height:4px;border-radius:4px;background:#3a3a40}
.dot{position:relative;width:10px;transition:width .3s}
.dot.on{width:56px}
.dot.on::before{width:56px}
.dot i{position:absolute;left:0;top:10px;height:4px;border-radius:4px;background:var(--gold);width:0}
.arrows{display:flex;gap:8px}
.arr{width:46px;height:46px;border-radius:50%;border:1px solid #3a3a40;background:transparent;color:var(--on-night);font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding-bottom:3px}
.arr:hover{border-color:var(--gold);color:var(--gold)}
/* faq */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 18px}
.faq summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:700;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--gold-ink);flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px;color:var(--muted)}

.info{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:26px}
@media (max-width:860px){.info{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:16px;align-content:start;min-width:0}
.hours{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hours td{padding:9px 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:600}
.hours tr.today td{color:var(--gold-ink);font-weight:700}
.coord{display:grid;gap:12px}
.coord div{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start}
.coord svg{width:20px;height:20px;color:var(--gold-ink);margin-top:3px}
.copy{background:none;border:1px solid var(--line);color:var(--muted);border-radius:6px;font:600 .72rem/1 var(--font);padding:5px 8px;margin-left:8px;cursor:pointer;vertical-align:middle}

/* map */
.map{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/7;min-height:300px;max-width:100%;background:var(--map-land)}
.map svg.base{position:absolute;inset:0;width:100%;height:100%}
.map .pin{position:absolute;left:52%;top:44%;transform:translate(-50%,-100%);display:grid;justify-items:center;gap:4px}
.map .pin span{background:var(--night);color:var(--on-night);font:700 .78rem/1.2 var(--font);padding:7px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 4px 14px #0004}
.map .over{position:absolute;inset:auto 12px 12px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.84rem;color:var(--muted)}
.map .over strong{color:var(--fg)}

.phead{background:var(--night);color:var(--on-night);position:relative;overflow:hidden;isolation:isolate}
.phead::after{content:"";position:absolute;right:calc((max(20px,(100vw - 1180px) / 2 + 20px) + clamp(20px,3.2vw,56px)) / 2 + 4px);top:50%;width:150px;height:172px;transform:translateY(-50%);background:url(/img/hex/hex-contour-or.svg) center/contain no-repeat;opacity:.14;z-index:-1;pointer-events:none}
@media (max-width:760px){.phead::after{width:110px;height:126px;right:-34px}}
.phead .wrap{padding-block:46px 40px;display:grid;gap:12px}
.phead p{color:#d4d5d9;max-width:62ch}
.crumbs{font-size:.82rem;color:var(--on-night-muted)}
.crumbs a{color:var(--on-night-muted)}

/* detail */
.detail{display:grid;grid-template-columns:1.65fr 1fr;gap:32px;align-items:start}
@media (max-width:900px){.detail{grid-template-columns:1fr}}
.dmain{display:grid;gap:40px;min-width:0}
.dsec{display:grid;gap:14px}
.dsec h2{font-size:1.4rem}
/* Tableau « Nos recommandations » : deux colonnes, empilé sur téléphone */
.reco-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--chip);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);border-radius:var(--r);overflow:hidden}
.reco-table thead th{font:700 .72rem/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);text-align:left;padding:14px 18px;border-bottom:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}
.reco-table tbody th{font-weight:700;text-align:left;vertical-align:top;padding:16px 18px;width:32%;color:var(--fg)}
.reco-table tbody td{padding:16px 18px;color:var(--muted);vertical-align:top}
.reco-table tbody tr+tr>*{border-top:1px solid color-mix(in srgb,var(--gold) 22%,transparent)}
@media (max-width:600px){
  .reco-table thead{display:none}
  .reco-table,.reco-table tbody,.reco-table tr,.reco-table th,.reco-table td{display:block;width:auto}
  .reco-table tbody th{padding:16px 18px 4px;width:auto}
  .reco-table tbody td{padding:0 18px 16px}
  .reco-table tbody tr+tr>td{border-top:0}
}
.dphoto{margin:0;border-radius:var(--r);overflow:hidden;background:var(--night);aspect-ratio:16/9}
.dphoto img{width:100%;height:100%;object-fit:cover;display:block}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ticks li{display:grid;grid-template-columns:22px 1fr;gap:10px}
.ticks li::before{content:"";width:14px;height:16px;margin-top:5px;background:url(/img/hex/hex-plein-or.svg) center/contain no-repeat}
.warnlist li::before{background-image:url(/img/hex/hex-contour-or.svg)}
.side{position:sticky;top:calc(env(safe-area-inset-top,0px) + 132px);display:grid;gap:16px}
@media (max-width:900px){.side{position:static}}
.side .box{background:var(--night);color:var(--on-night);border-radius:var(--r);padding:22px;display:grid;gap:14px}
.side .box p{color:var(--on-night-muted);font-size:.92rem}
.side .box .ic{background:#1d1a0f;color:var(--gold);width:48px;height:54px;border-radius:0;-webkit-mask:url(/img/hex/hex-plein-noir.svg) center/contain no-repeat;mask:url(/img/hex/hex-plein-noir.svg) center/contain no-repeat}
.side .lst{display:grid;gap:4px}
.side .lst a{text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:.92rem;display:flex;justify-content:space-between}
.side .lst a:hover{color:var(--gold-ink)}

/* forms */
.form{display:grid;gap:16px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:14px}
@media (max-width:600px){.row,.row3{grid-template-columns:1fr}}
.fieldset-t{font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:6px;border-top:1px solid var(--line)}
label.f{display:grid;gap:6px;font-weight:600;font-size:.88rem;min-width:0}
label.f span.opt{font-weight:400;color:var(--muted)}
input,select,textarea{font:400 1rem/1.4 var(--font);color:var(--fg);background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:12px 13px;width:100%;min-width:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
/* Listes déroulantes : notre propre flèche, à 16 px du bord droit, et 44 px réservés à droite
   pour que le texte ne la touche jamais (texte trop long : « … »). 16 px de police : pas de zoom sur iPhone. */
select{-webkit-appearance:none;appearance:none;font-size:max(16px,1rem);background-image:var(--chevron);background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px;padding-right:44px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}
select:disabled{cursor:not-allowed;color:var(--muted);background-color:var(--bg-alt)}
.err{color:var(--bad);font-size:.84rem;font-weight:600}
.consent{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:.86rem;color:var(--muted)}
.consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--gold-deep)}
.consent a{color:var(--gold-ink)}
.ok-box{background:var(--ok-bg);color:var(--ok);border-radius:var(--r);padding:16px 18px;font-weight:600}
.note{background:var(--bg-alt);border-radius:10px;padding:14px 16px;font-size:.9rem;color:var(--muted)}
.demo{display:inline-flex;align-items:center;gap:8px;background:var(--warn-bg);color:var(--warn);font:700 .74rem/1.2 var(--font);letter-spacing:.04em;padding:7px 11px;border-radius:999px}

/* booking */
.book{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}
@media (max-width:960px){.book{grid-template-columns:1fr}}
.bstep{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:16px;min-width:0}
.bstep h3{display:flex;align-items:center;gap:12px;font-size:1.02rem}
.bstep h3 b{font:800 .85rem/1 var(--font);width:30px;height:34px;display:grid;place-items:center;padding-top:1px;background:url(/img/hex/hex-contour-or.svg) center/contain no-repeat,var(--night);color:var(--gold);-webkit-mask:url(/img/hex/hex-plein-noir.svg) center/contain no-repeat;mask:url(/img/hex/hex-plein-noir.svg) center/contain no-repeat;flex:none}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.check{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:8px;padding:11px 12px;cursor:pointer;font-size:.92rem;font-weight:600;user-select:none}
.check input{width:18px;height:18px;accent-color:var(--gold-deep);flex:none}
.check:has(input:checked){border-color:var(--gold);background:var(--chip)}
.check.other{border-style:dashed}
.modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:600px){.modes{grid-template-columns:1fr}}
.mode{border:1.5px solid var(--line);border-radius:10px;padding:14px;cursor:pointer;display:grid;grid-template-columns:20px 1fr;gap:4px 10px;align-items:start}
.mode input{margin-top:4px;accent-color:var(--gold-deep)}
.mode small{grid-column:2;color:var(--muted);font-size:.84rem}
.mode:has(input:checked){border-color:var(--gold);background:var(--chip)}
.mode.off{opacity:.5;cursor:not-allowed}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.day{flex:none;scroll-snap-align:start;width:76px;border:1.5px solid var(--line);border-radius:10px;padding:10px 6px;text-align:center;cursor:pointer;background:var(--surface);color:var(--fg);font:600 .8rem/1.25 var(--font);display:grid;gap:2px}
.day b{font:800 1.25rem/1.1 var(--font)}
.day small{font-size:.7rem;color:var(--muted)}
.day[aria-pressed="true"]{border-color:var(--gold);background:var(--chip)}
.day[disabled]{opacity:.4;cursor:not-allowed}
.day .dot{justify-self:center;width:6px;height:6px;border-radius:50%;background:var(--ok)}
.day .dot.low{background:var(--warn)}.day .dot.none{background:var(--bad)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.slot{border:1.5px solid var(--line);border-radius:10px;padding:11px 10px;background:var(--surface);color:var(--fg);cursor:pointer;text-align:left;display:grid;gap:3px;font:700 1.05rem/1.2 var(--font);font-variant-numeric:tabular-nums}
.slot small{font-weight:600;font-size:.74rem}
.slot .s2{color:var(--ok)}.slot .s1{color:var(--warn)}.slot .s0{color:var(--bad)}
.slot[aria-pressed="true"]{border-color:var(--gold);background:var(--chip)}
.slot[disabled]{cursor:not-allowed;opacity:.55;background:var(--bg-alt)}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.8rem;color:var(--muted)}
.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}
.summary{position:sticky;top:calc(env(safe-area-inset-top,0px) + 132px);background:var(--night);color:var(--on-night);border-radius:var(--r);padding:22px;display:grid;gap:14px}
.summary dl{margin:0;display:grid;gap:10px}
.summary dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-night-muted);font-weight:700}
.summary dd{margin:0;font-weight:600}
.summary .muted{color:var(--on-night-muted);font-weight:400}
@media (max-width:960px){.summary{position:static}}
.dl-light dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.dl-light dd{margin:0;font-weight:600}
.dl-light{margin:0;display:grid;gap:10px}

/* admin */
.atable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:560px}
.atable th{text-align:left;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
.atable td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
.pill{display:inline-block;font:700 .76rem/1 var(--font);padding:6px 10px;border-radius:999px}
.p-ok{background:var(--ok-bg);color:var(--ok)}.p-low{background:var(--warn-bg);color:var(--warn)}.p-full{background:var(--bad-bg);color:var(--bad)}
.mini{background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:8px;font:700 .8rem/1 var(--font);padding:8px 10px;cursor:pointer}
.mini:hover{border-color:var(--gold)}
.mini[disabled]{opacity:.4;cursor:not-allowed}
.scroll{overflow-x:auto}

/* legal */
.legal{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start}
@media (max-width:860px){.legal{grid-template-columns:1fr}}
.legal nav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 132px);display:grid;gap:6px;font-size:.88rem}
@media (max-width:860px){.legal nav{position:static}}
.legal nav a{text-decoration:none;color:var(--muted)}
.legal nav a:hover{color:var(--gold-ink)}
.legal article{display:grid;gap:30px;max-width:72ch;min-width:0}
.legal article section{display:grid;gap:10px;scroll-margin-top:140px}
.legal article h2{font-size:1.25rem}
.legal ul{margin:0;padding-left:20px;display:grid;gap:6px}
.ph{background:var(--warn-bg);color:var(--warn);padding:1px 6px;border-radius:4px;font-weight:600}

/* cookie banner */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #0006;padding:20px;display:grid;gap:14px}
@media (max-width:760px){.cookie{bottom:calc(84px + env(safe-area-inset-bottom,0px));left:12px;right:12px}}
.cookie h4{font-size:1rem}
.cookie p{font-size:.88rem;color:var(--muted)}
.cookie p a{color:var(--gold-ink)}
.cookie .acts{display:flex;flex-wrap:wrap;gap:8px}
.cookie .acts .btn{flex:1 1 auto}
.ck-opt{display:grid;gap:10px}
.ck-row{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.ck-row small{color:var(--muted);font-size:.8rem;grid-column:1}
.switch{position:relative;width:44px;height:26px;grid-row:span 2}
.switch input{opacity:0;width:100%;height:100%;position:absolute;inset:0;margin:0;cursor:pointer}
.switch i{position:absolute;inset:0;background:var(--line);border-radius:999px;transition:background .15s;pointer-events:none}
.switch i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.switch input:checked+i{background:var(--gold-deep)}
.switch input:checked+i::after{transform:translateX(18px)}
.switch input:disabled+i{opacity:.6}
.switch input:focus-visible+i{outline:3px solid var(--gold);outline-offset:2px}

footer{background:var(--night);color:var(--on-night-muted);font-size:.9rem}
footer .wrap{padding-block:52px 28px;display:grid;gap:30px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}}
footer h4{color:var(--on-night);font:800 .78rem/1 var(--font);letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{text-decoration:none}
footer a:hover{color:var(--gold)}
footer button.link{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left}
footer button.link:hover{color:var(--gold)}
.fbottom{border-top:1px solid #1f1f22;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;font-size:.8rem}
.fbottom div{display:flex;flex-wrap:wrap;gap:8px 18px}

/* Ajouts pour le site réel */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--gold);color:#111;padding:10px 14px;border-radius:8px;font-weight:700}
.skip:focus{left:8px}
.lang a{color:var(--on-night-muted);font:700 .78rem/1 var(--font);padding:9px 11px;letter-spacing:.06em;text-decoration:none;display:block}
.lang a[aria-current="true"]{background:var(--gold);color:#111}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.next-list:empty::before{content:"…";color:var(--on-night-muted)}
.car-track[hidden]{display:none}
.notice{background:var(--warn-bg);color:var(--warn);border-radius:var(--r);padding:14px 16px;font-weight:600;font-size:.92rem}
.notfound{display:grid;gap:18px;justify-items:start;padding-block:40px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
fieldset.bstep{margin:0;min-inline-size:0}
.h-etape{display:flex;align-items:center;gap:12px;font-size:1.02rem;font-weight:700;letter-spacing:-.005em}
.h-etape b{font:800 .85rem/1 var(--font);width:30px;height:34px;display:grid;place-items:center;padding-top:1px;background:url(/img/hex/hex-contour-or.svg) center/contain no-repeat,var(--night);color:var(--gold);-webkit-mask:url(/img/hex/hex-plein-noir.svg) center/contain no-repeat;mask:url(/img/hex/hex-plein-noir.svg) center/contain no-repeat;flex:none}
.h-groupe{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.car[hidden]{display:none}
.hours tr.today td{color:var(--gold-ink);font-weight:700}
.slotchip{text-decoration:none}
[hidden]{display:none!important}
.day .pt{justify-self:center;width:6px;height:6px;border-radius:50%;background:var(--ok)}
.day .pt.low{background:var(--warn)}.day .pt.none{background:var(--bad)}

/* Carrousel : photo de fond assombrie, léger zoom au survol */
.slide{position:relative;overflow:hidden;isolation:isolate}
.slide-bg{position:absolute;inset:0;z-index:-1}
.slide-bg img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform 1.2s ease}
.slide-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.78) 42%,rgba(0,0,0,.45) 100%),linear-gradient(0deg,rgba(0,0,0,.55) 0%,transparent 45%)}
.slide.avec-photo .slide-in{min-height:440px}
.car:hover .slide.on .slide-bg img{transform:scale(1.05)}
.slide.avec-photo .dates{background:rgba(8,8,10,.72);backdrop-filter:blur(4px);border-color:rgba(225,192,92,.28)}
.car .slide.avec-photo{border-block:1px solid rgba(225,192,92,.22);transition:opacity .5s ease,visibility .5s,border-color .4s}
.car:hover .slide.avec-photo.on{border-color:rgba(225,192,92,.55)}
@media (max-width:860px){.slide-bg::after{background:rgba(0,0,0,.74)}.slide.avec-photo .slide-in{min-height:0}}

/* Barre de navigation : pleine largeur, logo à gauche, menu au centre, actions à droite (langue en dernier) */
.top .wrap{max-width:none;padding-inline:clamp(20px,3.2vw,56px);gap:clamp(16px,2.4vw,40px)}
.top .nav{margin-inline:auto;gap:clamp(2px,1vw,18px)}
.top-actions{gap:clamp(12px,1.4vw,22px)}
@media (max-width:960px){.top .nav{margin-inline:0}}

/* En-tête plus haut (14 px de plus en haut et en bas) et logo plus grand */
.top .wrap{padding-block:26px}
.brand{flex:none;display:block}
.brand img{height:60px}
.flogo{height:52px;width:auto;display:block}
.top .nav a{white-space:nowrap}
@media (max-width:1300px){.top .nav a{padding-inline:8px}}

/* En-tête mobile et tablette : logo, bouton FR/EN et menu seulement.
   Le téléphone est dans le menu et dans la barre « Appeler » au bas de l’écran. */
@media (max-width:1199px){
  .nav,.tel-top,.top-actions .btn{display:none}
  .burger{display:inline-flex;align-items:center;justify-content:center;flex:none}
  .top-actions{margin-left:auto}
  .brand img{height:clamp(36px,10vw,50px)}
  .top .wrap{padding-block:16px;min-height:0;gap:12px}
  .mnav.open{display:flex;flex-direction:column;padding:8px clamp(20px,3.2vw,56px) 18px;gap:2px;background:var(--night);border-top:1px solid #1d1d20}
  .mnav a{color:var(--on-night);text-decoration:none;font-weight:600;padding:12px 0;border-bottom:1px solid #1d1d20}
  .mnav .mnav-tel{display:flex;align-items:center;gap:10px;color:var(--gold);border-bottom:0}
}
@media (max-width:420px){.top-actions .lang{display:none}}

/* Avis Google (vrais avis, texte du client tel quel) */
.rev-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin-bottom:6px}
figure.rev{display:flex;flex-direction:column;margin:0;border:1px solid var(--line);border-top:3px solid var(--gold);gap:12px;min-width:0}
.rev blockquote{margin:0}
.rev blockquote p{color:var(--fg);font-size:.98rem;overflow-wrap:anywhere}
.rev figcaption{display:grid;gap:2px;margin-top:auto;font-size:.88rem}
.rev figcaption span{color:var(--muted);font-size:.8rem}
.rev .stars{color:var(--gold-deep);letter-spacing:3px;font-size:1.1rem;line-height:1}
/* Deux sections dans la même bande (avis / pourquoi nous choisir ; présentation / valeurs) : espace et filet entre les deux */
.sec-separe{margin-top:72px;padding-top:56px;border-top:1px solid var(--line)}
@media (max-width:600px){.sec-separe{margin-top:48px;padding-top:40px}}

/* Heures à gauche ; adresse et « Nous joindre » empilées à droite, pour des colonnes de même hauteur. */
.infos3{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.infos3 .card{display:flex;flex-direction:column;gap:16px}
.infos3 .card:first-child{grid-row:span 2}
.infos3 .card-bas{margin-top:auto;align-self:flex-start}
@media (max-width:640px){.infos3{grid-template-columns:1fr}.infos3 .card:first-child{grid-row:auto}}
.coord span{min-width:0;overflow-wrap:anywhere}

/* ---------- Confirmation du rendez-vous ---------- */
.conf{max-width:760px}
.conf-dl{margin:0;display:grid;gap:12px}
.conf-dl dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.conf-dl dd{margin:2px 0 0;font-weight:600}
.conf-actions{display:flex;flex-wrap:wrap;gap:12px}
.cf-turnstile{max-width:100%}
.cf-turnstile:empty{display:none}

/* ---------- Espace Gestion (écran du garage) ---------- */
.gestion .top .wrap{padding-block:16px}
.gestion .brand img{height:44px}
.gestion .top-actions{margin-left:auto}
.gestion .top-actions .btn{display:inline-flex}
.g-titre{font-weight:700;color:var(--gold);white-space:nowrap}
.g-connexion{max-width:440px}
.g-zone{display:grid;gap:20px}
.g-onglets{display:flex;gap:8px;border-bottom:1px solid var(--line)}
.g-onglet{background:none;border:0;border-bottom:3px solid transparent;padding:10px 14px;font:700 .95rem/1 var(--font);color:var(--muted);cursor:pointer}
.g-onglet[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--gold)}
.g-compte{font-weight:700;color:var(--fg)!important}
.g-compte.ferme{color:var(--bad)!important}
.g-tete{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.g-boutons{display:flex;gap:6px;flex-wrap:wrap}
.g-depots{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:16px}
.g-nombre{font:800 1.2rem/1 var(--font);min-width:24px;text-align:center}
.g-aide{color:var(--muted);font-size:.88rem}
.g-sous-titre{font-size:1.15rem;margin-top:8px}
.g-liste{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.g-rdv{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--r);padding:16px 18px;display:grid;gap:6px;align-content:start;min-width:0;overflow-wrap:anywhere}
.g-rdv.lu{border-left-color:var(--line);opacity:.8}
.g-rdv-tete{display:flex;justify-content:space-between;align-items:center;gap:10px}
.g-rdv-nom{font-weight:700;font-size:1.05rem}
.g-etiquette{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.g-texte{white-space:pre-wrap;background:var(--bg-alt);border-radius:8px;padding:10px 12px;font-size:.92rem}
@media (max-width:640px){
  .g-titre{display:none}
  .gestion .top-actions .btn-line{display:none}
}
.g-zone>*,#g-journee{min-width:0}
#g-journee{display:grid;gap:16px}
/* Gestion sur téléphone : chaque heure devient un bloc (heure et état, puis les nombres, puis les boutons). */
@media (max-width:640px){
  .gestion .atable{min-width:0}
  .gestion .atable thead{display:none}
  .gestion .atable tr{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 12px;padding:14px 0;border-bottom:1px solid var(--line)}
  .gestion .atable td{padding:0;border:0}
  .gestion .atable td:nth-child(1){grid-row:1;grid-column:1/3;font-size:1.05rem}
  .gestion .atable td:nth-child(5){grid-row:1;grid-column:3;justify-self:end}
  .gestion .atable td:nth-child(2),.gestion .atable td:nth-child(3),.gestion .atable td:nth-child(4){grid-row:2;font-weight:700}
  .gestion .atable td[data-l]::before{content:attr(data-l);display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
  .gestion .atable td:nth-child(6){grid-row:3;grid-column:1/-1}
  .g-depots strong{flex-basis:100%}
}
@media (max-width:400px){
  .gestion .brand img{height:30px}
  .gestion .top .wrap{gap:10px;padding-inline:16px}
  .gestion .top-actions .btn{padding:9px 12px;font-size:.82rem}
}

/* ---------- Gestion : comptes, onglets façon app, guide ---------- */
.g-qui{font-size:.82rem;font-weight:700;color:var(--on-night-muted);white-space:nowrap}
.g-onglet{display:inline-flex;align-items:center;gap:8px}
.g-onglet b{background:var(--gold);color:#000;border-radius:999px;font-size:.72rem;min-width:20px;padding:3px 6px;text-align:center}
.g-onglet b:empty{display:none}
.g-panneau{display:grid;gap:16px;min-width:0}
.g-panneau[hidden]{display:none}
.g-jours-tete{min-width:0}
.g-rdv.depot{border-left-color:#1F8A8A}
.g-rdv-heure{font-size:1.1rem}
.g-histo{min-width:520px}
.g-histo td{font-size:.9rem}
.g-comptes{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.g-comptes legend{font-weight:600;margin-bottom:8px}
.g-compte-choix{display:block;cursor:pointer;position:relative}
.g-compte-choix input{position:absolute;opacity:0;width:1px;height:1px;inset:0;margin:0}
.g-compte-choix span{display:block;text-align:center;border:1.5px solid var(--line);border-radius:10px;padding:12px;font-weight:700}
.g-compte-choix input:checked+span{border-color:var(--gold);background:var(--chip)}
.g-compte-choix input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.g-lien-guide{justify-self:start;font-size:.9rem;color:var(--gold-ink)}
@media (max-width:640px){
  /* Onglets en barre fixe en bas de l’écran, comme une app. */
  .gestion main{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .g-onglets{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--night);border:0;border-top:1px solid #1d1d20;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
  .g-onglet{flex-direction:column;gap:3px;color:var(--on-night-muted);border:0;padding:6px 2px;font-size:.72rem;position:relative}
  .g-onglet[aria-selected="true"]{color:var(--gold)}
  .g-onglet b{position:absolute;top:2px;left:calc(50% + 6px)}
  .gestion .mini{min-height:42px;padding:10px 12px}
  .g-qui{display:none}
}
.guide{max-width:820px}
.guide h1{font-size:clamp(1.6rem,4vw,2.2rem)}
.guide-intro{color:var(--muted)}
.guide-alerte{background:var(--warn-bg);color:var(--fg);border-left:4px solid var(--warn);border-radius:var(--r);padding:14px 16px;margin:16px 0}
.guide-etapes{padding-left:1.4em;display:grid;gap:14px;margin:0}
.guide-etapes h2{font-size:1.08rem;margin-bottom:4px}
.guide-etapes p{margin:4px 0}
.guide-astuce{font-size:.9rem;color:var(--muted)}
.guide-pied{font-size:.92rem;color:var(--muted);margin-top:16px}
.guide-imprimer{display:flex;gap:10px;flex-wrap:wrap}
@media print{
  @page{size:letter;margin:12mm}
  .gestion .top,.guide-imprimer{display:none}
  .band.tight{padding:0}
  .guide{max-width:none;font-size:10pt;line-height:1.35}
  .guide h1{font-size:17pt;margin:0}
  .guide-etapes{gap:6px}
  .guide-etapes h2{font-size:11pt}
  .guide-astuce,.guide-pied{font-size:9pt}
  .guide-alerte{background:#fff;border:1.5px solid #000;padding:8px 10px;margin:8px 0}
  body{background:#fff;color:#000}
}
@media (max-width:640px){
  .gestion .g-histo tr{grid-template-columns:1fr;gap:2px}
  .gestion .g-histo td:nth-child(1){grid-row:1;grid-column:1;font-size:.8rem;color:var(--muted)}
  .gestion .g-histo td:nth-child(2){grid-row:2;grid-column:1;font-size:.8rem;font-weight:700;color:var(--gold-ink)}
  .gestion .g-histo td:nth-child(3){grid-row:3;grid-column:1;font-weight:400}
}

/* ---------- Hero : carte hexagonale à deux faces qui tourne comme une pièce ----------
   Recto 5 s, demi-tour (1,2 s), verso 5 s, demi-tour : une face différente environ toutes les 6 s.
   Pause au survol. Si le visiteur a réduit les animations, seul le recto est affiché (règle plus haut). */
.hero .wrap{grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(24px,5vw,72px);align-items:center}
.hero-text,.hero .next{grid-column:1}
.piece{grid-column:2;grid-row:1/span 2;width:clamp(220px,30vw,400px);perspective:1600px}
.piece-in{position:relative;transform-style:preserve-3d;animation:piece 12.4s ease-in-out infinite}
.piece:hover .piece-in{animation-play-state:paused}
.piece-face{display:block;width:100%;height:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;filter:drop-shadow(0 20px 36px rgba(0,0,0,.65))}
.piece-verso{position:absolute;inset:0;transform:rotateY(180deg)}
@keyframes piece{0%,40.3%{transform:rotateY(0)}50%,90.3%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}}
@media (max-width:700px){
  .hero .wrap{grid-template-columns:minmax(0,1fr)}
  .piece{grid-column:1;grid-row:auto;justify-self:center;width:min(62vw,280px);margin-block:4px}
}

/* ---------- À propos : texte de présentation et photo du bâtiment ---------- */
.apropos-haut{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(28px,4vw,56px);align-items:start}
.apropos-photo{margin:0;border-radius:var(--r);overflow:hidden;background:var(--bg-alt)}
.apropos-photo img{display:block;width:100%;height:auto}
@media (max-width:860px){.apropos-haut{grid-template-columns:minmax(0,1fr)}}

.summary-logo{display:block;width:44px;height:auto}

/* Mention de l’agence, tout en bas du pied de page */
.credit{margin:-14px 0 0;font-size:.72rem;color:#8a8c95;text-align:center}
.credit a{color:var(--on-night-muted);text-decoration:underline;text-underline-offset:2px}

/* ---------- « À la une » sur fond or : séparation nette avec le hero noir ----------
   Le titre et les commandes passent en noir ; les cartes du carrousel restent sombres. */
.season-band{background:var(--gold);color:#111}
.season-band .eyebrow,.season-head h2{color:#111}
.season-band .eyebrow::before{background:#111}
.season-band .slide{color:var(--on-night);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.season-band .dot::before{background:rgba(0,0,0,.25)}
.season-band .dot i{background:#111}
.season-band .arr{border-color:rgba(0,0,0,.45);color:#111}
.season-band .arr:hover{background:#111;border-color:#111;color:var(--gold)}
.season-band :focus-visible{outline-color:#111}

/* ---------- À propos : nid d’hexagones sous le texte (décoratif) ---------- */
.apropos-haut{grid-template-columns:minmax(0,1fr) minmax(0,460px)}
.apropos-texte{display:flex;flex-direction:column;gap:32px;align-self:stretch}
.apropos-deco{margin-top:auto;width:100%;max-width:420px;height:auto;display:block;color:var(--gold)}
@media (max-width:860px){.apropos-deco{display:none}}

/* ---------- Carrousel « À la une » : dans la largeur du contenu, cartes qui glissent ----------
   La carte suivante dépasse à droite (--peek) ; un clic dessus l’affiche. Plus de flèches. */
.car{--peek:72px;--ecart:16px}
@media (max-width:600px){.car{--peek:36px;--ecart:10px}}
.car-vue{overflow:hidden;border-radius:14px}
.car .car-track{display:flex;gap:var(--ecart);transition:transform .7s cubic-bezier(.22,.61,.36,1);will-change:transform}
.car .slide{grid-area:auto;flex:0 0 calc(100% - var(--peek));opacity:1;visibility:visible;border:1px solid rgba(225,192,92,.22);border-radius:14px;box-shadow:none;transition:opacity .5s ease,border-color .4s}
.car .slide:not(.on){cursor:pointer}
.car .slide::after{content:"";position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .5s ease}
.car .slide:not(.on)::after{opacity:.45}
.car .slide:not(.on):hover::after{opacity:.2}
.car .slide.avec-photo{border:1px solid rgba(225,192,92,.22)}
.car .slide{display:flex;flex-direction:column}
.car .slide-in{flex:1;padding:44px clamp(22px,4vw,48px)}
@media (max-width:860px){.car .slide-in{padding:30px 22px}}
.car-ctl{padding-top:22px}
/* Étiquettes du carrousel en rouge vif, pour ne pas se confondre avec le bouton or « Prendre rendez-vous » */
.car .slide .tag{background:#E0201B;color:#fff}

/* ---------- Cartes de services, version compacte ----------
   3 colonnes sur ordinateur, 2 sur tablette, 1 sur téléphone. Zone de titre de 2 lignes et
   zone de description de 3 lignes : les textes commencent à la même hauteur dans chaque rangée. */
.svc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.svc-grid{grid-template-columns:minmax(0,1fr);gap:14px}}
.svc{aspect-ratio:auto;justify-content:flex-start;gap:0;padding:20px 22px 18px}
@media (max-width:520px){.svc{aspect-ratio:auto}}
.svc .ic{margin-bottom:clamp(56px,7vw,92px)}
@media (max-width:600px){.svc .ic{margin-bottom:44px}}
.svc-bg img{filter:grayscale(.45) brightness(.82)}
.svc-bg::after{background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.35) 28%,rgba(0,0,0,.86) 52%,rgba(0,0,0,.94) 100%)}
.svc:hover .svc-bg img,.svc:focus-visible .svc-bg img{filter:grayscale(0) brightness(.95);transform:scale(1.04)}
.svc:hover,.svc:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.28)}
.svc:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:var(--r)}
.svc-txt{padding-right:0;gap:8px}
.svc h3{min-height:2.4em;display:flex;align-items:flex-end}
.svc p{min-height:calc(3 * 1.45em)}
.svc-pied{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);font-size:.86rem;font-weight:700;color:#e6e6e3}
.svc-fl{position:static;flex:none;width:36px;height:36px}
.svc:hover .svc-pied,.svc:focus-visible .svc-pied{color:var(--gold)}
@media (max-width:600px){.svc h3,.svc p{min-height:0}.svc .ic{margin-bottom:36px}.svc-pied{margin-top:12px;padding-top:10px}}

/* En-têtes des pages intérieures : titre or, sans hexagone décoratif, un peu d’air sous le titre */
.phead::after{content:none}
.phead h1{color:var(--gold)}
.phead .wrap{gap:12px}
.phead h1+p{margin-top:8px}

/* Hero : « Roulez l’esprit tranquille, » toujours sur une seule ligne (tablette et ordinateur).
   La taille du titre s’adapte à la largeur de la colonne de texte (≈ 13 fois la taille de la police). */
@media (min-width:701px){
  .hero-text{max-width:760px;container-type:inline-size}
  .hero h1{font-size:min(3.3rem,calc(100cqi / 13.4));text-wrap:wrap}
  .hero .h1-l1{white-space:nowrap}
  .hero h1 .gold{display:block;text-wrap:balance}
}

/* Menu mobile et tablette en plein écran : il couvre toute la page sous la barre du haut,
   qui reste visible avec le bouton pour fermer. La page derrière ne défile plus. */
@media (max-width:1199px){
  .top .wrap{position:relative;z-index:2;background:var(--night)}
  .mnav.open{position:fixed;inset:0;z-index:1;overflow-y:auto;padding:calc(var(--haut-entete,80px) + 12px) clamp(20px,6vw,56px) calc(32px + env(safe-area-inset-bottom,0px));gap:0;border:0}
  .mnav.open a{font-size:1.35rem;font-weight:700;padding:18px 0}
  .mnav.open .mnav-tel{margin-top:18px;font-size:1.15rem}
  body.menu-ouvert{overflow:hidden}
  body.menu-ouvert .mbar{display:none}
}
.burger .i-fermer{display:none}
.burger[aria-expanded="true"] .i-menu{display:none}
.burger[aria-expanded="true"] .i-fermer{display:block}
.side .box .box-btn{margin-top:10px}
/* Pages de service : le tableau et les questions (boîtes encadrées) commencent à la même distance
   visuelle du titre que les paragraphes (le texte a un petit espace naturel au-dessus des lettres). */
.dsec>.reco-table,.dsec>.faq{margin-top:8px}
/* Cartes de services sans icône : l’espace du haut laisse voir la photo */
.svc{padding-top:clamp(100px,11vw,136px)}
@media (max-width:600px){.svc{padding-top:84px}}
.g-alerte-courriel{margin-top:8px;padding:8px 12px;border-radius:8px;border:1px solid var(--bad);background:var(--bad-bg);font-size:.88rem}
