/* lsbb-critical (cart). 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 - Cart page (above-the-fold layout, inlined) */

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

/* Defeat the nested FSE `layout: constrained` wrappers on the cart page.
   page.html has two stacked `is-layout-constrained` containers, each injecting
   `max-width: var(--wp--style--global--content-size); margin-left:auto !important;
   margin-right:auto !important` on direct children. That auto-centering math gets
   off-center when contentSize (1340px) is smaller than viewport, leaving the cart
   left-aligned. Force the wrappers to span the full viewport so our cream shell
   naturally fills it with NO break-out math required. */
body.woocommerce-cart main.wp-block-group,
body.woocommerce-cart .wp-block-post-content,
body.woocommerce-cart .wp-block-post-content.is-layout-constrained,
body.woocommerce-cart 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-cart main.wp-block-group > *,
body.woocommerce-cart .wp-block-post-content > *{
    max-width:none !important;
}
/* But re-allow our explicit cart-inner max-width + auto centering. */
body.woocommerce-cart .lsbb-cart-inner{
    max-width:1440px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Cream shell now just fills its (now full-width) parent. No break-out tricks. */
/* v0.6.99: no min-height — mybirdbuddy.eu has none; with 60vh a short cart left the summary band ending above the footer for guests. */
.lsbb-cart-shell{
    width:100%;
    background:#F3F1EE;
    padding:40px 0 80px;
    box-sizing:border-box
}
/* v0.6.96: 50px side padding like mybirdbuddy.eu (content 1325 at a 1440 viewport, logo and cart left edges align). Mobile 16px. */
.lsbb-cart-inner{max-width:1440px;margin-left:auto;margin-right:auto;padding:0 50px;box-sizing:border-box}

/* Suppress the page-content <h1 class="wp-block-post-title">Cart</h1> block.
   FSE wp:post-title always emits .wp-block-post-title — robust selector for any nesting. */
body.woocommerce-cart h1.wp-block-post-title,
body.woocommerce-cart .wp-block-post-title{display:none}
.lsbb-continue-shopping{color:#00CC66;text-decoration:none;font-size:16px;font-weight:400;line-height:24px;display:inline-flex;align-items:center;gap:8px;margin-bottom:12px}
.lsbb-continue-shopping svg{width:8px;height:14px;flex:0 0 8px}
.lsbb-continue-shopping:hover{color:#003333}
.lsbb-cart-heading{font-family:"AwesomeSerif",Georgia,"Times New Roman",serif;font-size:40px;font-weight:700;color:#003333;margin:0 0 48px;line-height:60px;letter-spacing:0}
/* Right column is FIXED 518px (Figma spec). Left takes the rest.
   `minmax(0,1fr)` keeps the left column from being forced wider by min-content
   (long product names / wide tables / cards), which was squeezing the right
   column to ~300px and wrapping the "Proceed to checkout" button text. */
/* v0.6.96: 65/35 split like .eu (861/464 at 1325). minmax(0,…) so a wide slider cannot inflate a column. */
.lsbb-cart-grid{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:0;align-items:start}
@media(max-width:1023px){.lsbb-cart-inner{padding:0 16px}.lsbb-cart-heading{font-size:32px;line-height:43px}.lsbb-cart-grid{grid-template-columns:minmax(0,1fr);gap:32px}}

/* v0.6.145: cart notices sit in the left column under the heading (also above the empty-cart message).
   White card with 16px corners like the add-on cards, brand teal text, own icon. WooCommerce's ::before icon
   uses an icon font this site doesn't load, so it drew an empty box over the first letter. */
body.woocommerce-cart .woocommerce-notices-wrapper:empty{display:none}
body.woocommerce-cart .lsbb-cart-main .woocommerce-notices-wrapper{margin:-16px 0 32px}
body.woocommerce-cart .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-cart .lsbb-notice:last-child{margin-bottom:0}
body.woocommerce-cart .lsbb-notice::after{content:none;display:none}
body.woocommerce-cart .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-cart .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-cart .lsbb-notice--error{background:#FDF0EF;color:#B42318}
body.woocommerce-cart .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-cart .lsbb-notice--error ul{margin:0;padding:0;list-style:none}
body.woocommerce-cart .lsbb-notice--error li{margin:0 0 4px;list-style:none}
body.woocommerce-cart .lsbb-notice--error li:last-child{margin-bottom:0}
body.woocommerce-cart .lsbb-notice a{color:inherit;font-weight:700;text-decoration:underline}
body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-notices-wrapper{max-width:600px;margin:40px auto 0;padding:0 16px;box-sizing:border-box}
