@font-face {
    font-family: 'Woodbone Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Woodbone Regular'), url('fonts/woodbone.woff') format('woff');
}

/* ── shared base ── */
body{
  margin:0;
  background:#f5f5f5;
  color:#1a1a1a;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:1500px;margin:0 auto;padding:24px 40px;}


/* ══════════════════════════════════════
   NAVIGATION BAR
   ══════════════════════════════════════ */
.site-nav{
  position:sticky;top:0;z-index:1000;
  padding:0 24px;
  background:transparent;
  transition:background .3s ease, box-shadow .3s ease;
}
.site-nav.scrolled{
  background:#ffffff;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
}
.nav-inner{
  max-width:1440px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:140px;position:relative;
}

/* left: nav links */
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0;flex:1;}
.nav-links>li{position:relative;padding-bottom:12px;margin-bottom:-12px;}
.nav-links>li>a{
  color:#1a1a1a;font-family:'Woodbone Regular',sans-serif;font-size:21px;font-weight:400;text-decoration:none;
  padding:8px 0;display:inline-flex;align-items:center;gap:4px;
  transition:opacity .15s;
}
.nav-links>li>a:hover{opacity:.65;}
.nav-links>li>a .chevron-down{transition:transform .2s;}

/* center: logo */
.nav-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-decoration:none;display:flex;align-items:center;gap:10px;}
.nav-logo img{width:100px;height:auto;display:block;flex-shrink:0;}
.nav-logo-tagline{font-size:13px;font-weight:700;font-style:italic;color:#000;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;}

/* right: cart + hamburger */
.nav-right{display:flex;align-items:center;gap:16px;flex:1;justify-content:flex-end;}

/* dropdown */
.nav-dropdown{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:#ffffff;border:1px solid #e0e0e0;border-radius:12px;
  min-width:220px;padding:8px 0;
  box-shadow:0 12px 32px rgba(0,0,0,.1);
  opacity:0;visibility:hidden;
  transition:opacity .15s 1s,visibility .15s 1s;
}
.nav-dropdown::before{
  content:"";position:absolute;top:-16px;left:-20px;right:-20px;height:16px;
}
.nav-links>li:hover>.nav-dropdown{opacity:1;visibility:visible;transition-delay:0s;}
.nav-dropdown a{
  display:block;padding:10px 20px;font-size:16px;color:#555;
  text-decoration:none;transition:background .15s,color .15s;
}
.nav-dropdown a:hover{background:#f5f5f5;color:#1a1a1a;}

/* cart icon + badge */
.nav-cart{color:#1a1a1a;text-decoration:none;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;position:relative;}
.nav-cart:hover{opacity:.65;}
.nav-cart svg{width:20px;height:20px;}
.cart-count{
  background:#d32f2f;color:#fff;font-size:10px;font-weight:800;
  min-width:18px;height:18px;border-radius:9px;
  display:none;align-items:center;justify-content:center;
  padding:0 5px;position:absolute;top:-10px;right:-14px;
}
.cart-count.show{display:inline-flex;}

/* navbar currency selector */
.nav-currency-wrap{display:inline-flex;align-items:center;}
.nav-currency-select{
  appearance:none;-webkit-appearance:none;
  background:#f5f5f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E") no-repeat right 8px center;
  border:1px solid #d0d0d0;border-radius:6px;
  padding:5px 24px 5px 8px;
  font-size:12px;color:#1a1a1a;
  cursor:pointer;transition:border-color .15s;
}
.nav-currency-select:hover{border-color:#888;}
.nav-currency-select:focus{outline:none;border-color:#666;}

/* hamburger (mobile) */
.nav-hamburger{
  display:none;background:none;border:none;color:#1a1a1a;
  cursor:pointer;padding:4px;
}
.nav-hamburger svg{width:26px;height:26px;}

/* mobile nav */
.nav-mobile{
  position:absolute;top:100%;left:0;right:0;z-index:999;
  background:#ffffff;border-bottom:1px solid #e0e0e0;
  padding:0 24px;
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .35s ease, opacity .25s ease, padding .35s ease;
}
.nav-mobile.open{
  max-height:500px;opacity:1;
  padding:12px 24px 20px;
  box-shadow:0 8px 24px rgba(0,0,0,.1);
}
.nav-mobile a{
  display:block;padding:10px 0;font-size:18px;color:#555;
  text-decoration:none;border-bottom:1px solid #ebebeb;
  font-family:'Woodbone Regular',sans-serif;
}
.nav-mobile a:hover{color:#1a1a1a;}
.nav-mobile .mobile-parent{
  display:block;padding:10px 0;font-size:18px;color:#1a1a1a;
  font-family:'Woodbone Regular',sans-serif;
  border-bottom:1px solid #ebebeb;font-weight:400;
}
.nav-mobile .mobile-sub a{padding-left:16px;font-size:16px;opacity:.8;}

@media(max-width:720px){
  .nav-links{display:none;}
  .nav-hamburger{display:block;}
  .nav-logo{gap:6px;}
  .nav-logo img{width:65px;height:auto;}
  .nav-logo-tagline{font-size:11px;letter-spacing:1px;color:#000;}
  .nav-currency-wrap{display:none;}
}
@media(max-width:500px){
  .nav-logo{position:static;transform:none;left:auto;top:auto;}
  .nav-logo img{width:55px;}
  .nav-logo-tagline{font-size:10px;}
}

/* ══════════════════════════════════════
   FREE SHIPPING TOAST
   ══════════════════════════════════════ */
.free-ship-toast{
  position:fixed;top:80px;right:20px;z-index:1100;
  background:#1a1a1a;color:#fff;padding:14px 24px;
  border-radius:10px;font-size:14px;font-weight:700;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
  animation:toastIn .35s ease;
  pointer-events:auto;
}
.free-ship-toast.hide{animation:toastOut .35s ease forwards;}
@keyframes toastIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes toastOut{from{opacity:1}to{opacity:0}}

/* ══════════════════════════════════════
   MINI-CART SLIDE-IN PANEL
   ══════════════════════════════════════ */
.mini-cart-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1050;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.mini-cart-overlay.open{opacity:1;pointer-events:auto;}

.mini-cart{
  position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;
  background:#fff;z-index:1051;
  transform:translateX(100%);transition:transform .3s ease;
  display:flex;flex-direction:column;
  box-shadow:-4px 0 24px rgba(0,0,0,.12);
}
.mini-cart.open{transform:translateX(0);}

.mini-cart-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px;border-bottom:1px solid #e0e0e0;flex-shrink:0;
}
.mini-cart-header h3{margin:0;font-size:18px;font-weight:800;}
.mini-cart-close{
  background:none;border:none;font-size:28px;color:#1a1a1a;
  cursor:pointer;padding:0 4px;line-height:1;
}
.mini-cart-close:hover{opacity:.6;}

.mini-cart-body{
  flex:1;overflow-y:auto;padding:16px 20px;
}

.mini-cart-item{
  display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0;
}
.mini-cart-item img{
  width:70px;height:70px;object-fit:cover;border-radius:8px;
  background:rgb(26 26 26 / 11%);flex-shrink:0;
}
.mini-cart-item-info{flex:1;min-width:0;}
.mini-cart-item-info h4{margin:0 0 4px;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mini-cart-item-info .mini-cart-item-price{font-size:13px;font-weight:800;}
.mini-cart-item-info .mini-cart-item-qty{font-size:12px;color:#888;margin-top:2px;}
.mini-cart-item-info .mini-cart-item-variant{font-size:12px;color:#888;margin-top:1px;}

.mini-cart-empty{text-align:center;padding:40px 20px;color:#888;font-size:14px;}

.mini-cart-footer{
  padding:16px 20px;border-top:1px solid #e0e0e0;flex-shrink:0;
}
.mini-cart-total{font-size:16px;font-weight:900;margin-bottom:12px;}
.mini-cart-btn{
  display:block;width:100%;text-align:center;padding:14px;
  border-radius:10px;font-size:15px;font-weight:700;
  cursor:pointer;text-decoration:none;box-sizing:border-box;
}
.mini-cart-btn + .mini-cart-btn{margin-top:8px;}
a.mini-cart-btn{background:#fff;color:#1a1a1a;border:1px solid #ccc;}
a.mini-cart-btn:hover{background:#f5f5f5;border-color:#888;}
.mini-cart-checkout{background:#1a1a1a;color:#fff;border:none;}
.mini-cart-checkout:hover{background:#333;}

/* related products inside mini-cart */
.mini-cart-related{margin-top:20px;padding-top:16px;border-top:1px solid #f0f0f0;}
.mini-cart-related h4{margin:0 0 12px;font-size:14px;font-weight:700;color:#1a1a1a;}
.mini-cart-related-grid{
  display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;padding-bottom:4px;
}
.mini-cart-related-grid::-webkit-scrollbar{display:none;}
.mini-cart-related-card{
  flex:0 0 120px;text-decoration:none;color:#1a1a1a;
}
.mini-cart-related-card img{
  width:120px;height:150px;object-fit:cover;border-radius:8px;
  background:rgb(26 26 26 / 11%);display:block;
}
.mini-cart-related-card .mini-rel-name{font-size:11px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mini-cart-related-card .mini-rel-price{font-size:11px;font-weight:800;margin-top:2px;}

/* ── page heading ── */
/* ── hero banner ── */
.hero{
  position:relative;overflow:hidden;background:#fff;
}
.hero-img{
  display:block;width:100%;height:auto;
}
.hero-overlay{
  position:absolute;top:0;left:0;width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:20px;
}
.hero-title{
  color:#fdfcfb;
  font-family:'Woodbone Regular',sans-serif;
  font-size:clamp(16px, 2.4vw, 32px);
  font-weight:600;
  max-width:700px;margin:0;
  line-height:1.3;letter-spacing:.3px;
  text-transform:uppercase;
  padding:12px 32px;border-radius:100px;
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}

.page-heading{text-align:center;margin:24px 0 28px;}
.page-heading h1{font-family:'Woodbone Regular';font-size:22pt;margin:0;}

/* ── all products heading ── */
.all-products-heading{font-family:'Woodbone Regular';font-size:21pt;color:red;margin:30px 0 16px;}

/* ══════════════════════════════════════
   HOMEPAGE COLLECTION CARDS
   ══════════════════════════════════════ */
.collections-section{margin-bottom:48px;}
.collections-section h2{font-family:'Woodbone Regular';font-size:21pt;color:red;margin:0 0 16px;}

/* carousel wrapper */
.collections-carousel{position:relative;display:flex;align-items:center;}
.collections-track{
  display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  flex:1;padding:0 4px;
}
.collections-track::-webkit-scrollbar{display:none;}
.collections-track .coll-card{
  flex:0 0 calc(50% - 15px);scroll-snap-align:start;
}
@media(max-width:500px){
  .collections-track .coll-card{flex:0 0 100%;scroll-snap-align:start;}
}
@media(min-width:640px){
  .collections-track .coll-card{flex:0 0 calc(33.333% - 15px);}
}
@media(min-width:960px){
  .collections-track .coll-card{flex:0 0 calc(33.333% - 15px);}
}

/* carousel arrows */
.coll-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:60px;height:60px;
  background:none;border:none;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:2;padding:0;
  transition:opacity .15s;
}
.coll-arrow img{display:block;width:100%;height:100%;object-fit:contain;}
.coll-arrow .arrow-hover{display:none;}
.coll-arrow:hover .arrow-default{display:none;}
.coll-arrow:hover .arrow-hover{display:block;}
.coll-arrow-left{left:-24px;}
.coll-arrow-right{right:-24px;}
@media(max-width:540px){
  .coll-arrow-left{left:-21px;}
  .coll-arrow-right{right:-21px;}
  .coll-arrow{width:42px;height:42px;}
}

.coll-card{
  position:relative;border-radius:14px;overflow:hidden;
  aspect-ratio:3/4;display:block;background:#ffffff;border:1px solid #e0e0e0;box-shadow:0 1px 4px rgba(0,0,0,.04);
}
.coll-img-wrap{aspect-ratio:auto;position:absolute;inset:0;}
.coll-card .coll-overlay{
  position:absolute;bottom:0;left:0;right:0;
  background:#000;
  padding:10px 14px;
}
.coll-card .coll-name{font-size:15px;font-weight:800;color:#fff;}
.coll-card .coll-desc{font-size:12px;opacity:.7;margin-top:2px;color:#fff;}

/* ══════════════════════════════════════
   TAG PRODUCT CAROUSELS
   ══════════════════════════════════════ */
.tag-carousel-section{margin-bottom:48px;}
.tag-carousel-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;}
.tag-carousel-header h2{font-family:'Woodbone Regular';font-size:21pt;color:red;margin:0;}
.tag-carousel-header h2 a{color:red;text-decoration:none;transition:opacity .15s;}
.tag-carousel-header h2 a:hover{opacity:.65;}
.tag-carousel-viewall{font-size:14px;font-weight:600;color:#555;text-decoration:none;transition:color .15s;white-space:nowrap;}
.tag-carousel-viewall:hover{color:#1a1a1a;}

.tag-carousel-track{
  display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  flex:1;padding:0 4px;
}
.tag-carousel-track::-webkit-scrollbar{display:none;}
.tag-carousel-card{
  flex:0 0 calc(50% - 15px);scroll-snap-align:start;min-width:0;
}
.tag-carousel-card .card{height:100%;}
@media(max-width:500px){
  .tag-carousel-card{flex:0 0 100%;}
}
@media(min-width:640px){
  .tag-carousel-card{flex:0 0 calc(33.333% - 15px);}
}
@media(min-width:960px){
  .tag-carousel-card{flex:0 0 calc(33.333% - 15px);}
}

/* ══════════════════════════════════════
   INDEX PRODUCT GRID
   ══════════════════════════════════════ */
.grid{display:grid;grid-template-columns:1fr;gap:22px;}
@media(min-width:540px){.grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:820px){.grid{grid-template-columns:repeat(3,1fr);}}
.card{background:#ffffff;border:1px solid #e0e0e0;border-radius:16px;overflow:hidden;transition:.15s;display:block;box-shadow:0 1px 4px rgba(0,0,0,.04);}
.card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(0,0,0,.08);}
.card-img-wrap{position:relative;aspect-ratio:3/4;background:rgb(26 26 26 / 11%);overflow:hidden;}
.card-img-wrap .card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
.card-img-back{transform:translateX(100%);}
.card-img-front{transform:translateX(0);}
/* mobile swipe photo indicator dots */
.card-img-dots{display:none;position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  gap:6px;z-index:3;}
.card-img-dots .img-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5);
  transition:background .2s;border:none;padding:0;}
.card-img-dots .img-dot.active{background:#fff;}
/* collection cards: push dots above the overlay text */
.coll-img-wrap .card-img-dots{bottom:auto;top:10px;}
@media(max-width:720px){
  .card-img-dots{display:flex;}
}
.card .pad{padding:14px;}
.card h3{margin:0 0 6px;font-size:16px;}
.price{font-weight:800;}

/* card colour dots */
.card-colours{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.card-colours .dot{width:18px;height:18px;border-radius:50%;border:2px solid #ccc;cursor:pointer;padding:0;transition:.15s;flex-shrink:0;}
.card-colours .dot:hover{border-color:#888;}
.card-colours .dot.active{border-color:#1a1a1a;}
@media(max-width:720px){
  .card .pad{display:flex;flex-wrap:wrap;align-items:center;gap:0;}
  .card h3{flex:1;min-width:0;margin:0 20px 0 0;font-size:14px;}
  .card .price{font-size:13px;flex-shrink:0;}
  .card-colours{width:100%;margin-top:6px;flex-wrap:nowrap;gap:4px;}
  .card-colours .dot{width:14px;height:14px;}
}

/* ── shop text ── */
.shoptext{width:100%;font-size:10pt;padding:0 0 20px 0;}
.shoptext h2{font-size:12pt;font-family:'Woodbone Regular';color:red;}
.shoptext a{color:red;}
.shoptext a:hover{color:#1a1a1a;}

/* ══════════════════════════════════════
   PRODUCT PAGE
   ══════════════════════════════════════ */
.prod-wrap{max-width:1400px;margin:0 auto;padding:24px 40px;}
@media(max-width:640px){.prod-wrap{padding:24px 16px;}}
.prod-grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:820px){.prod-grid{grid-template-columns:1fr 1fr;gap:40px;}}

/* ── gallery ── */
.gallery{background:#ffffff;border-radius:18px;overflow:hidden;align-self:start;border:1px solid #e0e0e0;}
.gallery-inner{display:flex;flex-direction:column;}
.gallery img.main-img{width:100%;display:block;aspect-ratio:3/4;object-fit:cover;background:rgb(26 26 26 / 11%);flex-shrink:0;cursor:crosshair;}

/* hover zoom — overlay sits exactly on top of the main image */
.main-img-wrap{position:relative;flex-shrink:0;}
.img-zoom-overlay{
  position:absolute;inset:0;
  pointer-events:none;opacity:0;transition:opacity .15s;
  background-repeat:no-repeat;background-size:350%;
  z-index:5;
}
.img-zoom-overlay.active{opacity:1;}
@media(hover:none){.img-zoom-overlay{display:none;}.gallery img.main-img{cursor:default;}}

/* mobile: horizontal thumbs below image, in standard reading order */
.thumb-strip{position:relative;padding:10px;order:2;}
.thumbs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;}
.thumbs::-webkit-scrollbar{display:none;}
.thumbs img{width:64px;height:64px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent;opacity:.5;transition:.15s;flex-shrink:0;}
.thumbs img:hover,.thumbs img.active{opacity:1;border-color:#1a1a1a;}

/* thumb arrows (mobile: left/right) */
.thumb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.9);color:#1a1a1a;border:1px solid #d0d0d0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;padding:0;box-shadow:0 1px 4px rgba(0,0,0,.1);}
.thumb-arrow svg{display:block;}
.thumb-arrow:hover{background:#ffffff;}
.thumb-up{left:2px;}
.thumb-up svg{transform:rotate(-90deg);}
.thumb-down{right:2px;}
.thumb-down svg{transform:rotate(-90deg);}

/* desktop: vertical thumbs on the LEFT of the main image */
@media(min-width:820px){
  .gallery-inner{flex-direction:row;}
  .thumb-strip{
    order:0; /* before main image */
    width:80px;flex-shrink:0;
    padding:8px;
    display:flex;flex-direction:column;align-items:center;
  }
  .thumbs{
    flex-direction:column;
    overflow-x:hidden;overflow-y:auto;
    max-height:500px;gap:8px;
  }
  .thumbs img{width:64px;height:64px;flex-shrink:0;}
  .thumb-arrow{
    position:static;transform:none;
    width:28px;height:28px;
    flex-shrink:0;margin:4px 0;
  }
  .thumb-up{order:-1;}  /* above thumb list */
  .thumb-up svg{transform:none;}
  .thumb-down{order:99;} /* below thumb list */
  .thumb-down svg{transform:none;}
  .main-img-wrap{flex:1;min-width:0;}
  .gallery img.main-img{
    width:100%;border-radius:0 18px 18px 0;
  }
}

/* ── t-shirt image contrast boost ── */
.tag-t-shirts .gallery img.main-img,
.tag-t-shirts .thumbs img{filter:contrast(1.5);}
.tag-t-shirts .img-zoom-overlay.active{filter:contrast(1.5);}

/* ── product info ── */
.prod-info{display:flex;flex-direction:column;gap:0;}
.prod-title{margin:0 0 10px;font-size:32px;font-weight:700;line-height:1.2;}
.prod-price{font-size:22px;font-weight:800;margin-bottom:16px;}
.prod-desc{opacity:.75;line-height:1.6;margin-bottom:20px;font-size:15px;}
/* mobile product title (above gallery) */
.prod-title-mobile{display:none;font-size:22px;font-weight:700;line-height:1.2;margin:0 0 12px;}
@media(max-width:820px){
  .prod-title-mobile{display:block;}
  .prod-info .prod-title{display:none;}
  .prod-price{font-size:18px;}
  .prod-desc{font-size:14px;}
}

/* variant sections (colour & size) */
.variant-section{margin-bottom:18px;}
.variant-section label{display:block;font-size:13px;opacity:.6;margin-bottom:8px;}
.colour-swatches{display:flex;gap:8px;flex-wrap:wrap;}
.colour-swatches button{width:28px;height:28px;border-radius:50%;border:2px solid #ccc;padding:0;cursor:pointer;transition:.15s;}
.colour-swatches button:hover{border-color:#888;}
.colour-swatches button.active{border-color:#1a1a1a;box-shadow:0 0 0 2px #1a1a1a;}
.colour-name{font-size:13px;margin-top:6px;opacity:.7;}
.size-options{display:flex;gap:8px;flex-wrap:wrap;}
.size-options button{padding:8px 18px;border-radius:8px;border:1px solid #ccc;background:transparent;color:#1a1a1a;cursor:pointer;font-size:14px;font-weight:600;transition:.15s;}
.size-options button:hover{border-color:#888;}
.size-options button.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}

/* quantity */
.qty-section{margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.qty-section label{font-size:13px;opacity:.6;}
.qty-section select{background:#ffffff;color:#1a1a1a;border:1px solid #ccc;border-radius:8px;padding:8px 12px;font-size:14px;cursor:pointer;appearance:auto;}

/* action buttons */
.actions{display:flex;flex-direction:column;gap:10px;}
.btn-primary{width:100%;padding:16px;border-radius:12px;border:none;background:#1a1a1a;color:#fff;font-size:16px;font-weight:800;cursor:pointer;transition:.15s;text-transform:uppercase;letter-spacing:.5px;}
.btn-primary:hover{background:#333;}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;}
.btn-express{width:100%;padding:14px;border-radius:12px;border:1px solid #ccc;background:transparent;color:#1a1a1a;font-size:15px;font-weight:700;cursor:pointer;transition:.15s;}
.btn-express:hover{border-color:#888;background:rgba(0,0,0,.03);}
.btn-express:disabled{opacity:.5;cursor:not-allowed;}

/* ══════════════════════════════════════
   EXPRESS CHECKOUT
   ══════════════════════════════════════ */
.express-checkout{margin-top:20px;}
.express-divider{
  display:flex;align-items:center;gap:12px;
  margin-bottom:14px;
}
.express-divider::before,.express-divider::after{
  content:"";flex:1;height:1px;background:#e0e0e0;
}
.express-divider span{font-size:12px;opacity:.5;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;}

.express-buttons{display:flex;gap:10px;}
.btn-gpay,.btn-applepay{
  flex:1;padding:12px 16px;border-radius:10px;border:none;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:opacity .15s;height:48px;
  overflow:hidden;
}
.btn-gpay img,.btn-applepay img{flex-shrink:0;}
.btn-gpay{background:#000;border:1px solid #333;}
.btn-gpay:hover{opacity:.85;}
.btn-applepay{background:#fff;border:1px solid #e0e0e0;}
.btn-applepay:hover{opacity:.85;}
.btn-gpay:disabled,.btn-applepay:disabled{opacity:.5;cursor:not-allowed;}

/* ── accordions ── */
.accordions{margin-top:24px;border-top:1px solid #e0e0e0;}
.accordion-item{border-bottom:1px solid #e0e0e0;}
.accordion-item summary{padding:16px 0;cursor:pointer;font-size:15px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.accordion-item summary::-webkit-details-marker{display:none;}
.accordion-item summary .chevron{transition:transform .2s;flex-shrink:0;}
.accordion-item[open] summary .chevron{transform:rotate(180deg);}
.accordion-body{padding:0 0 16px;opacity:.75;line-height:1.6;font-size:14px;}
.accordion-body ul{margin:0;padding-left:20px;}
.accordion-body li{margin-bottom:4px;}
/* ── size label row + link ── */
.size-label-row{display:flex;align-items:baseline;gap:8px;}
.size-guide-link{font-size:13px;color:#1a1a1a;text-decoration:underline;cursor:pointer;font-weight:400;transition:color .15s;}
.size-guide-link:hover{color:#c0392b;}

/* ── size guide modal ── */
.sg-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;
  background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s ease;pointer-events:none;
}
.sg-overlay.active{opacity:1;pointer-events:auto;}
.sg-modal{
  background:#fff;border-radius:12px;max-width:740px;width:92%;max-height:90vh;
  overflow-y:auto;padding:32px;position:relative;
  transform:translateY(20px);transition:transform .3s ease;
}
.sg-overlay.active .sg-modal{transform:translateY(0);}
.sg-close{
  position:absolute;top:16px;right:16px;width:28px;height:28px;
  border:none;background:none;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;
}
.sg-close img{display:block;width:100%;height:100%;object-fit:contain;}
.sg-close .close-hover{display:none;}
.sg-close:hover .close-default{display:none;}
.sg-close:hover .close-hover{display:block;}
.sg-title{font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin:0 0 20px;padding-right:40px;}
.sg-toggle{display:inline-flex;margin-bottom:20px;}
.sg-unit{
  padding:8px 18px;border:1px solid #e0e0e0;background:#fff;
  font-size:13px;font-weight:600;cursor:pointer;transition:.15s;color:#1a1a1a;
}
.sg-unit:first-child{border-radius:6px 0 0 6px;border-right:none;}
.sg-unit:last-child{border-radius:0 6px 6px 0;}
.sg-unit.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}
.sg-content{display:flex;gap:24px;margin-bottom:24px;align-items:flex-start;}
.sg-img{width:260px;flex-shrink:0;border-radius:8px;object-fit:contain;}
.sg-table-wrap{flex:1;overflow-x:auto;}
.sg-table{width:100%;border-collapse:collapse;font-size:13px;}
.sg-table th{
  font-weight:700;font-size:12px;text-transform:capitalize;letter-spacing:.3px;
  color:#555;padding:10px 12px;text-align:left;border-bottom:1px solid #e0e0e0;
}
.sg-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;}
.sg-table tr:last-child td{border-bottom:none;}
.sg-table tr:nth-child(even){background:#fafafa;}
.sg-note{font-size:13px;color:#666;line-height:1.6;margin-bottom:16px;}
.sg-instructions h4{font-size:13px;font-weight:800;text-transform:uppercase;margin:12px 0 4px;}
.sg-instructions p{font-size:13px;color:#666;line-height:1.6;margin:0 0 8px;}
@media(max-width:600px){
  .sg-content{flex-direction:column;}
  .sg-img{width:100%;max-width:240px;margin:0 auto;}
  .sg-modal{padding:20px;}
}

/* ── product tags ── */
.product-tags-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:20px 0 0;}
.product-tags-label{font-size:13px;font-weight:700;color:#1a1a1a;}
.product-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.product-tags li{display:inline;}
.product-tags a{
  display:inline-block;padding:6px 14px;border-radius:20px;
  border:1px solid #d0d0d0;font-size:13px;color:#555;
  text-decoration:none;transition:background .15s,color .15s,border-color .15s;
}
.product-tags a:hover{background:#f0f0f0;color:#1a1a1a;border-color:#aaa;}

/* ══════════════════════════════════════
   RELATED PRODUCTS ("You May Also Like")
   ══════════════════════════════════════ */
.related-section{margin-top:48px;padding-top:32px;border-top:1px solid #e0e0e0;}
.related-section h2{font-family:'Woodbone Regular';font-size:14pt;color:red;margin:0 0 20px;}
.related-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
}
@media(min-width:640px){.related-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:960px){.related-grid{grid-template-columns:repeat(4,1fr);}}

.related-grid .card{border-radius:12px;}
.related-grid .card img.card-img{aspect-ratio:3/4;}
.related-grid .card h3{font-size:14px;}
.related-grid .card .price{font-size:13px;}

/* ══════════════════════════════════════
   TAG / CATEGORY PAGES
   ══════════════════════════════════════ */
.tag-header{text-align:center;margin:24px 0 28px;}
.tag-header h1{font-family:'Woodbone Regular';font-size:28pt;margin:0 0 12px;}
.tag-header h1 .title1, .tag-header h1 .title2, .tag-header h1 .title-super {display:block;}
.tag-header h1 .title2 {font-size:12pt;color:red;margin-top:12px;font-family:sans-serif;}
.tag-header h1 .title-super {font-size:12pt;color:red;margin-bottom:2px;font-family:sans-serif;}
.tag-desc{max-width:700px;margin:0 auto;opacity:.75;line-height:1.6;font-size:15px;}
.tag-desc a{color:red;}
.tag-desc a:hover{color:#1a1a1a;}

/* view more button */
.view-more-wrap{text-align:center;margin:28px 0 8px;}
.btn-view-more{
  padding:14px 48px;border-radius:12px;border:1px solid #ccc;
  background:transparent;color:#1a1a1a;font-size:15px;font-weight:700;
  cursor:pointer;transition:.15s;
}
.btn-view-more:hover{border-color:#888;background:rgba(0,0,0,.03);}

/* bottom description */
.tag-desc-bottom{max-width:700px;margin:32px auto 0;opacity:.75;line-height:1.6;font-size:15px;}
.tag-desc-bottom a{color:red;}
.tag-desc-bottom a:hover{color:#1a1a1a;}
.tag-desc-bottom:empty{display:none;}

/* ── buttons (base) ── */
button{font-family:inherit;}
button:disabled{opacity:.5;cursor:not-allowed;}

/* ── messages ── */
.msg{margin-top:12px;font-size:14px;}
.ok{color:#1a8a3f}
.err{color:#d32f2f}

/* ── cart page ── */
.cart-wrap{max-width:1080px;margin:0 auto;padding:24px;}
.cart-wrap h1{margin-bottom:20px;}
.item{display:flex;gap:16px;background:#ffffff;border:1px solid #e0e0e0;border-radius:14px;padding:14px;margin-bottom:14px;box-shadow:0 1px 4px rgba(0,0,0,.04);align-items:center;}
.item img{width:110px;height:110px;object-fit:cover;border-radius:10px;flex-shrink:0;background:rgb(26 26 26 / 11%);}
.item-details{flex:1;min-width:0;}
.item h3{margin:0 0 6px;}
.item-price{font-weight:800;margin-bottom:8px;}
.qty-controls{display:flex;align-items:center;gap:0;}
.qty-controls button{width:32px;height:32px;border:1px solid #d0d0d0;background:#f5f5f5;color:#1a1a1a;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;}
.qty-controls button:hover{background:#e8e8e8;border-color:#aaa;}
.qty-controls button:disabled{opacity:.4;cursor:not-allowed;}
.qty-controls .qty-minus{border-radius:8px 0 0 8px;}
.qty-controls .qty-plus{border-radius:0 8px 8px 0;}
.qty-controls .qty-val{width:40px;height:32px;border:1px solid #d0d0d0;border-left:none;border-right:none;background:#fff;text-align:center;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.item-remove{background:none;border:none;color:#999;cursor:pointer;padding:8px;margin-left:auto;flex-shrink:0;transition:color .15s;}
.item-remove:hover{color:#d32f2f;}
.item-remove svg{display:block;}
.total{font-size:22px;font-weight:900;margin-top:20px;}

/* ══════════════════════════════════════
   FOOTER
   ══════════════════════════════════════ */
.site-footer{
  margin-top:48px;
  border-top:1px solid #e0e0e0;
  background:#ffffff;
  padding:28px 24px 24px;
}
.footer-inner{
  max-width:1440px;margin:0 auto;
  text-align:center;
}
.footer-links{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:10px 20px;
  margin:0 0 14px;font-size:13px;
}
.footer-links a{color:#555;text-decoration:none;transition:color .15s;}
.footer-links a:hover{color:#1a1a1a;}
.footer-payments{
  display:flex;align-items:center;justify-content:center;gap:18px;
  margin:0 0 14px;opacity:.55;
}
.footer-payments img,.footer-payments svg{display:block;}

.footer-copy{margin:0;font-size:12px;color:#888;}
.footer-copy a{color:#888;text-decoration:underline;transition:color .15s;}
.footer-copy a:hover{color:#1a1a1a;}

/* currency selector */
.currency-wrap{display:inline-flex;align-items:center;}
.currency-select{
  appearance:none;-webkit-appearance:none;
  background:#f5f5f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E") no-repeat right 10px center;
  border:1px solid #d0d0d0;border-radius:6px;
  padding:6px 28px 6px 10px;
  font-size:13px;color:#1a1a1a;
  cursor:pointer;transition:border-color .15s;
}
.currency-select:hover{border-color:#888;}
.currency-select:focus{outline:none;border-color:#666;}

/* ══════════════════════════════════════
   INFO / STATIC PAGES (terms, privacy, etc.)
   ══════════════════════════════════════ */
.info-wrap{
  max-width:800px;margin:0 auto;padding:32px 24px 48px;
  line-height:1.7;font-size:15px;color:#1a1a1a;
}
.info-wrap h1{
  font-family:'Woodbone Regular';font-size:26pt;margin:0 0 6px;
}
.info-updated{font-size:13px;color:#888;margin:0 0 28px;}
.info-wrap h2{font-size:18px;font-weight:700;margin:32px 0 10px;}
.info-wrap h3{font-size:15px;font-weight:700;margin:20px 0 8px;}
.info-wrap p{margin:0 0 14px;opacity:.85;}
.info-wrap ul,.info-wrap ol{margin:0 0 14px;padding-left:24px;opacity:.85;}
.info-wrap li{margin-bottom:6px;}
.info-wrap a{color:red;text-decoration:none;transition:color .15s;}
.info-wrap a:hover{color:#1a1a1a;}
.info-wrap strong{font-weight:700;opacity:1;}
.info-table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:13px;line-height:1.5;}
.info-table th,.info-table td{border:1px solid #d0d0d0;padding:10px 12px;text-align:left;vertical-align:top;}
.info-table th{background:#f0f0f0;font-weight:700;font-size:13px;}
.info-table td{opacity:.85;}
@media(max-width:640px){
  .info-table,.info-table thead,.info-table tbody,.info-table tr,.info-table th,.info-table td{display:block;width:100%;}
  .info-table thead{display:none;}
  .info-table tr{margin-bottom:14px;border:1px solid #d0d0d0;border-radius:8px;overflow:hidden;}
  .info-table td{border:none;border-bottom:1px solid #ebebeb;padding:8px 12px;}
  .info-table td:last-child{border-bottom:none;}
  .info-table td::before{content:attr(data-label);display:block;font-weight:700;font-size:12px;margin-bottom:4px;opacity:.6;}
}

/* ══════════════════════════════════════
   CONTACT FORM
   ══════════════════════════════════════ */
.contact-form{max-width:520px;margin:0 auto;}
.contact-form .form-group{margin-bottom:18px;}
.contact-form label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:#1a1a1a;}
.contact-form input,
.contact-form textarea{
  display:block;width:100%;box-sizing:border-box;
  border:1px solid #d0d0d0;border-radius:8px;
  padding:10px 14px;font-size:14px;font-family:inherit;
  color:#1a1a1a;background:#fff;
  transition:border-color .15s;
}
.contact-form input:focus,
.contact-form textarea:focus{outline:none;border-color:#666;}
.contact-form textarea{min-height:160px;resize:vertical;}
.contact-form .recaptcha-wrap{margin:20px 0;}
.contact-form .submit-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:#1a1a1a;color:#fff;border:none;border-radius:8px;
  padding:12px 32px;font-size:15px;font-weight:700;font-family:inherit;
  cursor:pointer;transition:opacity .15s;
}
.contact-form .submit-btn:hover{opacity:.85;}
.contact-form .submit-btn:disabled{opacity:.45;cursor:not-allowed;}
.form-msg{
  margin-top:16px;padding:12px 16px;border-radius:8px;
  font-size:14px;font-weight:600;display:none;
}
.form-msg.ok{display:block;background:#e8f5e9;color:#1a8a3f;border:1px solid #c8e6c9;}
.form-msg.err{display:block;background:#fdecea;color:#d32f2f;border:1px solid #f5c6cb;}

/* ── Category-parent grid ── */
.cat-parent-grid{
  display:grid;gap:24px;
  grid-template-columns:repeat(2, 1fr);
}
.cat-parent-grid .coll-card{
  transition:transform .15s, box-shadow .15s;
}
.cat-parent-grid .coll-card:hover{
  transform:translateY(-4px);
  box-shadow:0 6px 20px rgba(0,0,0,.1);
}
@media(min-width:640px){
  .cat-parent-grid{grid-template-columns:repeat(3, 1fr);}
}
@media(min-width:960px){
  .cat-parent-grid{grid-template-columns:repeat(4, 1fr);}
}

/* ── Body text block (pages.json) ── */
.bodytext{
  max-width:800px;margin:0 auto 36px;
  line-height:1.7;font-size:15px;color:#1a1a1a;
  padding:28px 32px;
  background:#fff;border-radius:12px;
  box-shadow:0 2px 12px rgba(0,0,0,.07);
  border:1px solid #eee;
}
.bodytext:last-child{margin-bottom:0;}
.bodytext p{margin:0 0 14px;opacity:.85;}
.bodytext h2{font-size:18px;font-weight:700;margin:28px 0 10px;}
.bodytext h3{font-size:15px;font-weight:700;margin:20px 0 8px;}
.bodytext a{color:red;text-decoration:none;transition:color .15s;}
.bodytext a:hover{color:#1a1a1a;}
.bodytext ul,.bodytext ol{margin:0 0 14px;padding-left:24px;opacity:.85;}
.bodytext li{margin-bottom:6px;}

/* ── title-super refinement ── */
.tag-header h1 .title-super{letter-spacing:.5px;text-transform:uppercase;}

@media(max-width:640px){
	.page-heading h1 {font-size:17pt;margin:0 0 20px 0;}
	.collections-section h2, .tag-carousel-header h2 a{font-size:16pt;}
	.bodytext{padding:20px 18px;margin-bottom:24px;}
	.shoptext {padding-top:0;}
}