/* lsbb-critical (checkout). Captured from mybirdbuddy.com on 2026-10-29. Read-only: override in a variant instead of editing. */
/* Critical CSS - Default (all pages) */
/* Inlined in <head> for instant first paint */
/* Colors are controlled via render.php inline <style> custom properties */

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.6;color:#1A1A1A;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
[x-cloak]{display:none!important}

/* Header critical — structure only, no colors */
.lsbb-site-header{position:absolute;top:0;left:0;right:0;z-index:100;padding:30px 0}
.lsbb-site-header--solid{position:relative}
.lsbb-site-header--scrolled{position:fixed;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.lsbb-site-header__inner{max-width:1440px;margin:0 auto;padding:0 50px;display:flex;align-items:center}
.lsbb-site-header__logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;margin-right:37px}
.lsbb-site-header__logo svg{width:180px;height:auto}
.lsbb-site-header__nav{display:flex;align-items:center;gap:48px;margin-left:auto}
.lsbb-site-header__nav a{font-size:1rem;font-weight:400;text-decoration:none}
.lsbb-site-header__actions{display:flex;align-items:center;gap:24px;margin-left:64px}
.lsbb-site-header__actions a{display:flex;align-items:center;text-decoration:none}
.lsbb-site-header__cart{position:relative}
.lsbb-site-header__cart-badge{position:absolute;top:-6px;right:-8px;font-size:.625rem;font-weight:700;width:18px;height:18px;border-radius:9999px;display:flex;align-items:center;justify-content:center}
.lsbb-site-header__mobile-toggle{display:none}
@media(max-width:1023px){.lsbb-site-header__nav{display:none}.lsbb-site-header__mobile-toggle{display:flex;flex-direction:column;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:0;order:-1;margin-left:0}.lsbb-site-header__mobile-toggle span{display:block;width:22px;height:2px;background:currentColor;border-radius:1px}.lsbb-site-header__logo{order:0;flex:1;text-align:center;margin-right:0}.lsbb-site-header__actions{order:1;margin-left:0;gap:16px}.lsbb-site-header__actions svg{width:20px;height:20px}.lsbb-site-header__inner{padding:0 16px}}
/* Critical CSS - Checkout page (above-the-fold layout, inlined) */

body.woocommerce-checkout{overflow-x:clip}

/* Full-viewport 50/50 background split (left #F3F1EE, right #F9F8F7). Scoped to
   the checkout proper — the order-received page has its own page type + CSS. */
body.woocommerce-checkout:not(.woocommerce-order-received){
    background:linear-gradient(to right,#F3F1EE 0 50%,#F9F8F7 50% 100%)
}

/* Site header/footer + site-title are prevented from RENDERING on checkout via a
   render_block filter (LSBB_WooCommerce_Cart::suppress_checkout_chrome_blocks) —
   no CSS hide needed. The minimal chrome is rendered by BBCE_Chrome. */

/* Checkout chrome (markup from BBCE_Chrome) =================================*/
.lsbb-co-header{width:100%;padding-top:33px;background:transparent}
.lsbb-co-header__inner{max-width:1440px;margin:0 auto;padding:0 50px;height:48px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}
.lsbb-co-header__logo{display:inline-flex;align-items:center;text-decoration:none}
.lsbb-co-header__logo img{width:180px;height:48px;object-fit:contain;display:block}
.lsbb-co-header__logo-text{font-family:"AwesomeSerif",Georgia,serif;font-size:24px;font-weight:700;color:#003333}
.lsbb-co-header__account{display:inline-flex;align-items:center;color:#000}
.lsbb-co-header__account svg{width:29px;height:31px;display:block}
@media(max-width:900px){.lsbb-co-header__inner{padding:0 16px}}

body.lsbb-checkout{padding-bottom:0}
/* margin-bottom:-1px swallows a sub-pixel beige sliver: fractional content height above
   lands the footer top on a non-integer Y, so the body bg paints ~1px below the footer. */
.lsbb-co-footer{width:100%;max-width:1440px;margin:48px auto -1px;background:#003333;color:#fff;border-radius:48px 48px 0 0;overflow:hidden}
.lsbb-co-footer__inner{max-width:1440px;margin:0 auto;padding:48px 50px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-sizing:border-box;font-family:Inter,system-ui,sans-serif;font-size:12px}
.lsbb-co-footer__legal{color:#fff;font-size:12px;line-height:14.5px}
.lsbb-co-footer .bbce-pay-icons{gap:8px;margin:0;flex-wrap:nowrap}
.lsbb-co-footer .bbce-pay-icons__i{width:35px;height:24px;background:#fff;border-radius:4px;padding:5px;box-sizing:border-box;object-fit:contain}
@media(max-width:900px){.lsbb-co-footer__inner{padding:24px 16px;flex-direction:column;text-align:center}}

/* Defeat nested FSE `layout: constrained` wrappers on checkout. Same pattern as cart —
   page.html stacks `is-layout-constrained` on main + .wp-block-post-content, which
   forces a max-width:1340 auto-centered box. We span our checkout shell full-width
   and re-impose 1440 only on .lsbb-checkout__inner. */
body.woocommerce-checkout main.wp-block-group,
body.woocommerce-checkout .wp-block-post-content,
body.woocommerce-checkout .wp-block-post-content.is-layout-constrained,
body.woocommerce-checkout main.wp-block-group.is-layout-constrained{
    max-width:none !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
}
body.woocommerce-checkout main.wp-block-group > *,
body.woocommerce-checkout .wp-block-post-content > *{
    max-width:none !important;
}

/* Suppress the page-content <h1 class="wp-block-post-title">Checkout</h1> block. */
body.woocommerce-checkout h1.wp-block-post-title,
body.woocommerce-checkout .wp-block-post-title{display:none}

/* Shell + inner ===========================================================*/
/* 0.6.104 — was `.lsbb-checkout{…padding:71px 0 80px}`: after the wrapper was renamed
   `-shell` that selector only matched <body class="lsbb-checkout"> and pushed the whole
   page (header included) down 71px. The header→content gap is the shell margin below. */
.lsbb-checkout-shell{width:100%;background:transparent;min-height:60vh;box-sizing:border-box}
/* Hide the leftover FSE site-header template part (BBCE renders its own checkout
   header) and set a clean 71px gap between that header and the content shell. */
body.woocommerce-checkout .wp-site-blocks > header.wp-block-template-part{display:none}
body.woocommerce-checkout .lsbb-checkout-shell{margin-top:71px}
.lsbb-checkout__inner{max-width:1440px;margin-left:auto;margin-right:auto;padding:0;box-sizing:border-box}

/* 50/50 grid: left = customer details + payment, right = order summary. The
   grid centre aligns with the viewport centre (= the background split). */
.lsbb-checkout__form{display:grid;grid-template-columns:1fr 1fr;align-items:start}
.lsbb-checkout__left{min-width:0;padding:0 50px}
.lsbb-checkout__right{min-width:0;padding:0 50px 0 113px;align-self:start}
/* 0.6.111 — WC checkout.js prepends .woocommerce-NoticeGroup (checkout errors) as a
   direct child of form.checkout. In a 2-column grid that became a third grid item:
   the notice took row 1 / col 1, the form slid to col 2 and the order summary
   dropped to row 2 — a screen of empty space. Span the notice across both columns. */
.lsbb-checkout__form>.woocommerce-NoticeGroup{grid-column:1/-1;min-width:0;padding:0 50px;margin:0 0 32px}
.lsbb-checkout__form>.woocommerce-NoticeGroup .woocommerce-error,
.lsbb-checkout__form>.woocommerce-NoticeGroup .woocommerce-message,
.lsbb-checkout__form>.woocommerce-NoticeGroup .woocommerce-info{margin:0}
@media(max-width:900px){
    body.woocommerce-checkout:not(.woocommerce-order-received){background:#F3F1EE}
    body.woocommerce-checkout .lsbb-checkout-shell{margin-top:32px}
    .lsbb-checkout__form{grid-template-columns:1fr;gap:32px}
    .lsbb-checkout__left,.lsbb-checkout__right{padding:0 16px}
    .lsbb-checkout__right{order:-1}
    .lsbb-checkout__form>.woocommerce-NoticeGroup{order:-2;padding:0 16px;margin:0}
}

/* Left-column 3-step accordion ===========================================
   The right-column order summary is ALWAYS visible. data-step (set by
   modules/checkout.js) reveals the active step's body; completed steps collapse
   to a summary (__view) with an Edit link. Single submitted form for WC. */
.lsbb-co-email__view,.lsbb-co-address__view{display:none}
.lsbb-co-address,.lsbb-co-payment{display:none}

.lsbb-checkout-shell[data-step="address"] .lsbb-co-email__edit,
.lsbb-checkout-shell[data-step="payment"] .lsbb-co-email__edit,
.lsbb-checkout-shell[data-step="payment"] .lsbb-co-address__edit{display:none}

.lsbb-checkout-shell[data-step="address"] .lsbb-co-email__view,
.lsbb-checkout-shell[data-step="payment"] .lsbb-co-email__view{display:flex}
.lsbb-checkout-shell[data-step="payment"] .lsbb-co-address__view{display:block}

.lsbb-checkout-shell[data-step="address"] .lsbb-co-address,
.lsbb-checkout-shell[data-step="payment"] .lsbb-co-address,
.lsbb-checkout-shell[data-step="payment"] .lsbb-co-payment{display:block}

/* Step sections — 48px gaps, headings, continue buttons ==================*/
.lsbb-co-step{margin-top:48px}
.lsbb-co-email{margin-top:0}
.lsbb-co-step__title{font-family:Inter,system-ui,sans-serif;font-size:22px;font-weight:700;color:#003333;line-height:1.2;margin:0 0 24px}

.lsbb-co-btn{
    display:block;width:100%;margin-top:24px;
    background:#003333;color:#fff;border:0;border-radius:999px;
    padding:16px 24px;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:700;
    line-height:1.2;text-align:center;cursor:pointer;transition:background .15s
}
.lsbb-co-btn:hover{background:#0a8a4d}

.lsbb-co-email__login{font-family:Inter,system-ui,sans-serif;font-size:14px;color:#333;text-align:center;margin:12px 0 0}
.lsbb-co-email__login a.lsbb-co-email__login-link{color:#003333;font-weight:700;text-decoration:underline}

/* Collapsed summaries (__view) ===========================================*/
.lsbb-co-view{position:relative;font-family:Inter,system-ui,sans-serif;font-size:14px;color:#333;line-height:1.5}
/* 0.6.103 — no `display` here: the default is display:none (above) and the
   [data-step] rules reveal it as flex; an unscoped display:flex won the cascade
   and showed the empty "Email: / Edit" row on step 1. */
.lsbb-co-email__view{align-items:baseline;gap:24px}
.lsbb-co-view__label{font-weight:700;color:#003333;font-size:18px}
.lsbb-co-view__value{font-size:18px}
/* Email row grouped like the address rows: label fixed-left (170px), value
   after the gap so it lines up with the Billing/Shipping values; Edit far right. */
.lsbb-co-email__view .lsbb-co-view__label{flex:0 0 170px}
.lsbb-co-edit{position:absolute;top:0;right:0;color:#003333;font-weight:700;text-decoration:none;font-size:15px}
.lsbb-co-email__view .lsbb-co-edit{position:static;margin-left:auto}
.lsbb-co-view__group{display:flex;gap:24px;margin-bottom:14px}
.lsbb-co-view__group .lsbb-co-view__label{flex:0 0 170px}
.lsbb-co-addr{font-size:18px}
.lsbb-co-addr > div:empty{display:none}

/* Customer details columns within main ====================================*/
.lsbb-checkout__customer-details{display:grid;grid-template-columns:1fr;gap:24px}

/* Review heading ==========================================================*/
.lsbb-checkout__review-heading{font-family:"AwesomeSerif",Georgia,"Times New Roman",serif;font-size:28px;font-weight:600;color:#003333;margin:32px 0 16px;line-height:1.15}

/* Payment card — Figma: white, r14, pad 24/16, 1px #938B8B border, 32px section
   gaps. #payment.lsbb-payment beats WC core `.woocommerce-checkout #payment`
   (grey #ebe9eb + floats #place_order right). =============================*/
#payment.lsbb-payment{background:#fff !important;border:1px solid #938B8B;border-radius:14px;padding:24px 16px;box-sizing:border-box}

/* Gateway methods as tab-boxes (96×68, r4, 16px gap; active = #00CC66 border).
   display:contents on the <li> hoists its label + payment_box into the <ul>
   flex row, so labels form the tab row and the ACTIVE box drops full-width below. */
.lsbb-payment__methods{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:flex-start}
#payment ul.payment_methods.lsbb-payment__methods{border:0 !important;padding:0 !important}
.lsbb-payment-method{display:contents}
.lsbb-payment-method__radio{position:absolute;opacity:0;pointer-events:none}
.lsbb-payment-method__label{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
    width:96px;height:68px;padding:8px;cursor:pointer;box-sizing:border-box;
    border:1px solid #938B8B;border-radius:4px;background:#fff;margin-left:12px !important;
    font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:500;color:#070707;line-height:20px;text-align:center;
    /* v0.6.109: a long gateway title (DE "Kredit-/Debitkarte") escaped the fixed 96px tile — wrap inside it instead. */
    min-width:0;overflow-wrap:anywhere;hyphens:auto
}
/* 12px gap on the LEFT of each tab; the first tab is flush (no leading gap). */
.lsbb-payment__methods .lsbb-payment-method:first-child .lsbb-payment-method__label{margin-left:0 !important}
.lsbb-payment-method__label img,.lsbb-payment-method__label svg{max-height:20px;width:auto;display:block}
.lsbb-payment-method__label .wc-stripe-card-icons-container:empty{display:none}
.lsbb-payment-method__radio:checked + .lsbb-payment-method__label{border-color:#00CC66;box-shadow:0 0 0 1px #00CC66}
/* Active method content spans the full row beneath the tabs + icons (32px gap). */
.lsbb-payment-method__box{flex:0 0 100%;order:99;margin-top:32px;font-family:Inter,system-ui,sans-serif;font-size:16px;color:#070707}
/* Neutralise WC core's grey payment box + its triangle pointer. */
#payment .payment_box{background:transparent !important;border:0 !important;box-shadow:none;padding:0;margin:0;padding-left:0 !important;padding-right:0 !important}
#payment .payment_box::before,#payment .payment_box::after{display:none !important}
/* New Card / Saved Cards toggles + save-card label (Figma 16/500 #070707, save 16/400 #938B8B). */
#payment .wc-stripe-label-payment-type{font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:500;color:#070707}
#payment .wc-stripe-save-source .save-source-label{font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;color:#938B8B}

/* Accepted-payment icons row — between the tab row (order:0) and the box
   (order:99), 32px below the tabs, 16px between icons. */
.lsbb-payment__icons-row{flex:0 0 100%;order:50;margin:0}
.bbce-pay-icons{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:32px 0 0}
.bbce-pay-icons__i{height:18px;width:auto;display:block}

/* Collapse empty PayPal / reCAPTCHA containers that inject stray vertical space. */
#payment #ppcp-recaptcha-v2-container:empty,
#payment #ppc-button-ppcp-applepay:empty,
#payment #ppc-button-ppcp-googlepay:empty{display:none !important;margin:0 !important}

/* Place-order button + secure note — Figma: r8, pad 12/48, #003333, text 20/700. */
.lsbb-payment__place-order{margin-top:32px;margin-bottom:0 !important;padding:0 !important;display:flow-root}
.button.alt.lsbb-place-order{
    display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
    float:none !important;          /* WC core floats #place_order right */
    background:#003333;color:#fff;border:0;
    padding:12px 24px;min-height:54px;border-radius:8px;
    font-family:Inter,system-ui,sans-serif;font-size:20px;font-weight:700;
    line-height:30px;cursor:pointer;text-align:center;transition:background .15s
}
/* Lock icon as ::before background (immune to WC/Stripe JS rewriting the button's
   inner text on payment-method change — an inline <svg> gets wiped, this doesn't). */
.button.alt.lsbb-place-order::before{
    content:"";flex:0 0 20px;width:20px;height:20px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14.1667 8.33333H15C15.4583 8.33333 15.8333 8.7 15.8333 9.16667V15C15.8333 16.375 14.7167 17.5 13.3333 17.5H6.66666C5.29166 17.5 4.16666 16.375 4.16666 15V9.16667C4.16666 8.7 4.54166 8.33333 4.99999 8.33333H5.83332V6.66667C5.83332 4.36667 7.69999 2.5 9.99999 2.5C12.3 2.5 14.1667 4.36667 14.1667 6.66667V8.33333ZM9.99999 4.16667C8.62499 4.16667 7.49999 5.28333 7.49999 6.66667V8.33333H12.5V6.66667C12.5 5.28333 11.375 4.16667 9.99999 4.16667ZM9.99997 14.5C10.8744 14.5 11.5833 13.7911 11.5833 12.9166C11.5833 12.0422 10.8744 11.3333 9.99997 11.3333C9.12552 11.3333 8.41664 12.0422 8.41664 12.9166C8.41664 13.7911 9.12552 14.5 9.99997 14.5Z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat
}
.button.alt.lsbb-place-order:hover{background:#0a8a4d}
.button.alt.lsbb-place-order:disabled{opacity:.6;cursor:not-allowed}

.lsbb-payment__secure{display:flex;align-items:center;gap:8px;clear:both;width:100%;margin-top:16px;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#070707}
.lsbb-payment__secure strong{font-family:"Work Sans",Inter,system-ui,sans-serif;font-weight:700;font-size:16px;line-height:24px;color:#070707}
.lsbb-payment__secure-lock{display:inline-flex;color:#070707}
.lsbb-payment__stripe{margin-left:8px;display:inline-flex;align-items:center;gap:5px;background:#1a1a1a;color:#fff;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:800;font-style:italic;letter-spacing:.01em}
.lsbb-payment__stripe-pre{font-style:normal;font-weight:400;font-size:10px;opacity:.9}

/* ── Stripe card fields → Figma: light #F9F8F7 inputs, 1px #938B8B border, r8,
   56px tall, 24px left pad; static labels ABOVE (16/400 #938B8B); Exp + CVC
   side-by-side. Overrides woo-stripe-payment's bootstrap/floating-label CSS. ── */
#payment li[class*=payment_method_stripe_] div.wc-stripe-gateway-container.has_tokens{margin-top:0 !important}
#payment .wc-stripe-bootstrap-form{margin-top:0 !important;background:transparent !important}
#payment .wc-stripe-bootstrap-form .row{display:flex;flex-wrap:wrap;gap:10px;margin:0 !important}
#payment .wc-stripe-bootstrap-form .row + .row{margin-top:10px !important}
/* 0.6.131 (CH1): not only inside .stripe-small-container — the plugin adds that class on narrow screens only, so on desktop labels sat below and Exp/CVC were a third wide. */
#payment .wc-stripe-bootstrap-form .col-md-12{flex:0 0 100%;max-width:100%;padding:0 !important;display:flex;flex-direction:column}
#payment .wc-stripe-bootstrap-form .col-md-4{flex:1 1 calc(50% - 5px);max-width:calc(50% - 5px);padding:0 !important;display:flex;flex-direction:column}
#payment .wc-stripe-bootstrap-form .mb-3{margin-bottom:0 !important}
/* NB: do NOT flex this — a flex StripeElement collapses Stripe's input iframe to
   ~1px wide, so typed text is invisible (card still validates). Keep it block and
   centre the ~19px line with vertical padding inside the 56px box (border-box). */
#payment .wc-stripe-bootstrap-form .stripe-input{
    background:#F9F8F7 !important;border:1px solid #938B8B !important;border-radius:8px !important;
    height:56px !important;box-shadow:none !important;padding:17px 24px !important;
    display:block !important;box-sizing:border-box !important
}
#payment .wc-stripe-bootstrap-form .stripe-input.StripeElement--complete{border-color:#1b9404 !important}
/* labels static, above the field */
#payment .wc-stripe-bootstrap-form .md-form + label,
#payment .wc-stripe-bootstrap-form .md-form.md-outline + label,
#payment .wc-stripe-bootstrap-form .md-form.md-outline.StripeElement + label,
#payment .wc-stripe-bootstrap-form .md-form.md-outline.focused + label,
#payment .wc-stripe-bootstrap-form .md-form.md-outline.StripeElement--complete + label{
    position:static !important;transform:none !important;order:-1;left:auto !important;top:auto !important;
    background:transparent !important;padding:0 !important;margin:0 0 4px !important;
    font-family:Inter,system-ui,sans-serif !important;font-size:16px !important;font-weight:400 !important;color:#938B8B !important
}

/* Card tab needs a card glyph (its icon container is empty); show icon ABOVE label. */
.lsbb-payment-method__label{flex-direction:column-reverse}
li.payment_method_stripe_cc .lsbb-payment-method__label::after{
    content:"";width:24px;height:18px;
    background:#070707;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 18'%3E%3Crect x='1' y='1' width='22' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='1' y='5' width='22' height='3' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 18'%3E%3Crect x='1' y='1' width='22' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='1' y='5' width='22' height='3' fill='black'/%3E%3C/svg%3E") center/contain no-repeat
}

/* Privacy + terms below the card; auto-checked terms checkbox hidden ======*/
.lsbb-payment-terms{margin-top:20px;font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.6;color:#51514F}
.lsbb-payment-terms .lsbb-terms__checkbox input#terms,
.lsbb-payment-terms .lsbb-terms__checkbox .required{display:none}
.lsbb-payment-terms a{color:#003333;text-decoration:underline}
.lsbb-payment-terms p{margin:0 0 10px}

/* Loqate dropdown z-index — must sit above sticky sidebar + WC blockUI. */
.pca,.pcaautocomplete{z-index:9999 !important}

/* Mobile order-summary collapsible toggle (rendered by bb-checkout-extensions
   into the sidebar). Hidden on desktop; visible on mobile. */
.lsbb-checkout__summary-toggle{display:none}
@media(max-width:900px){
    .lsbb-checkout__summary-toggle{
        display:flex;align-items:center;justify-content:space-between;
        width:100%;padding:16px 20px;background:#fff;border:1px solid #e5e5e5;border-radius:8px;
        font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:600;color:#003333;
        cursor:pointer
    }
    .lsbb-checkout__summary-body{display:none}
    .lsbb-checkout-shell[data-summary="open"] .lsbb-checkout__summary-body{display:block;margin-top:8px}
}

/* Review-order line items =================================================*/
.lsbb-review-order__item{display:flex;align-items:center;padding:8px 0}
.lsbb-review-order__item-thumb{flex:0 0 64px;width:64px;height:64px;line-height:0;position:relative}
.lsbb-review-order__item-thumb img{display:block !important;width:64px !important;height:64px !important;max-width:none !important;border-radius:5px;object-fit:cover}
.lsbb-review-order__item-qty{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:20px;background:#78B58C;color:#fff;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:400;line-height:18px;text-align:center}
.lsbb-review-order__item-name{flex:1 1 auto;padding-left:15px;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#070707}
.lsbb-review-order__item-name .product-quantity{display:none}
.lsbb-review-order__item-total{margin-left:auto;text-align:right;white-space:nowrap;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#070707}

/* Review-order totals rows ================================================*/
.lsbb-review-order__totals{margin-top:24px;border-top:1px solid #938B8B}
.lsbb-review-order__promo{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:24px 0;margin:0;border:0;border-bottom:1px solid #938B8B;background:none;cursor:pointer;text-align:left;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#938B8B}
.lsbb-review-order__promo-label{flex:1 1 auto}
.lsbb-review-order__promo-plus{flex:0 0 auto;font-size:28px;line-height:1;font-weight:400;color:#070707}
.lsbb-review-order__promo-panel{display:none}
.lsbb-review-order__totals.is-promo-open .lsbb-review-order__promo-panel{display:flex}
.lsbb-review-order__totals.is-promo-open .lsbb-review-order__promo{border-bottom:0}
.lsbb-coupon{align-items:center;gap:20px;padding:0 0 24px;border-bottom:1px solid #938B8B}
.lsbb-coupon__input{flex:1 1 auto;width:100%;max-width:348px;height:55px;box-sizing:border-box;border:1px solid #938B8B;border-radius:8px;color:#000;font-size:16px;line-height:1.15;padding:0 24px;background:#fff}
.lsbb-coupon__apply{flex:0 0 auto;width:200px;box-sizing:border-box;border-radius:27px !important;font-size:20px !important;font-weight:700;height:auto;letter-spacing:0;padding:15px 40px !important;background-color:#003333;color:#fff;border:0;cursor:pointer;line-height:1.2;transition:background-color .15s,color .15s}
.lsbb-coupon__apply:hover{background-color:#00CC66;color:#003333} /* 0.6.135: Birdbuddy green like Continue / Place order (was #1bb36e) */
.lsbb-coupon.is-processing{opacity:.6;pointer-events:none}
.lsbb-review-order__paynow{margin:8px 0 2px;font-family:Inter,system-ui,sans-serif;font-size:24px;font-weight:700;line-height:36px;color:#070707}
.lsbb-review-order__row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:24px;color:#070707}
.lsbb-review-order__row-label{color:#938B8B}
.lsbb-review-order__row-value{color:#070707;text-align:right}
.lsbb-review-order__row--total{margin-top:8px;padding-top:8px;border-top:1px solid #938B8B;font-weight:400}
.lsbb-review-order__row--total .lsbb-review-order__row-label{color:#938B8B;font-weight:400;font-size:16px;line-height:24px}
.lsbb-review-order__row--total .lsbb-review-order__row-value,
.lsbb-review-order__row--total .lsbb-review-order__row-value *{font-family:"AwesomeSerif",Georgia,"Times New Roman",serif;font-weight:700;color:#070707}
.lsbb-review-order__row--total .lsbb-review-order__row-value{font-size:20px;line-height:30px}

/* Form-field reset (very light — full styling lives in non-critical SCSS) */
.lsbb-checkout .form-row{margin-bottom:16px}
.lsbb-checkout .form-row input[type=text],
.lsbb-checkout .form-row input[type=email],
.lsbb-checkout .form-row input[type=tel],
.lsbb-checkout .form-row input[type=number],
.lsbb-checkout .form-row select,
.lsbb-checkout .form-row textarea{
    width:100%;padding:12px 14px;border:1px solid #ccc;border-radius:6px;
    font-family:Inter,system-ui,sans-serif;font-size:14px;background:#fff;box-sizing:border-box
}
.lsbb-checkout .form-row input:focus,
.lsbb-checkout .form-row select:focus,
.lsbb-checkout .form-row textarea:focus{outline:none;border-color:#0a8a4d;box-shadow:0 0 0 2px rgba(10,138,77,.18)}

/* Address sub-headings + "ship to a different address" toggle (0.6.92) =====
   Shape and type copied from the live mybirdbuddy.eu checkout: h4 "Billing/Shipping
   address" in the serif heading face at 20px, the toggle a plain 14px Inter checkbox
   row (it used to be wrapped in an <h3>, so it rendered as a serif heading). */
.lsbb-checkout-billing__heading,
.lsbb-checkout-shipping__heading{
    font-family:var(--lsbb-font-heading);font-size:20px;font-weight:700;line-height:1.5;
    color:#070707;margin:0 0 16px
}
.lsbb-checkout-shipping__toggle{margin:8px 0 20px}
.lsbb-checkout-shipping__toggle label{
    display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;
    font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:400;color:#070707
}
.lsbb-checkout-shipping__toggle .input-checkbox{margin:0;width:16px;height:16px;flex:0 0 auto}
@media(max-width:767px){.lsbb-checkout-billing__heading,.lsbb-checkout-shipping__heading{font-size:16px}}

/* Loqate autofill flow (bb-checkout-extensions) ===========================
   Granular address fields start hidden behind a single "start typing your
   address" search box; loqate.js removes .billing-hidden / .shipping-hidden
   once an address is selected (or the customer clicks "enter manually"). */
.lsbb-checkout .billing-hidden,
.lsbb-checkout .shipping-hidden{display:none !important}
.lsbb-checkout #autofill_address_field,
.lsbb-checkout #autofill_address_shipping_field{display:block}
/* 0.6.134 (bug bash CH1): both Loqate links ("Enter address manually" under the search box and
   "Search for a different address" after State) as Figma mobile 46:3379's "Enter Address Manually":
   Inter 500 12/18 #070707, the same gap above and below as between fields. Click handling: BBCE loqate.js. */
.lsbb-checkout .billing-manually-button,
.lsbb-checkout .shipping-manually-button,
.lsbb-checkout .loqate-search-button{
    display:inline-block;margin:0;padding:0;background:none;border:0;box-shadow:none;
    font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:500;line-height:18px;letter-spacing:normal;
    color:#070707;text-decoration:none;text-transform:none;cursor:pointer
}
.lsbb-checkout .billing-manually-button:hover,
.lsbb-checkout .shipping-manually-button:hover,
.lsbb-checkout .loqate-search-button:hover{color:#003333;text-decoration:underline}
.lsbb-checkout .billing-manually-button,
.lsbb-checkout .shipping-manually-button{margin-top:10px}
#customer_details .bbce-search-row{margin:0 0 10px;padding:0;line-height:18px}


/* Recurring (subscription) totals (bb-checkout-extensions theme template) ==*/
.lsbb-recurring-totals{margin-top:24px}
.lsbb-recurring-totals__title{font-family:Inter,system-ui,sans-serif;font-size:24px;font-weight:700;line-height:36px;color:#070707;margin:0 0 2px}
.lsbb-recurring-totals__row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:24px}
.lsbb-recurring-totals__label{color:#938B8B}
.lsbb-recurring-totals__value{color:#070707;text-align:right}
.lsbb-recurring-totals__row--regular .lsbb-recurring-totals__label{color:#002914;font-weight:700}
.lsbb-recurring-totals__row--total{margin-top:8px;padding-top:8px;border-top:1px solid #938B8B;align-items:flex-start}
.lsbb-recurring-totals__row--total .lsbb-recurring-totals__value,
.lsbb-recurring-totals__row--total .lsbb-recurring-totals__value *{color:#070707;font-weight:400;font-size:16px;line-height:24px} /* 0.6.105: regular weight like the other summary rows (was 700/20px) */
.lsbb-recurring-totals__row--total .first-payment-date{display:block;margin-top:4px;text-align:right}
.lsbb-recurring-totals__row--total .first-payment-date small{font-size:13px;line-height:16px;font-weight:700;color:#00A352}

/* Trust icons + reviews (bb-checkout-extensions, below order review) =======*/
/* 0.6.104 — spread like live mybirdbuddy.eu (space-around, no gap): icon centres ~185px apart. */
.checkout-icons{display:flex;gap:0;flex-wrap:wrap;justify-content:space-around;margin:24px 0 48px}
.checkout-icon-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;flex:0 0 90px;width:90px}
.checkout-icon{margin-bottom:16px}
.checkout-label{font-family:Inter,system-ui,sans-serif;font-size:12px;line-height:18px;color:#070707}
.checkout-reviews{display:flex;flex-direction:column;gap:48px;margin:0;padding:0 24px 42px}
.review-wrap{background:#fff;border-radius:32px;padding:20px;display:flex;flex-direction:column;gap:20px}
.review-title{font-family:"Work Sans",Inter,system-ui,sans-serif;font-size:20px;font-weight:700;line-height:23.46px;color:#B18871;margin:0}
.review-rating{margin:0;line-height:0}
.review-description{font-family:"Work Sans",Inter,system-ui,sans-serif;font-size:16px;line-height:18.77px;color:#645E5E;margin:0}
.review-author{font-family:"Work Sans",Inter,system-ui,sans-serif;font-size:14px;font-weight:700;line-height:16.42px;color:#070707;font-style:italic;margin:0}

/* 0.6.106 — mobile overrides moved to the END of the file: the desktop rules for
   .lsbb-co-view__group / .lsbb-coupon are declared later than the ≤900px block
   above and won on source order (same specificity), so the 0.6.105 fixes never applied. */
@media(max-width:900px){
    /* 0.6.105 — collapsed email/address summaries: the fixed 170px label column
       + 24px gap + an unbreakable e-mail pushed the step to 565px on a 390px phone
       (heading, e-mail and address lines were clipped; body has overflow-x:clip). */
    .lsbb-co-step{max-width:100%;min-width:0}
    .lsbb-co-view__group{flex-direction:column;gap:4px;margin-bottom:16px}
    .lsbb-co-view__group .lsbb-co-view__label,.lsbb-co-email__view .lsbb-co-view__label{flex:0 0 auto}
    .lsbb-co-email__view{flex-wrap:wrap;gap:4px 12px}
    .lsbb-co-email__view .lsbb-co-view__value{flex:1 1 100%;order:3;min-width:0;overflow-wrap:anywhere}
    .lsbb-co-email__view .lsbb-co-edit{order:2}
    .lsbb-co-view__value,.lsbb-co-addr{overflow-wrap:anywhere}
    /* Coupon row: 200px button + 20px gap + input never fit in 358px — stack them. */
    .lsbb-coupon{flex-wrap:wrap;gap:12px}
    .lsbb-coupon__input{flex:1 1 100%;max-width:none}
    .lsbb-coupon__apply{width:100%}
}

/* === 0.6.120 — mybirdbuddy.com checkout (store base country US → body.lsbb-store-us).
   Measured against mybirdbuddy.com/checkout at 1646px on 2026-09-28: every block within 1px
   (grid, header, express, steps, order review, recurring totals, badges, reviews, legal, footer).
   The rules above stay the DE (.eu-matched) default. === */
@media(min-width:901px){
    /* Grid: 1360 container (left edge from the viewport like .com), 680/680 columns. */
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header{padding-top:32px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header__inner,
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__inner{max-width:1360px;margin:0 0 0 calc((100vw - 1360px) / 2)}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header__inner{padding:0}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header__logo img{width:177px;height:48px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header__account--person svg{width:17px;height:17px}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__form{grid-template-columns:680px 680px}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__left{padding:0 128px 0 0}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__right{padding:0 7px 0 105px}

    /* Express checkout (Payment Plugins banner): no box, grey centred title, 20px "OR". */
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout fieldset{border:0;padding:0;margin:0}
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout legend{display:none}
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout::before{content:"Express checkout";display:block;margin:-13px 0 13px;text-align:center;font-family:Inter,sans-serif;font-size:20px;line-height:24px;color:#938B8B}
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout .banner-divider{display:block;height:25px;line-height:25px;margin:20px 0 0;padding:0;font-family:Inter,sans-serif;font-size:20px;color:#938B8B;text-align:center;background:none;border:0}
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout .banner-divider::before,
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout .banner-divider::after{display:none;content:none}

    /* 0.6.133 (bug bash CH1): the values below were measured against the old mybirdbuddy.com checkout;
       titles, summaries, legal text, promo, Pay now, total, qty badge and reviews now follow Figma 46:2486. */
    /* Steps. */
    body.lsbb-checkout.lsbb-store-us .lsbb-co-step__title{font-size:24px;line-height:30px;font-weight:700;color:#070707;margin:0 0 24px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view{font-size:16px;line-height:24px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view__label{flex:0 0 180px;width:180px;font-size:16px;line-height:24px;font-weight:700;color:#070707}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view__value,
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view__group *{font-size:16px;line-height:24px;color:#070707}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view__group .lsbb-co-view__label{font-weight:700}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-edit{font-size:16px;line-height:24px;font-weight:700}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view__group{margin-bottom:15px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-address{margin-top:0} /* 0.6.139: the 24px grid gap of .lsbb-checkout__customer-details is the whole step gap (Aleš: 24px) */
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout-shell[data-step="payment"] .lsbb-co-payment{margin-top:24px} /* 0.6.139: 24px step gap, same as email → Billing (Aleš) */
    body.lsbb-checkout.lsbb-store-us .lsbb-payment-terms{margin-top:41px}
    body.lsbb-checkout.lsbb-store-us .lsbb-terms__checkbox{padding:6px 0 0}
    body.lsbb-checkout.lsbb-store-us .woocommerce-privacy-policy-text,
    body.lsbb-checkout.lsbb-store-us .woocommerce-privacy-policy-text p{font-family:Inter,sans-serif;font-size:12px;line-height:18px;color:#070707}
    body.lsbb-checkout.lsbb-store-us .woocommerce-privacy-policy-text a{color:#00CC66;text-decoration:underline}
    body.lsbb-checkout.lsbb-store-us .woocommerce-terms-and-conditions-checkbox-text{font-family:Inter,sans-serif;font-size:12px;line-height:18px;color:#070707}
    body.lsbb-checkout.lsbb-store-us .woocommerce-terms-and-conditions-checkbox-text a{color:#070707;text-decoration:underline}

    /* Order review. */
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__item{padding:0 0 14px;align-items:center}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__item-qty{top:-10px;left:53px;font-size:12px;line-height:18px;background:#78B58C}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__totals{margin-top:0}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__promo{font-size:16px;line-height:24px}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__paynow{margin:22px 0 0;font-size:24px;line-height:30px;font-weight:700;color:#070707}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__row.shipping{padding:5px 0 4px}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__row.tax-total{padding:5px 0 13px}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__row--total{margin:0;padding:20px 0 8.4px;align-items:center}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__row--total .lsbb-review-order__row-value,
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__row--total .lsbb-review-order__row-value *{font-family:Inter,sans-serif;font-size:16px;line-height:24px;font-weight:700;color:#070707}

    /* Trust badges + reviews. */
    body.lsbb-checkout.lsbb-store-us .checkout-icons{margin:80px 0 0;justify-content:space-around}
    body.lsbb-checkout.lsbb-store-us .checkout-icon{margin:0 0 6px;line-height:0}
    body.lsbb-checkout.lsbb-store-us .checkout-reviews{margin-top:48px;padding:0;gap:48px}
    body.lsbb-checkout.lsbb-store-us .review-wrap{gap:16px}
    body.lsbb-checkout.lsbb-store-us .review-title{font-family:Inter,sans-serif;font-size:20px;line-height:30px;font-weight:700}
    body.lsbb-checkout.lsbb-store-us .review-description,
    body.lsbb-checkout.lsbb-store-us .review-description *{font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#645E5E}
    body.lsbb-checkout.lsbb-store-us .review-author{font-family:Inter,sans-serif;font-size:14px;line-height:20px;font-weight:700;font-style:italic}

    /* Footer: full width (DE caps it at 1440), content on the 1360 grid. */
    body.lsbb-checkout.lsbb-store-us .lsbb-co-footer{max-width:none;margin-top:104px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-footer__inner{max-width:1360px;margin:0 0 0 calc((100vw - 1360px) / 2);padding:50px 0}
}
/* 0.6.140 (CH4) — recurring totals (US markup from checkout/recurring-totals.php), all widths.
   Was desktop-only (0.6.119), so phones lost the rule above the item, the right-aligned value and the green renewal date. */
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals__title{font-size:24px;line-height:30px;font-weight:700;color:#070707;margin-bottom:0}
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals__subtitle{padding:16px 0 7px;font-size:16px;line-height:19.2px;font-weight:700;color:#282828}
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals__group--us .lsbb-recurring-totals__row{padding:8px 0 7.8px;line-height:19.2px}
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals__group--us .lsbb-recurring-totals__row--item{min-height:55px;box-sizing:border-box;border-top:1px solid #938B8B;padding:8px 0 0;align-items:flex-start}
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals__group--us .lsbb-recurring-totals__row--item .lsbb-recurring-totals__label{line-height:24px}
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals__row--item .lsbb-recurring-totals__value{position:relative;font-size:20px;line-height:24px;font-weight:700;color:#938B8B;text-align:right}
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals__row--item .lsbb-recurring-totals__value .amount{font-weight:700;color:#938B8B}
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals__currency{display:inline-block;padding-right:4px;transform:translateY(-3px);font-size:12px;font-weight:400;color:#717171}
/* .com strikes the price with a 120px line (not text-decoration), only while the item is in a free trial. */
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals__row--item.is-trial .lsbb-recurring-totals__value::before{content:"";position:absolute;right:0;top:12px;width:120px;height:1px;background:#938B8B}
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals .first-payment-date{display:block;margin:-3px 0 0}
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals .first-payment-date,
body.lsbb-checkout.lsbb-store-us .lsbb-recurring-totals .first-payment-date *{font-size:16px;line-height:19.2px;font-weight:700;color:#00A352}
/* US mobile "Order summary" box (review-order.php) exists only on the phone layout. */
@media(min-width:901px){body.lsbb-checkout.lsbb-store-us .lsbb-msum{display:none}}

/* === 0.6.122 — mybirdbuddy.com checkout, phone layout (measured at 427px against the live
   page on 2026-09-28). .com order: header → white "Order summary" box → express → steps →
   payment → legal (between two rules) → reviews; no trust badges. The right column is
   unwrapped (display:contents) so its three blocks can be placed around the left column. === */
@media(max-width:900px){
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header{padding:16px 0}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header__inner{position:relative;justify-content:center;padding:0 16px;height:48px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header__logo img{width:177px;height:48px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header__account{position:absolute;right:16px;top:14px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-header__account--person svg{width:17px;height:17px}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout-shell{margin-top:0}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__form{gap:0}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__right{display:contents}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__right .woocommerce-checkout-review-order{order:-1;background:#fff;border-radius:0 0 24px 24px;padding:16px 16px 12px;margin:0 0 6px}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__right .checkout-icons{display:none}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__right .checkout-reviews{order:2;margin:48px 16px 0;padding:0}

    /* Order summary box: collapsed = 4 lines, open = the full review (state on the shell, checkout.js). */
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__toggle{display:flex;width:100%;justify-content:space-between;align-items:flex-start;background:none;border:0;border-radius:0;padding:0 0 10px;margin:0;cursor:pointer;text-align:left;box-shadow:none}
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__title{font-family:Inter,sans-serif;font-size:16px;line-height:21.6px;font-weight:700;color:#070707}
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__chevron{margin:5px 10px 0 0;transition:transform .2s}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout-shell[data-summary="open"] .lsbb-msum__chevron{transform:rotate(180deg)}
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__lines{border-top:1px solid #938B8B;padding-top:8px;font-family:Inter,sans-serif;font-size:12px;line-height:19.2px;color:#282828}
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__group{border-bottom:1px solid #F3F1EE;padding-bottom:4px;margin-bottom:4px}
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__line{display:flex;justify-content:space-between;gap:12px}
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__line span:first-child{color:#938B8B}
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__line .amount{font-weight:700;color:#282828}
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__rec .amount{font-weight:400}
    body.lsbb-checkout.lsbb-store-us .lsbb-msum__rec.is-trial{text-decoration:line-through}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout-shell:not([data-summary="open"]) .lsbb-review-order__item,
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout-shell:not([data-summary="open"]) .lsbb-review-order__totals{display:none}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout-shell[data-summary="open"] .lsbb-msum__lines{display:none}
    /* 0.6.150 (Gift Bag v2, Figma 47:7104): the bbce gift box sits at the top of the card, above
       "Order summary", in both states. Its hook is inside __items, so __items is unwrapped and the
       collapsed state hides the product rows instead of the whole block. */
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order{display:flex;flex-direction:column}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__items{display:contents}
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order .bbce-giftwrap{order:-1;margin:0 0 24px}

    /* Express checkout: full-width stacked pills, no title, 16px "OR". */
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout{margin-top:36px}
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout fieldset{border:0;padding:0;margin:0}
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout legend{display:none}
    body.lsbb-checkout.lsbb-store-us .wc_stripe_checkout_banner_gateways{display:flex;flex-direction:column;gap:12px;margin:0;padding:0}
    body.lsbb-checkout.lsbb-store-us .wc_stripe_checkout_banner_gateways li{width:100%;margin:0;border-radius:30px;overflow:hidden}
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout .banner-divider{display:block;height:9px;line-height:1px;padding:0 0 8px;margin:20px 0 0;font-family:Inter,sans-serif;font-size:16px;color:#938B8B;text-align:center;background:none;border:0}
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout .banner-divider::before,
    body.lsbb-checkout.lsbb-store-us .wc-stripe-banner-checkout .banner-divider::after{display:none;content:none}

    /* Steps. */
    body.lsbb-checkout.lsbb-store-us .lsbb-co-step__title{font-size:18px;line-height:25.2px;font-weight:800;color:#070707;margin:0 0 23.8px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view,
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view *{font-size:18px;line-height:23.4px;color:#070707}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view__label{font-weight:700} /* 0.6.135: bold like Figma mobile (was 400, old .com) */
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view .lsbb-co-edit{font-size:15px;line-height:19.5px;font-weight:700;color:#003333}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-email__view{gap:0 12px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-view__group{gap:0;margin-bottom:15px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-address{margin-top:0} /* 0.6.139: the 24px grid gap of .lsbb-checkout__customer-details is the whole step gap (Aleš: 24px) */
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout-shell[data-step="payment"] .lsbb-co-payment{margin-top:24px} /* 0.6.139: 24px step gap, same as email → Billing (Aleš) */
    body.lsbb-checkout.lsbb-store-us #place_order{min-height:50px !important;height:auto !important;padding:15px 20px !important;font-size:16px !important;line-height:19.2px !important}

    /* Legal text between two rules. */
    body.lsbb-checkout.lsbb-store-us .lsbb-payment-terms{margin-top:32px;padding:20px 0 12px;border-top:1px solid #938B8B;border-bottom:1px solid #938B8B}
    body.lsbb-checkout.lsbb-store-us .lsbb-terms__checkbox{padding:16px 0 0}
    body.lsbb-checkout.lsbb-store-us .woocommerce-privacy-policy-text,
    body.lsbb-checkout.lsbb-store-us .woocommerce-privacy-policy-text p{font-family:Inter,sans-serif;font-size:14px;line-height:21px;color:#070707;margin:0}
    body.lsbb-checkout.lsbb-store-us .woocommerce-privacy-policy-text a{color:#00CC66;text-decoration:underline}
    body.lsbb-checkout.lsbb-store-us .woocommerce-terms-and-conditions-checkbox-text{font-family:Inter,sans-serif;font-size:14px;line-height:19.6px;color:#282828}
    body.lsbb-checkout.lsbb-store-us .woocommerce-terms-and-conditions-checkbox-text a{color:#282828;text-decoration:underline}

    /* Reviews. */
    body.lsbb-checkout.lsbb-store-us .review-wrap{gap:16px;padding:20px;border-radius:32px}
    body.lsbb-checkout.lsbb-store-us .review-title{font-family:Inter,sans-serif;font-size:20px;line-height:30px;font-weight:700}
    body.lsbb-checkout.lsbb-store-us .review-description,
    body.lsbb-checkout.lsbb-store-us .review-description *{font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#070707}
    body.lsbb-checkout.lsbb-store-us .review-author{font-family:Inter,sans-serif;font-size:16px;line-height:24px;font-weight:700;font-style:italic}

    /* Footer (229px on .com): copyright centred, payment logos spread over the full width. */
    body.lsbb-checkout.lsbb-store-us .lsbb-co-footer{margin-top:64px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-footer__inner{padding:73px 16px 57px;gap:38px}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-footer__legal{font-size:12px;line-height:16.8px;text-align:center}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-footer__pay{width:100%}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-footer .bbce-pay-icons{justify-content:space-between;width:100%}
    body.lsbb-checkout.lsbb-store-us .lsbb-co-footer .bbce-pay-icons__i{width:40px;height:27px}
}
/* 0.6.130 (bug bash CH2): "Payment pending" screen while WC has form.checkout.processing (Place order until redirect/error). */
.lsbb-co-pending{display:none}
form.woocommerce-checkout.processing .lsbb-co-pending{display:flex;position:fixed;inset:0;z-index:100000;align-items:center;justify-content:center;padding:16px;background:rgba(255,255,255,.92)}
.lsbb-co-pending__box{max-width:360px;text-align:center;font-family:Inter,system-ui,sans-serif;color:#003333}
.lsbb-co-pending__spinner{display:block;width:40px;height:40px;margin:0 auto 20px;border:3px solid #d9e3e3;border-top-color:#003333;border-radius:50%;animation:lsbb-co-spin .8s linear infinite}
.lsbb-co-pending__title{margin:0 0 6px;font-size:20px;line-height:28px;font-weight:700}
.lsbb-co-pending__text{margin:0;font-size:16px;line-height:24px;color:#333}
@keyframes lsbb-co-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.lsbb-co-pending__spinner{animation-duration:2.4s}}
/* 0.6.132 (bug bash CH1) — billing/shipping/email fields → Figma 46:2486: 56px, white, 1px #938B8B, r8,
   Inter 16/24, label inside the field (floats up on focus/value via .lsbb-fl-up from checkout.js).
   #customer_details beats WooCommerce's own .woocommerce-page form .form-row rules. */
#customer_details .form-row{position:relative;margin:0 0 10px;padding:0}
#customer_details .form-row-first,#customer_details .form-row-last{width:calc(50% - 5px)}
#customer_details .form-row input.input-text,
#customer_details .form-row select,
#customer_details .form-row textarea{
    width:100%;height:56px;margin:0;padding:22px 20px 8px;box-sizing:border-box;
    background:#fff;border:1px solid #938B8B !important;border-radius:8px !important;box-shadow:none;
    font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#070707
}
#customer_details .form-row textarea{height:auto;min-height:96px}
#customer_details .form-row input.input-text::placeholder{color:#938B8B;opacity:1}
#customer_details .form-row input.input-text:focus,
#customer_details .form-row select:focus,
#customer_details .form-row textarea:focus{outline:none;border-color:#003333 !important;box-shadow:0 0 0 1px #003333}
#customer_details .form-row.woocommerce-invalid input.input-text,
#customer_details .form-row.woocommerce-invalid select,
#customer_details .form-row.woocommerce-invalid .select2-selection{border-color:#E25950 !important}
/* 0.6.153: State / Province are plain selects here (no selectWoo), so they need the rule too. */
#customer_details .select2-container .select2-selection--single{
    height:56px;border:1px solid #938B8B;border-radius:8px;background:#fff;box-sizing:border-box
}
#customer_details .select2-container .select2-selection--single .select2-selection__rendered{
    padding:22px 44px 8px 20px;line-height:24px;font-family:Inter,system-ui,sans-serif;font-size:16px;color:#070707
}
#customer_details .select2-container .select2-selection--single .select2-selection__arrow{height:54px;right:12px}
#customer_details .select2-container--focus .select2-selection--single,
#customer_details .select2-container--open .select2-selection--single{border-color:#003333}
/* floating label on rows checkout.js tags .lsbb-fl (text field or select; checkbox rows keep their label).
   Without JS the labels simply stay above the fields. */
#customer_details .form-row.lsbb-fl > label{
    position:absolute;z-index:2;left:21px;top:16px;margin:0;padding:0;max-width:calc(100% - 42px);
    overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;
    font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#938B8B;
    transition:top .15s ease,font-size .15s ease,line-height .15s ease
}
#customer_details .form-row.lsbb-fl.lsbb-fl-up > label{top:7px;font-size:12px;line-height:16px}
#customer_details .form-row > label .required{color:#938B8B;text-decoration:none;border:0}
#customer_details .form-row .woocommerce-input-wrapper{display:block;width:100%}
/* autofill hook for checkout.js (Chrome/Safari fire no input event) */
@keyframes lsbb-fl-autofill{from{opacity:1}to{opacity:1}}
#customer_details input:-webkit-autofill{animation-name:lsbb-fl-autofill;animation-duration:.01s}
/* Continue buttons → Figma: 56px, Inter 700 20/30 (Work Sans in Figma is not loaded on the site) */
.lsbb-co-btn{padding:13px 24px;font-size:20px;line-height:30px}
/* 0.6.133 (bug bash CH1) — Figma 46:2486 details outside the US block:
   email summary: "Email:" + Edit on one row, the address on its own line below; product lines show the
   variant + "In stock" (Inter 14/20 #938B8B); "Ship to different address?" / "Save my credit card…" Inter
   16/24 #938B8B. (Loqate links: see the 0.6.134 rule with the other Loqate styles.) */
.lsbb-co-email__view{flex-wrap:wrap;row-gap:0} /* 0.6.138: the 24px column gap must not also open between the rows */
.lsbb-co-email__view .lsbb-co-view__label{flex:1 1 auto}
.lsbb-co-email__view .lsbb-co-view__value{order:3;flex:0 0 100%;margin-top:8px}
.lsbb-review-order__item-name dl.variation{margin:0;font-size:14px;line-height:20px;color:#938B8B}
.lsbb-review-order__item-name dl.variation dt{display:none}
.lsbb-review-order__item-name dl.variation dd,
.lsbb-review-order__item-name dl.variation dd p{margin:0;font-size:14px;line-height:20px;color:#938B8B}
.lsbb-review-order__item-variant,
.lsbb-review-order__item-stock{display:block;font-size:14px;line-height:20px;color:#938B8B}
.lsbb-checkout-shipping__toggle label{font-size:16px;line-height:24px;color:#938B8B}
#payment .woocommerce-SavedPaymentMethods-saveNew label{font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#938B8B}
/* 0.6.134 (bug bash CH1) — Aleš's review against Figma desktop 46:2486 / mobile 46:3163 + 46:3379.
   Continue / Place order hover: Birdbuddy green with teal text, like the product page's sticky buy bar
   (was an unrelated #0a8a4d). */
.lsbb-co-btn:hover,
.button.alt.lsbb-place-order:hover{background:#00CC66;color:#003333}
/* Subtotal row: in the mobile summary only (Figma desktop has none). Close arrow: mobile, open summary. */
.lsbb-review-order__row--subtotal{display:none}
.lsbb-msum__close{display:none}
@media(max-width:900px){
    /* Mobile fields 12px apart (Figma 46:3379); the Loqate links share that gap. */
    #customer_details .form-row{margin-bottom:12px}
    #customer_details .form-row-first,#customer_details .form-row-last{width:calc(50% - 6px)}
    #customer_details .bbce-search-row{margin-bottom:12px}
    .lsbb-checkout .billing-manually-button,
    .lsbb-checkout .shipping-manually-button{margin-top:12px}
    /* Product lines: name + price only on mobile. */
    .lsbb-review-order__item-variant,
    .lsbb-review-order__item-stock{display:none}
    .lsbb-review-order__row--subtotal{display:flex}
    /* Total in Inter, like the other rows (was AwesomeSerif) — also bug bash CH5. */
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__row--total .lsbb-review-order__row-value,
    body.lsbb-checkout.lsbb-store-us .lsbb-review-order__row--total .lsbb-review-order__row-value *{font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:24px;font-weight:700;color:#070707}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout-shell[data-summary="open"] .lsbb-msum__close{
        display:flex;justify-content:center;align-items:center;width:100%;margin:8px 0 0;padding:12px 0 4px;
        background:none;border:0;box-shadow:none;cursor:pointer;color:#070707
    }
    /* Trust badges under the left column (after Continue to payment / the legal text); no reviews on mobile. */
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__right .checkout-icons{display:flex;order:2;margin:40px 16px 0}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__right .checkout-reviews{display:none}
    body.lsbb-checkout.lsbb-store-us .checkout-icons .checkout-label{font-size:10px;line-height:16px;font-weight:500}
}

/* v0.6.145: notices at the top of the left column (moved out of WC's store-notices block) and checkout errors:
   same card as the cart (critical/cart.css): white, 16px corners, brand teal, own icon instead of WC's icon-font box. */
.lsbb-checkout__left>.woocommerce-notices-wrapper{margin:0 0 32px}
.lsbb-checkout__left>.woocommerce-notices-wrapper:empty{display:none}
body.woocommerce-checkout .lsbb-notice{position:relative;display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:16px 20px;border:0;border-radius:16px;background:#fff;color:#003333;font-size:15px;font-weight:400;line-height:22px;letter-spacing:.2px;text-align:left;box-shadow:none;list-style:none}
body.woocommerce-checkout .lsbb-notice:last-child{margin-bottom:0}
body.woocommerce-checkout .lsbb-notice::after{content:none;display:none}
body.woocommerce-checkout .lsbb-notice::before{content:"";position:static;flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='9' stroke='%2300CC66' stroke-width='1.6'/%3E%3Cpath d='M10 9v5' stroke='%2300CC66' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='6.2' r='1' fill='%2300CC66'/%3E%3C/svg%3E") no-repeat center/20px 20px;font:0/0 a;color:transparent}
body.woocommerce-checkout .lsbb-notice--success::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='9' stroke='%2300CC66' stroke-width='1.6'/%3E%3Cpath d='M6.5 10.2l2.4 2.4 4.6-4.8' stroke='%2300CC66' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
body.woocommerce-checkout .lsbb-notice--error{background:#FDF0EF;color:#B42318}
body.woocommerce-checkout .lsbb-notice--error::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='9' stroke='%23B42318' stroke-width='1.6'/%3E%3Cpath d='M10 5.5v5' stroke='%23B42318' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='13.8' r='1' fill='%23B42318'/%3E%3C/svg%3E")}
body.woocommerce-checkout .lsbb-notice--error ul{margin:0;padding:0;list-style:none}
body.woocommerce-checkout .lsbb-notice--error li{margin:0 0 4px;list-style:none}
body.woocommerce-checkout .lsbb-notice--error li:last-child{margin-bottom:0}
body.woocommerce-checkout .lsbb-notice a{color:inherit;font-weight:700;text-decoration:underline}
/* v0.6.146: the checkout error group spans both grid columns (0.6.111); keep the card itself as wide as the left column. */
@media(min-width:901px){
    .lsbb-checkout__form>.woocommerce-NoticeGroup{max-width:50%;box-sizing:border-box}
    body.lsbb-checkout.lsbb-store-us .lsbb-checkout__form>.woocommerce-NoticeGroup{max-width:680px;padding:0 128px 0 0}
}
