/* wooboost-express/assets/css/wooboost-checkout.css */
:root {
    --wb-primary: #0f172a;
    --wb-on-primary: #fff;
    --wb-ink: #0f172a;
    --wb-muted: rgba(15, 23, 42, .60);
    --wb-faint: rgba(15, 23, 42, .50);
    --wb-clock-height: 66px;
    --wb-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Segoe UI", sans-serif;
    --wb-ease: cubic-bezier(.16, 1, .3, 1);
    --wb-bar-height: 0px;
}
.wb-checkout { background: #f5f4f2; }
.wb-checkout.wb-glass { background: radial-gradient(ellipse at 86% 20%, #ead4c780, transparent 46%), radial-gradient(ellipse at 10% 70%, #d2dedb80, transparent 45%), #f4f3f1; }
.wb-checkout main, .wb-checkout .entry-content { background-color: transparent; }
.wb-checkout .woocommerce { max-width: 1160px; margin-inline: auto; font: 400 15px/1.6 var(--wb-font); color: var(--wb-ink); }
.wb-checkout .wp-block-post-title, .wb-checkout .entry-title { display: none; }
.wb-checkout form.checkout *, .wb-admin *, .wb-mobile-bar * { box-sizing: border-box; }
.wb-checkout form.checkout { width: 100%; font-family: var(--wb-font); }
.wb-card { border: 1px solid #e2e5e8; background: #fff; border-radius: 24px; }
.wb-glass .wb-card {
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(255, 255, 255, .8);
    -webkit-backdrop-filter: blur(24px) saturate(190%);
    backdrop-filter: blur(24px) saturate(190%);
    box-shadow: 0 20px 50px -12px rgba(0, 0, 0, .04), inset 0 1px 0 rgba(255, 255, 255, .9);
}
.wb-intro { padding: 6px 0 28px; }
.wb-eyebrow { display: block; color: var(--wb-muted); font: 600 10px/1.5 var(--wb-font); letter-spacing: .13em; text-transform: uppercase; }
.wb-checkout .wb-intro h1 { margin: 12px 0 10px; color: var(--wb-ink); font: 600 clamp(34px, 4vw, 50px)/1.14 var(--wb-font); letter-spacing: -.03em; }
.wb-intro p { margin: 0; color: var(--wb-muted); font: 400 17px/1.6 var(--wb-font); }
.wb-clock { display: flex; gap: 12px; align-items: center; margin: 0 0 24px; color: #475569; font-size: 13px; }
.wb-clock > span:first-child { font-size: 25px; }
.wb-clock strong { font-variant-numeric: tabular-nums; }
.wb-clock small { display: block; font-size: 10px; color: var(--wb-muted); }
.wb-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; clear: both; }
.wb-main, .wb-summary { min-width: 0; padding: 36px; }
.wb-checkout .wb-layout #customer_details, .wb-checkout .wb-layout #order_review,
.wb-checkout .wb-layout #order_review_heading, .wb-checkout .wb-layout #customer_details > .col-1,
.wb-checkout .wb-layout #customer_details > .col-2 { float: none; width: 100%; max-width: none; padding-inline: 0; margin-inline: 0; }
.wb-checkout .wb-layout #customer_details { display: block; margin-bottom: 0; }
.wb-checkout .wb-layout #customer_details > .col-2 { margin-top: 24px; }
.wb-checkout form.checkout h3 { color: var(--wb-ink); font: 350 23px/1.35 var(--wb-font); letter-spacing: -.03em; margin: 0 0 24px; }
.wb-checkout form.checkout .form-row { margin: 0 0 18px; padding: 0; }
.wb-checkout form.checkout .form-row label { font: 500 13px/1.5 var(--wb-font); color: #475569; margin-bottom: 7px; }
.wb-checkout form.checkout .optional { font-size: 11px; color: var(--wb-muted); font-weight: 400; }
.wb-checkout form.checkout .required { color: #b42318; text-decoration: none; }
.wb-checkout form.checkout input.input-text, .wb-checkout form.checkout textarea.input-text, .wb-checkout form.checkout select {
    width: 100%; min-width: 0; height: 52px; padding: 0 20px; margin: 0;
    color: var(--wb-ink); background: rgba(248, 250, 252, .7); border: 1px solid rgba(226, 232, 240, .8);
    border-radius: 14px; box-shadow: inset 0 1px 2px #0f172a03; font: 400 15px/1.4 var(--wb-font);
    transition: all .25s var(--wb-ease); transform-origin: center;
}
.wb-checkout form.checkout textarea.input-text { height: auto; min-height: 110px; padding: 14px; resize: vertical; }
.wb-checkout form.checkout .input-text::placeholder { color: #8994a4; opacity: 1; }
.wb-checkout form.checkout .input-text:focus, .wb-checkout form.checkout select:focus { outline: none; border-color: var(--wb-primary); box-shadow: 0 0 0 4px rgba(15, 23, 42, .08); transform: scale(1.008); }
.wb-checkout .woocommerce form.checkout .form-row.woocommerce-validated input.input-text,
.wb-checkout .woocommerce form.checkout .form-row.woocommerce-validated .select2-selection--single { border-color: #cbd5e1; }
.wb-checkout form.checkout .woocommerce-invalid input.input-text { border-color: #b42318; }
.wb-checkout form.checkout input[type="checkbox"], .wb-checkout form.checkout input[type="radio"] { accent-color: var(--wb-primary); }
.wb-checkout form.checkout input[type="checkbox"]:focus-visible, .wb-checkout form.checkout input[type="radio"]:focus-visible { outline: 2px solid var(--wb-primary); outline-offset: 3px; }
.wb-checkout form.checkout .select2-container { max-width: 100%; }
.wb-checkout form.checkout .select2-selection--single { height: 52px; border: 1px solid rgba(226, 232, 240, .8); border-radius: 14px; background: #ffffffd1; }
.wb-checkout form.checkout .form-row .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 36px 0 14px; height: 50px; line-height: 50px; color: var(--wb-ink); font-size: 16px; }
.wb-checkout form.checkout .select2-selection__arrow { height: 50px; top: 0; right: 10px; }
.wb-checkout form.checkout .select2-container--focus .select2-selection { border-color: var(--wb-primary); box-shadow: 0 0 0 4px #0f172a14; }
.wb-checkout form.checkout #ship-to-different-address { font-size: 16px; }
.wb-checkout form.checkout #order_review table.shop_table { width: 100%; margin: 0 0 24px; background: transparent; border: 0; border-collapse: collapse; font-size: 13px; }
.wb-checkout #order_review table.shop_table th, .wb-checkout #order_review table.shop_table td { padding: 14px 0; background: none; border: 0; border-bottom: 1px solid #0f172a10; text-align: left; vertical-align: middle; overflow-wrap: anywhere; }
.wb-checkout #order_review table.shop_table td:last-child, .wb-checkout #order_review table.shop_table th:last-child { text-align: right; padding-left: 12px; }
.wb-checkout #order_review table.shop_table thead th { font-size: 10px; color: var(--wb-muted); font-weight: 500; }
.wb-checkout #order_review .product-name { width: 58%; }
.wb-product-line { display: inline-flex; align-items: center; gap: 10px; font-weight: 400; }
.wb-checkout #order_review .wb-product-image { width: 44px; height: 50px; flex: 0 0 44px; object-fit: cover; border-radius: 14px; margin: 0; }
.wb-checkout #order_review .product-quantity { color: var(--wb-muted); font-size: 10px; font-weight: 400; white-space: nowrap; }
.wb-checkout #order_review .variation { margin: 5px 0; color: var(--wb-muted); font-size: 11px; }
.wb-checkout #order_review .variation p { margin: 0; }
.wb-checkout #order_review table.shop_table .order-total th, .wb-checkout #order_review table.shop_table .order-total td { font-size: 22px; font-weight: 600; letter-spacing: -.03em; border-bottom: 0; padding-block: 22px; }
.wb-checkout #order_review .order-total .amount { white-space: nowrap; }
.wb-checkout #order_review .includes_tax { display: block; color: var(--wb-muted); font-size: 10px; font-weight: 400; }
.wb-checkout #order_review #shipping_method { list-style: none; margin: 0; padding: 0; }
.wb-checkout #order_review #shipping_method li { margin-bottom: 8px; }
.wb-checkout form.checkout #payment { background: transparent; border: 0; }
.wb-checkout form.checkout #payment ul.payment_methods { display: grid; gap: 10px; border: 0; list-style: none; padding: 0; margin: 0 0 18px; }
.wb-checkout form.checkout #payment li.wc_payment_method { margin: 0; padding: 15px; background: #ffffff80; border: 1px solid rgba(226, 232, 240, .8); border-radius: 14px; list-style: none; transition: all .25s var(--wb-ease); }
.wb-checkout form.checkout #payment li.wb-selected { border-color: var(--wb-primary); box-shadow: 0 0 0 1px var(--wb-primary); }
.wb-checkout form.checkout #payment li.wc_payment_method > label { display: inline; color: var(--wb-ink); font: 500 13px/1.5 var(--wb-font); cursor: pointer; }
.wb-checkout form.checkout #payment li.wc_payment_method > input { margin-right: 7px; }
.wb-checkout form.checkout #payment li.wc_payment_method > label img { max-width: 90px; max-height: 24px; object-fit: contain; margin-left: 7px; }
.wb-checkout form.checkout #payment div.payment_box { width: 100%; padding: 12px; margin: 12px 0 0; color: var(--wb-muted); background: #f3f5f780; border-radius: 14px; font: 400 12px/1.7 var(--wb-font); }
.wb-checkout form.checkout #payment div.payment_box::before { display: none; }
.wb-checkout form.checkout #payment .place-order { float: none; width: 100%; margin: 0; padding: 0; }
.wb-checkout .woocommerce-privacy-policy-text, .wb-checkout .woocommerce-terms-and-conditions-wrapper { color: var(--wb-muted); font: 400 12px/1.7 var(--wb-font); }
.wb-checkout .woocommerce-privacy-policy-text a, .wb-checkout .woocommerce-terms-and-conditions-wrapper a { color: #475569; text-underline-offset: 3px; }
.wb-checkout form.checkout #place_order, .wb-button, .wb-preview-button {
    display: inline-flex; justify-content: center; align-items: center; gap: 10px; width: 100%; min-height: 52px;
    padding: 13px 18px; margin: 12px 0 0; float: none; background: var(--wb-primary); color: var(--wb-on-primary);
    border: 1px solid #ffffff14; border-radius: 14px; font: 600 15px/1.4 var(--wb-font); text-align: center;
    text-transform: none; cursor: pointer; box-shadow: 0 6px 18px #0f172a12, inset 0 1px #ffffff20;
    transition: all .25s var(--wb-ease); scroll-margin: 90px 0 calc(var(--wb-bar-height) + 24px);
}
.wb-checkout form.checkout #place_order:hover, .wb-button:hover { background: var(--wb-primary); color: var(--wb-on-primary); filter: brightness(1.13); transform: translateY(-1px); }
.wb-checkout form.checkout #place_order:focus-visible, .wb-button:focus-visible { outline: 3px solid #64748b; outline-offset: 3px; }
.wb-button:disabled, .wb-checkout #place_order:disabled { opacity: .55; cursor: wait; transform: none; }
.wb-shipping-panel { clear: both; }
.wb-shipping { padding: 22px 26px; margin-bottom: 24px; }
.wb-shipping-heading { display: flex; gap: 12px; align-items: center; }
.wb-round-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 14px; background: #ffffffa6; font-size: 22px; }
.wb-shipping-heading strong { font-size: 14px; font-weight: 600; }
.wb-shipping-heading p { font-size: 12px; color: var(--wb-muted); margin: 3px 0 0; }
.wb-shipping progress { display: block; appearance: none; width: 100%; height: 5px; margin: 16px 0 0; background: #0f172a0d; border: 0; border-radius: 14px; overflow: hidden; }
.wb-shipping progress::-webkit-progress-bar { background: #0f172a0d; border-radius: 14px; }
.wb-shipping progress::-webkit-progress-value { background: var(--wb-primary); border-radius: 14px; transition: width .25s var(--wb-ease); }
.wb-shipping progress::-moz-progress-bar { background: var(--wb-primary); border-radius: 14px; }
.wb-checkout form.checkout label.wb-offer { display: grid; grid-template-columns: 18px 44px minmax(0, 1fr); align-items: center; gap: 12px; padding: 16px; margin: 14px 0 0; border: 1px solid rgba(226, 232, 240, .8); border-radius: 24px; background: #ffffff99; cursor: pointer; transition: all .25s var(--wb-ease); }
.wb-offer:has(input:checked) { border-color: var(--wb-primary) !important; box-shadow: 0 0 0 1px var(--wb-primary); }
.wb-offer input { width: 17px; height: 17px; margin: 0; }
.wb-offer-image img { display: block; width: 44px; height: 50px; object-fit: cover; border-radius: 14px; }
.wb-offer-copy { display: flex; flex-direction: column; gap: 4px; }
.wb-offer-copy small { font: 600 9px/1.5 var(--wb-font); letter-spacing: .07em; color: #9a684b; }
.wb-offer-copy strong { font: 550 13px/1.4 var(--wb-font); color: var(--wb-ink); }
.wb-offer-copy > span { color: var(--wb-muted); font: 400 11px/1.5 var(--wb-font); }
.wb-offer-copy b { color: var(--wb-ink); font-size: 12px; font-weight: 600; }
.wb-bump-panel:empty { display: none; }
.wb-offer-status { margin: 0 0 12px; color: var(--wb-muted); font-size: 12px; }
.wb-offer-status:empty { display: none; }
.wb-offers-pending .wb-offer { opacity: .6; cursor: progress !important; }
.wb-checkout .woocommerce form.checkout #payment #place_order { float: none; width: 100%; }
.wb-safe-zone { display: flex; clear: both; width: 100%; justify-content: center; align-items: center; gap: 10px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #0f172a10; }
.wb-safe-zone svg { width: 27px; height: 27px; flex: 0 0 27px; stroke: #29785e; fill: #29785e0c; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.wb-safe-zone strong { display: block; font-size: 11px; font-weight: 600; }
.wb-safe-zone small { display: block; color: var(--wb-muted); font-size: 10px; }
.wb-trust-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; list-style: none; padding: 0; margin: 14px 0 0; }
.wb-trust-badges li { padding: 5px 10px; margin: 0; border: 1px solid #ffffff99; border-radius: 14px; background: #ffffff90; color: #475569; font: 600 10px/1.5 var(--wb-font); }
.wb-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.wb-checkout .woocommerce-form-coupon-toggle .wc-block-components-notice-banner { padding: 10px 0 !important; margin: 0 0 24px; border: 0; background: none; color: var(--wb-muted); font: 400 12px/1.6 var(--wb-font); }
.wb-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.wb-checkout .woocommerce-form-coupon-toggle .wc-block-components-notice-banner > svg { display: none; }
.wb-checkout form.checkout .wb-vat-toggle { clear: both; padding: 14px 0; border-top: 1px solid #0f172a10; }
.wb-checkout form.checkout .wb-vat-toggle label { cursor: pointer; }
.wb-checkout form.checkout .wb-invoice-field { max-height: 200px; opacity: 1; transition: max-height .25s var(--wb-ease), opacity .25s var(--wb-ease), margin .25s var(--wb-ease); overflow: hidden; }
.wb-checkout form.checkout .wb-invoice-field.wb-collapsed { max-height: 0; opacity: 0; margin: 0; padding: 0; pointer-events: none; }
.wb-digital-field[hidden] { display: none !important; }
.wb-mobile-bar { display: none; font-family: var(--wb-font); }
.wb-mobile-bar[hidden] { display: none !important; }
.wb-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; white-space: nowrap; }
@media (min-width: 993px) {
    .wb-layout { grid-template-columns: minmax(0, 1fr) 440px; gap: 28px; }
    .wb-summary { position: sticky; top: 24px; }
    .admin-bar .wb-summary { top: 56px; }
}
@media (max-width: 767px) {
    .wb-main, .wb-summary { padding: 22px 18px; }
    .wb-intro { padding-bottom: 24px; }
    .wb-checkout .wb-intro h1 { font-size: 36px; }
    .wb-intro p { font-size: 15px; }
    .wb-checkout form.checkout .form-row-first, .wb-checkout form.checkout .form-row-last { float: none; width: 100%; }
    .wb-shipping { padding: 20px 18px; }
    .wb-shipping-heading strong { font-size: 13px; }
    .wb-checkout form.checkout label.wb-offer { gap: 9px; padding: 12px; }
    .wb-mobile-bar:not([hidden]) { position: fixed; inset: auto 0 0; z-index: 99999; display: flex; align-items: center; gap: 14px; padding: 12px max(16px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); background: #fffffff5; border-top: 1px solid #e2e8f0; box-shadow: 0 -12px 40px #0f172a08; }
    .wb-glass .wb-mobile-bar { background: #ffffffbf; -webkit-backdrop-filter: blur(24px) saturate(190%); backdrop-filter: blur(24px) saturate(190%); }
    .wb-mobile-bar > div { flex: 1; min-width: 0; }
    .wb-mobile-bar small { display: block; font-size: 10px; color: var(--wb-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .wb-mobile-bar strong { display: block; font-size: 21px; color: var(--wb-ink); font-weight: 600; letter-spacing: -.03em; }
    .wb-mobile-bar .wb-button { flex: 0 1 58%; width: auto; min-height: 48px; margin: 0; padding: 12px 14px; font-size: 13px; }
    .wb-mobile-bar .wb-atc-price { font-size: 16px; }
    .wb-mobile-bar ins { background: none; text-decoration: none; }
    .wb-mobile-bar del { font-size: 11px; color: var(--wb-muted); }
    .wb-bar-spacer { height: var(--wb-bar-height); }
}
/* Admin: only selectors below .wb-admin apply inside WordPress settings. */
.wb-admin { max-width: 1400px; color: var(--wb-ink); font: 400 13px/1.6 var(--wb-font); }
.wb-admin-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 36px 0 26px; }
.wb-admin h1, .wb-admin h2, .wb-admin label, .wb-admin input, .wb-admin select, .wb-admin button { font-family: var(--wb-font); }
.wb-admin-header h1 { font-size: 32px; font-weight: 600; letter-spacing: -.03em; line-height: 1.2; padding: 0; margin: 10px 0; }
.wb-admin-header h1 small { padding: 4px 8px; border: 1px solid rgba(226, 232, 240, .8); border-radius: 14px; font-size: 11px; color: var(--wb-muted); vertical-align: middle; }
.wb-admin-header p { margin: 0; color: var(--wb-muted); }
.wb-link { color: var(--wb-ink); font-size: 12px; text-decoration: none; }
.wb-settings-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr) 260px; gap: 20px; align-items: start; }
.wb-tabs { padding: 10px; display: flex; flex-direction: column; gap: 5px; }
.wb-tabs button { display: flex; align-items: center; gap: 9px; width: 100%; background: none; border: 0; border-radius: 14px; padding: 12px 10px; color: #475569; text-align: left; font-size: 12px; cursor: pointer; transition: all .25s var(--wb-ease); }
.wb-tabs button[aria-selected="true"] { color: var(--wb-on-primary); background: var(--wb-primary); box-shadow: 0 5px 12px #0f172a14; }
.wb-tab-number { font-size: 9px; opacity: .7; }
.wb-panel { padding: 28px; margin-bottom: 20px; }
.wb-panel[hidden] { display: none; }
.wb-panel h2 { font-size: 23px; line-height: 1.3; font-weight: 400; letter-spacing: -.03em; margin: 10px 0 26px; }
.wb-setting { display: grid; grid-template-columns: minmax(0, 1fr) minmax(80px, 36%); gap: 20px; align-items: center; padding: 18px 0; border-top: 1px solid #0f172a0a; }
.wb-setting label { color: var(--wb-ink); font-size: 13px; font-weight: 500; }
.wb-setting p { margin: 5px 0 0; color: var(--wb-muted); font-size: 11px; line-height: 1.7; }
.wb-setting-control { text-align: right; }
.wb-admin input[type="text"], .wb-admin input[type="number"], .wb-admin select { width: 100%; min-height: 42px; margin: 0; padding: 8px 12px; border: 1px solid rgba(226, 232, 240, .8); border-radius: 14px; background-color: #ffffffa6; color: var(--wb-ink); font-size: 12px; }
.wb-admin select { padding-right: 28px; }
.wb-admin input[type="color"] { width: 58px; height: 42px; padding: 4px; background: #fff; border: 1px solid rgba(226, 232, 240, .8); border-radius: 14px; cursor: pointer; }
.wb-toggle { display: inline-flex; width: 48px; height: 28px; position: relative; vertical-align: middle; }
.wb-toggle input { position: absolute; z-index: 1; inset: 0; width: 48px; height: 28px; opacity: 0; margin: 0; cursor: pointer; }
.wb-toggle > span:first-of-type { position: absolute; inset: 0; border-radius: 999px; background: #c9ced5; box-shadow: inset 0 1px 3px #0f172a10; transition: all .25s var(--wb-ease); }
.wb-toggle > span:first-of-type::after { content: ""; position: absolute; left: 3px; top: 3px; width: 22px; height: 22px; background: #fff; border-radius: 50%; box-shadow: 0 2px 5px #0f172a24; transition: transform .25s var(--wb-ease); }
.wb-toggle input:checked + span { background: #34c759; }
.wb-toggle input:checked + span::after { transform: translateX(20px); }
.wb-toggle input:focus-visible + span { outline: 2px solid #0071e3; outline-offset: 3px; }
.wb-preview-scene { position: sticky; top: 52px; border-radius: 24px; padding: 24px 12px; background: radial-gradient(circle at 90% 4%, #c88e63 0, transparent 48%), radial-gradient(circle at 4% 100%, #a9bbae 0, transparent 55%), #e5d7c9; }
.wb-preview { padding: 22px 18px; }
.wb-preview h2 { font-size: 24px; font-weight: 400; letter-spacing: -.03em; margin: 16px 0 8px; line-height: 1.2; }
.wb-preview p, .wb-preview small { color: #64748b; font-size: 11px; }
.wb-preview-field { border: 1px solid #ffffffb3; border-radius: 14px; padding: 12px; background: #ffffff73; color: #64748b; font-size: 11px; margin: 25px 0; }
.wb-preview-line { display: flex; justify-content: space-between; gap: 8px; font-size: 10px; padding: 14px 0; border-top: 1px solid #ffffffa6; }
#wb-preview-offer { border: 1px solid #ffffff99; border-radius: 14px; padding: 12px; margin-bottom: 12px; font-size: 10px; }
.wb-preview-button { min-height: 44px; font-size: 11px; cursor: default; margin-bottom: 14px; }
.wb-admin-save { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 12px 0 30px; color: var(--wb-muted); font-size: 12px; }
.wb-admin .button-primary { padding: 8px 24px; border-radius: 14px; min-height: 46px; border: 0; color: var(--wb-on-primary); background: var(--wb-primary); }
@media (max-width: 1280px) { .wb-settings-grid { grid-template-columns: 200px minmax(0, 1fr); } .wb-preview-scene { grid-column: 2; position: static; max-width: 380px; } }
@media (max-width: 782px) { .wb-settings-grid { grid-template-columns: minmax(0, 1fr); } .wb-tabs { flex-direction: row; overflow-x: auto; } .wb-tabs button { flex: 0 0 auto; width: auto; white-space: nowrap; } .wb-preview-scene { grid-column: 1; max-width: none; } .wb-panel { padding: 22px 18px; } .wb-setting { grid-template-columns: minmax(0, 1fr) 42%; gap: 12px; } .wb-admin-header { align-items: flex-start; flex-direction: column; } }
@supports not (backdrop-filter: blur(20px)) { .wb-glass .wb-card, .wb-glass .wb-mobile-bar { background: #fff; } }
@media (prefers-reduced-motion: reduce) { .wb-checkout *, .wb-admin *, .wb-mobile-bar * { transition: none !important; animation: none !important; } .wb-checkout form.checkout .input-text:focus { transform: none; } }
@media (prefers-contrast: more) { .wb-glass .wb-card { background: #fff; border-color: #64748b; } }
@media print { .wb-mobile-bar, .wb-bar-spacer, .wb-clock { display: none !important; } .wb-summary { position: static; } .wb-glass .wb-card { background: #fff; backdrop-filter: none; box-shadow: none; } }


/* Spatial checkout: capsule, tactile inputs and horizontal product cards. */
.wb-checkout .woocommerce, .wb-admin { letter-spacing: -.01em; }
.wb-checkout.wb-has-clock { padding-top: calc(var(--wb-clock-height) + 40px); }
.wb-checkout.wb-glass { background: radial-gradient(ellipse at 90% 12%, #e8d9cb99, transparent 42%), radial-gradient(ellipse at 5% 65%, #dce6dd99, transparent 45%), #f6f5f2; background-attachment: fixed; }
.wb-checkout .wb-intro { padding: 30px 0 0; margin: 0 0 32px; }
.wb-checkout .wb-intro h1 { margin: 0 0 24px; font-weight: 300; letter-spacing: -.03em; }
.wb-checkout .woocommerce-billing-fields > h3, .wb-checkout .woocommerce-additional-fields > h3 { display: none; }
.wb-checkout form.checkout h3, .wb-admin h1, .wb-admin h2 { font-weight: 350; letter-spacing: -.03em; }
.wb-checkout form.checkout .form-row label { font-weight: 400; letter-spacing: -.01em; }
.wb-checkout form.checkout .input-text:focus, .wb-checkout form.checkout select:focus { background: #fff; box-shadow: 0 0 0 4px rgba(15, 23, 42, .06); transform: translateY(-1px); }
.wb-checkout form.checkout .select2-container--focus .select2-selection { background: #fff; box-shadow: 0 0 0 4px #0f172a0f; }
.wb-checkout .woocommerce form.checkout #payment #place_order { font-weight: 500; }
.wb-checkout form.checkout #payment li.wb-selected { border-color: #0f172a60; box-shadow: 0 0 0 1px #0f172a09; }
.wb-checkout form.checkout #payment div.payment_box { padding: 12px 0 0; margin-top: 8px; background: transparent; }
.wb-checkout form.checkout #payment div.payment_box p { margin: 0; }
.wb-checkout form.checkout #payment .place-order { display: block; }
.wb-checkout #order_review .order-total strong { font-weight: 500; }
.wb-checkout #order_review table.shop_table .order-total th, .wb-checkout #order_review table.shop_table .order-total td { font-weight: 400; }
.wb-checkout form.checkout .wb-server-hidden, .wb-checkout form.checkout .wb-invoice-address[hidden], .wb-checkout form.checkout .wb-invoice-field.wb-collapsed { display: none !important; }
.wb-checkout form.checkout .wb-invoice-field { max-height: none; overflow: visible; }
.wb-invoice-field:not(.wb-server-hidden), .wb-invoice-address:not(.wb-server-hidden) { animation: wb-reveal .22s var(--wb-ease); }
.wb-clock { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 999999; display: flex; gap: 12px; width: max-content; max-width: min(720px, calc(100vw - 32px)); max-height: 40vh; overflow-y: auto; box-sizing: border-box; margin: 0; padding: 10px 24px 10px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); background: rgba(15,23,42,.85); color: #fff; backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); box-shadow: 0 20px 40px rgba(0,0,0,.25); font: 400 12px/1.7 var(--wb-font); letter-spacing: -.01em; }
.wb-clock > span:first-child { font-size: inherit; }
.wb-clock-orb { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; background: #ffffff0f; border: 1px solid #ffffff0d; }
.wb-clock-orb svg { width: 23px; height: 23px; fill: none; stroke: #f8fafc; stroke-width: 1.3; stroke-linecap: round; }
.wb-clock-copy { min-width: 0; overflow-wrap: anywhere; }
.wb-clock strong { display: inline-block; padding: 3px 10px; margin-inline: 3px; border-radius: 8px; background: rgba(245,158,11,.2); color: #fbbf24; font: 700 12px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wb-clock small { color: #e2e8f0bf; font-size: 9px; line-height: 1.6; }
.admin-bar .wb-clock { top: 52px; }
.wb-shipping-panel { min-width: 0; }
.wb-shipping { padding: 0; margin: 0 0 20px; }
.wb-shipping-heading strong { font-size: 13px; font-weight: 500; }
.wb-shipping-heading p { font-size: 11px; }
.wb-round-icon { flex: 0 0 38px; background: #ecfdf5b3; }
.wb-round-icon svg { width: 22px; height: 22px; fill: none; stroke: #059669; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.wb-progress { height: 8px; margin-top: 17px; border-radius: 999px; background: rgba(226,232,240,.6); }
.wb-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#10b981,#059669); box-shadow: 0 2px 10px rgba(16,185,129,.3); transition: width .65s var(--wb-ease); }
.wb-carousel-shell { min-width: 0; margin: 0 0 28px; }
.wb-carousel-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; font-size: 11px; color: var(--wb-muted); }
.wb-carousel-controls { display: flex; gap: 5px; }
.wb-carousel-controls button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid #ffffffcc; border-radius: 50%; background: #ffffffb3; box-shadow: 0 2px 8px #0f172a05; color: var(--wb-muted); font: 400 14px var(--wb-font); cursor: pointer; }
.wb-carousel { display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 1px; padding: 1px 1px 8px; scrollbar-width: thin; scrollbar-color: #0f172a22 transparent; -webkit-overflow-scrolling: touch; }
.wb-carousel:focus-visible { outline: 2px solid #0f172a40; outline-offset: 4px; border-radius: 20px; }
.wb-cross-card { position: relative; box-sizing: border-box; flex: 0 0 88%; min-width: 0; scroll-snap-align: start; padding: 16px; border-radius: 20px; border: 1px solid #ffffffd9; background: #ffffff8c; box-shadow: 0 6px 20px #0f172a03; }
.wb-cross-card:only-child { flex-basis: 100%; }
.wb-cross-top { display: flex; gap: 13px; align-items: center; min-height: 66px; }
.wb-cross-image { flex: 0 0 54px; width: 54px; height: 64px; object-fit: cover; border-radius: 12px; }
.wb-cross-top strong { display: block; color: var(--wb-ink); font-size: 13px; font-weight: 400; }
.wb-cross-top small { display: block; margin-top: 4px; color: var(--wb-muted); font-size: 10px; line-height: 1.5; }
.wb-cross-action { display: flex; align-items: center; justify-content: center; gap: 4px; width: 100%; min-height: 40px; margin-top: 14px; padding: 9px 12px; border-radius: 12px; border: 1px solid #0f172a0b; background: #f8fafcb3; color: var(--wb-ink); font: 400 12px/1.5 var(--wb-font); cursor: pointer; transition: background .25s var(--wb-ease), transform .25s var(--wb-ease); }
.wb-cross-action:hover { background: #fff; }
.wb-cross-action:active { transform: scale(.98); }
.wb-cross-action[aria-pressed=true] { background: #ecfdf5cc; color: #047857; border-color: #10b98133; }
.wb-cross-action:focus-visible, .wb-carousel-controls button:focus-visible, .wb-cross-check:focus-visible + .wb-cross-action { outline: 2px solid var(--wb-primary); outline-offset: 3px; }
.wb-offers-pending .wb-cross-action { opacity: .55; cursor: progress; }
.wb-checkout form.checkout label.wb-offer { border-color: #0f172a0b; background: #ffffff80; }
.wb-checkout form.checkout .wb-offer:has(input:checked) { border-color: #10b98150 !important; background: #ecfdf550; box-shadow: none; }
.wb-safe-zone { background: rgba(236,253,245,.7); border: 1px solid rgba(16,185,129,.3); border-radius: 16px; padding: 16px 20px; gap: 14px; margin-top: 16px; }
.wb-safe-zone svg { width: 30px; height: 30px; flex-basis: 30px; stroke: #059669; }
.wb-safe-zone strong { color: #065f46; font-weight: 500; }
.wb-safe-zone small { color: #047857; margin-top: 3px; }
.wb-coupon { margin: 0 0 24px; font: 400 12px/1.6 var(--wb-font); }
.wb-coupon summary { color: var(--wb-muted); cursor: pointer; text-underline-offset: 4px; }
.wb-coupon summary:hover { text-decoration: underline; }
.wb-coupon > div { display: flex; gap: 8px; padding-top: 12px; }
.wb-checkout form.checkout #wb-coupon-code { box-sizing: border-box; min-width: 0; width: 100%; height: 52px; padding: 0 16px; border: 1px solid #e2e8f0cc; border-radius: 14px; background: #f8fafcb3; color: var(--wb-ink); font: 400 15px var(--wb-font); }
.wb-coupon .wb-button { width: auto; margin: 0; padding: 10px 14px; min-height: 52px; font-size: 12px; }
.wb-coupon [role=status]:empty { display: none; }
.wb-setting[hidden], .wb-preview [hidden] { display: none !important; }
.wb-admin textarea { width: 100%; min-height: 110px; border: 1px solid #e2e8f0cc; border-radius: 14px; padding: 12px; font: 400 12px/1.6 var(--wb-font); resize: vertical; }
.wb-setting:has(textarea) { grid-template-columns: minmax(0,1fr); gap: 12px; }
.wb-admin .select2-container { width: 100% !important; text-align: left; }
.wb-admin .select2-selection { border: 1px solid #e2e8f0cc; border-radius: 14px; min-height: 44px; background: #f8fafcb3; }
.wb-admin .select2-selection__rendered { padding: 7px 28px 7px 12px !important; white-space: normal !important; font-size: 12px; }
.wb-admin .select2-selection__arrow { top: 8px !important; }
.wb-setting-control { min-width: 0; }
.wb-setting label { font-weight: 400; }
.wb-settings-grid { grid-template-columns: 200px minmax(0,1fr) 292px; }
.wb-app-mark { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-bottom: 12px; border: 1px solid #ffffffcc; border-radius: 12px; background: linear-gradient(145deg,#ffffffdd,#dce6df99); color: #537064; box-shadow: 0 5px 15px #0f172a06; }
.wb-tabs { position: sticky; top: 52px; }
.wb-tabs button { border-radius: 12px; }
.wb-tabs button[aria-selected=true] { background: rgba(15,23,42,.06); color: var(--wb-ink); box-shadow: none; }
.wb-toggle input:checked + span { background: #10b981; }
.wb-panel { padding: 32px; }
.wb-preview-scene { padding: 18px 12px 14px; background: radial-gradient(ellipse at 90% 5%,#d6bda4,transparent 54%), radial-gradient(ellipse at 0 100%,#b4cbbd,transparent 52%), #e9e4dc; }
.wb-preview-toolbar { display: flex; justify-content: space-between; gap: 5px; align-items: center; margin: 0 2px 16px; font-size: 10px; color: var(--wb-muted); }
.wb-preview-toolbar > div { display: flex; padding: 3px; border-radius: 9px; background: #ffffff60; }
.wb-preview-toolbar button { padding: 4px 6px; border: 0; border-radius: 7px; background: transparent; color: var(--wb-muted); font: 400 9px var(--wb-font); cursor: pointer; }
.wb-preview-toolbar button[aria-pressed=true] { background: #fff; color: var(--wb-ink); box-shadow: 0 2px 5px #0f172a08; }
.wb-preview-device { position: relative; width: 100%; max-width: 240px; margin-inline: auto; padding: 24px 7px 7px; border-radius: 30px; border: 1px solid #ffffffb3; background: #ffffff38; box-shadow: 0 14px 32px #0f172a09; transition: max-width .3s var(--wb-ease), border-radius .3s var(--wb-ease); }
.wb-preview-island { position: absolute; top: 9px; left: 50%; transform: translateX(-50%); width: 40px; height: 5px; border-radius: 999px; background: #0f172a60; }
.wb-preview { padding: 22px 14px; border-radius: 24px; }
.wb-preview h2 { margin: 24px 0 22px; font: 350 23px/1.2 var(--wb-font); letter-spacing: -.03em; }
#wb-preview-clock { padding: 6px 10px; border-radius: 999px; background: #0f172adb; color: #fff; font: 400 8px/1.5 var(--wb-font); text-align: center; }
#wb-preview-clock b { padding: 2px 5px; border-radius: 5px; background: #f59e0b33; color: #fbbf24; margin-left: 4px; }
.wb-preview-label { margin-bottom: 8px; color: var(--wb-faint); font-size: 8px; }
.wb-preview-field { padding: 11px; margin: 0 0 8px; border: 1px solid #ffffffcc; border-radius: 10px; background: #f8fafc88; color: var(--wb-muted); font-size: 9px; }
#wb-preview-shipping { margin: 18px 0; color: #047857; font-size: 8px; }
#wb-preview-shipping i { display: block; height: 4px; width: 82%; border-radius: 999px; margin-top: 8px; background: linear-gradient(90deg,#10b981,#059669); box-shadow: 0 1px 8px #10b98120; }
.wb-preview-line { padding: 14px 0; font-size: 9px; }
.wb-preview-line strong { font-weight: 500; }
#wb-preview-offer { padding: 10px; border: 1px solid #ffffffb3; border-radius: 12px; margin: 0 0 8px; background: #ffffff50; color: var(--wb-muted); font-size: 9px; overflow-wrap: anywhere; }
.wb-preview-button { min-height: 38px; margin: 4px 0 10px; padding: 10px; border-radius: 12px; font-size: 10px; }
#wb-preview-trust { padding: 10px 5px; border: 1px solid #10b98133; border-radius: 10px; background: #ecfdf5b3; color: #047857; font-size: 8px; text-align: center; }
.wb-preview-caption { margin: 16px 6px 0; color: var(--wb-muted); font-size: 10px; line-height: 1.6; }
.wb-preview-device[data-device=desktop] { max-width: 100%; padding-top: 18px; border-radius: 16px; }
.wb-preview-device[data-device=desktop] .wb-preview-island { top: 8px; width: 18px; height: 3px; }
.wb-preview-device[data-device=desktop] .wb-preview { padding: 14px 10px; border-radius: 12px; }
.wb-preview-device[data-device=desktop] h2 { font-size: 18px; }
.wb-preview-device[data-device=desktop] .wb-preview-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wb-preview-device[data-device=desktop] .wb-preview-field { font-size: 7px; padding: 9px 6px; }
.wb-preview-device[data-device=desktop] .wb-preview-line { flex-direction: column; gap: 2px; font-size: 8px; }
.wb-preview-device[data-device=desktop] .wb-preview-button { font-size: 8px; padding: 8px 4px; }
.wb-preview-device[data-device=desktop] #wb-preview-shipping { margin-top: 0; }
#wb-social { position: fixed; left: 20px; bottom: 22px; z-index: 9998; display: flex; align-items: center; gap: 12px; width: min(350px,calc(100vw - 40px)); box-sizing: border-box; padding: 16px; border: 1px solid #ffffffcc; border-radius: 24px; background: #ffffffcc; backdrop-filter: blur(24px) saturate(190%); -webkit-backdrop-filter: blur(24px) saturate(190%); box-shadow: 0 16px 40px #0f172a0f, inset 0 1px #ffffffee; color: var(--wb-ink); font: 400 13px/1.5 var(--wb-font); animation: wb-reveal .3s var(--wb-ease); }
#wb-social[hidden] { display: none; }
#wb-social > span { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; background: #ecfdf5; color: #059669; font-size: 20px; }
#wb-social small { color: var(--wb-faint); font-size: 10px; }
#wb-social p { margin: 4px 0 0; }
#wb-social > button { flex: 0 0 24px; align-self: start; padding: 0; border: 0; background: transparent; color: var(--wb-muted); font-size: 22px; cursor: pointer; }
@keyframes wb-reveal { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 993px) { .wb-summary { top: calc(var(--wb-clock-height) + 48px); } .admin-bar .wb-summary { top: calc(var(--wb-clock-height) + 80px); } }
@media (max-width: 1280px) { .wb-settings-grid { grid-template-columns: 180px minmax(0,1fr); } }
@media (max-width: 782px) { .admin-bar .wb-clock { top: 66px; } .wb-settings-grid { grid-template-columns: minmax(0,1fr); } .wb-tabs { position: static; } }
@media (max-width: 767px) {
    .wb-checkout .wb-intro h1 { font-size: 36px; }
    .wb-main, .wb-summary { padding: 24px 20px; }
    .wb-checkout form.checkout input.input-text, .wb-checkout form.checkout textarea.input-text, .wb-checkout form.checkout select, .wb-checkout form.checkout #wb-coupon-code { font-size: 16px; }
    .wb-clock { top: 12px; gap: 9px; max-width: calc(100vw - 24px); padding: 10px 16px 10px 10px; font-size: 11px; }
    .wb-clock-orb { width: 32px; height: 32px; flex-basis: 32px; }
    .wb-mobile-bar:not([hidden]) { left: 12px; right: 12px; bottom: max(10px,env(safe-area-inset-bottom)); width: auto; padding: 12px 14px; border: 1px solid #ffffffcc; border-radius: 22px; background: #ffffffdf; box-shadow: 0 8px 32px #0f172a14; }
    .wb-mobile-bar .wb-button { min-height: 44px; padding: 12px 16px; font-size: 12px; }
    .wb-bar-spacer { height: calc(var(--wb-bar-height) + 28px + env(safe-area-inset-bottom)); }
    #wb-social { bottom: calc(var(--wb-bar-height) + 32px); left: 12px; width: min(350px,calc(100vw - 24px)); }
}
@media (max-width: 600px) { .admin-bar .wb-clock { top: 56px; } }
@media (prefers-reduced-motion: reduce) { .wb-checkout *, .wb-admin *, #wb-social { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media print { .wb-clock, #wb-social, .wb-carousel-controls { display: none !important; } .wb-checkout.wb-has-clock { padding-top: 0; } }
/* v1.6: isolated frontend typography and predictable timer spacing. */
@font-face { font-family: 'WooBoost Inter'; src: url('../fonts/InterVariable.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; }
body.wb-checkout { --wb-font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'WooBoost Inter', sans-serif; padding-top: 0 !important; }
body.wb-checkout .woocommerce, body.wb-checkout .woocommerce input, body.wb-checkout .woocommerce button, body.wb-checkout .woocommerce select, body.wb-checkout .woocommerce textarea, body.wb-checkout .wb-intro h1, body.wb-checkout .wb-clock, body.wb-checkout .wb-clock *, body.wb-checkout .wb-mobile-bar { font-family: var(--wb-font) !important; font-style: normal !important; }
body.wb-checkout .wb-intro h1 { font-weight: 200 !important; font-size: clamp(32px,4vw,52px) !important; line-height: 1.14 !important; letter-spacing: -.045em !important; color: #0f172a !important; }
body.wb-checkout .woocommerce h2, body.wb-checkout .woocommerce h3 { font-family: var(--wb-font) !important; font-weight: 350 !important; letter-spacing: -.035em !important; }
body.wb-checkout .woocommerce label { font-family: var(--wb-font) !important; font-weight: 400; }
body.wb-checkout .wb-clock { position: fixed !important; top: 16px !important; left: 50% !important; transform: translateX(-50%) !important; width: max-content !important; max-width: min(640px,calc(100vw - 32px)) !important; min-height: 48px; margin: 0 !important; padding: 12px 22px !important; border-radius: 28px !important; display: block !important; background: var(--wb-timer-bg,#0f172a) !important; color: var(--wb-timer-text,#fff) !important; box-shadow: 0 8px 24px #0f172a1a !important; box-sizing: border-box; z-index: 9999; }
body.wb-checkout .wb-clock[hidden], .wb-clock-spacer[hidden] { display: none !important; }
body.wb-checkout.admin-bar .wb-clock { top: 48px !important; }
body.wb-checkout .wb-clock-copy { display: block !important; text-align: center !important; font-size: 13px !important; font-weight: 400 !important; line-height: 1.8 !important; letter-spacing: -.015em !important; overflow-wrap: anywhere; }
body.wb-checkout .wb-clock [data-clock] { display: inline-block !important; margin: 0 4px !important; padding: 3px 9px !important; border-radius: 9px !important; font-family: var(--wb-font) !important; font-weight: 600 !important; font-size: 14px !important; line-height: 1.4 !important; font-variant-numeric: tabular-nums; letter-spacing: .015em !important; color: var(--wb-timer-accent,#fbbf24) !important; background: #ffffff12 !important; white-space: nowrap; }
body.wb-checkout .wb-clock-spacer { display: block; height: calc(var(--wb-clock-height,60px) + 40px); min-height: 88px; width: 100%; }
body.wb-checkout .wb-intro { margin-top: 0 !important; }
body.wb-checkout .wb-carousel { scrollbar-width: none; gap: 12px; padding: 4px 0 8px; scroll-padding-inline: 0; }
body.wb-checkout .wb-carousel::-webkit-scrollbar { display: none; }
body.wb-checkout .wb-cross-card { flex: 0 0 100%; width: 100%; min-width: 0; padding: 18px; border: 1px solid #e6e9ed; border-radius: 18px; background: #ffffffb8; box-shadow: 0 3px 12px #0f172a03; box-sizing: border-box; }
body.wb-checkout .wb-cross-card img { width: 60px; height: 60px; border-radius: 12px; object-fit: contain; }
body.wb-checkout .wb-cross-action { border-radius: 12px; min-height: 44px; font-size: 13px; font-weight: 500; background: #f5f7fa; border: 1px solid #e7eaf0; box-shadow: none; }
body.wb-checkout .wb-cross-action[aria-pressed=true] { background: #ecfdf5; border-color: #10b981; color: #047857; }
body.wb-checkout .wb-offer { border-radius: 18px; border: 1px solid #e6e9ed; box-shadow: none; }
body.wb-separate-shipping #ship-to-different-address-checkbox { display: none !important; }
body.wb-separate-shipping #ship-to-different-address label { pointer-events: none; }
body.wb-separate-shipping .shipping_address { display: block !important; }
.wb-admin #wb-preview-clock { background: var(--wb-timer-bg,#0f172a); color: var(--wb-timer-text,#fff); }
.wb-admin #wb-preview-clock b { color: var(--wb-timer-accent,#fbbf24); }
@media(max-width:782px) { body.wb-checkout.admin-bar .wb-clock { top: 58px !important; } body.wb-checkout .wb-clock { padding: 10px 16px !important; } body.wb-checkout .wb-clock-copy { font-size: 12px !important; } }
@media(prefers-reduced-motion:reduce) { body.wb-checkout .wb-carousel { scroll-behavior: auto; } }
body.wb-checkout.wb-has-clock { padding-top: calc(var(--wb-clock-height,60px) + 32px) !important; }
body.wb-checkout .wb-clock-spacer { height: 0; min-height: 0; }
body.wb-checkout .wb-shipping-title { display: block !important; margin: 28px 0 18px; font-size: 22px; }
body.wb-separate-shipping #ship-to-different-address { display: none !important; }
.wb-admin .wb-setting .select2-container .select2-selection { border: 1px solid #e2e8f0 !important; border-radius: 14px !important; background: #ffffffc9 !important; min-height: 52px; box-shadow: none; }
.wb-admin .wb-setting .select2-container .select2-selection__choice { background: #eef2f6 !important; border: 0 !important; border-radius: 8px !important; padding: 5px 9px !important; color: #334155; }
.wb-admin .wb-setting .select2-search__field { min-height: 28px; box-shadow: none !important; }
/* v1.7 shared visual system: the preview and the real checkout use the same font and tokens. */
.wb-admin, .wb-preview, #wooboost-checkout, #wb-oto-dialog, body.wb-checkout .wb-clock, body.wb-checkout .wb-mobile-bar { --wb-font: 'WooBoost Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif; font-family: 'WooBoost Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif !important; -webkit-font-smoothing: antialiased; }
body.wb-checkout, body.wb-checkout.wb-glass { background: var(--wb-background,#f5f5f7) !important; }
#wooboost-checkout, #wooboost-checkout * { font-family: 'WooBoost Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif !important; }
#wooboost-checkout { color: var(--wb-ink); }
#wooboost-checkout .wb-intro h1, .wb-admin .wb-preview h2 { font-family: 'WooBoost Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif !important; font-weight: 400 !important; letter-spacing: -.045em !important; line-height: 1.18 !important; color: var(--wb-ink) !important; }
#wooboost-checkout .wb-intro h1 { font-size: clamp(30px,3.1vw,42px) !important; }
#wooboost-checkout h2, #wooboost-checkout h3 { font-weight: 450 !important; color: var(--wb-ink) !important; }
#wooboost-checkout .wb-card, .wb-admin .wb-preview { background: var(--wb-card) !important; border: 1px solid var(--wb-border); border-radius: 28px; box-shadow: 0 16px 48px #00000005; }
#wooboost-checkout form.checkout .input-text, #wooboost-checkout form.checkout select, #wooboost-checkout form.checkout textarea, #wooboost-checkout .select2-selection--single, .wb-admin .wb-preview-field { border: 1px solid var(--wb-border) !important; background: var(--wb-input) !important; color: var(--wb-ink) !important; border-radius: 20px !important; box-shadow: none; }
#wooboost-checkout form.checkout .input-text:focus, #wooboost-checkout form.checkout select:focus, #wooboost-checkout form.checkout textarea:focus { border-color: var(--wb-primary) !important; box-shadow: 0 0 0 3px color-mix(in srgb,var(--wb-primary) 12%,transparent) !important; outline: 0; }
#wooboost-checkout form.checkout label, #wooboost-checkout .wb-coupon summary, #wooboost-checkout .wb-cross-top small, #wooboost-checkout small, .wb-admin .wb-preview-label, .wb-admin .wb-preview-field { color: var(--wb-muted); }
#wooboost-checkout #place_order, #wooboost-checkout .wb-button, #wb-oto-dialog .wb-button, .wb-admin .wb-preview-button, body.wb-checkout .wb-mobile-bar .wb-button { border-radius: 999px !important; background: var(--wb-primary) !important; color: var(--wb-on-primary) !important; min-height: 52px; border: 0; }
#wooboost-checkout .wb-cross-action { border-radius: 999px; background: var(--wb-input); color: var(--wb-ink); border-color: var(--wb-border); }
#wooboost-checkout .wb-cross-card, #wooboost-checkout .wb-offer { background: var(--wb-card); border-color: var(--wb-border); border-radius: 24px; }
#wooboost-checkout .select2-selection__rendered, #wooboost-checkout .woocommerce-checkout-review-order-table, #wooboost-checkout .woocommerce-Price-amount { color: var(--wb-ink) !important; }
#wooboost-checkout #payment .payment_box, #wooboost-checkout #payment li.wc_payment_method { background: var(--wb-input) !important; color: var(--wb-ink) !important; border-color: var(--wb-border); border-radius: 20px; }
.wb-admin .wb-preview-scene { background: var(--wb-background); }
.wb-admin .wb-preview { color: var(--wb-ink); }
body.wb-checkout .wb-clock { top: 0 !important; left: 0 !important; transform: none !important; width: 100% !important; max-width: none !important; border-radius: 0 !important; border: 0 !important; min-height: 44px; padding: 8px 24px !important; box-shadow: 0 1px 8px #00000006 !important; }
body.wb-checkout .wb-clock-copy { max-width: 1160px; margin: auto; font-size: 13px !important; letter-spacing: -.01em !important; }
body.wb-checkout .wb-clock [data-clock] { border-radius: 7px !important; padding: 2px 7px !important; }
body.wb-checkout.admin-bar .wb-clock { top: 32px !important; }
body.wb-checkout.wb-has-clock { padding-top: var(--wb-clock-height,44px) !important; }
.wb-admin #wb-preview-clock { border-radius: 8px; padding: 5px 8px; }
#wooboost-checkout .wb-consent { margin: 20px 0; padding-top: 16px; border-top: 1px solid var(--wb-border); font-size: 12px; color: var(--wb-muted); }
#wooboost-checkout .wb-consent summary { cursor: pointer; padding: 6px 0; }
#wooboost-checkout .wb-consent p { margin: 12px 0; line-height: 1.6; }
#wooboost-checkout .wb-consent label { font-size: 12px; }
#wb-oto-dialog { box-sizing: border-box; width: min(480px,calc(100vw - 32px)); max-height: calc(100dvh - 48px); margin: auto; padding: 36px; border: 1px solid var(--wb-border); border-radius: 28px; background: var(--wb-card); color: var(--wb-ink); box-shadow: 0 32px 100px #00000030; overflow-y: auto; }
#wb-oto-dialog:not([open]) { display: none; }
#wb-oto-dialog::backdrop { background: #11182760; backdrop-filter: blur(8px); }
#wb-oto-dialog h2 { font: 450 30px/1.16 'WooBoost Inter',sans-serif; letter-spacing: -.045em; margin: 14px 0; color: var(--wb-ink); }
#wb-oto-dialog p { font-size: 14px; line-height: 1.65; color: var(--wb-muted); }
#wb-oto-dialog button { font-family: inherit; cursor: pointer; }
#wb-oto-dialog .wb-oto-close { position: absolute; right: 14px; top: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--wb-input); color: var(--wb-muted); font-size: 24px; line-height: 1; }
#wb-oto-dialog .wb-oto-product { display: flex; align-items: center; gap: 18px; padding: 18px; margin: 24px 0; background: var(--wb-input); border: 1px solid var(--wb-border); border-radius: 22px; }
#wb-oto-dialog .wb-oto-product img { width: 76px; height: 76px; object-fit: contain; border-radius: 16px; }
#wb-oto-dialog h3 { font-size: 15px; font-weight: 500; line-height: 1.4; margin: 0 0 8px; color: var(--wb-ink); }
#wb-oto-dialog strong { font-size: 22px; font-weight: 550; }
#wb-oto-dialog small { display: block; font-size: 11px; color: var(--wb-muted); margin-top: 8px; line-height: 1.5; }
#wb-oto-dialog .wb-button { width: 100%; padding: 14px 20px; font-size: 14px; font-weight: 600; }
#wb-oto-dialog .wb-oto-skip { width: 100%; margin-top: 8px; padding: 14px; border: 0; background: transparent; color: var(--wb-muted); font-size: 13px; border-radius: 999px; }
#wb-oto-dialog .wb-oto-footnote { text-align: center; }
#wb-oto-dialog button:focus-visible { outline: 3px solid var(--wb-primary); outline-offset: 3px; }
#wb-oto-dialog button:disabled { opacity: .55; cursor: wait; }
#wooboost-checkout .wb-oto-remove { border: 0; background: transparent; color: var(--wb-muted); text-decoration: underline; font-size: 12px; padding: 8px 0; cursor: pointer; }
form.wb-oto-busy { pointer-events: none; }
@media(max-width:782px) { body.wb-checkout.admin-bar .wb-clock { top: 46px !important; } #wb-oto-dialog { padding: 28px 22px; } }
@media print { body.wb-checkout .wb-clock, #wb-oto-dialog { display: none !important; } body.wb-checkout.wb-has-clock { padding-top: 0 !important; } }
@supports (background:color-mix(in srgb,white 88%,transparent)) { body.wb-glass #wooboost-checkout .wb-card, .wb-admin.wb-glass .wb-preview { background: color-mix(in srgb,var(--wb-card) 88%,transparent) !important; } }
/* v1.8: order-received page, retaining native gateway and download hooks. */
body.wb-thankyou { background: var(--wb-background,#f5f5f7) !important; }
body.wb-thankyou main, body.wb-thankyou .entry-content { background: transparent; }
body.wb-thankyou .entry-title, body.wb-thankyou .wp-block-post-title { display: none; }
#wb-thanks, #wb-thanks * { box-sizing: border-box; font-family: 'WooBoost Inter',-apple-system,BlinkMacSystemFont,'SF Pro Text',sans-serif !important; }
#wb-thanks { max-width: 1040px; margin: 24px auto 64px; color: var(--wb-ink); line-height: 1.65; }
#wb-thanks.wb-thanks-compact { max-width: 720px; }
#wb-thanks .wb-thanks-hero { text-align: center; padding: 32px 20px 42px; }
#wb-thanks .wb-thanks-icon { display: grid; place-items: center; margin: 0 auto 20px; width: 64px; height: 64px; border-radius: 22px; background: var(--wb-card); color: var(--wb-primary); box-shadow: 0 8px 28px #00000005; }
#wb-thanks .wb-thanks-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
#wb-thanks h1 { font-size: clamp(30px,4vw,44px) !important; font-weight: 400 !important; line-height: 1.16 !important; letter-spacing: -.045em !important; margin: 0 0 14px; color: var(--wb-ink) !important; }
#wb-thanks h2, #wb-thanks h3 { font-weight: 450; font-size: 21px; letter-spacing: -.03em; color: var(--wb-ink); margin: 0 0 20px; }
#wb-thanks .wb-thanks-hero p { color: var(--wb-muted); font-size: 15px; margin: 0 auto 18px; max-width: 560px; }
#wb-thanks .wb-thanks-status { display: inline-block; padding: 6px 14px; border-radius: 999px; background: var(--wb-input); border: 1px solid var(--wb-border); font-size: 12px; color: var(--wb-ink); }
#wb-thanks .woocommerce-order { display: grid; grid-template-columns: 1fr; gap: 22px; }
#wb-thanks .woocommerce-notice--success { display: none; }
#wb-thanks .woocommerce-order-overview, #wb-thanks .woocommerce-order-details, #wb-thanks .woocommerce-customer-details, #wb-thanks .woocommerce-order-downloads, #wb-thanks .woocommerce-bacs-bank-details { margin: 0 !important; padding: 28px; background: var(--wb-card); border: 1px solid var(--wb-border); border-radius: 26px; min-width: 0; box-shadow: 0 12px 36px #00000004; }
#wb-thanks ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; list-style: none; }
#wb-thanks ul.woocommerce-order-overview::before, #wb-thanks ul.woocommerce-order-overview::after { display: none; }
#wb-thanks ul.woocommerce-order-overview li { float: none; border: 0; padding: 0; margin: 0; font-size: 11px; color: var(--wb-muted); text-transform: none; overflow-wrap: anywhere; }
#wb-thanks ul.woocommerce-order-overview strong { display: block; font-weight: 500; font-size: 15px; color: var(--wb-ink); margin-top: 5px; }
#wb-thanks table.shop_table { width: 100%; border: 0; border-collapse: collapse; border-radius: 0; margin: 0; font-size: 13px; background: transparent; }
#wb-thanks table.shop_table th, #wb-thanks table.shop_table td { border: 0; border-bottom: 1px solid var(--wb-border); padding: 15px 0; background: transparent; color: var(--wb-ink); overflow-wrap: anywhere; }
#wb-thanks table.shop_table th { font-weight: 500; }
#wb-thanks table.shop_table td:last-child, #wb-thanks table.shop_table th:last-child { text-align: right; padding-left: 16px; }
#wb-thanks table.shop_table tfoot tr:last-child th, #wb-thanks table.shop_table tfoot tr:last-child td { border: 0; font-size: 17px; font-weight: 550; }
#wb-thanks a { color: var(--wb-primary); text-underline-offset: 3px; }
#wb-thanks address { border: 0; padding: 0; font-style: normal; font-size: 13px; color: var(--wb-muted); }
#wb-thanks .woocommerce-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
#wb-thanks .woocommerce-column { width: auto; float: none; }
#wb-thanks .woocommerce-columns::before, #wb-thanks .woocommerce-columns::after { display: none; }
#wb-thanks .wb-thanks-footer { text-align: center; margin-top: 32px; }
#wb-thanks .wb-thanks-button, #wb-thanks a.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 0; border-radius: 999px; padding: 15px 26px; background: var(--wb-primary); color: var(--wb-on-primary); font-size: 14px; font-weight: 550; text-decoration: none; }
#wb-thanks .wb-thanks-button:focus-visible { outline: 3px solid var(--wb-primary); outline-offset: 4px; }
#wb-thanks.wb-hide-overview .woocommerce-order-overview, #wb-thanks.wb-hide-products .woocommerce-order-details > .woocommerce-order-details__title, #wb-thanks.wb-hide-products .woocommerce-order-details > table, #wb-thanks.wb-hide-addresses .woocommerce-customer-details { display: none !important; }
#wb-thanks.wb-hide-products .woocommerce-order-details { padding: 0; border: 0; background: transparent; box-shadow: none; }
@media(min-width:900px) { #wb-thanks.wb-thanks-cards .woocommerce-order { grid-template-columns: minmax(0,.85fr) minmax(0,1.3fr); align-items: start; } #wb-thanks.wb-thanks-cards .woocommerce-order > * { grid-column: 1 / -1; } #wb-thanks.wb-thanks-cards .woocommerce-order > .woocommerce-order-overview { grid-column: 1; } #wb-thanks.wb-thanks-cards:not(.wb-hide-overview) .woocommerce-order > .woocommerce-order-details { grid-column: 2; } }
@media(max-width:600px) { #wb-thanks { margin-top: 8px; } #wb-thanks .wb-thanks-hero { padding: 24px 12px 28px; } #wb-thanks .woocommerce-order-overview, #wb-thanks .woocommerce-order-details, #wb-thanks .woocommerce-customer-details, #wb-thanks .woocommerce-order-downloads, #wb-thanks .woocommerce-bacs-bank-details { padding: 22px; } #wb-thanks .woocommerce-columns { grid-template-columns: 1fr; } #wb-thanks table.shop_table { font-size: 12px; } }
@media(min-width:900px) { #wb-thanks.wb-thanks-cards .woocommerce-order > .woocommerce-order-overview, #wb-thanks.wb-thanks-cards:not(.wb-hide-overview) .woocommerce-order > .woocommerce-order-details { grid-row: 1; } }
.wb-thanks-preview { display: none; }
.wb-preview-thanks .wb-preview > :not(.wb-thanks-preview) { display: none !important; }
.wb-preview-thanks .wb-thanks-preview { display: block; text-align: center; }
.wb-thanks-preview .wb-preview-thanks-icon { margin: 8px auto 18px; border-radius: 16px; width: 42px; height: 42px; display: grid; place-items: center; background: var(--wb-input); color: var(--wb-primary); font-size: 22px; }
.wb-thanks-preview h2 { margin-top: 0 !important; }
.wb-thanks-preview p { font-size: 11px; color: var(--wb-muted); line-height: 1.6; margin-bottom: 16px; }
.wb-thanks-preview small { display: inline-block; font-size: 9px; margin-bottom: 20px; color: var(--wb-muted); }
.wb-thanks-preview .wb-preview-button { margin-top: 20px; }
/* Order confirmation in block themes: keep WooCommerce authentication and blocks. */
#wb-thanks.wb-thanks-blocks { max-width:1080px; margin:32px auto; padding:24px; }
#wb-thanks.wb-thanks-blocks main { margin:0; padding:0; max-width:none; }
#wb-thanks.wb-thanks-blocks .wc-block-order-confirmation-status { text-align:center; margin:24px auto 36px; }
#wb-thanks.wb-thanks-blocks h1 { font-family:"WooBoost Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; font-weight:300!important; letter-spacing:-.04em; font-size:clamp(30px,5vw,48px); line-height:1.14; }
#wb-thanks.wb-thanks-blocks.wb-thanks-compact { max-width:720px; }
#wb-thanks.wb-thanks-blocks > .wb-thanks-status { display:table; margin:0 auto; }
#wb-thanks .wp-block-woocommerce-order-confirmation-create-account { background:var(--wb-card,#fff)!important; border:1px solid var(--wb-border,#e5e7eb); border-radius:24px; padding:24px; }
#wb-thanks .wp-block-woocommerce-order-confirmation-create-account button { border-radius:999px; background:var(--wb-primary); color:var(--wb-on-primary); }
#wb-thanks.wb-thanks-blocks .wc-block-order-confirmation-summary,
#wb-thanks.wb-thanks-blocks .wp-block-woocommerce-order-confirmation-totals-wrapper,
#wb-thanks.wb-thanks-blocks .wc-block-order-confirmation-address-wrapper,
#wb-thanks.wb-thanks-blocks .wp-block-woocommerce-order-confirmation-downloads-wrapper { padding:24px; border:1px solid var(--wb-border,#e5e7eb); border-radius:24px; background:var(--wb-card,#fff); box-shadow:0 12px 40px #16221b08; margin:20px 0; }
#wb-thanks.wb-thanks-blocks table { width:100%; border-collapse:collapse; }
#wb-thanks.wb-thanks-blocks th,#wb-thanks.wb-thanks-blocks td { padding:14px 8px; border-bottom:1px solid var(--wb-border,#e5e7eb); }
#wb-thanks.wb-thanks-blocks.wb-hide-overview .wp-block-woocommerce-order-confirmation-summary,
#wb-thanks.wb-thanks-blocks.wb-hide-products .wp-block-woocommerce-order-confirmation-totals-wrapper,
#wb-thanks.wb-thanks-blocks.wb-hide-addresses .wc-block-order-confirmation-address-wrapper { display:none; }
#wb-thanks.wb-thanks-blocks.wb-thanks-compact main > * { box-shadow:none; }
@media(max-width:600px){#wb-thanks.wb-thanks-blocks{padding:16px;margin:16px auto}#wb-thanks.wb-thanks-blocks .wc-block-order-confirmation-summary{padding:18px}#wb-thanks.wb-thanks-blocks th,#wb-thanks.wb-thanks-blocks td{overflow-wrap:anywhere}}
#wb-social { pointer-events:none; }
#wb-social button { pointer-events:auto; }
@media(max-width:600px){body.wb-checkout #wb-social{display:none!important}}
