/** Shopify CDN: Minification failed

Line 255:23 Expected "{" but found "."
Line 255:64 Expected identifier but found "100%"
Line 255:99 Unexpected "}"

**/
/* ============================================================
   EZRO THEME — theme.css
   IBM Plex Sans | #222 brand | #8B7355 tan | #faf8f5 cream
   ============================================================ */

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-body),sans-serif;color:var(--color-brand);background:var(--color-cream);overflow-x:clip;line-height:1.5}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;background:transparent;padding:0}
input,select,textarea{font-family:inherit}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--color-tan);outline-offset:3px}

/* ── CSS Variables ── */
:root{
  /* Colours */
  --color-brand:#222;
  --color-cream:#faf8f5;
  --color-tan:#8B7355;
  --color-warm:#f0ece6;
  --color-navy:#1a2340;
  --color-white:#ffffff;
  /* Fonts */
  --font-body:'IBM Plex Sans',sans-serif;
  /* Spacing */
  --sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:40px;--sp-2xl:64px;
  /* Transitions */
  --tr-fast:0.2s ease;--tr-med:0.35s ease;--tr-slow:0.5s ease;
  /* Z-index layers */
  --z-sticky:100;--z-overlay:200;--z-drawer:300;--z-modal:400;--z-search:500;
}

/* ── Body lock ── */
.body-lock{overflow:hidden}

/* ═══════════════════════════════════════════
   ANNOUNCEMENT BAR
═══════════════════════════════════════════ */
.ann-bar{background:var(--color-navy);color:#fff;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:9px 16px;position:relative}
.ann-bar a{color:rgba(255,255,255,.8);text-decoration:underline}
.ann-bar__nav{background:transparent;border:none;color:rgba(255,255,255,.5);font-size:16px;cursor:pointer;padding:0 8px;position:absolute;top:50%;transform:translateY(-50%)}
.ann-bar__nav--prev{left:8px}.ann-bar__nav--next{right:8px}

/* ═══════════════════════════════════════════
   HEADER
═══════════════════════════════════════════ */
.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-cream);border-bottom:1px solid #e5e5e5;transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.08)}

/* topbar */
.header-topbar{background:var(--color-navy);color:#fff;font-size:11px;letter-spacing:.06em;padding:7px 24px;display:none;align-items:center;justify-content:space-between}
@media(min-width:1024px){.header-topbar{display:flex}}
.header-topbar a{color:rgba(255,255,255,.7);display:flex;align-items:center;gap:5px;transition:color .2s}
.header-topbar a:hover{color:#fff}
.header-topbar__center{position:absolute;left:50%;transform:translateX(-50%);text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:rgba(255,255,255,.9)}
.header-topbar__side{display:flex;align-items:center;gap:16px}

/* mobile topbar */
.header-topbar-mobile{background:var(--color-navy);color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:8px 16px;display:block}
@media(min-width:1024px){.header-topbar-mobile{display:none}}

/* logo row */
.header-main{padding:10px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.06);gap:12px}
@media(min-width:1024px){.header-main{padding:10px 24px}}
.header-main__left,.header-main__right{display:flex;align-items:center;gap:16px;flex:1}
.header-main__right{justify-content:flex-end}
.header-logo{flex-shrink:0;flex:1;display:flex;justify-content:center}
.header-logo img{height:40px;width:auto;object-fit:contain}
.header-logo__text{font-size:22px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.header-icon-btn{background:transparent;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;color:var(--color-brand);transition:opacity .2s;position:relative}
.header-icon-btn:hover{opacity:.6}
.header-icon-btn svg{width:20px;height:20px;stroke-width:1.75}

/* cart count badge */
.cart-count{position:absolute;top:-5px;right:-5px;background:var(--color-tan);color:#fff;border-radius:50%;width:17px;height:17px;font-size:9px;display:flex;align-items:center;justify-content:center;font-weight:700;line-height:1}
.cart-count[data-count="0"]{display:none}

/* ── DESKTOP NAV ── */
.header-nav{display:none}
@media(min-width:1024px){.header-nav{display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(0,0,0,.06)}}

.header-nav__item{position:static;border-right: 1px solid #D1D5DB;} /* key: static so mega is position:fixed relative to viewport */
.header-nav__link{display:flex;align-items:center;gap:4px;padding:12px 18px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand);background:transparent;border:none;cursor:pointer;position:relative;transition:color .2s;white-space:nowrap}
.header-nav__link:after{content:'';position:absolute;bottom:0;left:18px;right:18px;height:2px;background:var(--color-brand);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.header-nav__link:hover,.header-nav__link.active{color:var(--color-tan)}
.header-nav__link:hover:after,.header-nav__link.active:after{transform:scaleX(1)}
.header-nav__link svg{width:12px;height:12px;stroke-width:2;transition:transform .25s}
.header-nav__item:hover .header-nav__link svg{transform:rotate(180deg)}
.header-nav__link--sale{color:var(--color-tan)!important;font-weight:700}

/* ── MEGA MENU — fixed positioning below header ── */
.mega-menu{
  position:fixed;
  /* top set dynamically via JS based on header height */
  left:0;right:0;
  background:#fff;
  border-top:1px solid #e8e8e8;
  z-index:140;
  box-shadow:0 12px 40px rgba(0,0,0,.1);
  opacity:0;visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease;
  pointer-events:none;
}
.header-nav__item:hover .mega-menu,
.mega-menu:hover{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:all;
}
.mega-menu__inner{max-width:1100px;margin:0 auto;padding:32px 24px;display:grid;gap:40px}
.mega-menu__col-title{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-tan);font-weight:700;margin-bottom:14px}
.mega-menu__links{display:flex;flex-direction:column;gap:10px}
.mega-menu__links a{font-size:13px;color:var(--color-brand);opacity:.7;transition:opacity .2s}
.mega-menu__links a:hover{opacity:1}
.mega-menu__feature{background:var(--color-warm);padding:18px;display:flex;flex-direction:column;gap:10px}
.mega-menu__feature img{aspect-ratio:4/3;width:100%;object-fit:cover}
.mega-menu__feature-link{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-tan)}

/* ═══════════════════════════════════════════
   BACKDROP
═══════════════════════════════════════════ */
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:250;opacity:0;pointer-events:none;transition:opacity .35s}
.backdrop.visible{opacity:1;pointer-events:all}

/* ═══════════════════════════════════════════
   DRAWERS (cart + mobile menu + filter)
═══════════════════════════════════════════ */
.drawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;background:#fff;z-index:var(--z-drawer);transform:translateX(110%);transition:transform .42s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}
.drawer.open{transform:translateX(0)}
.drawer-left{right:auto;left:0;transform:translateX(-110%)}
.drawer-left.open{transform:translateX(0)}
.drawer-mobile-menu{width:340px;max-width:90vw}
.drawer-filter{width:300px;max-width:85vw}
.drawer__header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #efefef;flex-shrink:0}
.drawer__title{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.drawer__close{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;color:var(--color-brand);opacity:.6;transition:opacity .2s}
.drawer__close:hover{opacity:1}
.drawer__close svg{width:18px;height:18px;stroke-width:2}
.drawer__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.drawer__footer{border-top:1px solid #efefef;flex-shrink:0;padding:18px 22px}

/* ── Cart drawer ── */
.cart-item{display:flex;gap:14px;padding:16px 22px;border-bottom:1px solid #f5f5f5}
.cart-item__img{width:76px;height:92px;object-fit:cover;flex-shrink:0}
.cart-item__body{flex:1;min-width:0}
.cart-item__name{font-size:13px;font-weight:500;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item__variant{font-size:11px;color:#888;margin-bottom:10px}
.cart-item__remove{background:transparent;border:none;cursor:pointer;opacity:.35;transition:opacity .2s;flex-shrink:0;padding:2px}
.cart-item__remove:hover{opacity:.8}
.cart-item__remove svg{width:14px;height:14px}
.qty-stepper{display:flex;align-items:center;border:1px solid #e0e0e0;height:34px;width:fit-content}
.qty-stepper__btn{width:34px;height:100%;background:transparent;border:none;cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.qty-stepper__btn:hover{background:var(--color-warm)}
.qty-stepper__val{width:36px;text-align:center;font-size:13px;font-weight:500}
.cart-subtotal-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:6px}
.cart-subtotal-row strong{font-size:15px;font-weight:600}
.cart-shipping-note{font-size:11px;color:var(--color-tan);margin-bottom:16px}
.cart-secure-note{font-size:10px;opacity:.4;display:flex;align-items:center;gap:5px;justify-content:center;margin-top:12px}
.cart-secure-note svg{width:11px;height:11px}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;text-align:center}
.cart-empty svg{width:48px;height:48px;stroke-width:1;opacity:.2}
.cart-empty p{font-size:13px;opacity:.5}

/* ── Mobile menu ── */
.mob-nav__item{border-bottom:1px solid var(--color-warm)}
.mob-nav__btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 22px;background:transparent;border:none;font-size:14px;font-weight:500;letter-spacing:.04em;cursor:pointer;color:var(--color-brand)}
.mob-nav__btn svg{width:16px;height:16px;stroke-width:2;transition:transform .3s;flex-shrink:0}
.mob-nav__btn.open svg{transform:rotate(180deg)}
.mob-nav__sub{max-height:0;overflow:hidden;transition:max-height .35s ease;background:var(--color-cream)}
.mob-nav__sub.open{max-height:400px}
.mob-nav__sub a{display:block;padding:11px 22px 11px 36px;font-size:13px;color:var(--color-brand);opacity:.7;transition:opacity .2s}
.mob-nav__sub a:hover{opacity:1}
.mob-nav__link{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;font-size:14px;font-weight:500;letter-spacing:.04em;color:var(--color-brand)}
.mob-nav__link svg{width:14px;height:14px;opacity:.4}
.mob-nav__link--sale{color:var(--color-tan);font-weight:700}
.mob-nav__footer{padding:20px 22px;border-top:1px solid #efefef;flex-shrink:0}
.mob-nav__social{display:flex;gap:14px;margin-bottom:10px}
.mob-nav__social a{opacity:.55;transition:opacity .2s;color:var(--color-brand)}
.mob-nav__social a:hover{opacity:1}
.mob-nav__social svg{width:20px;height:20px;stroke-width:1.75}
.mob-nav__phone{font-size:12px;opacity:.45}

/* ═══════════════════════════════════════════
   SEARCH OVERLAY
═══════════════════════════════════════════ */
.search-overlay{position:fixed;top:0;left:0;right:0;z-index:var(--z-search);background:#fff;transform:translateY(-100%);transition:transform .45s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 30px rgba(0,0,0,.1)}
.search-overlay.open{transform:translateY(0)}
.search-overlay__bar{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid #efefef}
.search-overlay__bar svg{width:18px;height:18px;opacity:.4;flex-shrink:0;stroke-width:1.75}
.search-overlay__input{flex:1;border:none;outline:none;font-family:inherit;font-size:16px;background:transparent;color:var(--color-brand)}
.search-overlay__close{background:transparent;border:none;cursor:pointer;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.5;display:flex;align-items:center;gap:5px;color:var(--color-brand);transition:opacity .2s;flex-shrink:0}
.search-overlay__close:hover{opacity:1}
.search-overlay__close svg{width:15px;height:15px;stroke-width:2}
.search-overlay__popular{padding:16px 22px}
.search-overlay__label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-tan);font-weight:600;margin-bottom:12px}
.search-tags{display:flex;flex-wrap:wrap;gap:8px}
.search-tag{border:1px solid var(--color-brand);padding:7px 16px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:transparent;cursor:pointer;transition:all .2s}
.search-tag:hover{background:var(--color-brand);color:#fff}

/* ═══════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .25s;border:1px solid transparent;white-space:nowrap;font-family:inherit}
.btn--solid{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}
.btn--solid:hover{opacity:.82}
.btn--outline{background:transparent;border-color:var(--color-brand);color:var(--color-brand)}
.btn--outline:hover{background:var(--color-brand);color:#fff}
.btn--tan{background:var(--color-tan);color:#fff;border-color:var(--color-tan)}
.btn--tan:hover{opacity:.85}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.12)}
.btn--sm{padding:9px 18px;font-size:10px}
.btn--lg{padding:16px 40px;font-size:12px}
.btn--full{width:100%}
.btn svg{width:16px;height:16px;stroke-width:1.75}

/* ═══════════════════════════════════════════
   TYPOGRAPHY UTILITIES
═══════════════════════════════════════════ */
.section-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-tan);font-weight:600}
.section-title{font-size:clamp(24px,3vw,42px);font-weight:300;letter-spacing:-.02em;line-height:1.1}
.price{font-size:15px;font-weight:600}
.price--compare{text-decoration:line-through;opacity:.4;font-weight:400;font-size:.88em}
.badge{font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;font-weight:500}
.badge--sale{background:var(--color-brand);color:#fff}
.badge--new{background:var(--color-tan);color:#fff}
.badge--bestseller{background:#d4a62a;color:#fff}

/* ═══════════════════════════════════════════
   HERO SLIDER
═══════════════════════════════════════════ */
.hero-slide{width:100%;position:relative;overflow:hidden}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.45) 0%,rgba(0,0,0,.12) 55%,transparent 100%)}
.hero-content{position:absolute;top:50%;left:6%;transform:translateY(-50%);color:#fff;max-width:520px}
.hero-content--right{left:auto;right:6%;text-align:right}
.hero-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.65);font-weight:600;margin-bottom:14px}
.hero-heading{font-size:clamp(34px,5vw,70px);font-weight:300;line-height:1;letter-spacing:-.03em;margin-bottom:18px}
.hero-heading em{font-style:italic}
.hero-text{font-size:13px;line-height:1.65;color:rgba(255,255,255,.75);margin-bottom:28px;max-width:360px}
.hero-arrows{position:absolute;top:50%;transform:translateY(-50%);z-index:10;pointer-events:none;width:100%;left:0;display:flex;justify-content:space-between;padding:0 16px}
.hero-arrow{width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(6px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:all;transition:background .25s}
.hero-arrow:hover{background:rgba(255,255,255,.22)}
.hero-arrow svg{width:18px;height:18px;stroke-width:2}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:10}
@media(max-width:640px).hero-content{left:5%;right:5%;max-width:100%}.hero-content--right{right:5%}}

/* ═══════════════════════════════════════════
   COLLECTION CIRCLES
═══════════════════════════════════════════ */
.circles-section{padding:32px 24px 28px;background:#fff;border-bottom:1px solid #efefef}
.circle-slide{width:130px;flex-shrink:0}
@media(max-width:768px){.circle-slide{width:100px}}
@media(max-width:580px){.circle-slide{width:100px;}.circles-section {
	padding-left: 0;
	padding-right: 0;
}}
.circle-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}
.circle-img{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:2px solid #e0e0e0;transition:border-color .25s,transform .3s}
.circle-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.circle-wrap:hover .circle-img{border-color:var(--color-brand);transform:scale(1.04)}
.circle-wrap:hover .circle-img img{transform:scale(1.08)}
.circle-label{font-size:11px;font-weight:500;letter-spacing:.04em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}

/* ═══════════════════════════════════════════
   PRODUCT CARD
═══════════════════════════════════════════ */
.product-card{position:relative;cursor:pointer}
.product-card__media{position:relative;overflow:hidden;background:var(--color-warm)}
.product-card__media::before{content:'';display:block;padding-top:133%}
.product-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s ease,transform .55s ease}
.product-card__img--main{opacity:1;z-index:1}
.product-card__img--hover{opacity:0;z-index:2}
.product-card:hover .product-card__img--main{opacity:0;transform:scale(1.04)}
.product-card:hover .product-card__img--hover{opacity:1}
.product-card__atc{position:absolute;bottom:0;left:0;right:0;z-index:10;background:var(--color-brand);color:#fff;text-align:center;padding:11px 8px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transform:translateY(100%);transition:transform .3s ease;border:none;cursor:pointer;font-family:inherit;width:100%}
.product-card__atc:hover{background:#333}
.product-card:hover .product-card__atc{transform:translateY(0)}
.product-card__wish{position:absolute;top:10px;right:10px;z-index:10;width:32px;height:32px;background:rgba(255,255,255,.85);border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .22s;backdrop-filter:blur(4px)}
.product-card:hover .product-card__wish{opacity:1}
.product-card__wish.wished{opacity:1;background:#fff}
.product-card__wish.wished svg{stroke:#e53e3e;fill:#e53e3e}
.product-card__wish svg{width:13px;height:13px;stroke-width:2;stroke:var(--color-brand)}
.product-card__badge{position:absolute;top:10px;left:10px;z-index:10}
.product-card__info{padding:10px 2px 4px}
.product-card__vendor{font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.4;margin-bottom:3px}
.product-card__title{font-size:13px;font-weight:500;line-height:1.35;margin-bottom:5px}
.product-card__prices{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:6px}
.product-card__swatches{display:flex;gap:4px;margin-bottom:5px}
.product-card__swatch{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(0,0,0,.12);cursor:pointer;transition:outline .15s,transform .2s}
.product-card__swatch:hover,.product-card__swatch.active{outline:2px solid var(--color-brand);outline-offset:2px;transform:scale(1.1)}
.product-card__sizes{display:flex;gap:3px;flex-wrap:wrap}
.product-card__size{font-size:10px;border:1px solid #d5d0ca;padding:2px 6px;transition:all .18s;cursor:pointer}
.product-card__size:hover{border-color:var(--color-brand)}
.product-card__size.oos{opacity:.32;cursor:not-allowed;text-decoration:line-through}
.product-card__rating{display:flex;align-items:center;gap:4px;font-size:11px;color:#d4a62a;margin-bottom:4px}

/* ═══════════════════════════════════════════
   PRODUCT GRID
═══════════════════════════════════════════ */
.products-grid{display:grid;gap:10px 10px;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.products-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.products-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1280px){.products-grid{grid-template-columns:repeat(5,1fr)}}
.products-grid--3{grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.products-grid--3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.products-grid--3{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1280px){.products-grid--3{grid-template-columns:repeat(4,1fr)}}

/* ═══════════════════════════════════════════
   PRODUCT SLIDER
═══════════════════════════════════════════ */
.prod-slide{width:20%;padding:0 6px}
@media(max-width:1280px){.prod-slide{width:25%}}
@media(max-width:1024px){.prod-slide{width:33.333%}}
@media(max-width:640px){.prod-slide{width:50%}}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:14px;flex-wrap:wrap}
.section-head__controls{display:flex;align-items:center;gap:10px}

/* ═══════════════════════════════════════════
   VIDEO SECTION
═══════════════════════════════════════════ */
.video-section{position:relative;width:100%;height:70vh;overflow:hidden;background:#111}
.video-section video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.video-overlay{position:absolute;inset:0;background:rgba(0,0,0,.32);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;gap:18px;padding:0 20px}

/* ═══════════════════════════════════════════
   REEL SECTION
═══════════════════════════════════════════ */
.reel-slide{width:190px;padding:0 8px}
@media(max-width:640px){.reel-slide{width:160px}}
.reel-card{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:9/16;background:#111}
.reel-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s}
.reel-card:hover img{transform:scale(1.05)}
.reel-card__info{position:absolute;bottom:0;left:0;right:0;padding:24px 12px 14px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}
.reel-card__cat{font-size:10px;opacity:.7;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.reel-card__name{font-size:13px;font-weight:500;margin-bottom:3px}
.reel-card__price{font-size:14px;font-weight:600}

/* ═══════════════════════════════════════════
   INSTAGRAM FEED
═══════════════════════════════════════════ */
.insta-slide{width:25%;padding:0 2px}
@media(max-width:1024px){.insta-slide{width:33.333%}}
@media(max-width:640px){.insta-slide{width:50%}}
.insta-card{aspect-ratio:1;overflow:hidden;position:relative;cursor:pointer}
.insta-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.insta-card:hover img{transform:scale(1.07)}
.insta-card__ov{position:absolute;inset:0;background:rgba(0,0,0,.3);opacity:0;transition:opacity .28s;display:flex;align-items:center;justify-content:center;color:#fff}
.insta-card__ov svg{width:28px;height:28px;stroke-width:1.5}
.insta-card:hover .insta-card__ov{opacity:1}

/* ═══════════════════════════════════════════
   FEATURES BAND
═══════════════════════════════════════════ */
.features-grid{display:grid;border:1px solid #d5d0ca}
@media(min-width:768px){.features-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.features-grid{grid-template-columns:repeat(3,1fr)}}
.feature-card{padding:36px 32px;border-bottom:1px solid #d5d0ca;transition:background .28s}
@media(min-width:1024px){.feature-card{border-right:1px solid #d5d0ca;border-bottom:none}}
@media(min-width:768px) and (max-width:1023px){.feature-card:nth-child(even){border-right:none}.feature-card:nth-child(n+3){border-top:1px solid #d5d0ca}}
@media(max-width:767px){.feature-card:last-child{border-bottom:none}}
.feature-card:hover{background:#e8e4de}
.feature-icon{width:46px;height:46px;border:1px solid var(--color-brand);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.feature-icon svg{width:20px;height:20px;stroke-width:1.75}
.feature-card h3{font-size:17px;font-weight:500;letter-spacing:-.01em;margin-bottom:12px}
.feature-card p{font-size:13px;line-height:1.7;opacity:.62}
.feature-card__cta{margin-top:20px;display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-tan);font-weight:600}
.feature-card__cta svg{width:11px;height:11px;stroke-width:2.5}
.trust-band{display:flex;flex-wrap:wrap;justify-content:center;gap:32px;padding-top:36px;margin-top:36px;border-top:1px solid #d5d0ca}
.trust-item{display:flex;align-items:center;gap:10px}
.trust-item svg{width:20px;height:20px;stroke-width:1.75;opacity:.6;flex-shrink:0}
.trust-item__title{font-size:13px;font-weight:500}
.trust-item__sub{font-size:11px;opacity:.55}

/* ═══════════════════════════════════════════
   NEWSLETTER
═══════════════════════════════════════════ */
.newsletter-section{background:var(--color-brand);color:#fff;padding:64px 24px;text-align:center}
.newsletter-form{display:flex;max-width:460px;margin:0 auto}
.newsletter-input{flex:1;padding:14px 16px;border:1px solid rgba(255,255,255,.25);border-right:none;background:rgba(255,255,255,.07);color:#fff;font-family:inherit;font-size:13px;outline:none;transition:border-color .2s}
.newsletter-input::placeholder{color:rgba(255,255,255,.45)}
.newsletter-input:focus{border-color:rgba(255,255,255,.5)}
.newsletter-note{font-size:10px;opacity:.35;margin-top:14px}

/* ═══════════════════════════════════════════
   FULL-WIDTH BANNER
═══════════════════════════════════════════ */
.fw-banner{position:relative;height:380px;overflow:hidden;background:#111}
@media(max-width:640px){.fw-banner{height:280px}}
.fw-banner img{width:100%;height:100%;object-fit:cover;opacity:.65}
.fw-banner__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;gap:16px;padding:0 24px}

/* ═══════════════════════════════════════════
   PRODUCT PAGE
═══════════════════════════════════════════ */
/* Gallery */
.product-gallery{display:flex;gap:12px}
.product-gallery__thumbs{display:flex;flex-direction:column;gap:6px;width:68px;flex-shrink:0}
@media(max-width:1023px){.product-gallery{display:none}}
.product-gallery__thumb{aspect-ratio:.76;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s}
.product-gallery__thumb.active{border-color:var(--color-brand)}
.product-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.product-gallery__main{flex:1;position:relative;overflow:hidden;background:var(--color-warm);aspect-ratio:.82;cursor:zoom-in}
.product-gallery__main img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.product-gallery__main:hover img{transform:scale(1.03)}
.gallery-zoom-hint{position:absolute;bottom:12px;right:12px;background:rgba(255,255,255,.75);backdrop-filter:blur(4px);padding:5px 10px;font-size:10px;display:flex;align-items:center;gap:5px;opacity:.7;pointer-events:none}
.gallery-zoom-hint svg{width:13px;height:13px;stroke-width:1.75}
.gallery-badge{position:absolute;top:12px;left:12px;z-index:5}
/* Mobile gallery */
.product-gallery-mobile{display:block;position:relative}
@media(min-width:1024px){.product-gallery-mobile{display:none}}
.mobile-gallery-dots{display:flex;justify-content:center;gap:7px;padding:10px 0 4px}
.mobile-gallery-dot{width:7px;height:7px;border-radius:50%;background:var(--color-brand);opacity:.25;border:none;cursor:pointer;transition:all .25s;padding:0}
.mobile-gallery-dot.active{opacity:1;width:20px;border-radius:4px}
.mobile-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.8);backdrop-filter:blur(4px);border:1px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;cursor:pointer}
.mobile-gallery-arrow svg{width:15px;height:15px;stroke-width:2}
.mobile-gallery-arrow--prev{left:10px}
.mobile-gallery-arrow--next{right:10px}

/* Zoom lightbox */
.zoom-lightbox{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.93);display:none;align-items:center;justify-content:center}
.zoom-lightbox.open{display:flex}
.zoom-lightbox__close{position:absolute;top:16px;right:16px;color:#fff;background:transparent;border:none;cursor:pointer;opacity:.7;transition:opacity .2s;z-index:10}
.zoom-lightbox__close:hover{opacity:1}
.zoom-lightbox__close svg{width:26px;height:26px;stroke-width:1.75}
.zoom-lightbox__slider{position:relative;width:min(88vw,680px);height:min(88vh,720px)}
.zoom-swiper{overflow:hidden;height:100%}
.zoom-swiper img{width:100%;height:100%;object-fit:contain;display:block}
.zoom-lightbox__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(5px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .22s}
.zoom-lightbox__arrow:hover{background:rgba(255,255,255,.2)}
.zoom-lightbox__arrow--prev{left:-56px}
.zoom-lightbox__arrow--next{right:-56px}
.zoom-lightbox__dots{position:absolute;bottom:-36px;left:0;right:0;display:flex;justify-content:center;gap:8px}
@media(max-width:680px){.zoom-lightbox__arrow--prev{left:8px;border:none;background:rgba(0,0,0,.4)}.zoom-lightbox__arrow--next{right:8px;border:none;background:rgba(0,0,0,.4)}}

/* Product form */
.product-form{display:flex;flex-direction:column;gap:18px}
.product-form__label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.product-form__label-val{font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-tan)}
.size-guide-link{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-tan);text-decoration:underline;cursor:pointer;display:flex;align-items:center;gap:4px}
.size-guide-link svg{width:13px;height:13px;stroke-width:2}
.sizes-grid{display:flex;flex-wrap:wrap;gap:6px}
.size-opt{border:1px solid #d5d0ca;padding:9px 12px;font-size:12px;font-weight:500;cursor:pointer;background:transparent;font-family:inherit;transition:all .2s;min-width:48px;text-align:center;position:relative}
.size-opt:hover{border-color:var(--color-brand)}
.size-opt.selected{border-color:var(--color-brand);background:var(--color-brand);color:#fff}
.size-opt.unavailable{opacity:.35;cursor:not-allowed}
.size-opt.unavailable::after{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:#999;transform:rotate(-25deg)}
.color-variants{display:flex;gap:10px;flex-wrap:wrap}
.color-variant{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;background:transparent;border:none;font-family:inherit}
.color-variant__img{width:54px;height:64px;overflow:hidden;border:2px solid transparent;transition:border-color .2s}
.color-variant__img img{width:100%;height:100%;object-fit:cover;display:block}
.color-variant.selected .color-variant__img{border-color:var(--color-brand)}
.color-variant__dot{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(0,0,0,.12)}
.color-variant__name{font-size:10px}
.qty-atc-row{display:flex;gap:10px;align-items:stretch}
.qty-atc-row .qty-stepper{height:48px}
.qty-atc-row .btn{flex:1;height:48px}
.product-trust{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.product-trust-item{display:flex;align-items:flex-start;gap:8px}
.product-trust-item svg{width:18px;height:18px;stroke-width:1.75;color:var(--color-tan);flex-shrink:0;margin-top:1px}
.product-trust-item__title{font-size:11px;font-weight:600;margin-bottom:1px}
.product-trust-item__sub{font-size:10px;opacity:.55}
.urgency-bar{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #fee2e2;padding:10px 14px;font-size:11px;color:#b91c1c}
.urgency-bar svg{width:14px;height:14px;flex-shrink:0}
.offer-pill{display:flex;align-items:center;gap:8px;background:var(--color-warm);padding:10px 14px;font-size:13px}
.offer-pill svg{width:14px;height:14px;color:var(--color-tan);flex-shrink:0}
.share-row{display:flex;align-items:center;gap:10px}
.share-row__label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.45;font-weight:600}
.share-btn{width:32px;height:32px;border:1px solid #e0e0e0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s}
.share-btn:hover{border-color:var(--color-brand)}
.share-btn svg{width:13px;height:13px;stroke-width:1.75}

/* Tabs */
.product-tabs__nav{display:flex;gap:24px;border-bottom:1px solid #efefef;overflow-x:auto}
.product-tab-btn{padding:14px 0;font-size:12px;font-weight:500;letter-spacing:.05em;border:none;background:transparent;cursor:pointer;color:var(--color-brand);opacity:.5;border-bottom:2px solid transparent;transition:all .22s;white-space:nowrap;font-family:inherit}
.product-tab-btn.active{opacity:1;border-color:var(--color-brand)}
.product-tab-pane{display:none;padding:24px 0}
.product-tab-pane.active{display:block}

/* Size modal */
.size-modal-bg{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(0,0,0,.5);display:none;align-items:flex-end;justify-content:center}
@media(min-width:600px){.size-modal-bg{align-items:center}}
.size-modal-bg.open{display:flex}
.size-modal{background:#fff;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;border-radius:14px 14px 0 0;padding:28px 20px 32px;position:relative;animation:slideUp .3s ease}
@media(min-width:600px){.size-modal{border-radius:6px;padding:36px}}
@keyframes slideUp{from{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}
.size-modal__close{position:absolute;top:16px;right:16px;background:transparent;border:none;cursor:pointer;opacity:.45;transition:opacity .2s}
.size-modal__close:hover{opacity:1}
.size-modal__close svg{width:18px;height:18px;stroke-width:2}
.size-table{width:100%;border-collapse:collapse;font-size:13px}
.size-table th{background:var(--color-brand);color:#fff;text-align:left;padding:10px 14px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.size-table td{padding:9px 14px;border-bottom:1px solid #efefef}
.size-table tr:nth-child(even) td{background:var(--color-warm)}

/* Reviews */
.review-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.review-score{font-size:56px;font-weight:300;letter-spacing:-.04em;line-height:1}
.review-stars{color:#d4a62a;font-size:18px;letter-spacing:2px}
.review-bar-row{display:flex;align-items:center;gap:10px;font-size:11px}
.review-bar-track{height:5px;background:#e5e5e5;border-radius:3px;overflow:hidden;flex:1}
.review-bar-fill{height:100%;background:#d4a62a;border-radius:3px}
.review-card{background:#fff;border:1px solid #efefef;padding:18px;display:flex;flex-direction:column;gap:10px}
.review-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.review-card__author{font-size:13px;font-weight:600;margin-bottom:2px}
.review-card__date{font-size:11px;opacity:.4}
.review-card__body{font-size:13px;line-height:1.65;opacity:.75}

/* Sticky ATC */
.sticky-atc{position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;border-top:1px solid #e5e5e5;padding:12px 16px;transform:translateY(100%);transition:transform .32s ease;display:none}
@media(max-width:1023px){.sticky-atc{display:block}}
.sticky-atc.show{transform:translateY(0)}
.sticky-atc__inner{display:flex;align-items:center;gap:12px}
.sticky-atc__info{flex:1;min-width:0}
.sticky-atc__name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-atc__price{font-size:15px;font-weight:700}

/* ═══════════════════════════════════════════
   COLLECTION PAGE
═══════════════════════════════════════════ */
.collection-hero{position:relative;overflow:hidden;background:#111}
.collection-hero img{width:100%;height:100%;object-fit:cover;opacity:.75}
.collection-hero__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.55),rgba(0,0,0,.15) 60%,transparent)}
.collection-hero__content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 24px 0 36px}
@media(min-width:1024px){.collection-hero__content{padding:0 48px}}
.category-pills{display:flex;gap:7px;overflow-x:auto;padding:12px 16px;background:#fff;border-bottom:1px solid #efefef;-webkit-overflow-scrolling:touch}
@media(min-width:1024px){.category-pills{padding:12px 24px}}
.category-pill{border:1px solid #d5d0ca;padding:7px 16px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#fff;white-space:nowrap;transition:all .2s;font-family:inherit;flex-shrink:0}
.category-pill:hover,.category-pill.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}
.active-filters-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--color-cream);border-bottom:1px solid #efefef;overflow-x:auto}
@media(min-width:1024px){.active-filters-bar{padding:10px 24px}}
.active-filter-tag{display:inline-flex;align-items:center;gap:6px;background:var(--color-warm);border:1px solid #d5d0ca;padding:5px 12px;font-size:11px;cursor:pointer;white-space:nowrap;transition:all .2s}
.active-filter-tag:hover{border-color:var(--color-brand)}
.active-filter-tag svg{width:11px;height:11px;stroke-width:2.5;opacity:.5}
.clear-filters-btn{font-size:11px;color:var(--color-tan);text-decoration:underline;cursor:pointer;white-space:nowrap;background:transparent;border:none;font-family:inherit}
.collection-layout{display:flex;width:100%}

/* Sidebar */
.collection-sidebar{width:260px;flex-shrink:0;border-right:1px solid #efefef;background:#fff;display:none;position:sticky;top:0;align-self:flex-start;max-height:calc(100vh - 60px);overflow-y:auto}
@media(min-width:1024px){.collection-sidebar{display:flex;flex-direction:column}}
.filter-section{border-bottom:1px solid #efefef}
.filter-section__btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:transparent;border:none;font-size:13px;font-weight:500;cursor:pointer;color:var(--color-brand);font-family:inherit}
.filter-section__btn svg{width:15px;height:15px;stroke-width:2;transition:transform .28s}
.filter-section__btn.open svg{transform:rotate(0deg)}
.filter-section__btn:not(.open) svg{transform:rotate(-90deg)}
.filter-section__body{overflow:hidden;transition:max-height .35s ease;max-height:0}
.filter-section__body.open{max-height:600px}
.filter-section__inner{padding:4px 18px 14px}
.filter-check-row{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 0}
.filter-checkbox{width:16px;height:16px;border:1.5px solid #d5d0ca;border-radius:2px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s}
.filter-checkbox.checked{background:var(--color-brand);border-color:var(--color-brand)}
.filter-checkbox.checked::after{content:'';width:8px;height:5px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg) translateY(-1px);display:block}
.filter-check-label{font-size:13px}
.filter-check-count{font-size:11px;opacity:.4;margin-left:auto}
.filter-sizes{display:flex;flex-wrap:wrap;gap:6px}
.filter-size{border:1px solid #d5d0ca;padding:7px 12px;font-size:12px;cursor:pointer;background:#fff;transition:all .18s;font-family:inherit}
.filter-size:hover{border-color:var(--color-brand)}
.filter-size.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}
.filter-size.oos{opacity:.3;cursor:not-allowed;text-decoration:line-through}
.filter-color-row{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0}
.filter-color-dot{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(0,0,0,.12)}
.price-inputs{display:flex;gap:8px;align-items:center}
.price-inputs input{flex:1;border:1px solid #d5d0ca;padding:8px 10px;font-size:12px;font-family:inherit;outline:none;color:var(--color-brand)}
.price-inputs input:focus{border-color:var(--color-brand)}
.price-inputs span{opacity:.4;font-size:12px;flex-shrink:0}

/* Collection product area */
.collection-products{flex:1;min-width:0}
.collection-toolbar{position:sticky;top:0;z-index:90;background:var(--color-cream);border-bottom:1px solid #efefef;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
@media(min-width:1024px){.collection-toolbar{padding:10px 24px}}
.toolbar-left{display:flex;align-items:center;gap:10px}
.toolbar-right{display:flex;align-items:center;gap:10px}
.filter-mobile-btn{display:flex;align-items:center;gap:6px;border:1px solid var(--color-brand);padding:8px 16px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#fff;font-family:inherit;transition:all .2s}
.filter-mobile-btn:hover{background:var(--color-brand);color:#fff}
@media(min-width:1024px){.filter-mobile-btn{display:none}}
.filter-mobile-btn svg{width:14px;height:14px;stroke-width:2}
.product-count{font-size:12px;opacity:.5}
.sort-select{appearance:none;-webkit-appearance:none;border:1px solid #d5d0ca;padding:8px 34px 8px 12px;font-size:12px;font-family:inherit;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 10px center;cursor:pointer;color:var(--color-brand);outline:none}
.sort-select:focus{border-color:var(--color-brand)}
.view-toggle{display:none;gap:4px}
@media(min-width:640px){.view-toggle{display:flex}}
.view-btn{width:32px;height:32px;border:1px solid #d5d0ca;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.view-btn.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}
.view-btn svg{width:14px;height:14px;stroke-width:1.75}

/* Load more */
.load-more-zone{padding:32px 16px;display:flex;flex-direction:column;align-items:center;gap:14px}
.progress-bar{width:100%;max-width:260px;height:2px;background:#e5e5e5;border-radius:1px;overflow:hidden}
.progress-fill{height:100%;background:var(--color-brand);border-radius:1px;transition:width .5s ease}
.progress-label{font-size:11px;opacity:.5;text-align:center}
.pagination{display:flex;align-items:center;gap:4px;margin-top:8px}
.page-btn{width:36px;height:36px;border:1px solid #d5d0ca;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;transition:all .2s;background:#fff}
.page-btn:hover{border-color:var(--color-brand)}
.page-btn.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}
.page-btn svg{width:15px;height:15px;stroke-width:2}
.collection-info{padding:40px 24px;border-top:1px solid #efefef;background:#fff}
@media(min-width:1024px){.collection-info{padding:40px 48px}}

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.site-footer{background:var(--color-brand);color:#fff}
.footer-main{padding:48px 24px;display:grid;gap:32px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(min-width:768px){.footer-main{grid-template-columns:1.6fr 1fr 1fr 1fr}}
@media(max-width:767px){.footer-main{grid-template-columns:1fr 1fr}}
.footer-brand .logo-text{font-size:20px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px}
.footer-brand .logo-sub{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--color-tan);margin-bottom:16px}
.footer-brand p{font-size:12px;line-height:1.7;opacity:.5;max-width:220px;margin-bottom:18px}
.footer-social{display:flex;gap:12px}
.footer-social a{color:#fff;opacity:.55;transition:opacity .2s}
.footer-social a:hover{opacity:1}
.footer-social svg{width:18px;height:18px;stroke-width:1.75}
.footer-col__title{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-tan);font-weight:700;margin-bottom:14px}
.footer-col ul{display:flex;flex-direction:column;gap:9px}
.footer-col ul a{font-size:12px;color:rgba(255,255,255,.6);transition:color .2s}
.footer-col ul a:hover{color:#fff}
.footer-contact li{display:flex;align-items:flex-start;gap:7px;font-size:12px;opacity:.6;margin-bottom:8px}
.footer-contact svg{width:13px;height:13px;stroke-width:1.75;flex-shrink:0;margin-top:2px}
.payment-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.payment-badge{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);padding:3px 8px;font-size:9px;letter-spacing:.05em;opacity:.6;text-transform:uppercase}
.footer-bottom{padding:14px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.footer-bottom__copy{font-size:11px;opacity:.35}
.footer-bottom__links{display:flex;gap:16px}
.footer-bottom__links a{font-size:11px;opacity:.35;transition:opacity .2s}
.footer-bottom__links a:hover{opacity:.7}

/* ═══════════════════════════════════════════
   LAZY IMAGE — blur-up technique
═══════════════════════════════════════════ */
.lazy-img{filter:blur(8px);transform:scale(1.02);transition:filter .4s ease,transform .4s ease}
.lazy-img.loaded{filter:none;transform:scale(1)}

/* ═══════════════════════════════════════════
   BREADCRUMB
═══════════════════════════════════════════ */
.breadcrumb{display:flex;align-items:center;gap:7px;font-size:11px;opacity:.55;flex-wrap:wrap;padding:10px 16px;background:#fff;border-bottom:1px solid #efefef}
@media(min-width:1024px){.breadcrumb{padding:10px 24px}}
.breadcrumb a{transition:opacity .2s}
.breadcrumb a:hover{opacity:1}
.breadcrumb svg{width:11px;height:11px;stroke-width:2}
.breadcrumb__current{opacity:1;font-weight:500;color:var(--color-brand)}

/* ═══════════════════════════════════════════
   INTERSECTION OBSERVER ANIMATIONS
═══════════════════════════════════════════ */
.io-hidden{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
.io-hidden.io-visible{opacity:1;transform:translateY(0)}
.io-hidden--delay-1{transition-delay:.08s}
.io-hidden--delay-2{transition-delay:.16s}
.io-hidden--delay-3{transition-delay:.24s}
.io-hidden--delay-4{transition-delay:.32s}

/* ═══════════════════════════════════════════
   UTILITIES
═══════════════════════════════════════════ */
.w-full{width:100%}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.text-center{text-align:center}
.gap-section{padding:48px 16px}
@media(min-width:768px){.gap-section{padding:56px 24px}}
@media(min-width:1024px){.gap-section{padding:64px 32px}}
.section-inner{max-width:1400px;margin:0 auto}

/* Scrollbar */
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#d5d0ca;border-radius:2px}


.cart-toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #111;
  color: #fff;
  padding: 14px 18px;
  border-radius: 8px;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.3s ease;
  z-index: 9999;
}

.cart-toast.show {
  opacity: 1;
  transform: translateY(0);
}

.cart-toast__content {
  display: flex;
  gap: 12px;
  align-items: center;
}

.cart-toast__btn {
  color: #fff;
  text-decoration: underline;
  font-size: 13px;
}
/* ═══════════════════════════════════════════════════
   PRODUCT PAGE — gallery + info side by side
═══════════════════════════════════════════════════ */
.product-main-layout {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .product-main-layout {
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
  }
  .product-gallery-area {
    flex: 0 0 54%;
    max-width: 54%;
    position: sticky;
    top: 110px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    overflow-x: hidden;
  }
  .product-info-area {
    flex: 1;
    min-width: 0;
    position: sticky;
    top: 110px;
    /* max-height: calc(100vh - 120px); */
    overflow-y: auto;
  }
  /* hide scrollbar on sticky columns */
  .product-gallery-area::-webkit-scrollbar,
  .product-info-area::-webkit-scrollbar { display: none; }
  .product-gallery-area,
  .product-info-area { -ms-overflow-style: none; scrollbar-width: none; }
}

/* ═══════════════════════════════════════════════════
   PRODUCT CARD — VARIANT QUICK-PICKER
═══════════════════════════════════════════════════ */
.card-variant-picker {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 20;
  background: #fff;
  border-top: 1px solid #e5e5e5;
  padding: 14px 12px 12px;
  transform: translateY(100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 -6px 24px rgba(0,0,0,.1);
}
.card-variant-picker.open {
  transform: translateY(0);
}
.card-variant-picker__label {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  opacity: .55;
  margin-bottom: 9px;
}
.card-variant-picker__sizes {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 8px;
}
.cvp-size {
  border: 1px solid #d5d0ca;
  background: #fff;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: all .18s;
  min-width: 36px;
  text-align: center;
}
.cvp-size:hover { border-color: var(--color-brand); }
.cvp-size.selected { background: var(--color-brand); color: #fff; border-color: var(--color-brand); }
.cvp-size.oos {
  opacity: .3;
  cursor: not-allowed;
  text-decoration: line-through;
}
.cvp-close {
  position: absolute;
  top: 8px; right: 10px;
  font-size: 14px;
  opacity: .4;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  transition: opacity .2s;
}
.cvp-close:hover { opacity: .9; }

/* Wishlist heart SVG */
.product-card__wish svg { width: 13px; height: 13px; stroke-width: 2; }
.product-card__wish.wished svg { stroke: #e53e3e; fill: #e53e3e; }

/* ═══════════════════════════════════════════════
   SWIPER GLOBAL OVERRIDES
   Keep Swiper's own CSS but reset what conflicts
═══════════════════════════════════════════════ */

/* Remove Swiper's default button styles — we use .carr-arrow */
.swiper-button-next,
.swiper-button-prev { display: none !important; }

/* Product swiper — slides sized by CSS, not Swiper */
.prod-swiper { overflow: hidden; }
.prod-swiper .swiper-wrapper { align-items: flex-start; }

/* Swiper slide image link display fix */
.swiper-slide .product-card__img-link { display: contents; }

/* Mobile product gallery swiper */
.mobile-product-swiper { overflow: hidden; }
.mobile-product-swiper .swiper-slide {
  width: 100%;
  flex-shrink: 0;
  background: var(--color-warm);
  aspect-ratio: .82;
}
.mobile-gallery-pagination .swiper-pagination-bullet {
  width: 7px; height: 7px;
  background: var(--color-brand);
  opacity: .25;
  border-radius: 50%;
  transition: all .25s;
}
.mobile-gallery-pagination .swiper-pagination-bullet-active {
  opacity: 1;
  width: 20px;
  border-radius: 4px;
}

/* Zoom swiper */
.zoom-swiper { overflow: hidden; }

/* Circles swiper */
.circles-swiper { overflow: hidden; }

/* Insta swiper */
.insta-swiper { overflow: hidden; }

/* Reel swiper */
.reel-swiper { overflow: hidden; }

/* Testimonials swiper */
.testimonials-swiper { overflow: hidden; }

/* Hero swiper */
.hero-swiper { overflow: hidden; }

/* Swiper cursor */
.swiper-container-free-mode { cursor: grab; }
.swiper-container-free-mode:active { cursor: grabbing; }

/* ═══════════════════════════════════════════════════
   CUSTOM CURSOR
═══════════════════════════════════════════════════ */
@media (pointer: coarse) {
  #ezro-cursor, #ezro-cursor-dot { display: none !important; }
}
#ezro-cursor[data-label]::after {
  content: attr(data-label);
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-brand);
  white-space: nowrap;
}

/* ═══════════════════════════════════════════════════
   PRODUCT GALLERY — DESKTOP fixed layout
═══════════════════════════════════════════════════ */
.product-gallery {
  display: none; /* hidden on mobile */
  gap: 14px;
}
@media (min-width: 1024px) {
  .product-gallery {
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }
}
.product-gallery__thumbs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 80px;
  flex-shrink: 0;
  max-height: 560px;
  overflow-y: auto;
  scrollbar-width: none;
}
.product-gallery__thumbs::-webkit-scrollbar { display: none; }

.product-gallery__thumb {
  width: 78px;
  height: 96px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color .2s, opacity .2s;
  opacity: .65;
  background: var(--color-warm);
  padding: 0;
  display: block;
  flex-shrink: 0;
}
.product-gallery__thumb.active,
.product-gallery__thumb:hover { border-color: var(--color-brand); opacity: 1; }
.product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.product-gallery__main {
  flex: 1;
  min-width: 0;
  position: relative;
  cursor: zoom-in;
  overflow: hidden;
  background: var(--color-warm);
  aspect-ratio: .82;
}
.product-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Mobile gallery — visible on mobile only */
.product-gallery-mobile { display: block; }
@media (min-width: 1024px) { .product-gallery-mobile { display: none; } }

.mobile-product-swiper {
  overflow: hidden;
  aspect-ratio: .82;
  background: var(--color-warm);
}
.mobile-product-swiper .swiper-slide {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
}
.mobile-product-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mobile-gallery-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: rgba(0,0,0,.2);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all .25s;
}
.mobile-gallery-dot.active {
  background: var(--color-brand);
  width: 20px;
  border-radius: 4px;
}
.mobile-gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.85);
  border: none;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-brand);
  backdrop-filter: blur(4px);
  transition: background .2s, transform .2s;
  box-shadow: 0 2px 12px rgba(0,0,0,.1);
}
.mobile-gallery-arrow:hover { background: #fff; transform: translateY(-50%) scale(1.08); }
.mobile-gallery-arrow--prev { left: 12px; }
.mobile-gallery-arrow--next { right: 12px; }
.mobile-gallery-arrow svg { width: 16px; height: 16px; stroke-width: 2.5; }

/* ═══════════════════════════════════════════════════
   SLIDER ARROWS — ensure always visible
═══════════════════════════════════════════════════ */
.carr-arrow {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1.5px solid var(--color-brand);
  background: transparent;
  cursor: pointer;
  color: var(--color-brand);
  transition: background .2s, color .2s, transform .25s;
  flex-shrink: 0;
}
.carr-arrow:hover {
  background: var(--color-brand);
  color: #fff;
  transform: scale(1.08);
}
.carr-arrow svg { width: 16px; height: 16px; stroke-width: 2.5; }

/* Testimonials absolute arrows */
.testimonials-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
.testimonials-arrow--prev { left: 0; }
.testimonials-arrow--next { right: 0; }

/* ═══════════════════════════════════════════════════
   SWIPER — global fixes
═══════════════════════════════════════════════════ */
.swiper-button-next,
.swiper-button-prev { display: none !important; }
.swiper { overflow: hidden; }

/* Product swiper slides */
.prod-swiper-slide { width: 20%; padding: 0 6px; }
@media(max-width:1280px){ .prod-swiper-slide { width: 25%; } }
@media(max-width:1024px){ .prod-swiper-slide { width: 33.333%; } }
@media(max-width:640px){  .prod-swiper-slide { width: 50%; } }

/* Swiper pagination bullets for mobile gallery */
.mobile-gallery-pagination {
  position: absolute;
  bottom: 12px;
  left: 0; right: 0;
  z-index: 5;
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 0;
}

/* ═══════════════════════════════════════════════════
   ZOOM LIGHTBOX — Swiper
═══════════════════════════════════════════════════ */
.zoom-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.92);
  z-index: var(--z-modal, 900);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.zoom-lightbox__close {
  position: absolute;
  top: 18px; right: 18px;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  border: none;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  transition: background .2s;
  z-index: 10;
}
.zoom-lightbox__close:hover { background: rgba(255,255,255,.22); }
.zoom-lightbox__slider {
  position: relative;
  width: min(88vw, 640px);
}
#zoom-swiper {
  overflow: hidden;
  background: transparent;
  aspect-ratio: .82;
}
#zoom-swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
#zoom-swiper .swiper-slide img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  user-select: none;
}
.zoom-lightbox__arrow {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  z-index: 10;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  border: none;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  backdrop-filter: blur(4px);
  transition: background .2s;
}
.zoom-lightbox__arrow:hover { background: rgba(255,255,255,.28); }
.zoom-lightbox__arrow--prev { left: -54px; }
.zoom-lightbox__arrow--next { right: -54px; }
.zoom-lightbox__arrow svg { width: 18px; height: 18px; stroke-width: 2; }
@media(max-width: 768px) {
  .zoom-lightbox__arrow--prev { left: -44px; }
  .zoom-lightbox__arrow--next { right: -44px; }
}
#zoom-pagination { position: absolute; bottom: -36px; left: 0; right: 0; display: flex; justify-content: center; gap: 7px; }
#zoom-pagination .swiper-pagination-bullet { width: 7px; height: 7px; background: rgba(255,255,255,.35); border-radius: 50%; opacity: 1; transition: all .25s; cursor: pointer; }
#zoom-pagination .swiper-pagination-bullet-active { background: #fff; width: 20px; border-radius: 4px; }

/* ═══════════════════════════════════════════════════
   CART PAGE
═══════════════════════════════════════════════════ */
@media (min-width: 900px) {
  #cart-page-body > div { grid-template-columns: 1fr 360px; }
}

/* ═══════════════════════════════════════════════════
   SEARCH — predictive overlay
═══════════════════════════════════════════════════ */
.search-results { scrollbar-width: thin; }

/* ═══════════════════════════════════════════════════
   ANIMATIONS — io-hidden base
═══════════════════════════════════════════════════ */
/* GSAP handles .io-hidden elements — keep them transparent until GSAP fires */
/* But if GSAP not loaded, fallback to visible */
.no-js .io-hidden,
.io-visible { opacity: 1 !important; transform: none !important; }

