    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --blue:#7AB3CC; --orange:#C94E1E; --mauve:#C98BB5;
      --yellow:#F5B820; --navy:#0D0D2B; --white:#FFFFFF; --offwhite:#F7F5F0;
      --font-script:'Yesteryear',cursive; --font-body:'Raleway',sans-serif;
    }
    html { scroll-behavior:smooth; }
    body { font-family:var(--font-body); background:var(--offwhite); color:var(--navy); }

    /* NAV */
    nav { background:#7AB3CC; display:flex; align-items:center; justify-content:space-between; padding:0 2.5rem; height:70px; position:sticky; top:0; z-index:200; }
    .nav-logo { display:flex; align-items:center; gap:0.6rem; text-decoration:none; }
    .nav-logo-main { font-family:'Yesteryear',cursive; font-weight:400; font-size:1.7rem; color:var(--navy); line-height:1; }
    nav ul { list-style:none; display:flex; gap:2rem; }
    nav ul a { color:var(--navy); text-decoration:none; font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.12em; transition:color 0.2s; }
    nav ul a:hover, nav ul a.active { color:var(--orange); }
    .nav-cart-btn { background:var(--orange); color:var(--white); border:none; border-radius:6px; padding:0.5rem 1.2rem; font-weight:700; font-family:var(--font-body); cursor:pointer; font-size:0.85rem; transition:background 0.2s; }
    .nav-cart-btn:hover { background:var(--yellow); color:var(--navy); }

    /* ── NAV SEARCH ── */
    .nav-search { position:relative; }
    .nav-search input[type="search"] { width:130px; padding:0.45rem 0.9rem; border:none; border-radius:20px; font-family:var(--font-body); font-size:0.8rem; background:rgba(255,255,255,0.55); color:var(--navy); transition:width 0.2s ease, background 0.2s ease; }
    .nav-search input[type="search"]::placeholder { color:rgba(13,13,43,0.55); }
    .nav-search input[type="search"]:focus { outline:none; width:190px; background:var(--white); }
    .nav-search-results { position:absolute; top:calc(100% + 0.6rem); right:0; width:280px; background:var(--white); border-radius:10px; box-shadow:0 8px 24px rgba(13,13,43,0.15); max-height:20rem; overflow-y:auto; display:none; z-index:300; }
    .nav-search-results.open { display:block; }
    .nsr-item { display:flex; align-items:center; gap:0.6rem; padding:0.6rem 0.8rem; text-decoration:none; color:inherit; border-bottom:1px solid #f0f0f0; }
    .nsr-item:last-child { border-bottom:none; }
    .nsr-item:hover { background:var(--offwhite); }
    .nsr-item img { width:36px; height:36px; border-radius:6px; object-fit:cover; flex-shrink:0; }
    .nsr-item-name { font-size:0.85rem; font-weight:700; color:var(--navy); }
    .nsr-empty { padding:0.8rem; font-size:0.82rem; color:#888; text-align:center; }
    @media (min-width:601px) { .nav-search-link { display:none; } }
    @media (max-width:600px) { .nav-search { display:none; } }
    .cart-badge { background:var(--yellow); color:var(--navy); border-radius:99px; padding:0.1rem 0.5rem; font-size:0.75rem; font-weight:800; }
    .hamburger { display:none; background:none; border:none; cursor:pointer; padding:0.4rem; flex-direction:column; gap:5px; }
    .hamburger span { display:block; width:22px; height:2px; background:var(--white); border-radius:2px; transition:all 0.25s; }
    .hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity:0; }
    .hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

    /* BREADCRUMB */
    .breadcrumb { padding:1rem 2.5rem; font-size:0.78rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:#6b6b6b; }
    .breadcrumb a { color:#6b6b6b; text-decoration:none; }
    .breadcrumb a:hover { color:var(--orange); }
    .breadcrumb span { color:var(--navy); }

    /* PRODUCT LAYOUT */
    .product-layout { display:grid; grid-template-columns:1fr 1fr; gap:3rem; max-width:1100px; margin:0 auto; padding:0 2.5rem 4rem; }

    /* IMAGE GALLERY */
    .gallery { display:flex; flex-direction:column; gap:1rem; }
    /* height:auto is required, not optional: the width/height HTML attributes added
       for CLS set a presentational height hint that otherwise wins over max-height's
       intended scaling, rendering the image at full native height. */
    .gallery-main { width:100%; height:auto; max-height:60vh; object-fit:contain; border-radius:16px; background:#f0f0f0; display:block; box-shadow:0 4px 24px rgba(13,13,43,0.08); }
    .gallery-thumbs { display:flex; gap:0.5rem; flex-wrap:wrap; }
    .gallery-thumb { width:72px; height:72px; object-fit:cover; border-radius:8px; cursor:pointer; border:3px solid transparent; transition:border-color 0.2s; opacity:0.7; transition:all 0.2s; }
    .gallery-thumb:hover { opacity:1; }
    .gallery-thumb.active { border-color:var(--orange); opacity:1; }
    .gallery-thumb-wrap { position:relative; width:72px; height:72px; flex-shrink:0; }
    .gallery-thumb-wrap .gallery-thumb { width:100%; height:100%; }
    .gallery-thumb-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:0; height:0; border-style:solid; border-width:8px 0 8px 13px; border-color:transparent transparent transparent #fff; filter:drop-shadow(0 1px 2px rgba(0,0,0,0.6)); pointer-events:none; }
    video.gallery-main { background:#000; }
    .gallery-main-placeholder { width:100%; aspect-ratio:1/1; max-height:60vh; border-radius:16px; background:#F4EDF9; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.5rem; font-size:3rem; box-shadow:0 4px 24px rgba(13,13,43,0.08); }
    .gallery-main-placeholder span { font-size:0.85rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:#999; }

    /* PRODUCT DETAILS */
    .product-details { display:flex; flex-direction:column; gap:1rem; padding-top:0.5rem; }
    .product-cat-label { font-size:0.68rem; font-weight:800; text-transform:uppercase; letter-spacing:0.15em; color:var(--orange); }
    .product-title { font-family:'Yesteryear',cursive; font-weight:400; font-size:clamp(2rem,4vw,3rem); line-height:1.1; color:var(--navy); }
    .product-price-display { font-size:1.1rem; font-weight:800; color:var(--navy); }
    .product-description { font-size:0.95rem; line-height:1.7; color:#444; white-space:pre-line; }
    .product-section-heading { font-size:0.95rem; font-weight:800; color:var(--navy); text-transform:uppercase; letter-spacing:0.06em; margin-top:0.6rem; }
    .product-specs { list-style:none; padding:0; margin:0; font-size:0.9rem; color:#444; }
    .product-specs li { padding:0.15rem 0; }
    .product-faq { margin-top:0.25rem; }
    .faq-item { border-top:1px solid #eee; padding:0.7rem 0; }
    .faq-item:first-of-type { border-top:none; padding-top:0; }
    .faq-q { font-size:0.9rem; font-weight:700; color:var(--navy); margin-bottom:0.25rem; }
    .faq-a { font-size:0.88rem; line-height:1.6; color:#444; }
    .product-blog-link { font-size:0.9rem; margin-top:0.5rem; }
    .product-blog-link a { color:var(--orange); font-weight:700; text-decoration:none; }
    .product-blog-link a:hover { text-decoration:underline; }
    .coming-soon-notice { background:#FFF8E8; border:2px solid var(--yellow); border-radius:10px; padding:0.9rem 1.1rem; margin-top:0.25rem; }
    .coming-soon-badge { display:inline-block; background:var(--yellow); color:var(--navy); font-weight:800; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; padding:0.3rem 0.7rem; border-radius:99px; margin-bottom:0.4rem; }
    .out-of-stock-badge { display:inline-block; background:#ddd; color:#777; font-weight:800; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; padding:0.3rem 0.7rem; border-radius:99px; margin-bottom:0.4rem; }
    .coming-soon-notice p { font-size:0.88rem; color:#555; }
    .play-cta-btn { display:inline-block; background:var(--orange); color:var(--white); border:none; border-radius:8px; padding:0.7rem 1.4rem; font-family:var(--font-body); font-weight:700; font-size:0.85rem; letter-spacing:0.05em; text-transform:uppercase; text-decoration:none; margin-top:0.7rem; transition:background 0.2s; }
    .play-cta-btn:hover { background:#a03a12; }
    .bulk-note { font-size:0.82rem; color:#666; font-style:italic; margin-top:0.5rem; }
    .bulk-note a { color:var(--orange); font-weight:700; }
    .pack-tiers-note { font-size:0.85rem; color:#555; margin-top:0.3rem; }
    .variant-static-list { list-style:none; padding:0; margin:0.4rem 0; font-size:0.92rem; color:var(--navy); }
    .variant-static-list li { padding:0.2rem 0; }
    /* Compact rating badge shown by the buy box, links down to the full reviews block */
    .rating-badge { display:inline-flex; align-items:center; gap:0.4rem; text-decoration:none; margin:0.15rem 0 0.5rem; font-size:0.85rem; }
    .rating-badge .stars { color:var(--yellow); font-size:1rem; letter-spacing:1px; }
    .rating-badge .stars-empty { color:#ccc; }
    .rating-badge-num { font-weight:800; color:var(--navy); }
    .rating-badge-count { color:#888; text-decoration:underline; }
    .rating-badge:hover .rating-badge-count { color:var(--orange); }
    .rating-badge-empty .rating-badge-count { text-decoration:none; }
    .rating-badge-empty:hover .rating-badge-count { color:var(--orange); text-decoration:underline; }

    .product-reviews { margin-top:0.25rem; }
    .reviews-heading { font-size:0.95rem; font-weight:800; color:var(--navy); margin-bottom:0.4rem; }
    .reviews-summary { display:flex; align-items:center; gap:0.5rem; font-size:0.85rem; color:#666; margin-bottom:0.9rem; }
    .reviews-summary .stars { color:var(--yellow); font-size:1.1rem; letter-spacing:1px; }
    .reviews-summary .rating-num { font-weight:700; color:var(--navy); }
    .review-card { border-top:1px solid #eee; padding:0.85rem 0; }
    .review-card:first-of-type { border-top:none; padding-top:0; }
    .review-card-top { display:flex; align-items:center; gap:0.5rem; margin-bottom:0.3rem; }
    .review-card-top .stars { color:var(--yellow); font-size:0.9rem; letter-spacing:1px; }
    .review-author { font-size:0.8rem; font-weight:700; color:var(--navy); }
    .review-text { font-size:0.88rem; line-height:1.6; color:#444; }
    .product-contents-list { margin-top:0.25rem; }
    .product-contents-list h4 { font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.1em; color:#aaa; margin-bottom:0.5rem; }
    .product-contents-list ul { list-style:none; display:flex; flex-wrap:wrap; gap:0.4rem; }
    .product-contents-list ul li { background:#f0f0f0; border-radius:99px; font-size:0.78rem; font-weight:600; color:var(--navy); }
    .product-contents-list ul li a { display:block; padding:0.25rem 0.75rem; color:inherit; text-decoration:none; }
    .product-contents-list ul li a:hover { color:var(--orange); }
    .product-divider { border:none; border-top:2px solid #eee; margin:0.5rem 0; }

    /* CART UI */
    .bundle-heading { font-size:0.88rem; font-weight:800; text-transform:uppercase; letter-spacing:0.12em; color:#444; margin-bottom:0.75rem; }
    .selected-summary { font-size:0.85rem; font-weight:700; color:var(--navy); margin-top:0.6rem; }
    .selection-summary { font-size:0.85rem; font-weight:700; color:var(--navy); min-height:1.4em; }
    .selection-summary span { color:var(--orange); }

    /* QTY STEPPER */
    .qty-row { display:flex; align-items:center; gap:1rem; margin-bottom:0.75rem; }
    .qty-label { font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#444; }
    .qty-stepper { display:flex; align-items:center; border:2px solid #7AB3CC; border-radius:8px; overflow:hidden; }
    .qty-btn { background:#7AB3CC; color:var(--white); border:none; width:34px; height:34px; font-size:1.1rem; font-weight:700; cursor:pointer; transition:background 0.15s; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
    .qty-btn:hover { background:var(--orange); }
    .qty-btn:active { transform:scale(0.92); }
    .qty-input { width:50px; height:34px; border:none; border-left:1.5px solid #ddd; border-right:1.5px solid #ddd; text-align:center; font-family:var(--font-body); font-weight:800; font-size:0.95rem; color:var(--navy); background:var(--white); -moz-appearance:textfield; }
    .qty-input::-webkit-outer-spin-button, .qty-input::-webkit-inner-spin-button { -webkit-appearance:none; }
    .qty-input:focus { outline:none; background:#f0f7fc; }

    /* ADD TO SELECTION / CART BUTTONS */
    .add-selection-btn { background:#7AB3CC; color:var(--white); border:none; border-radius:8px; padding:0.7rem 1.4rem; font-family:var(--font-body); font-weight:700; font-size:0.85rem; letter-spacing:0.05em; text-transform:uppercase; cursor:pointer; transition:background 0.2s; }
    .add-selection-btn:hover { background:var(--navy); }
    .add-selection-btn:active { transform:scale(0.97); }
    .add-cart-btn { background:var(--orange); color:var(--white); border:none; border-radius:8px; padding:0.7rem 1.4rem; font-family:var(--font-body); font-weight:700; font-size:0.85rem; letter-spacing:0.05em; text-transform:uppercase; cursor:pointer; transition:background 0.2s; }
    .add-cart-btn:hover { background:#a03a12; }
    .add-cart-btn:active { transform:scale(0.97); }

    /* BUNDLE OPTIONS */
    .bundle-options { display:flex; flex-direction:column; gap:0.6rem; margin-top:0.5rem; }
    .bundle-option { border:2px solid #ddd; border-radius:10px; padding:0.8rem 1.1rem; cursor:pointer; transition:all 0.2s; background:transparent; font-family:var(--font-body); color:var(--navy); text-align:left; width:100%; }
    .bundle-option:hover { border-color:var(--blue); }
    .bundle-option.ready { border-color:var(--yellow); background:rgba(245,184,32,0.08); }
    .bundle-option-name { font-weight:800; font-size:0.85rem; letter-spacing:0.05em; text-transform:uppercase; }
    .bundle-option-detail { font-size:0.78rem; color:#888; margin-top:0.1rem; }
    .bundle-option-price { font-size:1.05rem; font-weight:800; color:var(--navy); margin-top:0.15rem; }

    /* RELATED PRODUCTS */
    .related-products { max-width:1100px; margin:2.5rem auto 0; padding:2rem 2.5rem 0; border-top:1px solid #e6e2d8; }
    .related-heading { font-family:var(--font-script); font-weight:400; font-size:1.9rem; color:var(--navy); margin-bottom:1.2rem; text-align:center; }
    .related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:1.2rem; }
    .related-card { display:flex; flex-direction:column; text-decoration:none; color:inherit; background:var(--white); border-radius:12px; overflow:hidden; box-shadow:0 2px 10px rgba(13,13,43,0.07); transition:transform 0.2s, box-shadow 0.2s; }
    .related-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(13,13,43,0.14); }
    /* height:auto required — see .gallery-main comment above. */
    .related-img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block; background:#f2f0ea; }
    .related-name { font-weight:700; font-size:0.85rem; color:var(--navy); padding:0.6rem 0.7rem 0.1rem; }
    .related-price { font-size:0.78rem; color:#666; padding:0 0.7rem 0.7rem; }

    .back-link { font-size:0.82rem; font-weight:700; color:#444; text-decoration:none; letter-spacing:0.06em; text-transform:uppercase; transition:color 0.2s; margin-top:0.5rem; display:inline-block; }
    .back-link:hover { color:var(--orange); }

    /* CART MODAL */
    .cart-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:300; opacity:0; pointer-events:none; transition:opacity 0.2s; }
    .cart-overlay.open { opacity:1; pointer-events:all; }
    .cart-modal { position:fixed; right:0; top:0; bottom:0; width:min(420px,100vw); background:var(--white); z-index:301; transform:translateX(100%); transition:transform 0.3s cubic-bezier(0.34,1.1,0.64,1); overflow-y:auto; display:flex; flex-direction:column; }
    .cart-modal.open { transform:translateX(0); }
    .cart-modal-header { background:#7AB3CC; padding:1.5rem; display:flex; align-items:center; justify-content:space-between; }
    .cart-modal-title { font-family:var(--font-script); font-weight:400; font-size:2rem; color:var(--white); }
    .cart-modal-close { background:none; border:none; color:rgba(255,255,255,0.8); font-size:1.4rem; cursor:pointer; }
    .cart-modal-close:hover { color:var(--white); }
    .cart-items { padding:1.2rem 1.5rem; flex:1; }
    .cart-item { display:flex; justify-content:space-between; align-items:flex-start; padding:0.9rem 0; border-bottom:1px solid #eee; gap:1rem; }
    .cart-item-name { font-weight:700; font-size:0.95rem; }
    .cart-item-detail { font-size:0.8rem; color:#888; margin-top:0.2rem; line-height:1.4; }
    .cart-item-right { display:flex; align-items:center; gap:0.4rem; flex-shrink:0; }
    .cart-item-price { font-weight:800; font-size:1rem; color:var(--orange); }
    .cart-item-remove { background:none; border:none; color:#ccc; cursor:pointer; font-size:1rem; }
    .cart-item-remove:hover { color:var(--orange); }
    .cart-item-qty { display:flex; align-items:center; gap:0.4rem; }
    .cart-item-qty-btn { width:26px; height:26px; border-radius:6px; border:1px solid #ddd; background:var(--white); color:var(--navy); font-size:0.95rem; line-height:1; cursor:pointer; }
    .cart-item-qty-btn:hover { border-color:var(--orange); color:var(--orange); }
    .cart-item-qty-num { font-weight:700; font-size:0.85rem; min-width:1.1rem; text-align:center; }
    .cart-empty { text-align:center; padding:3rem 1rem; color:#bbb; }
    .cart-footer { padding:1.2rem 1.5rem; border-top:2px solid #eee; background:var(--white); }
    .cart-total { display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; }
    .cart-total-label { font-weight:700; font-size:0.9rem; text-transform:uppercase; letter-spacing:0.08em; }
    .cart-total-price { font-family:var(--font-script); font-weight:400; font-size:2rem; color:var(--navy); }
    .checkout-btn { width:100%; background:var(--orange); color:var(--white); border:none; border-radius:10px; padding:1rem; font-family:var(--font-body); font-weight:800; font-size:1rem; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; transition:background 0.2s; }
    .checkout-btn:hover:not(:disabled) { background:#5a93b0; }
    .checkout-btn:disabled { background:#ccc; cursor:default; }

    /* SHIPPING STEP */
    .shipping-step { display:none; flex-direction:column; height:100%; }
    .shipping-step.active { display:flex; }
    .shipping-step-header { background:#7AB3CC; padding:1.5rem; display:flex; align-items:center; gap:0.8rem; }
    .shipping-back-btn { background:none; border:none; color:rgba(255,255,255,0.8); font-size:1.2rem; cursor:pointer; padding:0; line-height:1; }
    .shipping-back-btn:hover { color:var(--white); }
    .shipping-step-title { font-family:var(--font-script); font-weight:400; font-size:2rem; color:var(--white); }
    .shipping-body { padding:1.2rem 1.5rem; flex:1; overflow-y:auto; }
    .shipping-section-label { font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.1em; color:#aaa; margin:0.8rem 0 0.5rem; }
    .shipping-free-note { font-size:0.78rem; color:#1f8a4c; font-weight:700; margin-bottom:0.5rem; }
    /* Rendered as <button> so it's keyboard-reachable; reset the UA button styling. */
    .shipping-option-card { display:block; width:100%; text-align:left; font-family:var(--font-body); color:var(--navy); background:var(--white); border:2px solid #eee; border-radius:10px; padding:0.9rem 1.1rem; cursor:pointer; transition:all 0.2s; margin-bottom:0.5rem; }
    /* Visible keyboard focus — several inputs below set outline:none with no replacement. */
    :focus-visible { outline:3px solid var(--orange); outline-offset:2px; border-radius:4px; }
    .qty-input:focus-visible, .shipping-zip-input:focus-visible { outline:3px solid var(--orange); outline-offset:0; }
    .shipping-option-card:hover { border-color:var(--blue); }
    .shipping-option-card.selected { border-color:var(--orange); background:#fff5f2; }
    .shipping-option-name { font-weight:800; font-size:0.9rem; color:var(--navy); }
    .shipping-option-detail { font-size:0.75rem; color:#888; margin-top:0.2rem; line-height:1.4; }
    .shipping-option-price { font-weight:800; font-size:1rem; color:var(--orange); margin-top:0.3rem; }
    .shipping-zip-row { display:flex; gap:0.5rem; margin-top:0.5rem; }
    .shipping-zip-input { flex:1; border:2px solid #ddd; border-radius:8px; padding:0.6rem 0.8rem; font-family:var(--font-body); font-size:0.9rem; color:var(--navy); }
    .shipping-zip-input:focus { outline:none; border-color:var(--blue); }
    .shipping-zip-btn { background:#7AB3CC; color:var(--white); border:none; border-radius:8px; padding:0.6rem 1rem; font-family:var(--font-body); font-weight:700; font-size:0.85rem; cursor:pointer; white-space:nowrap; transition:background 0.2s; }
    .shipping-zip-btn:hover { background:var(--orange); }
    .shipping-zip-btn:disabled { background:#ccc; cursor:default; }
    .shipping-rates-loading { font-size:0.85rem; color:#aaa; padding:0.5rem 0; }
    .shipping-rates-error { font-size:0.85rem; color:var(--orange); padding:0.5rem 0; }
    .shipping-footer { padding:1.2rem 1.5rem; border-top:2px solid #eee; background:var(--white); }
    .shipping-total-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:0.4rem; }
    .shipping-total-label { font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#888; }
    .shipping-total-value { font-weight:700; font-size:0.95rem; color:var(--navy); }

    /* TOAST */
    .toast { position:fixed; bottom:2rem; right:2rem; background:#7AB3CC; color:var(--navy); border-left:4px solid var(--orange); padding:0.9rem 1.5rem; border-radius:8px; font-weight:600; font-size:0.9rem; box-shadow:0 8px 30px rgba(0,0,0,0.2); transform:translateY(20px); opacity:0; transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1); z-index:999; pointer-events:none; }
    .toast.show { transform:translateY(0); opacity:1; }

    /* WAVE + FOOTER */
    .wave { display:block; width:100%; }
    footer { background:#7AB3CC; color:var(--navy); text-align:center; padding:2rem; font-size:0.8rem; }
    footer a { color:var(--navy); text-decoration:none; }
    .footer-logo { font-family:'Yesteryear',cursive; font-weight:400; font-size:1.8rem; color:var(--navy); display:block; margin-bottom:0.5rem; }

    /* ERROR STATE */
    .error-state { text-align:center; padding:6rem 2rem; }
    .error-state h2 { font-family:var(--font-script); font-size:2.5rem; color:var(--navy); margin-bottom:1rem; }
    .error-state p { color:#888; margin-bottom:1.5rem; }
    .error-state a { color:var(--orange); font-weight:700; }

    /* RESPONSIVE */
    @media(max-width:700px) {
      nav ul { display:none; flex-direction:column; gap:0; position:absolute; top:70px; left:0; right:0; background:#7AB3CC; padding:1rem 2rem; border-top:1px solid rgba(13,13,43,0.1); z-index:99; }
      nav ul.open { display:flex; }
      nav ul li a { display:block; padding:0.75rem 0; font-size:0.9rem; }
      .hamburger { display:flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; }
      .nav-cart-btn { min-height:44px; padding:0.7rem 1.2rem; }
      .qty-btn { width:38px; height:38px; }
      nav { padding:0 1.25rem; }
      .breadcrumb { padding:0.75rem 1.25rem; }
      .product-layout { grid-template-columns:1fr; gap:1.5rem; padding:0 1.25rem 3rem; }
      .gallery-main { border-radius:12px; }
      .qty-input { font-size:16px; }
    }
    /* Sticky Add to Cart shows on all viewports once the real button scrolls out of view
       (product-app.js toggles .visible). On desktop the price + button are centered
       instead of pushed to the edges of a wide bar. */
    .sticky-add-bar { display:none; position:fixed; left:0; right:0; bottom:0; z-index:150; background:var(--white); box-shadow:0 -4px 16px rgba(13,13,43,0.12); padding:0.7rem 1.25rem; align-items:center; justify-content:space-between; gap:1rem; }
    .sticky-add-bar.visible { display:flex; }
    @media (min-width:601px) { .sticky-add-bar { justify-content:center; gap:1.75rem; } }
    .sticky-add-bar-price { font-weight:800; color:var(--navy); font-size:1rem; }
    .sticky-add-bar .add-cart-btn { flex-shrink:0; }

    /* Pack-tier conversion cues: per-unit price + savings badge */
    .bundle-option-perunit { font-size:0.72rem; color:#888; margin-top:0.15rem; }
    .bundle-option-save { display:inline-block; margin-left:0.4rem; background:var(--orange); color:#fff; font-size:0.62rem; font-weight:800; letter-spacing:0.04em; padding:0.1rem 0.4rem; border-radius:6px; text-transform:uppercase; vertical-align:middle; }
    /* Trust line directly under the Add to Cart button in the buy box */
    .buy-trust { font-size:0.74rem; color:#555; line-height:1.5; margin-top:0.7rem; text-align:center; }
    .buy-trust a { color:var(--orange); font-weight:700; text-decoration:none; }
    .buy-trust a:hover { text-decoration:underline; }

    /* Trust + checkout clarity */
    .cart-trust { font-size:0.72rem; color:#555; line-height:1.5; margin-top:0.6rem; text-align:center; }
    .cart-trust a { color:var(--orange); font-weight:700; }
    .checkout-secure { font-size:0.7rem; color:#666; text-align:center; margin-top:0.6rem; line-height:1.4; }
    .checkout-error { background:#FFF3F0; border:1px solid #E8B4A6; border-radius:8px; padding:0.7rem 0.9rem; font-size:0.8rem; color:#8A2F12; line-height:1.5; margin-top:0.7rem; }
    .checkout-error a { color:#8A2F12; font-weight:700; }
