/* =========================================================
   PRINTTIPAJA – Nordic Redesign Stylesheet
   Soft forest green · copper · warm snow · editorial type
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,600&family=Inter:wght@300;400;500;600&display=swap');

/* ── Design Tokens ────────────────────────────────────── */
:root {
  /* Core palette */
  --clr-bg:        #F8F6F1;
  --clr-bg-alt:    #EDEADE;
  --clr-bg-dark:   #1A2E25;
  --clr-bg-darker: #112019;
  --clr-dark:      #2C2C28;
  --clr-dark-2:    #1E1E1A;

  /* Brand */
  --clr-forest:    #2D4A3E;
  --clr-lake:      #3B6478;
  --clr-copper:    #B5773A;
  --clr-sand:      #C4A882;
  --clr-birch:     #E8E0CE;

  /* Semantic */
  --clr-accent:    #2D4A3E;
  --clr-accent-2:  #B5773A;
  --clr-accent-3:  #3B6478;

  /* Text */
  --clr-text:      #1E1E1A;
  --clr-muted:     #6B6960;
  --clr-border:    #DDD8CC;
  --clr-white:     #FFFFFF;
  --clr-light:     #F0EDE4;

  /* Typography */
  --ff-head:  'Cormorant Garamond', Georgia, serif;
  --ff-body:  'Inter', system-ui, sans-serif;
  --ff-label: 'Inter', system-ui, sans-serif;

  /* Sizes */
  --fs-xs:   0.75rem;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-lg:   1.125rem;
  --fs-xl:   1.25rem;
  --fs-2xl:  1.5rem;
  --fs-3xl:  2rem;
  --fs-4xl:  2.75rem;
  --fs-5xl:  3.75rem;
  --fs-6xl:  5.5rem;

  /* Weights */
  --fw-light:    300;
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;

  /* Radii */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 4px rgba(0,0,0,.06);
  --shadow-md: 0 4px 16px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.12);
  --shadow-xl: 0 24px 60px rgba(0,0,0,.16);

  /* Transitions */
  --transition:      250ms cubic-bezier(.4,0,.2,1);
  --transition-slow: 500ms cubic-bezier(.4,0,.2,1);

  /* Layout */
  --max-w:       1400px;
  --gutter:      clamp(1rem, 4vw, 2.5rem);
  --section-gap: clamp(4rem, 8vw, 7rem);
}

/* ── Reset ────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--ff-body);
  font-size: var(--fs-base);
  color: var(--clr-text);
  background: var(--clr-bg);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--transition); }
ul, ol { list-style: none; }
button, input, select, textarea { font: inherit; }
h1,h2,h3,h4,h5,h6 {
  font-family: var(--ff-head);
  font-weight: var(--fw-semibold);
  line-height: 1.12;
  letter-spacing: -.01em;
}

/* ── Utilities ────────────────────────────────────────── */
.container { width:100%; max-width:var(--max-w); margin-inline:auto; padding-inline:var(--gutter); }
.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; }
.section { padding-block: var(--section-gap); }

/* ── Buttons ──────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.85rem 2rem;
  font-family:var(--ff-label); font-weight:var(--fw-medium);
  font-size:var(--fs-xs); letter-spacing:.08em; text-transform:uppercase;
  border:2px solid transparent; border-radius:var(--radius-sm);
  cursor:pointer; transition:all var(--transition); white-space:nowrap; text-decoration:none;
}
.btn-primary { background:var(--clr-accent-2); color:#fff; border-color:var(--clr-accent-2); }
.btn-primary:hover { background:#9A6530; border-color:#9A6530; color:#fff; transform:translateY(-2px); box-shadow:0 8px 24px rgba(181,119,58,.3); }
.btn-forest { background:var(--clr-accent); color:#fff; border-color:var(--clr-accent); }
.btn-forest:hover { background:#1E3329; border-color:#1E3329; color:#fff; transform:translateY(-2px); }
.btn-dark { background:var(--clr-dark); color:#fff; border-color:var(--clr-dark); }
.btn-dark:hover { background:var(--clr-accent); border-color:var(--clr-accent); color:#fff; }
.btn-outline { background:transparent; color:var(--clr-dark); border-color:var(--clr-border); }
.btn-outline:hover { background:var(--clr-dark); border-color:var(--clr-dark); color:#fff; }
.btn-outline-white { background:transparent; color:#fff; border-color:rgba(255,255,255,.45); }
.btn-outline-white:hover { background:#fff; border-color:#fff; color:var(--clr-dark); }
.btn-lg { padding:1.1rem 2.75rem; font-size:var(--fs-sm); }
.btn-sm { padding:.55rem 1.25rem; font-size:var(--fs-xs); }

/* ── Announcement Bar ─────────────────────────────────── */
.announcement-bar {
  background:var(--clr-accent);
  color:rgba(255,255,255,.88);
  text-align:center; padding:.65rem var(--gutter);
  font-size:var(--fs-xs); font-family:var(--ff-label);
  letter-spacing:.09em; text-transform:uppercase; font-weight:var(--fw-medium);
}
.announcement-bar a { color:#fff; text-decoration:underline; opacity:.8; }
.announcement-bar a:hover { opacity:1; }

/* ── Site Header ──────────────────────────────────────── */
#site-header {
  position:sticky; top:0; z-index:1000;
  background:var(--clr-white); border-bottom:1px solid var(--clr-border);
  transition:box-shadow var(--transition);
}
#site-header.scrolled { box-shadow:var(--shadow-md); }
.header-inner {
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; gap:2rem; height:72px;
}

/* Logo */
.site-logo {
  font-family:var(--ff-head); font-weight:var(--fw-semibold);
  font-size:1.55rem; letter-spacing:-.01em; color:var(--clr-dark);
  display:flex; align-items:center; flex-shrink:0; line-height:1;
}
.site-logo span { color:var(--clr-accent); }
.site-logo img { height:40px; width:auto; }
.custom-logo-link { display:flex; align-items:center; }
.custom-logo-link img { height:40px; width:auto; }

/* Primary Nav */
.primary-nav { display:flex; align-items:center; justify-content:center; }
.primary-nav ul { display:flex; align-items:center; gap:.1rem; }
.primary-nav a {
  font-family:var(--ff-label); font-weight:var(--fw-medium);
  font-size:var(--fs-sm); padding:.5rem .8rem; border-radius:var(--radius-sm);
  color:var(--clr-text); position:relative; transition:all var(--transition);
  letter-spacing:.01em;
}
.primary-nav a::after {
  content:''; position:absolute; bottom:2px; left:.8rem; right:.8rem;
  height:1.5px; background:var(--clr-accent);
  transform:scaleX(0); transition:transform var(--transition); transform-origin:left;
}
.primary-nav a:hover, .primary-nav .current-menu-item>a { color:var(--clr-accent); }
.primary-nav a:hover::after, .primary-nav .current-menu-item>a::after { transform:scaleX(1); }

/* Dropdown */
.primary-nav .menu-item-has-children { position:relative; }
.primary-nav .sub-menu {
  position:absolute; top:calc(100% + 8px); left:50%;
  transform:translateX(-50%) translateY(8px);
  min-width:210px; background:var(--clr-white);
  border:1px solid var(--clr-border); border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg); opacity:0; pointer-events:none;
  transition:all var(--transition); z-index:100; padding:.4rem;
}
.primary-nav .menu-item-has-children:hover .sub-menu { opacity:1; pointer-events:all; transform:translateX(-50%) translateY(0); }
.primary-nav .sub-menu li a { display:block; padding:.6rem 1rem; border-radius:var(--radius-sm); font-size:var(--fs-sm); white-space:nowrap; }
.primary-nav .sub-menu li a::after { display:none; }
.primary-nav .sub-menu li a:hover { background:var(--clr-light); color:var(--clr-accent); }

/* Language switcher */
.lang-switcher {
  display:flex; align-items:center; gap:.1rem;
  border-left:1px solid var(--clr-border); padding-left:.75rem; margin-left:.35rem;
}
.lang-btn {
  font-family:var(--ff-label); font-size:10px; font-weight:var(--fw-semibold);
  letter-spacing:.07em; color:var(--clr-muted);
  padding:.3rem .45rem; border-radius:3px; border:none;
  background:none; cursor:pointer; transition:all var(--transition);
  text-transform:uppercase; text-decoration:none;
}
.lang-btn:hover, .lang-btn.active { color:var(--clr-accent); background:var(--clr-light); }

/* Header actions */
.header-actions { display:flex; align-items:center; gap:.2rem; flex-shrink:0; }
.header-icon-btn {
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border-radius:var(--radius-sm); border:none; background:transparent;
  color:var(--clr-dark); cursor:pointer; transition:all var(--transition);
  position:relative; text-decoration:none;
}
.header-icon-btn:hover { background:var(--clr-light); color:var(--clr-accent); }
.header-icon-btn svg { width:20px; height:20px; }
.cart-count {
  position:absolute; top:4px; right:4px;
  width:17px; height:17px; background:var(--clr-accent-2);
  color:#fff; font-size:9px; font-weight:700;
  border-radius:50%; display:flex; align-items:center; justify-content:center; line-height:1;
}

/* Mobile toggle */
.nav-toggle {
  display:none; flex-direction:column; gap:5px;
  width:40px; height:40px; align-items:center; justify-content:center;
  background:none; border:none; cursor:pointer; padding:8px; border-radius:var(--radius-sm);
}
.nav-toggle span { display:block; width:20px; height:1.5px; background:var(--clr-dark); border-radius:2px; transition:all var(--transition); }
.nav-toggle.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-toggle.active span:nth-child(2) { opacity:0; }
.nav-toggle.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* Search overlay */
.search-overlay {
  position:fixed; inset:0; background:rgba(26,46,37,.95); backdrop-filter:blur(8px);
  z-index:2000; display:flex; align-items:flex-start; justify-content:center;
  padding-top:20vh; opacity:0; pointer-events:none; transition:opacity var(--transition);
}
.search-overlay.active { opacity:1; pointer-events:all; }
.search-overlay-inner { width:100%; max-width:680px; padding:0 var(--gutter); }
.search-overlay form { display:flex; gap:.75rem; }
.search-overlay input {
  flex:1; padding:1.1rem 0; font-size:var(--fs-2xl); font-family:var(--ff-head);
  border:none; border-bottom:1.5px solid rgba(255,255,255,.25);
  background:transparent; color:#fff; outline:none;
}
.search-overlay input:focus { border-bottom-color:var(--clr-sand); }
.search-overlay input::placeholder { color:rgba(255,255,255,.3); }
.search-overlay-close { position:absolute; top:1.5rem; right:1.5rem; background:none; border:none; color:rgba(255,255,255,.55); cursor:pointer; padding:.5rem; }
.search-overlay-close:hover { color:#fff; }

/* Mobile Nav */
.mobile-nav {
  position:fixed; top:0; right:0; width:min(380px,100vw); height:100vh;
  background:var(--clr-white); z-index:1500;
  transform:translateX(100%); transition:transform var(--transition-slow);
  padding:5rem 2rem 2rem; overflow-y:auto; box-shadow:var(--shadow-xl);
}
.mobile-nav.open { transform:translateX(0); }
.mobile-nav ul { display:flex; flex-direction:column; gap:.2rem; }
.mobile-nav a {
  display:block; padding:.85rem 1rem;
  font-family:var(--ff-head); font-size:var(--fs-2xl); font-weight:var(--fw-regular);
  color:var(--clr-dark); border-radius:var(--radius-sm); letter-spacing:-.01em;
}
.mobile-nav a:hover { background:var(--clr-light); color:var(--clr-accent); }
.mobile-nav-footer { margin-top:2rem; padding-top:2rem; border-top:1px solid var(--clr-border); display:flex; flex-direction:column; gap:.75rem; }
.mobile-lang-switcher { display:flex; gap:.5rem; }

/* ── Hero ─────────────────────────────────────────────── */
.hero {
  background:var(--clr-bg-dark); color:#fff;
  min-height:90vh; display:grid; grid-template-columns:1fr 1fr;
  overflow:hidden; position:relative;
}
.hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 80% at 0% 100%, rgba(45,74,62,.45) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 100% 0%, rgba(59,100,120,.15) 0%, transparent 60%);
}
.hero-content {
  display:flex; flex-direction:column; justify-content:center;
  padding:var(--section-gap) var(--gutter) var(--section-gap) clamp(1.5rem,6vw,5rem);
  position:relative; z-index:1;
}
.hero-eyebrow {
  font-family:var(--ff-label); font-size:var(--fs-xs);
  letter-spacing:.16em; text-transform:uppercase; color:var(--clr-sand);
  margin-bottom:1.75rem; display:flex; align-items:center; gap:.75rem; opacity:.85;
}
.hero-eyebrow::before { content:''; display:block; width:28px; height:1px; background:var(--clr-sand); flex-shrink:0; }
.hero h1 {
  font-size:clamp(3rem,6vw,6.5rem); font-weight:var(--fw-light);
  line-height:1.05; letter-spacing:-.02em; margin-bottom:1.75rem; color:#fff;
}
.hero h1 em { font-style:italic; color:var(--clr-sand); display:block; }
.hero-desc {
  font-size:var(--fs-lg); color:rgba(255,255,255,.6);
  max-width:460px; margin-bottom:2.75rem; line-height:1.78; font-weight:var(--fw-light);
}
.hero-cta { display:flex; gap:1rem; flex-wrap:wrap; }
.hero-image { position:relative; overflow:hidden; background:var(--clr-bg-darker); }
.hero-image img { width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); opacity:.82; }
.hero-image:hover img { transform:scale(1.03); }
.hero-image-placeholder {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg,#1A2E25 0%,#0E1E16 60%,#122019 100%);
  position:relative; overflow:hidden;
}
.hero-placeholder-pattern {
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(0deg,transparent,transparent 48px,rgba(255,255,255,.012) 48px,rgba(255,255,255,.012) 49px),
    repeating-linear-gradient(90deg,transparent,transparent 48px,rgba(255,255,255,.012) 48px,rgba(255,255,255,.012) 49px);
}
.hero-placeholder-text {
  font-family:var(--ff-head); font-size:clamp(5rem,14vw,14rem);
  font-weight:var(--fw-light); color:rgba(255,255,255,.04);
  letter-spacing:-.04em; line-height:1; user-select:none; position:relative; text-align:center;
}
.hero-badge {
  position:absolute; bottom:2.5rem; right:2.5rem;
  width:92px; height:92px; background:var(--clr-accent-2); color:#fff;
  border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:var(--ff-label); font-weight:var(--fw-semibold);
  font-size:9.5px; text-align:center; text-transform:uppercase; letter-spacing:.07em; line-height:1.45;
  animation:spin-badge 24s linear infinite; z-index:2;
}
@keyframes spin-badge { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

/* ── Trust Bar ────────────────────────────────────────── */
.stats-bar { background:var(--clr-accent); color:rgba(255,255,255,.9); padding:1.5rem var(--gutter); }
.stats-bar-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.stat-item { display:flex; align-items:center; gap:.75rem; }
.stat-item svg { width:22px; height:22px; flex-shrink:0; opacity:.75; }
.stat-item strong { font-family:var(--ff-label); font-weight:var(--fw-semibold); font-size:var(--fs-sm); display:block; letter-spacing:.01em; }
.stat-item span { font-size:var(--fs-xs); opacity:.62; letter-spacing:.04em; }

/* ── Section Headers ──────────────────────────────────── */
.section-header { margin-bottom:clamp(2rem,4vw,3.5rem); }
.section-header.centered { text-align:center; }
.section-tag {
  font-family:var(--ff-label); font-size:var(--fs-xs); letter-spacing:.14em;
  text-transform:uppercase; color:var(--clr-accent-2); margin-bottom:.75rem;
  display:block; font-weight:var(--fw-medium);
}
.section-title {
  font-family:var(--ff-head); font-size:clamp(var(--fs-3xl),4vw,var(--fs-5xl));
  font-weight:var(--fw-light); letter-spacing:-.02em; color:var(--clr-dark); line-height:1.1;
}
.section-title.on-dark { color:#fff; }
.section-desc { font-size:var(--fs-lg); color:var(--clr-muted); margin-top:1rem; max-width:560px; line-height:1.72; }
.section-header.centered .section-desc { margin-inline:auto; }
.section-header-row { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1rem; }

/* ── Collections Grid ─────────────────────────────────── */
.collections-section { padding-block:var(--section-gap); background:var(--clr-bg-alt); }
.collection-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem;
}
.collection-grid .collection-card:first-child { grid-column:span 2; }
@media (max-width:900px) {
  .collection-grid { grid-template-columns:repeat(2,1fr); }
  .collection-grid .collection-card:first-child { grid-column:span 1; }
}
@media (max-width:600px) { .collection-grid { grid-template-columns:1fr; } }

.collection-card {
  position:relative; overflow:hidden; border-radius:var(--radius-lg);
  aspect-ratio:4/3; display:flex; align-items:flex-end;
  text-decoration:none; background:var(--clr-bg-dark);
}
.collection-card:first-child { aspect-ratio:16/7; }
@media (max-width:900px) { .collection-card:first-child { aspect-ratio:4/3; } }

.collection-card-bg { position:absolute; inset:0; transition:transform var(--transition-slow); }
.collection-card:hover .collection-card-bg { transform:scale(1.04); }

.collection-card[data-collection="nature"]   .collection-card-bg { background:linear-gradient(160deg,#1A3A2A,#0D2219 50%,#1B3B2B); }
.collection-card[data-collection="folklore"] .collection-card-bg { background:linear-gradient(160deg,#2A1E3A,#1A1226 50%,#2E1B40); }
.collection-card[data-collection="cyber"]    .collection-card-bg { background:linear-gradient(160deg,#0F2537,#0A1820 50%,#163040); }
.collection-card[data-collection="minimal"]  .collection-card-bg { background:linear-gradient(160deg,#3A2D1E,#2A1E12 50%,#402E1A); }
.collection-card[data-collection="drops"]    .collection-card-bg { background:linear-gradient(160deg,#2E1A1A,#1E1010 50%,#3A2020); }

.collection-card-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,20,15,.85) 0%,rgba(10,20,15,.2) 50%,transparent 100%);
}
.collection-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); opacity:.65; }
.collection-card:hover img { transform:scale(1.04); }
.collection-card-content { position:relative; z-index:1; padding:1.75rem; color:#fff; width:100%; }
.collection-card-label { font-family:var(--ff-label); font-size:var(--fs-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--clr-sand); margin-bottom:.4rem; opacity:.75; display:block; }
.collection-card-content h3 { font-family:var(--ff-head); font-size:clamp(var(--fs-xl),2.5vw,var(--fs-3xl)); font-weight:var(--fw-light); color:#fff; letter-spacing:-.01em; margin-bottom:.4rem; }
.collection-card-content p { font-size:var(--fs-sm); opacity:.55; line-height:1.5; max-width:320px; }
.collection-card-arrow {
  position:absolute; bottom:1.75rem; right:1.75rem;
  width:38px; height:38px; border:1px solid rgba(255,255,255,.3);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; transform:scale(0); transition:transform var(--transition),background var(--transition),border-color var(--transition);
}
.collection-card:hover .collection-card-arrow { transform:scale(1); background:var(--clr-accent-2); border-color:var(--clr-accent-2); }
.collection-card-arrow svg { width:15px; height:15px; }

/* Backward compat: category-card aliases */
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media (max-width:900px) { .category-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .category-grid { grid-template-columns:1fr; } }
.category-card { position:relative; overflow:hidden; border-radius:var(--radius-lg); aspect-ratio:4/3; display:flex; align-items:flex-end; text-decoration:none; background:var(--clr-bg-dark); }
.category-card-bg { position:absolute; inset:0; transition:transform var(--transition-slow); }
.category-card:hover .category-card-bg { transform:scale(1.04); }
.category-card-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,20,15,.85) 0%,rgba(10,20,15,.2) 50%,transparent 100%); }
.category-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); opacity:.65; }
.category-card:hover img { transform:scale(1.04); }
.category-card-content { position:relative; z-index:1; padding:1.75rem; color:#fff; }
.category-card-content h3 { font-family:var(--ff-head); font-size:clamp(var(--fs-xl),2.5vw,var(--fs-3xl)); font-weight:var(--fw-light); color:#fff; margin-bottom:.4rem; }
.category-card-content span { font-size:var(--fs-xs); opacity:.6; font-family:var(--ff-label); letter-spacing:.08em; text-transform:uppercase; }
.category-card-arrow { position:absolute; bottom:1.75rem; right:1.75rem; width:38px; height:38px; border:1px solid rgba(255,255,255,.3); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; transform:scale(0); transition:transform var(--transition),background var(--transition); }
.category-card:hover .category-card-arrow { transform:scale(1); background:var(--clr-accent-2); border-color:var(--clr-accent-2); }
.category-card-arrow svg { width:15px; height:15px; }

/* ── Product Grid ─────────────────────────────────────── */
.products-section { padding-block:var(--section-gap); }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
@media (max-width:1200px) { .product-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:768px)  { .product-grid { grid-template-columns:repeat(2,1fr); gap:1rem; } }
@media (max-width:480px)  { .product-grid { grid-template-columns:1fr; } }

.product-card {
  border-radius:var(--radius-lg); overflow:hidden; background:var(--clr-white);
  box-shadow:var(--shadow-sm); transition:all var(--transition);
  position:relative; display:flex; flex-direction:column; border:1px solid var(--clr-border);
}
.product-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:transparent; }
.product-card-image { position:relative; overflow:hidden; aspect-ratio:1; background:var(--clr-light); }
.product-card-image img { width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); }
.product-card:hover .product-card-image img { transform:scale(1.05); }
.product-card-image .no-image { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--clr-border); font-size:2.5rem; }

.product-badges { position:absolute; top:.75rem; left:.75rem; display:flex; flex-direction:column; gap:.4rem; }
.badge { font-family:var(--ff-label); font-size:10px; font-weight:var(--fw-semibold); letter-spacing:.08em; text-transform:uppercase; padding:.3rem .65rem; border-radius:var(--radius-full); }
.badge-sale    { background:var(--clr-accent-2); color:#fff; }
.badge-new     { background:var(--clr-accent);   color:#fff; }
.badge-limited { background:rgba(181,119,58,.12); color:var(--clr-accent-2); border:1px solid rgba(181,119,58,.3); }

.product-card-actions { position:absolute; top:.75rem; right:.75rem; display:flex; flex-direction:column; gap:.4rem; opacity:0; transform:translateX(8px); transition:all var(--transition); }
.product-card:hover .product-card-actions { opacity:1; transform:translateX(0); }
.product-action-btn {
  width:35px; height:35px; background:var(--clr-white); border:1px solid var(--clr-border);
  border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all var(--transition); color:var(--clr-dark); text-decoration:none; box-shadow:var(--shadow-sm);
}
.product-action-btn:hover { background:var(--clr-accent); border-color:var(--clr-accent); color:#fff; }
.product-action-btn svg { width:15px; height:15px; }

.product-card-body { padding:1.25rem; display:flex; flex-direction:column; flex:1; gap:.35rem; }
.product-category { font-family:var(--ff-label); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--clr-accent-2); font-weight:var(--fw-medium); }
.product-name { font-family:var(--ff-head); font-weight:var(--fw-medium); font-size:var(--fs-lg); color:var(--clr-dark); line-height:1.25; transition:color var(--transition); margin:0; letter-spacing:-.01em; }
.product-card:hover .product-name { color:var(--clr-accent); }
.product-name a { color:inherit; text-decoration:none; }
.product-rating { display:flex; align-items:center; gap:.35rem; }
.stars { color:var(--clr-sand); font-size:var(--fs-xs); }
.rating-count { font-size:var(--fs-xs); color:var(--clr-muted); }
.product-price { font-family:var(--ff-head); font-weight:var(--fw-semibold); font-size:var(--fs-xl); color:var(--clr-dark); display:flex; align-items:baseline; gap:.5rem; }
.product-price del { font-size:var(--fs-sm); font-weight:var(--fw-regular); color:var(--clr-muted); }
.product-price ins { text-decoration:none; color:var(--clr-accent); }

.product-card-footer { padding:0 1.25rem 1.25rem; }
.add-to-cart-btn {
  width:100%; padding:.7rem; font-family:var(--ff-label); font-weight:var(--fw-medium);
  font-size:var(--fs-xs); letter-spacing:.09em; text-transform:uppercase;
  background:var(--clr-accent); color:#fff; border:2px solid var(--clr-accent);
  border-radius:var(--radius-sm); cursor:pointer; transition:all var(--transition);
  display:flex; align-items:center; justify-content:center; gap:.5rem; text-decoration:none;
}
.add-to-cart-btn:hover, .add-to-cart-btn.loading { background:var(--clr-accent-2); border-color:var(--clr-accent-2); color:#fff; }
.add-to-cart-btn svg { width:15px; height:15px; }

/* ── Marquee ──────────────────────────────────────────── */
.marquee-section { background:var(--clr-bg-dark); padding-block:1rem; overflow:hidden; }
.marquee-track { display:flex; gap:2rem; animation:marquee 36s linear infinite; width:max-content; }
.marquee-item { display:flex; align-items:center; gap:1.25rem; font-family:var(--ff-head); font-weight:var(--fw-light); font-size:var(--fs-xl); color:rgba(255,255,255,.6); white-space:nowrap; }
.marquee-item em { font-style:italic; color:var(--clr-sand); }
.marquee-dot { width:4px; height:4px; border-radius:50%; background:var(--clr-sand); opacity:.4; flex-shrink:0; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── Story / Brand Section ────────────────────────────── */
.story-section {
  background:var(--clr-bg-dark); color:#fff;
  padding-block:var(--section-gap); overflow:hidden; position:relative;
}
.story-section::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 50% 70% at 100% 0%,rgba(59,100,120,.12) 0%,transparent 60%),
    radial-gradient(ellipse 40% 60% at 0% 100%,rgba(45,74,62,.2) 0%,transparent 60%);
}
.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,6vw,6rem); align-items:center; position:relative; z-index:1; }
@media (max-width:900px) { .story-grid { grid-template-columns:1fr; } }

.story-lead { font-family:var(--ff-head); font-size:clamp(var(--fs-2xl),3.5vw,var(--fs-4xl)); font-weight:var(--fw-light); line-height:1.3; color:#fff; margin-bottom:1.75rem; letter-spacing:-.01em; }
.story-lead em { font-style:italic; color:var(--clr-sand); }
.story-body { font-size:var(--fs-lg); color:rgba(255,255,255,.58); line-height:1.82; margin-bottom:1.5rem; font-weight:var(--fw-light); }
.story-body p+p { margin-top:1rem; }
.story-note { font-size:var(--fs-sm); color:rgba(255,255,255,.38); line-height:1.7; border-left:2px solid rgba(196,168,130,.3); padding-left:1rem; margin-bottom:2rem; font-style:italic; }

.story-image { border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:3/4; position:relative; background:var(--clr-bg-darker); }
.story-image img { width:100%; height:100%; object-fit:cover; opacity:.72; }
.story-image-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:2rem; padding:3rem; }
.story-placeholder-ring { width:100px; height:100px; border-radius:50%; border:1px solid rgba(255,255,255,.07); display:flex; align-items:center; justify-content:center; font-family:var(--ff-head); font-size:2.5rem; font-weight:var(--fw-light); color:rgba(255,255,255,.12); }
.story-placeholder-lines { display:flex; flex-direction:column; gap:.75rem; width:100%; }
.story-placeholder-lines span { height:1px; background:rgba(255,255,255,.07); border-radius:1px; display:block; }
.story-placeholder-lines span:nth-child(2) { width:72%; margin-inline:auto; }
.story-placeholder-lines span:nth-child(3) { width:85%; margin-inline:auto; }

/* ── Why Us section ───────────────────────────────────── */
.whyus-section { background:var(--clr-bg); padding-block:var(--section-gap); }
.whyus-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3rem; }
@media (max-width:900px) { .whyus-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:540px) { .whyus-grid { grid-template-columns:1fr; } }

.whyus-item { padding:1.75rem; background:var(--clr-white); border:1px solid var(--clr-border); border-radius:var(--radius-lg); transition:all var(--transition); }
.whyus-item:hover { border-color:rgba(45,74,62,.3); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.whyus-icon { width:46px; height:46px; background:var(--clr-light); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; color:var(--clr-accent); }
.whyus-icon svg { width:21px; height:21px; }
.whyus-item h3 { font-family:var(--ff-head); font-size:var(--fs-xl); font-weight:var(--fw-medium); color:var(--clr-dark); margin-bottom:.5rem; letter-spacing:-.01em; }
.whyus-item p { font-size:var(--fs-sm); color:var(--clr-muted); line-height:1.72; }

/* ── Newsletter Section ───────────────────────────────── */
.newsletter-section { background:var(--clr-bg-alt); padding-block:clamp(3rem,6vw,5rem); }
.newsletter-inner { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; max-width:1000px; margin-inline:auto; }
@media (max-width:700px) { .newsletter-inner { grid-template-columns:1fr; gap:2rem; } }
.newsletter-text h2 { font-family:var(--ff-head); font-size:clamp(var(--fs-3xl),4vw,var(--fs-4xl)); font-weight:var(--fw-light); color:var(--clr-dark); margin-bottom:.75rem; letter-spacing:-.02em; line-height:1.15; }
.newsletter-text p { font-size:var(--fs-base); color:var(--clr-muted); line-height:1.72; }
.newsletter-form-area form { display:flex; gap:.5rem; margin-bottom:.65rem; }
@media (max-width:500px) { .newsletter-form-area form { flex-direction:column; } }
.newsletter-form-area input[type="email"] { flex:1; padding:.9rem 1.25rem; border:1.5px solid var(--clr-border); border-radius:var(--radius-sm); background:var(--clr-white); font-size:var(--fs-sm); color:var(--clr-text); outline:none; transition:border-color var(--transition); }
.newsletter-form-area input[type="email"]:focus { border-color:var(--clr-accent); }
.newsletter-form-area input::placeholder { color:var(--clr-muted); }
.newsletter-form-area button { padding:.9rem 1.5rem; background:var(--clr-accent); color:#fff; border:none; border-radius:var(--radius-sm); cursor:pointer; font-family:var(--ff-label); font-weight:var(--fw-medium); font-size:var(--fs-xs); letter-spacing:.08em; text-transform:uppercase; transition:background var(--transition); white-space:nowrap; }
.newsletter-form-area button:hover { background:#1E3329; }
.newsletter-notice { font-size:var(--fs-xs); color:var(--clr-muted); opacity:.65; }

/* ── CTA Banner ───────────────────────────────────────── */
.cta-banner { background:var(--clr-bg-dark); color:#fff; padding-block:var(--section-gap); text-align:center; position:relative; overflow:hidden; }
.cta-banner::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse 600px 400px at 20% 50%,rgba(45,74,62,.3) 0%,transparent 70%), radial-gradient(ellipse 400px 400px at 80% 50%,rgba(59,100,120,.15) 0%,transparent 70%); }
.cta-banner-content { position:relative; z-index:1; max-width:660px; margin-inline:auto; }
.cta-banner h2 { font-family:var(--ff-head); font-size:clamp(var(--fs-3xl),5vw,var(--fs-5xl)); font-weight:var(--fw-light); color:#fff; margin-bottom:1.25rem; letter-spacing:-.02em; line-height:1.1; }
.cta-banner h2 em { font-style:italic; color:var(--clr-sand); }
.cta-banner p { font-size:var(--fs-lg); color:rgba(255,255,255,.58); margin-bottom:2.5rem; line-height:1.72; font-weight:var(--fw-light); }
.cta-banner-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
@media (max-width:480px) { .cta-banner-btns { flex-direction:column; align-items:center; } }

/* ── Footer ───────────────────────────────────────────── */
#site-footer { background:var(--clr-bg-dark); color:rgba(255,255,255,.62); }
.footer-main { padding-block:clamp(3rem,6vw,5rem); border-bottom:1px solid rgba(255,255,255,.07); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:3rem; }
@media (max-width:1024px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px)  { .footer-grid { grid-template-columns:1fr; gap:2rem; } }

.footer-logo { font-family:var(--ff-head); font-weight:var(--fw-medium); font-size:var(--fs-2xl); color:#fff; letter-spacing:-.01em; margin-bottom:1rem; display:block; }
.footer-logo span { color:var(--clr-sand); }
.footer-tagline { font-size:var(--fs-sm); line-height:1.78; margin-bottom:1.5rem; max-width:270px; }
.social-links { display:flex; gap:.5rem; }
.social-link { width:36px; height:36px; border-radius:var(--radius-sm); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.45); transition:all var(--transition); text-decoration:none; }
.social-link:hover { border-color:var(--clr-sand); background:rgba(196,168,130,.1); color:var(--clr-sand); }
.social-link svg { width:15px; height:15px; }

.footer-col h4 { font-family:var(--ff-label); font-weight:var(--fw-semibold); font-size:var(--fs-xs); color:#fff; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1.25rem; }
.footer-links { display:flex; flex-direction:column; gap:.55rem; }
.footer-links a { font-size:var(--fs-sm); color:rgba(255,255,255,.48); transition:color var(--transition); text-decoration:none; }
.footer-links a:hover { color:rgba(255,255,255,.9); }

.footer-newsletter p { font-size:var(--fs-sm); margin-bottom:1rem; line-height:1.65; }
.newsletter-form { display:flex; gap:.5rem; }
.newsletter-form input { flex:1; padding:.7rem 1rem; border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-sm); background:rgba(255,255,255,.05); color:#fff; font-size:var(--fs-sm); outline:none; transition:border-color var(--transition); }
.newsletter-form input::placeholder { color:rgba(255,255,255,.22); }
.newsletter-form input:focus { border-color:var(--clr-sand); }
.newsletter-form button { padding:.7rem 1.1rem; background:var(--clr-accent-2); color:#fff; border:none; border-radius:var(--radius-sm); cursor:pointer; font-family:var(--ff-label); font-weight:var(--fw-medium); font-size:var(--fs-xs); letter-spacing:.07em; text-transform:uppercase; transition:background var(--transition); white-space:nowrap; }
.newsletter-form button:hover { background:#9A6530; }

.footer-bottom { padding-block:1.25rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.footer-bottom p { font-size:var(--fs-xs); opacity:.42; }
.footer-bottom a { color:inherit; }
.footer-bottom-links { display:flex; gap:1.25rem; }
.footer-bottom-links a { font-size:var(--fs-xs); color:rgba(255,255,255,.32); transition:color var(--transition); text-decoration:none; }
.footer-bottom-links a:hover { color:rgba(255,255,255,.7); }

/* ── Scroll to top ────────────────────────────────────── */
.scroll-to-top { position:fixed; bottom:2rem; right:2rem; width:44px; height:44px; background:var(--clr-accent); color:#fff; border:none; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lg); opacity:0; pointer-events:none; transform:translateY(10px); transition:all var(--transition); z-index:500; }
.scroll-to-top.visible { opacity:1; pointer-events:all; transform:translateY(0); }
.scroll-to-top:hover { background:var(--clr-accent-2); }
.scroll-to-top svg { width:18px; height:18px; }

/* ── Animations ───────────────────────────────────────── */
.animate-on-scroll { opacity:0; transform:translateY(22px); transition:opacity .55s ease,transform .55s ease; }
.animate-on-scroll.in-view { opacity:1; transform:translateY(0); }
.delay-1{transition-delay:.1s} .delay-2{transition-delay:.2s} .delay-3{transition-delay:.3s} .delay-4{transition-delay:.4s}

/* ── WooCommerce Shop Page ────────────────────────────── */
.wc-shop-page { padding-block:var(--section-gap); }
.wc-shop-header { background:var(--clr-bg-dark); color:#fff; padding:clamp(3rem,6vw,5rem) var(--gutter); text-align:center; position:relative; overflow:hidden; }
.wc-shop-header::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--clr-accent),var(--clr-accent-2),var(--clr-accent-3)); }
.wc-shop-header h1 { font-size:clamp(var(--fs-4xl),6vw,var(--fs-6xl)); font-weight:var(--fw-light); color:#fff; margin-bottom:.5rem; letter-spacing:-.02em; }
.wc-shop-header p { color:rgba(255,255,255,.52); font-size:var(--fs-lg); }
.wc-shop-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2rem; padding-block:1.25rem; border-bottom:1px solid var(--clr-border); }
.wc-results-count { font-size:var(--fs-sm); color:var(--clr-muted); font-family:var(--ff-label); }
.wc-toolbar-right { display:flex; align-items:center; gap:.75rem; }
.wc-orderby { padding:.6rem 2rem .6rem 1rem; border:1px solid var(--clr-border); border-radius:var(--radius-sm); background:var(--clr-white); font-size:var(--fs-sm); font-family:var(--ff-body); color:var(--clr-text); cursor:pointer; outline:none; transition:border-color var(--transition); appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .75rem center; }
.wc-orderby:focus { border-color:var(--clr-accent); }
.view-toggle { display:flex; gap:.25rem; }
.view-btn { width:36px; height:36px; border:1px solid var(--clr-border); background:var(--clr-white); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--clr-muted); transition:all var(--transition); }
.view-btn.active,.view-btn:hover { background:var(--clr-accent); border-color:var(--clr-accent); color:#fff; }
.view-btn svg { width:16px; height:16px; }
.wc-shop-layout { display:grid; grid-template-columns:260px 1fr; gap:2.5rem; align-items:start; }
@media (max-width:1024px) { .wc-shop-layout { grid-template-columns:1fr; } }

/* Sidebar */
.sidebar-widget { background:var(--clr-white); border:1px solid var(--clr-border); border-radius:var(--radius-lg); padding:1.5rem; margin-bottom:1.5rem; }
.sidebar-widget-title { font-family:var(--ff-head); font-weight:var(--fw-medium); font-size:var(--fs-lg); color:var(--clr-dark); margin-bottom:1.25rem; padding-bottom:.75rem; border-bottom:1.5px solid var(--clr-border); letter-spacing:-.01em; }
.widget-cat-list { display:flex; flex-direction:column; gap:.25rem; }
.widget-cat-item { display:flex; align-items:center; justify-content:space-between; padding:.55rem .75rem; border-radius:var(--radius-sm); transition:background var(--transition); text-decoration:none; color:var(--clr-text); font-size:var(--fs-sm); }
.widget-cat-item:hover { background:var(--clr-light); color:var(--clr-accent); }
.widget-cat-count { background:var(--clr-light); padding:.2rem .5rem; border-radius:var(--radius-full); font-size:10px; color:var(--clr-muted); }
.price-inputs { display:flex; gap:.75rem; margin-top:1rem; }
.price-input { flex:1; padding:.6rem .75rem; border:1px solid var(--clr-border); border-radius:var(--radius-sm); font-size:var(--fs-sm); outline:none; }
.price-input:focus { border-color:var(--clr-accent); }

/* ── Single Product ───────────────────────────────────── */
.single-product-page { padding-block:clamp(2rem,4vw,4rem); }
.product-breadcrumb { margin-bottom:2rem; font-size:var(--fs-sm); color:var(--clr-muted); display:flex; align-items:center; gap:.5rem; }
.product-breadcrumb a { color:var(--clr-muted); text-decoration:none; transition:color var(--transition); }
.product-breadcrumb a:hover { color:var(--clr-accent); }
.product-breadcrumb-sep { color:var(--clr-border); }
.single-product-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
@media (max-width:900px) { .single-product-layout { grid-template-columns:1fr; } }
.product-gallery { position:sticky; top:90px; }
.product-gallery-main { border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:1; background:var(--clr-light); margin-bottom:1rem; cursor:zoom-in; }
.product-gallery-main img { width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); }
.product-gallery-main:hover img { transform:scale(1.04); }
.gallery-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }
.gallery-thumb { border-radius:var(--radius-md); overflow:hidden; aspect-ratio:1; cursor:pointer; border:2px solid transparent; transition:border-color var(--transition); background:var(--clr-light); }
.gallery-thumb.active,.gallery-thumb:hover { border-color:var(--clr-accent); }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.product-info-brand { font-family:var(--ff-label); font-size:var(--fs-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--clr-accent-2); margin-bottom:.75rem; font-weight:var(--fw-medium); }
.product-info h1 { font-size:clamp(var(--fs-3xl),4vw,var(--fs-4xl)); font-weight:var(--fw-light); color:var(--clr-dark); margin-bottom:1rem; letter-spacing:-.02em; }
.product-info-meta { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.product-info-rating { display:flex; align-items:center; gap:.35rem; font-size:var(--fs-sm); }
.product-info-reviews { font-size:var(--fs-sm); color:var(--clr-muted); text-decoration:underline; cursor:pointer; }
.product-info-sku { font-family:var(--ff-label); font-size:var(--fs-xs); color:var(--clr-muted); }
.product-info-price { font-family:var(--ff-head); font-size:var(--fs-4xl); font-weight:var(--fw-medium); color:var(--clr-dark); margin-bottom:1.5rem; display:flex; align-items:baseline; gap:.75rem; }
.product-info-price del { font-size:var(--fs-2xl); color:var(--clr-muted); font-weight:var(--fw-regular); }
.product-info-price ins { text-decoration:none; color:var(--clr-accent); }
.product-info-desc { font-size:var(--fs-base); color:var(--clr-muted); line-height:1.82; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid var(--clr-border); }
.product-variations { margin-bottom:1.5rem; }
.variation-group { margin-bottom:1.25rem; }
.variation-label { font-family:var(--ff-label); font-weight:var(--fw-medium); font-size:var(--fs-sm); color:var(--clr-dark); margin-bottom:.6rem; display:flex; align-items:center; gap:.5rem; }
.variation-label span { font-weight:var(--fw-regular); color:var(--clr-muted); }
.variation-swatches { display:flex; flex-wrap:wrap; gap:.5rem; }
.swatch { height:40px; min-width:40px; padding:0 .85rem; border:1.5px solid var(--clr-border); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:var(--fs-sm); font-family:var(--ff-label); font-weight:var(--fw-medium); transition:all var(--transition); background:var(--clr-white); color:var(--clr-dark); }
.swatch:hover { border-color:var(--clr-accent); color:var(--clr-accent); }
.swatch.active { border-color:var(--clr-accent); background:var(--clr-accent); color:#fff; }
.swatch.out-of-stock { opacity:.35; cursor:not-allowed; text-decoration:line-through; }
.product-actions { display:flex; gap:1rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.qty-selector { display:flex; align-items:center; border:1.5px solid var(--clr-border); border-radius:var(--radius-sm); overflow:hidden; height:52px; }
.qty-btn { width:48px; height:100%; background:var(--clr-light); border:none; cursor:pointer; font-size:var(--fs-xl); font-family:var(--ff-head); color:var(--clr-dark); display:flex; align-items:center; justify-content:center; transition:background var(--transition); }
.qty-btn:hover { background:var(--clr-border); }
.qty-input { width:52px; border:none; text-align:center; font-family:var(--ff-head); font-size:var(--fs-xl); font-weight:var(--fw-medium); color:var(--clr-dark); background:transparent; outline:none; }
.single-add-to-cart-btn { flex:1; min-width:180px; padding:1rem 2rem; background:var(--clr-accent-2); color:#fff; border:2px solid var(--clr-accent-2); border-radius:var(--radius-sm); cursor:pointer; font-family:var(--ff-label); font-weight:var(--fw-medium); font-size:var(--fs-sm); letter-spacing:.08em; text-transform:uppercase; transition:all var(--transition); display:flex; align-items:center; justify-content:center; gap:.5rem; }
.single-add-to-cart-btn:hover { background:#9A6530; border-color:#9A6530; transform:translateY(-2px); box-shadow:0 8px 24px rgba(181,119,58,.3); }
.product-trust { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--clr-border); }
.trust-badge, .trust-item { display:flex; align-items:center; gap:.4rem; font-size:var(--fs-xs); color:var(--clr-muted); }
.trust-badge svg, .trust-item svg { width:14px; height:14px; color:var(--clr-accent); }
.trust-item strong { font-size:var(--fs-xs); font-weight:var(--fw-semibold); color:var(--clr-dark); }
.trust-item span { font-size:var(--fs-xs); color:var(--clr-muted); }
.product-tabs { margin-top:2rem; }
.tab-nav { display:flex; border-bottom:1.5px solid var(--clr-border); margin-bottom:1.5rem; }
.tab-btn { padding:.75rem 1.5rem; background:none; border:none; border-bottom:2px solid transparent; margin-bottom:-1.5px; cursor:pointer; font-family:var(--ff-label); font-size:var(--fs-sm); font-weight:var(--fw-medium); color:var(--clr-muted); letter-spacing:.03em; transition:all var(--transition); }
.tab-btn.active { color:var(--clr-accent); border-bottom-color:var(--clr-accent); }
.tab-btn:hover { color:var(--clr-accent); }
.tab-content { display:none; }
.tab-content.active { display:block; }
.tab-content p { font-size:var(--fs-base); color:var(--clr-muted); line-height:1.82; margin-bottom:1rem; }
.material-list { display:flex; flex-direction:column; gap:.75rem; }
.material-item { display:flex; gap:.75rem; align-items:flex-start; }
.material-item strong { font-size:var(--fs-sm); font-family:var(--ff-label); font-weight:var(--fw-semibold); color:var(--clr-dark); min-width:110px; flex-shrink:0; }
.material-item span { font-size:var(--fs-sm); color:var(--clr-muted); line-height:1.65; }
.size-chart { width:100%; border-collapse:collapse; }
.size-chart th { font-family:var(--ff-label); font-size:var(--fs-xs); font-weight:var(--fw-semibold); letter-spacing:.08em; text-transform:uppercase; color:var(--clr-muted); padding:.75rem 1rem; text-align:left; border-bottom:1.5px solid var(--clr-border); }
.size-chart td { padding:.65rem 1rem; font-size:var(--fs-sm); color:var(--clr-text); border-bottom:1px solid var(--clr-light); }
.size-chart tr:last-child td { border-bottom:none; }
.size-chart tr:nth-child(even) td { background:var(--clr-bg); }
.related-products { margin-top:clamp(3rem,6vw,5rem); padding-top:clamp(3rem,6vw,5rem); border-top:1px solid var(--clr-border); }
.related-products h2 { font-family:var(--ff-head); font-size:var(--fs-3xl); font-weight:var(--fw-light); color:var(--clr-dark); margin-bottom:2rem; letter-spacing:-.02em; }

/* ── WooCommerce native overrides ─────────────────────── */
.woocommerce-content .woocommerce-message,
.woocommerce-content .woocommerce-info { border-top-color:var(--clr-accent); padding:1rem 1.5rem; background:var(--clr-white); border:1px solid var(--clr-border); border-radius:var(--radius-md); margin-bottom:1.5rem; font-size:var(--fs-sm); color:var(--clr-text); list-style:none; }
.woocommerce-content .button,
.woocommerce-content input[type="submit"],
.woocommerce-content button[type="submit"]:not(.search-submit) { background:var(--clr-accent-2) !important; color:#fff !important; border:2px solid var(--clr-accent-2) !important; border-radius:var(--radius-sm) !important; font-family:var(--ff-label) !important; font-weight:var(--fw-medium) !important; font-size:var(--fs-sm) !important; letter-spacing:.06em !important; text-transform:uppercase !important; padding:.75rem 1.5rem !important; transition:all var(--transition) !important; cursor:pointer !important; text-decoration:none !important; }
.woocommerce-content .button:hover,
.woocommerce-content input[type="submit"]:hover,
.woocommerce-content button[type="submit"]:not(.search-submit):hover { background:#9A6530 !important; border-color:#9A6530 !important; }
.woocommerce-content input[type="text"],
.woocommerce-content input[type="email"],
.woocommerce-content input[type="tel"],
.woocommerce-content input[type="password"],
.woocommerce-content input[type="number"],
.woocommerce-content select,
.woocommerce-content textarea { border:1.5px solid var(--clr-border) !important; border-radius:var(--radius-sm) !important; padding:.75rem 1rem !important; font-family:var(--ff-body) !important; font-size:var(--fs-sm) !important; color:var(--clr-text) !important; background:var(--clr-white) !important; outline:none !important; transition:border-color var(--transition) !important; width:100% !important; }
.woocommerce-content input:focus,.woocommerce-content select:focus,.woocommerce-content textarea:focus { border-color:var(--clr-accent) !important; }
.woocommerce-content label { font-size:var(--fs-sm) !important; font-weight:var(--fw-medium) !important; color:var(--clr-dark) !important; font-family:var(--ff-label) !important; }
.woocommerce-content table.shop_table { border:1px solid var(--clr-border) !important; border-radius:var(--radius-lg) !important; overflow:hidden !important; }
.woocommerce-content table.shop_table th { background:var(--clr-bg-alt) !important; color:var(--clr-dark) !important; font-family:var(--ff-label) !important; font-size:var(--fs-xs) !important; letter-spacing:.1em !important; text-transform:uppercase !important; padding:1rem 1.5rem !important; }
.woocommerce-content table.shop_table td { padding:1rem 1.5rem !important; border-bottom:1px solid var(--clr-border) !important; font-size:var(--fs-sm) !important; }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width:1024px) { .primary-nav{display:none} .nav-toggle{display:flex} }
@media (max-width:900px) {
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-content { padding:clamp(3rem,6vw,5rem) var(--gutter); order:2; }
  .hero-image { height:50vw; min-height:280px; max-height:420px; order:1; }
  .story-grid { grid-template-columns:1fr; }
  .story-image { aspect-ratio:4/3; order:-1; }
}
@media (max-width:600px) {
  .stats-bar-inner { justify-content:center; }
  .stat-item { flex:1 1 42%; }
  .hero-badge { width:74px; height:74px; font-size:9px; }
}
