/* ══════════════════════════════════════════════
   CentresPadel.fr — main.css
   Design Talentify-style : Instrument Serif + Sora
   ══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F5F2EC;--cream2:#EDE9DF;--cream3:#E2DDD2;
  --white:#FFF;--ink:#18160F;--ink2:#36322A;--muted:#8A8478;
  --green:#1A6B45;--green2:#2D9E67;--green3:#52C98A;
  --gpale:#DCF0E6;--gmid:#A8DFC0;--border:#DDD9CE;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Sora',system-ui,sans-serif;
  --sh-sm:0 2px 16px rgba(24,22,15,.06);
  --sh-md:0 8px 40px rgba(24,22,15,.10);
  --sh-lg:0 24px 80px rgba(24,22,15,.14);
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}

/* ── GRID BG ── */
.grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--cream3) 1px,transparent 1px),linear-gradient(90deg,var(--cream3) 1px,transparent 1px);background-size:72px 72px;opacity:.3}

/* ── NAVIGATION ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;backdrop-filter:blur(24px) saturate(160%);background:rgba(245,242,236,.9);border-bottom:1px solid transparent;transition:border-color .3s}
nav.scrolled{border-color:var(--border)}
.nav-wrap{max-width:1280px;margin:0 auto;padding:0 40px;height:66px;display:flex;align-items:center;gap:32px}
@media(max-width:768px){.nav-wrap{padding:0 20px}}
.nav-logo{font-family:var(--serif);font-size:20px;color:var(--ink);text-decoration:none;flex-shrink:0}
.nav-logo b{color:var(--green);font-style:italic;font-weight:400}
.nav-links{display:flex;gap:24px;margin:0 auto}
@media(max-width:900px){.nav-links{display:none}}
.nav-links a{font-size:13px;font-weight:500;color:var(--muted);text-decoration:none;cursor:pointer;transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-end{display:flex;gap:8px;flex-shrink:0}
@media(max-width:768px){.nav-end{display:none}}
.nav-burger{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink)}
@media(max-width:900px){.nav-burger{display:flex}}
.nav-mobile{display:none;flex-direction:column;gap:8px;padding:16px 20px;background:var(--white);border-top:1px solid var(--border)}
.nav-mobile.open{display:flex}
.nav-mobile a{font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--border)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:99px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;border:none;transition:all .2s;white-space:nowrap}
.btn-ghost{background:none;color:var(--ink2);border:1.5px solid var(--border)}.btn-ghost:hover{border-color:var(--green);color:var(--green)}
.btn-solid{background:var(--ink);color:var(--cream)}.btn-solid:hover{background:var(--green)}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--ink)}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* ── LAYOUT ── */
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
@media(max-width:768px){.wrap{padding:0 20px}}
.section{padding:100px 0;position:relative;z-index:1}
@media(max-width:768px){.section{padding:60px 0}}

/* ── TYPOGRAPHY ── */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.eyebrow::before{content:'';width:16px;height:1.5px;background:var(--muted);border-radius:99px}
.s-title{font-family:var(--serif);font-size:clamp(34px,4vw,54px);line-height:1.06;letter-spacing:-.025em;margin-bottom:16px}
.s-title em{color:var(--green);font-style:italic}
.s-sub{font-size:15.5px;color:var(--muted);line-height:1.75;font-weight:300;max-width:500px}

/* ── HERO ── */
#hero-section{min-height:100vh;display:flex;align-items:center;position:relative;z-index:1;padding-top:66px}
.hero-inner{max-width:1280px;margin:0 auto;padding:80px 40px;display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:center;width:100%}
@media(max-width:1000px){.hero-inner{grid-template-columns:1fr;padding:60px 20px}}
.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 6px;border-radius:99px;background:var(--gpale);border:1px solid var(--gmid);font-size:12px;font-weight:600;color:var(--green);margin-bottom:26px}
.htag-dot{width:20px;height:20px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;font-size:11px;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}
.hero-h1{font-family:var(--serif);font-size:clamp(50px,6.5vw,86px);line-height:.97;letter-spacing:-.03em;margin-bottom:26px}
.hero-h1 em{font-style:italic;color:var(--green)}
.hero-sub{font-size:16.5px;color:var(--muted);line-height:1.75;max-width:500px;margin-bottom:40px;font-weight:300}

/* ── SEARCH BOX ── */
.search-box{background:var(--white);border:1.5px solid var(--border);border-radius:18px;padding:8px 8px 8px 20px;box-shadow:var(--sh-md);display:flex;align-items:center;gap:10px;max-width:560px;transition:border-color .2s,box-shadow .2s}
.search-box:focus-within{border-color:var(--green2);box-shadow:0 0 0 4px rgba(45,158,103,.1),var(--sh-md)}
.sb-icon{font-size:17px;flex-shrink:0}
.sb-input{flex:1;border:none;outline:none;font-family:var(--sans);font-size:14.5px;color:var(--ink);background:transparent}
.sb-input::placeholder{color:var(--muted)}
.sb-sep{width:1px;height:26px;background:var(--border);flex-shrink:0}
.sb-select{border:none;outline:none;font-family:var(--sans);font-size:13px;color:var(--ink2);background:transparent;cursor:pointer;font-weight:500;padding:0 6px}
.sb-btn{padding:10px 20px;border-radius:12px;background:var(--green);color:#fff;border:none;font-family:var(--sans);font-size:13.5px;font-weight:600;cursor:pointer;transition:background .2s;flex-shrink:0}
.sb-btn:hover{background:var(--ink)}
.hints{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.hint{font-size:12.5px;padding:5px 12px;border-radius:99px;background:var(--cream2);border:1px solid var(--border);color:var(--ink2);cursor:pointer;transition:all .2s;font-weight:500}
.hint:hover{background:var(--gpale);border-color:var(--gmid);color:var(--green)}
.proof{display:flex;align-items:center;gap:14px;margin-top:28px}
.avs{display:flex}
.av{width:29px;height:29px;border-radius:50%;border:2px solid var(--white);background:var(--gpale);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--green);margin-left:-7px;font-family:var(--serif)}
.av:first-child{margin-left:0}
.proof-txt{font-size:13px;color:var(--muted);line-height:1.4}
.proof-txt strong{font-weight:600;color:var(--ink)}

/* ── HERO FLOATING CARDS ── */
.hero-right{position:relative;height:560px}
@media(max-width:1000px){.hero-right{display:none}}
.fc{position:absolute;background:var(--white);border:1px solid var(--border);border-radius:22px;box-shadow:var(--sh-lg);overflow:hidden;animation:riseUp .9s ease both}
@keyframes riseUp{from{opacity:0;transform:translateY(36px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.fc:nth-child(1){top:0;left:20px;width:290px;animation-delay:.1s}
.fc:nth-child(2){top:90px;right:0;width:250px;animation-delay:.22s}
.fc:nth-child(3){bottom:90px;left:0;width:270px;animation-delay:.36s}
.fc:nth-child(4){bottom:20px;right:20px;width:210px;animation-delay:.5s}
.fc-img{height:100px;display:flex;align-items:center;justify-content:center;font-size:44px;position:relative}
.fc-tag{position:absolute;top:8px;left:10px;padding:3px 9px;border-radius:99px;font-size:10.5px;font-weight:700;background:rgba(255,255,255,.9);color:var(--green)}
.fc-body{padding:14px 16px}
.fc-name{font-size:13.5px;font-weight:700;margin-bottom:3px}
.fc-city{font-size:11.5px;color:var(--muted);margin-bottom:10px}
.fc-row{display:flex;justify-content:space-between;align-items:center}
.fc-courts{font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:5px}
.fc-badge{font-size:10.5px;padding:3px 8px;border-radius:99px;font-weight:600}
.indoor{background:var(--gpale);color:var(--green)}
.outdoor{background:#FFF3CD;color:#856404}
.fc-stat{padding:18px 20px}
.fc-sl{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.fc-big{font-family:var(--serif);font-size:38px;line-height:1;color:var(--ink);margin-bottom:3px}
.fc-big span{color:var(--green)}
.fc-ss{font-size:12px;color:var(--muted)}
.fc-pill{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:99px;background:var(--gpale);color:var(--green)}

/* ── MARQUEE ── */
.marquee{background:var(--ink);padding:14px 0;overflow:hidden;position:relative;z-index:1}
.mq-track{display:flex;width:max-content;animation:mq 28s linear infinite}
.mq-item{display:flex;align-items:center;gap:13px;padding:0 20px;white-space:nowrap;font-size:12.5px;font-weight:500;color:rgba(245,242,236,.55);letter-spacing:.02em}
.mq-dot{width:4px;height:4px;border-radius:50%;background:var(--green3);flex-shrink:0}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── STATS ── */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:56px}
@media(max-width:768px){.stats-row{grid-template-columns:1fr 1fr;gap:10px}}
.stat-box{background:var(--white);border:1px solid var(--border);padding:32px 28px;transition:background .2s;cursor:default}
.stat-box:first-child{border-radius:20px 0 0 20px}
.stat-box:last-child{border-radius:0 20px 20px 0}
@media(max-width:768px){.stat-box{border-radius:14px !important}}
.stat-box:hover{background:var(--green)}
.stat-num{font-family:var(--serif);font-size:48px;line-height:1;color:var(--ink);margin-bottom:6px;transition:color .2s}
.stat-num span{color:var(--green);transition:color .2s}
.stat-box:hover .stat-num{color:#fff}
.stat-box:hover .stat-num span{color:rgba(255,255,255,.6)}
.stat-label{font-size:13px;color:var(--muted);line-height:1.5;transition:color .2s}
.stat-box:hover .stat-label{color:rgba(255,255,255,.7)}

/* ── FILTERS ── */
.filter-wrap{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px 22px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:36px}
.f-label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em;margin-right:4px;flex-shrink:0}
.f-chip{padding:7px 15px;border-radius:99px;font-size:12.5px;font-weight:500;cursor:pointer;border:1.5px solid var(--border);background:transparent;color:var(--ink2);transition:all .2s;font-family:var(--sans)}
.f-chip:hover,.f-chip.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.f-chip.on.g{background:var(--green);border-color:var(--green)}

/* ── CLUBS GRID ── */
.clubs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:1000px){.clubs-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.clubs-grid{grid-template-columns:1fr}}
.club-card{background:var(--white);border:1px solid var(--border);border-radius:22px;overflow:hidden;cursor:pointer;transition:all .3s;text-decoration:none;color:inherit;display:block}
.club-card:hover{box-shadow:var(--sh-lg);transform:translateY(-4px);border-color:var(--gmid)}
.cc-img{height:152px;display:flex;align-items:center;justify-content:center;font-size:52px;position:relative;overflow:hidden}
.cc-img-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(24,22,15,.35))}
.cc-badges{position:absolute;bottom:10px;left:12px;display:flex;gap:6px}
.cc-ibadge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:99px;backdrop-filter:blur(8px)}
.cc-ibadge.ind{background:rgba(26,107,69,.85);color:#fff}
.cc-ibadge.out{background:rgba(245,158,11,.85);color:#fff}
.cc-ibadge.prem{background:rgba(24,22,15,.82);color:var(--cream)}
.cc-body{padding:18px 20px}
.cc-name{font-size:15.5px;font-weight:700;margin-bottom:3px}
.cc-city{font-size:12.5px;color:var(--muted);margin-bottom:13px}
.cc-row{display:flex;justify-content:space-between;align-items:center}
.cc-courts{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2)}
.cc-ico{width:24px;height:24px;border-radius:7px;background:var(--cream2);display:flex;align-items:center;justify-content:center;font-size:11px}
.cc-rating{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600}
.star{color:#F59E0B}
.cc-div{border:none;border-top:1px solid var(--cream2);margin:13px 0}
.cc-tags{display:flex;gap:5px;flex-wrap:wrap}
.cc-tag{font-size:11px;padding:3px 9px;border-radius:99px;background:var(--cream2);color:var(--ink2);font-weight:500}

/* ── HOW IT WORKS ── */
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:56px}
@media(max-width:900px){.how-grid{grid-template-columns:1fr 1fr;gap:10px}}
.how-box{background:var(--white);border:1px solid var(--border);padding:32px 26px;transition:all .25s}
.how-box:first-child{border-radius:20px 0 0 20px}
.how-box:last-child{border-radius:0 20px 20px 0}
@media(max-width:900px){.how-box{border-radius:16px !important}}
.how-box:hover{background:var(--green);box-shadow:var(--sh-lg)}
.how-box:hover .how-num,.how-box:hover .how-ttl,.how-box:hover .how-txt{color:#fff !important}
.how-box:hover .how-ico{background:rgba(255,255,255,.15) !important}
.how-num{font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--muted);margin-bottom:18px;display:block;transition:color .2s}
.how-ico{width:42px;height:42px;border-radius:11px;background:var(--cream2);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px;transition:all .2s}
.how-ttl{font-size:15.5px;font-weight:600;color:var(--ink);margin-bottom:8px;transition:color .2s}
.how-txt{font-size:13px;color:var(--muted);line-height:1.65;transition:color .2s}

/* ── CLAIM ── */
.claim-wrap{background:var(--ink);border-radius:28px;padding:64px 72px;display:grid;grid-template-columns:1fr 400px;gap:72px;align-items:center}
@media(max-width:900px){.claim-wrap{grid-template-columns:1fr;padding:44px 32px;gap:36px}}
.claim-tag2{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green3);margin-bottom:18px;display:flex;align-items:center;gap:8px}
.claim-tag2::before{content:'';width:14px;height:1.5px;background:var(--green3);border-radius:99px}
.claim-title{font-family:var(--serif);font-size:clamp(30px,3.5vw,46px);line-height:1.05;letter-spacing:-.025em;color:var(--cream);margin-bottom:18px}
.claim-title em{font-style:italic;color:var(--green3)}
.claim-sub{font-size:14.5px;color:rgba(245,242,236,.45);line-height:1.75;font-weight:300;margin-bottom:32px}
.bens{display:grid;gap:11px}
.ben{display:flex;gap:12px;align-items:flex-start}
.ben-ck{width:20px;height:20px;border-radius:6px;background:rgba(82,201,138,.15);border:1px solid rgba(82,201,138,.3);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--green3);flex-shrink:0;margin-top:1px}
.ben-txt{font-size:13.5px;color:rgba(245,242,236,.65);line-height:1.5}
.ben-txt strong{color:var(--cream);font-weight:600}
.claim-form-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px}
.fl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,242,236,.35);margin-bottom:7px;display:block}
.fi{width:100%;padding:12px 15px;border-radius:11px;border:1.5px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:var(--cream);font-family:var(--sans);font-size:14px;outline:none;transition:border-color .2s;margin-bottom:12px}
.fi::placeholder{color:rgba(245,242,236,.28)}
.fi:focus{border-color:var(--green3)}
.fi-submit{width:100%;padding:13px;border-radius:11px;background:var(--green);color:#fff;font-family:var(--sans);font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s;margin-top:4px}
.fi-submit:hover{background:var(--green2)}
.fi-note{font-size:11.5px;color:rgba(245,242,236,.28);text-align:center;margin-top:10px}

/* ── PRICING ── */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}}
.pc{background:var(--white);border:1px solid var(--border);border-radius:22px;padding:32px 28px;position:relative;transition:all .25s}
.pc:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.pc.feat{background:var(--ink);border-color:var(--ink)}
.pop{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:4px 13px;border-radius:99px;background:var(--green);color:#fff;white-space:nowrap}
.pc-name{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.feat .pc-name{color:rgba(245,242,236,.4)}
.pc-price{font-family:var(--serif);font-size:50px;line-height:1;color:var(--ink);margin-bottom:4px}
.feat .pc-price{color:var(--cream)}
.pc-price sup{font-size:20px;vertical-align:super;font-family:var(--sans);font-weight:300}
.pc-period{font-size:12.5px;color:var(--muted);margin-bottom:24px}
.feat .pc-period{color:rgba(245,242,236,.35)}
.pc-div{border:none;border-top:1px solid var(--cream2);margin:20px 0}
.feat .pc-div{border-color:rgba(255,255,255,.08)}
.pc-feats{list-style:none;display:grid;gap:10px;margin-bottom:26px}
.pc-feats li{display:flex;gap:9px;font-size:13px;color:var(--ink2);align-items:flex-start}
.feat .pc-feats li{color:rgba(245,242,236,.7)}
.pck{color:var(--green);font-weight:700;flex-shrink:0}
.feat .pck{color:var(--green3)}
.pc-cta{width:100%;padding:12px;border-radius:11px;font-family:var(--sans);font-size:13.5px;font-weight:600;cursor:pointer;border:none;transition:all .2s;text-align:center;display:block;text-decoration:none}
.pc-cta.sol{background:var(--ink);color:var(--cream)}.pc-cta.sol:hover{background:var(--green)}
.pc-cta.outl{background:transparent;color:var(--ink);border:1.5px solid var(--border)}.pc-cta.outl:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.pc-cta.hi{background:var(--green);color:#fff}.pc-cta.hi:hover{background:var(--green2)}

/* ── FOOTER ── */
footer{background:var(--ink);padding:60px 40px 36px;position:relative;z-index:1}
@media(max-width:768px){footer{padding:40px 20px 28px}}
.footer-inner{max-width:1280px;margin:0 auto}
.ft{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:40px;margin-bottom:56px}
@media(max-width:768px){.ft{grid-template-columns:1fr 1fr;gap:28px}}
.ft-logo{font-family:var(--serif);font-size:20px;color:var(--cream);margin-bottom:10px}
.ft-logo b{color:var(--green3);font-style:italic;font-weight:400}
.ft-tag{font-size:13px;color:rgba(245,242,236,.38);line-height:1.65;font-weight:300}
.ft-col-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,242,236,.28);margin-bottom:14px}
.ft-links{list-style:none;display:grid;gap:9px}
.ft-links a{font-size:13px;color:rgba(245,242,236,.5);text-decoration:none;transition:color .2s}
.ft-links a:hover{color:var(--cream)}
.ft-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12.5px;color:rgba(245,242,236,.28)}
.ft-bottom-links{display:flex;gap:20px}
.ft-bottom-links a{color:rgba(245,242,236,.28);text-decoration:none;transition:color .2s}
.ft-bottom-links a:hover{color:var(--cream)}

/* ── TOAST ── */
.toast{position:fixed;bottom:32px;right:32px;background:var(--ink);color:var(--cream);padding:14px 22px;border-radius:14px;font-size:14px;font-weight:500;z-index:999;box-shadow:var(--sh-lg);transform:translateY(80px);opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1)}
.toast.show{transform:translateY(0);opacity:1}

/* ── REVEAL ── */
.r{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.r.v{opacity:1;transform:translateY(0)}
.r1{transition-delay:.08s}.r2{transition-delay:.16s}.r3{transition-delay:.24s}.r4{transition-delay:.32s}

/* ── LOADING ── */
.loading-state{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted)}
.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── CLUB DETAIL ── */
.detail-hero{max-width:1280px;margin:0 auto;padding:110px 40px 80px;position:relative;z-index:1}
@media(max-width:768px){.detail-hero{padding:90px 20px 60px}}
.back-btn{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--muted);cursor:pointer;margin-bottom:32px;transition:color .2s;text-decoration:none}
.back-btn:hover{color:var(--green)}
.detail-grid{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:start}
@media(max-width:1000px){.detail-grid{grid-template-columns:1fr}}
.detail-img{height:320px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:100px;margin-bottom:32px;position:relative;overflow:hidden;border:1px solid var(--border)}
.detail-title{font-family:var(--serif);font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.025em;margin-bottom:8px}
.detail-title em{color:var(--green);font-style:italic}
.detail-city{font-size:15px;color:var(--muted);margin-bottom:16px}
.detail-badges{display:flex;gap:8px;margin-bottom:28px}
.detail-rating{display:flex;align-items:center;gap:8px;margin-bottom:28px}
.rating-stars{color:#F59E0B;font-size:18px;letter-spacing:1px}
.rating-num{font-family:var(--serif);font-size:24px}
.rating-count{font-size:13px;color:var(--muted)}
.detail-section{margin-bottom:36px}
.ds-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.ds-title::after{content:'';flex:1;height:1px;background:var(--border)}
.amenities{display:flex;gap:8px;flex-wrap:wrap}
.amenity{display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:12px;background:var(--cream2);font-size:13px;font-weight:500;color:var(--ink2)}
.desc-text{font-size:15px;color:var(--ink2);line-height:1.75;font-weight:300}
.detail-sidebar{position:sticky;top:90px}
.sidebar-card{background:var(--white);border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:var(--sh-md);margin-bottom:16px}
.sc-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.sc-price{display:flex;align-items:baseline;gap:4px;margin-bottom:6px}
.sc-amount{font-family:var(--serif);font-size:40px;line-height:1;color:var(--ink)}
.sc-period{font-size:13px;color:var(--muted)}
.sc-note{font-size:12.5px;color:var(--muted);margin-bottom:24px}
.contact-rows{display:grid;gap:10px;margin-bottom:22px}
.contact-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--cream2);font-size:13.5px;font-weight:500;cursor:pointer;transition:background .2s;text-decoration:none;color:var(--ink)}
.contact-row:hover{background:var(--gpale);color:var(--green)}
.contact-ico{font-size:18px;width:30px;text-align:center;flex-shrink:0}
.b2b-card{background:var(--ink);border-radius:18px;padding:22px;color:var(--cream)}
.b2b-tag{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green3);margin-bottom:10px;display:block}
.b2b-title{font-family:var(--serif);font-size:20px;line-height:1.2;margin-bottom:10px}
.b2b-sub{font-size:13px;color:rgba(245,242,236,.5);line-height:1.6;margin-bottom:18px;font-weight:300}
.b2b-btn{width:100%;padding:12px;border-radius:11px;background:var(--green);color:#fff;border:none;font-family:var(--sans);font-size:13.5px;font-weight:600;cursor:pointer;transition:background .2s;text-align:center;display:block;text-decoration:none}
.b2b-btn:hover{background:var(--green2)}

/* ── SUCCESS STATE ── */
.success-state{text-align:center;padding:40px 20px}
.success-state .s-icon{font-size:56px;margin-bottom:16px;display:block}
.success-state h3{font-family:var(--serif);font-size:28px;color:var(--green);margin-bottom:10px}
.success-state p{font-size:15px;color:rgba(245,242,236,.6);line-height:1.7;font-weight:300}
