/* Sensual Massage — dark luxury theme (charcoal + antique gold) */
@import url('../fonts/fonts.css');
:root{
  --bg:#0e0c0a; --bg2:#141110; --panel:#1a1613; --panel2:#221c17; --line:#2e2620;
  --gold:#c9a25f; --gold2:#a8843f; --sand:#e8d9c0; --text:#f4efe7; --muted:#b3a894;
  --green:#7ac08a; --red:#e07b6c; --r:16px; --r2:22px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
section{scroll-margin-top:90px}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Outfit','Inter',sans-serif;line-height:1.15}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 22px}
.gold{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#191308;font-weight:700;border:0;border-radius:999px;padding:14px 30px;font-size:15px;cursor:pointer;transition:.2s;font-family:'Outfit',sans-serif;letter-spacing:.02em}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(201,162,95,.35)}
.btn.ghost{background:transparent;color:var(--sand);border:1.5px solid var(--line)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);box-shadow:none}
.btn.sm{padding:10px 20px;font-size:14px}
.badge{display:inline-block;background:rgba(201,162,95,.14);border:1px solid rgba(201,162,95,.4);color:var(--gold);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700;letter-spacing:.04em}

/* topbar */
.topbar{background:var(--bg2);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:8px 22px;gap:10px;flex-wrap:wrap}
.topbar b{color:var(--sand)}

/* header */
header{position:sticky;top:0;z-index:60;background:rgba(14,12,10,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;gap:26px;padding:14px 22px}
.logo{font-family:'Outfit',sans-serif;font-size:24px;font-weight:800;letter-spacing:.01em}
.logo em{font-style:normal;color:var(--gold)}
nav{display:flex;gap:22px;margin-left:auto;font-size:14.5px;color:var(--muted);font-weight:600}
nav a:hover{color:var(--gold)}
header .btn{white-space:nowrap}
#burger{display:none;background:none;border:0;color:var(--sand);font-size:26px;cursor:pointer;margin-left:auto}

/* hero */
.hero{position:relative;overflow:hidden;padding:86px 0 72px;background:
  linear-gradient(96deg,rgba(10,8,6,.95) 0%,rgba(10,8,6,.88) 42%,rgba(10,8,6,.55) 78%,rgba(10,8,6,.42) 100%),
  url('../assets/hero-bg.jpg') center/cover no-repeat}
.hero::after{content:'';position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.hero .wrap{position:relative;z-index:2}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.hero h1{font-size:clamp(34px,4.6vw,56px);font-weight:800;margin:18px 0 14px}
.hero h1 span{background:linear-gradient(90deg,var(--gold),var(--sand));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{color:var(--muted);font-size:17.5px;max-width:520px;margin-bottom:28px}
.findbox{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:18px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;box-shadow:var(--shadow)}
.findbox select{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:13px 18px;font-size:14.5px;outline:none;cursor:pointer;min-width:130px}
.findbox select:focus{border-color:var(--gold)}
.findbox input[type=text]{flex:1;min-width:110px;max-width:150px;background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:13px 20px;font-size:15px;outline:none}
.findbox input:focus{border-color:var(--gold)}
.seg{display:flex;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px}
.seg button{border:0;background:transparent;color:var(--muted);padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif}
.seg button.on{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#191308}
.hero-stats{display:flex;gap:26px;margin-top:30px;flex-wrap:wrap}
.hero-stats .st b{display:block;font-family:'Outfit',sans-serif;font-size:24px;color:var(--sand)}
.hero-stats .st span{font-size:13px;color:var(--muted)}
.hero-visual{position:relative;min-height:430px}
.hero-visual .frame{border-radius:var(--r2);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4/4.4}
.hero-visual .frame img{width:100%;height:100%;object-fit:cover}
.float-card{position:absolute;background:rgba(26,22,19,.95);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-size:13px;box-shadow:var(--shadow);backdrop-filter:blur(6px)}
.fc1{left:-16px;top:24px}.fc1 b{color:var(--green)}
.fc2{right:-10px;bottom:34px}.fc2 b{color:var(--gold)}

/* sections */
section{padding:64px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 42px}
.sec-head h2{font-size:clamp(26px,3.2vw,38px);font-weight:800;margin:10px 0}
.sec-head p{color:var(--muted)}
.alt{background:var(--bg2)}

/* trust strip */
.trust{border-block:1px solid var(--line);background:var(--bg2)}
.trust .wrap{display:flex;justify-content:space-between;gap:14px;padding:16px 22px;flex-wrap:wrap}
.trust span{font-size:13.5px;color:var(--muted);font-weight:600}
.trust b{color:var(--gold)}

/* how */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;position:relative}
.step .n{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#191308;font-family:'Outfit',sans-serif;font-weight:800;font-size:18px;margin-bottom:14px}
.step h3{font-size:17px;margin-bottom:6px}
.step p{font-size:13.5px;color:var(--muted)}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:.2s}
.svc:hover{border-color:rgba(201,162,95,.5);transform:translateY(-3px)}
.svc .ic{font-size:26px;margin-bottom:12px}
.svc h3{font-size:18px;margin-bottom:6px}
.svc p{font-size:13.5px;color:var(--muted);margin-bottom:14px}
.svc .prices{display:flex;gap:8px;flex-wrap:wrap}
.svc .pr{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:6px 12px;font-size:12.5px;color:var(--sand)}
.svc .pr b{color:var(--gold)}

/* therapists */
.filters{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.filters select{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:10px 18px;font-size:14px;outline:none;cursor:pointer}
.t-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:20px}
.tcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;transition:.2s;display:flex;flex-direction:column}
.tcard:hover{border-color:rgba(201,162,95,.55);transform:translateY(-4px);box-shadow:var(--shadow)}
.tphoto{aspect-ratio:16/10;background:var(--panel2);position:relative;overflow:hidden}
.tphoto img{width:100%;height:100%;object-fit:cover}
.mono{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-size:52px;font-weight:800;color:var(--sand);background:linear-gradient(135deg,#2a221a,#1b1612)}
.mono.f{background:linear-gradient(135deg,#3a2530,#1e1419)}
.tphoto .gen{position:absolute;top:10px;left:10px;font-size:11.5px;font-weight:800;letter-spacing:.05em;padding:4px 12px;border-radius:999px;background:rgba(14,12,10,.8);border:1px solid var(--line);color:var(--sand)}
.tphoto .off{position:absolute;top:10px;right:10px;font-size:11.5px;font-weight:800;padding:4px 12px;border-radius:999px;background:linear-gradient(135deg,#c0563f,#98402e);color:#fff}
.tbody{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.tbody h3{font-size:17.5px;display:flex;align-items:center;gap:8px;justify-content:space-between}
.stars{color:var(--gold);font-size:13px;font-weight:700}
.stars span{color:var(--muted);font-weight:500}
.tcity{font-size:13px;color:var(--muted)}
.specs{display:flex;gap:6px;flex-wrap:wrap}
.specs i{font-style:normal;font-size:11.5px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--sand)}
.tprice{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;gap:8px;flex-wrap:wrap}
.tprice .p{font-family:'Outfit',sans-serif;font-size:20px;font-weight:800;color:var(--gold);white-space:nowrap}
.tprice .p small{font-size:12px;color:var(--muted);font-weight:600}
.tprice .was{font-size:12.5px;color:var(--muted);text-decoration:line-through;margin-left:6px;white-space:nowrap}

/* offers */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.offer{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px dashed rgba(201,162,95,.55);border-radius:var(--r2);padding:28px;text-align:center}
.offer .tag{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--gold);margin-bottom:8px}
.offer h3{font-size:21px;margin-bottom:8px}
.offer p{font-size:13.5px;color:var(--muted);margin-bottom:16px}
.offer code{background:var(--bg);border:1px solid var(--line);color:var(--sand);padding:8px 18px;border-radius:10px;font-size:14px;letter-spacing:.14em;font-weight:700}

/* overnight banner */
.overnight{position:relative;border-radius:var(--r2);overflow:hidden;border:1px solid var(--line);display:grid;grid-template-columns:1.1fr .9fr;min-height:320px;background:var(--panel)}
.overnight .txt{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.overnight h2{font-size:clamp(24px,3vw,34px)}
.overnight p{color:var(--muted);max-width:440px}
.overnight .img{position:relative}
.overnight .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.overnight ul{list-style:none;display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--sand)}
.overnight ul b{color:var(--gold)}

/* cities */
.city-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.city{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 14px;text-align:center;transition:.15s;cursor:pointer}
.city:hover{border-color:var(--gold);transform:translateY(-2px)}
.city b{display:block;font-family:'Outfit',sans-serif;font-size:15.5px}
.city span{font-size:12px;color:var(--muted)}

/* reviews */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rev{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.rev .stars{font-size:15px;margin-bottom:12px}
.rev p{font-size:14px;color:var(--sand);margin-bottom:16px}
.rev .who{font-size:13px;color:var(--muted)}
.rev .who b{color:var(--text)}

/* faq */
.faq{max-width:760px;margin:0 auto}
.fq{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.fq button{width:100%;background:none;border:0;color:var(--text);text-align:left;padding:18px 22px;font-size:15.5px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;gap:12px;font-family:'Outfit',sans-serif}
.fq button i{font-style:normal;color:var(--gold);font-size:20px;transition:.2s}
.fq .ans{max-height:0;overflow:hidden;transition:max-height .28s ease;color:var(--muted);font-size:14px}
.fq .ans p{padding:0 22px 18px}
.fq.open .ans{max-height:220px}
.fq.open button i{transform:rotate(45deg)}

/* cta band */
.cta-band{background:linear-gradient(rgba(14,12,10,.86),rgba(14,12,10,.9)),url('../assets/spa-3.jpg') center/cover no-repeat;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.cta-band h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:10px}
.cta-band p{color:var(--muted);margin-bottom:24px}

/* footer */
footer{background:var(--bg2);padding:50px 0 26px;font-size:13.5px;color:var(--muted)}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:26px;margin-bottom:30px}
footer h4{color:var(--sand);font-size:14px;margin-bottom:12px;font-family:'Outfit',sans-serif}
footer a:hover{color:var(--gold)}
footer ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.fbot{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* booking modal */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(8,6,5,.75);backdrop-filter:blur(6px)}
.modal.on{display:flex}
.mbox{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);width:100%;max-width:560px;max-height:92vh;overflow:auto;box-shadow:var(--shadow)}
.mhead{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}
.mhead h3{font-size:18px}
.mhead button{background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer;line-height:1}
.mhead button:hover{color:var(--red)}
.msteps{display:flex;gap:6px;padding:16px 24px 0}
.msteps i{font-style:normal;height:4px;flex:1;border-radius:99px;background:var(--line)}
.msteps i.on{background:var(--gold)}
.mbody{padding:20px 24px 26px}
.mbody label{display:block;font-size:13px;font-weight:700;color:var(--sand);margin:14px 0 6px}
.mbody input,.mbody select,.mbody textarea{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:12px 16px;font-size:14.5px;outline:none;font-family:'Inter',sans-serif}
.mbody input:focus,.mbody select:focus,.mbody textarea:focus{border-color:var(--gold)}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.opt{background:var(--bg2);border:1.5px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;transition:.15s}
.opt:hover{border-color:rgba(201,162,95,.5)}
.opt.sel{border-color:var(--gold);background:rgba(201,162,95,.08)}
.opt b{display:block;font-size:14.5px}
.opt span{font-size:12.5px;color:var(--muted)}
.opt .op{color:var(--gold);font-weight:800;font-size:14px}
.mfoot{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--panel)}
.mfoot .tot{font-family:'Outfit',sans-serif}
.mfoot .tot b{font-size:20px;color:var(--gold)}
.mfoot .tot small{display:block;font-size:11.5px;color:var(--muted)}
.done{text-align:center;padding:34px 10px}
.done .tick{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));display:flex;align-items:center;justify-content:center;font-size:34px;color:#191308;margin:0 auto 18px}
.done h3{font-size:22px;margin-bottom:8px}
.done p{color:var(--muted);font-size:14px;margin-bottom:6px}

/* toast */
#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(80px);background:var(--panel2);border:1px solid var(--gold);color:var(--sand);padding:13px 26px;border-radius:999px;font-size:14px;font-weight:600;z-index:400;opacity:0;transition:.3s;pointer-events:none;box-shadow:var(--shadow)}
#toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* responsive */
@media(max-width:1020px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-visual{display:none}
  .steps{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .offer-grid{grid-template-columns:1fr}
  .rev-grid{grid-template-columns:1fr}
  .city-grid{grid-template-columns:repeat(3,1fr)}
  .overnight{grid-template-columns:1fr}
  .overnight .img{min-height:200px}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:1020px){
  footer .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body{padding-bottom:70px}
  .mob-bar{position:fixed;bottom:0;left:0;right:0;z-index:150;display:flex;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(14,12,10,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mob-bar .btn{flex:1;padding:13px 10px}
  .mb-call{display:flex;align-items:center;justify-content:center;background:var(--panel2);border:1px solid var(--line);color:var(--sand);border-radius:999px;padding:12px 20px;font-weight:700;font-size:14.5px}
  .findbox{flex-direction:column;align-items:stretch;padding:14px;gap:10px}
  .findbox select{width:100%;min-width:0;padding:14px 18px}
  .findbox input[type=text]{max-width:none;width:100%;padding:14px 20px}
  .findbox .seg{width:100%}
  .seg button{flex:1;padding:11px 6px}
  .findbox .btn{width:100%;padding:15px 10px}
  .filters{gap:8px}
  .filters .seg{width:100%}
  .filters select{flex:1;min-width:46%;padding:12px 14px}
  section{scroll-margin-top:84px}
  .overnight .txt{padding:30px 22px}
  .mfoot{flex-wrap:wrap;gap:8px}
  .mfoot #m-back{order:1}
  .mfoot .tot{order:2;margin-left:auto;text-align:right}
  .mfoot #m-next{order:3;width:100%;padding:14px 10px}
  nav a{padding:11px 0;font-size:16px}
  .trust .wrap{justify-content:center;text-align:center;gap:8px}
  .hero{padding:52px 0 46px}
  .hero-stats{gap:16px 22px}
  .sec-head{margin-bottom:30px}

  nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg2);border-bottom:1px solid var(--line);flex-direction:column;padding:16px 22px;gap:14px}
  nav.on{display:flex}
  #burger{display:block}
  header .btn:not(.mob-book){display:none}
  header .mob-book{display:inline-flex;padding:9px 18px;font-size:13.5px;margin-left:auto}
  #burger{margin-left:0}
  .steps{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .city-grid{grid-template-columns:repeat(2,1fr)}
  .opt-grid{grid-template-columns:1fr}
  section{padding:46px 0}
}

/* ---------- LIVE CHAT ---------- */
.mob-book{display:none}
#cp-prev[hidden]{display:none!important}
.chat-fab{position:fixed;right:18px;bottom:86px;z-index:160;width:58px;height:58px;border-radius:50%;border:1px solid rgba(201,162,95,.5);background:linear-gradient(135deg,var(--gold),var(--gold2));font-size:24px;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;transition:.2s}
.chat-fab:hover{transform:scale(1.06)}
.chat-fab.hide{opacity:0;pointer-events:none;transform:scale(.6)}
.chat-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:99px;background:var(--red);color:#fff;font-size:11px;font-weight:800;align-items:center;justify-content:center;font-family:'Outfit',sans-serif}
.chat-panel{position:fixed;right:18px;bottom:86px;z-index:170;width:380px;max-width:calc(100vw - 24px);height:560px;max-height:calc(100vh - 110px);background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.6);display:none;flex-direction:column;overflow:hidden}
.chat-panel.on{display:flex;animation:cpin .22s ease}
@keyframes cpin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cp-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,rgba(201,162,95,.18),rgba(201,162,95,.06));border-bottom:1px solid var(--line)}
.cp-ava{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#191308;font-family:'Outfit',sans-serif;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center}
.cp-t b{display:block;font-size:14.5px;font-family:'Outfit',sans-serif}
.cp-t span{font-size:11.5px;color:var(--green)}
.cp-head button{margin-left:auto;background:none;border:0;color:var(--muted);font-size:22px;cursor:pointer;line-height:1}
.cp-head button:hover{color:var(--red)}
.cp-msgs{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:var(--bg2)}
.msg{max-width:82%;padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.5;position:relative}
.msg p{margin:0 0 4px}
.msg span{display:block;font-size:10px;opacity:.65;text-align:right}
.msg.sup{align-self:flex-start;background:var(--panel2);border:1px solid var(--line);border-bottom-left-radius:4px;color:var(--sand)}
.msg.me{align-self:flex-end;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#191308;border-bottom-right-radius:4px}
.msg img{max-width:100%;border-radius:10px;margin-bottom:6px;cursor:pointer;display:block}
.msg .dots{display:flex;gap:4px;padding:4px 2px}
.msg .dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:bl 1s infinite}
.msg .dots i:nth-child(2){animation-delay:.18s}.msg .dots i:nth-child(3){animation-delay:.36s}
@keyframes bl{0%,100%{opacity:.25}50%{opacity:1}}
.cp-quick{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;border-top:1px solid var(--line);background:var(--panel)}
.cp-quick button{flex:0 0 auto;background:var(--bg2);border:1px solid var(--line);color:var(--sand);border-radius:999px;padding:7px 13px;font-size:12px;cursor:pointer;font-weight:600}
.cp-quick button:hover{border-color:var(--gold);color:var(--gold)}
.cp-emoji{display:none;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px 10px;background:var(--panel);border-top:1px solid var(--line);max-height:132px;overflow-y:auto}
.cp-emoji.on{display:grid}
.cp-emoji button{background:none;border:0;font-size:19px;cursor:pointer;padding:5px;border-radius:8px}
.cp-emoji button:hover{background:var(--bg2)}
.cp-input{padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line)}
#cp-prev{max-height:74px;border-radius:10px;border:1px solid var(--gold);margin-bottom:8px;cursor:pointer}
.cp-row{display:flex;gap:8px;align-items:center}
.ci-btn{background:var(--bg2);border:1px solid var(--line);border-radius:12px;width:40px;height:40px;font-size:18px;cursor:pointer;flex:0 0 auto}
.ci-btn:hover{border-color:var(--gold)}
#cp-text{flex:1;min-width:0;background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:11px 18px;font-size:14px;outline:none}
#cp-text:focus{border-color:var(--gold)}
.ci-send{width:42px;height:42px;flex:0 0 auto;border:0;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#191308;font-size:16px;cursor:pointer}
@media(max-width:720px){
  .chat-fab{bottom:80px;right:14px}
  .chat-panel{right:0;left:0;bottom:0;top:auto;width:100vw;max-width:100vw;height:calc(100vh - 64px);max-height:none;border-radius:20px 20px 0 0}
}

/* ---------- MOBILE COMPACT (How It Works and below) ---------- */
@media(max-width:720px){
  section{padding:36px 0}
  .sec-head{margin-bottom:20px}
  .sec-head h2{font-size:24px;margin:8px 0 6px}
  .sec-head p{font-size:13.5px}
  /* How it works: 2x2 grid */
  .steps{grid-template-columns:1fr 1fr;gap:10px}
  .step{padding:16px 14px}
  .step .n{width:32px;height:32px;font-size:15px;border-radius:10px;margin-bottom:10px}
  .step h3{font-size:14.5px;line-height:1.3}
  .step p{font-size:12.5px;line-height:1.45}
  /* swipe rows: services, offers, why-us, gift, reviews */
  #svc-grid,#offer-grid,#why .svc-grid,#gift .svc-grid,#rev-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 22px;gap:12px;margin:0 -22px;padding:4px 22px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #svc-grid::-webkit-scrollbar,#offer-grid::-webkit-scrollbar,#why .svc-grid::-webkit-scrollbar,#gift .svc-grid::-webkit-scrollbar,#rev-grid::-webkit-scrollbar{display:none}
  #svc-grid>*,#offer-grid>*,#why .svc-grid>*,#gift .svc-grid>*,#rev-grid>*{flex:0 0 80%;scroll-snap-align:start;margin:0}
  .svc,.rev{padding:20px}
  .svc .ic{margin-bottom:8px}
  .offer{padding:22px 18px}
  .svc:hover{transform:none}
  #services .wrap::after,#offers .wrap::after,#why .wrap::after,#reviews .wrap::after,#cities .wrap::after{content:'Swipe for more  \2192';display:block;text-align:center;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:2px;opacity:.75}
  /* cities: 2-row horizontal slider */
  .city-grid{grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-template-columns:none;grid-auto-columns:42%;gap:10px;overflow-x:auto;margin:0 -22px;padding:4px 22px 12px;scroll-snap-type:x mandatory;scroll-padding:0 22px;scrollbar-width:none}
  .city-grid::-webkit-scrollbar{display:none}
  .city{padding:12px 10px;scroll-snap-align:start}
  /* overnight: compact, image on top */
  .overnight .img{min-height:150px;order:-1}
  .overnight .txt{padding:22px 20px;gap:10px}
  .overnight h2{font-size:22px}
  .overnight p{font-size:13.5px}
}

/* ---------- promo / slot messages ---------- */
.pmsg{font-size:12.5px;margin:6px 0 4px;color:var(--muted)}
.pmsg:empty{display:none}
.pmsg .ok{color:var(--green);font-weight:600}
.pmsg .bad{color:#e07a6a;font-weight:600}
.cta-band p b{color:var(--gold)}
/* ---------- live chat: manual mode ---------- */
.chat-panel [hidden]{display:none!important}
.msg.sys{align-self:center;max-width:92%;background:transparent;border:1px dashed var(--line);color:var(--muted);font-size:12px;text-align:center;padding:8px 12px;border-radius:12px}
.msg .seen{color:#24562e;font-weight:800}
.cp-pre{display:flex;flex-direction:column;gap:9px;padding:14px;background:var(--panel);border-top:1px solid var(--line)}
.cp-pre input{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:12px 16px;font-size:14px;outline:none}
.cp-pre input:focus{border-color:var(--gold)}
.cp-pre input.err{border-color:var(--red)}
.cp-pre .btn{width:100%;justify-content:center}
.mb-call{position:relative}
.mb-call .chat-badge{position:absolute;top:-6px;right:-4px}
@media(max-width:720px){.chat-fab{display:none!important}}

/* ---------- MOBILE: therapists swipe slider ---------- */
@media(max-width:720px){
  #t-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 22px;gap:12px;margin:0 -22px;padding:4px 22px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #t-grid::-webkit-scrollbar{display:none}
  #t-grid>.tcard{flex:0 0 80%;scroll-snap-align:start}
  #t-grid>p{flex:1 0 100%;margin:0}
  .tcard:hover{transform:none}
  #therapists .wrap::after{content:'Swipe for more  \2192';display:block;text-align:center;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:2px;opacity:.75}
  /* only one therapist after filtering: full-width card, no swipe hint */
  #therapists.t-few #t-grid>.tcard{flex-basis:100%}
  #therapists.t-few .wrap::after{display:none}
}
/* all swipe rows: a right-swipe on the first card must not fire the browser's back navigation */
@media(max-width:720px){html,body{overscroll-behavior-x:none}}

/* ---------- MOBILE: two-word logo stays on one line ---------- */
@media(max-width:720px){header .logo{white-space:nowrap;font-size:20px;letter-spacing:0}}
@media(max-width:380px){header .logo{font-size:18px}header .mob-book{padding:8px 14px}}
@media(max-width:340px){header .logo{font-size:16px}}
@media(max-width:720px){footer .cols>div:first-child{grid-column:1/-1}footer .logo{white-space:nowrap}}
