/*
Theme Name: Bizaccess
Template: twentytwentyfive
Description: Bizaccess Advisory child theme (navy, Public Sans).
Version: 1.0.0
Text Domain: bizaccess
*/

:root{
  --bz-ink:#0E2742; --bz-ink-2:#28476B; --bz-text:#1C2B3B; --bz-muted:#5A6B7E;
  --bz-mist:#EEF2F6; --bz-rule:#D3DCE6; --bz-ok:#1E6B52; --bz-seal:#B4232A;
}
:lang(zh) body{line-height:1.75}
a:focus-visible,button:focus-visible{outline:3px solid var(--bz-ink-2);outline-offset:3px;border-radius:4px}
.wp-block-button.is-style-outline .wp-block-button__link{border:2px solid var(--bz-ink);color:var(--bz-ink);background:transparent}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--bz-ink);color:#fff}

/* Header */
.bz-top{border-bottom:1px solid var(--bz-rule);background:#fff;position:sticky;top:0;z-index:50;padding:0 24px}
.bz-top-inner{min-height:72px;align-items:center;gap:24px}
.bz-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--bz-ink)}
.bz-brand b{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1}
.bz-brand small{display:block;font-size:12px;color:var(--bz-muted);letter-spacing:.02em;margin-top:3px}
.bz-top .wp-block-navigation{font-size:15px;font-weight:500}
.bz-top .wp-block-navigation a{text-decoration:none}
.bz-top .bz-nav-account a{border:2px solid var(--bz-ink);border-radius:6px;padding:6px 14px;font-weight:600}
.bz-top .bz-nav-account a:hover{background:var(--bz-ink);color:#fff}

/* Footer */
.bz-foot{background:var(--bz-mist);border-top:1px solid var(--bz-rule);font-size:14px;color:var(--bz-muted);padding:22px 24px;margin-top:0}
.bz-foot p{margin:0}
.bz-foot a{color:var(--bz-muted);margin-right:18px}

/* Homepage sections */
.bz-section{padding:84px 24px}
.bz-section > *{margin-block-start:0}
.bz-section h2{font-size:clamp(28px,3.2vw,38px);letter-spacing:-.025em;margin:0 0 12px}
:lang(zh) .bz-section h2,:lang(zh) .bz-h1{letter-spacing:0}
.bz-lede{color:var(--bz-muted);max-width:40em;margin:0 0 40px}

.bz-hero{padding:72px 24px 64px}
.bz-hero-cols{gap:56px}
.bz-h1{font-size:clamp(36px,5vw,58px);line-height:1.05;letter-spacing:-.035em;margin:0 0 22px;max-width:14ch}
:lang(zh) .bz-h1{line-height:1.2;max-width:12em}
.bz-lead{font-size:19px;color:var(--bz-muted);max-width:34em;margin:0 0 32px}

/* Tracker */
.bz-tracker{background:#fff;border:1px solid var(--bz-rule);border-radius:12px;padding:26px 28px 28px;position:relative;box-shadow:0 18px 40px -24px rgba(14,39,66,.45)}
.bz-tr-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--bz-rule);padding-bottom:14px;margin-bottom:18px}
.bz-tr-head strong{color:var(--bz-ink);font-size:16px}
.bz-tr-head span{color:var(--bz-muted);font-size:13px}
.bz-tr-sub{font-size:14px;color:var(--bz-muted);margin:-8px 0 16px}
.bz-steps{list-style:none;margin:0;padding:0}
.bz-steps li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:9px 0;position:relative;font-size:15px;margin:0}
.bz-steps li::before{content:"";position:absolute;left:13px;top:34px;bottom:-9px;width:2px;background:var(--bz-rule)}
.bz-steps li:last-child::before{display:none}
.bz-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--bz-rule);color:transparent;transition:background .2s,border-color .2s}
.bz-dot svg{width:14px;height:14px}
.bz-steps li.done .bz-dot{background:var(--bz-ok);border-color:var(--bz-ok);color:#fff}
.bz-when{display:block;font-size:12px;color:var(--bz-muted)}
.bz-seal{position:absolute;right:22px;bottom:24px;width:118px;height:118px;border:3px solid var(--bz-seal);border-radius:50%;color:var(--bz-seal);display:grid;place-items:center;text-align:center;transform:rotate(-14deg) scale(1.6);opacity:0;font-weight:800;letter-spacing:.04em}
.bz-seal::before{content:"";position:absolute;inset:6px;border:1px solid var(--bz-seal);border-radius:50%}
.bz-seal span{font-size:19px;line-height:1.1}
.bz-seal small{display:block;font-size:9px;font-weight:600;letter-spacing:.08em;margin-top:3px}
.bz-tracker.stamped .bz-seal{animation:bz-stamp .35s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes bz-stamp{to{transform:rotate(-14deg) scale(1);opacity:.9}}

/* Agencies strip */
.bz-agencies{background:var(--bz-mist);border-block:1px solid var(--bz-rule);padding:20px 24px}
.bz-agencies p{margin:0;color:var(--bz-muted);font-size:15px}
.bz-agencies strong{color:var(--bz-ink-2);margin-right:10px}

/* Fee schedule */
.bz-fees{border-top:2px solid var(--bz-ink)}
.bz-fees > *{margin:0}
.bz-fee{display:grid;grid-template-columns:1fr auto auto;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid var(--bz-rule)}
.bz-fee > *{margin:0 !important}
.bz-fee h3{margin:0 0 4px;font-size:20px;letter-spacing:-.01em}
.bz-fee-text p{margin:0;color:var(--bz-muted);font-size:15px;max-width:40em}
.bz-price{font-weight:700;white-space:nowrap;text-align:right;min-width:9em}
.bz-view a{display:inline-block;border:2px solid var(--bz-ink);border-radius:6px;padding:6px 14px;font-weight:600;font-size:14px;text-decoration:none}
.bz-view a:hover{background:var(--bz-ink);color:#fff}
.bz-small{font-size:14px;color:var(--bz-muted);margin-top:18px}

/* How it works */
.bz-how{background:var(--bz-ink);color:#fff}
.bz-how h2,.bz-how h3{color:#fff}
.bz-how .bz-lede{color:rgba(255,255,255,.75)}
.bz-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.bz-flow > *{margin:0 !important;border-top:2px solid #fff;padding:18px 24px 0 0}
.bz-num{font-size:44px;font-weight:800;line-height:1;margin:0 0 14px}
.bz-flow h3{font-size:19px;margin:0 0 6px;letter-spacing:0}
.bz-flow p{opacity:.85;font-size:15px;margin:0}

/* Coverage */
.bz-councils{columns:2;column-gap:36px;list-style:none;margin:0;padding:0}
.bz-councils li{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--bz-rule);color:var(--bz-muted)}
.bz-councils strong{color:var(--bz-ink);display:inline-block;min-width:3.8em}
.bz-note{border-left:4px solid var(--bz-ink);background:var(--bz-mist);padding:22px 26px;border-radius:0 8px 8px 0}
.bz-note h3{margin:0 0 6px;font-size:17px;letter-spacing:0}
.bz-note p{margin:0;font-size:15px}

/* Contact */
.bz-contact{border-top:1px solid var(--bz-rule)}
.bz-contact p{color:var(--bz-muted);margin:0}
.bz-contact .bz-person{color:var(--bz-text);font-weight:600;margin-top:10px}

@media (max-width:900px){
  .bz-flow{grid-template-columns:1fr 1fr;row-gap:32px}
  .bz-fee{grid-template-columns:1fr auto}
  .bz-view{display:none}
}
@media (max-width:560px){
  .bz-brand small{display:none}
  .bz-flow{grid-template-columns:1fr}
  .bz-councils{columns:1}
  .bz-fee{grid-template-columns:1fr}
  .bz-price{text-align:left}
  .bz-seal{width:92px;height:92px}
  .bz-seal span{font-size:15px}
  .bz-section{padding:56px 20px}
}
@media (prefers-reduced-motion: reduce){
  .bz-tracker.stamped .bz-seal{animation:none;transform:rotate(-14deg);opacity:.9}
}

/* Header nav + language switch */
.bz-top-inner > p{margin:0}
.bz-nav{display:flex;align-items:center;gap:22px}
.bz-links{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.bz-links a{text-decoration:none;color:var(--bz-text);font-weight:500;font-size:15px}
.bz-links a:hover{color:var(--bz-ink)}
.bz-langs{display:flex;border:1px solid var(--bz-rule);border-radius:6px;overflow:hidden}
.bz-langs a{font-size:13px;font-weight:600;color:var(--bz-muted);padding:6px 10px;text-decoration:none;line-height:1.4}
.bz-langs a.on{background:var(--bz-ink);color:#fff}
.bz-acct{border:2px solid var(--bz-ink);border-radius:6px;padding:6px 14px;font-weight:600;font-size:14px;text-decoration:none;color:var(--bz-ink);white-space:nowrap}
.bz-acct:hover{background:var(--bz-ink);color:#fff}
.bz-menu{display:none;position:relative}
.bz-menu summary{list-style:none;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--bz-rule);border-radius:6px}
.bz-menu summary::-webkit-details-marker{display:none}
.bz-menu summary span{display:block;width:18px;height:2px;background:var(--bz-ink);position:relative}
.bz-menu summary span::before,.bz-menu summary span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--bz-ink)}
.bz-menu summary span::before{top:-6px}
.bz-menu summary span::after{top:6px}
.bz-menu ul{position:absolute;right:0;top:48px;background:#fff;border:1px solid var(--bz-rule);border-radius:8px;list-style:none;margin:0;padding:8px;min-width:220px;box-shadow:0 12px 30px -16px rgba(14,39,66,.4);z-index:60}
.bz-menu li a{display:block;padding:10px 12px;text-decoration:none;color:var(--bz-text)}
.bz-menu li .bz-acct{text-align:center;margin-top:6px;color:var(--bz-ink)}
.bz-foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px}
@media (max-width:900px){
  .bz-links,.bz-nav > .bz-acct{display:none}
  .bz-menu{display:block}
  .bz-nav{gap:10px}
}

/* Quotation (cart) icon */
.bz-cart{position:relative;display:grid;place-items:center;width:40px;height:40px;color:var(--bz-ink);border-radius:6px;text-decoration:none}
.bz-cart:hover{background:var(--bz-mist)}
.bz-cart-n{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bz-seal);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}

/* keep header items on one line */
.bz-nav{flex-wrap:nowrap}
.bz-nav > *{flex:none}
.bz-cart{display:inline-grid}

/* "Continue as guest" button to match the Google button */
.bzq-guest-btn{display:flex!important;align-items:center;justify-content:center;min-height:48px;padding:10px 16px!important;border:1px solid #D3DCE6!important;border-radius:4px!important;background:#fff!important;color:#0E2742!important;font-weight:600;font-size:15px;text-decoration:none!important;box-shadow:0 1px 2px rgba(14,39,66,.08)}
.bzq-guest-btn:hover{background:#EEF2F6!important}
.bzq-guest a.bzq-guest-btn,
.bzq-guest a.bzq-guest-btn.button{
  box-sizing:border-box!important;width:100%!important;height:48px!important;min-height:0!important;
  padding:0 16px!important;margin:0!important;line-height:1!important;
  border:1px solid #D3DCE6!important;border-radius:4px!important;
  font-size:14px!important;font-weight:500!important;
}

/* Login box polish (logged-out My account page) */
body.woocommerce-account:not(.logged-in) h1.wp-block-post-title{text-align:center}
#customer_login form.login,#customer_login form.register{padding-top:22px!important}
#customer_login .woocommerce-form-login__submit,#customer_login .woocommerce-form-register__submit{width:100%;margin-top:4px}
#customer_login .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit){display:flex;flex-direction:column-reverse;gap:10px}
#customer_login .lost_password{text-align:center}

/* Single-column hero */
.bz-hero-text{max-width:860px}
.bz-hero-text > *{margin-left:0!important}
.bz-hero .bz-h1{max-width:18ch}
:lang(zh) .bz-hero .bz-h1{max-width:16em}
.bz-hero .bz-lead{max-width:40em}

/* Keep intro text aligned with section headings */
.bz-section .bz-lede,.bz-section .bz-small,.bz-hero .bz-hero-text{margin-left:0!important;margin-right:auto!important}

/* Council list: align both columns */
.bz-councils{margin-top:0!important;padding-top:0!important}
.bz-councils > li{margin:0!important}

/* Fix: keep intro text and hero inside the page width (overrides earlier rule) */
.bz-section .bz-lede,.bz-section .bz-small{max-width:1160px!important;margin-left:auto!important;margin-right:auto!important;padding-right:max(0px,calc(100% - 40em))}
.bz-hero .bz-hero-text{max-width:1160px!important;margin-left:auto!important;margin-right:auto!important}

/* step47: services list without fee labels; keep intro text inside the page width */
.bz-fee{grid-template-columns:1fr auto}
@media (max-width:900px){.bz-view{display:block}}
.bz-section .bz-lede,.bz-section .bz-small{box-sizing:border-box!important;max-width:min(1160px,100%)!important;padding-right:max(0px,calc(min(1160px,100%) - 40em))!important}
