:root {
    --bw-ink: #12100f;
    --bw-paper: #f6f3ed;
    --bw-white: #fff;
    --bw-red: #e82b26;
    --bw-red-dark: #bb1714;
    --bw-yellow: #ffd438;
    --bw-muted: #756f68;
    --bw-line: #ded8cf;
    --bw-shadow: 0 18px 48px rgba(35, 27, 18, .12);
}

html { scroll-behavior: smooth; }
body.broadway-storefront,
body.cdc-product-page,
body.cdc-cart-page,
body.cdc-checkout-page {
    --clr-primary: var(--bw-red);
    --clr-primary-dk: var(--bw-red-dark);
    --clr-primary-lt: #fbe4e2;
    --cdc-green: var(--bw-red);
    --cdc-green-deep: #211e1c;
    --cdc-green-tint: #fbe4e2;
    --ref-green: var(--bw-red);
    --ref-green-deep: #211e1c;
    --ref-green-tint: #fbe4e2;
    background: var(--bw-paper) !important;
    color: var(--bw-ink) !important;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
}

/* Shared header */
body.broadway-storefront .cdc-utility,
body.cdc-product-page .cdc-utility,
body.cdc-cart-page .cdc-utility,
body.cdc-checkout-page .cdc-utility { background: #211e1c !important; color: #fff; border: 0; }

body.broadway-storefront .cdc-utility__inner,
body.cdc-product-page .cdc-utility__inner,
body.cdc-cart-page .cdc-utility__inner,
body.cdc-checkout-page .cdc-utility__inner,
body.broadway-storefront .site-header__inner,
body.cdc-product-page .site-header__inner,
body.cdc-cart-page .site-header__inner,
body.cdc-checkout-page .site-header__inner { max-width: 1180px; }

body.broadway-storefront .cdc-store-picker,
body.cdc-product-page .cdc-store-picker,
body.cdc-cart-page .cdc-store-picker,
body.cdc-checkout-page .cdc-store-picker { color: #fff; }

body.broadway-storefront .cdc-store-picker a,
body.cdc-product-page .cdc-store-picker a,
body.cdc-cart-page .cdc-store-picker a,
body.cdc-checkout-page .cdc-store-picker a { color: var(--bw-yellow); }

body.broadway-storefront .site-header,
body.cdc-product-page .site-header,
body.cdc-cart-page .site-header,
body.cdc-checkout-page .site-header {
    background: rgba(246, 243, 237, .96) !important;
    border-bottom: 1px solid var(--bw-line) !important;
    box-shadow: none !important;
    backdrop-filter: blur(16px);
}

body.broadway-storefront .site-nav a,
body.cdc-product-page .site-nav a,
body.cdc-cart-page .site-nav a,
body.cdc-checkout-page .site-nav a { color: var(--bw-ink); font-weight: 800; }
body.broadway-storefront .site-nav a::after,
body.cdc-product-page .site-nav a::after,
body.cdc-cart-page .site-nav a::after,
body.cdc-checkout-page .site-nav a::after { background: var(--bw-red) !important; }
body.broadway-storefront .site-nav a:hover,
body.broadway-storefront .site-nav a.active,
body.cdc-product-page .site-nav a:hover,
body.cdc-product-page .site-nav a.active,
body.cdc-cart-page .site-nav a:hover,
body.cdc-cart-page .site-nav a.active,
body.cdc-checkout-page .site-nav a:hover,
body.cdc-checkout-page .site-nav a.active { color: var(--bw-red-dark) !important; }

body.broadway-storefront .btn-cdc--primary,
body.cdc-product-page .btn-cdc--primary,
body.cdc-cart-page .btn-cdc--primary,
body.cdc-checkout-page .btn-cdc--primary { background: var(--bw-red) !important; border-color: var(--bw-red) !important; border-radius: 12px !important; }

body.broadway-storefront .cart-btn,
body.cdc-product-page .cart-btn,
body.cdc-cart-page .cart-btn,
body.cdc-checkout-page .cart-btn { background: var(--bw-red); color: #fff; border-radius: 12px; }

body.broadway-storefront .cart-btn__count,
body.cdc-product-page .cart-btn__count,
body.cdc-cart-page .cart-btn__count,
body.cdc-checkout-page .cart-btn__count { background: #fff; color: var(--bw-red); }

.reference-wrap { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.bw-home [hidden] { display: none !important; }

/* Homepage */
.bw-openbar { display: flex; align-items: center; gap: 8px; padding-block: 14px; color: #554f49; font-size: .9rem; }
.bw-open-dot { width: 9px; height: 9px; border-radius: 50%; background: #909090; }
.bw-open-dot.is-open { background: var(--bw-red); box-shadow: 0 0 0 4px #f9d8d6; }
.bw-open-dot.is-closed { background: #4b4743; box-shadow: 0 0 0 4px #ded9d2; }

body.broadway-storefront .site-header__logo img,
body.cdc-product-page .site-header__logo img,
body.cdc-cart-page .site-header__logo img,
body.cdc-checkout-page .site-header__logo img { filter: grayscale(1) contrast(1.15); }

.bw-promo-slider { position: relative; padding-bottom: 38px; }
.bw-promo-track { display: grid; touch-action: pan-y; user-select: none; }
.bw-promo-track.is-dragging { cursor: grabbing; }
.bw-promo-slide { grid-area: 1 / 1; width: 100%; opacity: 0; pointer-events: none; transform: translateX(26px) rotate(1.2deg) scale(.975); transform-origin: 50% 85%; transition: opacity .28s ease, transform .38s cubic-bezier(.2,.8,.2,1); }
.bw-promo-slide.is-before { transform: translateX(-26px) rotate(-1.2deg) scale(.975); }
.bw-promo-slide.is-after { transform: translateX(26px) rotate(1.2deg) scale(.975); }
.bw-promo-slide.is-active { z-index: 3; opacity: 1; pointer-events: auto; transform: none; }
.bw-promo-controls { position: absolute; z-index: 5; left: 50%; bottom: 0; display: flex; align-items: center; gap: 11px; padding: 6px 9px; border: 1px solid var(--bw-line); border-radius: 999px; background: rgba(255,255,255,.96); box-shadow: 0 8px 22px rgba(35,27,18,.13); transform: translateX(-50%); }
.bw-promo-arrow { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--bw-ink); color: #fff; cursor: pointer; }
.bw-promo-arrow:hover { background: var(--bw-red); }
.bw-promo-arrow svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.bw-promo-dots { display: flex; align-items: center; gap: 6px; }
.bw-promo-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #c9c2b9; cursor: pointer; transition: width .2s, background .2s; }
.bw-promo-dot.is-active { width: 22px; border-radius: 99px; background: var(--bw-red); }

.bw-hero { min-height: 330px; display: grid; grid-template-columns: 1.3fr .7fr; overflow: hidden; border-radius: 28px; background: var(--bw-ink); color: #fff; box-shadow: var(--bw-shadow); }
.bw-hero-copy { padding: 46px 50px; }
.bw-eyebrow { display: block; color: var(--bw-yellow); text-transform: uppercase; font-weight: 900; letter-spacing: .14em; font-size: .78rem; margin-bottom: 14px; }
.bw-hero h1 { color: #fff; font-family: "Big Shoulders Display", sans-serif; font-size: clamp(3.4rem, 7vw, 5.8rem); font-weight: 900; line-height: .82; letter-spacing: -.035em; text-transform: uppercase; margin: 0 0 20px; }
.bw-hero h1.is-long { font-size: clamp(2.8rem, 5.4vw, 4.8rem); line-height: .9; }
.bw-hero-copy p { max-width: 540px; color: #d8d2cc; font-size: 1rem; margin-bottom: 24px; }
.bw-hero-actions { display: flex; align-items: center; gap: 12px; }
.bw-primary { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 12px; padding: 14px 19px; background: var(--bw-red); color: #fff !important; font-weight: 850; text-decoration: none; transition: background .18s, transform .18s; }
.bw-primary:hover { background: var(--bw-red-dark); transform: translateY(-1px); }
.bw-hero-link { color: #fff; padding: 12px; font-weight: 800; text-decoration: none; }
.bw-hero-visual { position: relative; display: grid; place-items: center; min-height: 300px; overflow: hidden; background: var(--bw-yellow); }
.bw-hero-visual img { width: 108%; height: 108%; object-fit: contain; filter: drop-shadow(0 24px 22px rgba(0,0,0,.24)); transform: rotate(-4deg); }
.bw-price-burst { position: absolute; z-index: 2; top: 24px; left: 20px; width: 94px; aspect-ratio: 1; display: grid; place-content: center; border-radius: 48% 52% 46% 54%; background: var(--bw-red); color: #fff; box-shadow: 0 0 0 6px rgba(255,255,255,.25); font-size: 1.25rem; font-weight: 950; text-align: center; transform: rotate(7deg); }
.bw-price-burst small { display: block; font-size: .6rem; line-height: 1.1; text-transform: uppercase; }

.bw-category-bar { position: sticky; top: 74px; z-index: 20; margin-top: 26px; background: var(--bw-paper); border-bottom: 1px solid var(--bw-line); }
.bw-category-nav { width: min(1320px, calc(100% - 24px)); margin-inline: auto; display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 10px; }
.bw-category-prev { grid-column: 1; }
.bw-category-scroll { grid-column: 2; min-width: 0; display: flex; gap: 9px; overflow-x: auto; padding-block: 14px; scrollbar-width: none; scroll-behavior: smooth; }
.bw-category-next { grid-column: 3; }
.bw-category-scroll::-webkit-scrollbar { display: none; }
.bw-category-arrow { width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: transparent; color: var(--bw-red); transition: opacity .18s, transform .18s; }
.bw-category-arrow.is-unused { visibility: hidden; pointer-events: none; }
.bw-category-arrow:hover:not(:disabled) { transform: scale(1.1); }
.bw-category-arrow:disabled { opacity: .22; cursor: default; }
.bw-category-arrow svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }
.bw-category-pill { flex: none; padding: 10px 15px; border: 1px solid var(--bw-line); border-radius: 999px; background: #fff; color: #4f4a44; font-size: .9rem; font-weight: 800; text-decoration: none; }
.bw-category-pill.active, .bw-category-pill:hover { background: var(--bw-ink); color: #fff; border-color: var(--bw-ink); }

.bw-menu-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 34px; align-items: start; padding-block: 34px 90px; }
.bw-menu-section { scroll-margin-top: 160px; margin-bottom: 48px; }
.bw-section-head { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 18px; }
.bw-section-head h2 { margin: 0 0 4px; font-family: "Big Shoulders Display", sans-serif; font-size: 2.4rem; font-weight: 900; text-transform: uppercase; }
.bw-section-head p { margin: 0; color: var(--bw-muted); }
.bw-section-head > span { color: var(--bw-red); font-size: .8rem; font-weight: 900; text-transform: uppercase; }
.bw-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.bw-product-card { min-height: 205px; display: grid; grid-template-columns: minmax(0, 1fr) 148px; overflow: hidden; border: 1px solid #e5ded5; border-radius: 18px; background: #fff; transition: transform .18s, box-shadow .18s; cursor: pointer; }
.bw-product-card:hover { transform: translateY(-3px); box-shadow: 0 13px 30px rgba(35,27,18,.09); }
.bw-product-card.is-unavailable { cursor: default; opacity: .68; }
.bw-product-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 20px; min-width: 0; }
.bw-product-copy h3 { margin: 0 0 8px; font-size: 1.05rem; font-weight: 850; }
.bw-product-copy p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin: 0 0 14px; color: var(--bw-muted); font-size: .86rem; line-height: 1.5; }
.bw-product-price { display: flex; align-items: center; gap: 8px; margin-top: auto; }
.bw-product-price strong { font-size: 1.08rem; }
.bw-product-price del { color: #999; font-size: .8rem; }
.bw-product-photo { position: relative; display: grid; place-items: center; overflow: hidden; background: #f0ece5; }
.bw-product-photo img { width: 105%; height: 105%; object-fit: contain; transition: transform .25s; }
.bw-product-card:hover .bw-product-photo img { transform: scale(1.06) rotate(-2deg); }
.bw-add { position: absolute; right: 11px; bottom: 11px; width: 40px; height: 40px; border: 0; border-radius: 12px; background: var(--bw-red); color: #fff; font-size: 1.5rem; line-height: 1; box-shadow: 0 5px 14px rgba(232,43,38,.3); }
.bw-badge { position: absolute; z-index: 2; top: 10px; left: 10px; padding: 5px 7px; border-radius: 6px; background: var(--bw-yellow); color: var(--bw-ink); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.bw-food-placeholder { font-size: 3rem; }
.bw-unavailable-label { position: absolute; right: 10px; bottom: 10px; padding: 6px 8px; border-radius: 6px; background: var(--bw-ink); color: #fff; font-size: .72rem; font-weight: 850; }

.bw-cart-rail { position: sticky; top: 160px; overflow: hidden; border: 1px solid var(--bw-line); border-radius: 22px; background: #fff; box-shadow: var(--bw-shadow); }
.bw-cart-rail-head { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid var(--bw-line); }
.bw-cart-rail-head h2 { margin: 0; font-size: 1.2rem; font-weight: 850; }
.bw-cart-rail-head span { min-width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--bw-red); color: #fff; font-weight: 850; }
.bw-cart-ready { display: flex; gap: 12px; align-items: center; margin: 18px; padding: 14px; border-radius: 13px; background: #f8f5ef; }
.bw-cart-ready > span { width: 36px; height: 36px; display: grid; place-items: center; flex: none; border-radius: 10px; background: var(--bw-yellow); font-weight: 950; }
.bw-cart-ready strong, .bw-cart-ready small { display: block; }
.bw-cart-ready small { color: var(--bw-muted); }
.bw-cart-total { display: flex; justify-content: space-between; padding: 4px 20px 18px; font-size: .95rem; }
.bw-cart-total strong { font-size: 1.2rem; }
.bw-cart-rail > .bw-primary { margin: 0 20px; display: flex; }
.bw-cart-rail > p { color: var(--bw-muted); font-size: .75rem; text-align: center; margin: 11px 0 18px; }
.bw-cart-empty { display: grid; justify-items: center; gap: 4px; padding: 32px 20px; text-align: center; }
.bw-cart-empty > span { font-size: 2.2rem; }
.bw-cart-empty small { color: var(--bw-muted); }
.bw-mobile-cart { display: none; }
.bw-restaurant { scroll-margin-top: 160px; }
.bw-restaurant-images { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bw-restaurant-images img { width: 100%; height: 250px; object-fit: cover; border-radius: 18px; }

/* Product page */
body.cdc-product-page .pdp-main-container { padding: 38px 20px 100px !important; background: var(--bw-paper); }
body.cdc-product-page .pdp-wrap { max-width: 1180px !important; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important; gap: 54px !important; }
body.cdc-product-page .pdp-gallery { position: sticky !important; top: 110px !important; }
body.cdc-product-page .pdp-main-img-wrap { min-height: 540px !important; border: 1px solid var(--bw-line) !important; border-radius: 28px !important; background: radial-gradient(circle, #fff 0 25%, #eee8df 70%) !important; box-shadow: none !important; }
body.cdc-product-page .pdp-main-img { max-width: 90% !important; max-height: 500px !important; object-fit: contain !important; filter: drop-shadow(0 25px 22px rgba(0,0,0,.14)); }
body.cdc-product-page .pdp-title { font-family: "Big Shoulders Display", sans-serif !important; font-size: clamp(3rem, 6vw, 5rem) !important; font-weight: 900 !important; line-height: .88 !important; text-transform: uppercase; }
body.cdc-product-page .pdp-price { color: var(--bw-ink) !important; font-size: 1.8rem !important; font-weight: 950 !important; }
body.cdc-product-page .pdp-desc { color: var(--bw-muted) !important; font-size: 1rem !important; }
body.cdc-product-page .opt-group { overflow: hidden; border: 1px solid var(--bw-line) !important; border-radius: 16px !important; background: transparent !important; box-shadow: none !important; }
body.cdc-product-page .opt-group-head { background: transparent !important; border-bottom: 0 !important; }
body.cdc-product-page .chip-inner { border: 1px solid var(--bw-line) !important; border-radius: 12px !important; background: #fff !important; }
body.cdc-product-page .chip input:checked ~ .chip-inner { border-color: var(--bw-red) !important; box-shadow: inset 0 0 0 1px var(--bw-red) !important; }
body.cdc-product-page .chip input:checked ~ .chip-inner .chip-check { background: var(--bw-red) !important; }
body.cdc-product-page .pdp-cta-wrap { background: rgba(246,243,237,.95) !important; }
body.cdc-product-page .pdp-add-btn { background: var(--bw-red) !important; border-radius: 12px !important; }
body.cdc-product-page .pdp-qty { border-radius: 12px !important; }

/* Cart */
body.cdc-cart-page #main-content { max-width: none !important; background: var(--bw-paper); }
body.cdc-cart-page .cart-shell { max-width: 1180px !important; grid-template-columns: minmax(0, 1fr) 380px !important; gap: 38px !important; padding-top: 48px !important; }
body.cdc-cart-page .cart-page-head { border: 0 !important; }
body.cdc-cart-page .cart-page-head h1 { font-family: "Big Shoulders Display", sans-serif !important; font-size: clamp(3rem, 6vw, 5rem) !important; font-weight: 900 !important; text-transform: uppercase; }
body.cdc-cart-page .cart-count-chip { background: var(--bw-yellow) !important; color: var(--bw-ink) !important; }
body.cdc-cart-page .cart-items-wrapper { border: 1px solid var(--bw-line) !important; border-radius: 22px !important; background: #fff !important; }
body.cdc-cart-page .cart-item { border-radius: 0 !important; border: 0 !important; border-bottom: 1px solid var(--bw-line) !important; box-shadow: none !important; }
body.cdc-cart-page .cart-item:last-child { border-bottom: 0 !important; }
body.cdc-cart-page .ci-img, body.cdc-cart-page .ci-img-ph { border-radius: 14px !important; background: #f2eee8 !important; }
body.cdc-cart-page .ci-name { color: var(--bw-ink) !important; }
body.cdc-cart-page .ci-price { color: var(--bw-red-dark) !important; }
body.cdc-cart-page .qty-control button { border-color: var(--bw-line) !important; background: #fff !important; }
body.cdc-cart-page .cart-summary { border: 1px solid var(--bw-line) !important; border-radius: 22px !important; background: #fff !important; box-shadow: var(--bw-shadow) !important; }
body.cdc-cart-page .cart-summary,
body.cdc-cart-page .cart-summary-head,
body.cdc-cart-page .cart-summary .cs-row,
body.cdc-cart-page .cart-summary .cs-row span,
body.cdc-cart-page .cart-summary .cs-row.total { color: var(--bw-ink) !important; }
body.cdc-cart-page .cart-summary-head { background: #fff !important; border-bottom-color: var(--bw-line) !important; }
body.cdc-cart-page .checkout-btn { background: var(--bw-red) !important; border-radius: 12px !important; }
body.cdc-cart-page .coupon-input, body.cdc-cart-page .coupon-btn { border-radius: 11px !important; }

/* Checkout */
body.cdc-checkout-page #main-content { max-width: none !important; background: var(--bw-paper); }
body.cdc-checkout-page .co-shell { max-width: 1180px !important; grid-template-columns: minmax(0, 1fr) 380px !important; gap: 38px !important; padding-top: 48px !important; }
body.cdc-checkout-page .co-page-head h1 { font-family: "Big Shoulders Display", sans-serif !important; font-size: clamp(3rem, 6vw, 5rem) !important; font-weight: 900 !important; text-transform: uppercase; }
body.cdc-checkout-page .co-card, body.cdc-checkout-page .co-card-section { border-color: var(--bw-line) !important; border-radius: 22px !important; background: #fff !important; }
body.cdc-checkout-page .co-summary { border: 1px solid var(--bw-line) !important; border-radius: 22px !important; background: #fff !important; box-shadow: var(--bw-shadow) !important; }
body.cdc-checkout-page input:not([type="radio"]):not([type="checkbox"]), body.cdc-checkout-page select, body.cdc-checkout-page textarea { border-color: var(--bw-line) !important; border-radius: 11px !important; }
body.cdc-checkout-page input:focus, body.cdc-checkout-page select:focus, body.cdc-checkout-page textarea:focus { border-color: var(--bw-red) !important; box-shadow: 0 0 0 3px rgba(232,43,38,.1) !important; }
body.cdc-checkout-page input[type="radio"], body.cdc-checkout-page input[type="checkbox"] { accent-color: var(--bw-red); }
body.cdc-checkout-page button[type="submit"], body.cdc-checkout-page .checkout-button, body.cdc-checkout-page .btn-checkout { background: var(--bw-red) !important; border-radius: 12px !important; }

body.broadway-storefront .site-footer,
body.cdc-product-page .site-footer,
body.cdc-cart-page .site-footer,
body.cdc-checkout-page .site-footer { background: #211e1c !important; color: #e9e5df !important; }
body.broadway-storefront .site-footer__desc,
body.cdc-product-page .site-footer__desc,
body.cdc-cart-page .site-footer__desc,
body.cdc-checkout-page .site-footer__desc,
body.broadway-storefront .site-footer__bottom,
body.cdc-product-page .site-footer__bottom,
body.cdc-cart-page .site-footer__bottom,
body.cdc-checkout-page .site-footer__bottom { color: #aaa39c !important; }
body.broadway-storefront .site-footer__links a:hover,
body.broadway-storefront .site-footer__links button:hover,
body.cdc-product-page .site-footer__links a:hover,
body.cdc-product-page .site-footer__links button:hover,
body.cdc-cart-page .site-footer__links a:hover,
body.cdc-cart-page .site-footer__links button:hover,
body.cdc-checkout-page .site-footer__links a:hover,
body.cdc-checkout-page .site-footer__links button:hover { color: #ff5a54 !important; }

@media (max-width: 980px) {
    .bw-menu-layout { grid-template-columns: 1fr; }
    .bw-cart-rail { display: none; }
    .bw-mobile-cart { position: fixed; z-index: 40; left: 16px; right: 16px; bottom: 14px; display: flex; align-items: center; justify-content: space-between; padding: 14px 17px; border-radius: 15px; background: var(--bw-ink); color: #fff; text-decoration: none; box-shadow: 0 15px 35px rgba(0,0,0,.3); }
    body.cdc-cart-page .cart-shell, body.cdc-checkout-page .co-shell { grid-template-columns: 1fr !important; }
}

@media (max-width: 720px) {
    .reference-wrap { width: min(100% - 22px, 1180px); }
    .cdc-utility { display: none !important; }
    .bw-openbar { overflow: hidden; white-space: nowrap; font-size: .78rem; }
    .bw-promo-slider { width: calc(100% - 22px); padding-bottom: 34px; }
    .bw-promo-slide { transform: translateX(14px) rotate(1deg) scale(.985); }
    .bw-promo-slide.is-before { transform: translateX(-14px) rotate(-1deg) scale(.985); }
    .bw-promo-slide.is-after { transform: translateX(14px) rotate(1deg) scale(.985); }
    .bw-promo-controls { gap: 8px; padding: 4px 7px; }
    .bw-promo-arrow { width: 29px; height: 29px; }
    .bw-hero { grid-template-columns: 1fr; min-height: 0; border-radius: 22px; }
    .bw-hero-copy { padding: 20px 21px 16px; }
    .bw-eyebrow { margin-bottom: 9px; font-size: .68rem; }
    .bw-hero h1, .bw-hero h1.is-long { margin-bottom: 11px; font-size: 2.45rem; line-height: .9; }
    .bw-hero-copy p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin-bottom: 14px; font-size: .82rem; line-height: 1.45; }
    .bw-hero-actions { gap: 6px; }
    .bw-hero-actions .bw-primary { padding: 11px 14px; font-size: .82rem; }
    .bw-hero-link { padding: 10px; font-size: .8rem; }
    .bw-hero-visual { min-height: 0; height: 180px; }
    .bw-hero-visual img { width: 100%; height: 100%; object-fit: contain; transform: rotate(-2deg); }
    .bw-price-burst { top: 13px; left: 13px; width: 70px; font-size: .95rem; box-shadow: 0 0 0 4px rgba(255,255,255,.25); }
    .bw-price-burst small { font-size: .5rem; }
    .bw-category-bar { top: 66px; margin-top: 12px; }
    .bw-category-nav { width: min(100% - 22px, 1180px); display: block; }
    .bw-category-arrow { display: none !important; }
    .bw-category-scroll { padding-block: 11px; }
    .bw-category-pill { padding: 9px 13px; font-size: .84rem; }
    .bw-menu-layout { padding-top: 26px; }
    .bw-section-head h2 { font-size: 2rem; }
    .bw-section-head > span { display: none; }
    .bw-product-grid { grid-template-columns: 1fr; }
    .bw-product-card { min-height: 174px; grid-template-columns: minmax(0, 1fr) 132px; }
    .bw-product-copy { padding: 17px; }
    .bw-product-copy p { -webkit-line-clamp: 2; }
    .bw-restaurant-images { grid-template-columns: 1fr; }
    .bw-restaurant-images img { height: 220px; }
    body.cdc-product-page .pdp-wrap { grid-template-columns: 1fr !important; gap: 24px !important; }
    body.cdc-product-page .pdp-gallery { position: relative !important; top: 0 !important; }
    body.cdc-product-page .pdp-main-img-wrap { min-height: 330px !important; }
    body.cdc-product-page .pdp-title { font-size: 3rem !important; }
    body.cdc-cart-page .cart-shell, body.cdc-checkout-page .co-shell { padding: 26px 11px 90px !important; }
    body.cdc-cart-page .cart-page-head h1, body.cdc-checkout-page .co-page-head h1 { font-size: 3.2rem !important; }
}

@media (prefers-reduced-motion: reduce) {
    * { scroll-behavior: auto !important; transition: none !important; }
}
