/** Shopify CDN: Minification failed

Line 1718:1 Expected "}" to go with "{"

**/
:root{
  --bg:#fff;
  --fg:#000;
  --muted:#6a6a6a;
  --line:#e8e8e8;
  --beige:#b8ad97;

  --pad: clamp(16px, 2vw, 28px);
  --max: 1200px;
  --radius: 14px;

  /* Fonts */
  --font: -apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;

  /* Weight defaults (bolder than before) */
  --w-regular: 500;
  --w-medium: 650;
  --w-bold: 750;
  --w-heavy: 900;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--font);
  font-weight: var(--w-regular);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select{font:inherit;color:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.col-12{grid-column:span 12}
.col-6{grid-column:span 6}
.col-4{grid-column:span 4}
.col-3{grid-column:span 3}
@media(max-width:900px){.col-6,.col-4,.col-3{grid-column:span 12}}

.skip{position:absolute;left:-999px;top:8px;background:#000;color:#fff;padding:10px 12px;border-radius:10px}
.skip:focus{left:8px;z-index:9999}

/* --------------------------
   Announcement Bar
-------------------------- */
.announce{
  background:var(--beige);
  color:#000;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight: var(--w-bold);
}
.announce .container{
  padding:10px var(--pad);
  display:flex;
  justify-content:center;
}

/* --------------------------
   Header (BASICS-inspired)
   Top row: left icons | logo | right icons
   Second row: menu centered under logo
-------------------------- */
.header{position:sticky;top:0;z-index:70}
.headerbar{background:#000;color:#fff;border-bottom:1px solid #111}

/* IMPORTANT: icons further from center = wider side columns */
.headergrid{
  display:grid;
  grid-template-columns: 2fr auto 2fr;
  grid-template-rows: auto auto;
  align-items:center;
  gap:10px;
  padding:14px var(--pad);
}

/* Left icons */
.head-left{
  grid-column:1;
  grid-row:1;
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-start;
  padding-left:14px;
}

/* Logo */
.logo{
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.logo img{height:250px;width:auto;max-width:340px}
.logo .text{
  font-weight: var(--w-heavy);
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:40px;
  line-height:1;
}
.logo .sub{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.22em;
  opacity:.75;
  margin-top:4px;
}

/* Right icons (push outward) */
.head-right{
  grid-column:3;
  grid-row:1;
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
  padding-right:14px;
  z-index:1;
}

/* Under-logo nav */
.navcenter{
  grid-column:1 / -1;
  grid-row:2;
  width:100%;
  display:flex;
  justify-content:center !important;
  align-items:center;
  gap:22px;
  padding-bottom:10px;
  text-align:center;
}
.navcenter a{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  opacity:.92;
  font-weight: var(--w-bold);
}
.navcenter a:hover{opacity:1}

/* Buttons/icons in header */
.iconbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 12px;
  border:1px solid #1b1b1b;
  border-radius:999px;
  background:transparent;
  color:#fff;
  cursor:pointer;
}
.badge{
  font-family:var(--mono);
  font-size:12px;
  border:1px solid var(--line);
  padding:2px 8px;
  border-radius:999px;
  color:#000;
  background:#fff;
  font-weight: var(--w-bold);
}
.badge.dark{background:#000;color:#fff;border-color:#222}

/* Mobile rules */
.navtoggle{display:none}
@media(max-width:980px){
  .navcenter{display:none;}        /* hide under-logo nav */
  .head-left a{display:none;}      /* hide account/wishlist on mobile */
  .navtoggle{display:inline-flex;} /* keep menu button */
  .head-left{padding-left:0;}
  .head-right{padding-right:0;}
  .logo img{height:64x;max-width:420px}
  .logo .text{font-size:34px}
}

/* --------------------------
   Mega Menu
-------------------------- */
.navitem{position:relative}
.megawrap{
  position:absolute;
  left:50%;
  top:100%;
  transform:translateX(-50%);
  padding-top:10px;
  display:none;
}
.navitem:hover .megawrap{display:block}
.mega{
  width:min(900px,92vw);
  background:#fff;
  color:#000;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.mega-title{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px;
  font-weight: var(--w-bold);
}
.mega-link{
  display:block;
  padding:8px 0;
  border-bottom:1px solid var(--line);
  font-weight: var(--w-medium);
}
.mega-link:last-child{border-bottom:none}

/* --------------------------
   Global headings/buttons
-------------------------- */
h1,h2,h3{font-weight: var(--w-heavy);letter-spacing:.01em}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:0;
  border:1px solid #000;
  background:#000;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight: var(--w-bold);
}
.btn.secondary{
  background:#fff;
  color:#000;
  border:1px solid var(--line);
}
.btn:hover{opacity:.88}

/* --------------------------
   Hero Slideshow
-------------------------- */
.hero{position:relative;background:#000}
.hero-slide{position:relative;min-height:min(74vh,720px)}
.hero-media{position:absolute;inset:0}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.2), rgba(0,0,0,.65));
}
.hero-content{
  position:relative;
  max-width:var(--max);
  margin:0 auto;
  padding:clamp(22px,3vw,54px);
  min-height:min(74vh,720px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.kicker{
  font-family:var(--mono);
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.85);
  font-size:12px;
  font-weight: var(--w-bold);
}
.h1{
  margin:10px 0 8px;
  font-size:clamp(34px,5vw,72px);
  line-height:1.02;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#fff;
  font-weight: var(--w-heavy);
}
.subtxt{
  color:rgba(255,255,255,.85);
  max-width:62ch;
  line-height:1.65;
  font-size:14px;
  font-weight: var(--w-regular);
}
.btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* Bottom rail tabs */
.hero-rail{
  position:absolute;left:0;right:0;bottom:0;
  height:44px;background:#000;border-top:1px solid #111;
  display:flex;overflow:auto;scrollbar-width:none;
}
.hero-rail::-webkit-scrollbar{display:none}
.hero-tab{
  flex:0 0 auto;
  padding:12px 16px;
  border-right:1px solid #111;
  background:#000;color:#fff;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  opacity:.85;
  cursor:pointer;
  font-weight: var(--w-bold);
}
.hero-tab.active{opacity:1;background:#111}

/* --------------------------
   Marquee
-------------------------- */
.marquee{background:#000;color:#fff;border-bottom:1px solid #111;overflow:hidden}
.marquee-track{
  display:flex;gap:26px;white-space:nowrap;
  padding:12px 0;
  animation:scroll 18s linear infinite;
}
.marquee span{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  opacity:.9;
  font-weight: var(--w-bold);
}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* --------------------------
   Centered Text Block
-------------------------- */
.centertext{padding:54px 0 34px;text-align:center}
.centertext h2{margin:0 0 14px;font-size:22px;letter-spacing:.04em;font-weight: var(--w-heavy)}
.centertext p{margin:6px auto;color:var(--muted);max-width:70ch;line-height:1.7;font-weight: var(--w-regular)}

/* --------------------------
   Section headings
-------------------------- */
.section-head{display:flex;justify-content:center;align-items:flex-end;margin:24px 0 10px}
.section-head h2{margin:0;font-size:18px;letter-spacing:.04em;font-weight: var(--w-heavy)}

/* --------------------------
   Product Cards (bolder titles + prices)
-------------------------- */
.card{background:#fff}
.pc{position:relative;text-align:left;padding:10px 10px 18px}
.pcheart{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:-6px;
  font-size:22px;
  opacity:.75;
}
.pcimg{display:block;padding-top:10px}
.pcimg img{width:100%;height:auto}
.pctitle{
  margin-top:10px;
  font-size:13px;
  letter-spacing:.01em;
  font-weight: var(--w-bold);
}
.pctitle a{font-weight: var(--w-bold)}
.pcprice{
  margin-top:6px;
  font-size:13px;
  font-family: var(--mono);
  font-weight: var(--w-heavy);
}
.pc-quickadd{margin-top:10px;width:100%}

/* Badges */
.tag{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border:1px solid #000;
  background:#fff;
  color:#000;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight: var(--w-bold);
}

/* --------------------------
   Video Hero
-------------------------- */
.videohero{background:#000;color:#fff}
.videohero .wrap{position:relative;min-height:min(62vh,620px)}
.videohero video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.videohero .overlay{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.videohero .content{
  position:relative;
  max-width:var(--max);
  margin:0 auto;
  padding:clamp(22px,3vw,54px);
  min-height:min(62vh,620px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.videohero .big{
  font-size:clamp(34px,5vw,66px);
  font-weight: var(--w-heavy);
  letter-spacing:.02em;
  text-transform:uppercase;
}
.videohero .small{
  margin-top:10px;
  color:rgba(255,255,255,.88);
  font-weight: var(--w-regular);
}

/* --------------------------
   Editorial Tiles (3 on black)
-------------------------- */
.editorial{background:#000;color:#fff;padding:26px 0}
.tile{border:2px solid #111;background:#000}
.tile img{width:100%;height:520px;object-fit:cover}
@media(max-width:900px){.tile img{height:380px}}
.tilecap{
  padding:12px 10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
  font-weight: var(--w-bold);
  letter-spacing:.01em;
}

/* --------------------------
   Reveal Image Row (scroll pan)
-------------------------- */
.reveal{display:grid;grid-template-columns:1fr 1fr}
.reveal .cell{position:relative;height:520px;overflow:hidden}
.reveal img{
  position:absolute;left:0;top:-10%;
  width:100%;height:120%;
  object-fit:cover;
  transform:translateY(0);
  will-change:transform;
}
@media(max-width:900px){
  .reveal{grid-template-columns:1fr}
  .reveal .cell{height:340px}
}

/* --------------------------
   Newsletter band
-------------------------- */
.newsband{background:#000;color:#fff;padding:40px 0}
.newsband h3{
  margin:0 0 10px;
  text-align:center;
  font-size:22px;
  letter-spacing:.04em;
  font-weight: var(--w-heavy);
}
.newsband p{
  margin:0 0 16px;
  text-align:center;
  color:rgba(255,255,255,.8);
  font-weight: var(--w-regular);
}
.newsform{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.field{
  min-width:min(520px,90vw);
  padding:14px 16px;
  border-radius:0;
  border:1px solid #333;
  background:#000;
  color:#fff;
  font-weight: var(--w-medium);
}

/* --------------------------
   Footer (beige)
-------------------------- */
.footer{
  background:var(--beige);
  color:#000;
  padding:34px 0;
  border-top:1px solid rgba(0,0,0,.12);
}
.footergrid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1.2fr;
  gap:18px;
}
@media(max-width:900px){.footergrid{grid-template-columns:1fr}}
.footer h4{
  margin:0 0 10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:12px;
  font-weight: var(--w-heavy);
}
.footer a{display:block;padding:6px 0;font-weight: var(--w-bold)}
.footer small{opacity:.75;font-weight: var(--w-medium)}

/* --------------------------
   Drawers + Overlay
-------------------------- */
.noscroll{overflow:hidden}
/* --- Overlay must NOT block clicks unless it's shown --- */
.overlaybg{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 80;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;          /* KEY: allow clicks through */
  transition: opacity .18s ease, visibility .18s ease;
}

.overlaybg.show{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;          /* only blocks when drawer is open */
}

.drawer{
  position:fixed;
  top:0;right:0;
  height:100dvh;
  width:min(420px,92vw);
  background:#fff;
  color:#000;
  border-left:1px solid var(--line);
  z-index:90;
  transform:translateX(110%);
  transition:transform .22s ease;
  display:flex;
  flex-direction:column;
}
.drawer.open{transform:translateX(0)}
.drawer-head{
  padding:14px var(--pad);
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.drawer-body{padding:14px var(--pad);overflow:auto}
.drawer-link{
  display:flex;
  justify-content:space-between;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-weight: var(--w-bold);
}

/* Cart rows */
.cartrow{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:12px;
  align-items:start;
  border:1px solid var(--line);
  padding:10px;
}
.cartrow img{width:64px;height:64px;object-fit:cover}
.cartactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

/* --------------------------
   Policy + Notice blocks
-------------------------- */
.policy{border:1px solid var(--line);padding:10px 12px}
.policy summary{
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight: var(--w-heavy);
}
.policy-body{
  margin-top:10px;
  color:var(--muted);
  line-height:1.6;
  font-size:13px;
  font-weight: var(--w-regular);
}
.notice{border:1px solid #000;padding:12px 14px;margin-top:14px}
.notice-title{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  margin-bottom:8px;
  font-weight: var(--w-heavy);
}
.notice-body{
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
  font-weight: var(--w-regular);
}

/* --- Mobile: force logo perfectly centered in the viewport --- */
@media (max-width: 980px) {
  .headergrid{
    position: relative;
    grid-template-columns: auto 1fr auto; /* left icons | spacer | right icons */
    grid-template-rows: auto;
    padding: 14px var(--pad);
  }

  /* Keep icon groups on edges */
  .head-left{
    grid-column: 1;
    grid-row: 1;
    justify-content: flex-start;
    padding-left: 0;
  }

  .head-right{
    grid-column: 3;
    grid-row: 1;
    justify-content: flex-end;
    padding-right: 0;
  }

  /* Hide the under-logo desktop nav */
  .navcenter{ display:none; }

  /* Force logo dead-center */
  .logo{
    grid-column: 1 / -1;
    grid-row: 1;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    justify-self: center;
    z-index: 5;
  }

  /* Make sure it doesn't get huge on small screens */
  .logo img{
    height: 100px;     /* adjust if you want bigger */
    max-width: 420px; /* prevents overflow */
  }
}

/* Product accordions (collapsible details) */
.accordion{
  border:1px solid var(--line);
  background:#fff;
  padding:12px 14px;
}

.accordion summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight: var(--w-heavy);
}

.accordion summary::-webkit-details-marker{display:none}

/* little plus/minus indicator */
.accordion summary::after{
  content:"+";
  font-family: var(--mono);
  font-weight: var(--w-heavy);
  font-size:14px;
  line-height:1;
}

.accordion[open] summary::after{
  content:"–";
}

.accordion-body{
  margin-top:12px;
  color:var(--muted);
  line-height:1.8;
  font-size:13px;
  font-weight: var(--w-regular);
}

.accordion-body strong{
  color:#000;
  font-weight: var(--w-bold);
}

/* ===== Product Page (Images LEFT / Info RIGHT) ===== */
.pdp2{padding:34px 0 64px}
.pdp2-grid{
  display:grid;
  grid-template-columns: minmax(0,2.4fr) minmax(0,460px);
  gap: 64px;
  align-items:start;
}
@media (max-width: 980px){
  .pdp2-grid{grid-template-columns:2.4fr; gap:24px}
}

.pdp2-sticky{position:sticky; top:160px}
@media (max-width: 980px){ .pdp2-sticky{position:static} }

.pdp2-meta{
  font-family: var(--mono);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight: var(--w-bold);
}

.pdp2-title{
  margin:10px 0 8px;
  font-size:28px;
  font-weight: var(--w-heavy);
  letter-spacing:.01em;
}

.pdp2-price{
  font-family: var(--mono);
  font-size:14px;
  font-weight: var(--w-heavy);
  margin-bottom:14px;
}

.pdp2-label{
  display:block;
  margin-top:14px;
  margin-bottom:8px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight: var(--w-bold);
}

.pdp2-select{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  padding:12px 12px;
  font-weight: var(--w-medium);
}

/* Qty */
.pdp2-qtywrap{margin-top:14px}
.pdp2-qty{
  display:inline-grid;
  grid-template-columns: 44px 70px 44px;
  border:1px solid var(--line);
  background:#fff;
}
.pdp2-qtybtn{
  border:0;background:#fff;
  height:44px; cursor:pointer;
  font-size:18px; line-height:1;
}
.pdp2-qtyinput{
  border:0; height:44px;
  text-align:center;
  font-weight: var(--w-bold);
}
.pdp2-qtyinput:focus{outline:none}

/* ATC + wishlist */
.pdp2-atc-row{
  margin-top:16px;
  display:grid;
  grid-template-columns: 1fr 52px;
  gap:10px;
}
.pdp2-atc{
  height:52px;
  border:2px solid #000;
  background:#fff;
  color:#000;
  font-weight: var(--w-bold);
  cursor:pointer;
}
.pdp2-atc:hover{background:#000;color:#fff}
.pdp2-wish{
  height:52px;
  border:2px solid #000;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.pdp2-wish svg{color:#000}

/* Buy it now */
.pdp2-buy{margin-top:10px}
.shopify-payment-button__button{
  border-radius:0 !important;
  min-height:52px !important;
  font-weight: var(--w-bold) !important;
}
.shopify-payment-button__button--unbranded{
  background:#000 !important;
  color:#fff !important;
  border:2px solid #000 !important;
}

/* Description */
.pdp2-desc{
  margin-top:18px;
  color:var(--muted);
  line-height:1.8;
  font-size:13px;
}

/* Accordions */
.pdp2-accwrap{margin-top:18px;border-top:1px solid var(--line)}
.pdp2-acc{border-bottom:1px solid var(--line);padding:12px 0}
.pdp2-accsum{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight: var(--w-bold);
}
.pdp2-accsum::-webkit-details-marker{display:none}
.pdp2-chev{
  width:12px;height:12px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
  transition: transform .18s ease;
}
.pdp2-acc[open] .pdp2-chev{transform: rotate(-135deg)}
.pdp2-accbody{
  padding-top:12px;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
}

.pdp2-copy{
  border:1px solid var(--line);
  background:#fff;
  padding:10px 12px;
  cursor:pointer;
  font-weight: var(--w-bold);
}
.pdp2-copy:hover{border-color:#000}

/* Gallery */
.pdp2-gallery{}
.pdp2-main{border:1px solid var(--line); background:#fff}
.pdp2-main img, .pdp2-main video{width:100%; height:auto; display:block}
.pdp2-thumbs{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.pdp2-thumb{
  border:1px solid var(--line);
  background:#fff;
  padding:0;
  cursor:pointer;
}
.pdp2-thumb img{width:70px;height:70px;object-fit:cover;display:block}
.pdp2-thumb.active{border-color:#000}
.pdp2-ph{height:520px;background:#f2f2f2;border:1px solid var(--line)}

/* ===== PDP2 MOBILE FIX PACK ===== */
@media (max-width: 980px){

  /* Make the layout a true mobile stack (more reliable than grid on some themes) */
  .pdp2-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
  }

  /* Give media more room */
  .pdp2{padding:18px 0 40px !important;}

  /* Make image area go full width (edge-to-edge inside container) */
  .pdp2-left{
    margin-left: calc(var(--pad) * -1);
    margin-right: calc(var(--pad) * -1);
  }
  .pdp2-main{
    border-left:0 !important;
    border-right:0 !important;
  }

  /* Remove sticky on mobile */
  .pdp2-sticky{
    position:static !important;
    top:auto !important;
  }

  /* Typography spacing */
  .pdp2-title{
    font-size:22px !important;
    line-height:1.15 !important;
  }
  .pdp2-price{
    font-size:13px !important;
  }

  /* Variant dropdown full width */
  .pdp2-select{
    width:100% !important;
    padding:12px !important;
  }

  /* Qty stepper full width */
  .pdp2-qty{
    width:100% !important;
    grid-template-columns: 52px 1fr 52px !important;
  }
  .pdp2-qtybtn{height:48px !important;}
  .pdp2-qtyinput{height:48px !important; width:100% !important;}

  /* ATC + wishlist: keep clean */
  .pdp2-atc-row{
    grid-template-columns: 1fr 54px !important;
  }
  .pdp2-atc, .pdp2-wish{
    height:54px !important;
  }

  /* Buy it now full width */
  .pdp2-buy, .shopify-payment-button{width:100% !important;}
  .shopify-payment-button__button{
    width:100% !important;
    min-height:54px !important;
  }

  /* Description spacing */
  .pdp2-desc{
    margin-top:14px !important;
    font-size:13px !important;
  }

  /* Accordions tighter + easier tap targets */
  .pdp2-acc{padding:10px 0 !important;}
  .pdp2-accsum{
    font-size:13px !important;
    padding:6px 0 !important;
  }
  .pdp2-accbody{
    font-size:13px !important;
  }

  /* ===== Home featured products: add breathing room inside cards ===== */
.pc{
  padding: 18px 18px 22px;   /* top / sides / bottom */
}

.pc{ padding: 24px 24px 26px; }
.pcimg{ margin: 10px; }

/* ===== PDP2: Make main product images larger ===== */

/* Give more space to the LEFT (images) column */
.pdp2-grid{
  grid-template-columns: minmax(0, 1.9fr) minmax(0, 380px) !important;
  gap: 40px !important;
}

/* Ensure the media fills the column */
.pdp2-gallery,
.pdp2-main,
.pdp2-main .mediaitem{
  width: 100% !important;
}

.pdp2-main img,
.pdp2-main video{
  width: 100% !important;
  height: auto !important;
  display: block;
}

/* If you want thumbnails slightly bigger too */
.pdp2-thumb img{
  width: 80px !important;
  height: 80px !important;
}

/* ===== Featured products: match BASICS-style image size ===== */

/* Card padding so items aren't near edges */
.pc{
  padding: 22px 22px 26px !important;
}

/* Fixed image frame with lots of whitespace */
.pcimg{
  aspect-ratio: 1 / 1;          /* uniform box */
  width: 100%;
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;

  /* this is what makes the product look "smaller" like BASICS */
  padding: 46px !important;
}

/* Image stays within frame and does NOT fill it */
.pcimg img{
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center;
}

/* Optional: slightly smaller images on desktop (more whitespace) */
@media (min-width: 981px){
  .pcimg{
    padding: 64px !important;
  }
}

/* Mobile: reduce padding so it doesn't get too tiny */
@media (max-width: 980px){
  .pcimg{
    padding: 22px !important;
  }
}

/* ===== HOMEPAGE ONLY: Featured products uniform image size ===== */
/* Targets only the homepage featured-products section we marked fp-home */
.fp-home .pcimg{
  aspect-ratio: 1 / 1;          /* square frame so all match */
  width: 100%;
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  padding: 26px;               /* controls how “small” the product sits inside */
  border: 0;                    /* keep clean */
}

/* Make image fit INSIDE the frame (no cropping) */
.fp-home .pcimg img{
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center;
}

/* If you want them a little bigger inside the frame */
@media (min-width: 981px){
  .fp-home .pcimg{ padding: 22px; }
}

/* Mobile: less padding so they don’t look tiny */
@media (max-width: 980px){
  .fp-home .pcimg{ padding: 16px; }
}

/* ===== HOMEPAGE Featured Products: make ALL cards same size ===== */

/* Make the whole card layout consistent */
.fp-home .pc{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 1) Uniform image box so pack/box images don't change height */
.fp-home .pcimg{
  aspect-ratio: 1 / 1;         /* SAME image frame size for every product */
  width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
  padding: 26px;               /* controls how "small" product sits in the box */
}

/* Keep image INSIDE the box (no cropping) */
.fp-home .pcimg img{
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center;
}

/* 2) Clamp title so long titles don't make cards taller */
.fp-home .pctitle{
  display: -webkit-box;
  -webkit-line-clamp: 2;       /* 2 lines max */
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;           /* reserves same height even if short title */
}

/* Keep price area consistent too */
.fp-home .pcprice{
  min-height: 1.6em;
}

/* Mobile tuning so images don't look too tiny */
@media (max-width: 980px){
  .fp-home .pcimg{ padding: 16px; }
}

/* --- Make header buttons always clickable (above centered logo) --- */
.head-left,
.head-right{
  position: relative;
  z-index: 20;          /* buttons on top */
}

.logo{
  position: relative;
  z-index: 10;          /* logo below buttons */
}

/* Mobile: if logo is absolutely centered, keep buttons above it */
@media (max-width: 980px){
  .head-left,
  .head-right{ z-index: 30; }
  .logo{ z-index: 20; }
}

/* ===== Product page: make images larger (desktop) ===== */

/* Widen product page only (your global .container is 1200px) */
.pdp2.container{
  max-width: 1480px;
}

/* Give more space to the LEFT image column + reduce the gap */
@media (min-width: 981px){
  .pdp2-grid{
    grid-template-columns: minmax(0, 2.1fr) minmax(0, 420px) !important;
    gap: 40px !important;
  }
}

/* Make sure the main image truly fills the left column */
.pdp2-main{
  width: 100%;
}
.pdp2-main img,
.pdp2-main video{
  width: 100% !important;
  height: auto !important;
  display: block;
}

/* Optional: bigger thumbnails */
.pdp2-thumb img{
  width: 420px !important;
  height: 420px !important;
}

/* ===== PDP2: FORCE BIG IMAGES ===== */

/* Make product page wider (only product page) */
.pdp2.container{
  max-width: 1580px !important;
}

/* Give the LEFT image column more space */
@media (min-width: 981px){
  .pdp2-grid{
    grid-template-columns: minmax(0, 2.6fr) minmax(0, 440px) !important;
    gap: 44px !important;
  }
}

/* Main media area should not shrink */
.pdp2-main{
  width: 100% !important;
  border: 1px solid var(--line);
  background: #fff;
}

/* Ensure the image fills the main area */
.pdp2-main img{
  width: 100% !important;
  height: auto !important;
  display: block;
}

/* Thumbnails */
.pdp2-thumbs{
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.pdp2-thumb{
  border: 1px solid var(--line);
  background: #fff;
  padding: 0;
  cursor: pointer;
}
.pdp2-thumb.active{ border-color:#000; }
.pdp2-thumb img{
  width: 82px !important;
  height: 82px !important;
  object-fit: cover;
  display: block;
}

/* Mobile stays full-width */
@media (max-width: 980px){
  .pdp2.container{ max-width: 100% !important; }
  .pdp2-thumb img{ width: 70px !important; height: 70px !important; }
}

/* ===== PDP2: Reasonable image size (balanced) ===== */

/* Keep product page a reasonable width */
.pdp2.container{
  max-width: 1400px !important;
}

/* Balanced columns: big image area + clean info column */
@media (min-width: 981px){
  .pdp2-grid{
    grid-template-columns: minmax(0, 2fr) minmax(0, 420px) !important;
    gap: 48px !important;
  }

  /* Prevent the image from becoming TOO massive on wide screens */
  .pdp2-main{
    max-width: 820px;     /* key “reasonable size” cap */
    margin: 0 auto;       /* centers image within left column */
  }
}

/* Make sure the image fills the main area nicely */
.pdp2-main img{
  width: 35% !important;
  height: auto !important;
  display: block;
}

/* Thumbnails: reasonable size */
.pdp2-thumb img{
  width: 54px !important;
  height: 54px !important;
  object-fit: cover;
}

/* ===== MOBILE HEADER FIX: buttons row + centered logo row ===== */
@media (max-width: 980px){

  /* Two-row header layout */
  .headergrid{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px var(--pad) 14px !important;
    min-height: 0 !important;
    position: relative !important;
  }

  /* Left side (account/wishlist are already hidden on mobile) */
  .head-left{
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding-left: 0 !important;
    justify-content: flex-start !important;
  }

  /* Right side (Search / Cart / Menu) */
  .head-right{
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding-right: 0 !important;
    justify-content: flex-end !important;
    gap: 10px !important;
  }

  /* Logo gets its own centered row */
  .logo{
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    align-self: center !important;

    /* IMPORTANT: cancel any earlier absolute-centering rules */
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin-top: 6px !important;
    z-index: 1 !important;
  }

  .logo img{
    height: 240px !important;     /* adjust bigger/smaller */
    max-width: 240px !important;
    width: auto !important;
  }

  /* Hide desktop menu row; use drawer on mobile */
  .navcenter{ display: none !important; }

  /* Make buttons slightly more compact on mobile */
  .iconbtn{ padding: 8px 10px !important; }
  .badge{ font-size: 11px !important; padding: 2px 6px !important; }

  /* Ensure buttons stay clickable above everything */
  .head-left, .head-right{ position: relative !important; z-index: 20 !important; }
}

.product {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.product-media {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f6f6f6;
}

.product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.product-info {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.product-title {
  line-height: 1.1;
  min-height: 3.6em;
  margin-bottom: 8px;
}

.product-price {
  margin-bottom: 14px;
}

.quickadd {
  margin-top: auto;
  width: 100%;
}

.wish {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 2;
}

.grid > * {
  display: flex;
}

.grid .product {
  width: 100%;
}

/* =========================================================
   CLEAN PROFESSIONAL PRODUCT CARDS
   Delete older custom product-card CSS before using this
========================================================= */

/* Grid */
.product-grid,
.grid--products,
ul.products,
.collection-grid,
.collection .grid,
.featured-collection .grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px !important;
  align-items: stretch !important;
}

/* Card */
.product.product-card-clean {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #ffffff !important;
  border: 1px solid rgba(17, 17, 17, 0.08) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.product.product-card-clean:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.10) !important;
  border-color: rgba(17, 17, 17, 0.14) !important;
}

/* Image area */
.product.product-card-clean .product-media {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 240px !important;
  min-height: 240px !important;
  max-height: 240px !important;
  padding: 20px !important;
  background: #fafafa !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.06) !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

.product.product-card-clean .product-media img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

/* Placeholder */
.product-card-clean__placeholder {
  width: 100%;
  height: 100%;
  background: #f0f0f0;
}

/* Wishlist */
.product.product-card-clean .wish {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(17, 17, 17, 0.10) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 3 !important;
  cursor: pointer !important;
}

/* Badges */
.product.product-card-clean .product-badges {
  position: absolute !important;
  left: 12px !important;
  top: 12px !important;
  z-index: 2 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

/* Info area */
.product.product-card-clean .product-info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding: 16px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.product.product-card-clean .product-info > * {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Title */
.product.product-card-clean .product-title {
  display: block !important;
  margin: 0 0 10px !important;
  min-height: 62px !important;
}

.product.product-card-clean .product-title a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: #111111 !important;
  text-decoration: none !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

.product.product-card-clean .product-title a:hover {
  color: #000000 !important;
}

/* Price */
.product.product-card-clean .product-price {
  display: block !important;
  margin: 0 0 8px !important;
  color: #111111 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.product.product-card-clean .product-price,
.product.product-card-clean .product-price .price,
.product.product-card-clean .product-price .price__container,
.product.product-card-clean .product-price .price-item,
.product.product-card-clean .product-price .price__regular,
.product.product-card-clean .product-price .price__sale {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #111111 !important;
  font-weight: 800 !important;
  font-size: 18px !important;
}

.product.product-card-clean .product-price .price__compare,
.product.product-card-clean .product-price .compare-at-price {
  color: #7a7a7a !important;
  text-decoration: line-through !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Trust line */
.product-card-clean__trust {
  margin-bottom: 14px !important;
  color: #666666 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.02em !important;
}

/* Button */
.product.product-card-clean .btn,
.product.product-card-clean .product-card-clean__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 46px !important;
  margin-top: auto !important;
  padding: 0 18px !important;
  background: #111111 !important;
  color: #ffffff !important;
  border: 1px solid #111111 !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.product.product-card-clean .btn:hover,
.product.product-card-clean .product-card-clean__btn:hover {
  background: #ffffff !important;
  color: #111111 !important;
  border-color: #111111 !important;
}

/* Section headings look cleaner */
.shopify-section h2,
.shopify-section .title,
.shopify-section .title-wrapper-with-link {
  text-align: center;
}

.shopify-section .collection__title,
.shopify-section .title-wrapper-with-link {
  margin-bottom: 24px !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .product-grid,
  .grid--products,
  ul.products,
  .collection-grid,
  .collection .grid,
  .featured-collection .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .product.product-card-clean .product-media {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    padding: 14px !important;
  }

  .product.product-card-clean .product-info {
    padding: 12px !important;
  }

  .product.product-card-clean .product-title {
    min-height: 56px !important;
  }

  .product.product-card-clean .product-title a {
    font-size: 14px !important;
  }

  .product.product-card-clean .product-price,
  .product.product-card-clean .product-price .price,
  .product.product-card-clean .product-price .price__container,
  .product.product-card-clean .product-price .price-item,
  .product.product-card-clean .product-price .price__regular,
  .product.product-card-clean .product-price .price__sale {
    font-size: 16px !important;
  }

  .product-card-clean__trust {
    font-size: 11px !important;
  }

  .product.product-card-clean .btn,
  .product.product-card-clean .product-card-clean__btn {
    min-height: 42px !important;
    font-size: 11px !important;
    border-radius: 8px !important;
  }
}

/* Fix back-in-stock / email me when available button on product page */
.product__info-container .product-form__input,
.product__info-container .product-form__quantity,
.product__info-container .quantity {
  overflow: visible;
}

.product__info-container .product-form__input--quantity,
.product__info-container .product-form__input {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}

.product__info-container .quantity {
  flex: 0 0 auto;
}

.product__info-container .shopify-app-block,
.product__info-container .product__info-container .shopify-app-block,
.product__info-container [class*="notify"],
.product__info-container [class*="restock"],
.product__info-container [class*="klaviyo"],
.product__info-container [class*="back-in-stock"] {
  flex: 1 1 100%;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 8px;
}

.product__info-container .shopify-app-block button,
.product__info-container .shopify-app-block a,
.product__info-container [class*="notify"] button,
.product__info-container [class*="restock"] button,
.product__info-container [class*="klaviyo"] button,
.product__info-container [class*="back-in-stock"] button {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 52px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: normal !important;
  word-break: normal !important;
  line-height: 1.2;
  padding: 14px 18px !important;
  box-sizing: border-box;
}