/* ═══════════════════════════════════════════
   BERBIE BEAUTY — SHARED STYLESHEET
   ═══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,600&family=Jost:wght@200;300;400;500;600&display=swap');

/* ── TOKENS ── */
:root {
  --blush:       #ddb0b5;
  --blush-lt:    #f0d4d7;
  --blush-mid:   #c8909a;
  --blush-dk:    #a06070;
  --onyx:        #0e0c0d;
  --charcoal:    #1a1618;
  --cream:       #fdf6f2;
  --warm-white:  #faf3ee;
  --gold:        #c9a96e;
  --text:        #1a1618;
  --text-muted:  #6b5458;
  --border:      rgba(221,176,181,0.25);
  --shadow:      0 4px 40px rgba(160,96,112,.1);
}

/* ── RESET ── */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Jost',sans-serif; background:var(--cream); color:var(--text); overflow-x:hidden; }
a { color:inherit; }
img { display:block; max-width:100%; }
button { font-family:'Jost',sans-serif; }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-thumb { background:var(--blush); }

/* ── CURSOR (desktop) ── */
.bb-cursor { display:none; }
.bb-cursor-ring { display:none; }

/* ── TOAST ── */
#bb-toast { position:fixed; bottom:28px; right:28px; background:var(--onyx); color:var(--cream); padding:13px 20px; font-size:12px; letter-spacing:.4px; z-index:9000; transform:translateY(16px); opacity:0; transition:all .4s; display:flex; align-items:center; gap:9px; max-width:300px; pointer-events:none; }
#bb-toast.show { transform:translateY(0); opacity:1; }
.toast-dot { width:7px; height:7px; background:var(--blush); border-radius:50%; flex-shrink:0; }

/* announce ticker removed */

/* ══ NAV ══════════════════════════════════════ */
.bb-nav { position:sticky; top:0; left:0; right:0; z-index:1000; background:rgba(253,246,242,.97); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
.bb-nav.scrolled { box-shadow:var(--shadow); }
.bb-nav-inner { max-width:1400px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:68px; padding:0 36px; gap:24px; }

/* Logo */
.bb-logo { display:flex; align-items:center; gap:10px; text-decoration:none; cursor:pointer; flex-shrink:0; }
.bb-logo img { height:38px; object-fit:contain; display:block; filter:brightness(0) saturate(100%); border:none; outline:none; }
.bb-logo-text { font-family:'Cormorant Garamond',serif; font-size:21px; font-weight:600; letter-spacing:.5px; color:var(--onyx); line-height:1; white-space:nowrap; }
.bb-logo-text em { font-style:italic; color:var(--blush-dk); }

/* Desktop nav links */
.bb-nav-links { display:flex; align-items:center; gap:0; list-style:none; }
.bb-nav-links li { position:relative; }
.bb-nav-links a { display:flex; align-items:center; gap:5px; padding:8px 16px; text-decoration:none; font-size:10.5px; letter-spacing:2px; text-transform:uppercase; font-weight:400; color:var(--text-muted); transition:color .2s; cursor:pointer; white-space:nowrap; }
.bb-nav-links a::after { content:''; position:absolute; bottom:0; left:16px; right:16px; height:1.5px; background:var(--blush-mid); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.bb-nav-links a:hover, .bb-nav-links a.active { color:var(--blush-dk); }
.bb-nav-links a:hover::after, .bb-nav-links a.active::after { transform:scaleX(1); }
.bb-nav-links a svg { transition:transform .2s; }
.bb-has-drop:hover > a svg { transform:rotate(180deg); }

/* ── MEGA DROPDOWN ── */
.bb-has-drop { }
.bb-dropdown { position:absolute; top:calc(100% + 1px); left:50%; transform:translateX(-50%); background:var(--cream); border:1px solid var(--border); box-shadow:0 16px 48px rgba(14,12,13,.12); width:540px; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(-50%) translateY(8px); transition:opacity .25s, transform .25s, visibility .25s; }
.bb-has-drop:hover .bb-dropdown { opacity:1; visibility:visible; pointer-events:all; transform:translateX(-50%) translateY(0); }
.bb-dropdown-inner { display:grid; grid-template-columns:1fr 1fr 160px; }
.bb-dropdown-col { padding:24px 20px; border-right:1px solid var(--border); }
.bb-dropdown-col:last-of-type { border-right:none; }
.bb-dropdown-heading { font-size:8.5px; letter-spacing:2.5px; text-transform:uppercase; color:var(--text-muted); font-weight:500; margin-bottom:14px; }
.bb-dropdown-col a { display:flex; align-items:center; gap:9px; padding:7px 0; text-decoration:none; font-size:13px; color:var(--text); transition:color .2s; cursor:pointer; }
.bb-dropdown-col a:hover { color:var(--blush-dk); }
.dd-swatch { width:10px; height:10px; border-radius:50%; flex-shrink:0; border:1px solid rgba(14,12,13,.12); }
.bb-dropdown-feature { padding:20px 16px; background:var(--warm-white); display:flex; flex-direction:column; }
.bb-dropdown-feat-img { aspect-ratio:1; overflow:hidden; background:linear-gradient(135deg,#1a0d10,#3d2030); margin-bottom:12px; display:flex; align-items:center; justify-content:center; }
.bb-dropdown-feat-img img { width:100%; height:100%; object-fit:cover; }
.bb-dropdown-feat-label { font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--blush-dk); margin-bottom:4px; }
.bb-dropdown-feat-name { font-family:'Cormorant Garamond',serif; font-size:16px; font-weight:500; color:var(--onyx); margin-bottom:10px; }
.bb-dropdown-feat-link { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--onyx); text-decoration:none; cursor:pointer; border-bottom:1px solid currentColor; padding-bottom:1px; display:inline; transition:color .2s; }
.bb-dropdown-feat-link:hover { color:var(--blush-dk); }

/* Nav actions */
.bb-nav-actions { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.bb-currency-toggle { display:flex; align-items:center; gap:2px; background:rgba(14,12,13,.07); padding:3px; margin-right:2px; }
.bb-currency-btn { background:none; border:none; padding:5px 9px; font-size:9px; letter-spacing:1.5px; font-family:'Jost',sans-serif; font-weight:500; color:var(--text-muted); cursor:pointer; transition:all .2s; white-space:nowrap; }
.bb-currency-btn.active { background:var(--onyx); color:var(--cream); }
.bb-currency-btn:hover:not(.active) { color:var(--onyx); }
.bb-nav-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:none; border:none; cursor:pointer; color:var(--text-muted); transition:color .2s; }
.bb-nav-icon:hover { color:var(--blush-dk); }
.bb-nav-cart { display:flex; align-items:center; gap:7px; background:var(--onyx); color:var(--cream); border:none; padding:10px 18px; font-size:10px; letter-spacing:2px; text-transform:uppercase; font-weight:400; cursor:pointer; transition:background .25s; }
.bb-nav-cart:hover { background:var(--blush-dk); }
.bb-cart-label { }
.cart-count { background:var(--blush); color:var(--onyx); width:18px; height:18px; border-radius:50%; font-size:9px; display:inline-flex; align-items:center; justify-content:center; font-weight:700; }
.bb-hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; }
.bb-hamburger span { display:block; width:22px; height:1.5px; background:var(--onyx); transition:all .3s; }

/* ══ MOBILE MENU ══════════════════════════════ */
.bb-mobile-menu { position:fixed; inset:0; z-index:1200; pointer-events:none; }
.bb-mobile-menu.open { pointer-events:all; }
.bb-mobile-overlay { position:absolute; inset:0; background:rgba(14,12,13,.55); opacity:0; transition:opacity .4s; backdrop-filter:blur(4px); }
.bb-mobile-menu.open .bb-mobile-overlay { opacity:1; }
.bb-mobile-panel { position:absolute; right:0; top:0; bottom:0; width:min(360px,100vw); background:var(--cream); transform:translateX(100%); transition:transform .45s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; overflow-y:auto; }
.bb-mobile-menu.open .bb-mobile-panel { transform:translateX(0); }
.bb-mobile-head { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--border); }
.bb-mobile-body { flex:1; padding:8px 0; }
.bb-mob-link { display:block; padding:15px 24px; text-decoration:none; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text); transition:color .2s, background .2s; }
.bb-mob-link:hover, .bb-mob-link.active { color:var(--blush-dk); background:rgba(221,176,181,.07); }
.bb-mob-acc { border-bottom:1px solid rgba(221,176,181,.12); }
.bb-mob-acc-trigger { display:flex; align-items:center; justify-content:space-between; width:100%; padding:15px 24px; background:none; border:none; cursor:pointer; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text); font-family:'Jost',sans-serif; }
.bb-mob-acc-trigger.open { color:var(--blush-dk); }
.bb-mob-acc-arrow { transition:transform .3s; flex-shrink:0; }
.bb-mob-acc-trigger.open .bb-mob-acc-arrow { transform:rotate(180deg); }
.bb-mob-acc-body { display:none; background:rgba(221,176,181,.04); border-top:1px solid rgba(221,176,181,.12); }
.bb-mob-acc-body.open { display:block; }
.bb-mob-acc-body a { display:block; padding:12px 24px 12px 36px; text-decoration:none; font-size:12px; color:var(--text-muted); transition:color .2s; }
.bb-mob-acc-body a:hover { color:var(--blush-dk); }
.bb-mobile-foot { padding:24px; border-top:1px solid var(--border); }

/* ══ OVERLAYS ═════════════════════════════════ */
.bb-overlay { position:fixed; inset:0; background:rgba(14,12,13,.55); z-index:1800; opacity:0; pointer-events:none; transition:opacity .35s; backdrop-filter:blur(4px); }
.bb-overlay.open { opacity:1; pointer-events:all; }

/* ══ DRAWERS (Cart + Wishlist) ════════════════ */
.bb-drawer { position:fixed; top:0; right:0; bottom:0; width:min(420px,100vw); background:var(--cream); z-index:1900; transform:translateX(110%); transition:transform .45s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; box-shadow:-6px 0 48px rgba(14,12,13,.16); }
.bb-drawer.open { transform:translateX(0); }
.bb-drawer-head { padding:22px 26px; border-bottom:1px solid var(--border); display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-shrink:0; }
.bb-drawer-title { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:500; color:var(--onyx); }
.bb-drawer-sub { font-size:11px; color:var(--text-muted); margin-top:2px; letter-spacing:.3px; }
.bb-drawer-body { flex:1; overflow-y:auto; padding:20px 26px; }
.bb-drawer-empty { text-align:center; padding:60px 20px; }
.bb-icon-btn { display:flex; align-items:center; justify-content:center; width:36px; height:36px; background:none; border:none; cursor:pointer; color:var(--text-muted); transition:color .2s; flex-shrink:0; }
.bb-icon-btn:hover { color:var(--onyx); }

/* Cart items */
.bb-ci { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--border); }
.bb-ci-img { width:68px; height:86px; background:#f5eeeb; flex-shrink:0; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.bb-ci-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.bb-ci-img span { font-family:'Cormorant Garamond',serif; font-size:26px; font-style:italic; color:rgba(160,96,112,.35); z-index:0; display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.bb-ci-info { flex:1; }
.bb-ci-name { font-family:'Cormorant Garamond',serif; font-size:15px; font-weight:500; color:var(--onyx); margin-bottom:4px; line-height:1.3; }
.bb-ci-meta { font-size:10px; color:var(--text-muted); letter-spacing:.8px; margin-bottom:6px; }
.bb-ci-price { font-family:'Cormorant Garamond',serif; font-size:16px; font-weight:500; color:var(--blush-dk); }
.bb-cart-foot { padding:18px 26px 26px; border-top:1px solid var(--border); flex-shrink:0; }
.bb-cart-totals { margin-bottom:16px; }
.bb-cart-total-row { display:flex; justify-content:space-between; font-size:13px; color:var(--text); margin-bottom:6px; }
.bb-cart-total-row.muted span:last-child { color:var(--text-muted); }

/* Wishlist items */
.bb-wl-item { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--border); }
.bb-wl-thumb { width:68px; height:86px; background:var(--blush-lt); flex-shrink:0; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.bb-wl-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bb-wl-thumb span { font-family:'Cormorant Garamond',serif; font-size:26px; font-style:italic; color:rgba(160,96,112,.35); z-index:0; }
.bb-wl-info { flex:1; min-width:0; }
.bb-wl-cat { font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:3px; }
.bb-wl-name { font-family:'Cormorant Garamond',serif; font-size:15px; font-weight:500; color:var(--onyx); margin-bottom:4px; line-height:1.3; }
.bb-wl-price { font-family:'Cormorant Garamond',serif; font-size:15px; color:var(--blush-dk); margin-bottom:10px; }
.bb-wl-add { background:var(--onyx); color:var(--cream); border:none; padding:6px 14px; font-size:9px; letter-spacing:2px; text-transform:uppercase; cursor:pointer; font-family:'Jost',sans-serif; font-weight:500; transition:background .2s; }
.bb-wl-add:hover { background:var(--blush-dk); }

/* ══ SEARCH MODAL ═════════════════════════════ */
.bb-search-modal { position:fixed; inset:0; z-index:2000; display:none; flex-direction:column; }
.bb-search-modal.open { display:flex; animation:fade-in .2s ease; }
@keyframes fade-in { from{opacity:0} to{opacity:1} }
.bb-search-backdrop { position:absolute; inset:0; background:rgba(14,12,13,.85); backdrop-filter:blur(12px); }
.bb-search-panel { position:relative; z-index:1; background:var(--cream); width:100%; box-shadow:0 4px 40px rgba(14,12,13,.2); pointer-events:all; }
.bb-search-bar { display:flex; align-items:center; gap:12px; padding:0 24px; height:64px; border-bottom:1px solid var(--border); }
.bb-search-icon { flex-shrink:0; color:var(--text-muted); }
.bb-search-input { flex:1; border:none; background:none; font-family:'Jost',sans-serif; font-size:16px; color:var(--onyx); outline:none; }
.bb-search-input::placeholder { color:rgba(14,12,13,.3); }
.bb-search-clear { display:none; align-items:center; justify-content:center; width:32px; height:32px; background:rgba(14,12,13,.08); border:none; border-radius:50%; cursor:pointer; color:var(--text-muted); flex-shrink:0; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.bb-search-clear:hover { background:rgba(14,12,13,.15); }
.bb-search-cancel { background:none; border:none; cursor:pointer; font-size:13px; color:var(--blush-dk); font-weight:500; letter-spacing:.5px; white-space:nowrap; padding:8px 0 8px 12px; flex-shrink:0; transition:color .2s; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.bb-search-cancel:hover { color:var(--onyx); }
.bb-search-results { max-height:min(60vh,480px); overflow-y:auto; }
.bb-search-hints { padding:20px 24px; }
.bb-search-hint-label { font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:12px; font-weight:500; }
.bb-search-tags { display:flex; flex-wrap:wrap; gap:8px; }
.bb-stag { background:none; border:1.5px solid var(--border); padding:7px 14px; font-size:11px; color:var(--text-muted); cursor:pointer; font-family:'Jost',sans-serif; transition:all .2s; letter-spacing:.5px; border-radius:0; }
.bb-stag:hover { border-color:var(--blush-mid); color:var(--blush-dk); background:rgba(221,176,181,.08); }
.bb-search-row { display:flex; align-items:center; gap:14px; padding:12px 24px; text-decoration:none; border-top:1px solid var(--border); transition:background .2s; cursor:pointer; }
.bb-search-row:hover { background:rgba(221,176,181,.08); }
.bb-sr-thumb { width:48px; height:60px; background:var(--blush-lt); flex-shrink:0; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.bb-sr-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bb-sr-thumb span { font-family:'Cormorant Garamond',serif; font-size:18px; font-style:italic; color:rgba(160,96,112,.4); }
.bb-sr-info { flex:1; display:flex; flex-direction:column; gap:2px; }
.bb-sr-cat { font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); }
.bb-sr-name { font-family:'Cormorant Garamond',serif; font-size:16px; color:var(--onyx); }
.bb-sr-price { font-family:'Cormorant Garamond',serif; font-size:14px; color:var(--blush-dk); }
.bb-search-empty { padding:28px 24px; font-size:14px; color:var(--text-muted); }

/* ══ SIZE MODAL ═══════════════════════════════ */
.bb-modal { position:fixed; inset:0; z-index:3000; display:none; align-items:center; justify-content:center; padding:20px; }
.bb-modal.open { display:flex; animation:fade-in .2s ease; }
.bb-modal-backdrop { position:absolute; inset:0; background:rgba(14,12,13,.75); backdrop-filter:blur(8px); }
.bb-modal-panel { position:relative; z-index:1; background:var(--cream); width:min(640px,100%); max-height:88vh; overflow-y:auto; padding:44px 40px 36px; animation:slide-up .3s ease; }
@keyframes slide-up { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.bb-modal-close { position:absolute; top:16px; right:16px; }
.bb-size-title { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:400; margin-bottom:6px; }
.bb-size-sub { font-size:12px; color:var(--text-muted); margin-bottom:24px; line-height:1.6; }
.bb-size-heading { font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--blush-dk); margin-bottom:12px; font-weight:500; }
.bb-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:8px; }
.bb-size-table { width:100%; border-collapse:collapse; min-width:320px; }
.bb-size-table th { background:var(--onyx); color:var(--blush); padding:10px 14px; font-size:9px; letter-spacing:2px; text-transform:uppercase; font-weight:400; text-align:center; }
.bb-size-table th:first-child { text-align:left; }
.bb-size-table td { padding:10px 14px; border-bottom:1px solid rgba(221,176,181,.2); font-size:13px; text-align:center; }
.bb-size-table td:first-child { font-weight:600; font-family:'Cormorant Garamond',serif; font-size:15px; text-align:left; }
.bb-size-table tbody tr:hover td { background:rgba(221,176,181,.07); }
.bb-size-tip { font-size:11px; color:var(--text-muted); line-height:1.7; margin-top:16px; }

/* ══ BUTTONS ══════════════════════════════════ */
.btn-primary { background:var(--blush); color:var(--onyx); border:none; padding:14px 32px; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:2.5px; text-transform:uppercase; font-weight:500; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:background .3s; }
.btn-primary:hover { background:var(--blush-mid); }
.btn-dark { background:var(--onyx); color:var(--cream); border:none; padding:14px 32px; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:2.5px; text-transform:uppercase; font-weight:400; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:background .3s; }
.btn-dark:hover { background:#2d1a1e; }
.btn-ghost { background:transparent; border:1.5px solid currentColor; padding:13px 32px; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:2.5px; text-transform:uppercase; font-weight:400; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:all .3s; }

/* ══ PRODUCT CARD ═════════════════════════════ */
.bb-product-card { cursor:auto; }
.bb-pcard-media { position:relative; overflow:hidden; aspect-ratio:3/4; cursor:pointer; }
.bb-pcard-img { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transition:opacity .4s; overflow:hidden; }
.bb-pcard-img.hidden { opacity:0; pointer-events:none; }
.bb-pcard-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.bb-product-card:hover .bb-pcard-img img { transform:scale(1.05); }
.bb-pcard-letter { font-family:'Cormorant Garamond',serif; font-size:54px; font-style:italic; font-weight:700; color:rgba(221,176,181,.2); z-index:0; pointer-events:none; }
.bb-badge { position:absolute; top:12px; left:12px; z-index:2; font-size:8px; letter-spacing:2px; text-transform:uppercase; font-weight:600; padding:4px 10px; }
.bb-badge-hot  { background:var(--blush-dk); color:var(--cream); }
.bb-badge-new  { background:var(--onyx); color:var(--blush); }
.bb-badge-sale { background:var(--gold); color:var(--onyx); }
.bb-badge-drop { background:var(--blush); color:var(--onyx); }
.bb-pcard-actions { position:absolute; bottom:12px; right:10px; display:flex; flex-direction:column; gap:6px; opacity:0; transform:translateX(8px); transition:all .3s; z-index:2; }
.bb-product-card:hover .bb-pcard-actions { opacity:1; transform:translateX(0); }
.bb-pcard-btn { width:36px; height:36px; background:rgba(253,246,242,.92); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--onyx); transition:background .2s; }
.bb-pcard-btn:hover { background:var(--blush); }
.bb-pcard-colors { display:flex; gap:6px; margin:12px 0 5px; }
.bb-color-dot { width:17px; height:17px; border-radius:50%; border:2px solid transparent; cursor:pointer; transition:transform .2s, box-shadow .2s; padding:0; }
.bb-color-dot:hover { transform:scale(1.2); }
.bb-color-dot.active { border-color:var(--onyx); box-shadow:0 0 0 2px var(--cream); }
.bb-pcard-cat { font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:4px; }
.bb-pcard-name { font-family:'Cormorant Garamond',serif; font-size:17px; font-weight:500; color:var(--onyx); margin-bottom:8px; line-height:1.3; cursor:pointer; }
.bb-pcard-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.bb-pcard-price { font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:500; color:var(--onyx); }
.bb-pcard-old { font-size:13px; color:var(--text-muted); text-decoration:line-through; margin-left:6px; }
.bb-pcard-add { background:none; border:1.5px solid rgba(14,12,13,.2); padding:6px 12px; font-size:9px; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; transition:all .25s; color:var(--onyx); font-weight:400; white-space:nowrap; }
.bb-pcard-add:hover { background:var(--onyx); color:var(--cream); border-color:var(--onyx); }

/* ══ SHARED SECTIONS ══════════════════════════ */
.bb-container { max-width:1400px; margin:0 auto; padding:0 40px; }
.bb-eyebrow { display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:14px; }
.bb-eyebrow-line { width:44px; height:1px; background:var(--blush); }
.bb-eyebrow span { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--blush-dk); font-weight:400; }
.bb-section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(32px,4vw,52px); font-weight:300; color:var(--onyx); line-height:1.1; }
.bb-section-title em { font-style:italic; color:var(--blush-dk); }
.bb-section-sub { font-size:13px; color:var(--text-muted); margin-top:10px; line-height:1.7; font-weight:300; }
.bb-section-header { text-align:center; margin-bottom:52px; }
.bb-fade { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.bb-fade.d1 { transition-delay:.1s; } .bb-fade.d2 { transition-delay:.2s; } .bb-fade.d3 { transition-delay:.3s; }
.bb-fade.visible { opacity:1; transform:translateY(0); }
.bb-marquee { background:var(--blush); padding:13px 0; overflow:hidden; }
.bb-marquee-track { display:flex; animation:ticker 32s linear infinite; white-space:nowrap; }
.bb-marquee-track span { font-size:10px; letter-spacing:3px; text-transform:uppercase; font-weight:400; color:var(--onyx); padding:0 24px; flex-shrink:0; }
.bb-marquee-track .dot { color:var(--blush-dk); font-size:5px; vertical-align:middle; }

/* ══ FOOTER ═══════════════════════════════════ */
.bb-footer { background:var(--onyx); padding:72px 0 0; }
.bb-footer-inner { max-width:1400px; margin:0 auto; padding:0 40px 56px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; border-bottom:1px solid rgba(221,176,181,.1); }
.bb-footer-logo { display:flex; align-items:center; gap:10px; text-decoration:none; margin-bottom:16px; }
.bb-footer-logo img { height:30px; filter:brightness(0) invert(1); opacity:.85; }
.bb-footer-name { font-family:'Cormorant Garamond',serif; font-size:19px; font-weight:600; color:var(--cream); letter-spacing:.5px; }
.bb-footer-name em { font-style:italic; color:var(--blush); }
.bb-footer-desc { font-size:12px; color:rgba(253,246,242,.4); line-height:1.8; margin-bottom:22px; font-weight:300; max-width:260px; }
.bb-footer-socials { display:flex; gap:8px; }
.bb-social { width:36px; height:36px; border:1px solid rgba(221,176,181,.2); display:flex; align-items:center; justify-content:center; color:rgba(253,246,242,.4); text-decoration:none; transition:all .25s; cursor:pointer; }
.bb-social:hover { background:var(--blush); border-color:var(--blush); color:var(--onyx); }
.bb-footer-col-title { font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--blush); margin-bottom:20px; font-weight:500; }
.bb-footer-links { list-style:none; }
.bb-footer-links li { margin-bottom:10px; }
.bb-footer-links a { text-decoration:none; font-size:13px; color:rgba(253,246,242,.4); transition:color .25s; font-weight:300; cursor:pointer; }
.bb-footer-links a:hover { color:var(--blush); }
.bb-footer-bottom { max-width:1400px; margin:0 auto; padding:20px 40px; display:flex; align-items:center; justify-content:space-between; }
.bb-footer-copy { font-size:11px; color:rgba(253,246,242,.28); letter-spacing:.4px; }
.bb-payment-badges { display:flex; gap:6px; }
.bb-payment-badge { background:rgba(253,246,242,.06); border:1px solid rgba(253,246,242,.1); padding:4px 10px; font-size:9px; color:rgba(253,246,242,.3); letter-spacing:1px; text-transform:uppercase; }

/* ══ RESPONSIVE ════════════════════════════════ */
@media (max-width:1024px) {
  .bb-nav-links { display:none; }
  .bb-hamburger { display:flex; }
  .bb-footer-inner { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:768px) {
  body { cursor:auto; }
  .bb-cursor, .bb-cursor-ring { display:none; }
  .bb-container { padding:0 16px; }
  /* Nav */
  .bb-nav-inner { padding:0 16px; height:58px; gap:8px; }
  .bb-nav-links { display:none; }
  .bb-hamburger { display:flex; }
  .bb-nav-cart .bb-cart-label { display:none; }
  .bb-currency-toggle { display:none; }
  .bb-nav-cart { padding:9px 12px; gap:5px; }
  .bb-nav-icon { width:36px; height:36px; }
  /* Drawers */
  .bb-drawer-head { padding:16px 18px; }
  .bb-drawer-body { padding:14px 18px; }
  .bb-cart-foot { padding:12px 18px 20px; }
  /* Search */
  .bb-search-bar { padding:0 14px; height:54px; }
  .bb-search-hints { padding:14px; }
  .bb-search-row { padding:10px 14px; }
  /* Size modal */
  .bb-modal-panel { padding:36px 16px 24px; }
  .bb-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  /* Footer */
  .bb-footer-inner { grid-template-columns:1fr; gap:24px; padding:0 16px 32px; }
  .bb-footer-bottom { padding:16px; flex-direction:column; gap:10px; text-align:center; }
}
@media (max-width:480px) {
  .bb-nav-inner { padding:0 12px; height:54px; }
  .bb-nav-cart { padding:8px 10px; font-size:9px; }
}

/* ── SOLD OUT STATES ── */
.bb-badge-soldout { background: rgba(14,12,13,.65); color: var(--cream); }
.bb-sold-out .bb-pcard-media { opacity: .75; }
.bb-sold-out .bb-pcard-name { color: var(--text-muted); }
.sold-out-btn { background: rgba(14,12,13,.08) !important; color: var(--text-muted) !important; border-color: var(--border) !important; cursor: not-allowed !important; font-size: 9px !important; }
.sold-out-dot { opacity: .3; position: relative; }
.sold-out-dot::after { content: ''; position: absolute; top: 50%; left: -1px; right: -1px; height: 1.5px; background: rgba(14,12,13,.6); transform: rotate(-45deg); }
/* Size button sold out in modal */
.pm-size-btn.sold-out { opacity: .35; text-decoration: line-through; cursor: not-allowed; background: none !important; border-color: var(--border) !important; color: var(--text-muted) !important; }

/* ── COLOUR SOLD-OUT IN MODAL ── */
.colour-sold-out { opacity: .45; cursor: not-allowed !important; }
.colour-sold-out .pm-colour-swatch { position: relative; }
.colour-sold-out .pm-colour-swatch::after { content: ''; position: absolute; top: 50%; left: -1px; right: -1px; height: 1.5px; background: rgba(14,12,13,.5); transform: rotate(-45deg); }