/* ============================================================
   Ownership, claims, enquiries & paid placement.
   Loaded after site.css; inherits its custom properties.
   ============================================================ */

.btn-ghost-d{background:transparent;border:1px solid var(--line);color:var(--forest)}
.btn-ghost-d:hover{background:var(--forest);border-color:var(--forest);color:#fff}

/* ---- Sponsored row: visually distinct, never blended into organic results ---- */
.sponsored-row{margin-bottom:34px;padding:22px 22px 6px;
  background:linear-gradient(180deg,rgba(194,151,78,.07),rgba(194,151,78,0));
  border:1px solid rgba(194,151,78,.28);border-radius:20px}
.sponsored-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.sponsored-tag{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#fff;
  background:var(--gold);padding:4px 12px;border-radius:20px}
.sponsored-note{font-size:12.5px;color:var(--muted)}
.sponsored-note a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.sponsored-note a:hover{color:var(--gold)}
.clinic.is-sponsored{border-color:rgba(194,151,78,.4)}
.badge-spon{background:var(--gold)!important;color:#fff!important;font-weight:600}

/* ---- Claim flow ---- */
.claim-msg{padding:14px 18px;border-radius:12px;margin-bottom:20px;font-size:14.5px;line-height:1.6}
.claim-msg.ok{background:#e4f1e9;color:#1c6340;border:1px solid #c2e0d0}
.claim-msg.err{background:#fbe9e6;color:#a3392b;border:1px solid #f0cdc6}
.claim-msg.warn{background:#fdf4e1;color:#8a6414;border:1px solid #efdcb4}

.claim-card,.claim-method{background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:26px 28px;margin-bottom:18px}
.claim-card h2,.claim-method h3{margin-bottom:8px}
.claim-method h3{font-size:19px}
.cm-head{display:flex;align-items:center;gap:11px;margin-bottom:8px;flex-wrap:wrap}
.cm-badge{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:20px}
.cm-badge.instant{background:#dff0e6;color:#1e6b43}
.cm-badge.manual{background:#f1eee7;color:#6b7671}
.cm-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.cm-row input{flex:1;min-width:200px}
.claim-card input,.claim-method input,.claim-card textarea,.claim-card select{
  padding:12px 14px;border:1px solid var(--line);border-radius:11px;font-family:var(--sans);
  font-size:15px;background:#fdfbf6;color:var(--ink);width:100%}
.claim-card input:focus,.claim-method input:focus,.claim-card textarea:focus{
  outline:none;border-color:var(--gold);background:#fff}
.claim-card .cf{margin-bottom:15px}
.claim-card label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px}
.code-in{font-size:26px!important;letter-spacing:.3em;text-align:center;
  font-family:ui-monospace,Menlo,Consolas,monospace;max-width:220px}
code.tok{display:block;background:var(--ink);color:#d9e6df;padding:14px 17px;border-radius:11px;
  font-size:13px;word-break:break-all;margin:10px 0;
  font-family:ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;line-height:1.7}
.claim-method .btn,.claim-card .btn{margin-right:8px;margin-top:4px}

/* ---- Claim CTA in the profile sidebar ---- */
.claim-cta{background:var(--forest);color:#fff;border-radius:18px;padding:24px 26px;margin-top:18px}
.claim-cta b{font-family:var(--serif);font-size:19px;font-weight:600;display:block;margin-bottom:8px}
.claim-cta p{font-size:14px;color:rgba(255,255,255,.74);line-height:1.6;margin-bottom:16px}
.claim-cta .btn{width:100%;justify-content:center}
.claim-alt{display:block;text-align:center;margin-top:12px;font-size:13px;color:rgba(255,255,255,.65)}
.claim-alt:hover{color:var(--gold-soft)}
.claim-cta.owned{background:#fff;border:1px solid var(--line);color:var(--ink)}
.claim-cta.owned b{color:var(--forest)}
.claim-cta.owned p{color:var(--muted);margin-bottom:0}

/* ---- Enquiry form ---- */
.enq-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px;margin:18px 0 6px}
.enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.enq-form label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px}
.enq-form input,.enq-form textarea,.enq-form select{width:100%;padding:12px 14px;
  border:1px solid var(--line);border-radius:11px;font-family:var(--sans);font-size:15px;
  background:#fdfbf6;color:var(--ink);margin-bottom:14px}
.enq-form textarea{resize:vertical;line-height:1.6}
.enq-form input:focus,.enq-form textarea:focus,.enq-form select:focus{
  outline:none;border-color:var(--gold);background:#fff}
.enq-form .enq-grid input{margin-bottom:0}
.enq-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.enq-note{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.6}
.enq-note a{text-decoration:underline;text-underline-offset:2px}

/* ---- Profile extras ---- */
.prof-logo{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:12px;
  padding:7px;margin-bottom:14px;display:block}
.hero-spon{background:var(--gold);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:3px 11px;border-radius:20px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-bottom:10px}
.gallery figure{border-radius:14px;overflow:hidden;background:var(--cream-2);border:1px solid var(--line)}
.gallery img{width:100%;height:160px;object-fit:cover;display:block}
.gallery figcaption{font-size:12.5px;color:var(--muted);padding:9px 12px}
.vid-wrap{position:relative;padding-bottom:56.25%;height:0;border-radius:16px;overflow:hidden;
  margin-bottom:10px;background:var(--ink)}
.vid-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hours-tbl{width:100%;border-collapse:collapse;max-width:420px}
.hours-tbl th{text-align:left;font-weight:500;color:var(--muted);font-size:14px;
  padding:8px 20px 8px 0;border-bottom:1px solid var(--line)}
.hours-tbl td{text-align:right;font-size:14px;padding:8px 0;border-bottom:1px solid var(--line)}
.near-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.near{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px;transition:.25s}
.near:hover{border-color:var(--gold);transform:translateY(-2px)}
.near b{display:block;font-size:15px;margin-bottom:3px}
.near span{font-size:13px;color:var(--muted)}

/* ---- Pricing page ---- */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:22px;margin-bottom:50px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 30px;
  display:flex;flex-direction:column;position:relative}
.price-card.featured-card{border:2px solid var(--gold);box-shadow:var(--shadow)}
.pc-flag{position:absolute;top:-13px;left:30px;background:var(--gold);color:#fff;font-size:11px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:20px}
.price-card h3{font-size:22px;margin-bottom:10px}
.pc-price{font-family:var(--serif);font-size:46px;font-weight:600;color:var(--forest);line-height:1}
.pc-per{font-size:13.5px;color:var(--muted);margin-top:5px}
.pc-founding{font-size:13px;color:#8a6414;font-weight:600;margin-top:9px;line-height:1.5}
.pc-blurb{font-size:14.5px;color:var(--muted);margin:16px 0 20px;line-height:1.6}
.pc-list{list-style:none;flex:1;margin-bottom:24px}
.pc-list li{font-size:14.5px;padding:6px 0;display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.pc-list li span{font-weight:700;flex:none;width:14px}
.pc-list li.on span{color:#1e6b43}
.pc-list li.off{color:#aab4af}
.pc-list li.off span{color:#d3dad6}
.price-card .btn{justify-content:center;width:100%}
.price-note{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px 36px;margin-bottom:24px}
.price-note h2{font-size:26px;margin-bottom:22px}
.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px}
.how-grid b,.faq b{display:block;font-size:15.5px;margin-bottom:7px;color:var(--forest)}
.how-grid p,.faq p{font-size:14.5px;color:var(--muted);line-height:1.65}
.faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px}
.faq a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}

@media(max-width:700px){
  .enq-grid{grid-template-columns:1fr}
  .claim-card,.claim-method,.enq-form,.price-note{padding:22px 20px}
  .price-card{padding:28px 24px}
  .sponsored-row{padding:18px 16px 4px}
}

/* ---- Enquiry threads ---- */
.thread{display:flex;flex-direction:column;gap:14px}
.msg{max-width:88%;padding:14px 17px;border-radius:14px;border:1px solid var(--line);background:#fff}
.msg.theirs{align-self:flex-start;background:var(--cream-2);border-color:transparent}
.msg.mine{align-self:flex-end;background:#0e3a33;color:#fff;border-color:transparent}
.msg.admin{background:#f7e9cd;color:var(--ink);align-self:center;max-width:96%}
.msg-head{display:flex;gap:10px;align-items:baseline;justify-content:space-between;
  font-size:12.5px;margin-bottom:6px;opacity:.85}
.msg.mine .msg-head{color:rgba(255,255,255,.85)}
.msg-head span{font-size:11.5px;white-space:nowrap;opacity:.8}
.msg-body{font-size:14.8px;line-height:1.65;white-space:pre-wrap;word-wrap:break-word}
.cb-form{border-color:var(--gold)}

/* ---- Call affordance ---- */
.btn-call{background:#0e3a33;color:#fff;width:100%;justify-content:center;margin-bottom:8px;
  font-size:15px;font-weight:600}
.btn-call:hover{background:#0a2a25}
.call-note{font-size:11.5px;color:var(--muted);text-align:center;margin:-4px 0 10px}

/* ---- Long-form treatment body (treatments.body_html) ---- */
.treat-body{max-width:74ch;margin-bottom:38px}
.treat-body h2{font-family:var(--sans);font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--forest);font-weight:600;margin:34px 0 14px}
.treat-body h3{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);margin:22px 0 10px}
.treat-body p{color:var(--muted);font-size:16.5px;font-weight:300;line-height:1.7;margin-bottom:16px}
.treat-body ul{list-style:none;margin:0 0 20px;padding:0}
.treat-body li{position:relative;padding-left:22px;margin-bottom:11px;color:var(--muted);
  font-size:16px;font-weight:300;line-height:1.65}
.treat-body li:before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;
  border-radius:50%;background:var(--gold)}
.treat-body li b{color:var(--ink);font-weight:600}
.treat-body em{display:block;margin-top:22px;padding:14px 18px;background:var(--cream-2);
  border-left:3px solid var(--gold);border-radius:0 10px 10px 0;font-size:13.5px;
  font-style:normal;color:var(--muted);line-height:1.6}

/* ---- Contact page ---- */
.contact-note{background:var(--cream-2);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;
  padding:16px 20px;margin:22px 0 8px}
.contact-note b{display:block;font-family:var(--serif);font-size:17px;color:var(--forest);margin-bottom:6px}
.contact-note p{font-size:14.5px;color:var(--muted);line-height:1.6;margin:0}

/* ---- Book signup box (top right of the page) ----
   Absolutely positioned rather than fixed, so it sits in the top-right corner of
   the first screen and then scrolls away instead of permanently covering
   content. Because it is out of flow it shifts no layout, so unlike the ribbon
   it replaced there is no height contract to honour. */
.book-box{position:fixed;bottom:24px;right:24px;width:272px;z-index:900;
  /* Non-home pages: float bottom-right so it can never cover filters/forms. */
  background:linear-gradient(150deg,#e5cf9f,#d8b876 55%,#cfa963);
  color:#241a08;border-radius:18px;padding:22px 22px 20px;
  box-shadow:0 18px 44px rgba(20,30,26,.28)}
html:not(.bookbox) .book-box{display:none}
body.is-home .book-box{position:absolute;top:96px;bottom:auto;right:26px}
/* Non-home pages: the box is collapsed into a pill until opened. */
body:not(.is-home) .book-box{display:none;bottom:84px}
html.bookbox.bookopen body:not(.is-home) .book-box{display:block}
.book-pill{display:none;position:fixed;bottom:22px;right:22px;z-index:901;
  align-items:center;gap:9px;border:none;cursor:pointer;
  background:linear-gradient(150deg,#e5cf9f,#d8b876 55%,#cfa963);color:#241a08;
  font-family:inherit;font-size:13.5px;font-weight:600;letter-spacing:.01em;
  padding:12px 18px;border-radius:999px;box-shadow:0 10px 28px rgba(20,30,26,.28)}
.book-pill:hover{filter:brightness(1.04)}
html.bookbox body:not(.is-home) .book-pill{display:flex}
.book-box-ico{display:block;color:#6d5115;margin-bottom:12px}
.book-box-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:#6d5115;font-weight:700;margin-bottom:7px}
.book-box h2{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.2;
  color:#1c1405;margin-bottom:7px}
.book-box p{font-size:13.5px;line-height:1.5;color:#4a3a1a;margin-bottom:14px}
.book-box input[type=email]{width:100%;padding:11px 13px;border:1px solid rgba(0,0,0,.18);
  border-radius:10px;background:rgba(255,255,255,.92);color:#1c1405;
  font-family:var(--sans);font-size:14px;margin-bottom:8px}
.book-box input[type=email]::placeholder{color:#8a7647}
.book-box input[type=email]:focus{outline:none;border-color:var(--forest);background:#fff;
  box-shadow:0 0 0 3px rgba(14,58,51,.15)}
.book-box button[type=submit]{width:100%;background:var(--forest);color:#fff;border:none;
  border-radius:10px;padding:11px 16px;font-family:var(--sans);font-size:14px;font-weight:600;
  cursor:pointer;transition:.2s}
.book-box button[type=submit]:hover{background:var(--forest-deep)}
.book-box-note{font-size:11.5px;color:#5c4a22;margin-top:9px;text-align:center}
.book-box-x{position:absolute;top:8px;right:10px;background:none;border:none;color:#6d5115;
  font-size:21px;line-height:1;cursor:pointer;padding:4px 6px;font-family:var(--sans)}
.book-box-x:hover{color:#241a08}

/* Tablet: narrow the box before it starts crowding hero copy. */
@media(max-width:1100px){
  .book-box{width:236px;right:18px;padding:18px 18px 16px}
  body.is-home .book-box{top:92px}
  .book-box h2{font-size:18px}
  .book-box p{margin-bottom:12px}
}
/* Mobile: out of the corner and into the flow, directly under the nav. Hiding it
   would cost us the only signup point on the site now that the footer band is
   gone, and mobile is most of the traffic. */
@media(max-width:860px){
  body.is-home .book-box{position:static;width:auto;margin:74px 16px 0;padding:20px 20px 18px;
    box-shadow:0 10px 26px rgba(20,30,26,.16)}
  .book-box-ico{display:none}
  .book-box h2{font-size:19px}
}
@media(max-width:760px){
  body.is-home .book-box{margin-top:66px}
}
