/*
Theme Name: Bingoqueen 2026
Theme URI: https://www.bingoqueen.co.uk/
Author: Andrew Palmer (Palmer Marketing)
Author URI: https://palmermarketing.ltd/
Description: Custom WordPress theme for bingoqueen.co.uk, built to Design_System.md (17 Sep 2026). Deep purple + gold, Newsreader + Public Sans, white content sheet on a lilac field. Renders the site's existing shortcodes (su_table, wpsm_button, tw-disclaimer, tw-offers, vc_gmaps, i2pc, toc) so every existing page works on activation with no content edits. Adds the Bingoqueen offer box, the sidebar card, and four theme shortcodes (bq_card, bq_stubs, bq_answer, bq_sessions). Launch-safe: no data migration.
Version: 0.2.34
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bingoqueen-2026
Tags: affiliate, bingo, uk, custom, purple, two-column, responsive
*/

/* v0.1.0: first build. Tokens, type, layout, header/drawer/bottom bar, homepage sheet components, inner-page components (offer box, sidebar card, answer block, facts table, session grid, lists, closed banner), legacy shortcode styling, WP content defaults. */


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bq-purple:#2f1650;--bq-purple-deep:#1e0d36;--bq-purple-ink:#4b2a78;
  --bq-lilac:#e9e2f3;--bq-lilac-field:#f4f1f8;
  --bq-gold:#f2b705;--bq-gold-ink:#8a6400;
  --bq-cta:#177a34;--bq-cta-hover:#125c27;
  --bq-text:#241a30;--bq-muted:#6a6277;--bq-sheet:#fff;--bq-line:#e2dbea;
  --bq-head:'Newsreader',Georgia,serif;--bq-body:'Public Sans',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--bq-body);color:var(--bq-text);background:var(--bq-lilac-field);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:var(--bq-purple-ink);text-decoration:none}
h1,h2,h3{font-family:var(--bq-head);color:var(--bq-purple);line-height:1.15;font-weight:600}
h1{font-size:40px}h2{font-size:28px}h3{font-size:20px}
.bq-wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.bq-ico{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* header */
.bq-top{background:var(--bq-purple);color:#fff;position:sticky;top:0;z-index:40;border-bottom:2px solid var(--bq-gold)}
.bq-top-in{display:flex;align-items:center;justify-content:space-between;height:76px}
.bq-logo img{height:44px;display:block}
.bq-menu{display:flex;gap:6px;list-style:none}
.bq-menu a{color:#fff;font-weight:500;font-size:15px;padding:10px 14px;border-radius:6px;display:block}
.bq-menu a:hover,.bq-menu a.is-on{background:rgba(255,255,255,.1);color:var(--bq-gold)}
.bq-burger{display:none;background:none;border:0;color:#fff}

/* hero */
.bq-hero{background:var(--bq-purple);color:#fff;padding:56px 0 64px;position:relative;overflow:hidden}
.bq-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(242,183,5,.28),rgba(242,183,5,0) 62%);pointer-events:none}
.bq-hero h1{color:#fff;font-size:46px;max-width:640px;margin-bottom:14px}
.bq-hero h1 em{font-style:italic;color:var(--bq-gold)}
.bq-hero p{max-width:560px;color:rgba(255,255,255,.82);font-size:18px;margin-bottom:28px}
.bq-find{display:flex;max-width:560px;background:#fff;border-radius:10px;padding:6px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.bq-find input{flex:1;border:0;font:inherit;font-size:16px;padding:12px 14px;color:var(--bq-text);outline:none;background:transparent}
.bq-find button{background:var(--bq-purple);color:#fff;border:0;font:inherit;font-weight:600;padding:12px 20px;border-radius:7px;cursor:pointer;display:flex;align-items:center;gap:8px}
.bq-find button:hover{background:var(--bq-purple-ink)}
.bq-hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.bq-hero-chips a{color:#fff;font-size:13px;font-weight:500;padding:6px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px}
.bq-hero-chips a:hover{border-color:var(--bq-gold);color:var(--bq-gold)}

/* sections */
.bq-sec{padding:52px 0}
.bq-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}
.bq-sec-h p{color:var(--bq-muted);font-size:15px}
.bq-sec-h a.bq-more{font-weight:600;font-size:15px;white-space:nowrap}
.bq-eyebrow{display:inline-block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--bq-gold-ink);margin-bottom:6px}

/* offer cards */
.bq-offers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bq-offer{background:var(--bq-sheet);border:1px solid var(--bq-line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;position:relative}

.bq-offer-brand{display:flex;align-items:center;gap:12px}
.bq-offer-logo{width:64px;height:44px;border-radius:8px;background:var(--bq-lilac);display:grid;place-items:center;font-family:var(--bq-head);font-weight:700;color:var(--bq-purple);font-size:18px}
.bq-offer-brand strong{font-size:17px;color:var(--bq-purple)}
.bq-offer-brand small{display:block;color:var(--bq-muted);font-size:13px}
.bq-offer-deal{font-family:var(--bq-head);font-size:26px;color:var(--bq-purple);line-height:1.1}
.bq-offer-deal span{font-family:var(--bq-body);font-size:14px;color:var(--bq-muted);display:block;margin-top:4px;font-weight:400}
.bq-cta{background:var(--bq-cta);color:#fff;font-weight:600;text-align:center;padding:12px 16px;border-radius:8px;display:block}
.bq-cta:hover{background:var(--bq-cta-hover)}
.bq-terms{font-size:11.5px;color:var(--bq-muted);line-height:1.45}
.bq-terms a{text-decoration:underline}

/* chain tiles */
.bq-chains{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bq-chain{background:var(--bq-sheet);border:1px solid var(--bq-line);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s}
.bq-chain:hover{border-color:var(--bq-purple)}
.bq-chain b{font-family:var(--bq-head);font-size:20px;color:var(--bq-purple);font-weight:600}
.bq-chain span{font-size:14px;color:var(--bq-muted)}
.bq-chain .bq-n{font-size:13px;color:var(--bq-gold-ink);font-weight:600;margin-top:6px}

/* stub entry grid */
.bq-stubs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bq-stub{display:flex;align-items:center;gap:12px;background:var(--bq-lilac);border-radius:6px;padding:14px 16px;color:var(--bq-purple);font-weight:500;font-size:15px}
.bq-stub:hover{background:#dfd5ee}
.bq-stub .bq-ico{color:var(--bq-purple-ink)}

/* editorial strip */
.bq-two{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}
.bq-prose p{margin-bottom:14px;color:#3d3348}
.bq-aside{padding:4px 0 0 28px;border-left:1px solid var(--bq-line)}
.bq-aside h3{margin-bottom:10px}
.bq-aside ul{list-style:none}
.bq-aside li{padding:10px 0;border-bottom:1px solid var(--bq-line);display:flex;justify-content:space-between;font-size:15px}
.bq-aside li:last-child{border-bottom:0}
.bq-aside li span{color:var(--bq-muted);font-size:13px}

/* footer */
.bq-foot{background:var(--bq-purple-deep);color:rgba(255,255,255,.78);padding:44px 0 110px;font-size:14px}
.bq-foot-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:22px}
.bq-foot-row img{height:34px;opacity:.95}
.bq-foot-nav{display:flex;gap:18px;flex-wrap:wrap}
.bq-foot-nav a{color:#fff;font-weight:500}
.bq-foot-badges{display:flex;gap:10px;align-items:center}
.bq-badge{height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.28);border-radius:6px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}
.bq-badge.age{border-color:#e33;color:#fff;background:#c22;border-radius:50%;width:30px;padding:0}
.bq-foot p{max-width:900px;line-height:1.55}
.bq-foot p+p{margin-top:10px}

/* mobile bar */
.bq-bar{display:none}

@media(max-width:900px){
  .bq-menu{display:none}.bq-burger{display:block}
  .bq-hero h1{font-size:34px}.bq-hero{padding:40px 0 44px}
  .bq-offers,.bq-chains,.bq-stubs{grid-template-columns:1fr 1fr}
  .bq-two{grid-template-columns:1fr}
}
@media(max-width:600px){
  .bq-wrap{padding:0 16px}
  .bq-offers,.bq-chains{grid-template-columns:1fr}
  .bq-stubs{grid-template-columns:1fr 1fr}
  .bq-hero h1{font-size:30px}
  .bq-find{flex-direction:column;gap:6px}
  .bq-bar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;background:var(--bq-purple);box-shadow:0 -2px 12px rgba(0,0,0,.18);z-index:50;padding:8px 4px calc(8px + env(safe-area-inset-bottom))}
  .bq-bar a{color:#fff;font-size:11px;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:3px}
  .bq-bar a.is-on{color:var(--bq-gold)}
}

@media(max-width:1220px){.mock-a .bq-sheet{margin-left:16px;margin-right:16px}}
@media(max-width:600px){.mock-a .bq-sheet{margin:-28px 8px 32px;border-radius:8px}}

/* round 2: board hero */
.bq-hero{background:#2a1349;padding:56px 0 112px;overflow:visible}
.bq-hero::after{display:none}
.bq-hero-kick{color:rgba(255,255,255,.82);font-size:18px;max-width:520px;margin-bottom:28px}
.bq-hero .bq-wrap{position:relative;z-index:1}
.bq-hero-balls{position:absolute;inset:0;pointer-events:none;overflow:hidden;display:none}
@media(min-width:1024px){.bq-hero-balls{display:block}}
.bq-hero-balls svg{position:absolute;opacity:.07}
.bq-hero-balls .b1{width:520px;height:520px;right:-110px;top:-140px;opacity:.09}
.bq-hero-balls .b2{width:300px;height:300px;right:470px;bottom:-120px;opacity:.06}
.bq-hero-balls .b3{width:190px;height:190px;right:330px;top:40px;opacity:.08}
.bq-hero h1{font-size:44px;font-weight:700;max-width:620px}
.bq-hero p{max-width:520px}
.bq-find{max-width:640px;padding:6px}
.bq-find input{font-size:17px;padding:14px 16px}
.bq-tonight{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:8px 14px;font-size:13.5px;margin-top:16px;color:#fff}
.bq-tonight .bq-dot{width:8px;height:8px;border-radius:50%;background:var(--bq-gold);box-shadow:0 0 0 3px rgba(242,183,5,.25)}
.bq-dab{position:absolute;left:-60px;bottom:-70px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(242,183,5,.5) 0 55%,rgba(242,183,5,0) 72%);filter:blur(3px);pointer-events:none}
.bq-balls{position:absolute;right:48px;bottom:66px;display:flex;gap:14px}
.bq-ball{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:inset -8px -10px 18px rgba(0,0,0,.35),0 8px 16px rgba(0,0,0,.35)}
.bq-ball::before{content:"";position:absolute;inset:12px;background:#fff;border-radius:50%}
.bq-ball b{position:relative;font-weight:800;font-size:20px;color:#241a30}
.bq-ball.r{background:#d33a2c}.bq-ball.bl{background:#2b62c9}.bq-ball.g{background:#1d9a52}.bq-ball.o{background:#ee7b1c}
@media(max-width:900px){.bq-balls{position:static;margin-top:26px;justify-content:flex-start}.bq-ball{width:50px;height:50px}.bq-ball::before{inset:9px}.bq-ball b{font-size:16px}.bq-hero{padding-bottom:70px}}

/* round 2: ticket cards */
.bq-offers{gap:24px}
.bq-tk{background:#fff;border:1.5px solid var(--bq-purple);border-radius:6px;position:relative;display:flex;flex-direction:column}
.bq-tk-num{position:absolute;right:14px;top:-9px;background:#fff;padding:0 6px;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--bq-purple-ink)}
.bq-tk-top{padding:18px 18px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.bq-tk-top .bq-offer-brand{gap:10px}
.bq-stamp{width:70px;height:70px;padding:8px;border-radius:50%;background:var(--bq-gold);color:var(--bq-purple);display:grid;place-items:center;text-align:center;line-height:1;font-family:var(--bq-head);font-weight:700;transform:rotate(-8deg);box-shadow:0 3px 0 var(--bq-gold-ink);flex:none}
.bq-stamp small{display:block;font-family:var(--bq-body);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.bq-stamp b{font-size:21px}
.bq-stamp i{display:block;font-style:normal;font-family:var(--bq-body);font-size:9px;font-weight:600;margin-top:2px}
.bq-stamp.off{background:var(--bq-lilac);color:var(--bq-purple-ink);box-shadow:0 3px 0 #c9bedb;transform:rotate(-8deg)}
.bq-stamp.off b{font-size:13px;font-family:var(--bq-body);font-weight:800}
.bq-perf{position:relative;height:0;border-top:2px dashed var(--bq-line);margin:0 12px}
.bq-perf::before,.bq-perf::after{content:"";position:absolute;top:-10px;width:20px;height:20px;border-radius:50%;background:var(--bq-sheet);border:1.5px solid var(--bq-purple)}
.bq-perf::before{left:-23px;clip-path:inset(0 0 0 50%)}
.bq-perf::after{right:-23px;clip-path:inset(0 50% 0 0)}
.bq-tk-mid{padding:16px 18px 6px;flex:1}
.bq-tk-mid .bq-offer-deal{font-size:23px;margin-bottom:10px}
.bq-req{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.bq-req span{font-size:11.5px;font-weight:600;color:var(--bq-purple);background:var(--bq-lilac);padding:4px 8px;border-radius:5px}
.bq-tk-bot{padding:8px 18px 16px;display:flex;flex-direction:column;gap:10px}
.bq-btn-ghost{border:1.5px solid var(--bq-purple);color:var(--bq-purple);font-weight:600;text-align:center;padding:11px 16px;border-radius:8px;display:block}
.bq-btn-ghost:hover{background:var(--bq-lilac)}
.bq-tk-note{font-size:13px;color:#3d3348;line-height:1.5;margin-bottom:4px}
.bq-tk-alt{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bq-lilac-field);padding:10px 12px;border-radius:6px;font-size:13px}
.bq-tk-alt a{font-weight:700}
.bq-tk.is-review .bq-tk-mid .bq-offer-deal{font-size:19px}

/* round 2: uniform pills */
.bq-stubs{grid-auto-rows:54px}
.bq-stub{height:54px;padding:0 16px;white-space:nowrap;overflow:hidden}
.bq-stub span{overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.bq-stubs{grid-auto-rows:50px}.bq-stub{height:50px;font-size:14px;padding:0 12px}}

/* states strip */
.bq-states{background:var(--bq-lilac-field);border-top:1px solid var(--bq-line);padding:44px 0 56px}
.bq-states .bq-sec-h p{max-width:760px}
.bq-map{margin-top:26px;background:#fff;border:1px solid var(--bq-line);border-radius:6px;padding:20px 22px;font-size:14px}
.bq-map h3{margin-bottom:10px}
.bq-map table{width:100%;border-collapse:collapse}
.bq-map td{padding:7px 0;border-bottom:1px solid var(--bq-line);vertical-align:top}
.bq-map td:first-child{font-weight:600;color:var(--bq-purple);width:34%}
.bq-map code{font-size:12.5px;background:var(--bq-lilac);padding:2px 6px;border-radius:4px;color:var(--bq-purple-ink)}


/* sticky bar */
.bq-top{border-bottom:2px solid var(--bq-gold);transition:border-color .2s,box-shadow .2s;--bq-progress:0}
.bq-top.is-stuck{border-bottom-color:transparent;box-shadow:0 2px 12px rgba(0,0,0,.18)}
/* v0.2.22/23: the 8px gold band ABOVE the nav is the reading-progress track; a cream fill (token --bq-progress-fill) grows left to right on scroll */
.bq-top::after{content:"";position:absolute;left:0;top:-8px;height:8px;width:100%;background:var(--bq-progress-fill,#fff6d6);box-shadow:0 0 6px rgba(255,255,255,.35);transform:scaleX(var(--bq-progress));transform-origin:0 50%;pointer-events:none;will-change:transform}
@media(max-width:600px){.bq-top::after{top:-6px;height:6px}}
@media (prefers-reduced-motion:no-preference){.bq-top::after{transition:transform .08s linear}}
/* mobile menu */
.bq-burger{width:44px;height:44px;display:none;place-items:center;border-radius:6px}
.bq-burger:hover{background:rgba(255,255,255,.1)}
.bq-drawer{position:fixed;inset:0;background:var(--bq-purple);z-index:60;padding:0 20px 24px;transform:translateY(-100%);transition:transform .25s ease-out;overflow:auto}
.bq-drawer.is-open{transform:none}
.bq-drawer-top{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:8px}
.bq-drawer-top img{height:40px}
.bq-drawer-close{width:44px;height:44px;background:none;border:0;color:#fff;display:grid;place-items:center;border-radius:6px}
.bq-drawer ul{list-style:none}
.bq-drawer li a{display:flex;align-items:center;justify-content:space-between;color:#fff;font-family:var(--bq-head);font-size:24px;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.1)}
.bq-drawer li a span{font-family:var(--bq-body);font-size:13px;color:rgba(255,255,255,.6)}
.bq-drawer .bq-drawer-find{margin-top:20px}
.bq-drawer .bq-drawer-find .bq-find{max-width:none;box-shadow:none}
body.bq-locked{overflow:hidden}
@media(max-width:900px){.bq-burger{display:grid}}

/* round 4: counted ticket balls */
body{counter-reset:bqticket}
.bq-tk-num{display:none}
.bq-tk{counter-increment:bqticket}
.bq-tk::after{content:"";position:absolute;right:-13px;top:-13px;width:40px;height:40px;border-radius:50%;background:var(--bq-purple-ink);color:#241a30;font-weight:800;font-size:14px;display:grid;place-items:center;box-shadow:inset -5px -6px 12px rgba(0,0,0,.32),inset 3px 4px 6px rgba(255,255,255,.22),0 4px 8px rgba(0,0,0,.22);z-index:2}
.bq-tk::before{content:"";position:absolute;right:-6px;top:-6px;width:26px;height:26px;border-radius:50%;background:#fff;z-index:3;pointer-events:none}
.bq-tk-count::before{content:counter(bqticket)}.bq-tk-count{position:absolute;right:-13px;top:-13px;width:40px;height:40px;display:grid;place-items:center;z-index:4;font-weight:800;font-size:14px;color:#241a30;pointer-events:none}
/* round 4: hero dab */
.bq-hl{position:relative;display:inline-block;z-index:0;padding:0 .18em;color:#241a30}
.bq-hl::before{content:"";position:absolute;left:-.1em;right:-.1em;top:-.02em;bottom:-.08em;background:var(--bq-gold);border-radius:1.2em 1.4em 1.1em 1.5em / 1.6em 1.2em 1.5em 1.1em;z-index:-1;transform:rotate(-1.5deg)}
/* round 4: lilac grid band for the offers section */
.bq-band{background:var(--bq-lilac-field);position:relative;margin:0 0 8px;border-top:1px solid var(--bq-line);border-bottom:1px solid var(--bq-line)}
.bq-band::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--bq-line) 1px,transparent 1px),linear-gradient(90deg,var(--bq-line) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent 40%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 40%,#000 100%);pointer-events:none}
@media(max-width:1023px){.bq-band::before{display:none}}
.bq-band .bq-wrap{position:relative}
/* round 4: calls furniture */
.bq-totop{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-size:14px;margin-top:18px}
.bq-totop i{width:30px;height:30px;border-radius:50%;background:var(--bq-gold);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:12px;color:#241a30;box-shadow:inset -4px -5px 9px rgba(0,0,0,.28)}
.bq-eyes{display:flex;align-items:center;gap:10px}
.bq-eyes i{width:26px;height:26px;border-radius:50%;background:var(--bq-gold);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:11px;color:#241a30;box-shadow:inset -4px -5px 9px rgba(0,0,0,.28)}

/* round 4b: gold band above the nav, no line beneath, floating header + bottom bar */
.bq-top{border-bottom:0!important;border-top:8px solid var(--bq-gold);box-shadow:0 6px 18px rgba(0,0,0,.28),0 1px 0 rgba(255,255,255,.06) inset}
.bq-top.is-stuck{border-bottom-color:transparent;box-shadow:0 8px 24px rgba(0,0,0,.34)}
.bq-bar{box-shadow:0 -6px 20px rgba(0,0,0,.30)!important}
@media(max-width:600px){.bq-top{border-top-width:6px}}

/* ===== sheet (homepage) ===== */
.bq-sheet{background:var(--bq-sheet);max-width:1180px;margin:-48px auto 48px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.10);position:relative;z-index:2;padding:8px 0 20px}
@media(max-width:1220px){.bq-sheet{margin-left:16px;margin-right:16px}}
@media(max-width:600px){.bq-sheet{margin:-28px 8px 32px;border-radius:8px}}
.bq-sheet .bq-sec{padding:44px 0}
/* ===== inner pages ===== */
/* ===== sheet (homepage) ===== */
.bq-sheet{background:var(--bq-sheet);max-width:1180px;margin:-48px auto 48px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.10);position:relative;z-index:2;padding:8px 0 20px}
@media(max-width:1220px){.bq-sheet{margin-left:16px;margin-right:16px}}
@media(max-width:600px){.bq-sheet{margin:-28px 8px 32px;border-radius:8px}}
.bq-sheet .bq-sec{padding:44px 0}
/* ===== inner pages ===== */
.bq-page{max-width:1180px;margin:-48px auto 48px;background:var(--bq-sheet);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.10);position:relative;z-index:2;padding:36px 40px 44px}
@media(max-width:1220px){.bq-page{margin-left:16px;margin-right:16px}}
@media(max-width:600px){.bq-page{margin:-28px 8px 32px;padding:22px 18px 30px;border-radius:8px}}
.bq-crumb{font-size:13px;color:var(--bq-muted);margin-bottom:14px;display:flex;gap:8px;flex-wrap:wrap}
.bq-crumb a{color:var(--bq-purple-ink);font-weight:500}
.bq-crumb span::before{content:"›";margin-right:8px;color:var(--bq-line)}
.bq-crumb span:first-child::before{content:none}
.bq-cols{display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:start}
@media(max-width:960px){.bq-cols{grid-template-columns:1fr}}
.bq-side{position:sticky;top:96px}
.bq-main{min-width:0}
@media(max-width:960px){.bq-side{position:static}}
.bq-main h1{font-size:38px;margin-bottom:10px;letter-spacing:-.01em}
.bq-main h2{font-size:26px;margin:36px 0 12px}
.bq-main h3{font-size:19px;margin:22px 0 8px}
.bq-main p{margin-bottom:14px;color:#3d3348;max-width:68ch}
/* v0.2.34: lists in the text column keep the same measure as paragraphs (Andrew, 24 Sep) */
.bq-main ul:not([class]),.bq-main ol:not([class]){max-width:68ch}
.bq-box ul,.bq-why ul,.bq-answer ul{max-width:none}
.bq-main ul{margin:0 0 14px 20px;color:#3d3348}
.bq-main li{margin-bottom:6px}
.bq-lede{font-size:19px;color:#3d3348;max-width:64ch;margin-bottom:18px}
/* answer block (stub) */
.bq-answer{background:var(--bq-lilac-field);border-radius:6px;padding:20px 22px;margin:18px 0 26px;position:relative}
.bq-answer-lab{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bq-gold-ink);margin-bottom:10px}
.bq-answer p{font-size:18px;color:var(--bq-text);margin:0;max-width:none}
.bq-answer .bq-chk{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--bq-muted);margin-top:12px}
.bq-dabmark{width:16px;height:16px;border-radius:50% 45% 55% 50%/45% 55% 45% 55%;background:var(--bq-gold);display:inline-block;transform:rotate(12deg);box-shadow:inset -2px -2px 3px rgba(0,0,0,.18);flex:none}
/* key facts table = su_table */
.bq-facts{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:15px}
.bq-facts td{padding:11px 12px;border-bottom:1px solid var(--bq-line);vertical-align:top}
.bq-facts td:first-child{font-weight:600;color:var(--bq-purple);width:38%;background:var(--bq-lilac-field)}
.bq-facts tr:last-child td{border-bottom:0}
.bq-facts{border:1px solid var(--bq-line);border-radius:6px;overflow:hidden}
/* stub index (hub) */
.bq-stubgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 8px}
@media(max-width:600px){.bq-stubgrid{grid-template-columns:1fr}}
.bq-stubcard{border:1px solid var(--bq-line);border-radius:6px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;background:#fff}
.bq-stubcard:hover{border-color:var(--bq-purple)}
.bq-stubcard b{font-size:15.5px;color:var(--bq-purple);font-weight:600}
.bq-stubcard span{font-size:13.5px;color:var(--bq-muted);line-height:1.4}
/* sibling strip (stub) */
.bq-sibs{border-top:1px solid var(--bq-line);border-bottom:1px solid var(--bq-line);padding:16px 0;margin:30px 0 8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bq-sibs b{font-size:13px;color:var(--bq-muted);margin-right:6px;font-weight:600}
.bq-sibs a{font-size:13.5px;font-weight:500;color:var(--bq-purple);background:var(--bq-lilac);padding:6px 12px;border-radius:6px}
.bq-sibs a.cur{background:var(--bq-purple);color:#fff}
/* sidebar ticket */
.bq-side .bq-tk{margin-top:14px}
.bq-side-note{font-size:13px;color:var(--bq-muted);margin-top:12px;line-height:1.5}
.bq-side h3{font-size:17px;margin-bottom:8px}
.bq-side ul{list-style:none;margin:10px 0 0}
.bq-side li{padding:9px 0;border-bottom:1px solid var(--bq-line);font-size:14.5px;display:flex;justify-content:space-between;gap:10px}
.bq-side li:last-child{border-bottom:0}
.bq-side li span{color:var(--bq-muted);font-size:12.5px;white-space:nowrap}
/* venue */
.bq-sess .tm{font-weight:700;font-size:16px;color:var(--bq-purple);min-width:74px;font-variant-numeric:tabular-nums}
.bq-pricenote{font-size:14.5px;color:#3d3348;background:var(--bq-lilac-field);border-radius:6px;padding:12px 14px;margin:0 0 12px!important;max-width:none!important}
.bq-clubs{counter-reset:club}.bq-clubs li{counter-increment:club}.bq-clubs .bq-ball.idx b::before{content:counter(club)}.bq-clubs .bq-ball.idx{--c:var(--bq-purple-ink)}.bq-clubs li.closed .bq-ball.idx b::before{content:"×"}
.bq-ball{--c:#d33a2c;width:44px;height:44px;border-radius:50%;background:var(--c);display:grid;place-items:center;position:relative;box-shadow:inset -6px -8px 14px rgba(0,0,0,.32),inset 3px 4px 7px rgba(255,255,255,.25),0 4px 8px rgba(0,0,0,.2);flex:none}
.bq-ball::before{content:"";position:absolute;inset:8px;background:#fff;border-radius:50%}
.bq-ball b{position:relative;font-weight:800;font-size:12.5px;color:#241a30;letter-spacing:-.02em}
.bq-ball.gold{--c:#e5a800}.bq-ball.blue{--c:#2b62c9}.bq-ball.green{--c:#1d9a52}.bq-ball.orange{--c:#ee7b1c}
.bq-sess{list-style:none;margin:10px 0 6px!important;border:1px solid var(--bq-line);border-radius:6px;overflow:hidden}
.bq-sess li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--bq-line);margin:0}
.bq-sess li:last-child{border-bottom:0}
.bq-sess b{font-size:15.5px;color:var(--bq-purple);display:block}
.bq-sess span{font-size:13px;color:var(--bq-muted);display:block}
.bq-sess .t{margin-left:auto;font-weight:700;font-size:15px;color:var(--bq-text);white-space:nowrap}
.bq-checked{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--bq-muted);margin:0 0 18px}
.bq-map{background:var(--bq-lilac-field);border:1px solid var(--bq-line);border-radius:6px;height:220px;display:grid;place-items:center;color:var(--bq-muted);font-size:13px;margin:8px 0 18px}
.bq-closed{background:#fff6e0;border:1px solid #f0d58a;border-radius:6px;padding:16px 18px;margin:0 0 22px;display:flex;gap:14px;align-items:flex-start}
.bq-closed .bq-ball{--c:#d33a2c;width:40px;height:40px}.bq-closed .bq-ball::before{inset:7px}.bq-closed .bq-ball b{font-size:11px}
.bq-closed b.h{font-family:var(--bq-head);font-size:19px;color:var(--bq-purple);display:block;margin-bottom:4px;font-weight:600}
.bq-closed p{margin:0;font-size:14.5px;max-width:none}
.bq-nearby{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 6px}
@media(max-width:600px){.bq-nearby{grid-template-columns:1fr}}
.bq-near{display:flex;align-items:center;gap:12px;border:1px solid var(--bq-line);border-radius:6px;padding:10px 12px}
.bq-near .bq-ball{width:36px;height:36px}.bq-near .bq-ball::before{inset:6px}.bq-near .bq-ball b{font-size:10.5px}
.bq-near b{font-size:14.5px;color:var(--bq-purple);display:block;font-weight:600}
.bq-near span{font-size:12.5px;color:var(--bq-muted)}
/* region index */
.bq-clubs{list-style:none;margin:8px 0 18px!important;border:1px solid var(--bq-line);border-radius:6px;overflow:hidden}
.bq-clubs li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--bq-line);margin:0}
.bq-clubs li:last-child{border-bottom:0}
.bq-clubs a{font-weight:600;font-size:15.5px}
.bq-clubs span{font-size:13px;color:var(--bq-muted);display:block}
.bq-clubs .t{margin-left:auto;font-size:13px;color:var(--bq-muted);white-space:nowrap;text-align:right}
.bq-clubs .t b{display:block;color:var(--bq-text);font-size:14px}
.bq-clubs li.closed{opacity:.7}
.bq-clubs li.closed .bq-ball{--c:#8a8393}
details.bq-more{margin:0 0 18px}
details.bq-more summary{cursor:pointer;font-weight:600;color:var(--bq-purple-ink);font-size:14.5px;padding:8px 0}
/* offer page */
.bq-offers.one{grid-template-columns:1fr;max-width:none;gap:26px;margin:10px 0 6px}
.bq-tk.wide .bq-tk-top{padding-bottom:8px}
.bq-tk.wide .bq-offer-deal{font-size:24px}
.bq-tk.wide{display:grid;grid-template-columns:230px 1fr 250px;align-items:center}
.bq-tk.wide .bq-tk-top{padding:16px 16px;border-right:2px dashed var(--bq-line);flex-direction:column;align-items:flex-start;gap:10px;align-self:stretch;justify-content:center}
.bq-tk.wide .bq-perf{display:none}
.bq-tk.wide .bq-tk-mid{padding:16px 18px}
.bq-tk.wide .bq-tk-bot{padding:16px 18px;border-left:2px dashed var(--bq-line);align-self:stretch;justify-content:center}
@media(max-width:900px){.bq-tk.wide{grid-template-columns:1fr 1fr}.bq-tk.wide .bq-tk-top{grid-column:1/-1;border-right:0;border-bottom:2px dashed var(--bq-line);flex-direction:row;align-items:center;justify-content:space-between}}
@media(max-width:640px){.bq-tk.wide{display:flex;flex-direction:column}.bq-tk.wide .bq-tk-bot{border-left:0;padding-top:4px}.bq-tk.wide .bq-tk-top{border-bottom:0}.bq-tk.wide .bq-perf{display:block}}
/* mobile-only compact offer strip */
.bq-mob-offer{display:none}
@media(max-width:960px){.bq-mob-offer{display:flex;align-items:center;gap:12px;background:var(--bq-lilac-field);border:1.5px solid var(--bq-purple);border-radius:6px;padding:12px 14px;margin:0 0 22px}
 .bq-mob-offer .bq-offer-logo{width:44px;height:32px;font-size:14px}.bq-mob-offer b{font-size:14px;color:var(--bq-purple);display:block}.bq-mob-offer span{font-size:12.5px;color:var(--bq-muted);display:block}
 .bq-mob-offer a{margin-left:auto;background:var(--bq-cta);color:#fff;font-weight:600;font-size:13.5px;padding:10px 14px;border-radius:6px;white-space:nowrap}}
/* tabs (mockup only) */


/* ===== round 2: intent-led components ===== */
/* horizontal offer box (offer pages, hub, sister-site lists) */
.bq-box{border:1.5px solid var(--bq-purple);border-radius:6px;background:#fff;position:relative;margin:0 0 22px;counter-increment:bqticket}
.bq-box .bq-num{position:absolute;right:-13px;top:-13px;width:40px;height:40px;border-radius:50%;background:var(--bq-purple-ink);display:grid;place-items:center;box-shadow:inset -5px -6px 12px rgba(0,0,0,.32),inset 3px 4px 6px rgba(255,255,255,.22),0 4px 8px rgba(0,0,0,.22);z-index:2}
.bq-box .bq-num::before{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}
.bq-box .bq-num::after{content:counter(bqticket);position:relative;font-weight:800;font-size:14px;color:#241a30}

.bq-box .pickbar{background:var(--bq-purple);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.04em;padding:8px 18px;border-radius:4px 4px 0 0;display:flex;gap:8px;align-items:center}
.bq-box .pickbar i{width:14px;height:14px;border-radius:50% 45% 55% 50%/45% 55% 45% 55%;background:var(--bq-gold);display:inline-block;transform:rotate(12deg)}
.bq-box-in{display:grid;grid-template-columns:170px 1fr 210px;gap:22px;align-items:center;padding:20px 22px}
.bq-box-logo{width:170px;height:102px;border-radius:6px;background:var(--bq-lilac);display:grid;place-items:center;font-family:var(--bq-head);font-weight:700;color:var(--bq-purple);font-size:34px;position:relative}
.bq-box-logo .bq-stamp{position:absolute;right:-16px;bottom:-16px;width:62px;height:62px;padding:6px}
.bq-box-logo .bq-stamp b{font-size:18px}
.bq-box-mid .bq-box-title{font-family:var(--bq-head);font-size:24px;font-weight:600;color:var(--bq-purple);margin:0 0 4px!important;line-height:1.1}
.bq-box-mid p{font-size:15.5px;margin:0 0 10px!important;color:#3d3348;max-width:none!important}
.bq-box-mid .bq-req{margin:0}
.bq-box-mid .bq-more{font-size:13.5px;font-weight:600;margin-top:10px;display:inline-block}
.bq-box-cta{text-align:center}
.bq-box-cta .deal{font-family:var(--bq-head);font-size:22px;color:var(--bq-purple);line-height:1.1;margin-bottom:10px;font-weight:600}
.bq-box-cta .bq-cta{font-size:15.5px;padding:12px 16px;border-radius:999px;box-shadow:0 4px 0 var(--bq-cta-hover)}
.bq-box-cta .bq-cta:active{transform:translateY(3px);box-shadow:0 1px 0 var(--bq-cta-hover)}
.bq-box-cta .sub{font-size:12.5px;color:var(--bq-muted);margin-top:8px}
.bq-box-terms{background:var(--bq-lilac-field);border-top:1px solid var(--bq-line);padding:12px 22px;font-size:12px;color:var(--bq-muted);line-height:1.5;border-radius:0 0 4px 4px}
.bq-box-terms a{text-decoration:underline}
/* v0.2.32 "Why we list it" note sits inside the box, in place of the pitch line */
.bq-why{margin:2px 0 10px;min-height:76px} /* v0.2.33: label + 2 one-line bullets; keeps boxes level */
.bq-why b{display:block;font-family:var(--bq-body);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bq-gold-ink);margin:0 0 4px}
.bq-why ul{margin:0!important;padding:0 0 0 18px!important}
.bq-why li{font-size:15px;line-height:1.45;color:#3d3348;margin:0 0 3px!important}
@media (max-width:760px){.bq-why{min-height:0}}
.bq-why li::marker{color:var(--bq-gold)}
@media(max-width:900px){.bq-box-in{grid-template-columns:140px 1fr}.bq-box-cta{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;text-align:left;border-top:1px dashed var(--bq-line);padding-top:16px}.bq-box-cta .deal{margin:0}.bq-box-cta .sub{grid-column:1/-1;margin:0}.bq-box-logo{width:140px;height:84px;font-size:26px}}
@media(max-width:600px){.bq-box-in{grid-template-columns:1fr;gap:14px;padding:16px}.bq-box-logo{width:100%;height:auto;aspect-ratio:725/400}.bq-box-cta{grid-template-columns:1fr}.bq-box-cta .bq-cta{width:100%}}
/* forceful sidebar card */
.bq-side-card{background:var(--bq-purple);border-radius:8px;padding:22px 22px 18px;color:#fff;box-shadow:0 12px 30px rgba(47,22,80,.30);position:relative}
.bq-side-card .top{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bq-gold);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.bq-side-card .top i{width:12px;height:12px;border-radius:50% 45% 55% 50%/45% 55% 45% 55%;background:var(--bq-gold);display:inline-block}
.bq-side-card .logo{background:#fff;border-radius:6px;height:120px;display:grid;place-items:center;font-family:var(--bq-head);font-weight:700;color:var(--bq-purple);font-size:38px;margin-bottom:14px;position:relative}
.bq-side-card .logo .bq-stamp{position:absolute;right:-12px;top:-12px;width:64px;height:64px;padding:6px}
.bq-side-card .brand{font-family:var(--bq-head);font-size:22px;font-weight:600;color:#fff;margin:0 0 2px!important}
.bq-side-card .deal{font-family:var(--bq-head);font-size:34px;line-height:1.05;color:var(--bq-gold);font-weight:700;margin:8px 0 6px}
.bq-side-card .sub{font-size:15px;color:rgba(255,255,255,.85);margin:0 0 14px!important;max-width:none!important}
.bq-side-card .bq-req{margin:0 0 16px}
.bq-side-card .bq-req span{background:rgba(255,255,255,.12);color:#fff}
.bq-side-card .bq-cta{font-size:18px;padding:17px 18px;border-radius:999px;box-shadow:0 5px 0 var(--bq-cta-hover);background:#22a04a}
.bq-side-card .bq-cta:hover{background:#1c8a3f}
.bq-side-card .terms{font-size:11.5px;color:rgba(255,255,255,.62);line-height:1.5;margin:14px 0 0!important;max-width:none!important}
.bq-side-card .terms a{color:rgba(255,255,255,.85);text-decoration:underline}
.bq-side-card .num{position:absolute;right:-13px;top:-13px;width:40px;height:40px;border-radius:50%;background:var(--bq-gold);display:grid;place-items:center;box-shadow:inset -5px -6px 12px rgba(0,0,0,.25),0 4px 8px rgba(0,0,0,.22)}
.bq-side-card .num::before{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}
.bq-side-card .num::after{content:counter(bqticket);position:relative;font-weight:800;font-size:14px;color:#241a30}
.bq-side-alt{margin-top:16px;border:1px solid var(--bq-line);border-radius:6px;padding:14px 16px}
.bq-side-alt b{font-size:13px;color:var(--bq-muted);display:block;margin-bottom:6px;font-weight:600}
.bq-side-alt a{font-weight:700;font-size:15px}
.bq-side-alt span{display:block;font-size:13px;color:var(--bq-muted)}
/* hub verdict */
.bq-verdictbox{border-left:4px solid var(--bq-gold);padding:6px 0 6px 18px;margin:10px 0 24px}
.bq-verdictbox p{font-size:17.5px;color:var(--bq-text);margin:0!important}
/* sister list rows */
.bq-sisrow{display:flex;align-items:center;gap:16px;border:1px solid var(--bq-line);border-radius:6px;padding:14px 16px;margin-bottom:10px}
.bq-sisrow .bq-box-logo{width:110px;height:72px;font-size:22px}
.bq-sisrow .bq-box-logo .bq-stamp{display:none}
.bq-sisrow .bq-box-title{font-family:var(--bq-head);font-weight:600;color:var(--bq-purple);margin:0 0 2px!important}
.bq-sisrow p{margin:0!important;font-size:14px;color:#3d3348;max-width:none!important}
.bq-sisrow .r{margin-left:auto;flex:none}
.bq-sisrow .bq-sisdeal{font-family:var(--bq-head);font-size:17px;color:var(--bq-purple);font-weight:600;margin-top:6px!important}
.bq-ghost{display:inline-block;width:150px;text-align:center;background:#fff;border:2px solid var(--bq-purple);color:var(--bq-purple);font-weight:700;font-size:15px;padding:11px 0;border-radius:999px}
.bq-ghost:hover{background:var(--bq-lilac)}
@media(max-width:700px){.bq-sisrow{flex-wrap:wrap}.bq-sisrow .r{margin-left:0;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between}}
/* sessions: leading time */
.bq-sess .tm{font-weight:700;font-size:17px;color:var(--bq-purple);min-width:80px;font-variant-numeric:tabular-nums}
/* session grid */
.bq-gridwrap{overflow:auto;border:1px solid var(--bq-line);border-radius:6px;margin:8px 0 10px}
.bq-grid{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
.bq-grid th,.bq-grid td{padding:10px 8px;text-align:center;border-bottom:1px solid var(--bq-line)}
.bq-grid thead th{background:var(--bq-lilac-field);color:var(--bq-purple);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase}
.bq-grid tbody th{text-align:left;font-weight:600;color:var(--bq-purple);background:var(--bq-lilac-field);padding-left:14px}
.bq-grid td{font-weight:600;color:var(--bq-text);font-variant-numeric:tabular-nums}
.bq-grid td.na{color:var(--bq-line);font-weight:400}
.bq-grid tr:last-child th,.bq-grid tr:last-child td{border-bottom:0}
/* offer page: single column */
.bq-single{max-width:none}
.bq-single h2{margin-top:30px}
.bq-cols.wide-main{grid-template-columns:1fr 340px}
@media(max-width:960px){.bq-side{order:-1;margin-bottom:22px}.bq-side .bq-side-card{margin:0}}
.bq-h1row{margin-bottom:6px}
.bq-h1row h1{font-size:38px;margin-bottom:10px;letter-spacing:-.01em}
.bq-h1row .bq-lede{margin-bottom:8px}

/* ===== WordPress content defaults ===== */
.bq-main img,.bq-content img{max-width:100%;height:auto;border-radius:6px}
.bq-main figure,.wp-caption{margin:0 0 16px;max-width:100%}
.wp-caption-text,figcaption{font-size:13px;color:var(--bq-muted);margin-top:6px}
.bq-main ol{margin:0 0 14px 22px;color:#3d3348}
.bq-main blockquote{border-left:4px solid var(--bq-gold);padding:6px 0 6px 18px;margin:10px 0 18px;color:var(--bq-text)}
.bq-main table:not(.bq-facts):not(.bq-grid){width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:15px;border:1px solid var(--bq-line);border-radius:6px;overflow:hidden}
.bq-main table:not(.bq-facts):not(.bq-grid) td,.bq-main table:not(.bq-facts):not(.bq-grid) th{padding:11px 12px;border-bottom:1px solid var(--bq-line);vertical-align:top;text-align:left}
.bq-main table:not(.bq-facts):not(.bq-grid) th{background:var(--bq-lilac-field);color:var(--bq-purple);font-weight:600}
.bq-main hr{border:0;border-top:1px solid var(--bq-line);margin:24px 0}
.bq-main a{text-decoration:underline;text-decoration-color:var(--bq-line);text-underline-offset:3px}
.bq-main a:hover{text-decoration-color:var(--bq-purple-ink)}
.bq-main .bq-stubcard,.bq-main .bq-sibs a,.bq-main .bq-cta,.bq-main .bq-ghost,.bq-main .bq-near,.bq-main .bq-clubs a,.bq-main .bq-crumb a{text-decoration:none}
.bq-main h1:first-child{margin-top:0}
.bq-main>h2:first-child{margin-top:8px}
.alignleft{float:left;margin:4px 20px 12px 0}.alignright{float:right;margin:4px 0 12px 20px}.aligncenter{display:block;margin:12px auto}
.bq-main p:empty{display:none}

/* ===== legacy shortcodes rendered by the theme ===== */
/* su_table → facts table: the shortcode wraps the editor's <table> */
.bq-facts-wrap table{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:15px}
.bq-facts-wrap{border:1px solid var(--bq-line);border-radius:6px;overflow:hidden;margin:8px 0 22px}
.bq-facts-wrap td,.bq-facts-wrap th{padding:11px 12px;border-bottom:1px solid var(--bq-line);vertical-align:top;text-align:left}
.bq-facts-wrap td:first-child,.bq-facts-wrap th:first-child{font-weight:600;color:var(--bq-purple);width:38%;background:var(--bq-lilac-field)}
.bq-facts-wrap tr:last-child td{border-bottom:0}
.bq-facts-wrap td span[style]{font-family:inherit!important;font-size:inherit!important}
.bq-facts-wrap table{margin:0}
/* wpsm_button → claim pill; centred paragraphs keep centring */
.bq-legacy-btn{display:inline-block;background:var(--bq-cta);color:#fff!important;font-weight:700;font-size:16px;padding:14px 26px;border-radius:999px;box-shadow:0 4px 0 var(--bq-cta-hover);text-decoration:none!important;margin:6px 0 10px}
.bq-legacy-btn:hover{background:var(--bq-cta-hover)}
.bq-legacy-btn.is-ghost{background:#fff;color:var(--bq-purple)!important;border:2px solid var(--bq-purple);box-shadow:none;padding:12px 24px}
/* tw-disclaimer inline span → terms strip */
.bq-terms-strip{display:block;background:var(--bq-lilac-field);border:1px solid var(--bq-line);border-radius:6px;padding:12px 16px;font-size:12.5px;color:var(--bq-muted);line-height:1.5;margin:0 0 22px}
.bq-terms-strip a{color:var(--bq-purple-ink)}
/* i2 pros/cons → two quiet lists */
.bq-map iframe{width:100%;height:100%;border:0;border-radius:6px;display:block}
.bq-map.has-embed{background:none;border:0;display:block;width:100%;height:360px;padding:0}
@media(max-width:700px){.bq-map.has-embed{height:260px}}
/* TOC plugins */
#ez-toc-container,.lwptoc,.toc-wrap{background:var(--bq-lilac-field);border:1px solid var(--bq-line);border-radius:6px;padding:14px 18px;margin:0 0 22px;font-size:14.5px}
#ez-toc-container a,.lwptoc a{color:var(--bq-purple-ink)}
/* Yoast breadcrumb */
.bq-crumb .breadcrumb_last{color:var(--bq-muted)}
/* disclaimer bar (tw_disclaimer post meta, rendered server-side) */
.bq-disc-bar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid var(--bq-line);padding:8px 16px;font-size:12px;color:var(--bq-muted);text-align:center;line-height:1.4;box-shadow:0 -4px 14px rgba(0,0,0,.08)}
.bq-disc-bar button{position:absolute;right:8px;top:4px;background:none;border:0;font-size:18px;color:var(--bq-muted);cursor:pointer}
.bq-disc-bar.is-hidden{display:none}
@media(max-width:600px){.bq-disc-bar{bottom:calc(66px + env(safe-area-inset-bottom))}}
body.has-disc-bar{padding-bottom:44px}
/* 404 */
.bq-404{text-align:center;padding:40px 20px 60px}
.bq-404 .bq-ball{margin:0 auto 18px;width:72px;height:72px}.bq-404 .bq-ball::before{inset:13px}.bq-404 .bq-ball b{font-size:22px}
.bq-404 h1{font-size:40px;margin-bottom:10px}
.bq-404 p{color:var(--bq-muted);max-width:52ch;margin:0 auto 22px}
/* skip link */
.bq-skip{position:absolute;left:-9999px;top:0;background:var(--bq-purple);color:#fff;padding:10px 16px;z-index:300;border-radius:0 0 6px 0}
.bq-skip:focus{left:0}
/* accessibility: reduced motion */
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* print */
@media print{.bq-top,.bq-bar,.bq-drawer,.bq-disc-bar{display:none!important}.bq-page,.bq-sheet{box-shadow:none;margin:0}}

/* ===== template glue (v0.1.0) ===== */
.bq-hero--slim{padding:24px 0 190px;overflow:hidden}
/* v0.2.28 "G7": internal pages get a homepage-height band (solid purple + the home hero's gold glow), the card stays ~120px below the nav, and two large tinted rings (gold 88, pink 52) sit beside it. */
.bq-hero--slim{background:#2a1349;padding:24px 0 396px}
.bq-hero--slim::after{display:block}
.bq-hero--slim .bq-hero-balls{z-index:0}
.bq-hero--slim .bq-hero-balls .b2{display:none}
.bq-hero--slim .bq-hero-balls .b1{width:520px;height:520px;right:-110px;top:-120px;opacity:.17}
.bq-hero--slim .bq-hero-balls .b3{width:300px;height:300px;right:470px;top:40px;opacity:.17}
.bq-hero--slim .b1 > circle:nth-of-type(1),.bq-hero--slim .b1 text{fill:#f2b705}.bq-hero--slim .b1 > circle:nth-of-type(3){stroke:#f2b705}
.bq-hero--slim .b3 > circle:nth-of-type(1),.bq-hero--slim .b3 text{fill:#e84a80}.bq-hero--slim .b3 > circle:nth-of-type(3){stroke:#e84a80}
.bq-hero--slim ~ main .bq-page{margin-top:-300px}
@media(min-width:601px) and (max-width:1023px){.bq-hero--slim{padding:12px 0 200px}.bq-hero--slim ~ main .bq-page{margin-top:-130px}}
@media(max-width:600px){.bq-hero--slim ~ main .bq-page{margin-top:-40px}}
/* weighted content card, all layouts */
.bq-page{box-shadow:0 1px 2px rgba(31,13,54,.12),0 14px 34px rgba(31,13,54,.20);border:1px solid rgba(47,22,80,.06);border-radius:14px}
.bq-hero .bq-wrap h1{color:#fff;font-size:44px;font-weight:700;max-width:620px;margin-bottom:14px}
.bq-drawer-list{list-style:none}
.bq-drawer-list li a{display:flex;align-items:center;justify-content:space-between;color:#fff;font-family:var(--bq-head);font-size:24px;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.1)}
.bq-drawer-list li a span{font-family:var(--bq-body);font-size:13px;color:rgba(255,255,255,.6)}
.bq-foot-nav a,.bq-foot-nav span a{color:#fff;font-weight:500}
.bq-bar a img{width:22px;height:18px;display:block}
.bq-logo img{height:44px;width:auto;display:block}
.bq-foot-row img{height:36px;width:auto}
.bq-drawer-top img{height:40px;width:auto}
/* Logos: every TW Offers image is 200×120 (5:3). The tile IS the logo — no frame, no padding. */
.bq-box-logo.has-img,.bq-side-card .logo.has-img{padding:0;background:none;border:0;overflow:hidden;border-radius:6px}
.bq-box-logo.has-img img,.bq-side-card .logo.has-img img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}
.bq-side-card .logo.has-img{height:auto;aspect-ratio:5/3}
.bq-home-content{padding:0 40px}
@media(max-width:600px){.bq-home-content{padding:0 16px}}
.bq-home-content h2{font-size:28px;margin:44px 0 18px}
.bq-page--list .bq-single{max-width:none}
.bq-comments{margin-top:40px}
.bq-single .bq-box{max-width:none}
.bq-h1row{margin-bottom:6px}
.bq-h1row h1{font-size:38px;margin-bottom:10px;letter-spacing:-.01em}
.bq-h1row .bq-lede{margin-bottom:8px}
@media(max-width:600px){.bq-h1row h1{font-size:30px}}

/* ---- v0.1.1: menus with sub-items ---- */
.bq-menu>li{position:relative}
.bq-menu>li>button{background:none;border:0;color:#fff;font:inherit;font-weight:500;font-size:15px;padding:10px 14px;border-radius:6px;display:flex;align-items:center;gap:4px;cursor:pointer}
.bq-menu>li>a{display:flex;align-items:center;gap:4px}
.bq-menu>li>button:hover,.bq-menu>li.is-open>button,.bq-menu>li.is-open>a,.bq-menu>li:hover>a,.bq-menu>li:hover>button{background:rgba(255,255,255,.1);color:var(--bq-gold)}
.bq-menu .bq-caret{width:14px;height:14px;opacity:.7;transition:transform .15s}
.bq-menu>li:hover>*>.bq-caret,.bq-menu>li.is-open>*>.bq-caret{transform:rotate(180deg)}
.bq-menu .bq-sub{position:absolute;top:100%;margin-top:4px;left:0;min-width:230px;background:#fff;border:1px solid var(--bq-line);border-radius:6px;box-shadow:0 14px 34px rgba(30,13,54,.22);padding:8px;list-style:none;display:none;z-index:70;text-align:left}
.bq-menu>li:hover>.bq-sub,.bq-menu>li:focus-within>.bq-sub,.bq-menu>li.is-open>.bq-sub{display:block}
.bq-menu>li.is-wide>.bq-sub{width:560px;columns:2;column-gap:12px}
.bq-menu>li:nth-last-child(-n+2)>.bq-sub,.bq-menu>li.is-flip>.bq-sub{left:auto;right:0}
.bq-menu .bq-sub li{break-inside:avoid}
.bq-menu .bq-sub a{color:var(--bq-text);font-weight:500;font-size:14.5px;padding:8px 12px;border-radius:4px;display:block;white-space:nowrap}
.bq-menu .bq-sub a:hover,.bq-menu .bq-sub a.is-on{background:var(--bq-lilac-field);color:var(--bq-purple)}
.bq-menu .bq-sub .bq-sub{position:static;display:block;box-shadow:none;border:0;padding:0;min-width:0;columns:auto}
.bq-menu .bq-group{margin-top:6px}
.bq-menu .bq-group-h{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bq-muted);padding:8px 12px 2px}
.bq-menu a.bq-group-h:hover{color:var(--bq-purple);background:none}
.bq-menu .bq-group .bq-sub a{padding-left:20px}

.bq-drawer-row{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.1)}
.bq-drawer-row>a{flex:1;border-bottom:0!important}
.bq-drawer-tgl{background:none;border:0;color:#fff;width:52px;display:grid;place-items:center;cursor:pointer;border-radius:6px}
.bq-drawer-tgl.is-title{width:100%;display:flex;align-items:center;justify-content:space-between;font-family:var(--bq-head);font-size:24px;padding:16px 4px;text-align:left}
.bq-drawer-tgl.is-title::after{content:"";width:10px;height:10px;border-right:2px solid rgba(255,255,255,.7);border-bottom:2px solid rgba(255,255,255,.7);transform:rotate(45deg);margin-right:8px;transition:transform .15s}
.bq-drawer-tgl .bq-caret{width:20px;height:20px;transition:transform .15s}
li.is-open>.bq-drawer-row .bq-caret,li.is-open>.bq-drawer-row .bq-drawer-tgl.is-title::after{transform:rotate(180deg)}
li.is-open>.bq-drawer-row .bq-drawer-tgl.is-title::after{transform:rotate(225deg)}
.bq-drawer-list .bq-sub{list-style:none;display:none;padding:2px 0 10px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.bq-drawer-list li.is-open>.bq-sub{display:block}
.bq-drawer-list .bq-sub li a{font-family:var(--bq-body);font-size:17px;font-weight:500;padding:11px 4px;border-bottom:0;color:rgba(255,255,255,.9)}
.bq-drawer-list .bq-sub .bq-sub{display:block;padding:0 0 4px 0;border:0}
.bq-drawer-list .bq-group-h{display:block;font-family:var(--bq-body);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55);padding:12px 4px 2px;border:0}

/* ---- v0.1.1: legacy content fixes ---- */
img.emoji{display:inline!important;width:1em!important;height:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;border:0!important;box-shadow:none!important;background:none!important;padding:0!important}
.bq-facts-wrap td img:not(.emoji){max-width:28px;height:auto;vertical-align:middle}
.spt-toolbar,.tw_disclaimer{display:none!important}
.review-wrapper{display:none}

/* ---- v0.1.2 ---- */
.bq-facts-wrap>table{margin:0!important;border:0!important;border-radius:0!important}
.bq-facts-wrap>p:empty,.bq-facts-wrap>br{display:none}

/* ---- v0.1.3: verdict box (WP Review Pro meta, theme-rendered) ---- */

/* ---- v0.2.0: homepage sections ---- */
.bq-home>.bq-sec:first-child{padding-top:36px}
.bq-sec-tight{padding:30px 0}
.bq-home .bq-sec-h h2{font-size:28px}
.bq-chain-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bq-chain .bq-ball{width:44px;height:44px;flex:none;box-shadow:inset -5px -6px 12px rgba(0,0,0,.32),inset 3px 4px 6px rgba(255,255,255,.22)}
.bq-chain .bq-ball::before{inset:8px}
.bq-chain .bq-ball b{font-size:14px;font-family:var(--bq-body)}
.bq-regions{list-style:none;margin:0;padding:0;columns:4;column-gap:24px;font-size:15px}
.bq-regions li{break-inside:avoid;padding:5px 0;border-bottom:1px solid var(--bq-line)}
.bq-regions a{color:var(--bq-text);font-weight:500}
.bq-regions a:hover{color:var(--bq-purple)}
@media(max-width:900px){.bq-regions{columns:3}}
@media(max-width:600px){.bq-regions{columns:2;font-size:14px}}
.bq-prose{max-width:760px;font-size:16px}
.bq-prose p{margin:0 0 14px}
.bq-offer-logo.has-img{width:70px;height:42px;padding:0;background:none;overflow:hidden;border-radius:5px}
.bq-offer-logo.has-img img{display:block;width:100%;height:100%;object-fit:cover}
.bq-offer-logo .bq-stamp{display:none}
.bq-offer-brand small a{color:var(--bq-purple-ink);text-decoration:underline;text-underline-offset:2px}
.bq-tk .bq-terms a{color:inherit;text-decoration:underline}
@media(max-width:600px){.bq-home .bq-wrap{padding:0 16px}}
@media(max-width:600px){.bq-chains{grid-template-columns:1fr 1fr;gap:10px}.bq-chain{padding:14px}.bq-chain b{font-size:17px}.bq-chain>span{font-size:13px}.bq-home .bq-sec-h h2{font-size:24px}}

/* v0.2.4 — no-deal card: hollow gold button to the best sites page */
.bq-side-card .bq-cta.is-alt{background:transparent;color:var(--bq-gold);border:2px solid var(--bq-gold);box-shadow:none}
.bq-side-card .bq-cta.is-alt:hover{background:var(--bq-gold);color:var(--bq-purple)}

/* v0.2.6 — offer box "No offer to claim" line (class renamed from bq-verdict, which the verdict box now owns) */
.bq-box-cta .bq-nodeal{font-family:var(--bq-head);font-size:19px;color:var(--bq-purple);line-height:1.35;margin-bottom:8px}

/* v0.2.6 — Review Summary "board": purple headers with the count in a ball, numbered lines */
.bq-proscons{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--bq-line);border-radius:8px;overflow:hidden;margin:8px 0 26px;background:#fff}
.bq-proscons>div{padding:0;min-width:0}
.bq-proscons .bq-pros{border-right:1px solid var(--bq-line)}
.bq-proscons .bq-pc-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;font-family:var(--bq-head);font-size:18px;font-weight:600;color:#fff;background:var(--bq-purple);margin:0!important}
.bq-proscons .bq-cons .bq-pc-title{background:var(--bq-purple-ink)}
.bq-pc-n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;font:800 13px/1 var(--bq-body);font-variant-numeric:tabular-nums;color:var(--bq-purple);background:var(--bq-gold);flex:none}
.bq-proscons .bq-cons .bq-pc-n{background:#fff;color:var(--bq-purple-ink)}
.bq-proscons ul{list-style:none;margin:0!important;padding:6px 16px 8px;counter-reset:bqpc}
.bq-proscons li{counter-increment:bqpc;display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;padding:8px 0;font-size:15px;line-height:1.45;border-bottom:1px solid var(--bq-line)}
.bq-proscons li:last-child{border-bottom:0}
.bq-proscons li::before{content:counter(bqpc);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 12px/1 var(--bq-body);font-variant-numeric:tabular-nums;color:#fff;background:var(--bq-cta);margin-top:1px}
.bq-proscons .bq-cons li::before{background:#fff;color:var(--bq-muted);border:2px solid var(--bq-line)}
@media(max-width:600px){.bq-proscons{grid-template-columns:1fr}.bq-proscons .bq-pros{border-right:0;border-bottom:1px solid var(--bq-line)}}

/* v0.2.6 — verdict "board": purple score tile with the score as a gold ball, text on lilac-field */
.bq-verdict{display:grid;grid-template-columns:150px 1fr;border-radius:8px;overflow:hidden;margin:26px 0 0;box-shadow:0 12px 30px rgba(47,22,80,.18)}
.bq-verdict-score{background:var(--bq-purple);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px 14px}
.bq-verdict-ball{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--bq-gold);color:var(--bq-purple);font:800 38px/1 var(--bq-body);font-variant-numeric:tabular-nums;box-shadow:0 5px 0 var(--bq-gold-ink);position:relative}
.bq-verdict-ball::before{content:"";position:absolute;inset:6px;border-radius:50%;border:1.5px solid rgba(47,22,80,.25)}
.bq-verdict-ball.is-blank{background:var(--bq-lilac);box-shadow:none}
.bq-verdict-score small{font:600 12px/1 var(--bq-body);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.bq-verdict-call{font-family:var(--bq-head);font-size:15px;color:var(--bq-gold);text-align:center;line-height:1.25}
.bq-verdict-body{background:var(--bq-lilac-field);border:1px solid var(--bq-line);border-left:0;padding:20px 24px;min-width:0}
.bq-verdict-h{font-family:var(--bq-head);font-size:20px;font-weight:600;color:var(--bq-purple);margin:0 0 8px!important}
.bq-verdict-body p{margin:0 0 10px;font-size:16px}
.bq-verdict-body p:last-child{margin-bottom:0}
.bq-verdict-feat{list-style:none;margin:12px 0 0!important;padding:10px 0 0;border-top:1px solid var(--bq-line);display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 18px;font-size:14px}
.bq-verdict-feat li{display:flex;justify-content:space-between;padding:4px 0}
.bq-verdict-feat li b{color:var(--bq-purple)}
@media(max-width:600px){.bq-verdict{grid-template-columns:1fr}.bq-verdict-score{flex-direction:row;justify-content:flex-start;padding:16px 18px}.bq-verdict-ball{width:64px;height:64px;font-size:30px}.bq-verdict-body{border-left:1px solid var(--bq-line);border-top:0;padding:18px}}

/* v0.2.6 — quiet secondary CTA under the verdict (the card stays the loud one) */
.bq-visit{margin:16px 0 26px;text-align:center}
.bq-visit-btn{display:inline-block;border:2px solid var(--bq-purple-ink);color:var(--bq-purple-ink);background:#fff;border-radius:999px;padding:10px 22px;font-weight:600;font-size:16px;text-decoration:none}
.bq-visit-btn:hover{background:var(--bq-purple-ink);color:#fff}
.bq-visit-btn.is-alt{border-color:var(--bq-line);color:var(--bq-purple)}
.bq-visit-terms{font-size:12px;line-height:1.5;color:var(--bq-muted);margin:12px auto 0;max-width:62ch;text-align:left}

/* v0.2.8 — desktop menu: invisible bridge under each item so the pointer can cross to the panel without it closing */
.bq-menu>li.has-kids::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}

/* v0.2.8 — breadcrumb: one line, middle crumbs truncate, current page always visible */
.bq-crumb{flex-wrap:nowrap;overflow:hidden;white-space:nowrap;min-width:0}
.bq-crumb span{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.bq-crumb span:first-child{flex:none}
.bq-crumb span:last-child{flex:0 1 auto;min-width:6ch}

/* v0.2.8 — content images and captions */
.bq-main .wp-caption,.bq-main figure{width:auto!important;max-width:100%;margin:26px auto;text-align:center;background:var(--bq-lilac-field);border:1px solid var(--bq-line);border-radius:10px;padding:8px 8px 10px}
.bq-main .wp-caption img,.bq-main figure img{display:block;margin:0 auto;border-radius:6px;box-shadow:0 6px 18px rgba(47,22,80,.14);max-width:100%;height:auto}
.bq-main .wp-caption-text,.bq-main figcaption{font-size:13.5px;color:var(--bq-muted);margin:10px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;font-style:normal;line-height:1.4}
.bq-main .wp-caption-text::before,.bq-main figcaption::before{content:"";width:9px;height:9px;flex:none;border-radius:50% 45% 55% 50%/45% 55% 45% 55%;background:var(--bq-gold);transform:rotate(12deg)}
.bq-main>p>img.aligncenter,.bq-main>p>img.alignnone,.bq-main>img{display:block;margin:22px auto;border-radius:8px;border:1px solid var(--bq-line);box-shadow:0 6px 18px rgba(47,22,80,.12)}
@media(max-width:600px){.bq-main .wp-caption,.bq-main figure{margin:18px 0;padding:6px 6px 8px}}

/* v0.2.8 — homepage hero pills */
.bq-hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 22px}
.bq-hero-pills a{color:#fff;font-size:14px;font-weight:600;padding:8px 14px;border:1.5px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.06)}
.bq-hero-pills a:hover{border-color:var(--bq-gold);color:var(--bq-gold);background:rgba(242,183,5,.08)}
.bq-hero-pills a:last-child{border-color:var(--bq-gold);color:var(--bq-gold)}
@media(max-width:600px){.bq-hero-pills a{font-size:13px;padding:7px 12px}}

/* v0.2.8 — regions grouped by area of the country */
.bq-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 28px}
.bq-area h3{font-family:var(--bq-head);font-size:19px;font-weight:600;color:var(--bq-purple);margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid var(--bq-gold)}
.bq-area ul{list-style:none;margin:0!important;padding:0;columns:auto}
.bq-area li{padding:5px 0;border-bottom:1px solid var(--bq-line);font-size:15px}
.bq-area li:last-child{border-bottom:0}
.bq-area a{color:var(--bq-text);font-weight:500;text-decoration:none}
.bq-area a:hover{color:var(--bq-purple)}
@media(max-width:900px){.bq-areas{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bq-areas{grid-template-columns:1fr;gap:16px}.bq-area li{font-size:14px}}

/* v0.2.8 — review thumbnail grid (old A–Z "Not endorsed" run) */
.bq-thumbgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:10px 0 26px}
.bq-thumb{display:block;text-decoration:none!important;color:var(--bq-text);border:1px solid var(--bq-line);border-radius:8px;overflow:hidden;background:#fff;transition:transform .15s,box-shadow .15s}
.bq-thumb:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(47,22,80,.14);color:var(--bq-purple)}
.bq-thumb img{display:block;width:100%;aspect-ratio:725/400;object-fit:cover;border-radius:0;margin:0;border:0;box-shadow:none}
.bq-thumb-ini{display:grid;place-items:center;aspect-ratio:725/400;background:var(--bq-lilac);font-family:var(--bq-head);font-size:30px;color:var(--bq-purple)}
.bq-thumb>span:last-child{display:block;padding:8px 10px;font-size:13.5px;font-weight:600;text-align:center;border-top:1px solid var(--bq-line)}
@media(max-width:900px){.bq-thumbgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.bq-thumbgrid{grid-template-columns:1fr 1fr;gap:10px}}

/* v0.2.9 — regions by area: one row per area, heading left, pills right (uneven list lengths no longer matter) */
.bq-areas{display:block}
.bq-area{display:grid;grid-template-columns:190px 1fr;gap:6px 22px;align-items:start;padding:14px 0;border-bottom:1px solid var(--bq-line)}
.bq-area:first-child{padding-top:0}
.bq-area:last-child{border-bottom:0}
.bq-area h3{font-size:18px;margin:0;padding:6px 0 0;border-bottom:0}
.bq-area ul{display:flex;flex-wrap:wrap;gap:8px}
.bq-area li{padding:0;border:0;font-size:14px}
.bq-area a{display:inline-block;background:var(--bq-lilac);color:var(--bq-purple);font-weight:500;padding:7px 13px;border-radius:999px;line-height:1.2}
.bq-area a:hover{background:var(--bq-purple);color:#fff}
@media(max-width:900px){.bq-area{grid-template-columns:150px 1fr}}
@media(max-width:600px){.bq-area{grid-template-columns:1fr;gap:8px;padding:12px 0}.bq-area h3{font-size:17px;padding-top:0}.bq-area a{padding:6px 11px;font-size:13.5px}}

/* v0.2.9 — visit / recommend button: hover always white on purple, no underline */
.bq-main .bq-visit-btn,.bq-visit-btn{text-decoration:none!important}
.bq-main .bq-visit-btn:hover,.bq-visit-btn:hover,.bq-main .bq-visit-btn.is-alt:hover{background:var(--bq-purple-ink);border-color:var(--bq-purple-ink);color:#fff!important}

/* v0.2.13 — clubs list: the ordinal ball is drawn by CSS on the li, so the editor can't strip it (TinyMCE drops empty spans) and the number always sits centred */
.bq-clubs li::before{content:counter(club);counter-increment:none;--c:var(--bq-purple-ink);flex:none;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0 13px,var(--c) 13.5px);display:grid;place-items:center;font:800 12.5px/1 var(--bq-body);font-variant-numeric:tabular-nums;color:var(--bq-text);letter-spacing:-.02em;box-shadow:inset -6px -8px 14px rgba(0,0,0,.32),inset 3px 4px 7px rgba(255,255,255,.25),0 4px 8px rgba(0,0,0,.2)}
.bq-clubs li.closed::before{content:"×";--c:#9a92a6;color:var(--bq-muted)}
.bq-clubs li>.bq-ball.idx,.bq-clubs li>b:empty{display:none}

/* v0.2.14 — inner-page hero band on mobile: just enough purple for the sheet to overlap, no empty block */
@media(max-width:600px){.bq-hero--slim{padding:6px 0 64px}.bq-hero--slim .bq-hero-balls{display:none}}

/* v0.2.15 — venue page: line up to the chain's times-and-prices page */
.bq-chainlink{margin:26px 0 0!important;padding-top:16px;border-top:1px solid var(--bq-line);font-size:15px}
.bq-chainlink a{font-weight:600;color:var(--bq-purple-ink);text-decoration:none!important;display:inline-flex;align-items:center;gap:8px;background:var(--bq-lilac);border-radius:999px;padding:9px 16px}
.bq-chainlink a:hover{background:var(--bq-purple);color:#fff}

/* v0.2.29 footer: info links row; back-to-top targets #top (the sticky header made #bqTop a no-op) */
.bq-foot-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 14px;font-size:13px}
.bq-foot-legal a{color:rgba(255,255,255,.78);text-decoration:underline;text-underline-offset:3px}
.bq-foot-legal a:hover{color:#fff}
