/* Demo-aligned portal: shared brand, open layouts and native commerce controls.
   No remote assets, animation engine, cloned fields or continuous render loop. */
:root {
  --bhq-page-glow: #4366b00b;
  --bhq-receipt-shadow: 0 24px 60px -34px #192d4430;
  --bhq-success-bg: #edf8f1;
  --bhq-error-bg: #fff3f1;
  --bhq-error-text: #a42c32;
}
html[data-bhq-theme="dark"] { color-scheme: dark; }
html[data-bhq-theme="light"] { color-scheme: light; }
html[data-bhq-theme="dark"] body {
  --wp--preset--color--warm: var(--bhq-dark-background, #090d13);
  --wp--preset--color--white: var(--bhq-dark-surface, #111821);
  --wp--preset--color--surface: var(--bhq-dark-raised, #17212d);
  --wp--preset--color--navy: var(--bhq-dark-text, #f2f4f8);
  --wp--preset--color--ink: var(--bhq-dark-text, #f2f4f8);
  --wp--preset--color--muted: var(--bhq-dark-muted, #a0aab8);
  --wp--preset--color--line: var(--bhq-dark-border, #2d3a4b);
  --wp--preset--color--blue: var(--bhq-dark-link, #a6c7ff);
  --wp--preset--color--sand: #282318;
  --wp--preset--color--success: #83d5b3;
  --bhq-field-background: var(--bhq-dark-surface, #111821);
  --bhq-field-text: var(--bhq-dark-text, #f2f4f8);
  --bhq-field-border: #61748c;
  --bhq-choice-accent: var(--bhq-dark-link, #a6c7ff);
  --bhq-choice-background: var(--bhq-dark-raised, #17212d);
  --bhq-icon-color: var(--bhq-dark-link, #a6c7ff);
  --bhq-focus-color: var(--bhq-dark-link, #a6c7ff);
  --bhq-page-glow: #4366b013;
  --bhq-receipt-shadow: 0 24px 60px -34px #000a;
  --bhq-success-bg: #142c25;
  --bhq-error-bg: #331c22;
  --bhq-error-text: #ffadae;
  background: var(--wp--preset--color--warm);
  color: var(--wp--preset--color--ink);
}
.bhq-header { padding-block: 1.125rem; }
.bhq-header-row { gap: 1.5rem; }
.bhq-header-row > .wp-block-navigation { margin-left: auto; }
.bhq-header .wp-block-navigation a { font-size: .875rem; }
.bhq-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--warm); color: var(--wp--preset--color--ink); }
.bhq-brand { width: 200px; }
.bhq-header .wp-block-navigation a { color: var(--wp--preset--color--muted); font-weight: 400; }
.bhq-header .wp-block-navigation a:is(:hover, :focus-visible) { color: var(--wp--preset--color--navy); }
html[data-bhq-theme="dark"] :is(.bhq-brand, .bhq-footer-logo) img { filter: brightness(1.2); }
.bhq-theme-toggle[hidden] { display: none; }
.bhq-theme-toggle {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 76px; height: 44px; padding: 3px; margin: 0; gap: 2px;
  border: 1px solid var(--wp--preset--color--line); border-radius: 99px;
  color: var(--wp--preset--color--muted); background: var(--wp--preset--color--white); cursor: pointer;
}
.bhq-theme-toggle::before {
  content: ''; position: absolute; top: 5px; left: 5px; width: 32px; height: 32px;
  border-radius: 50%; background: var(--wp--preset--color--surface);
  transition: transform .3s ease;
}
.bhq-theme-toggle > span { position: relative; display: grid; place-items: center; width: 32px; height: 32px; }
.bhq-theme-toggle[aria-checked="true"]::before { transform: translateX(33px); }
.bhq-theme-toggle[aria-checked="false"] .bhq-theme-sun { color: #875715; }
.bhq-theme-toggle[aria-checked="true"] .bhq-theme-moon { color: var(--wp--preset--color--blue); }
.bhq-theme-toggle:hover { border-color: var(--wp--preset--color--blue); }
.bhq-main { padding-block: clamp(2.5rem, 5vw, 4.75rem); background: radial-gradient(ellipse at 84% 0, var(--bhq-page-glow), transparent 45%), var(--wp--preset--color--warm); }
.bhq-intro { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.bhq-intro h1 { max-width: 900px; font-size: clamp(2.125rem, 4.2vw, 3.5rem); line-height: 1.14; letter-spacing: -.045em; }
.bhq-intro .bhq-lead { font-size: 1rem; line-height: 1.85; max-width: 620px; }
.bhq-eyebrow { color: var(--wp--preset--color--blue); letter-spacing: .13em; }
.bhq-intro .bhq-eyebrow::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #00b6d3; vertical-align: middle; margin-right: 10px; }
.bhq-main .bhq-steps { margin-top: 1.75rem; gap: 1rem; }
.bhq-main .bhq-steps li::before { width: 32px; height: 32px; }
.bhq-main .bhq-steps .is-current::before { background: #4366b0; color: #fff; box-shadow: none; }

/* Open form sections retain native order, labels, validation and payment markup. */
:is(.bhq-main, .editor-styles-wrapper) :is(
  .wp-block-woocommerce-checkout-contact-information-block,
  .wp-block-woocommerce-checkout-billing-address-block,
  .wp-block-woocommerce-checkout-shipping-address-block,
  .wp-block-woocommerce-checkout-payment-block) {
  padding: 1.75rem 0 .75rem; margin-bottom: 1.25rem;
  border: 0; border-top: 1px solid var(--wp--preset--color--line); border-radius: 0;
  background: transparent; box-shadow: none;
}
.bhq-checkout-page .wc-block-components-checkout-step__heading-container { margin-bottom: 1.4rem; }
.bhq-checkout-page .wc-block-components-checkout-step__title { font-family: var(--wp--preset--font-family--heading); font-size: 1.375rem; line-height: 1.3; }
.bhq-checkout-page .wc-block-components-sidebar { padding-top: 0; }
.bhq-checkout-page .wp-block-woocommerce-checkout-order-summary-block {
  border: 1px solid var(--wp--preset--color--line); border-radius: var(--bhq-card-radius);
  background: var(--wp--preset--color--white); box-shadow: var(--bhq-receipt-shadow);
  overflow: clip;
}
.bhq-checkout-page .wc-block-components-checkout-place-order-button {
  border-radius: var(--bhq-button-radius); min-height: 54px;
  box-shadow: 0 8px 24px -14px #f49e1e99;
}
.bhq-checkout-page .wc-block-components-checkout-place-order-button:hover { box-shadow: 0 10px 28px -12px #f49e1e88; }
.bhq-main .wc-block-components-totals-footer-item { background: #192d44; color: #fff; }
.bhq-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: #f49e1e; }
.bhq-summary-action .wp-block-woocommerce-checkout-order-summary-block { border-bottom: 0; border-radius: var(--bhq-card-radius) var(--bhq-card-radius) 0 0; }
.bhq-main .wc-block-components-radio-control__option { transition: border-color .2s, background-color .2s; }
/* Foreground and background change together when switching appearance. */
html[data-bhq-theme] :is(.bhq-main, .bhq-header, .bhq-footer) :is(a, button, input, select, textarea, .wc-block-components-radio-control__option) { transition-property: box-shadow, transform, border-color; }
.bhq-main .wc-block-components-radio-control__option:hover { border-color: var(--wp--preset--color--blue); }
.bhq-main .wc-block-components-text-input input:focus { box-shadow: 0 0 0 3px color-mix(in srgb, var(--bhq-focus-color) 15%, transparent); }
/* Keep the actual method name visible beside its mark; never imply an unavailable gateway. */
.bhq-main .wc-block-components-radio-control__option :is(.wc-block-components-payment-method-label, .wc-block-components-radio-control__label) { color: var(--wp--preset--color--ink); }
@media (forced-colors: none) {
  .bhq-main .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option:has(input:is([value="paypal"], [value="ppcp-gateway"], [value="ppcp-paypal"]))::after { background-color: #fff; background-size: 32px; border-radius: 10px; box-shadow: 0 0 0 1px #192d4414; }
}
.bhq-commerce-help { margin-top: clamp(3rem, 5vw, 5rem); border-top: 1px solid var(--wp--preset--color--line); padding-top: 2rem; }
.bhq-commerce-help > div { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.bhq-commerce-help h3 { font-size: 1.125rem; }
.bhq-commerce-help p { color: var(--wp--preset--color--muted); line-height: 1.8; }

/* Account overview: open navigation and useful information, drawn from real records. */
.bhq-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: 215px minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); }
.bhq-account-page .woocommerce-MyAccount-navigation ul { padding: 0; background: transparent; border: 0; box-shadow: none; }
.bhq-account-page .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--wp--preset--color--line); }
.bhq-account-page .woocommerce-MyAccount-navigation li a { padding: 1rem .875rem; font-size: .875rem; border-radius: 10px; }
.bhq-account-page .woocommerce-MyAccount-navigation .is-active a { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--navy); }
.bhq-account-page .woocommerce-MyAccount-content { border: 0; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
.bhq-dashboard { gap: 2rem; }
.bhq-dashboard-welcome { padding: 0 0 2rem; border-radius: 0; border-bottom: 1px solid var(--wp--preset--color--line); background: transparent; color: var(--wp--preset--color--ink); }
.bhq-dashboard-welcome h2 { color: var(--wp--preset--color--navy); font-size: clamp(1.5rem, 2.5vw, 2rem); }
.bhq-dashboard-welcome .bhq-eyebrow { color: var(--wp--preset--color--blue); }
.bhq-dashboard-welcome p:last-child { color: var(--wp--preset--color--muted); font-size: 1rem; }
.bhq-dashboard-avatar { width: 64px; height: 64px; flex-basis: 64px; color: var(--wp--preset--color--blue); background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); }
.bhq-dashboard-shortcuts { gap: 1.5rem; }
.woocommerce a.bhq-dashboard-shortcut { position: relative; isolation: isolate; overflow: hidden; border: 0; border-bottom: 1px solid var(--wp--preset--color--line); border-radius: 0; padding: 1rem 0 1.5rem; background: transparent; }
.woocommerce a.bhq-dashboard-shortcut:hover { background: transparent; border-color: var(--wp--preset--color--blue); }
.bhq-dashboard-shortcut strong { font-size: 1rem; }
.bhq-dashboard-shortcut > span:last-child { font-size: .8125rem; }
.bhq-dashboard-latest { padding: 1.5rem 0 0; border: 0; border-top: 1px solid var(--wp--preset--color--line); border-radius: 0; }
.bhq-section-heading h2 { font-size: 1.375rem; }
.bhq-section-heading a, .bhq-dashboard-help a { font-size: .875rem; }
.bhq-account-page .woocommerce :is(form.login, form.register) { border-radius: var(--bhq-card-radius); background: var(--wp--preset--color--white); border-color: var(--wp--preset--color--line); box-shadow: var(--bhq-receipt-shadow); padding: clamp(1.25rem, 3vw, 2rem); }
.bhq-account-page .woocommerce :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-Button[name="save_account_details"]) { min-height: 48px; padding-inline: 1.5rem; border-radius: var(--bhq-button-radius); }
.bhq-account-page .woocommerce table.woocommerce-orders-table :is(th, td) { font-size: .875rem; }
.bhq-account-page .woocommerce table.woocommerce-orders-table thead th { font-size: .75rem; }
.bhq-account-page .woocommerce table.woocommerce-orders-table tr { background: var(--wp--preset--color--white); }
.bhq-account-page .woocommerce .woocommerce-orders-table__cell-order-actions .button { min-height: 40px; }
.bhq-main .wc-block-components-notice-banner.is-success { background: var(--bhq-success-bg); }
.bhq-main :is(.wc-block-components-notice-banner.is-error, .woocommerce .woocommerce-error) { background: var(--bhq-error-bg); color: var(--bhq-error-text); }
.bhq-main .wc-block-components-notice-banner__content > .button { background: var(--wp--preset--color--white) !important; }
.bhq-main .wc-block-components-notice-banner > svg { fill: var(--wp--preset--color--warm); }
.bhq-main .wc-block-components-notice-banner.is-error > svg { background: var(--bhq-error-text); fill: var(--bhq-error-bg); }
.bhq-main .wc-block-components-notice-banner.is-success > svg { fill: var(--bhq-success-bg); }
html[data-bhq-theme="dark"] .bhq-main .wc-block-components-validation-error { color: var(--bhq-error-text); }
html[data-bhq-theme="dark"] .bhq-main .wc-block-components-text-input.has-error label { color: var(--bhq-error-text); }
html[data-bhq-theme="dark"] .bhq-order-status { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--blue); }
html[data-bhq-theme="dark"] :is(.bhq-order-status--completed, .bhq-order-status--processing) { background: var(--bhq-success-bg); color: #83d5b3; }
html[data-bhq-theme="dark"] :is(.bhq-order-status--on-hold, .bhq-order-status--pending) { background: #282318; color: #f7c57f; }
html[data-bhq-theme="dark"] :is(.bhq-order-status--failed, .bhq-order-status--cancelled) { background: var(--bhq-error-bg); color: var(--bhq-error-text); }
html[data-bhq-theme="dark"] .bhq-main :is(.wc-block-components-button, .wp-element-button):disabled { background: #273244; color: #bbc7d6; border-color: #46556a; }

.bhq-order-page .bhq-confirmation-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); padding: 0; gap: clamp(2rem, 5vw, 4.5rem); border: 0; background: transparent; box-shadow: none; align-items: start; }
.bhq-order-page .bhq-completion-panel { grid-column: 2; grid-row: 1; padding: 2rem 0; }
.bhq-order-page .bhq-confirmation-grid > .bhq-order-summary-stack { grid-column: 1; grid-row: 1; }
.bhq-order-page .bhq-order-summary-stack { border: 1px solid var(--wp--preset--color--line); border-radius: var(--bhq-card-radius); background: var(--wp--preset--color--white); box-shadow: var(--bhq-receipt-shadow); }
.bhq-order-page .bhq-order-summary-stack .wp-block-woocommerce-order-confirmation-additional-information:not(:empty) { padding: 1.25rem 0 0; border: 0; border-top: 1px solid var(--wp--preset--color--line); border-radius: 0; background: transparent; color: var(--wp--preset--color--muted); box-shadow: none; font-size: .875rem; line-height: 1.85; }
.bhq-order-page .bhq-order-summary-stack .wp-block-woocommerce-order-confirmation-additional-information h2 { color: var(--wp--preset--color--navy); font-size: 1rem; margin-block: 1.25rem .75rem; }
.bhq-order-page .bhq-order-summary-stack .wc-bacs-bank-details { padding: 0; list-style: none; margin: 0; }
.bhq-order-page .bhq-order-summary-stack .wc-bacs-bank-details li { padding-block: .5rem; border-bottom: 1px solid var(--wp--preset--color--line); overflow-wrap: anywhere; }
.bhq-order-page .bhq-order-summary-stack .wc-bacs-bank-details strong { color: var(--wp--preset--color--navy); }
.bhq-order-page .bhq-order-detail-stack { align-items: start; gap: 2rem; margin-top: 2.25rem; }
.bhq-order-page .bhq-order-detail-stack > :is(.wp-block-woocommerce-order-confirmation-billing-wrapper, .wp-block-woocommerce-order-confirmation-shipping-wrapper, .wp-block-woocommerce-order-confirmation-additional-fields-wrapper) { padding: 1.5rem 0 0; border: 0; border-top: 1px solid var(--wp--preset--color--line); border-radius: 0; background: transparent; box-shadow: none; }
.bhq-order-page .bhq-order-symbol { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--blue); box-shadow: 0 0 0 12px color-mix(in srgb, var(--wp--preset--color--blue) 4%, transparent); }
.bhq-order-page .bhq-order-symbol::before { background: currentColor; }
.bhq-order-page .bhq-order-symbol--complete { background: var(--bhq-success-bg); color: #11654e; }
.bhq-order-page .bhq-order-symbol--pending { background: var(--wp--preset--color--sand); color: #885100; }
.bhq-order-page :is(.bhq-order-symbol--failed, .bhq-order-symbol--cancelled) { background: var(--bhq-error-bg); color: var(--bhq-error-text); }
html[data-bhq-theme="dark"] .bhq-order-page .bhq-order-symbol--complete { color: #83d5b3; }
html[data-bhq-theme="dark"] .bhq-order-page .bhq-order-symbol--pending { color: #f7c57f; }
.bhq-order-page .bhq-payment-status { border-color: var(--wp--preset--color--line); border-inline-start-color: #f49e1e; }
.bhq-order-page .bhq-payment-status__icon { color: #192d44; }
.bhq-order-page .wc-block-order-confirmation-status__actions .button { min-height: 44px; color: var(--bhq-button-text); background: var(--bhq-button-background); }
.bhq-order-page .wc-block-order-confirmation-status__actions .button:hover { background: var(--bhq-button-hover); }
.bhq-order-page table.wc-block-order-confirmation-totals__table tfoot tr:last-child :is(th, td) { background: #192d44; }
.bhq-order-page .bhq-confirmation-grid:not(:has(.wc-block-order-confirmation-summary-list)) .bhq-completion-panel { grid-column: 1 / -1; }

/* Quiet, branded footer with hover treatment limited to non-transactional links. */
.bhq-footer { background: var(--wp--preset--color--warm); color: var(--wp--preset--color--ink); border-top: 1px solid var(--wp--preset--color--line); padding-block: 4.125rem 4rem; }
.bhq-footer > .alignwide { max-width: var(--wp--style--global--wide-size); }
.bhq-footer .bhq-footer-grid { grid-template-columns: 1.3fr .8fr 1fr 1.2fr; gap: 1.875rem; }
.bhq-footer :is(.bhq-footer-brand p, .bhq-footer-contact p, .wp-block-navigation, .bhq-footer-bottom) { color: var(--wp--preset--color--muted); }
.bhq-footer .bhq-footer-heading { font-size: .875rem; font-weight: 400; color: var(--wp--preset--color--navy); text-transform: none; letter-spacing: 0; margin-block: .625rem 1.25rem; }
.bhq-footer .bhq-footer-brand p { font-size: .75rem; line-height: 1.8; margin-top: 1.25rem; }
.bhq-footer .wp-block-navigation, .bhq-footer-contact p { font-size: .875rem; line-height: 1.7; }
.bhq-footer .wp-block-navigation { font-weight: 400; }
.bhq-footer .bhq-footer-tagline, .bhq-footer .bhq-footer-bottom p { font-size: .75rem; }
.bhq-footer .bhq-footer-bottom { border-color: var(--wp--preset--color--line); margin-top: 3.4375rem; padding-top: 1.375rem; gap: 1.5rem; }
.bhq-footer .bhq-footer-cta { color: var(--wp--preset--color--blue); }
/* Earlier BHQ footer color classes follow the same appearance as the page. */
.bhq-footer.has-navy-background-color { background-color: var(--wp--preset--color--warm) !important; }
.bhq-footer-logo { width: 194px; }
.bhq-footer-logo img { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.bhq-footer-logo a:is(:hover, :focus-visible) img { transform: translateY(-3px); }
:is(.bhq-footer, .bhq-commerce-help, .bhq-dashboard-help) a { text-underline-offset: 5px; text-decoration-thickness: 1px; }
:is(.bhq-footer, .bhq-commerce-help, .bhq-dashboard-help) a:hover { color: var(--wp--preset--color--blue); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .bhq-dashboard-shortcut::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(110deg, transparent 30%, #4366b012 50%, transparent 70%); transform: translateX(-100%); transition: transform .85s ease; }
  .bhq-dashboard-shortcut:is(:hover, :focus-visible)::after { transform: translateX(100%); }
}
@media (max-width: 780px) {
  .bhq-header-row { gap: .875rem; }
  .bhq-brand { width: 160px; }
  .bhq-header-row > .wp-block-navigation:not(.is-responsive) { order: 3; flex-basis: 100%; justify-content: space-between; }
  .bhq-header-row > .bhq-theme-toggle { margin-left: auto; }
  .bhq-main { padding-top: 2.25rem; }
  .bhq-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .bhq-account-page .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: .25rem; }
  .bhq-account-page .woocommerce-MyAccount-navigation li { flex: 1 1 auto; border: 0; }
  .bhq-account-page .woocommerce-MyAccount-navigation li a { padding: .875rem; }
  .bhq-footer .bhq-footer-grid { gap: 2rem; }
  .bhq-footer { padding-block: 3rem 4rem; }
  .bhq-footer .bhq-footer-grid { grid-template-columns: 1fr 1fr; }
  .bhq-footer .bhq-footer-grid > :is(:first-child, :last-child) { grid-column: 1 / -1; }
  .bhq-footer .bhq-footer-bottom { flex-direction: column; align-items: flex-start; gap: .5rem; margin-top: 2.5rem; }
  .bhq-order-page .bhq-confirmation-grid { grid-template-columns: minmax(0, 1fr); padding: 0; }
  .bhq-order-page .bhq-completion-panel { grid-column: 1; grid-row: 1; padding-top: 1rem; }
  .bhq-order-page .bhq-confirmation-grid > .bhq-order-summary-stack { grid-column: 1; grid-row: 2; }
}
@media (max-width: 400px) {
  .bhq-brand { width: 143px; }
  .bhq-theme-toggle { flex-basis: 76px; }
  .bhq-header .wp-block-navigation a { font-size: .8125rem; }
  .bhq-dashboard-welcome { align-items: flex-start; }
  .bhq-dashboard-avatar { width: 44px; height: 44px; flex-basis: 44px; }
  .bhq-dashboard-shortcuts { grid-template-columns: 1fr; gap: 0; }
  .bhq-main .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bhq-theme-toggle::before, .bhq-footer-logo img, .bhq-dashboard-shortcut::after { transition: none; transform: none; }
  .bhq-footer-logo a:is(:hover, :focus-visible) img { transform: none; }
}
@media (forced-colors: active) {
  .bhq-theme-toggle { border-color: ButtonText; }
  .bhq-theme-toggle::before { background: Highlight; }
  .bhq-theme-toggle > span { color: ButtonText !important; }
  .bhq-dashboard-shortcut::after { display: none; }
  html[data-bhq-theme] .bhq-order-page .bhq-order-symbol { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
  html[data-bhq-theme] :is(.bhq-brand, .bhq-footer-logo) img { filter: none; }
}
