/* Au Village du Chiot — V3 (Studio Bellil) */
:root{
  --bg:#FFFFFF; --ink:#15130F; --mute:#5E6A62; --line:#E2E8E2;
  --soleil:#8A4B25; --soleil-deep:#6E3A1B; --sable:#EEF3EE;
  --gazon:#3E7A3A; --gazon-soft:#EDF3E6; --ciel:#EEF1F4;
  --r:12px; --r-s:8px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --ff-t:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ff-b:-apple-system,'Segoe UI',Roboto,Arial,sans-serif; --ff-h:'Caveat',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
html.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--bg);color:var(--ink);font-family:var(--ff-b);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,.t{font-family:var(--ff-t);font-weight:800;letter-spacing:-.03em;line-height:1}
h2{font-size:clamp(38px,5.6vw,76px)}
h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em;line-height:1.05}
.wrap{width:min(1240px,calc(100% - 40px));margin:0 auto}
.k{font-family:var(--ff-b);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.k b{color:var(--ink)}
.lead{font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:#3B3730;max-width:60ch}
.sec{padding:clamp(72px,10vw,140px) 0}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.sec-head .lead{justify-self:end;max-width:44ch}
@media(max-width:860px){.sec-head{grid-template-columns:1fr}.sec-head .lead{justify-self:start}}

/* mots qui montent (split) */
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.w>span{display:inline-block;transform:translateY(110%);will-change:transform}
.rv{opacity:0;transform:translateY(28px)}

/* boutons */
.btn{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 26px;border-radius:var(--r);font-weight:700;font-size:15px;letter-spacing:-.01em;transition:transform .5s var(--ease),background .3s,color .3s,box-shadow .5s var(--ease);position:relative;white-space:nowrap}
.btn-y{background:var(--soleil);color:#fff;box-shadow:0 10px 30px -14px rgba(138,75,37,.7)}
.btn-y:hover{transform:translateY(-2px);background:#6E3A1B;box-shadow:0 18px 40px -16px rgba(138,75,37,.9)}
.btn-k{background:var(--ink);color:#fff}
.btn-k:hover{transform:translateY(-2px);background:#000}
.btn-w{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn-w:hover{border-color:var(--ink);transform:translateY(-2px)}
.btn svg{width:18px;height:18px;flex:none}
.btn .ar{transition:transform .5s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}

/* loader */
.ldx{position:fixed;inset:0;z-index:2000;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}
.ldx .t{font-size:clamp(28px,5vw,56px)}
.ldx .t .w>span{transform:translateY(110%)}
.ldx .ln{width:120px;height:3px;background:var(--line);border-radius:2px;overflow:hidden}
.ldx .ln i{display:block;height:100%;width:0;background:var(--soleil)}
.ldx.off{pointer-events:none}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:900;transition:transform .5s var(--ease),background .4s,box-shadow .4s;padding:14px 0}
.nav.hide-nav{transform:translateY(-100%)}
.nav.solid{background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav .logo{display:flex;align-items:center;gap:12px;font-family:var(--ff-t);font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff;transition:color .4s}
.nav .logo img{height:44px;width:44px;object-fit:contain;background:#fff;border-radius:50%;padding:4px}
.nav.solid .logo,.nav.dark .logo{color:var(--ink)}
.nav ul{display:flex;gap:6px;list-style:none}
.nav ul a{display:block;padding:10px 14px;border-radius:var(--r-s);font-weight:600;font-size:14px;color:#fff;transition:color .4s,background .3s}
.nav.solid ul a,.nav.dark ul a{color:var(--ink)}
.nav ul a:hover{background:rgba(0,0,0,.06)}
.nav .btn{height:46px;padding:0 20px;font-size:14px}
.nav .burger{display:none;width:46px;height:46px;border-radius:var(--r-s);align-items:center;justify-content:center;background:#fff;color:var(--ink)}
.nav .burger span{width:20px;height:2px;background:currentColor;display:block;position:relative}
.nav .burger span::before,.nav .burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;transition:transform .4s var(--ease)}
.nav .burger span::before{top:-6px}.nav .burger span::after{top:6px}
.drawer{position:fixed;inset:0;z-index:950;background:#fff;display:none;flex-direction:column;padding:100px 24px 30px;gap:6px}
.drawer.open{display:flex}
.drawer a{font-family:var(--ff-t);font-size:36px;font-weight:800;letter-spacing:-.03em;padding:10px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(16px)}
.drawer .btn{margin-top:auto;justify-content:center}
.drawer .x{position:absolute;top:18px;right:20px;width:46px;height:46px;border-radius:var(--r-s);background:var(--ink);color:#fff;font-size:22px}
@media(max-width:960px){.nav ul,.nav .btn-nav{display:none}.nav .burger{display:flex}}

/* hero */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0;clip-path:inset(40% 30% 40% 30% round 16px);will-change:clip-path}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(1.18);will-change:transform}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.66) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.12) 100%)}
.hero-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(36px,6vh,72px);color:#fff}
.hero h1{font-size:clamp(52px,9.6vw,150px);letter-spacing:-.045em;line-height:.9;max-width:11ch}
.hero .lead{color:rgba(255,255,255,.9);max-width:48ch;margin-top:22px;font-size:clamp(16px,1.45vw,20px)}
.hero-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:30px}
.pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.pill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28);font-size:13px;font-weight:600}
.pill i{width:8px;height:8px;border-radius:50%;background:#FFC93C;display:inline-block}
.cue{position:absolute;right:max(20px,calc((100% - 1240px)/2));bottom:36px;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.cue i{width:1px;height:44px;background:rgba(255,255,255,.5);position:relative;overflow:hidden;display:block}
.cue i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:#fff;animation:cue 1.8s var(--ease) infinite}
@keyframes cue{to{top:100%}}
@media(max-width:700px){.cue{display:none}.hero h1{font-size:clamp(46px,14vw,90px)}.hero-in{padding-bottom:28px}}

/* faits */
.faits{border-bottom:1px solid var(--line)}
.faits .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.fait{padding:34px 0;border-left:1px solid var(--line);padding-left:26px}
.fait:first-child{border-left:0;padding-left:0}
.fait .n{font-family:var(--ff-t);font-weight:800;font-size:clamp(36px,4.4vw,60px);letter-spacing:-.04em;line-height:1}
.fait .n small{font-size:.45em;letter-spacing:-.01em;margin-left:4px}
.fait p{color:var(--mute);font-size:14px;margin-top:6px}
@media(max-width:860px){.faits .wrap{grid-template-columns:1fr 1fr}.fait{padding:22px 0 22px 18px}.fait:nth-child(3){border-left:0;padding-left:0}}

/* le séjour en 3 temps (pinned) */
.temps{background:var(--bg)}
.temps-pin{height:100vh;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}
.temps-txt{position:relative;min-height:320px}
.chap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;pointer-events:none}
.chap .k{margin-bottom:18px}
.chap h3{font-size:clamp(34px,4.6vw,64px);letter-spacing:-.035em;line-height:.95;margin-bottom:18px}
.chap p{font-size:clamp(16px,1.35vw,19px);color:#3B3730;max-width:44ch}
.chap .h{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:13px;font-weight:700;color:var(--gazon);background:var(--gazon-soft);padding:8px 12px;border-radius:var(--r-s)}
.temps-img{position:relative;height:min(78vh,720px);border-radius:var(--r);overflow:hidden;background:#EEE}
.temps-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 100% 0);will-change:clip-path,transform}
.temps-img img:first-of-type{clip-path:inset(0)}
.temps-num{position:absolute;left:22px;top:22px;display:flex;gap:6px;z-index:2}
.temps-num i{width:34px;height:4px;border-radius:2px;background:rgba(255,255,255,.4);overflow:hidden;position:relative;display:block}
.temps-num i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(var(--p,0));transform-origin:left}
.temps-tag{position:absolute;left:22px;bottom:22px;z-index:2;background:#fff;border-radius:var(--r-s);padding:10px 14px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}
.temps-tag i{width:10px;height:10px;border-radius:50%;background:var(--soleil)}
@media(max-width:860px){.temps-pin{display:flex;flex-direction:column;align-items:stretch;height:auto;padding-top:84px}.temps-img{order:-1;position:sticky;top:76px;height:38vh;z-index:2;flex:none}.temps-txt{min-height:0;position:relative;z-index:1;padding-top:8px}.chap{position:relative;opacity:1;pointer-events:auto;min-height:58vh;padding:28px 0}.chap h3{font-size:34px}}

/* deux maisons */
.maisons{background:var(--sable)}
.maisons-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.maison{position:relative;border-radius:var(--r);overflow:hidden;min-height:560px;background:#111;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;transform-style:preserve-3d;box-shadow:0 30px 60px -40px rgba(0,0,0,.5)}
.maison img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.maison:hover img{transform:scale(1.05)}
.maison::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.05) 60%)}
.maison>*{position:relative}
.maison .k{color:rgba(255,255,255,.75);margin-bottom:12px}
.maison h3{font-size:clamp(30px,3.4vw,46px);margin-bottom:10px}
.maison p{color:rgba(255,255,255,.88);max-width:40ch}
.maison .prix{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.maison .prix b{font-family:var(--ff-t);font-size:26px;letter-spacing:-.03em}
.maison .prix b small{font-size:14px;font-family:var(--ff-b);font-weight:600;letter-spacing:0;color:rgba(255,255,255,.8)}
@media(max-width:860px){.maisons-grid{grid-template-columns:1fr}.maison{min-height:440px;padding:22px}}

/* catalogue horizontal */
.cata{overflow:hidden}
.cata-pin{height:100vh;display:flex;flex-direction:column;justify-content:center;gap:26px}
.cata-head{display:flex;align-items:end;justify-content:space-between;gap:24px}
.cata-head h2{max-width:14ch}
.cata-track{display:flex;gap:18px;will-change:transform;padding-left:max(20px,calc((100% - 1240px)/2))}
.sej{flex:none;width:min(360px,78vw);background:#fff;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .3s}
.sej:hover{transform:translateY(-6px);box-shadow:0 30px 60px -34px rgba(0,0,0,.35);border-color:transparent}
.sej figure{height:220px;overflow:hidden;position:relative;background:#eee}
.sej figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.sej:hover figure img{transform:scale(1.06)}
.sej .tag{position:absolute;left:14px;top:14px;background:#fff;border-radius:var(--r-s);padding:6px 10px;font-size:12px;font-weight:700}
.sej .tag.c{background:var(--soleil);color:#fff}
.sej .in{padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.sej h3{font-size:22px}
.sej p{color:var(--mute);font-size:14px;line-height:1.5}
.sej .bas{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line)}
.sej .bas b{font-family:var(--ff-t);font-size:28px;letter-spacing:-.03em}
.sej .bas b small{font-family:var(--ff-b);font-size:13px;font-weight:600;letter-spacing:0;color:var(--mute);margin-left:2px}
.sej .bas a{height:42px;padding:0 16px;font-size:14px}
.sej.plus{background:var(--ink);color:#fff;border-color:var(--ink);justify-content:center;align-items:flex-start;padding:28px}
.sej.plus h3{font-size:34px;margin-bottom:12px}
.sej.plus p{color:rgba(255,255,255,.75)}
.cata-note{color:var(--mute);font-size:13px}
@media(max-width:860px){.cata-pin{height:auto;padding:0}.cata-track{flex-wrap:wrap;padding-left:0;transform:none!important}.sej{width:100%}.cata-head{flex-direction:column;align-items:flex-start}}

/* sac */
.sac .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.sac ul{list-style:none;display:grid;gap:10px;margin-top:24px}
.sac li{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r);font-weight:600;background:#fff}
.sac li i{width:26px;height:26px;border-radius:50%;background:var(--sable);display:inline-flex;align-items:center;justify-content:center;flex:none}
.sac li i svg{width:14px;height:14px;stroke:var(--ink);stroke-width:2.5;fill:none;stroke-dasharray:24;stroke-dashoffset:24}
.sac li.on i{background:var(--soleil)}.sac li.on i svg{stroke:#fff}
.sac li.on i svg{stroke-dashoffset:0;transition:stroke-dashoffset .5s var(--ease)}
.sac figure{position:relative;border-radius:var(--r);overflow:hidden;height:min(70vh,640px)}
.sac figure img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.sac figcaption{position:absolute;left:18px;bottom:18px;background:#fff;border-radius:var(--r-s);padding:10px 14px;font-size:14px;font-weight:600}
.sac .note{font-size:13px;color:var(--mute);margin-top:14px}
@media(max-width:860px){.sac .wrap{grid-template-columns:1fr}.sac figure{height:52vh;order:-1}}

/* mur des familles */
.mur{background:#fff}
.mur-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin-bottom:40px}
.mur-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-s);transition:transform .6s var(--ease)}
.mur-grid img:hover{transform:scale(1.06) rotate(-1.5deg)}
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.avi{background:var(--sable);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px}
.avi .st{color:#E9AE12;letter-spacing:2px;font-size:14px}
.avi p{font-size:16px;line-height:1.5}
.avi p em{font-style:normal;font-weight:700}
.avi footer{margin-top:auto;font-size:13px;color:var(--mute)}
.avi footer b{color:var(--ink)}
.avi.g{background:var(--gazon-soft)}
.avi.c{background:var(--ciel)}
@media(max-width:860px){.mur-grid{grid-template-columns:repeat(5,1fr)}.avis-grid{grid-template-columns:1fr}}

/* pratique */
.prat .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-family:var(--ff-t);font-weight:700;font-size:20px;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;flex:none;position:relative;transition:transform .5s var(--ease),background .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;background:var(--ink);width:12px;height:2px}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg);background:var(--soleil);border-color:var(--soleil)}.faq details[open] summary i::before,.faq details[open] summary i::after{background:#fff}
.faq .a{padding:0 0 22px;color:#3B3730;max-width:52ch}
.horaires{background:var(--ink);color:#fff;border-radius:var(--r);padding:30px;display:flex;flex-direction:column;gap:18px}
.horaires .k{color:rgba(255,255,255,.6)}
.horaires .l{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:15px}
.horaires .l b{font-weight:700}
.horaires .tel{font-family:var(--ff-t);font-size:clamp(28px,3vw,40px);font-weight:800;letter-spacing:-.03em}
.horaires .adresse{color:rgba(255,255,255,.75);font-size:14px}
@media(max-width:860px){.prat .wrap{grid-template-columns:1fr}}

/* fin */
.fin{padding:clamp(80px,12vw,160px) 0;position:relative;overflow:hidden}
.fin .wrap{text-align:center;position:relative}
.fin h2{font-size:clamp(44px,7.4vw,104px);letter-spacing:-.045em;line-height:.9}
.fin h2 .y{background:var(--soleil);color:#fff;padding:0 .12em;border-radius:10px;display:inline-block}
.fin .lead{margin:26px auto 0}
.fin .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.fin .polas{position:absolute;inset:0;pointer-events:none}
.fin .pola{position:absolute;width:150px;aspect-ratio:3/4;border-radius:var(--r-s);overflow:hidden;box-shadow:0 20px 40px -20px rgba(0,0,0,.4);border:5px solid #fff;background:#fff}
.fin .pola img{width:100%;height:100%;object-fit:cover}
.fin .pola:nth-child(1){left:4%;top:-8%;transform:rotate(-8deg)}
.fin .pola:nth-child(2){right:5%;top:0;transform:rotate(7deg)}
.fin .pola:nth-child(3){left:12%;bottom:-6%;transform:rotate(5deg)}
.fin .pola:nth-child(4){right:14%;bottom:-2%;transform:rotate(-6deg)}
@media(max-width:1100px){.fin .pola{width:100px}}
@media(max-width:700px){.fin .polas{display:none}}

/* footer */
.foot{border-top:1px solid var(--line);padding:50px 0 28px;font-size:14px;color:var(--mute)}
.foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.foot b{color:var(--ink);font-family:var(--ff-t);font-size:18px;letter-spacing:-.02em;display:block;margin-bottom:10px}
.foot ul{list-style:none;display:grid;gap:6px}
.foot a:hover{color:var(--ink)}
.foot .bas{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line);font-size:13px}
.foot .bas a{font-weight:600}
@media(max-width:860px){.foot .wrap{grid-template-columns:1fr}}

/* réservation */
.resa{padding-top:120px}
.resa-head{margin-bottom:34px}
.resa-head h1{font-size:clamp(40px,6.4vw,84px);letter-spacing:-.04em;line-height:.95;max-width:14ch}
.resa-grid{display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:start}
.etape{border-top:1.5px solid var(--ink);padding:26px 0 34px}
.etape .num{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.etape .num i{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--ff-t);font-weight:800;font-size:15px}
.etape .num h2{font-size:clamp(26px,3vw,38px)}
.etape .num.ok i{background:var(--soleil);color:#fff}
.seg{display:inline-flex;background:var(--sable);border-radius:var(--r);padding:4px;gap:4px;margin-bottom:18px}
.seg button{height:44px;padding:0 20px;border-radius:var(--r-s);font-weight:700;font-size:14px;transition:background .3s,color .3s}
.seg button.on{background:var(--ink);color:#fff}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.card{position:relative;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;cursor:pointer;background:#fff;transition:transform .5s var(--ease),border-color .3s,box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(0,0,0,.35)}
.card.on{border-color:var(--ink);box-shadow:0 0 0 3px var(--soleil) inset}
.card figure{height:150px;overflow:hidden}
.card figure img{width:100%;height:100%;object-fit:cover}
.card .in{padding:16px}
.card h3{font-size:19px;margin-bottom:4px}
.card p{font-size:13px;color:var(--mute)}
.card .p{margin-top:10px;font-family:var(--ff-t);font-weight:800;font-size:22px;letter-spacing:-.03em}
.card .p small{font-family:var(--ff-b);font-weight:600;font-size:12px;color:var(--mute);letter-spacing:0}
.card .chk{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:#fff;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center}
.card .chk svg{width:14px;height:14px;stroke:var(--ink);stroke-width:3;fill:none;opacity:0}
.card.on .chk{background:var(--soleil);border-color:var(--soleil)}.card.on .chk svg{stroke:#fff}
.card.on .chk svg{opacity:1}
.cal-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cal{border:1.5px solid var(--line);border-radius:var(--r);padding:16px}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-family:var(--ff-t);font-weight:800;font-size:18px;letter-spacing:-.02em;text-transform:capitalize}
.cal-h button{width:34px;height:34px;border-radius:var(--r-s);border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.cal-h button:hover{border-color:var(--ink)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-g .dn{font-size:11px;color:var(--mute);text-align:center;padding:6px 0;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.cal-g .d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--r-s);font-size:14px;font-weight:600;cursor:pointer;position:relative;transition:background .2s,color .2s}
.cal-g .d:hover{background:var(--sable)}
.cal-g .d.off{color:#C9C3B6;cursor:default;pointer-events:none}
.cal-g .d.in{background:var(--sable);border-radius:0}
.cal-g .d.a,.cal-g .d.b{background:var(--ink);color:#fff}
.cal-g .d.a{border-radius:var(--r-s) 0 0 var(--r-s)}.cal-g .d.b{border-radius:0 var(--r-s) var(--r-s) 0}
.cal-g .d.a.b{border-radius:var(--r-s)}
.cal-g .d.today::after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--soleil-deep)}
.cal-hint{font-size:13px;color:var(--mute);margin-top:12px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:grid;gap:6px;font-size:13px;font-weight:700}
.form label.full{grid-column:1/-1}
.form input,.form textarea,.form select{height:50px;border:1.5px solid var(--line);border-radius:var(--r-s);padding:0 14px;font:inherit;font-size:15px;background:#fff;transition:border-color .2s}
.form textarea{height:110px;padding:12px 14px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{outline:0;border-color:var(--ink)}
.recap{position:sticky;top:96px;background:var(--ink);color:#fff;border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:14px}
.recap .k{color:rgba(255,255,255,.6)}
.recap .l{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.recap .l span:last-child{font-weight:700;text-align:right}
.recap .tot{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px}
.recap .tot b{font-family:var(--ff-t);font-size:40px;letter-spacing:-.04em;line-height:1}
.recap .tot small{color:rgba(255,255,255,.65);font-size:12px}
.recap .btn{justify-content:center}
.recap .note{font-size:12px;color:rgba(255,255,255,.6);line-height:1.5}
.recap .vide{color:rgba(255,255,255,.7);font-size:14px}
.merci{display:none;background:var(--gazon-soft);border-radius:var(--r);padding:20px;color:var(--gazon);font-weight:600}
@media(max-width:1000px){.resa-grid{grid-template-columns:1fr}.recap{position:fixed;left:0;right:0;bottom:0;top:auto;border-radius:var(--r) var(--r) 0 0;z-index:800;padding:16px 20px;gap:8px;box-shadow:0 -20px 40px -20px rgba(0,0,0,.4)}.recap .l,.recap .k,.recap .note{display:none}.recap .tot b{font-size:30px}.resa{padding-bottom:180px}}
@media(max-width:700px){.cards{grid-template-columns:1fr}.cal-wrap{grid-template-columns:1fr}.cal:nth-child(2){display:none}.form{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== village-final : ajouts ===== */
.cav{font-family:var(--ff-h);font-size:1.5em;color:var(--soleil);font-weight:600;letter-spacing:0}
.bande{position:relative;height:min(62vh,560px);min-height:380px;overflow:hidden;background:var(--ink)}
.bande img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.bande::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,.08) 55%)}
.bande .in{position:absolute;left:0;right:0;bottom:0;padding-bottom:clamp(28px,5vh,56px);color:#fff}
.bande h1{font-size:clamp(40px,6.4vw,84px);letter-spacing:-.035em;max-width:14ch}
.bande .lead{color:rgba(255,255,255,.9);margin-top:14px;max-width:52ch}
.bande.court{height:min(48vh,440px);min-height:320px}
.deux{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.deux .txt h2{margin-bottom:16px}
.deux .txt p{color:#3B3730;font-size:17px;margin-bottom:12px;max-width:56ch}
.deux figure{border-radius:var(--r);overflow:hidden;position:relative;height:min(64vh,600px)}
.deux figure img{width:100%;height:100%;object-fit:cover;transform:scale(1.1)}
.deux figcaption{position:absolute;left:16px;bottom:16px;background:#fff;border-radius:var(--r-s);padding:9px 13px;font-size:13px;font-weight:600}
@media(max-width:860px){.deux{grid-template-columns:1fr}.deux figure{height:48vh}}
.serv{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.serv a{position:relative;border-radius:var(--r);overflow:hidden;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:#fff;background:#222;transform-style:preserve-3d}
.serv a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.serv a:hover img{transform:scale(1.05)}
.serv a::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,.02) 60%)}
.serv a>*{position:relative}
.serv .k{color:rgba(255,255,255,.75);margin-bottom:8px}
.serv h3{font-size:26px;margin-bottom:8px}
.serv p{color:rgba(255,255,255,.88);font-size:15px}
.serv .go{margin-top:14px;font-weight:700;font-size:14px;display:inline-flex;gap:8px;align-items:center}
@media(max-width:860px){.serv{grid-template-columns:1fr}.serv a{min-height:340px}}
.infos{background:var(--ink);color:#fff;border-radius:var(--r);padding:clamp(26px,4vw,48px);display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;align-items:center}
.infos .tel{font-family:var(--ff-t);font-weight:800;font-size:clamp(30px,3.6vw,52px);letter-spacing:-.03em;display:block}
.infos .k{color:rgba(255,255,255,.6);margin-bottom:8px}
.infos p{color:rgba(255,255,255,.85);font-size:15px}
@media(max-width:860px){.infos{grid-template-columns:1fr}}
.tarifs{border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden}
.tarifs .l{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);font-size:16px}
.tarifs .l:last-child{border-bottom:0}
.tarifs .l b{font-family:var(--ff-t);font-size:26px;letter-spacing:-.03em}
.tarifs .l b small{font-size:13px;font-family:var(--ff-b);font-weight:600;color:var(--mute);letter-spacing:0;margin-left:3px}
.tarifs .l.fam{background:var(--sable)}
.liste{list-style:none;display:grid;gap:10px}
.liste li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-s);font-size:15px}
.liste li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--soleil);flex:none;margin-top:7px}
/* catalogue chiens */
.filtres{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.filtres button{height:42px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);font-weight:700;font-size:14px;transition:background .3s,color .3s,border-color .3s}
.filtres button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.filtres button:hover:not(.on){border-color:var(--ink)}
.filtres .sep{width:1px;background:var(--line);margin:6px 4px}
.chiens{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.chien{position:relative;border-radius:var(--r);overflow:hidden;background:#fff;border:1.5px solid var(--line);cursor:pointer;transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .3s;transform-style:preserve-3d}
.chien:hover{transform:translateY(-5px);box-shadow:0 30px 60px -34px rgba(0,0,0,.35);border-color:transparent}
.chien figure{aspect-ratio:4/5;overflow:hidden;background:var(--sable);position:relative}
.chien figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.chien:hover figure img{transform:scale(1.06)}
.chien figure .np{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--mute);font-size:13px;font-weight:600;text-align:center;padding:20px}
.chien figure .np svg{width:54px;height:54px;fill:var(--soleil);opacity:.5}
.chien .sx{position:absolute;top:12px;left:12px;background:#fff;border-radius:var(--r-s);padding:5px 9px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px}
.chien .sx.m{color:#1F5FA8}.chien .sx.f{color:#B4326B}
.chien .lof{position:absolute;top:12px;right:12px;background:var(--ink);color:#fff;border-radius:var(--r-s);padding:5px 9px;font-size:11px;font-weight:700;letter-spacing:.08em}
.chien .in{padding:14px 16px 16px}
.chien .race{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soleil);margin-bottom:4px}
.chien h3{font-size:19px;margin-bottom:4px;letter-spacing:-.02em}
.chien p{font-size:13px;color:var(--mute)}
.chien.hid{display:none}
@media(max-width:1000px){.chiens{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.chiens{grid-template-columns:repeat(2,1fr);gap:10px}.chien .in{padding:10px 12px 12px}.chien h3{font-size:16px}}
.races{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:34px}
.races a{display:block;border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:1;color:#fff}
.races a img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.races a:hover img{transform:scale(1.06)}
.races a::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent 60%)}
.races a span{position:absolute;left:12px;right:12px;bottom:12px;font-weight:800;font-size:15px;letter-spacing:-.01em;line-height:1.15}
.races a small{display:block;font-weight:500;font-size:12px;opacity:.85;margin-top:2px}
@media(max-width:860px){.races{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.races{grid-template-columns:repeat(2,1fr)}}
/* fiche modal */
.fiche{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(20,18,15,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.fiche.open{display:flex}
.fiche .box{background:#fff;border-radius:var(--r);max-width:920px;width:100%;max-height:92vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;position:relative}
.fiche .box figure{background:var(--sable);min-height:380px}
.fiche .box figure img{width:100%;height:100%;object-fit:cover}
.fiche .box .in{padding:32px;display:flex;flex-direction:column;gap:12px}
.fiche .box h3{font-size:clamp(26px,3vw,38px)}
.fiche .meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.fiche .meta div{background:var(--sable);border-radius:var(--r-s);padding:10px 12px;font-size:13px}
.fiche .meta div b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:2px}
.fiche .x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;background:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px -10px rgba(0,0,0,.4);z-index:2}
@media(max-width:760px){.fiche .box{grid-template-columns:1fr}.fiche .box figure{min-height:0;aspect-ratio:4/3}.fiche .box .in{padding:22px}}
/* chiots */
.portee{border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr}
.portee figure{min-height:360px}
.portee figure img{width:100%;height:100%;object-fit:cover}
.portee .in{padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:12px}
.portee .etat{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--gazon-soft);color:var(--gazon);align-self:flex-start}
.portee .etat i{width:8px;height:8px;border-radius:50%;background:var(--gazon)}
.portee .etat.r{background:#F6E7E2;color:#A34A2C}.portee .etat.r i{background:#A34A2C}
.bebes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bebe{border:1.5px solid var(--line);border-radius:var(--r-s);padding:12px;font-size:13px}
.bebe b{display:block;font-size:15px;letter-spacing:-.01em}
.bebe span{color:var(--mute)}
.bebe.res{background:var(--sable);opacity:.75}
@media(max-width:860px){.portee{grid-template-columns:1fr}.portee figure{min-height:0;aspect-ratio:4/3}.bebes{grid-template-columns:1fr}}
.galerie{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.galerie img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-s);transition:transform .6s var(--ease)}
.galerie img:hover{transform:scale(1.04)}
@media(max-width:860px){.galerie{grid-template-columns:repeat(3,1fr)}}
.etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.etp{border:1.5px solid var(--line);border-radius:var(--r);padding:24px}
.etp .n{font-family:var(--ff-t);font-weight:800;font-size:40px;letter-spacing:-.04em;color:var(--soleil);line-height:1;margin-bottom:10px}
.etp h3{font-size:20px;margin-bottom:6px}
.etp p{font-size:14px;color:#3B3730}
@media(max-width:860px){.etapes{grid-template-columns:1fr}}
/* boutique */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:40px}
.cats a{position:relative;aspect-ratio:1;border-radius:var(--r);overflow:hidden;color:#fff;display:block}
.cats a img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.cats a:hover img{transform:scale(1.06)}
.cats a::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.66),transparent 55%)}
.cats a span{position:absolute;left:14px;bottom:14px;font-weight:800;font-size:16px;letter-spacing:-.01em}
@media(max-width:700px){.cats{grid-template-columns:1fr 1fr}}
.produits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:44px}
.prod{border:1.5px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:6px;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.prod:hover{transform:translateY(-3px);box-shadow:0 24px 50px -32px rgba(0,0,0,.35)}
.prod h3{font-size:17px;letter-spacing:-.01em}
.prod p{font-size:13px;color:var(--mute);flex:1}
.prod .bas{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.prod .bas b{font-family:var(--ff-t);font-size:22px;letter-spacing:-.03em}
.prod .bas button{height:40px;padding:0 14px;border-radius:var(--r-s);background:var(--ink);color:#fff;font-weight:700;font-size:13px;transition:background .3s,transform .3s}
.prod .bas button:hover{background:var(--soleil)}
.prod .bas button.ok{background:var(--gazon)}
@media(max-width:860px){.produits{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.produits{grid-template-columns:1fr}}
.pan-btn{position:fixed;right:20px;bottom:20px;z-index:850;height:56px;padding:0 20px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;display:flex;align-items:center;gap:10px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6)}
.pan-btn i{background:var(--soleil);color:#fff;min-width:24px;height:24px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-style:normal;padding:0 6px}
.panier{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:1100;transform:translateX(100%);transition:transform .5s var(--ease);display:flex;flex-direction:column;padding:24px;box-shadow:-20px 0 60px -30px rgba(0,0,0,.4)}
.panier.open{transform:none}
.panier-fond{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1050;display:none}
.panier-fond.open{display:block}
.panier h3{font-size:24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.panier .x{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);font-size:20px}
.panier .liste{flex:1;overflow:auto;gap:8px;align-content:start}
.panier .liste li{align-items:center;justify-content:space-between}
.panier .liste li::before{display:none}
.panier .q{display:inline-flex;align-items:center;gap:6px}
.panier .q button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);font-weight:700}
.panier .tot{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;font-weight:700;font-size:18px;border-top:1.5px solid var(--ink);margin-top:12px}
.panier .btn{justify-content:center}
.panier .note{font-size:12px;color:var(--mute);margin-top:8px}
/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px)}
@media(max-width:860px){.contact{grid-template-columns:1fr}}
.map{border-radius:var(--r);overflow:hidden;border:1.5px solid var(--line);min-height:320px;background:var(--sable)}
.map iframe{width:100%;height:100%;min-height:320px;border:0;display:block}
/* correctifs après vérification */
.nav .logo span{white-space:nowrap}
.nav .logo em{font-style:normal;color:var(--soleil)}
.nav .logo .lg{width:42px;height:42px;flex:none;fill:currentColor;color:var(--soleil)}
.bande .in{z-index:2}
@media(max-width:1000px){.recap .vide,.recap .btn-w{display:none}.recap{padding:12px 16px 14px}}

.chien p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* pension : le calcul du séjour et l'accès */
.calc{margin-top:clamp(36px,5vw,64px);display:grid;grid-template-columns:1.4fr 1fr;border-radius:var(--r);overflow:hidden;border:1.5px solid var(--line);background:#fff}
.calc-q{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:22px}
.calc-row{display:flex;flex-direction:column;gap:10px}
.calc-lab{font-weight:700;font-size:15px}
.calc .seg{flex-wrap:wrap;margin:0;display:flex}
.calc .seg button{flex:1 1 auto}
.calc-j{display:inline-flex;align-items:center;gap:6px;background:var(--sable);border-radius:var(--r);padding:4px;width:max-content}
.calc-j button{width:44px;height:44px;border-radius:var(--r-s);background:#fff;font-size:20px;font-weight:700}
.calc-j input{width:70px;height:44px;border:0;background:transparent;text-align:center;font:800 22px var(--ff-t);-moz-appearance:textfield}
.calc-j input::-webkit-inner-spin-button,.calc-j input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.calc-r{background:var(--ink);color:#fff;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:12px;justify-content:center}
.calc-tot{font-family:var(--ff-t);font-weight:800;font-size:clamp(48px,6vw,76px);letter-spacing:-.04em;line-height:1}
.calc-r p{color:rgba(255,255,255,.75);margin:0}
.calc-r .btn{justify-content:center;margin-top:6px}
.calc-r small{color:rgba(255,255,255,.55);font-size:13px}
.acces{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:8px 24px 18px}
.acces .l{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.acces b{font-family:var(--ff-t);font-weight:800}
.acces small{display:block;margin-top:12px;color:var(--mute);font-size:13px}
@media(max-width:860px){.calc{grid-template-columns:1fr}.calc .seg{display:grid;grid-template-columns:1fr 1fr}.calc .seg button{padding:0 10px;min-height:48px;height:auto}}

/* chiots : les portées parties + le jeu « quel chiot pour votre vie » */
.parties{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.parties div{border:1.5px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:6px;background:#fff}
.parties b{font-family:var(--ff-t);font-weight:800;font-size:18px;letter-spacing:-.02em;line-height:1.15}
.parties span{color:var(--mute);font-size:14px}
.parties i{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soleil);margin-top:auto;padding-top:8px}
@media(max-width:860px){.parties{grid-template-columns:1fr 1fr}}
.quiz{background:var(--sable);padding:clamp(64px,9vw,120px) 0}
.quiz-head{text-align:center;display:flex;flex-direction:column;align-items:center}
.quiz-head .lead{margin-top:14px}
.quiz-chiens{display:flex;justify-content:center;gap:clamp(10px,3vw,40px);margin:clamp(34px,5vw,56px) 0 clamp(26px,4vw,40px)}
.qc{display:flex;flex-direction:column;align-items:center;gap:10px;width:clamp(58px,12vw,130px)}
.qc-rond{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 18px 40px -22px rgba(0,0,0,.45);transform-origin:50% 80%}
.qc-rond img{width:100%;height:100%;object-fit:cover}
.qc span{font-weight:700;font-size:clamp(11px,1.3vw,15px);text-align:center;line-height:1.1}
.qc i{display:block;width:70%;height:4px;border-radius:2px;background:rgba(0,0,0,.08);overflow:hidden}
.qc i b{display:block;height:100%;width:0;background:var(--soleil);border-radius:2px}
.qc.gagne .qc-rond{border-color:var(--soleil)}
.quiz-box{max-width:760px;margin:0 auto;background:#fff;border-radius:var(--r);padding:clamp(24px,4vw,44px);box-shadow:0 30px 70px -45px rgba(0,0,0,.4)}
.quiz-etape{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.quiz-bar{height:4px;background:var(--sable);border-radius:2px;margin:12px 0 24px;overflow:hidden}
.quiz-bar i{display:block;height:100%;width:0;background:var(--ink);border-radius:2px;transition:width .6s var(--ease)}
.quiz-q{font-size:clamp(26px,3.4vw,42px);letter-spacing:-.03em;line-height:1.05;margin-bottom:22px}
.quiz-rep{display:grid;gap:10px}
.quiz-rep button{text-align:left;padding:18px 22px;border:1.5px solid var(--line);border-radius:var(--r);font-size:17px;font-weight:700;background:#fff;transition:border-color .25s,transform .35s var(--ease),background .25s}
.quiz-rep button:hover{border-color:var(--ink);transform:translateX(4px)}
.quiz-rep button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.quiz-res{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 70px -45px rgba(0,0,0,.4)}
.quiz-res[hidden],.quiz-box[hidden]{display:none}
.quiz-res figure{margin:0;overflow:hidden;min-height:320px}
.quiz-res figure img{width:100%;height:100%;object-fit:cover}
.quiz-res .in{padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:12px}
.quiz-res h3{font-size:clamp(30px,4vw,50px);letter-spacing:-.035em;line-height:1}
.res-mot{font-family:'Caveat',cursive;font-size:26px;color:var(--soleil);line-height:1.1;margin:0}
.quiz-res p{margin:0;color:#3B3730}
.res-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0}
.res-info div{background:var(--sable);border-radius:var(--r-s);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.res-info span{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.res-info b{font-size:15px}
.res-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.res-aussi{font-size:15px}.res-aussi a{text-decoration:underline}
.res-rejouer{align-self:flex-start;font-size:14px;font-weight:700;color:var(--mute);text-decoration:underline;padding:4px 0}
.quiz-note{text-align:center;color:var(--mute);font-size:13px;margin-top:22px}
@media(max-width:760px){.quiz-res{grid-template-columns:1fr}.quiz-res figure{min-height:0;aspect-ratio:4/3}.qc span{display:none}.res-cta .btn{width:100%;justify-content:center}}

/* ============ PAGE CHIOTS V3 : la cour de récré, les fiches, la liste d'attente ============ */
.chh{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 85% 10%,#FFF1C9 0%,#FFF8E6 45%,#FFFDF7 100%);padding:clamp(120px,15vh,170px) 0 clamp(150px,20vh,210px);min-height:min(100svh,940px);touch-action:pan-y}
.chh-jeu{position:absolute;inset:0;z-index:3;pointer-events:none}
.chh.attrape{cursor:grab}.chh.tient{cursor:grabbing}
.chh-grille{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:end}
.chh-txt .pill{background:#fff;border:1px solid #DCE5DC;color:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}
.chh-txt .pill-etat i{background:#C9C2B4}
.chh-txt .pill-etat.on i{background:#2E9E5B;box-shadow:0 0 0 4px rgba(46,158,91,.18)}
.chh h1{font-size:clamp(42px,6.2vw,92px);letter-spacing:-.045em;line-height:.95;max-width:12ch}
.chh .lead{margin-top:22px;max-width:46ch}
.chh-photo{margin:0;border-radius:999px 999px 14px 14px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -50px rgba(90,50,20,.55);border:8px solid #fff}
.chh-photo img{width:100%;height:100%;object-fit:cover;object-position:100% 45%}
.chh-astuce{position:absolute;left:0;right:0;bottom:18px;z-index:2;text-align:center;font-family:var(--ff-h);font-size:24px;color:#9A6B3F;opacity:0;transition:opacity 1s .8s;margin:0}
.chh.joue .chh-astuce{opacity:1}

@media(max-width:860px){.chh-grille{grid-template-columns:1fr;align-items:start}.chh-photo{max-width:340px;aspect-ratio:1;justify-self:center;width:78%}.chh{padding-bottom:150px}}

/* fiches chiots */
.cts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cts:empty{display:none}
.ct{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.ct figure{position:relative;margin:0;aspect-ratio:4/3.4;overflow:hidden;background:var(--sable)}
.ct figure img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.ct:hover figure img{transform:scale(1.05)}
.ct-st{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;background:#fff;font-size:13px;font-weight:800;box-shadow:0 8px 20px -10px rgba(0,0,0,.35)}
.ct-st i{width:9px;height:9px;border-radius:50%;background:#2E9E5B;box-shadow:0 0 0 4px rgba(46,158,91,.18)}
.ct--res .ct-st i{background:#D97706;box-shadow:0 0 0 4px rgba(217,119,6,.18)}
.ct--res figure img{filter:saturate(.75)}
.ct .in{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.ct-race{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.ct h3{font-size:30px;letter-spacing:-.035em}
.ct p{margin:0;color:#3B3730}
.ct dl{display:flex;gap:10px;margin:4px 0 0}
.ct dl div{flex:1;background:var(--sable);border-radius:var(--r-s);padding:10px 12px}
.ct dt{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.ct dd{margin:2px 0 0;font-weight:800;font-size:16px}
.ct-cta{display:flex;gap:8px;margin-top:auto;padding-top:10px}
.ct-cta .btn-y{flex:1;justify-content:center}
.ct-tel{width:56px;padding:0;justify-content:center}.ct-tel svg{width:20px;height:20px;fill:currentColor}
.ct-att{margin-top:auto;padding-top:10px;font-weight:700;color:var(--soleil)}
@media(max-width:1000px){.cts{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cts{grid-template-columns:1fr}}
.cts-vide{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--sable);border-radius:var(--r);padding:clamp(22px,3vw,34px)}
.cts-vide[hidden]{display:none}
.cts-vide b{font-family:var(--ff-t);font-size:clamp(22px,2.4vw,30px);letter-spacing:-.03em;font-weight:800}
.cts-vide p{margin:8px 0 0;color:#3B3730;max-width:62ch}
@media(max-width:760px){.cts-vide{flex-direction:column;align-items:flex-start}}
.cts-legal{margin-top:18px;font-size:13px;color:var(--mute)}

/* portées à venir */
.avenir{padding-top:0}
.avenir[hidden]{display:none}
.avs{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.av{display:grid;grid-template-columns:.8fr 1fr;background:var(--ink);color:#fff;border-radius:var(--r);overflow:hidden}
.av-img{min-height:240px}.av-img img{width:100%;height:100%;object-fit:cover}
.av .in{padding:24px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.av-tag{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:#FFC93C;color:var(--ink);padding:6px 10px;border-radius:999px}
.av h3{font-size:30px;letter-spacing:-.035em}
.av-quand{font-family:var(--ff-h);font-size:28px;color:#FFC93C;margin:0;line-height:1}
.av p{margin:0;color:rgba(255,255,255,.8)}
.av .btn{margin-top:auto;background:#fff;color:var(--ink)}
@media(max-width:860px){.avs{grid-template-columns:1fr}.av{grid-template-columns:1fr}.av-img{min-height:0;aspect-ratio:16/10}}

/* liste d'attente */
.attente{background:var(--sable);padding:clamp(70px,10vw,130px) 0}
.attente-grille{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start}
.attente-txt h2{font-size:clamp(34px,4.4vw,60px);letter-spacing:-.04em;line-height:1}
.attente-txt .lead{margin-top:18px}
.attente-plus{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.attente-plus li{display:flex;gap:12px;align-items:center;font-weight:600}
.attente-plus li::before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5 9-10' fill='none' stroke='%238A4B25' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.attente-form{background:#fff;border-radius:var(--r);padding:clamp(22px,3.4vw,40px);box-shadow:0 30px 70px -45px rgba(0,0,0,.4);display:flex;flex-direction:column}
.af-lab{font-weight:800;font-size:15px;margin:18px 0 10px}.af-lab:first-child{margin-top:0}
.af-lab small{font-weight:500;color:var(--mute);margin-left:6px}
.af-races{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.af-races.secoue{animation:secoue .45s}
@keyframes secoue{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.afr{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 4px;border-radius:var(--r);border:1.5px solid var(--line);background:#fff;transition:border-color .25s,background .25s}
.afr-rond{display:block;width:100%;max-width:64px;aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 8px 18px -10px rgba(0,0,0,.4);transform-origin:50% 100%;background:var(--sable)}
.afr-rond img{width:100%;height:100%;object-fit:cover}
.afr-rond svg{width:60%;height:60%;margin:20%;fill:var(--soleil)}
.afr b{font-size:13px;line-height:1.1;text-align:center}
.afr:hover{border-color:#CDB89A}
.afr.on{border-color:var(--soleil);background:#EEF3EE}
.afr.on .afr-rond{border-color:var(--soleil)}
.afr-balle{position:absolute;top:10px;left:50%;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#EEF79A,#BFD232);pointer-events:none;z-index:2}
.af-in{width:100%;border:1.5px solid var(--line);border-radius:var(--r-s);padding:14px 16px;font:inherit;font-size:16px;background:#fff;outline:none;resize:vertical;transition:border-color .2s}
.af-in:focus{border-color:var(--ink)}
.af-go{margin-top:22px;justify-content:center;background:#1F8F4E;box-shadow:0 12px 30px -14px rgba(31,143,78,.8)}
.af-go:hover{background:#18763F}
.af-go svg{width:22px;height:22px;fill:#fff}
.af-ou{text-align:center;margin:12px 0 0;font-size:14px;color:var(--mute)}.af-ou a{color:var(--ink);font-weight:700;text-decoration:underline}
@media(max-width:860px){.attente-grille{grid-template-columns:1fr}.af-races{grid-template-columns:repeat(3,1fr)}}

/* polaroïds */
.polas{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;padding:10px 0 20px}
.pola{margin:0;background:#fff;padding:10px 10px 0;border-radius:6px;box-shadow:0 20px 40px -26px rgba(0,0,0,.45);transform:rotate(var(--rot,0deg))}
.pola:nth-child(odd){--rot:-2.5deg}.pola:nth-child(even){--rot:2deg}.pola:nth-child(3n){--rot:-1deg}
.pola img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px}
.pola figcaption{font-family:var(--ff-h);font-size:21px;text-align:center;padding:6px 0 8px;color:#5A3A20}
@media(max-width:1000px){.polas{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.polas{grid-template-columns:repeat(2,1fr);gap:14px}}

/* ============ ACCUEIL V3 ============ */
:root{--ff-t:'Bricolage Grotesque',-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
h1,h2,h3,.t{font-variation-settings:"opsz" 96}

/* 1. le haut */
.ah{position:relative;background:radial-gradient(90% 80% at 80% 20%,#FFEFC2 0%,#EEF3EE 42%,#FFFDF8 100%);padding:clamp(118px,15vh,160px) 0 clamp(60px,9vh,100px);overflow:hidden}
.ah::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;background:#fff;clip-path:ellipse(75% 100% at 50% 100%)}
.ah-g{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center}
.ah-note{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.pill-etat{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid #DCE5DC;font-size:13px;font-weight:700}
.pill-etat i{width:8px;height:8px;border-radius:50%;background:#C9C2B4}
.pill-etat.on i{background:#2E9E5B;box-shadow:0 0 0 4px rgba(46,158,91,.18)}
.ah-note-g{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid #DCE5DC;font-size:13px;font-weight:600;color:var(--ink)}
.ah-note-g b{font-weight:800}.ah-et{color:#F2A515;letter-spacing:1px;font-size:12px}
.ah-h1{font-weight:800;letter-spacing:-.045em;line-height:.92}
.ah-l1{display:block;font-size:clamp(46px,6.6vw,104px)}
.ah-l2{display:block;font-size:clamp(24px,2.7vw,40px);letter-spacing:-.03em;line-height:1.05;margin-top:14px;color:var(--soleil);max-width:16ch}
.ah-lead{margin-top:22px;max-width:48ch}
.ah-pile-z{position:relative;display:flex;flex-direction:column;align-items:center}
.ah-pile{position:relative;width:min(400px,78vw);aspect-ratio:4/4.9;touch-action:pan-y;cursor:grab}
.ah-pile.tient{cursor:grabbing}
.pc{position:absolute;inset:0;margin:0;background:#fff;padding:14px 14px 0;border-radius:6px;box-shadow:0 30px 60px -34px rgba(70,40,15,.55),0 2px 6px rgba(0,0,0,.06);will-change:transform;user-select:none;-webkit-user-select:none}
.pc img{width:100%;height:calc(100% - 64px);object-fit:cover;border-radius:3px;pointer-events:none;-webkit-user-drag:none}
.pc figcaption{height:64px;display:flex;align-items:center;justify-content:center;font-family:var(--ff-h);font-size:30px;color:#5A3A20}
.ah-astuce{display:flex;align-items:center;gap:10px;margin:22px 0 0;font-family:var(--ff-h);font-size:24px;color:#9A6B3F}
.ah-astuce svg{width:54px;height:28px;fill:none;stroke:#9A6B3F;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transform:scaleX(-1) rotate(-8deg)}
.q-tact{display:none}
@media(pointer:coarse){.q-fin{display:none}.q-tact{display:inline}}
.ah-cred{margin:4px 0 0;font-size:12px;color:var(--mute)}
@media(max-width:900px){.ah-g{grid-template-columns:1fr}.ah-pile{width:min(330px,80vw)}}

/* 2. les races */
.rc-g{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,2vw,26px);padding-top:30px}
.rcc{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:44px}
.rcc-rond{position:relative;z-index:2;width:100%;max-width:190px;aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid #fff;box-shadow:0 24px 50px -28px rgba(70,40,15,.6);transition:transform .6s var(--ease)}
.rcc-rond img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.rcc:hover .rcc-rond{transform:translateY(-8px) rotate(-3deg)}
.rcc:hover .rcc-rond img{transform:scale(1.08)}
.rcc-col{position:relative;z-index:3;width:56%;height:14px;margin-top:-22px;border-radius:0 0 40px 40px;background:linear-gradient(#A6613A,#8A4B25);box-shadow:0 3px 0 rgba(0,0,0,.08)}
.rcc-med{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;margin-top:-2px;transform-origin:50% 0}
.rcc-med i{width:3px;height:12px;background:#B8892E}
.rcc-med b{display:flex;align-items:center;justify-content:center;text-align:center;width:84px;height:84px;padding:0 10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFE9A6,#E3B23C 55%,#B8862B);box-shadow:inset 0 -3px 6px rgba(120,80,10,.35),0 10px 20px -10px rgba(120,80,10,.7);font-family:var(--ff-t);font-weight:800;font-size:14px;letter-spacing:-.02em;color:#5B3A0A;line-height:1.02}
.rcc-n{margin-top:12px;font-size:13px;color:var(--mute);line-height:1.35}
.rcc-bulle{position:absolute;top:0;left:50%;z-index:4;width:max-content;max-width:210px;transform:translate(-50%,10px) scale(.9);opacity:0;background:#fff;border:1.5px solid #EADCC6;border-radius:14px;padding:8px 12px;font-family:var(--ff-h);font-size:19px;line-height:1.1;color:#5A3A20;box-shadow:0 12px 26px -16px rgba(0,0,0,.35);transition:opacity .35s,transform .45s var(--ease);pointer-events:none}
.rcc-bulle::after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#fff;border-right:1.5px solid #EADCC6;border-bottom:1.5px solid #EADCC6;transform:translateX(-50%) rotate(45deg)}
.rcc:hover .rcc-bulle{opacity:1;transform:translate(-50%,-14px) scale(1)}
@media(max-width:900px){.rc-g{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:40px 16px 10px;margin:0 -16px}.rcc{flex:0 0 46%;scroll-snap-align:center}.rcc-bulle{opacity:1;transform:translate(-50%,-6px) scale(.92);font-size:16px;max-width:150px}}

/* 3. huit semaines */
.huit{background:#EEF3EE;position:relative}
.huit-pin{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(80px,10vh,120px) 0 60px;overflow:hidden}
.huit-head h2{font-size:clamp(34px,4.6vw,66px);letter-spacing:-.04em;line-height:1;margin-top:12px;max-width:16ch}
.huit-rail{position:relative;height:4px;margin:44px clamp(16px,4vw,80px) 0;background:#D6E1D7;border-radius:2px}
.huit-fil{position:absolute;inset:0;background:var(--soleil);border-radius:2px;transform:scaleX(0);transform-origin:0 50%}
.huit-patte{position:absolute;left:0;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;z-index:2;border-radius:50%;background:#fff;box-shadow:0 8px 18px -8px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}
.huit-patte svg{width:26px;height:26px;fill:var(--soleil);transform:rotate(90deg)}
.huit-piste{display:flex;gap:22px;padding:34px clamp(16px,4vw,80px) 10px;width:max-content;will-change:transform}
.hs{width:clamp(270px,24vw,330px);background:#fff;border-radius:var(--r);padding:26px 26px 28px;box-shadow:0 26px 50px -36px rgba(70,40,15,.45);display:flex;flex-direction:column;gap:12px}
.hs-n{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.hs-n b{display:block;font-family:var(--ff-t);font-size:64px;letter-spacing:-.05em;line-height:.9;color:var(--ink);margin-top:4px}
.hs-ic{width:58px;height:58px;border-radius:50%;background:#E4EDE5;display:flex;align-items:center;justify-content:center}
.hs-ic svg{width:30px;height:30px;fill:var(--soleil)}
.hs-ic svg .p{fill:#fff}.hs-ic svg .b{fill:none;stroke:#fff;stroke-width:3.4;stroke-linecap:round}
.hs h3{font-size:26px;letter-spacing:-.03em}
.hs p{margin:0;color:#3B3730}
.hs--fin{background:var(--ink);color:#fff}.hs--fin .hs-n,.hs--fin p{color:rgba(255,255,255,.75)}.hs--fin .hs-n b{color:#fff}.hs--fin .hs-ic{background:rgba(255,255,255,.1)}.hs--fin .btn{margin-top:auto;justify-content:center}
@media(max-width:860px){.huit-pin{min-height:0}.huit-rail{position:absolute;left:30px;top:250px;bottom:60px;width:4px;height:auto;margin:0}.huit-fil{transform:scaleY(0);transform-origin:50% 0}.huit-patte{left:50%;top:0}.huit-piste{flex-direction:column;width:auto;padding:30px 16px 0 60px}.hs{width:auto}}

/* 4. disponibles */
.dispo-carte{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;background:var(--sable);border-radius:var(--r);padding:clamp(26px,4vw,52px)}
.dispo-t h2{font-size:clamp(30px,3.8vw,52px);letter-spacing:-.04em;line-height:1;margin-top:10px}
.dispo-t p{margin:14px 0 0;color:#3B3730;max-width:56ch}
.dispo-mini{display:flex;gap:12px;justify-content:flex-end}
.dispo-mini:empty{display:none}
.dispo-m{display:flex;flex-direction:column;gap:8px;width:120px;font-weight:700;font-size:14px;text-align:center}
.dispo-m img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 12px 24px -14px rgba(0,0,0,.4)}
@media(max-width:860px){.dispo-carte{grid-template-columns:1fr}.dispo-mini{justify-content:flex-start}}

/* 5. le sac */
.as{padding:clamp(70px,10vw,130px) 0;background:#fff}
.as-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.as-txt h2{font-size:clamp(34px,4.4vw,62px);letter-spacing:-.04em;line-height:1}
.as-txt .lead{margin-top:18px}
.as-scene{position:relative;height:clamp(380px,40vw,500px);border-radius:var(--r);background:radial-gradient(70% 60% at 50% 70%,#E4EDE5,#EEF3EE 70%)}
.as-obj{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--ff-h);font-size:19px;color:#7A5234;will-change:transform}
.as-obj svg{filter:drop-shadow(0 8px 10px rgba(70,40,15,.18))}
.as-obj[data-o="0"]{left:6%;top:8%}.as-obj[data-o="0"] svg{width:92px}
.as-obj[data-o="1"]{left:40%;top:4%}.as-obj[data-o="1"] svg{width:96px}
.as-obj[data-o="2"]{right:8%;top:10%}.as-obj[data-o="2"] svg{width:60px}
.as-obj[data-o="3"]{left:4%;top:44%}.as-obj[data-o="3"] svg{width:96px}
.as-obj[data-o="4"]{right:6%;top:46%}.as-obj[data-o="4"] svg{width:56px}
.as-sac{position:absolute;left:50%;bottom:6%;width:min(270px,58%);transform:translateX(-50%)}
.as-sac-svg{width:100%;display:block;filter:drop-shadow(0 20px 22px rgba(70,40,15,.25))}
.as-etiq{position:absolute;right:-8%;top:34%;background:#FFC93C;color:var(--ink);font-family:var(--ff-h);font-size:26px;padding:6px 16px 8px;border-radius:6px 16px 16px 6px;box-shadow:0 10px 18px -10px rgba(0,0,0,.4);transform:scale(0) rotate(-30deg);opacity:0}
.as-etiq::before{content:"";position:absolute;left:-7px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #E0A921}
@media(max-width:860px){.as-g{grid-template-columns:1fr}}

/* 6. la guirlande */
.af{overflow:hidden}
.gl{position:relative;height:clamp(300px,30vw,400px);margin:10px 0 30px}
.gl-fil{position:absolute;left:0;top:0;width:100%;height:140px;overflow:visible}
.gl-items{position:absolute;inset:0}
.gp{position:absolute;margin:0;width:clamp(120px,12.5vw,190px);transform:translateX(-50%);background:#fff;padding:9px 9px 0;border-radius:4px;box-shadow:0 22px 40px -24px rgba(70,40,15,.55)}
.gp img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}
.gp figcaption{font-family:var(--ff-h);font-size:19px;text-align:center;padding:5px 0 7px;color:#5A3A20}
.pince{position:absolute;left:50%;top:-12px;width:12px;height:30px;margin-left:-6px;border-radius:3px;background:linear-gradient(90deg,#C8955E,#E3B886 50%,#C8955E);box-shadow:0 2px 4px rgba(0,0,0,.2);z-index:2}
.pince::after{content:"";position:absolute;left:3px;right:3px;top:12px;height:3px;border-radius:2px;background:#9C6B3A}
@media(max-width:700px){.gl{height:auto;overflow-x:auto;padding:0 0 10px}.gl-fil{display:none}.gl-items{position:relative;display:flex;gap:18px;padding:20px 16px 10px;width:max-content}.gp{position:relative;left:auto!important;top:auto!important;transform:none;width:150px}.gl-items::before{content:"";position:absolute;left:0;right:0;top:12px;height:2px;background:#B89A7A}}
.avs3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.avq{margin:0;background:var(--sable);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:10px}
.avq-e{color:#F2A515;letter-spacing:2px}
.avq p{margin:0;font-size:17px;line-height:1.5}
.avq cite{font-style:normal;font-weight:700;font-size:14px;color:var(--mute)}
.av-src{margin-top:14px;font-size:13px;color:var(--mute)}.av-src a{text-decoration:underline;color:var(--ink)}
@media(max-width:860px){.avs3{grid-template-columns:1fr}}

/* 7. venir au village : le panneau */
.av-fin{background:#EEF3EE;padding:clamp(70px,10vw,130px) 0}
.av-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,80px);align-items:center}
.av-txt h2{font-size:clamp(34px,4.4vw,62px);letter-spacing:-.04em;line-height:1}
.av-txt .lead{margin-top:18px}
.av-l{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.av-l li{display:flex;gap:14px;align-items:baseline}.av-l b{min-width:90px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.av-l a{font-weight:800;font-size:20px}
.panneau{position:relative;height:380px;max-width:360px;margin:0 auto;width:100%}
.pn-pied{position:absolute;left:50%;top:40px;bottom:0;width:18px;margin-left:-9px;background:linear-gradient(90deg,#7A4A26,#9C6536 50%,#7A4A26);border-radius:4px}
.pn-planche{position:absolute;left:50%;top:0;z-index:2;transform:translateX(-50%) rotate(-3deg);background:linear-gradient(#B9784A,#9C6536);border-radius:10px;padding:16px 26px;text-align:center;color:#FFF3DF;box-shadow:0 16px 26px -14px rgba(70,40,15,.7),inset 0 0 0 3px rgba(255,255,255,.12);white-space:nowrap}
.pn-planche span{display:block;font-family:var(--ff-h);font-size:26px;line-height:1}
.pn-planche b{display:block;font-family:var(--ff-t);font-weight:800;font-size:34px;letter-spacing:-.03em;line-height:1}
.pn-fleche{position:absolute;z-index:2;padding:10px 22px;font-family:var(--ff-h);font-size:24px;color:#5A3A20;background:#F3D7A7;box-shadow:0 10px 16px -12px rgba(70,40,15,.7)}
.pn-f1{left:50%;top:130px;clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%);transform:rotate(-4deg)}
.pn-f2{right:50%;top:200px;clip-path:polygon(14% 0,100% 0,100% 100%,14% 100%,0 50%);transform:rotate(3deg);padding-left:34px}
.pn-f3{left:50%;top:270px;clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%);transform:rotate(-2deg)}
@media(max-width:860px){.av-g{grid-template-columns:1fr}.panneau{height:330px}}

/* ============ la trace de pattes qui suit la souris (toutes les pages) ============ */
.trace{position:fixed;left:0;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;pointer-events:none;z-index:950;opacity:0}
.trace svg{width:100%;height:100%;fill:#8A4B25}

/* jouets posés */
.jx{position:absolute;left:0;right:0;bottom:0;height:150px;z-index:3;pointer-events:none}
.jt{position:absolute;bottom:34px;pointer-events:auto;cursor:pointer;will-change:transform;rotate:var(--r)}
.jt svg{display:block;width:96px;height:auto;filter:drop-shadow(0 10px 8px rgba(70,40,15,.22))}
.jt-balle svg{width:54px}
@media(max-width:860px){.jx{height:110px}.jt{bottom:26px}.jt svg{width:64px}.jt-balle svg{width:40px}.jt:nth-child(3),.jt:nth-child(6){display:none}}
/* chiots : tout le haut tient dans le premier écran, jouets compris */
@media(min-width:861px){
  .chh{min-height:100svh;padding:clamp(110px,14vh,140px) 0 160px}
  .chh h1{font-size:clamp(40px,5vw,78px)}
  .chh-photo{height:min(60vh,600px);width:auto;justify-self:end;aspect-ratio:4/5}
  .chh-grille{align-items:center}
}

/* NOS CHIENS V3 */
.nc{background:radial-gradient(90% 80% at 80% 10%,#FFEFC2 0%,#EEF3EE 45%,#FFFDF8 100%);padding:clamp(120px,15vh,160px) 0 clamp(40px,6vw,70px)}
.nc-t{max-width:760px}
.nc-t .pills{margin-bottom:22px}
.nc h1{font-size:clamp(40px,5.6vw,84px);letter-spacing:-.045em;line-height:.95}
.nc .lead{margin-top:18px}
.trombi{display:flex;flex-wrap:wrap;gap:clamp(16px,2.4vw,34px);margin-top:clamp(34px,5vw,56px)}
.tb-g{display:flex;flex-direction:column;gap:10px}
.tb-r{font-family:var(--ff-h);font-size:24px;color:#9A6B3F;line-height:1}
.tb-l{display:flex;gap:10px}
.tb{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:0;cursor:pointer}
.tb-rond{display:block;width:clamp(58px,6vw,78px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 12px 22px -14px rgba(70,40,15,.6);background:#E4EDE5;transition:border-color .25s}
.tb-rond img{width:100%;height:100%;object-fit:cover}
.tb-rond svg{width:60%;margin:20%;fill:var(--soleil)}
.tb:hover .tb-rond{border-color:#FFC93C}
.tb-n{font-size:12.5px;font-weight:700}
.cr-aide{display:flex;align-items:center;gap:8px;margin:-8px 0 18px;font-family:var(--ff-h);font-size:22px;color:#9A6B3F}
.cr-aide svg{width:20px;height:20px;fill:none;stroke:#9A6B3F;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chien.carte{overflow:visible;border:0;background:none;perspective:1400px;transform-style:flat}
.chien.carte:hover{transform:none;box-shadow:none}
.cr-in{display:grid;transition:transform .9s cubic-bezier(.3,1.4,.4,1);transform-style:preserve-3d;height:100%}
.carte.flip .cr-in{transform:rotateY(180deg)}
.cr-face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--r);overflow:hidden;background:#fff;border:1.5px solid var(--line)}
.cr-av{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.carte:not(.flip):hover .cr-av{transform:translateY(-5px);box-shadow:0 30px 60px -34px rgba(0,0,0,.35)}
.cr-ar{transform:rotateY(180deg);background:#2A1C12;color:#fff;border-color:#2A1C12;padding:22px 20px;display:flex;flex-direction:column;gap:8px}
.cr-ar .race{color:#E3B886}
.cr-ar h3{font-size:34px;letter-spacing:-.035em}
.cr-role{font-family:var(--ff-h);font-size:26px;color:#FFC93C;line-height:1}
.cr-ar p{margin:0;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.85)}
.cr-ar dl{display:flex;gap:8px;margin:4px 0 0}
.cr-ar dl div{flex:1;background:rgba(255,255,255,.08);border-radius:var(--r-s);padding:8px 10px}
.cr-ar dt{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cr-ar dd{margin:2px 0 0;font-weight:700;font-size:13.5px}
.cr-ar .btn{margin-top:auto;justify-content:center;height:48px;font-size:14px}
.cr-med{position:absolute;right:14px;bottom:-18px;z-index:2;display:flex;flex-direction:column;align-items:center;transform-origin:50% 0;transition:transform .3s}
.cr-med i{width:2px;height:8px;background:#B8892E}
.cr-med b{display:flex;align-items:center;justify-content:center;text-align:center;width:58px;height:58px;padding:4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFE9A6,#E3B23C 55%,#B8862B);box-shadow:inset 0 -3px 5px rgba(120,80,10,.35),0 8px 14px -8px rgba(120,80,10,.7);font-family:var(--ff-t);font-weight:800;font-size:12px;line-height:1;color:#5B3A0A;overflow:hidden;word-break:break-word}
.carte:hover .cr-med{animation:medaille 1.1s ease-in-out}
@keyframes medaille{15%{transform:rotate(18deg)}35%{transform:rotate(-13deg)}55%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}
.cr-av figure{overflow:visible}.cr-av figure img{border-radius:var(--r) var(--r) 0 0}
.cr-av .in{padding-top:22px}
@media(max-width:700px){.trombi{gap:14px}.tb-l{gap:8px}.cr-ar{padding:16px 14px}.cr-ar h3{font-size:26px}.cr-role{font-size:21px}.cr-ar p{font-size:13px}}
.cr-ar p{display:block;-webkit-line-clamp:unset;overflow:visible}
@media(max-width:700px){.cr-med b{width:46px;height:46px;font-size:10px}.cr-med{right:10px;bottom:-14px}}

/* PENSION : le sac interactif */
.sac2{background:#EEF3EE}
.sac2-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.sac2-liste{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:8px}
.sac2-liste li{display:flex;align-items:center;gap:12px;font-weight:600;cursor:pointer;padding:6px 0;transition:color .3s}
.sac2-liste li i{width:26px;height:26px;flex:none;border-radius:50%;border:2px solid #E0CFB2;background:#fff;position:relative;transition:background .3s,border-color .3s}
.sac2-liste li.on{color:var(--mute);text-decoration:line-through;text-decoration-color:#C9B08F}
.sac2-liste li.on i{background:var(--soleil);border-color:var(--soleil)}
.sac2-liste li.on i::after{content:"";position:absolute;left:7px;top:3px;width:7px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.sac2-scene{position:relative;height:clamp(420px,42vw,520px);border-radius:var(--r);background:radial-gradient(70% 60% at 50% 70%,#FFE9B8,#E4EDE5 75%)}
.s2o{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:6px;cursor:pointer;font-family:var(--ff-h);font-size:19px;color:#7A5234;will-change:transform;transition:filter .2s}
.s2o svg{width:78px;height:auto;filter:drop-shadow(0 8px 10px rgba(70,40,15,.2));transition:transform .3s var(--ease)}
.s2o:hover svg{transform:translateY(-6px) rotate(-6deg)}
.s2o[data-i="2"] svg,.s2o[data-i="3"] svg,.s2o[data-i="4"] svg{width:54px}
.s2-sac{position:absolute;left:50%;bottom:5%;width:min(260px,56%);transform:translateX(-50%)}
.s2-sac svg{width:100%;display:block;filter:drop-shadow(0 20px 22px rgba(70,40,15,.25))}
.s2-cpt{position:absolute;left:50%;top:62%;transform:translateX(-50%);font-family:var(--ff-t);font-weight:800;font-size:22px;color:#FFE9C7}
.s2-etiq{position:absolute;right:-10%;top:30%;background:#FFC93C;color:var(--ink);font-family:var(--ff-h);font-size:26px;padding:6px 16px 8px;border-radius:6px 16px 16px 6px;box-shadow:0 10px 18px -10px rgba(0,0,0,.4);transform:scale(0);opacity:0;white-space:nowrap}
.s2-fin{position:absolute;left:0;right:0;top:8%;display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;pointer-events:none;text-align:center}
.s2-fin.on{pointer-events:auto}
.s2-fin p{margin:0;font-family:var(--ff-h);font-size:30px;color:#5A3A20}
.s2-vider{background:none;border:0;text-decoration:underline;color:var(--mute);font-size:13px;cursor:pointer}
@media(max-width:860px){.sac2-g{grid-template-columns:1fr}.s2o svg{width:60px}.s2o[data-i="2"] svg,.s2o[data-i="3"] svg,.s2o[data-i="4"] svg{width:42px}.s2o{font-size:16px}}

/* BOUTIQUE V3 */
.bq{background:radial-gradient(90% 80% at 80% 20%,#FFEFC2 0%,#EEF3EE 45%,#FFFDF8 100%);padding:clamp(120px,15vh,160px) 0 clamp(40px,6vw,70px)}
.bq-g{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center}
.bq-t .pills{margin-bottom:22px}
.bq h1{font-size:clamp(40px,5.4vw,82px);letter-spacing:-.045em;line-height:.95;max-width:12ch}
.bq .lead{margin-top:18px}
.bq-gam-svg{width:100%;max-width:420px;display:block;margin:0 auto;filter:drop-shadow(0 26px 30px rgba(70,40,15,.25))}
.bq-cats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.bq-cats a{height:44px;padding:0 18px;display:inline-flex;align-items:center;border-radius:999px;background:var(--sable);font-weight:700;font-size:14px;transition:background .25s,color .25s}
.bq-cats a:hover{background:var(--ink);color:#fff}
.bq-h2{margin-bottom:18px;font-size:clamp(28px,3.4vw,44px)}
.prod{position:relative;padding-top:20px}
.prod-ic{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:#E4EDE5;margin-bottom:8px}
.prod-ic svg{width:52px;height:52px;overflow:visible}
.prod:hover .prod-ic svg{animation:sautille .6s ease}
@keyframes sautille{30%{transform:translateY(-8px) rotate(-6deg)}60%{transform:translateY(0) rotate(4deg)}}
.pan-gam{gap:10px;padding:0 20px 0 12px}
.pan-gam .gam{display:flex;width:42px;height:30px}
.pan-gam .gam svg{width:100%;height:100%;overflow:visible}
.pan-gam.pleine{background:var(--soleil)}
.pan-gam.pleine i{background:#fff;color:var(--soleil)}
@media(max-width:860px){.bq-g{grid-template-columns:1fr}.bq-gam-svg{max-width:280px}}
.panier:not(.open){box-shadow:none;visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s}

/* CONTACT V3 : la carte postale */
.ct3{background:radial-gradient(90% 80% at 80% 20%,#FFEFC2 0%,#EEF3EE 45%,#FFFDF8 100%);padding:clamp(120px,15vh,160px) 0 clamp(50px,7vw,90px);overflow:hidden}
.ct3-g{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:center}
.ct3-t .pills{margin-bottom:22px}
.ct3 h1{font-size:clamp(36px,4.6vw,70px);letter-spacing:-.045em;line-height:.97}
.ct3 .lead{margin-top:18px}
.cp{position:relative;background:#FFFDF6;border-radius:8px;padding:clamp(18px,2.4vw,30px);box-shadow:0 40px 70px -40px rgba(70,40,15,.55),0 2px 0 #EFE3CC;background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(180,150,110,.08) 31px 32px)}
.cp-g{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.cp-msg{display:flex;flex-direction:column;gap:12px;border-right:2px solid #E9DCC4;padding-right:22px}
.cp-lab{font-family:var(--ff-h);font-size:24px;color:#7A5234}
.cp-chips{display:flex;flex-wrap:wrap;gap:6px}
.cp-chips button{height:36px;padding:0 14px;border-radius:999px;border:1.5px solid #E6D7BD;background:#fff;font-weight:700;font-size:13px}
.cp-chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cp textarea,.cp input{width:100%;border:0;border-bottom:1.5px dashed #D9C6A5;background:transparent;font-family:var(--ff-h);font-size:24px;line-height:32px;color:#3B2A1C;outline:none;resize:none;padding:0 2px}
.cp textarea::placeholder,.cp input::placeholder{color:#BFA88A}
.cp-adr{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px}
.cp-timbre{position:absolute;right:0;top:0;width:74px;height:88px;background:#8A4B25;border:5px solid #fff;outline:2px dashed #D9C6A5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transform:rotate(4deg)}
.cp-timbre svg{width:40px;fill:#FFC93C}.cp-timbre span{color:#FFE9C7;font-weight:800;font-size:13px}
.cp-tampon{position:absolute;right:48px;top:34px;width:92px;height:92px;border-radius:50%;border:3px solid rgba(138,75,37,.75);color:rgba(138,75,37,.85);font-weight:800;font-size:11px;line-height:1.1;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;transform:rotate(-14deg)}
.cp-tampon small{font-size:13px;margin-top:3px}
.cp-lignes{display:flex;flex-direction:column}
.cp-lignes span{font-family:var(--ff-h);font-size:22px;color:#3B2A1C;border-bottom:1.5px solid #E2D2B6;padding:4px 0}
.cp-go{margin-top:20px;width:100%;justify-content:center;background:#1F8F4E}
.cp-go:hover{background:#18763F}
.cp-envoye{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) scale(.4);opacity:0;background:#FFC93C;font-family:var(--ff-h);font-size:34px;padding:8px 22px;border-radius:10px;box-shadow:0 14px 26px -12px rgba(0,0,0,.4);pointer-events:none;rotate:-6deg}
@media(max-width:860px){.ct3-g{grid-template-columns:1fr}.cp-g{grid-template-columns:1fr}.cp-msg{border-right:0;border-bottom:2px solid #E9DCC4;padding:0 0 18px}.cp-adr{min-height:190px}}

/* RÉSERVATION : étiquette */
.recap{overflow:visible}
.etiq{position:relative;align-self:center;width:min(260px,92%);margin:-58px auto 6px;background:#FFE7B0;color:#3B2A1C;border-radius:10px 10px 18px 18px;padding:34px 18px 16px;text-align:center;box-shadow:0 16px 26px -14px rgba(0,0,0,.45);clip-path:polygon(18% 0,82% 0,100% 16%,100% 100%,0 100%,0 16%);transform-origin:50% 0}
.etiq-trou{position:absolute;left:50%;top:10px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--ink);box-shadow:inset 0 0 0 3px #E0A921}
.etiq-fil{display:none}
.etiq-l{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#9A6B3F}
.etiq-nom{font-family:var(--ff-h);font-size:40px;line-height:1.05;color:#5A3A20;word-break:break-word}
.etiq-d{font-size:13px;font-weight:700;margin-top:4px}
.etiq-b{font-size:11.5px;color:#7A5234;margin-top:8px;border-top:1.5px dashed #D9B77A;padding-top:8px}
@media(min-width:1001px){.recap{top:150px}}
@media(max-width:1000px){.etiq{display:none}}
/* fonds : blanc pur, gris très clair pour alterner (fini le crème, 28/09) */
.ah,.nc,.ct3,.chh,.bq{background:#fff}
.sac2-scene,.as-scene{background:#E6EEE7}
.ah::after{display:none}

/* ============ PALETTE DU VILLAGE (28/09) : blanc, sauge des parcs, cognac du logo, vert forêt, soleil en touche ============ */
:root{--foret:#23473B;--foret-2:#2E5E4E;--sauge:#EEF3EE;--soleil-j:#F4B63F}
.btn-k,.horaires,.recap,.calc-r,.av,.hs--fin,.infos,.sej.plus,.cr-ar{background:var(--foret);border-color:var(--foret)}
.btn-k:hover{background:#1B382E}
.etape .num i,.cal-g .d.a,.cal-g .d.b,.seg button.on,.filtres button.on,.cp-chips button.on,.chien .lof,.quiz-rep button.on{background:var(--foret);border-color:var(--foret)}
.hs--fin .hs-ic{background:rgba(255,255,255,.12)}
.huit-fil{background:var(--foret-2)}
.pill-etat.on i{background:#2E9E5B}
.ah-l2{color:var(--foret-2)}
.rcc-col{background:linear-gradient(#2E5E4E,#23473B)}
.fin{background:var(--sauge)!important}
.k{color:var(--foret-2)}
.cr-ar .race{color:#CFE3D6}
.av-quand,.cr-role{color:var(--soleil-j)}
.sac2-liste li.on i{background:var(--foret-2);border-color:var(--foret-2)}
.hs-ic svg,.tb-rond svg{fill:var(--soleil)}
.trace svg{fill:#2E5E4E}
/* mentions légales */
.ml{padding:clamp(120px,15vh,160px) 0 clamp(60px,8vw,110px)}
.ml-w{max-width:980px}
.ml h1{font-size:clamp(40px,5.4vw,78px);letter-spacing:-.045em;line-height:.95;margin:12px 0 36px}
.ml-g{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ml-b{background:var(--sauge);border-radius:var(--r);padding:22px 24px}
.ml-b h2{font-size:20px;letter-spacing:-.02em;margin-bottom:8px}
.ml-b p{margin:0;color:#3B3F3A;line-height:1.6}.ml-b a{text-decoration:underline}
@media(max-width:760px){.ml-g{grid-template-columns:1fr}}
/* pension : le haut aligné sur les autres pages, avec le tampon « sept hectares » qui tourne */
.ph{padding:clamp(120px,15vh,160px) 0 clamp(50px,7vw,90px);background:#fff}
.ph-g{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center}
.ph-t .pills{margin-bottom:22px}
.ph h1{font-size:clamp(40px,5.2vw,80px);letter-spacing:-.045em;line-height:.95;max-width:14ch}
.ph .lead{margin-top:20px;max-width:46ch}
.ph-v{position:relative}
.ph-photo{margin:0;border-radius:999px 999px 14px 14px;overflow:hidden;aspect-ratio:4/4.6;border:8px solid #fff;box-shadow:0 40px 80px -50px rgba(20,50,40,.55)}
.ph-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.ph-tampon{position:absolute;left:-34px;bottom:34px;width:clamp(120px,12vw,170px);filter:drop-shadow(0 16px 20px rgba(20,50,40,.3))}
.ph-tampon svg{display:block;width:100%;animation:tourne 26s linear infinite}

@keyframes tourne{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ph-tampon svg{animation:none}}
@media(max-width:860px){.ph-g{grid-template-columns:1fr}.ph-photo{max-width:360px;margin:0 auto}.ph-tampon{left:4px;bottom:10px;width:110px}}

/* liste d'attente : téléphone, chiot visé, merci */
.af-in.ko{border-color:#D8452C;box-shadow:0 0 0 3px rgba(216,69,44,.15)}
.af-piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.af-chiot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;background:var(--sauge);border-radius:var(--r-s);padding:12px 14px;font-size:14px}
.af-chiot[hidden]{display:none}
.af-chiot button{background:none;border:0;text-decoration:underline;color:var(--mute);font-size:13px;cursor:pointer}
.af-merci{margin:14px 0 0;background:#E4F3E9;color:#1E5E3A;border-radius:var(--r-s);padding:12px 14px;font-weight:600;font-size:14px}
.af-merci[hidden]{display:none}

/* ===== PAGES DE RACE ===== */
.etapes.etapes-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1060px){.etapes.etapes-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.etapes.etapes-4{grid-template-columns:1fr}}

/* ===== PAGES DE RACE V2 (01/10) : chaque race a sa couleur (--rc) ===== */
.chh.rc-hero{background:radial-gradient(110% 90% at 85% 15%,color-mix(in srgb,var(--rc) 30%,#fff) 0%,color-mix(in srgb,var(--rc) 9%,#fff) 48%,#fff 100%)}
.rc-h1{max-width:none!important;line-height:.92}
.rc-h1 .rc-k{display:block;font-size:clamp(18px,1.9vw,26px);letter-spacing:-.01em;font-weight:700;color:color-mix(in srgb,var(--rc) 80%,#000)}
.rc-h1 .rc-nom{display:block;font-size:clamp(50px,7.6vw,116px);letter-spacing:-.05em;margin:6px 0}
.rc-photo{position:relative;margin:0;justify-self:end;width:min(100%,500px);aspect-ratio:1}
.rc-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:50%;border:10px solid #fff;box-shadow:0 40px 80px -45px color-mix(in srgb,var(--rc) 70%,#000)}
.rc-blob{position:absolute;inset:-7%;z-index:0;background:var(--rc);opacity:.85;border-radius:58% 42% 51% 49% / 46% 55% 45% 54%;animation:rcBlob 14s ease-in-out infinite alternate}
@keyframes rcBlob{50%{border-radius:42% 58% 38% 62% / 58% 42% 58% 42%;transform:rotate(14deg)}100%{border-radius:55% 45% 60% 40% / 40% 60% 40% 60%;transform:rotate(-8deg)}}
.rc-badge{position:absolute;z-index:2;display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:999px;background:#fff;font-weight:800;font-size:15px;color:color-mix(in srgb,var(--rc) 80%,#000);box-shadow:0 18px 30px -16px rgba(0,0,0,.35);animation:rcFlotte 5s ease-in-out infinite}
.rc-badge--a{top:9%;left:-4%}
.rc-badge--b{bottom:11%;right:-3%;animation-delay:-2.5s}
@keyframes rcFlotte{50%{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.rc-blob,.rc-badge{animation:none}}
@media(max-width:900px){.rc-photo{justify-self:center;width:min(84%,380px);margin-top:20px}.rc-badge{height:38px;font-size:13px;padding:0 14px}}

.rc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rc-stat{background:color-mix(in srgb,var(--rc) 9%,#fff);border-radius:var(--r);padding:22px 22px 24px;border-top:5px solid var(--rc)}
.rc-st-k{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.rc-stat b{font-family:var(--ff-t);font-size:clamp(19px,1.7vw,24px);letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
.rc-deux{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.rc-carte{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.6vw,34px)}
.rc-carte h3{font-size:22px;letter-spacing:-.02em;margin-bottom:16px}
.rc-carte .rc-h3b{margin:26px 0 12px}
.rc-carte p{margin:0;color:#3B3730}
.rc-groupe{margin-top:14px!important;font-size:14px;color:var(--mute)!important}
.rc-j{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 14px;padding:14px 0;border-bottom:1px solid var(--line)}
.rc-j:last-child{border-bottom:0}
.rc-j-l{font-weight:700}
.rc-j-v{grid-column:1/-1;font-size:14px;color:var(--mute);margin-top:-4px}
.rc-j-b{display:flex;gap:5px}
.rc-j-b i{width:30px;height:12px;border-radius:6px;background:#E5EBE5}
.rc-j-b i.on{background:var(--rc);transform-origin:left;transform:scaleX(.15);opacity:.3;transition:transform .7s var(--ease),opacity .7s}
.rc-jauges.vu .rc-j-b i.on{transform:none;opacity:1}
.rc-jauges.vu .rc-j-b i:nth-child(2){transition-delay:.08s}.rc-jauges.vu .rc-j-b i:nth-child(3){transition-delay:.16s}.rc-jauges.vu .rc-j-b i:nth-child(4){transition-delay:.24s}.rc-jauges.vu .rc-j-b i:nth-child(5){transition-delay:.32s}
.rc-traits,.rc-robes{display:flex;flex-wrap:wrap;gap:8px}
.rc-trait{padding:9px 16px;border-radius:999px;font-weight:800;font-size:15px;background:color-mix(in srgb,var(--rc) 14%,#fff);color:color-mix(in srgb,var(--rc) 78%,#000)}
.rc-robe{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border-radius:999px;border:1.5px solid var(--line);font-weight:700;font-size:14px;background:#fff}
.rc-robe i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.rc-prevenu{text-align:center;margin:18px 0 0}
.rc-prevenu a{color:var(--mute);text-decoration:underline;font-weight:600}
.rc-autres{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rc-autre{display:flex;flex-direction:column;gap:6px;background:#fff;border-radius:var(--r);padding:20px;border-top:5px solid var(--rc);text-decoration:none;color:var(--ink);transition:transform .4s var(--ease),box-shadow .4s}
.rc-autre:hover{transform:translateY(-6px);box-shadow:0 24px 40px -28px color-mix(in srgb,var(--rc) 80%,#000)}
.rc-autre-im{width:76px;height:76px;border-radius:50%;overflow:hidden;border:4px solid color-mix(in srgb,var(--rc) 30%,#fff);margin-bottom:6px}
.rc-autre-im img{width:100%;height:100%;object-fit:cover}
.rc-autre b{font-size:19px;letter-spacing:-.02em}
.rc-autre span:last-child{font-size:14px;color:var(--mute)}
@media(max-width:1000px){.rc-stats,.rc-autres{grid-template-columns:repeat(2,1fr)}.rc-deux{grid-template-columns:1fr}}
@media(max-width:520px){.rc-stats{grid-template-columns:1fr 1fr;gap:10px}.rc-stat{padding:16px}.rc-autres{grid-template-columns:1fr}}

/* ===== NOS CHIOTS V2 (01/10) : tri par race, photos qui défilent, agrandissement ===== */
.tri-races{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tri-races::-webkit-scrollbar{display:none}
.tri-races button{--rc:var(--foret);flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:118px;padding:14px 12px 12px;border-radius:var(--r);border:2px solid var(--line);background:#fff;font:inherit;cursor:pointer;transition:transform .3s var(--ease),border-color .3s,background .3s}
.tri-races button:hover{transform:translateY(-3px)}
.tri-races button.on{border-color:var(--rc);background:color-mix(in srgb,var(--rc) 10%,#fff);box-shadow:0 0 0 2px var(--rc) inset}
.tri-rond{width:58px;height:58px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;border:3px solid color-mix(in srgb,var(--rc) 35%,#fff)}
.tri-rond img{width:100%;height:100%;object-fit:cover}
.tri-tous{background:var(--foret);color:#fff;font-weight:800;font-size:13px}
.tri-races b{font-size:15px}
.tri-races small{font-size:12px;color:var(--mute);font-weight:600}
.cr8{position:absolute;inset:0}
.cr8-piste{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.cr8-piste::-webkit-scrollbar{display:none}
.cr8-piste img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;cursor:zoom-in}
.ct:hover .cr8-piste img{transform:none}
.cr8-b{position:absolute;top:50%;z-index:2;width:40px;height:40px;margin-top:-20px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px -8px rgba(0,0,0,.4);opacity:0;transition:opacity .25s}
.cr8-b svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cr8-av{left:10px}.cr8-ap{right:10px}.cr8-ap svg{transform:scaleX(-1)}
.ct:hover .cr8-b,.rs-carte:hover .cr8-b{opacity:1}
@media(hover:none){.cr8-b{opacity:1;width:34px;height:34px;margin-top:-17px}}
.cr8-pts{position:absolute;left:0;right:0;bottom:12px;z-index:2;display:flex;justify-content:center;gap:6px;pointer-events:none}
.cr8-pts i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);transition:all .25s}
.cr8-pts i.on{background:#fff;width:20px;border-radius:4px}
.cr8-n{position:absolute;right:12px;top:14px;z-index:2;font-size:12px;font-weight:800;color:#fff;background:rgba(21,19,15,.55);padding:5px 10px;border-radius:999px}
.ct-ph{position:absolute;right:12px;bottom:12px;z-index:2;font-size:11px;font-weight:700;color:#fff;background:rgba(21,19,15,.5);padding:4px 9px;border-radius:999px}
.ct{border-top:5px solid var(--rc,var(--line))}
.ct-race a{color:inherit;text-decoration:none;border-bottom:1.5px solid color-mix(in srgb,var(--rc,#999) 50%,transparent)}
.ct-dl{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
.ct-dl div{background:color-mix(in srgb,var(--rc,#2E5E4E) 8%,#fff)!important}
.ct-att a{color:inherit}
.zoom{position:fixed;inset:0;z-index:200;background:rgba(14,12,10,.94);display:none;align-items:center;justify-content:center}
.zoom.on{display:flex}
.zoom-piste{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.zoom-piste::-webkit-scrollbar{display:none}
.zoom-piste figure{flex:0 0 100%;margin:0;display:flex;align-items:center;justify-content:center;padding:64px 16px;scroll-snap-align:start}
.zoom-piste img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.zoom-t{position:absolute;top:18px;left:20px;right:70px;color:#fff;font-weight:800;font-size:17px;z-index:2}
.zoom-x{position:absolute;top:10px;right:14px;z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.zoom-b{position:absolute;top:50%;z-index:2;width:52px;height:52px;margin-top:-26px;border-radius:50%;border:0;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;cursor:pointer}
.zoom-b svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.zoom-av{left:14px}.zoom-ap{right:14px}.zoom-ap svg{transform:scaleX(-1)}
@media(max-width:700px){.zoom-b{display:none}}

/* la liste d'attente, discrète */
.attente--discrete{padding:clamp(50px,7vw,90px) 0!important}
.attente--discrete h2{font-size:clamp(28px,3.4vw,44px)!important}
.attente-form.envoye .af-lab,.attente-form.envoye .af-races,.attente-form.envoye .af-in,.attente-form.envoye .af-go{display:none}
.af-erreur{color:#B3261E;font-weight:700;margin-top:10px}

/* ===== RÉSERVER UN CHIOT ===== */
.rs-haut{padding:clamp(110px,14vh,150px) 0 10px;background:radial-gradient(90% 90% at 85% 0%,#FFF1C9 0%,#fff 60%)}
.rs-haut h1{font-size:clamp(40px,5.6vw,80px);letter-spacing:-.045em;line-height:.95}
.rs-haut .lead{margin-top:16px;max-width:56ch}
.rs-retour{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--mute);text-decoration:none;margin-bottom:18px}
.rs-retour svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.rs-sec{padding-top:clamp(24px,4vw,44px)!important}
.rs-grille{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3.5vw,48px);align-items:start}
.rs-carte{background:#fff;border:1.5px solid var(--line);border-top:5px solid var(--rc,var(--line));border-radius:var(--r);overflow:hidden;position:sticky;top:96px}
.rs-carte figure{position:relative;margin:0;aspect-ratio:4/3.4;background:var(--sable)}
.rs-carte .in{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.rs-carte h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.035em}
.rs-charge,.rs-info{background:var(--sable);border-radius:var(--r);padding:22px;color:#3B3730}
.rs-info a{text-decoration:underline}
.rs-chiot h2{font-size:26px;letter-spacing:-.02em;margin:0 0 12px}
.rs-liste{display:flex;flex-direction:column;gap:10px}
.rs-mini{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:10px;text-decoration:none;color:var(--ink)}
.rs-mini img{width:72px;height:72px;border-radius:var(--r-s);object-fit:cover}
.rs-mini b{display:block;font-size:18px}
.rs-mini span{color:var(--mute);font-size:14px}
.rs-form{background:#fff;border-radius:var(--r);padding:clamp(22px,3vw,36px);box-shadow:0 30px 70px -45px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:14px}
.rs-form h2{font-size:28px;letter-spacing:-.025em}
.rs-form label span{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.rs-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rs-pour{background:var(--sable);border-radius:var(--r-s);padding:12px 14px;margin:0}
.rs-ok{display:flex!important;gap:12px;align-items:flex-start;cursor:pointer}
.rs-ok input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--foret)}
.rs-ok span{font-weight:500!important;font-size:15px!important;margin:0!important}
.rs-err{color:#B3261E;font-weight:700;margin:0}
.rs-go{justify-content:center}
.af-in.ko{border-color:#B3261E}
.rs-merci{grid-column:2;background:#fff;border-radius:var(--r);padding:clamp(26px,3.4vw,42px);box-shadow:0 30px 70px -45px rgba(0,0,0,.4);text-align:center}
.rs-merci svg{width:56px;height:56px;padding:12px;border-radius:50%;background:#E4F3E9;fill:none;stroke:#1E7A46;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.rs-merci h2{font-size:32px;margin:14px 0 8px}
.rs-merci p{margin:0 0 20px}
@media(max-width:900px){.rs-grille{grid-template-columns:1fr}.rs-carte{position:static}.rs-merci{grid-column:auto}}
@media(max-width:480px){.rs-2{grid-template-columns:1fr}}

/* ===== NOS CHIENS V2 : les cinq races ===== */
.nc-races{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:clamp(28px,4vw,44px)}
.nc-race{position:relative;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:var(--r);text-decoration:none;color:var(--ink);background:linear-gradient(160deg,color-mix(in srgb,var(--rc) 22%,#fff),color-mix(in srgb,var(--rc) 6%,#fff));border:1.5px solid color-mix(in srgb,var(--rc) 25%,#fff);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s}
.nc-race:hover{transform:translateY(-6px);box-shadow:0 30px 50px -32px color-mix(in srgb,var(--rc) 90%,#000)}
.nc-race-im{width:118px;height:118px;border-radius:50%;overflow:hidden;border:6px solid #fff;box-shadow:0 18px 30px -18px rgba(0,0,0,.45)}
.nc-race-im img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.nc-race:hover .nc-race-im img{transform:scale(1.08)}
.nc-race-t small{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--rc) 75%,#000)}
.nc-race-t b{display:block;font-size:clamp(24px,2.2vw,30px);letter-spacing:-.035em;line-height:1.05;margin:6px 0}
.nc-race-t span{color:#3B3730}
.nc-race-go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font-weight:800;color:color-mix(in srgb,var(--rc) 80%,#000)}
.nc-race-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.nc-race:hover .nc-race-go svg{transform:translateX(4px)}
a.tb{text-decoration:none;color:inherit}

/* ===== retouches V2 (01/10) ===== */
.foot .wrap{grid-template-columns:1.4fr 1fr 1fr 1fr}
@media(max-width:900px){.foot .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot .wrap{grid-template-columns:1fr}}
.rs-carte .ct-race{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.rs-carte .ct-race a{color:inherit;text-decoration:none}
.rs-carte .ct-dl{margin:6px 0 0}
.rs-carte .ct-dl div{border-radius:var(--r-s);padding:10px 12px}
.rs-carte dt{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.rs-carte dd{margin:2px 0 0;font-weight:800;font-size:16px}
.rs-carte p{margin:0;color:#3B3730}
.nc-races{grid-template-columns:repeat(6,1fr)}
.nc-race{grid-column:span 2}
.nc-race:nth-child(n+4){grid-column:span 3;flex-direction:row;align-items:center}
.nc-race:nth-child(n+4) .nc-race-t{flex:1}
.nc-race:nth-child(n+4) .nc-race-go{margin-top:0;align-self:flex-end}
@media(max-width:1000px){.nc-races{grid-template-columns:1fr 1fr}.nc-race,.nc-race:nth-child(n+4){grid-column:span 1;flex-direction:column;align-items:stretch}.nc-race:nth-child(n+4) .nc-race-go{align-self:auto;margin-top:auto}.nc-race:last-child{grid-column:1/-1}}
@media(max-width:560px){.nc-races{grid-template-columns:1fr}.nc-race:last-child{grid-column:auto}.nc-race-im{width:96px;height:96px}}

/* ===== chiots d'une race : le haut compact, les chiots tout de suite ===== */
.chh.chh--race{min-height:0;padding:clamp(96px,12vh,128px) 0 clamp(26px,4vw,44px);background:radial-gradient(110% 100% at 85% 0%,color-mix(in srgb,var(--rc) 26%,#fff) 0%,color-mix(in srgb,var(--rc) 7%,#fff) 55%,#fff 100%)}
.chh--race .jx,.chh--race .chh-astuce{display:none}
.chh--race .chh-grille{align-items:center}
.chh--race h1{font-size:clamp(36px,4.6vw,66px)}
.chh--race .chh-photo{aspect-ratio:1;max-width:300px;justify-self:end;border-radius:50%;border-color:#fff;box-shadow:0 0 0 8px color-mix(in srgb,var(--rc) 70%,#fff),0 30px 60px -40px rgba(0,0,0,.5)}
.chh--race .chh-photo img{object-position:50% 50%}
@media(max-width:900px){.chh--race .chh-photo{display:none}}
body.tri-actif #dispo{padding-top:clamp(18px,3vw,30px)}
body.tri-actif #dispo .sec-head{display:none}
.ct h3 a{color:inherit;text-decoration:none}
.ct h3 a:hover{text-decoration:underline}

/* ===== nos chiens : deux boutons par race ===== */
.nc-race,.nc-race:nth-child(n+4){flex-direction:column;align-items:stretch}
.nc-race-im{display:block}
.nc-race-t b a{color:inherit;text-decoration:none}
.nc-race-b{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.nc-race-b .btn{justify-content:center;width:100%}
.nc-race-b .btn-w{background:rgba(255,255,255,.7)}
.nc-races{grid-template-columns:repeat(5,1fr)}
.nc-race,.nc-race:nth-child(n+4){grid-column:auto}
@media(max-width:1200px){.nc-races{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.nc-races{grid-template-columns:1fr 1fr}.nc-race:last-child{grid-column:1/-1}}
@media(max-width:560px){.nc-races{grid-template-columns:1fr}.nc-race:last-child{grid-column:auto}.nc-race{flex-direction:row;flex-wrap:wrap;align-items:center}.nc-race-im{width:84px;height:84px}.nc-race-t{flex:1;min-width:0}.nc-race-b{flex-basis:100%;flex-direction:row}.nc-race-b .btn{min-height:48px;font-size:14px;padding:0 10px}}

/* ===== chiots d'une race : le haut se réduit à un titre, les chiots sont dans le premier écran ===== */
.chh.chh--race{padding:clamp(92px,11vh,112px) 0 6px}
.chh--race .chh-photo{display:none}
.chh--race .chh-grille{grid-template-columns:1fr}
.chh--race .pills .pill:not(.pill-etat){display:none}
.chh--race h1{max-width:none;font-size:clamp(34px,4.4vw,60px);margin-top:4px}
.chh--race .lead{margin-top:10px;font-size:17px}
.chh--race #chh-go{display:none}
.chh--race .hero-row{margin-top:14px}
.chh--race .hero-row .btn-w{min-height:44px;font-size:15px}
body.tri-actif .tri-races{gap:8px;padding:2px 2px 10px;margin-bottom:14px}
body.tri-actif .tri-races button{flex-direction:row;min-width:0;padding:6px 14px 6px 6px;gap:8px;border-radius:999px}
body.tri-actif .tri-rond{width:34px;height:34px;border-width:2px}
body.tri-actif .tri-tous{font-size:10px}
body.tri-actif .tri-races small{display:none}
body.tri-actif .tri-races b{font-size:14px;white-space:nowrap}
@media(max-width:700px){.chh--race .hero-row{display:none}.chh--race .lead{font-size:15px}}
.nc-race-im{width:96px;height:96px}
.nc .nc-t h1{font-size:clamp(40px,5vw,72px)}

/* carte postale : téléphone, mail, erreur */
.cp-msg input+input{margin-top:6px}
.cp-err{margin:10px 0 0;color:#B3261E;font-weight:700;font-size:15px}

.ct-par{font-weight:700;color:color-mix(in srgb,var(--rc,#2E5E4E) 75%,#000)!important}

/* reproducteurs depuis l'espace : « 3 photos » sur la carte, dos qui défile si beaucoup d'informations */
.cr-photos{position:absolute;right:12px;bottom:12px;z-index:3;font-size:12px;font-weight:800;color:#fff;background:rgba(21,19,15,.6);padding:6px 11px;border-radius:999px;text-decoration:none}
.cr-ar{overflow:auto}
/* le bandeau d'annonce */
.annonce{position:fixed;left:50%;bottom:18px;z-index:250;display:flex;align-items:center;gap:12px;max-width:min(92vw,620px);padding:12px 12px 12px 20px;border-radius:999px;background:var(--foret);color:#fff;font-weight:700;box-shadow:0 20px 40px -18px rgba(0,0,0,.5);transform:translate(-50%,140%);opacity:0;transition:transform .6s var(--ease),opacity .4s}
.annonce.on{transform:translate(-50%,0);opacity:1}
.annonce.part{transform:translate(-50%,140%);opacity:0}
.annonce span{flex:1;font-size:15px;line-height:1.35}
.annonce a{flex:none;background:#F4B63F;color:#15130F;font-weight:800;font-size:14px;padding:9px 16px;border-radius:999px;text-decoration:none}
.annonce button{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:22px;line-height:1;cursor:pointer}
@media(max-width:560px){.annonce{border-radius:16px;bottom:12px;width:92vw}}

/* deux demandes : réserver, ou des infos */
.ct-infos{display:block;text-align:center;margin-top:10px;font-weight:700;font-size:14px;color:color-mix(in srgb,var(--rc,#2E5E4E) 80%,#000);text-decoration:underline;text-underline-offset:3px}
.rs-seg{display:flex;background:#EEF3EE;border-radius:12px;padding:4px;margin-bottom:6px}
.rs-seg button{flex:1;min-height:46px;border:0;border-radius:9px;background:transparent;font:inherit;font-weight:800;font-size:15px;color:var(--mute);cursor:pointer}
.rs-seg button.on{background:#fff;color:var(--ink);box-shadow:0 4px 12px -6px rgba(0,0,0,.3)}
.rs-sujets>span{display:block;font-weight:700;font-size:14px;margin-bottom:8px}
.rs-chips{display:flex;flex-wrap:wrap;gap:8px}
.rs-chips button{padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.rs-chips button.on{border-color:var(--foret);background:#EEF3EE;color:var(--foret);box-shadow:0 0 0 1px var(--foret) inset}

.rs-ok[hidden],.rs-sujets[hidden]{display:none!important}

.ct-infos{display:flex!important;align-items:center;justify-content:center;min-height:48px;border:1.5px solid color-mix(in srgb,var(--rc,#2E5E4E) 45%,#fff);border-radius:var(--r-s);background:color-mix(in srgb,var(--rc,#2E5E4E) 6%,#fff);text-decoration:none!important;font-size:15px!important}
.ct-infos:hover{background:color-mix(in srgb,var(--rc,#2E5E4E) 12%,#fff)}

/* liens « Voir aussi : élevage de … dans le Loiret » */
.rc-liens{font-size:15px;color:var(--mute);max-width:820px;margin-left:auto;margin-right:auto}
.rc-liens a,.rc-autres-s .lead a,.faq .a a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.rc-liens a:hover,.rc-autres-s .lead a:hover,.faq .a a:hover{color:var(--soleil)}

/* la balle qui roule ne fait plus déborder la page sur téléphone */
.jx{overflow-x:clip}
/* les polaroïds inclinés de la galerie ne dépassent plus le bord sur téléphone */
@media(max-width:700px){.polas{overflow-x:clip}}
