/* Local businesses - premium layer (2026-11-07). Loaded after the page's own styles;
   every rule starts with html.th-site so it wins without !important wars. */
html.th-site{--bz-navy:#052d66;--bz-deep:#03214d;--bz-red:#c8231a;--bz-gold:#e9a23b;--bz-ink:#0f1b33;--bz-mute:#5d6b84;--bz-line:rgba(5,45,102,.09);--bz-soft:#f4f7fc;
  --bz-sh1:0 1px 2px rgba(15,27,51,.05),0 4px 14px -6px rgba(15,27,51,.08);--bz-sh2:0 2px 4px rgba(15,27,51,.04),0 22px 44px -18px rgba(5,45,102,.32);--bz-ease:cubic-bezier(.2,.8,.2,1)}

/* ---------- hero ---------- */
html.th-site .bz-hero{position:relative;isolation:isolate;overflow:hidden}
html.th-site .bz-hero:not(.has-cover)::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 70% 10%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 90% at 70% 10%,#000 20%,transparent 75%)}
html.th-site .bz-hero:not(.has-cover)::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-120px;top:-220px;border-radius:50%;
  background:radial-gradient(circle,rgba(233,162,59,.28),transparent 65%);filter:blur(10px);animation:bzFloat 12s ease-in-out infinite alternate}
@keyframes bzFloat{to{transform:translate(-60px,40px) scale(1.08)}}
html.th-site .bz-hero h1{letter-spacing:-.01em;text-wrap:balance}
html.th-site .bz-hero h1 span{background:linear-gradient(100deg,#ff8a73,#ffb35c);-webkit-background-clip:text;background-clip:text;color:transparent}
html.th-site .bz-hero.has-cover h1{text-shadow:0 2px 24px rgba(0,0,0,.35)}
html.th-site .bz-hero .lede{opacity:.92}

/* ---------- section heading ---------- */
html.th-site .bz-sec-h{display:flex;align-items:center;gap:12px;font-size:1.3rem;letter-spacing:-.005em;color:var(--bz-ink);margin:6px 0 16px}
html.th-site .bz-sec-h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--bz-line),transparent)}

/* ---------- category tiles ---------- */
html.th-site .bz-bc{border:1px solid var(--bz-line);border-radius:18px;box-shadow:var(--bz-sh1);transition:transform .35s var(--bz-ease),box-shadow .35s var(--bz-ease),border-color .25s}
html.th-site .bz-bc:hover{transform:translateY(-4px);box-shadow:var(--bz-sh2);border-color:rgba(5,45,102,.16)}
html.th-site .bz-bc-img img{transition:transform .7s var(--bz-ease)}
html.th-site .bz-bc:hover .bz-bc-img img{transform:scale(1.07)}
html.th-site .bz-bc.on{border-color:var(--bz-red);box-shadow:0 0 0 3px rgba(200,35,26,.16),var(--bz-sh2)}
html.th-site .bz-bc.on .bz-bc-h b{color:var(--bz-red)}
html.th-site .bz-bc-h small{background:var(--bz-navy);color:#fff}

/* ---------- sticky filter bar ---------- */
html.th-site .bz-tools{position:sticky;top:78px;z-index:20;padding:10px;margin:0 -10px 22px;border-radius:20px;
  background:rgba(247,249,253,.82);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 30px -22px rgba(5,45,102,.45)}
html.th-site .bz-chip{border-color:var(--bz-line);box-shadow:var(--bz-sh1);transition:all .25s var(--bz-ease)}
html.th-site .bz-chip:hover{border-color:rgba(5,45,102,.22)}
html.th-site .bz-chip[aria-pressed="true"]{background:linear-gradient(180deg,#0a3b82,var(--bz-navy));box-shadow:0 8px 18px -10px rgba(5,45,102,.8)}
html.th-site .bz-q{border-color:var(--bz-line);border-radius:999px;padding:11px 16px 11px 42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d6b84' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.2-4.2'/%3E%3C/svg%3E") no-repeat 15px 50%/17px;box-shadow:var(--bz-sh1);transition:box-shadow .2s,border-color .2s}
html.th-site .bz-q:focus{outline:0;border-color:rgba(5,70,165,.45);box-shadow:0 0 0 4px rgba(5,70,165,.12)}

/* ---------- business cards ---------- */
html.th-site .bz-grid{gap:18px}
html.th-site .bz-card{border:1px solid var(--bz-line);border-radius:20px;padding:20px 20px 16px;box-shadow:var(--bz-sh1);overflow:hidden;
  transition:transform .35s var(--bz-ease),box-shadow .35s var(--bz-ease),border-color .25s;animation:bzIn .55s var(--bz-ease) both}
html.th-site .bz-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--bz-red),var(--bz-gold));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--bz-ease)}
html.th-site .bz-card::after{content:"";position:absolute;right:16px;top:18px;width:30px;height:30px;border-radius:50%;background:var(--bz-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23052d66' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") no-repeat center/14px;opacity:0;transform:translate(-6px,6px);transition:all .35s var(--bz-ease)}
html.th-site .bz-card:hover{transform:translateY(-5px);box-shadow:var(--bz-sh2);border-color:rgba(5,45,102,.14)}
html.th-site .bz-card:hover::before{transform:scaleX(1)}
html.th-site .bz-card:hover::after{opacity:1;transform:none}
html.th-site .bz-card h3{font-size:1.12rem;letter-spacing:-.005em;padding-right:34px}
html.th-site .bz-card .bz-k{color:var(--bz-red);font-size:.7rem}
html.th-site .bz-card .bz-a{color:var(--bz-mute)}
html.th-site .bz-card .bz-p{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 10px 4px 8px;border-radius:999px;background:var(--bz-soft);font-size:.86rem}
html.th-site .bz-card .bz-p:empty{display:none}
html.th-site .bz-card .bz-p::before{content:"";width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23052d66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") no-repeat center/contain}
html.th-site .bz-card.is-sup{border-color:rgba(233,162,59,.45);background:linear-gradient(180deg,#fffaf0,#fff 40%)}
html.th-site .bz-card.is-sup::before{transform:scaleX(1);background:linear-gradient(90deg,var(--bz-gold),#f6c66b)}
html.th-site .bz-card:nth-child(n+13){animation-delay:.12s}
@keyframes bzIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ---------- tags ---------- */
html.th-site .bz-b{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:.7rem;letter-spacing:.02em;border-radius:999px}
html.th-site .bz-ver{background:#ecf8f1;color:#17663a;border-color:#c7ead6}
html.th-site .bz-ver::before{content:"";width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2317663a' d='M12 2 14.6 4.3 18 4l.9 3.3 3 1.7-1.3 3.1 1.3 3.1-3 1.7L18 20l-3.4-.3L12 22l-2.6-2.3L6 20l-.9-3.3-3-1.7L3.4 12 2.1 8.9l3-1.7L6 4l3.4.3z'/%3E%3Cpath d='m8 12.3 2.6 2.6L16.2 9.3' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
html.th-site .bz-partner{background:linear-gradient(180deg,#fff6e3,#ffeccc);color:#8a4b00;border-color:#f3cd84}
html.th-site .bz-partner::before{content:"";width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a4b00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v8H4v-8M2 7h20v5H2zM12 22V7M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7zM12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/%3E%3C/svg%3E") no-repeat center/contain}

/* ---------- own a business panel ---------- */
html.th-site .bz-own{position:relative;overflow:hidden;isolation:isolate;margin-top:44px;padding:30px 32px;border:0;border-radius:24px;color:#dbe5f6;
  background:radial-gradient(600px 300px at 100% 0,rgba(233,162,59,.3),transparent 60%),radial-gradient(500px 300px at 0 100%,rgba(200,35,26,.28),transparent 60%),linear-gradient(135deg,#03214d,#052d66)}
html.th-site .bz-own h2{color:#fff;font-size:1.45rem}
html.th-site .bz-own p{color:#c9d6ee}
html.th-site .bz-own .bz-btn{background:#fff;color:var(--bz-navy)!important;box-shadow:0 12px 26px -12px rgba(0,0,0,.6)}

/* ---------- buttons ---------- */
html.th-site .bz-btn{transition:transform .2s var(--bz-ease),box-shadow .2s,filter .2s;box-shadow:0 10px 22px -12px rgba(200,35,26,.75)}
html.th-site .bz-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
html.th-site .bz-btn.alt{box-shadow:0 10px 22px -12px rgba(5,45,102,.75)}
html.th-site .bz-btn.ghost{box-shadow:var(--bz-sh1)}

/* ---------- business page ---------- */
html.th-site .bz-box{border:1px solid var(--bz-line);border-radius:22px;padding:24px;box-shadow:var(--bz-sh1)}
html.th-site .bz-box h2{display:flex;align-items:center;gap:10px;font-size:1.12rem;letter-spacing:-.005em;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--bz-line)}
html.th-site .bz-l aside{position:sticky;top:96px}
html.th-site .bz-cbs{position:relative;z-index:2;gap:10px;margin:-6px 0 24px}
html.th-site .bz-cb{padding:11px 18px;border-color:var(--bz-line);box-shadow:var(--bz-sh1);transition:transform .2s var(--bz-ease),box-shadow .2s}
html.th-site .bz-cb:hover{box-shadow:var(--bz-sh2)}
html.th-site .bz-cb.main{background:linear-gradient(180deg,#d9352b,var(--bz-red));box-shadow:0 12px 24px -12px rgba(200,35,26,.8)}
html.th-site .bz-dl{grid-template-columns:96px 1fr;gap:12px 16px}
html.th-site .bz-dl dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;padding-top:2px}

/* the member offer looks like a ticket */
html.th-site .bz-offer{position:relative;border:1px solid #f3cd84;background:linear-gradient(135deg,#fff8ea,#fff 60%);overflow:visible}
html.th-site .bz-offer h2{color:#8a4b00;border-bottom:1px dashed #f0c777}
html.th-site .bz-offer::before,html.th-site .bz-offer::after{content:"";position:absolute;top:58px;width:18px;height:18px;border-radius:50%;background:#f7f9fd;border:1px solid #f3cd84}
html.th-site .bz-offer::before{left:-10px;clip-path:inset(0 0 0 50%)}
html.th-site .bz-offer::after{right:-10px;clip-path:inset(0 50% 0 0)}
html.th-site .bz-offer .t{font-size:1.4rem;letter-spacing:-.01em;background:linear-gradient(100deg,#7a3e00,#c26a00);-webkit-background-clip:text;background-clip:text;color:transparent}

html.th-site .bz-supbox{border-color:rgba(233,162,59,.45);background:linear-gradient(160deg,#fffaf0,#fff 55%)}
html.th-site .bz-supbox h2{color:#8a4b00}
html.th-site .bz-hrs tr.today td{background:var(--bz-soft)}
html.th-site .bz-hrs tr.today td:first-child{border-radius:10px 0 0 10px;padding-left:10px}
html.th-site .bz-hrs tr.today td:last-child{border-radius:0 10px 10px 0;padding-right:10px}
html.th-site .bz-gal{gap:10px}
html.th-site .bz-gal a{border-radius:14px;box-shadow:var(--bz-sh1)}
html.th-site .bz-open{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18)}

/* ---------- forms (claim, add, dashboard) ---------- */
html.th-site .bz-f input[type=text],html.th-site .bz-f input[type=email],html.th-site .bz-f input[type=tel],html.th-site .bz-f input[type=url],html.th-site .bz-f input[type=date],html.th-site .bz-f input[type=time],html.th-site .bz-f textarea,html.th-site .bz-f select{
  border:1px solid rgba(5,45,102,.16);border-radius:12px;background:#fbfcfe;transition:border-color .2s,box-shadow .2s,background .2s}
html.th-site .bz-f input:focus,html.th-site .bz-f textarea:focus,html.th-site .bz-f select:focus{outline:0;background:#fff;border-color:rgba(5,70,165,.5);box-shadow:0 0 0 4px rgba(5,70,165,.12)}
html.th-site .bz-f label{font-size:.84rem;color:#33415c}
html.th-site .bz-ok,html.th-site .bz-err{border-radius:14px;padding:14px 18px;box-shadow:var(--bz-sh1)}
html.th-site .bz-tabs{gap:4px;padding:5px;border-radius:16px;background:#eef2f9;border:1px solid var(--bz-line);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
html.th-site .bz-tabs::-webkit-scrollbar{display:none}
html.th-site .bz-tabs a{flex:0 0 auto;border:0;background:transparent;border-radius:12px;color:var(--bz-mute)!important;transition:all .2s}
html.th-site .bz-tabs a:hover{color:var(--bz-navy)!important;background:rgba(255,255,255,.6)}
html.th-site .bz-tabs a.on{background:#fff;color:var(--bz-navy)!important;box-shadow:0 2px 8px -2px rgba(5,45,102,.25)}
html.th-site .bz-ph figure{border-radius:14px;box-shadow:var(--bz-sh1)}

@media (max-width:860px){
  html.th-site .bz-l aside{position:static}
  html.th-site .bz-tools{top:64px}
}
@media (max-width:640px){
  html.th-site .bz-tools{margin:0 -6px 18px;padding:8px}
  html.th-site .bz-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%}
  html.th-site .bz-chips::-webkit-scrollbar{display:none}
  html.th-site .bz-chip{flex:0 0 auto}
  html.th-site .bz-own{padding:24px 20px}
  html.th-site .bz-box{padding:18px;border-radius:18px}
  html.th-site .bz-offer::before,html.th-site .bz-offer::after{display:none}
}
@media (prefers-reduced-motion:reduce){html.th-site .bz-card,html.th-site .bz-hero::after{animation:none}}

/* ===================== business page: cinematic layer (2026-11-07) ===================== */
html.th-site .bz-hero-bg{position:absolute;inset:-6%;z-index:-2;background-size:cover;background-position:center;will-change:transform;animation:bzKen 26s ease-in-out infinite alternate}
@keyframes bzKen{from{transform:scale(1.03) translate3d(0,0,0)}to{transform:scale(1.15) translate3d(-1.8%,-1.2%,0)}}
html.th-site .bz-hero.cat-bg .bz-hero-bg{filter:blur(5px) saturate(1.15);opacity:.6}
html.th-site .bz-hero.cat-bg::before{background:radial-gradient(900px 420px at 15% 110%,rgba(200,35,26,.35),transparent 60%),linear-gradient(180deg,rgba(3,33,77,.72),rgba(3,33,77,.94))}
html.th-site .bz-hero.has-cover .bz-hero-glow{position:absolute;z-index:-1;width:620px;height:620px;right:-160px;bottom:-320px;border-radius:50%;background:radial-gradient(circle,rgba(233,162,59,.32),transparent 62%);animation:bzFloat 14s ease-in-out infinite alternate;pointer-events:none}
html.th-site .bz-id .bz-idt > *{animation:bzRise .9s var(--bz-ease) both}
html.th-site .bz-id .bz-idt > *:nth-child(2){animation-delay:.12s}
html.th-site .bz-id .bz-idt > *:nth-child(3){animation-delay:.24s}
html.th-site .bz-hero .kicker{animation:bzRise .8s var(--bz-ease) both}
@keyframes bzRise{from{opacity:0;transform:translateY(26px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
html.th-site .bz-plate{animation:bzPop .9s .3s var(--bz-ease) both,bzBob 7s 1.3s ease-in-out infinite}
@keyframes bzPop{from{opacity:0;transform:rotate(-8deg) scale(.82) translateY(20px)}to{opacity:1;transform:rotate(-2deg)}}
@keyframes bzBob{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-.6deg) translateY(-8px)}}
html.th-site .bz-open.on::before{animation:bzPulse 1.8s ease-out infinite}
@keyframes bzPulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.65)}100%{box-shadow:0 0 0 11px rgba(74,222,128,0)}}

/* things arrive as you scroll */
html.th-site .bz-rv{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .85s var(--bz-ease),transform .85s var(--bz-ease)}
html.th-site .bz-rv.in{opacity:1;transform:none}

/* contact buttons */
html.th-site .bz-cbs .bz-cb{animation:bzRise .7s var(--bz-ease) both}
html.th-site .bz-cbs .bz-cb:nth-child(2){animation-delay:.06s}html.th-site .bz-cbs .bz-cb:nth-child(3){animation-delay:.12s}html.th-site .bz-cbs .bz-cb:nth-child(4){animation-delay:.18s}html.th-site .bz-cbs .bz-cb:nth-child(5){animation-delay:.24s}html.th-site .bz-cbs .bz-cb:nth-child(n+6){animation-delay:.3s}
html.th-site .bz-cb.main{position:relative;overflow:hidden}
html.th-site .bz-cb.main::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-130%);animation:bzSweep 3.8s 1.6s ease-in-out infinite}
@keyframes bzSweep{0%,62%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
html.th-site .bz-cb:hover svg{animation:bzWig .55s ease}
@keyframes bzWig{20%{transform:rotate(-14deg)}45%{transform:rotate(10deg)}70%{transform:rotate(-5deg)}100%{transform:none}}

/* the member offer ticket glows and its title shimmers */
html.th-site .bz-offer{animation:bzGlow 3.6s ease-in-out infinite alternate}
@keyframes bzGlow{from{box-shadow:var(--bz-sh1)}to{box-shadow:0 0 0 1px #f3cd84,0 22px 46px -20px rgba(233,162,59,.6)}}
html.th-site .bz-offer .t{background:linear-gradient(100deg,#7a3e00 0%,#c26a00 38%,#ffd27a 50%,#c26a00 62%,#7a3e00 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:bzTx 5s linear infinite}
@keyframes bzTx{from{background-position:120% 0}to{background-position:-120% 0}}

/* gallery and lightbox */
html.th-site .bz-gal a{transition:transform .35s var(--bz-ease),box-shadow .35s var(--bz-ease)}
html.th-site .bz-gal a:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:var(--bz-sh2)}
html.th-site .bz-lb{display:flex;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
html.th-site .bz-lb.on{opacity:1;pointer-events:auto}
html.th-site .bz-lb img{transform:scale(.94);transition:transform .45s var(--bz-ease)}
html.th-site .bz-lb.on img{transform:none}

/* the page behind the boxes: a soft aurora */
html.th-site main .bz-wrap{position:relative;isolation:isolate}
html.th-site main .bz-hero.has-cover + .bz-wrap::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:420px;pointer-events:none;
  background:radial-gradient(600px 260px at 15% 0,rgba(5,70,165,.08),transparent 70%),radial-gradient(500px 240px at 85% 10%,rgba(233,162,59,.1),transparent 70%)}

@media (prefers-reduced-motion:reduce){
  html.th-site .bz-hero-bg,html.th-site .bz-plate,html.th-site .bz-offer,html.th-site .bz-offer .t,html.th-site .bz-cb.main::after,html.th-site .bz-open.on::before,html.th-site .bz-id .bz-idt > *,html.th-site .bz-cbs .bz-cb{animation:none}
  html.th-site .bz-rv{opacity:1;transform:none}
}

/* Call button: solid red, whatever the site's link rules say */
html.th-site main .bz-cbs a.bz-cb.main{background-color:#c8231a!important;background-image:linear-gradient(180deg,#e0453a,#c8231a)!important;border-color:#c8231a!important;color:#fff!important}
html.th-site main .bz-cbs a.bz-cb.main svg{stroke:#fff}
html.th-site main .bz-cbs a.bz-cb.wa{background-color:#e7f8ee!important;color:#11743b!important}

/* name on the left, logo card on the right; a page without a logo keeps its name on the left */
html.th-site .bz-id{flex-direction:row}
html.th-site .bz-id .bz-plate{order:2}
@media (max-width:640px){html.th-site .bz-id{flex-direction:column}html.th-site .bz-id .bz-plate{order:0}}
