/* The Central Belt — Manta-inspired design system */
:root{
  --teal:#1b3f42;--teal-2:#143235;--ink:#22252a;--body:#3d424b;
  --muted:#6b7280;--line:#e6e1da;--bg:#f8f6f3;--card:#ffffff;--band:#f5f1ec;
  --accent:#e95f4e;--accent-deep:#c14a30;--accent-text:#b23a22;--accent-2:#f27c5a;--ok:#1f7a4d;--check:#1d5f9e;
  --radius:10px;--radius-sm:6px;
  --shadow:0 1px 2px rgba(20,30,30,.05),0 10px 26px rgba(20,30,30,.08);
  --serif:Georgia,"Times New Roman",Times,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--body);background:var(--bg);line-height:1.55;font-size:16px}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1120px;margin:0 auto;padding:0 20px}

/* ── Header (dark teal bar, Manta-style) ─────────────────────── */
.topbar{background:var(--teal);color:#fff;position:sticky;top:0;z-index:60;transition:box-shadow .2s}
.topbar.stuck{box-shadow:0 6px 18px rgba(0,0,0,.22)}
.topbar .container{display:flex;align-items:center;gap:22px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.32rem;color:#fff;letter-spacing:-.2px}
.brand:hover{text-decoration:none}
.brand .word{font-weight:800;font-size:1.35rem;color:var(--accent)}
.brand .word em{font-style:normal;color:#fff}
.brand .tag{display:block;font-weight:600;font-size:.6rem;color:#bfd3d1;letter-spacing:.22em;text-transform:uppercase;line-height:1.1}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center;flex-wrap:wrap}
.nav a{color:#e8efee;font-weight:600;font-size:.93rem;padding:9px 13px;border-radius:var(--radius-sm)}
.nav a:hover{background:rgba(255,255,255,.12);color:#fff;text-decoration:none}
.btn{display:inline-block;background:var(--accent-deep);color:#fff;font-weight:700;padding:12px 22px;border-radius:var(--radius-sm);border:0;cursor:pointer;font-size:.95rem;transition:filter .15s,transform .1s;font-family:inherit}
.btn:hover{filter:brightness(1.06);text-decoration:none}
.btn.ghost{background:transparent;border:1.5px solid #cfe0ef;color:var(--teal)}
.btn.big{padding:14px 26px;font-size:1rem}
.btn.on-dark{background:var(--accent-deep)}
.nav .btn{padding:10px 18px;margin-left:6px;color:#fff}

/* ── Hero (blurred warm backdrop + pill search) ──────────────── */
.hero{background:var(--teal);color:#fff;padding:70px 0 78px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:-30%;filter:blur(70px);opacity:.5;pointer-events:none;
  background:
   radial-gradient(35% 55% at 18% 30%, #d9a06a 0%, transparent 70%),
   radial-gradient(30% 45% at 85% 75%, #c96a55 0%, transparent 70%),
   radial-gradient(45% 60% at 60% 20%, #3f7a7d 0%, transparent 75%)}
.hero .inner{position:relative;z-index:1;text-align:center;max-width:820px;margin:0 auto}
.hero .emblem{width:74px;height:74px;border-radius:50%;background:var(--accent);display:grid;place-items:center;margin:0 auto 22px;
  box-shadow:0 12px 30px rgba(0,0,0,.25)}
.hero h1{font-family:var(--serif);font-weight:400;font-size:3rem;line-height:1.08;color:#fff;letter-spacing:-.4px}
.hero .strapline{font-family:var(--serif);font-size:1.3rem;color:#ffd9c4;margin-top:10px}
.hero .intro{margin:18px auto 30px;color:#d6e3e2;max-width:620px;font-size:1.02rem}
.searchbox{display:flex;align-items:stretch;background:#fff;border-radius:60px;box-shadow:0 18px 45px rgba(0,0,0,.22);
  padding:7px 7px 7px 0;max-width:760px;margin:0 auto;text-align:left}
.searchbox .field{flex:1 1 240px;display:flex;align-items:center;gap:9px;padding:0 18px;min-width:0}
.searchbox .field + .field{border-left:1px solid #eee9e2}
.searchbox .ico{color:var(--accent);flex:0 0 auto;display:grid;place-items:center}
.searchbox input{width:100%;border:0;background:transparent;font-size:1rem;color:var(--ink);font-family:inherit;outline:none;padding:12px 0}
.searchbox select{width:100%;border:0;background:transparent;font-size:1rem;color:var(--ink);font-family:inherit;outline:none;padding:12px 0;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}
.searchbox select option{color:var(--ink)}
.searchbox input::placeholder{color:#9aa0a6}
.searchbox .go{background:var(--accent-deep);color:#fff;border:0;border-radius:50px;width:118px;cursor:pointer;font-weight:700;font-size:.98rem;display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;transition:filter .15s}
.searchbox .go:hover{filter:brightness(1.07)}
.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:26px}
.chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#eef5f4;padding:8px 15px;border-radius:999px;font-size:.88rem;font-weight:600;transition:.15s}
.chip:hover{background:rgba(255,255,255,.24);text-decoration:none}

/* ── Sections / cards (Manta: white cards on warm beige) ─────── */
section{padding:54px 0}
.section-head{margin-bottom:26px}
.section-head h2{font-family:var(--serif);font-weight:400;color:var(--teal);font-size:2rem;letter-spacing:-.2px}
.section-head .sub{color:var(--muted);font-size:.98rem;margin-top:4px}
.band{background:var(--band);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;display:block;transition:transform .15s,border-color .15s}
.tile:hover{transform:translateY(-2px);border-color:#d8d0c6;text-decoration:none}
.tile .k{font-family:var(--serif);color:var(--teal);font-size:1.28rem;font-weight:400}
.tile .d{color:var(--muted);font-size:.9rem;margin-top:6px}
.tile .n{color:var(--accent-text);font-size:.82rem;font-weight:700;margin-top:12px;display:inline-flex;align-items:center;gap:5px}
.pill{display:inline-block;background:#fff;border:1px solid var(--line);color:var(--teal);font-weight:600;font-size:.84rem;padding:6px 14px;border-radius:999px;margin:4px 6px 0 0;box-shadow:0 1px 2px rgba(20,30,30,.04)}
.pill:hover{border-color:#c9c0b4;text-decoration:none}
.pillwrap{margin-top:8px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.step .num{width:40px;height:40px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:grid;place-items:center;margin-bottom:14px;font-family:var(--serif);font-size:1.15rem}
.step h3{font-family:var(--serif);font-weight:400;color:var(--teal);font-size:1.25rem;margin-bottom:8px}
.step p{color:var(--muted);font-size:.92rem}

/* ── Directory listing cards (Manta business-card shape) ──────── */
.page-head{background:var(--bg);padding:40px 0 26px;border-bottom:1px solid var(--line)}
.page-head h1{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:2.2rem}
.page-head p{color:var(--muted);margin-top:4px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin:24px 0;display:flex;gap:12px;flex-wrap:wrap;position:sticky;top:10px;z-index:5}
.panel input,.panel select{border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 14px;font-size:.95rem;font-family:inherit;background:#fff;color:var(--ink)}
.panel .q{flex:2 1 260px}
.panel select{flex:1 1 170px}
.count{color:var(--muted);font-size:.9rem;margin-bottom:16px}
.bizgrid{display:grid;gap:16px}
.biz{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;display:grid;grid-template-columns:64px 1fr;gap:18px;transition:box-shadow .15s,border-color .15s}
.biz:hover{border-color:#d8d0c6;box-shadow:0 4px 18px rgba(20,30,30,.1);text-decoration:none}
.biz .logo{width:64px;height:64px;border-radius:var(--radius-sm);background:#eaf1f0;border:1px solid #dbe6e4;display:grid;place-items:center;font-family:var(--serif);font-size:1.6rem;color:var(--teal)}
.biz .bd{display:flex;flex-direction:column;gap:5px;min-width:0}
.biz .top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.biz h3{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:1.45rem;letter-spacing:-.2px}
.badge{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--accent-deep);padding:3px 9px;border-radius:999px;white-space:nowrap}
.biz .area{font-style:italic;color:var(--muted);font-size:.9rem}
.biz .svcs{display:flex;flex-wrap:wrap;gap:6px;margin:3px 0 6px}
.biz .svc{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;color:var(--check);font-weight:600}
.biz .svc svg{flex:0 0 auto}
.biz .meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:.88rem}
.biz .meta span{display:inline-flex;align-items:center;gap:6px;color:var(--body)}
.biz .meta a{color:var(--teal);font-weight:600}
.biz .desc{border-top:1px solid var(--line);margin-top:9px;padding-top:9px;color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:46px;text-align:center;color:var(--muted)}

/* ── Listing detail ───────────────────────────────────────────── */
.detail-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px;max-width:860px;margin:26px auto}
.detail-card .top{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.detail-card .logo{width:88px;height:88px;border-radius:var(--radius);background:#eaf1f0;border:1px solid #dbe6e4;display:grid;place-items:center;font-family:var(--serif);font-size:2.2rem;color:var(--teal)}
.detail-card h1{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:2.4rem}
.detail-card .catline{color:var(--accent-text);font-weight:700;margin:2px 0 4px}
.detail-card .area{font-style:italic;color:var(--muted)}
.detail-card .svcs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.detail-card .svc{display:inline-flex;align-items:center;gap:7px;background:#f2f6f6;border:1px solid #dde8e7;border-radius:999px;padding:6px 13px;font-size:.88rem;color:var(--check);font-weight:600}
.detail-card .meta{display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:.95rem;margin:12px 0 18px}
.detail-card .meta span{display:inline-flex;align-items:center;gap:7px;color:var(--body)}
.detail-card .desc{font-size:1.04rem;border-top:1px solid var(--line);padding-top:16px;margin-top:6px}
.detail-card .desc p{margin-bottom:10px}
.claim{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.muted{color:var(--muted)}

/* ── CTA + footer ─────────────────────────────────────────────── */
.cta{background:var(--teal);color:#fff;border-radius:18px;padding:52px 40px;text-align:center;position:relative;overflow:hidden}
.cta:before{content:"";position:absolute;inset:-20%;filter:blur(60px);opacity:.35;pointer-events:none;background:radial-gradient(40% 60% at 20% 30%,#e08a5a 0,transparent 70%),radial-gradient(35% 55% at 85% 80%,#c96a55 0,transparent 70%)}
.cta .in{position:relative;z-index:1}
.cta h2{font-family:var(--serif);font-weight:400;font-size:2.2rem}
.cta p{color:#d6e3e2;max-width:540px;margin:12px auto 26px}
footer{background:#12292b;color:#9fb4b2;padding:40px 0;margin-top:50px;font-size:.9rem}
footer .container{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between}
footer a{color:#dbe6e4}
footer h4{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#7fa09e;margin-bottom:10px;font-weight:700}
footer .col{max-width:260px}
footer .salt{width:22px;height:22px;border-radius:5px;vertical-align:-5px;margin-right:8px}

/* ── Forms (add page) ─────────────────────────────────────────── */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px;max-width:780px;margin:26px auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .full{grid-column:1/-1}
label{display:block;font-weight:700;font-size:.85rem;margin-bottom:6px;color:var(--ink)}
input[type=text],input[type=url],input[type=tel],select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;font-size:.96rem;width:100%;font-family:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid #f6c6b8;border-color:var(--accent)}
textarea{min-height:120px}
.hint{font-size:.8rem;color:var(--muted);margin-top:4px}
.notice{background:#fdf3ea;border:1px solid #f2d5c4;color:#8a4a2a;border-radius:10px;padding:12px 16px;font-size:.9rem;margin:14px 0}
.ok{color:var(--ok);font-weight:700}

@media(max-width:760px){
  .topbar .container{flex-wrap:wrap;padding:10px 16px;gap:10px}
  .hero h1{font-size:2.1rem}
  .searchbox{flex-wrap:wrap;border-radius:24px}
  .searchbox .field{flex:1 1 100%;padding:6px 16px}
  .searchbox .field + .field{border-left:0;border-top:1px solid #eee9e2}
  .searchbox .go{width:100%;border-radius:40px;padding:14px}
  .biz{grid-template-columns:1fr;gap:10px}
  .detail-card .top{flex-direction:column}
  .form-grid{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
}

/* ── Business profile pages (Manta-style, added 2026-09-07) ─── */
.crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.9rem;color:var(--muted)}
.crumb a{color:var(--teal);font-weight:600}
.crumb .sep{color:#c6bdb2}
.prof{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start;padding:6px 0 54px}
.prof-main{min-width:0;display:flex;flex-direction:column;gap:22px}
.prof-head{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}
.logo-lg{width:78px;height:78px;border-radius:18px;background:linear-gradient(135deg,var(--teal),var(--teal-2));color:#fff;display:grid;place-items:center;font-size:2.3rem;font-weight:800;flex:0 0 auto;font-family:var(--serif)}
.prof-head-text h1{font-family:var(--serif);font-weight:400;color:var(--teal);font-size:2rem;line-height:1.12;letter-spacing:-.3px;margin:2px 0 6px}
.area-line{color:var(--muted);font-size:.95rem;display:flex;align-items:center;gap:6px}
.cta-row{display:flex;flex-wrap:wrap;gap:10px}
.cta-row .btn{padding:11px 18px;font-size:.92rem}
.prof-card,.claim-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}
.prof-card h2,.prof-section h2,.claim-card h2{font-family:var(--serif);font-weight:400;color:var(--teal);font-size:1.35rem;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}
.prof-card p{margin:0 0 10px;color:var(--body)}
.chips-left{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.svc-chip{display:inline-block;background:var(--band);border:1px solid var(--line);color:var(--teal);font-size:.83rem;font-weight:600;padding:5px 11px;border-radius:30px}
.svc-chip.chip-sub{background:#fdf7ef;border-color:#eadfcb;color:#8a6a35}
.svc-chip.svc-link{background:var(--teal);color:#fff}
.svc-chip.svc-link:hover{filter:brightness(1.1);text-decoration:none}
.facts-tbl,.hours-tbl{width:100%;border-collapse:collapse;font-size:.93rem}
.facts-tbl th,.hours-tbl th{text-align:left;color:var(--muted);font-weight:600;padding:8px 12px 8px 0;border-bottom:1px solid var(--line);width:42%}
.facts-tbl td,.hours-tbl td{padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.hours-tbl th{width:38%}
.prof-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:18px}
.prof-side .prof-card h2{font-size:1.15rem}
.fact-list{list-style:none;margin:0;padding:0}
.fact-list li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.fact-list li:last-child{border-bottom:0}
.fact-k{color:var(--muted)}
.fact-v{color:var(--ink);font-weight:600;text-align:right;word-break:break-word}
.rating-sum{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.rating-big{font-size:2.2rem;font-weight:800;color:var(--ink);font-family:var(--serif);line-height:1}
.stars{color:#f5a623;font-size:1.05rem;letter-spacing:2px}
.hist{display:flex;flex-direction:column;gap:5px;margin:6px 0 12px}
.hist-row{display:grid;grid-template-columns:26px 1fr 34px;align-items:center;gap:10px;font-size:.84rem;color:var(--muted)}
.hist-track{height:9px;background:var(--band);border-radius:6px;overflow:hidden}
.hist-fill{height:100%;background:linear-gradient(90deg,#f5a623,#e95f4e);border-radius:6px}
.simi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.simi-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow);transition:transform .12s,box-shadow .12s}
.simi-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(20,30,30,.12);text-decoration:none}
.simi-name{font-weight:700;color:var(--teal)}
.simi-meta{font-size:.84rem;color:var(--muted)}
.simi-go{font-size:.8rem;color:var(--accent-deep);font-weight:700;margin-top:4px}
.claim-card{background:linear-gradient(160deg,#fdf3ee,#fdeee7);border-color:#f2d4c6;text-align:center}
.claim-card h2{border-bottom:0;margin-bottom:6px;color:var(--accent-deep)}
.muted{color:var(--muted)}
.small{font-size:.84rem}
.badge{display:inline-block;background:var(--accent);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:30px;vertical-align:middle}
@media(max-width:860px){
  .prof{grid-template-columns:1fr}
  .prof-side{position:static}
  .prof-head{flex-direction:column;text-align:center}
  .prof-head-text h1{font-size:1.6rem}
}

/* ── Featured premium strip + Sponsored (added 2026-09-08) ─── */
.featband{padding:34px 0}
.featgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.biz.feat{border-top:3px solid #c9a227}
.badge.bad-sponsored{background:#c9a227;color:#fff}
@media(max-width:980px){.featgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.featgrid{grid-template-columns:1fr}}

/* ── Autocomplete suggestions (added 2026-09-08) ───────────── */
.ac-anchor,.field.ac-anchor{position:relative}
.panel{position:relative}
.acwrap{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:auto;min-width:280px;max-width:min(420px,88vw)}
.ac-list{display:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 14px 34px rgba(20,30,30,.18);overflow:hidden;overflow-y:auto;max-height:330px;padding:4px}
.ac-item{display:flex;gap:8px;align-items:baseline;padding:9px 12px;border-radius:6px;font-size:.93rem;color:var(--ink);cursor:pointer;white-space:nowrap;overflow:hidden}
.ac-item b{color:var(--teal)}
.ac-item .ac-hint{margin-left:auto;color:var(--muted);font-size:.78rem;white-space:nowrap}
.ac-item:hover,.ac-item.ac-on{background:var(--band)}
.searchbox .acwrap{top:calc(100% + 14px);left:-4px}

/* ── Directory search button ───────────────────────────────── */
.go-sm{padding:11px 20px;font-size:.9rem;white-space:nowrap}

/* ── Newsletter page (added 2026-09-08) ────────────────────── */
.nl-wrap{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:30px;align-items:start;padding:10px 0 60px}
.nl-about h2,.form-card h2{font-family:var(--serif);font-weight:400;color:var(--teal);font-size:1.6rem;margin-bottom:14px}
.nl-about p{margin-bottom:12px}
.nl-about ul{margin:0 0 14px 18px}
.nl-about li{margin-bottom:8px}
.form-card form label{display:block;margin-bottom:13px;font-weight:700;color:var(--teal);font-size:.86rem}
.form-card form input[type=text],.form-card form input[type=email],.form-card form input[type=tel]{width:100%;display:block;margin-top:5px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:#fff;color:var(--ink)}
.form-card form label.tick{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--body);font-size:.9rem;line-height:1.45}
.form-card form label.tick input{width:auto;margin-top:3px;accent-color:var(--accent)}
.form-msg{color:var(--accent-deep);font-weight:600;min-height:1.2em;margin-top:10px}
@media(max-width:880px){.nl-wrap{grid-template-columns:1fr}}

/* ── Featured premium cards v2 — free/airy, brand logos (2026-09-08) ── */
.featgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:24px;margin-top:6px}
.feat-biz{position:relative;display:flex;gap:20px;align-items:center;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--fc,#1b3f42);border-radius:16px;padding:22px 24px 20px;box-shadow:0 1px 2px rgba(20,30,30,.04),0 12px 30px rgba(20,30,30,.07);transition:transform .15s,box-shadow .15s}
.feat-biz:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(20,30,30,.06),0 20px 44px rgba(20,30,30,.12);text-decoration:none}
.fb-logo{width:92px;height:92px;flex:0 0 auto;border-radius:18px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;padding:10px}
.fb-logo img{width:100%;height:100%;object-fit:contain}
.fb-logo.ondark{background:var(--fc,#143235);border-color:transparent;padding:14px}
.fb-logo.ondark img{filter:brightness(0) invert(1)}
.fb-logo.mono{background:var(--fc,#1b3f42);color:#fff;font-family:var(--serif);font-size:2.6rem;padding:0}
.fb-bd{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.fb-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fb-cat{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.fb-sp{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a8862c;background:#faf3dd;border:1px solid #ecd9a0;padding:3px 9px;border-radius:30px;white-space:nowrap}
.fb-bd h3{font-family:var(--serif);font-weight:400;color:var(--teal);font-size:1.42rem;line-height:1.15;margin:2px 0 0}
.fb-area{color:var(--muted);font-size:.9rem}
.fb-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:.85rem;margin-top:2px}
.fb-meta span{display:inline-flex;gap:5px;align-items:center}
.fb-go{margin-top:8px;font-size:.85rem;font-weight:800;color:var(--fc,#1b3f42);display:inline-flex;align-items:center;gap:5px}
@media(max-width:820px){.feat-biz{flex-direction:row;align-items:flex-start}.fb-logo{width:76px;height:76px}}

/* ── Business profile: brand logo tile (sponsored pages) ───── */
.logo-lg.lg-logo{background:#fff;border:1px solid var(--line);padding:10px}
.logo-lg.lg-logo img{width:100%;height:100%;object-fit:contain}
.logo-lg.lg-logo.ondark{background:var(--brand,#143235);border-color:transparent}
.logo-lg.lg-logo.ondark img{filter:brightness(0) invert(1)}
.prof-head.branded{border-top:4px solid var(--brand,#1b3f42)}
.prof-head{}

/* ── WCAG AA contrast fixes (2026-09-09 compliance pass) ────── */
.fb-sp{color:#6b4e10}           /* 6.95:1 on chip bg */
.badge.bad-sponsored{background:#8a6a20;color:#fff}   /* 5.04:1 */
.fb-go{color:#143235}
@supports (color: color-mix(in srgb, red, black)) {
  .fb-go{color:color-mix(in srgb, var(--fc,#143235) 45%, #000 55%)}
}

/* ── Mobile/tablet optimisation (2026-09-09) ───────────────── */
html,body{overflow-x:hidden}
/* position:sticky is silently disabled by an overflow-x:hidden ancestor —
   `clip` contains the same overflow but does NOT create a scroll container,
   so the floating header actually sticks. (verified in Chrome, 10 Sep 2026) */
@supports (overflow:clip){html,body{overflow-x:clip}}
@media(max-width:860px){
  .featgrid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
}
@media(max-width:600px){
  .featgrid{grid-template-columns:1fr}
  .feat-biz{padding:18px 16px}
  .fb-logo{width:68px;height:68px;border-radius:14px}
  .panel{flex-wrap:wrap}
  .panel .q,.panel select,.panel .go-sm{flex:1 1 100%;min-width:0}
}
.biz .bd,.biz .meta span,.fb-meta span{min-width:0}
.biz .meta .site,.fb-meta{word-break:break-word;overflow-wrap:anywhere}

/* ── Cookie & privacy notice (no-cookie site) ──────────────── */
#cb-cookie{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#143235;color:#fff;
  box-shadow:0 -6px 24px rgba(0,0,0,.22);padding:14px 18px;font-size:.92rem;line-height:1.45}
#cb-cookie .cb-cookie-inner{max-width:960px;margin:0 auto;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
#cb-cookie .cb-cookie-txt{margin:0;flex:1 1 420px}
#cb-cookie .cb-cookie-txt strong{color:#fff}
#cb-cookie .cb-cookie-actions{display:flex;gap:10px;align-items:center;flex:0 0 auto}
#cb-cookie .btn{margin:0;padding:.55rem 1.1rem;font-size:.9rem}
#cb-cookie a.cb-cookie-more{color:#f5c26b;text-decoration:underline;font-size:.88rem}
@media(max-width:600px){#cb-cookie{padding:12px 14px}#cb-cookie .cb-cookie-actions{width:100%}}
@media(prefers-reduced-motion:no-preference){#cb-cookie{animation:cbSlide .35s ease}}
@keyframes cbSlide{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* ── Quick answers (AEO) + form uploader (2026-09-13) ──────── */
.prof-card.qa details{border-top:1px solid var(--line,#e5e0d8);padding:.6rem .1rem}
.prof-card.qa summary{cursor:pointer;font-weight:700;color:var(--ink,#143235);list-style:none}
.prof-card.qa summary::-webkit-details-marker{display:none}
.prof-card.qa summary::before{content:"Q: ";color:var(--accent-deep,#c14a30)}
.prof-card.qa details p{margin:.45rem 0 0 1.35rem;color:var(--ink-soft,#3c4a45)}
.prof-card.qa details[open] summary{margin-bottom:.2rem}

/* ── All-business logos (2026-09-14) ──────────────────────── */
.biz .logo.lg-img{background:#fff;border:1px solid #e8e2d8;overflow:hidden}
.biz .logo.lg-img img,.detail-card .logo.lg-img img{width:100%;height:100%;object-fit:contain}
.detail-card .logo.lg-img{background:#fff;border:1px solid #e8e2d8}

/* Ad consent buttons (2026-09-17) */
#cb-cookie .btn-plain{background:transparent;color:#33403a;box-shadow:none;border:1px solid #c9bfa8}
#cb-cookie .btn-plain:hover{background:#f0ebe2}

/* ── Hub pages: /categories/<id>.html + /locations/<slug>.html (2026-09-10) ── */
.hubwrap{padding:30px 0 10px}
.hubwrap h1{font-family:var(--serif);font-size:2.1rem;color:var(--ink);margin-bottom:6px}
.hub-h2{font-size:1.15rem;color:var(--ink);margin:26px 0 10px;display:flex;align-items:center;gap:10px}
.hub-count{font-size:.8rem;font-weight:400;color:var(--muted);background:var(--band);border-radius:999px;padding:2px 10px}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:12px;margin-bottom:8px}
.hubcard{display:flex;flex-direction:column;gap:5px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 15px;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.hubcard:hover{border-color:var(--accent);transform:translateY(-1px);text-decoration:none}
.hubcard-name{font-weight:700;color:var(--ink)}
.hubcard-meta{font-size:.84rem;color:var(--muted)}
.hubcard-blurb{font-size:.86rem;color:var(--body);line-height:1.45}
.hubpills{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.hubpill{display:inline-block;padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--body);font-size:.86rem;text-decoration:none}
.hubpill:hover{border-color:var(--accent);color:var(--accent-text);text-decoration:none}
.hubpill.active{background:var(--accent);border-color:var(--accent);color:#fff}
.hubcta{margin:34px 0 10px}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}
.catcard{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-decoration:none;color:var(--ink);font-weight:600;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.catcard:hover{border-color:var(--accent);transform:translateY(-1px);text-decoration:none}
.catcard .n{font-weight:400;font-size:.84rem;color:var(--muted);background:var(--band);border-radius:999px;padding:2px 10px;min-width:34px;text-align:center}

/* ── Back to top (injected by cookie-banner.js on every page) ── */
#cb-to-top{position:fixed;right:18px;bottom:22px;z-index:9990;width:46px;height:46px;border:0;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(20,30,30,.28);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease,background .15s}
#cb-to-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}
#cb-to-top:hover{background:var(--accent)}
@media (max-width:640px){#cb-to-top{right:12px;bottom:14px;width:42px;height:42px}}

/* ── Directory pagination (Google-style pager) ──
   The grid renders 50 listings at a time; without this the browser built 27k
   cards in one pass and the page froze. */
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:26px 0 34px}
.pager .pg-range{margin-right:auto;color:var(--muted);font-size:.9rem}
.pager a.pg,.pager span.pg,.pager a.pg-nav{min-width:38px;height:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--teal);font-weight:600;font-size:.95rem;box-shadow:var(--shadow);text-decoration:none}
.pager a.pg:hover,.pager a.pg-nav:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.pager span.pg.is-current{background:var(--teal);border-color:var(--teal);color:#fff}
.pager .pg-gap{color:var(--muted);padding:0 2px}
.pager a.pg-nav.is-off{opacity:.4;pointer-events:none}
@media (max-width:640px){
  .pager{gap:5px;margin:22px 0 30px}
  .pager .pg-range{width:100%;margin:0 0 10px}
  .pager a.pg,.pager span.pg,.pager a.pg-nav{min-width:34px;height:34px;padding:0 8px;font-size:.9rem}
}

/* --- The Central Belter podcast page (2026-09-16) --- */
.pill-soon{display:inline-block;background:var(--accent);color:#fff;font-weight:700;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.form-card form textarea{width:100%;display:block;margin-top:5px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:#fff;color:var(--ink);resize:vertical}
.pod-promo{display:flex;gap:26px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 30px}
.pod-promo h3{font-family:var(--serif);font-weight:400;color:var(--teal);font-size:1.5rem;margin:6px 0 8px}
.pod-promo p{color:var(--body);max-width:60ch}
.pod-promo .actions{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:780px){.nl-wrap{grid-template-columns:minmax(0,1fr)}}
