/*
 * main.css — In Joy Living WordPress Theme
 * All site-wide styles. Compiled from 5 page templates.
 * DO NOT edit style.css — all CSS lives here.
 */

/* ═══════════════════════════════════════════════
   RESET & ROOT
═══════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --cream: #f8f5f0;
  --warm-white: #fdfaf6;
  --stone: #e8e2d9;
  --clay: #c4a882;
  --terracotta: #b5674d;
  --deep: #1a1714;
  --mid: #6b5f52;
  --text: #2d2520;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Jost', sans-serif;
}

html { scroll-behavior: smooth; }

body {
  background: var(--warm-white);
  color: var(--text);
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}


/* ═══════════════════════════════════════════════
   HOMEPAGE STYLES
═══════════════════════════════════════════════ */

/* ── NAV ── */
nav#nav
 {
    padding: 13px 48px;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}
    nav {

      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      display: flex; align-items: center; justify-content: space-between;
      padding: 22px 48px;
      background: rgba(253, 250, 246, 0.92);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(196, 168, 130, 0.15);
    }

    .nav-logo {
      font-family: var(--serif);
      font-size: 1.25rem;
      font-weight: 400;
      letter-spacing: 0.04em;
      color: var(--text);
      text-decoration: none;
    }

    .nav-links {
      display: flex; gap: 36px; list-style: none;
    }

    .nav-links a {
      font-family: var(--sans);
      font-size: 0.95rem;
      font-weight: 400;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--mid);
      text-decoration: none;
      transition: color 0.2s;
    }

    .nav-links a:hover { color: var(--text); }

    .nav-icons { display: flex; gap: 20px; align-items: center; }
    .nav-icons svg { width: 18px; height: 18px; stroke: var(--mid); cursor: pointer; transition: stroke 0.2s; }
    .nav-icons svg:hover { stroke: var(--text); }

    /* ── HERO ── */
    .hero {
      min-height: 100vh;
      display: grid;
      grid-template-columns: 1fr 1fr;
      padding-top: 72px;
      overflow: hidden;
    }

    .hero-left {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 80px 64px 80px 80px;
      position: relative;
    }

    .hero-eyebrow {
      font-family: var(--sans);
      font-size: 0.68rem;
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--clay);
      margin-bottom: 28px;
      opacity: 0;
      animation: fadeUp 0.8s 0.2s ease forwards;
    }

    .hero-title {
      font-family: var(--serif);
      font-size: clamp(3rem, 5vw, 5.5rem);
      font-weight: 400;
      line-height: 1.05;
      color: var(--text);
      margin-bottom: 32px;
      opacity: 0;
      animation: fadeUp 0.8s 0.4s ease forwards;
    }

    .hero-title em {
      font-style: italic;
      color: var(--terracotta);
    }

    .hero-sub {
      font-size: 0.95rem;
      font-weight: 400;
      color: var(--mid);
      line-height: 1.8;
      max-width: 380px;
      margin-bottom: 52px;
      opacity: 0;
      animation: fadeUp 0.8s 0.6s ease forwards;
    }

    .hero-cta {
      display: inline-flex; align-items: center; gap: 12px;
      opacity: 0;
      animation: fadeUp 0.8s 0.8s ease forwards;
    }

    .btn-primary {
      display: inline-block;
      padding: 14px 36px;
      background: var(--text);
      color: var(--warm-white);
      font-family: var(--sans);
      font-size: 0.7rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background 0.25s, transform 0.2s;
    }

    .btn-primary:hover { background: var(--terracotta); transform: translateY(-1px); }

    .btn-outline {
      font-family: var(--sans);
      font-size: 0.7rem;
      font-weight: 400;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--mid);
      text-decoration: none;
      border-bottom: 1px solid var(--clay);
      padding-bottom: 2px;
      transition: color 0.2s;
    }

    .btn-outline:hover { color: var(--text); }

    .hero-right {
      position: relative;
      overflow: hidden;
      background: var(--stone);
    }

    .hero-img-wrap {
      width: 100%; height: 100%;
      position: relative;
      opacity: 0;
      animation: fadeIn 1.2s 0.5s ease forwards;
    }

    .hero-img-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }

    .hero-img-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to right, rgba(253,250,246,0.08) 0%, transparent 40%);
    }

    .hero-badge {
      position: absolute;
      bottom: 48px; left: -28px;
      background: var(--warm-white);
      padding: 20px 28px;
      box-shadow: 0 4px 32px rgba(0,0,0,0.08);
      opacity: 0;
      animation: fadeUp 0.8s 1.2s ease forwards;
    }

    .hero-badge-label {
      font-family: var(--sans);
      font-size: 0.62rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--clay);
      margin-bottom: 4px;
    }

    .hero-badge-value {
      font-family: var(--serif);
      font-size: 1.3rem;
      font-weight: 400;
      color: var(--text);
    }

    /* ── MARQUEE ── */
    .marquee-wrap {
      overflow: hidden;
      background: var(--text);
      padding: 14px 0;
    }

    .marquee-track {
      display: flex;
      gap: 0;
      animation: marquee 28s linear infinite;
      white-space: nowrap;
    }

    .marquee-item {
      display: inline-flex; align-items: center; gap: 24px;
      padding: 0 40px;
      font-family: var(--serif);
      font-size: 0.85rem;
      font-style: italic;
      font-weight: 400;
      letter-spacing: 0.06em;
      color: var(--clay);
    }

    .marquee-dot {
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--terracotta);
      display: inline-block;
    }

    @keyframes marquee {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    /* ── STORY SECTION ── */
    .story {
      display: grid;
      grid-template-columns: 1fr 1fr;
      min-height: 80vh;
    }

    .story-img-side {
      position: relative;
      overflow: hidden;
      background: var(--stone);
    }

    .story-img-side img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      filter: sepia(5%);
      transition: transform 0.8s ease;
    }

    .story-img-side:hover img { transform: scale(1.03); }

    .story-img-caption {
      position: absolute;
      bottom: 32px; right: 32px;
      background: rgba(253,250,246,0.9);
      padding: 12px 18px;
      font-family: var(--serif);
      font-size: 0.8rem;
      font-style: italic;
      color: var(--mid);
    }

    .story-content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 80px 80px 80px 72px;
    }

    .section-label {
      font-family: var(--sans);
      font-size: 0.65rem;
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--clay);
      margin-bottom: 24px;
    }

    .story-content h2 {
      font-family: var(--serif);
      font-size: clamp(2rem, 3.2vw, 3.8rem);
      font-weight: 400;
      line-height: 1.15;
      color: var(--text);
      margin-bottom: 28px;
    }

    .story-content h2 em { font-style: italic; color: var(--terracotta); }

    .story-content p {
      font-size: 0.92rem;
      color: var(--mid);
      line-height: 1.9;
      max-width: 440px;
      margin-bottom: 16px;
    }

    .story-link {
      display: inline-flex; align-items: center; gap: 10px;
      margin-top: 32px;
      font-family: var(--sans);
      font-size: 0.7rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--text);
      text-decoration: none;
      border-bottom: 1px solid var(--clay);
      padding-bottom: 3px;
      width: fit-content;
      transition: color 0.2s;
    }

    .story-link:hover { color: var(--terracotta); }
    .story-link svg { width: 14px; height: 14px; stroke: currentColor; }

    /* ── CATEGORIES ── */
    .categories {
      padding: 100px 80px;
      background: var(--cream);
    }

    .section-header {
      text-align: center;
      margin-bottom: 72px;
    }

    .section-header h2 {
      font-family: var(--serif);
      font-size: clamp(2.2rem, 3.5vw, 4rem);
      font-weight: 400;
      color: var(--text);
      margin-bottom: 16px;
    }

    .section-header h2 em { font-style: italic; color: var(--terracotta); }

    .section-header p {
      font-size: 0.88rem;
      color: var(--mid);
      letter-spacing: 0.04em;
    }

    .cat-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2px;
    }

    .cat-card {
      position: relative;
      overflow: hidden;
      aspect-ratio: 3/4;
      cursor: pointer;
      background: var(--stone);
    }

    .cat-card img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.7s ease;
      filter: sepia(8%);
    }

    .cat-card:hover img { transform: scale(1.06); }

    .cat-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(26,23,20,0.75) 0%, rgba(26,23,20,0.1) 50%, transparent 100%);
      transition: opacity 0.3s;
    }

    .cat-card:hover .cat-overlay { opacity: 0.85; }

    .cat-info {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      padding: 32px 28px;
    }

    .cat-name {
      font-family: var(--serif);
      font-size: 1.55rem;
      font-weight: 400;
      color: #fff;
      line-height: 1.2;
      margin-bottom: 6px;
    }

    .cat-sub {
      font-family: var(--sans);
      font-size: 0.65rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.65);
    }

    .cat-arrow {
      position: absolute;
      top: 28px; right: 28px;
      width: 36px; height: 36px;
      border: 1px solid rgba(255,255,255,0.4);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      opacity: 0;
      transform: translateY(-6px);
      transition: opacity 0.3s, transform 0.3s;
    }

    .cat-card:hover .cat-arrow { opacity: 1; transform: translateY(0); }

    .cat-arrow svg { width: 12px; height: 12px; stroke: #fff; }

    /* ── PILLARS ── */
    .pillars {
      padding: 100px 80px;
      background: var(--warm-white);
    }

    .pillars-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 48px 64px;
    }

    .pillar {
      padding-top: 28px;
      border-top: 1px solid var(--stone);
    }

    .pillar-num {
      font-family: var(--serif);
      font-size: 0.8rem;
      font-style: italic;
      color: var(--clay);
      margin-bottom: 18px;
    }

    .pillar h3 {
      font-family: var(--serif);
      font-size: 1.45rem;
      font-weight: 400;
      color: var(--text);
      margin-bottom: 14px;
      line-height: 1.25;
    }

    .pillar p {
      font-size: 0.87rem;
      color: var(--mid);
      line-height: 1.8;
    }

    /* ── FEATURED PRODUCTS ── */
    .products {
      padding: 100px 80px;
      background: #fff !important;
    }

    .products-grid {

      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 17px;
      margin-top: 64px;
    }

    .product-card {
      position: relative;
      cursor: pointer;
    }

    .product-img {
      position: relative;
      overflow: hidden;
      aspect-ratio: 3/4;
      background: var(--stone);
      margin-bottom: 20px;
    }

    .product-img img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.6s ease;
    }

    .product-card:hover .product-img img { transform: scale(1.04); }

    .product-badge {
      position: absolute;
      top: 16px; left: 16px;
      background: var(--terracotta);
      color: #fff;
      font-family: var(--sans);
      font-size: 0.6rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 5px 10px;
    }

    .product-quick {
      position: absolute;
      bottom: 16px; left: 16px; right: 16px;
      background: var(--text);
      color: var(--warm-white);
      font-family: var(--sans);
      font-size: 0.68rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      text-align: center;
      padding: 12px;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity 0.3s, transform 0.3s;
      cursor: pointer;
    }

    .product-card:hover .product-quick { opacity: 1; transform: translateY(0); }

    .product-name, .product-name a {
      font-family: var(--sans);
      font-size: 1.3rem;
      font-weight: 400;
      color: var(--text);
      margin-bottom: 6px;
    }

    .product-origin {
      font-family: var(--sans);
      font-size: 0.65rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--clay);
      margin-bottom: 10px;
    }

    .product-price {
      font-family: var(--sans);
      font-size: 1.05rem;
      font-weight: 500;
      color: var(--text);
    }

    /* ── GALLERY STRIP ── */
    .gallery-strip {
      display: flex;
      height: 340px;
      overflow: hidden;
    }

    .gallery-strip-item {
      flex: 1;
      overflow: hidden;
      position: relative;
      cursor: pointer;
    }

    .gallery-strip-item img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      filter: sepia(8%);
      transition: transform 0.7s ease, filter 0.4s;
    }

    .gallery-strip-item:hover img { transform: scale(1.06); filter: sepia(0%); }

    .gallery-strip-item::after {
      content: '';
      position: absolute; inset: 0;
      background: rgba(26,23,20,0.15);
      transition: opacity 0.3s;
    }

    .gallery-strip-item:hover::after { opacity: 0; }

    /* ── PROMISE ── */
    .promise {
      padding: 120px 80px;
      background: var(--text);
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .promise::before {
      content: '';
      position: absolute;
      top: -80px; left: 50%; transform: translateX(-50%);
      width: 600px; height: 600px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(196,168,130,0.08) 0%, transparent 70%);
      pointer-events: none;
    }

    .promise-eyebrow {
      font-family: var(--sans);
      font-size: 0.65rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--clay);
      margin-bottom: 28px;
    }

    .promise h2 {
      font-family: var(--serif);
      font-size: clamp(2.8rem, 5vw, 6rem);
      font-weight: 400;
      color: var(--warm-white);
      line-height: 1.1;
      margin-bottom: 32px;
    }

    .promise h2 em { font-style: italic; color: var(--clay); }

    .promise p {
      font-size: 0.95rem;
      color: rgba(255,255,255,0.5);
      line-height: 1.9;
      max-width: 560px;
      margin: 0 auto 52px;
    }

    .promise-cta {
      display: inline-block;
      padding: 16px 44px;
      border: 1px solid rgba(196,168,130,0.5);
      color: var(--clay);
      font-family: var(--sans);
      font-size: 0.7rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition: border-color 0.25s, color 0.25s, background 0.25s;
    }

    .promise-cta:hover {
      border-color: var(--clay);
      background: var(--clay);
      color: var(--text);
    }

    /* ── TESTIMONIALS ── */
    .testimonials {
      padding: 100px 80px;
      background: var(--warm-white);
    }

    .testi-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2px;
      margin-top: 64px;
    }

    .testi-card {
      background: var(--cream);
      padding: 40px 36px;
    }

    .testi-stars {
      display: flex; gap: 4px;
      margin-bottom: 20px;
    }

    .testi-stars span {
      font-size: 0.9rem;
      color: var(--clay);
    }

    .testi-text {
      font-family: var(--serif);
      font-size: 1.05rem;
      font-style: italic;
      font-weight: 400;
      color: var(--text);
      line-height: 1.75;
      margin-bottom: 24px;
    }

    .testi-author {
      font-family: var(--sans);
      font-size: 0.65rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--mid);
    }

    .testi-location {
      font-family: var(--sans);
      font-size: 0.62rem;
      color: var(--clay);
      margin-top: 4px;
    }

    /* ── NEWSLETTER ── */
    .newsletter {
      padding: 88px 80px;
      background: var(--stone);
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: 80px;
    }

    .newsletter h2 {
      font-family: var(--serif);
      font-size: clamp(1.8rem, 2.8vw, 3.2rem);
      font-weight: 400;
      color: var(--text);
      line-height: 1.2;
    }

    .newsletter h2 em { font-style: italic; color: var(--terracotta); }

    .newsletter p {
      font-size: 0.88rem;
      color: var(--mid);
      margin-top: 16px;
      line-height: 1.8;
    }

    .newsletter-form {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .newsletter-input-row {
      display: flex;
      border: 1px solid rgba(196,168,130,0.5);
      overflow: hidden;
      background: var(--warm-white);
    }

    .newsletter-input-row input {
      flex: 1;
      padding: 16px 20px;
      border: none;
      outline: none;
      background: transparent;
      font-family: var(--sans);
      font-size: 0.85rem;
      font-weight: 400;
      color: var(--text);
    }

    .newsletter-input-row input::placeholder { color: var(--mid); opacity: 0.6; }

    .newsletter-input-row button {
      padding: 16px 28px;
      background: var(--text);
      color: var(--warm-white);
      border: none;
      font-family: var(--sans);
      font-size: 0.68rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.2s;
    }

    .newsletter-input-row button:hover { background: var(--terracotta); }

    .newsletter-note {
      font-size: 0.72rem;
      color: var(--clay);
      opacity: 0.8;
    }

    /* ── FOOTER ── */
    footer {
      background: var(--text);
      padding: 72px 80px 36px;
    }

    .footer-top {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1fr;
      gap: 60px;
      padding-bottom: 56px;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    .footer-brand-name {
      font-family: var(--serif);
      font-size: 1.4rem;
      font-weight: 400;
      color: var(--warm-white);
      margin-bottom: 16px;
    }

    .footer-brand-tagline {
      font-size: 0.82rem;
      color: rgba(255,255,255,0.4);
      line-height: 1.7;
      margin-bottom: 28px;
      max-width: 260px;
    }

    .footer-social {
      display: flex; gap: 14px;
    }

    .footer-social a {
      width: 34px; height: 34px;
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      transition: border-color 0.2s;
    }

    .footer-social a:hover { border-color: var(--clay); }

    .footer-social svg { width: 14px; height: 14px; stroke: rgba(255,255,255,0.5); }

    .footer-col h4 {
      font-family: var(--sans);
      font-size: 0.65rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--clay);
      margin-bottom: 20px;
    }

    .footer-col ul { list-style: none; }
    .footer-col ul li { margin-bottom: 10px; }

    .footer-col ul a {
      font-size: 0.83rem;
      color: rgba(255,255,255,0.45);
      text-decoration: none;
      transition: color 0.2s;
    }

    .footer-col ul a:hover { color: rgba(255,255,255,0.8); }

    .footer-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-top: 28px;
    }

    .footer-copy {
      font-size: 0.72rem;
      color: rgba(255,255,255,0.25);
    }

    .footer-bottom-links {
      display: flex; gap: 24px;
    }

    .footer-bottom-links a {
      font-size: 0.72rem;
      color: rgba(255,255,255,0.25);
      text-decoration: none;
      transition: color 0.2s;
    }

    .footer-bottom-links a:hover { color: rgba(255,255,255,0.5); }

    /* ── ANIMATIONS ── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(24px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    /* Scroll reveal */
    .reveal {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }

    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }

    /* ── RESPONSIVE ── */
    @media (max-width: 1024px) {
      nav { padding: 18px 32px; }
      .hero { grid-template-columns: 1fr; min-height: auto; }
      .hero-right { height: 60vw; }
      .hero-left { padding: 60px 32px; }
      .hero-badge { left: 16px; }
      .story { grid-template-columns: 1fr; }
      .story-img-side { height: 60vw; }
      .story-content { padding: 60px 32px; }
      .categories, .pillars, .products, .testimonials, .newsletter { padding: 72px 32px; }
      .cat-grid { grid-template-columns: repeat(2, 1fr); }
      .pillars-grid { grid-template-columns: repeat(2, 1fr); }
      .products-grid { grid-template-columns: repeat(2, 1fr); }
      .testi-grid { grid-template-columns: 1fr 1fr; }
      .newsletter { grid-template-columns: 1fr; gap: 40px; }
      .footer { padding: 56px 32px 28px; }
      .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; }
    }

    @media (max-width: 640px) {
      nav { padding: 16px 20px; }
      .nav-links { display: none; }
      .hero-left { padding: 48px 20 0px; }
      .categories, .pillars, .products, .testimonials { padding: 56px 20px; }
      .cat-grid { grid-template-columns: 1fr 1fr; gap: 2px; }
      .pillars-grid { grid-template-columns: 1fr; }
      .products-grid { grid-template-columns: 1fr; }
      .testi-grid { grid-template-columns: 1fr; }
      footer { padding: 48px 20px 24px; }
      .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
    }

/* ═══════════════════════════════════════════════
   SHOP STYLES
═══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    
    
    body{background:var(--warm-white);color:var(--text);font-family:var(--sans);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}

    /* ── NAV ── */
    nav{         justify-content: center;position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;background:rgba(253,250,246,0.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(196,168,130,0.15);transition:box-shadow 0.3s}
    .nav-logo{font-family:var(--serif);font-size:1.25rem;font-weight:400;letter-spacing:0.04em;color:var(--text);text-decoration:none}
    .nav-links{display:flex;gap:36px;list-style:none}
    .nav-links a{font-family:var(--sans);font-size:0.72rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--mid);text-decoration:none;transition:color 0.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--text)}
    .nav-links a.active{border-bottom:1px solid var(--clay);padding-bottom:2px}
    .nav-icons{display:flex;gap:20px;align-items:center}
    .nav-icons svg{width:18px;height:18px;stroke:var(--mid);cursor:pointer;transition:stroke 0.2s;fill:none}
    .nav-icons svg:hover{stroke:var(--text)}
    .cart-count{position:relative}
    .cart-badge{position:absolute;top:-6px;right:-6px;width:16px;height:16px;background:var(--terracotta);border-radius:50%;font-size:0.55rem;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--sans)}

    /* ── PAGE HEADER ── */
    .page-header{padding:140px 80px 60px;background:var(--cream);display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--stone)}
    .page-header-left{}
    .breadcrumb{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--clay);margin-bottom:16px}
    .breadcrumb a{color:var(--clay);text-decoration:none}
    .breadcrumb span{color:var(--mid)}
    .page-title{font-family:var(--serif);font-size:clamp(2.6rem,4vw,5rem);font-weight:400;color:var(--text);line-height:1.05}
    .page-title em{font-style:italic;color:var(--terracotta)}
    .page-count{font-family:var(--sans);font-size:0.78rem;color:var(--mid);margin-top:12px}

    /* ── FILTER BAR ── */
    .filter-bar{display:flex;align-items:center;justify-content:space-between;padding:20px 80px;background:var(--warm-white);border-bottom:1px solid var(--stone);position:sticky;top:70px;z-index:50;gap:20px}
    .filter-cats{display:flex;gap:0;list-style:none;overflow-x:auto}
    .filter-cats li a{display:block;padding:8px 20px;font-family:var(--sans);font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--mid);text-decoration:none;border:1px solid transparent;transition:all 0.2s;white-space:nowrap}
    .filter-cats li a:hover{color:var(--text);border-color:var(--stone)}
    .filter-cats li a.active{color:var(--text);background:var(--text);color:var(--warm-white);border-color:var(--text)}
    .filter-right{display:flex;align-items:center;gap:16px}
    .sort-select{font-family:var(--sans);font-size:0.68rem;letter-spacing:0.1em;color:var(--mid);background:transparent;border:1px solid var(--stone);padding:8px 14px;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b5f52'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
    .grid-toggle{display:flex;gap:4px}
    .grid-toggle button{width:32px;height:32px;background:transparent;border:1px solid var(--stone);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
    .grid-toggle button.active{background:var(--text);border-color:var(--text)}
    .grid-toggle button.active svg{stroke:#fff}
    .grid-toggle button svg{width:14px;height:14px;stroke:var(--mid);fill:none}

    /* ── FULL-WIDTH SHOP (no sidebar) ── */
    .products-section--full{width:100%;padding:40px 80px 80px}

    /* ── PRODUCTS GRID ── */
    .products-section{padding:40px 48px 80px}
    .products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
    .products-grid.grid-2{grid-template-columns:repeat(2,1fr)}
    .products-grid.grid-4{grid-template-columns:repeat(4,1fr);gap:24px}

    .product-card{position:relative;cursor:pointer}
    .product-img{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--stone);margin-bottom:18px}
    .product-img img{width:100%;height:100%;object-fit:contain;display:block;transition:transform 0.7s ease;filter:sepia(5%)}
    .product-card:hover .product-img img{transform:scale(1.05);filter:sepia(0%)}
    .product-badge{position:absolute;top:12px;left:12px;padding:4px 10px;font-family:var(--sans);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;z-index:2}
    .badge-new{background:var(--terracotta);color:#fff}
    .badge-best{background:var(--text);color:#fff}
    .badge-sale{background:var(--clay);color:#fff}
    .badge-ltd{background:transparent;border:1px solid rgba(255,255,255,0.7);color:#fff}
    .product-wish{position:absolute;top:12px;right:12px;width:32px;height:32px;background:rgba(253,250,246,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0.8);transition:all 0.25s;cursor:pointer;z-index:2}
    .product-card:hover .product-wish{opacity:1;transform:scale(1)}
    .product-wish svg{width:14px;height:14px;stroke:var(--mid);fill:none}
    .product-wish:hover svg{stroke:var(--terracotta)}
    .product-quick{position:absolute;bottom:0;left:0;right:0;background:rgba(26,23,20,0.88);color:#fff;font-family:var(--sans);font-size:0.65rem;letter-spacing:0.16em;text-transform:uppercase;text-align:center;padding:13px;opacity:0;transform:translateY(4px);transition:all 0.3s;cursor:pointer;z-index:2}
    .product-card:hover .product-quick{opacity:1;transform:translateY(0)}
    .product-origin{font-family:var(--sans);font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--clay);margin-bottom:6px}
    .product-name, .product-name a{font-family:var(--sans);font-size:1.3rem;font-weight:400;color:var(--text);margin-bottom:8px;line-height:1.3}
    .product-price-row{display:flex;align-items:center;gap:10px}
    .product-price{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--text)}
    .product-price-old{font-family:var(--serif);font-size:0.88rem;color:var(--clay);text-decoration:line-through}
    .product-rating{display:flex;align-items:center;gap:4px;margin-top:6px}
    .product-rating .stars{font-size:0.72rem;color:var(--clay);letter-spacing:1px}
    .product-rating .rcount{font-size:0.65rem;color:var(--mid)}

    /* Pagination */
    .pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding-top:60px}
    .pagination a,.pagination span{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:0.78rem;border:1px solid var(--stone);color:var(--mid);text-decoration:none;transition:all 0.2s}
    .pagination a:hover{border-color:var(--text);color:var(--text)}
    .pagination .active{background:var(--text);border-color:var(--text);color:var(--warm-white)}
    .pagination .dots{border:none;cursor:default}

    /* ── REVEAL ── */
    .reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease}
    .reveal.visible{opacity:1;transform:none}
    .rd1{transition-delay:0.08s}.rd2{transition-delay:0.16s}.rd3{transition-delay:0.24s}

    /* ── FOOTER ── */
    footer{background:var(--text);padding:72px 80px 36px}
    .footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,0.08)}
    .footer-brand-name{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--warm-white);margin-bottom:16px}
    .footer-brand-tagline{font-size:0.82rem;color:rgba(255,255,255,0.35);line-height:1.7;margin-bottom:28px;max-width:260px}
    .footer-col h4{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--clay);margin-bottom:20px}
    .footer-col ul{list-style:none}
    .footer-col ul li{margin-bottom:10px}
    .footer-col ul a{font-size:0.83rem;color:rgba(255,255,255,0.4);text-decoration:none;transition:color 0.2s}
    .footer-col ul a:hover{color:rgba(255,255,255,0.75)}
    .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px}
    .footer-copy{font-size:0.72rem;color:rgba(255,255,255,0.22)}
    .footer-bottom-links{display:flex;gap:24px}
    .footer-bottom-links a{font-size:0.72rem;color:rgba(255,255,255,0.22);text-decoration:none;transition:color 0.2s}
    .footer-bottom-links a:hover{color:rgba(255,255,255,0.5)}

    /* Shop pagination */
    .shop-pagination{padding-top:60px}
    .shop-pagination .woocommerce-pagination ul{display:flex;align-items:center;justify-content:center;gap:4px;list-style:none;padding:0}
    .shop-pagination .woocommerce-pagination ul li a,
    .shop-pagination .woocommerce-pagination ul li span{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:0.78rem;border:1px solid var(--stone);color:var(--mid);text-decoration:none;transition:all 0.2s}
    .shop-pagination .woocommerce-pagination ul li .current{background:var(--text);border-color:var(--text);color:var(--warm-white)}

    /* Add to cart button */
    .btn-add-to-cart,
    .single_add_to_cart_button.button{
      flex:1;padding:15px 32px;
      background:var(--text);color:var(--warm-white);
      font-family:var(--sans);font-size:0.72rem;font-weight:400;
      letter-spacing:0.18em;text-transform:uppercase;
      border:none;cursor:pointer;
      transition:background 0.25s,transform 0.2s;
    }
    .btn-add-to-cart:hover,
    .single_add_to_cart_button.button:hover{background:var(--terracotta);transform:translateY(-1px)}

    @media(max-width:1100px){.filter-bar{padding:16px 32px}.products-section--full{padding:32px 32px 60px}.products-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:640px){nav{padding:16px 20px}.nav-links{display:none}.page-header{padding:110px 20px 40px;flex-direction:column;gap:12px}.filter-bar{padding:12px 20px}.products-section--full{padding:24px 20px 48px}.products-grid{grid-template-columns:repeat(2,1fr);gap:16px}footer{padding:48px 20px 24px}.footer-top{grid-template-columns:1fr 1fr;gap:32px}}

/* ═══════════════════════════════════════════════
   ABOUT STYLES
═══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    
    
    body{background:var(--warm-white);color:var(--text);font-family:var(--sans);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}

    /* NAV */
    nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;background:rgba(253,250,246,0.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(196,168,130,0.15);transition:box-shadow 0.3s}
    .nav-logo{font-family:var(--serif);font-size:1.25rem;font-weight:400;letter-spacing:0.04em;color:var(--text);text-decoration:none}
    .nav-links{display:flex;gap:36px;list-style:none}
    .nav-links a{font-family:var(--sans);font-size:0.72rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--mid);text-decoration:none;transition:color 0.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--text)}
    .nav-links a.active{border-bottom:1px solid var(--clay);padding-bottom:2px}
    .nav-icons{display:flex;gap:20px;align-items:center}
    .nav-icons svg{width:18px;height:18px;stroke:var(--mid);cursor:pointer;fill:none;stroke-width:1.4;transition:stroke 0.2s}
    .nav-icons svg:hover{stroke:var(--text)}

    /* HERO */
    .about-hero{
      min-height:90vh;
      display:grid;
      grid-template-columns:1fr 1fr;
      padding-top:72px;
      overflow:hidden;
    }
    .ah-left{
      background:var(--text);
      display:flex;flex-direction:column;justify-content:flex-end;
      padding:80px;
      position:relative;
      overflow:hidden;
    }
    .ah-left::before{
      content:'';
      position:absolute;top:-100px;left:-100px;
      width:500px;height:500px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(196,168,130,0.07) 0%,transparent 70%);
    }
    .ah-eyebrow{
      font-family:var(--sans);font-size:0.65rem;letter-spacing:0.22em;
      text-transform:uppercase;color:var(--clay);margin-bottom:24px;
      opacity:0;animation:fadeUp 0.8s 0.3s ease forwards;
    }
    .ah-title{
      font-family:var(--serif);font-size:clamp(3rem,5vw,5.5rem);
      font-weight:400;line-height:1.05;color:var(--warm-white);
      margin-bottom:32px;
      opacity:0;animation:fadeUp 0.8s 0.5s ease forwards;
    }
    .ah-title em{font-style:italic;color:var(--clay)}
    .ah-quote{
      font-family:var(--serif);font-size:1.05rem;font-style:italic;
      color:rgba(255,255,255,0.45);line-height:1.75;
      border-left:2px solid var(--clay);padding-left:20px;
      max-width:400px;
      opacity:0;animation:fadeUp 0.8s 0.7s ease forwards;
    }
    .ah-scroll-hint{
      margin-top:48px;
      font-family:var(--sans);font-size:0.62rem;letter-spacing:0.18em;
      text-transform:uppercase;color:rgba(255,255,255,0.3);
      display:flex;align-items:center;gap:10px;
      opacity:0;animation:fadeUp 0.8s 0.9s ease forwards;
    }
    .ah-scroll-line{width:40px;height:1px;background:rgba(255,255,255,0.2)}
    .ah-right{
      position:relative;overflow:hidden;
      opacity:0;animation:fadeIn 1.2s 0.4s ease forwards;
    }
    .ah-right img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(8%)}
    .ah-right-caption{
      position:absolute;bottom:32px;right:32px;
      background:rgba(253,250,246,0.9);padding:14px 20px;
      font-family:var(--serif);font-size:0.82rem;font-style:italic;color:var(--mid);
    }

    /* PHILOSOPHY SECTION */
    .philosophy{
      padding:100px 80px;
      background:var(--cream);
    }
    .philosophy-grid{
      display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start;
    }
    .philosophy-label{
      font-family:var(--sans);font-size:0.65rem;letter-spacing:0.2em;
      text-transform:uppercase;color:var(--clay);
      padding-top:8px;
    }
    .philosophy-content h2{
      font-family:var(--serif);font-size:clamp(2.2rem,3.5vw,4rem);
      font-weight:400;line-height:1.15;color:var(--text);margin-bottom:32px;
    }
    .philosophy-content h2 em{font-style:italic;color:var(--terracotta)}
    .philosophy-content p{
      font-size:0.95rem;color:var(--mid);line-height:1.9;
      margin-bottom:20px;max-width:660px;
    }

    /* STATS */
    .stats{
      display:grid;grid-template-columns:repeat(4,1fr);
      gap:1px;background:var(--stone);
      border-top:1px solid var(--stone);
    }
    .stat-item{
      background:var(--warm-white);padding:48px 40px;
      text-align:center;
    }
    .stat-num{
      font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.5rem);
      font-weight:400;color:var(--text);line-height:1;margin-bottom:12px;
    }
    .stat-num em{font-style:italic;color:var(--terracotta)}
    .stat-label{
      font-family:var(--sans);font-size:0.68rem;letter-spacing:0.16em;
      text-transform:uppercase;color:var(--mid);
    }

    /* STORY TIMELINE */
    .timeline{
      padding:100px 80px;
      background:#fff;
    }
    .timeline-header{margin-bottom:72px}
    .timeline-header h2{
      font-family:var(--serif);font-size:clamp(2rem,3vw,3.5rem);
      font-weight:400;color:var(--text);
    }
    .timeline-header h2 em{font-style:italic;color:var(--terracotta)}
    .timeline-items{
      display:grid;grid-template-columns:repeat(3,1fr);
      gap:48px;
      position:relative;
    }
    .timeline-items::before{
      content:'';
      position:absolute;top:24px;left:0;right:0;height:1px;
      background:linear-gradient(to right,var(--clay),var(--stone),var(--clay));
    }
    .tl-item{padding-top:48px;position:relative}
    .tl-dot{
      position:absolute;top:16px;left:0;
      width:16px;height:16px;border-radius:50%;
      background:var(--warm-white);border:2px solid var(--clay);
    }
    .tl-year{
      font-family:var(--serif);font-size:2rem;font-weight:400;
      color:var(--clay);margin-bottom:12px;
    }
    .tl-title{
      font-family:var(--serif);font-size:1.15rem;font-weight:400;
      color:var(--text);margin-bottom:10px;
    }
    .tl-text{font-size:0.85rem;color:var(--mid);line-height:1.8}

    /* TEAM */
    .team{
      padding:100px 80px;
      background:var(--cream);
    }
    .team-header{text-align:center;margin-bottom:72px}
    .team-header h2{font-family:var(--serif);font-size:clamp(2rem,3vw,3.5rem);font-weight:400;color:var(--text)}
    .team-header h2 em{font-style:italic;color:var(--terracotta)}
    .team-header p{font-size:0.88rem;color:var(--mid);margin-top:14px}
    .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
    .team-card{text-align:center}
    .team-img{
      width:100%;aspect-ratio:4/5;overflow:hidden;
      background:var(--stone);margin-bottom:24px;
    }
    .team-img img{
      width:100%;height:100%;object-fit:cover;
      display:block;filter:grayscale(20%) sepia(8%);
      transition:filter 0.4s,transform 0.5s;
    }
    .team-card:hover .team-img img{filter:grayscale(0%) sepia(0%);transform:scale(1.03)}
    .team-name{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--text);margin-bottom:4px}
    .team-role{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--clay);margin-bottom:12px}
    .team-bio{font-size:0.82rem;color:var(--mid);line-height:1.75;max-width:300px;margin:0 auto}

    /* ARTISANS */
    .artisans{
      padding:0;
      background:var(--text);
      display:grid;grid-template-columns:1fr 1fr;
      min-height:70vh;
    }
    .artisans-img{overflow:hidden}
    .artisans-img img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(10%)}
    .artisans-content{
      display:flex;flex-direction:column;justify-content:center;
      padding:80px;
    }
    .artisans-content .section-label{
      font-family:var(--sans);font-size:0.65rem;letter-spacing:0.2em;
      text-transform:uppercase;color:var(--clay);margin-bottom:24px;
    }
    .artisans-content h2{
      font-family:var(--serif);font-size:clamp(2rem,3vw,3.5rem);
      font-weight:400;line-height:1.15;color:var(--warm-white);margin-bottom:28px;
    }
    .artisans-content h2 em{font-style:italic;color:var(--clay)}
    .artisans-content p{font-size:0.9rem;color:rgba(255,255,255,0.5);line-height:1.9;margin-bottom:16px;max-width:460px}
    .artisan-stats{
      display:grid;grid-template-columns:repeat(3,1fr);
      gap:1px;background:rgba(255,255,255,0.06);
      margin-top:40px;border:1px solid rgba(255,255,255,0.06);
    }
    .astat{background:rgba(255,255,255,0.03);padding:20px 16px;text-align:center}
    .astat-num{font-family:var(--serif);font-size:1.8rem;font-weight:400;color:var(--clay);line-height:1}
    .astat-lbl{font-family:var(--sans);font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.3);margin-top:6px}

    /* VALUES */
    .values{padding:100px 80px;background:var(--warm-white)}
    .values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--stone);border:1px solid var(--stone);margin-top:56px}
    .value-item{background:var(--warm-white);padding:48px 44px;transition:background 0.3s}
    .value-item:hover{background:var(--cream)}
    .value-icon{margin-bottom:20px}
    .value-icon svg{width:28px;height:28px;stroke:var(--clay);fill:none;stroke-width:1.2}
    .value-title{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--text);margin-bottom:12px}
    .value-text{font-size:0.87rem;color:var(--mid);line-height:1.8}

    /* CTA BAND */
    .cta-band{
      padding:80px;
      background:var(--clay);
      display:flex;align-items:center;justify-content:space-between;gap:40px;
    }
    .cta-band h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);font-weight:400;color:var(--text);line-height:1.2}
    .cta-band h2 em{font-style:italic}
    .cta-band-btns{display:flex;gap:14px;flex-shrink:0}
    .btn-dark{
      display:inline-block;padding:14px 32px;
      background:var(--text);color:var(--warm-white);
      font-family:var(--sans);font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;
      text-decoration:none;transition:background 0.2s;
    }
    .btn-dark:hover{background:var(--deep)}
    .btn-ghost{
      display:inline-block;padding:14px 32px;
      border:1px solid var(--text);color:var(--text);
      font-family:var(--sans);font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;
      text-decoration:none;transition:all 0.2s;
    }
    .btn-ghost:hover{background:var(--text);color:var(--warm-white)}

    /* REVEAL */
    .reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}
    .reveal.visible{opacity:1;transform:none}
    .rd1{transition-delay:0.1s}.rd2{transition-delay:0.2s}.rd3{transition-delay:0.3s}

    @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
    @keyframes fadeIn{from{opacity:0}to{opacity:1}}

    /* FOOTER */
    footer{background:var(--text);padding:72px 80px 36px}
    .footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,0.08)}
    .footer-brand-name{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--warm-white);margin-bottom:16px}
    .footer-brand-tagline{font-size:0.82rem;color:rgba(255,255,255,0.35);line-height:1.7;margin-bottom:28px;max-width:260px}
    .footer-col h4{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--clay);margin-bottom:20px}
    .footer-col ul{list-style:none}
    .footer-col ul li{margin-bottom:10px}
    .footer-col ul a{font-size:0.83rem;color:rgba(255,255,255,0.4);text-decoration:none;transition:color 0.2s}
    .footer-col ul a:hover{color:rgba(255,255,255,0.75)}
    .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px}
    .footer-copy{font-size:0.72rem;color:rgba(255,255,255,0.22)}
    .footer-bottom-links{display:flex;gap:24px}
    .footer-bottom-links a{font-size:0.72rem;color:rgba(255,255,255,0.22);text-decoration:none}

    @media(max-width:1024px){nav{padding:18px 32px}.about-hero{grid-template-columns:1fr}.ah-left{padding:60px 40px}.philosophy{padding:72px 40px}.philosophy-grid{grid-template-columns:1fr;gap:28px}.stats{grid-template-columns:repeat(2,1fr)}.timeline{padding:72px 40px}.timeline-items{grid-template-columns:1fr;gap:32px}.timeline-items::before{display:none}.team,.artisans-content,.values,.cta-band{padding:72px 40px}.artisans{grid-template-columns:1fr}.artisans-img{height:55vw}.team-grid{grid-template-columns:1fr 1fr}.values-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:32px}footer{padding:56px 32px 28px}}
    @media(max-width:640px){nav{padding:16px 20px}.nav-links{display:none}.ah-left{padding:48px 20px}.philosophy,.timeline,.team,.values,.cta-band{padding:56px 20px}.stats{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:1fr}.artisans-content{padding:48px 0px 0px}.artisan-stats{grid-template-columns:repeat(3,1fr)}.cta-band{flex-direction:column;align-items:flex-start;padding:48px 20px}.footer-top{grid-template-columns:1fr 1fr}footer{padding:48px 20px 24px}}

/* ═══════════════════════════════════════════════
   CONTACT STYLES
═══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    
    
    body{background:var(--warm-white);color:var(--text);font-family:var(--sans);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}

    /* NAV */
    nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;background:rgba(253,250,246,0.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(196,168,130,0.15);transition:box-shadow 0.3s}
    .nav-logo{font-family:var(--serif);font-size:1.25rem;font-weight:400;letter-spacing:0.04em;color:var(--text);text-decoration:none}
    .nav-links{display:flex;gap:36px;list-style:none}
    .nav-links a{font-family:var(--sans);font-size:0.72rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--mid);text-decoration:none;transition:color 0.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--text)}
    .nav-links a.active{border-bottom:1px solid var(--clay);padding-bottom:2px}
    .nav-icons{display:flex;gap:20px;align-items:center}
    .nav-icons svg{width:18px;height:18px;stroke:var(--mid);cursor:pointer;fill:none;stroke-width:1.4;transition:stroke 0.2s}
    .nav-icons svg:hover{stroke:var(--text)}

    /* PAGE HEADER — kept for other pages that may use it */
    .contact-header{
      padding:140px 80px 64px;
      background:var(--cream);
      border-bottom:1px solid var(--stone);
    }

    /* ── SIMPLIFIED CONTACT PAGE ── */
    /* Inline title inside the info panel */
    .contact-simple-title{
      font-family:var(--serif);
      font-size:clamp(2rem,3vw,3.2rem);
      font-weight:400;
      color:var(--text);
      line-height:1.15;
      margin-bottom:14px;
    }
    .contact-simple-title em{font-style:italic;color:var(--terracotta)}
    .contact-simple-sub{
      font-size:0.88rem;
      color:var(--mid);
      line-height:1.8;
      max-width:340px;
    }

    /* Contact body now starts at the top of the page (no separate hero) */
    body.page-template-page-contact .contact-body{
      padding-top:calc(var(--nav-h, 72px) + 0px);
    }

    /* Full-width map section */
    .contact-map-full{
      border-top:1px solid var(--stone);
    }
    .contact-map-embed{
      width:100%;
      height:420px;
      overflow:hidden;
      background:var(--mid);
    }
    .contact-map-embed iframe{
      width:100%;height:100%;border:none;
      filter:grayscale(25%) sepia(8%);
      display:block;
    }

    /* Info bar below the map */
    .contact-map-bar{
      display:flex;
      align-items:center;
      gap:0;
      background:var(--text);
      padding:28px 80px;
      flex-wrap:wrap;
    }
    .map-bar-item{
      display:flex;align-items:flex-start;gap:14px;
      flex:1;min-width:180px;padding:12px 0;
    }
    .map-bar-item svg{
      width:18px;height:18px;flex-shrink:0;margin-top:2px;
      stroke:var(--clay);fill:none;stroke-width:1.4;
    }
    .map-bar-item div{display:flex;flex-direction:column;gap:3px}
    .map-bar-item strong{
      font-family:var(--sans);font-size:0.62rem;
      letter-spacing:0.16em;text-transform:uppercase;
      color:var(--clay);font-weight:400;
    }
    .map-bar-item span{font-size:0.82rem;color:rgba(255,255,255,0.5);line-height:1.6}
    .map-bar-divider{
      width:1px;height:48px;
      background:rgba(255,255,255,0.1);
      margin:0 32px;flex-shrink:0;
    }
    .breadcrumb{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--clay);margin-bottom:20px}
    .breadcrumb a{color:var(--clay);text-decoration:none}

    .page-title em{font-style:italic;color:var(--terracotta)}
    .page-sub{font-size:0.92rem;color:var(--mid);margin-top:16px;max-width:500px;line-height:1.75}

    /* MAIN LAYOUT */
    .contact-body{
      display:grid;
      grid-template-columns:1fr 1.4fr;
      min-height:70vh;
    }

    /* INFO PANEL */
    .contact-info{
      padding:72px 56px 80px 80px;
      background:var(--warm-white);
      border-right:1px solid var(--stone);
    }
    .info-section{margin-bottom:48px}
    .info-label{
      font-family:var(--sans);font-size:0.62rem;letter-spacing:0.2em;
      text-transform:uppercase;color:var(--clay);margin-bottom:16px;
    }
    .info-title{
      font-family:var(--serif);font-size:1.5rem;font-weight:400;
      color:var(--text);margin-bottom:10px;
    }
    .info-text{font-size:0.85rem;color:var(--mid);line-height:1.8}
    .info-link{
      display:block;font-size:0.88rem;color:var(--text);
      text-decoration:none;margin-top:4px;
      transition:color 0.2s;
    }
    .info-link:hover{color:var(--terracotta)}
    .info-divider{width:40px;height:1px;background:var(--clay);margin:40px 0}

    /* HOURS */
    .hours-grid{display:flex;flex-direction:column;gap:8px}
    .hours-row{display:flex;justify-content:space-between;font-size:0.83rem}
    .hours-day{color:var(--mid)}
    .hours-time{color:var(--text)}

    /* SOCIAL */
    .social-links{display:flex;gap:12px;margin-top:4px}
    .social-link{
      display:flex;align-items:center;gap:8px;
      font-size:0.78rem;color:var(--mid);text-decoration:none;
      border:1px solid var(--stone);padding:8px 14px;
      transition:all 0.2s;
    }
    .social-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4}
    .social-link:hover{border-color:var(--clay);color:var(--text)}

    /* FAQ ACCORDION */
    .faq-section{padding:72px 80px;background:var(--cream)}
    .faq-header{margin-bottom:48px}
    .faq-header h2{font-family:var(--serif);font-size:clamp(1.8rem,2.5vw,3rem);font-weight:400;color:var(--text)}
    .faq-header h2 em{font-style:italic;color:var(--terracotta)}

    .faq-item{border-bottom:1px solid var(--stone)}
    .faq-q{
      display:flex;justify-content:space-between;align-items:center;
      padding:20px 0;cursor:pointer;
      font-family:var(--serif);font-size:1.05rem;font-weight:400;
      color:var(--text);gap:16px;
      user-select:none;
      transition:color 0.2s;
    }
    .faq-q:hover{color:var(--terracotta)}
    .faq-icon{
      width:24px;height:24px;flex-shrink:0;
      border:1px solid var(--stone);border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      transition:transform 0.3s,background 0.2s,border-color 0.2s;
    }
    .faq-icon svg{width:10px;height:10px;stroke:var(--mid);fill:none;stroke-width:2}
    .faq-item.open .faq-icon{transform:rotate(45deg);background:var(--terracotta);border-color:var(--terracotta)}
    .faq-item.open .faq-icon svg{stroke:#fff}
    .faq-a{
      max-height:0;overflow:hidden;
      font-size:0.87rem;color:var(--mid);line-height:1.8;
      transition:max-height 0.4s ease,padding 0.3s;
      padding-bottom:0;
    }
    .faq-item.open .faq-a{max-height:400px;padding-bottom:20px}

    /* CONTACT FORM */
    .contact-form-wrap{
      padding:72px 80px 72px 56px;
      background:var(--warm-white);
    }
    .form-heading{
      font-family:var(--serif);font-size:clamp(1.8rem,2.5vw,2.8rem);
      font-weight:400;color:var(--text);margin-bottom:8px;
    }
    .form-heading em{font-style:italic;color:var(--terracotta)}
    .form-subtext{font-size:0.85rem;color:var(--mid);margin-bottom:40px;line-height:1.7}

    .topic-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
    .topic-pill{
      padding:7px 16px;border:1px solid var(--stone);
      font-family:var(--sans);font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;
      color:var(--mid);cursor:pointer;background:transparent;
      transition:all 0.2s;
    }
    .topic-pill:hover{border-color:var(--clay);color:var(--text)}
    .topic-pill.active{background:var(--text);border-color:var(--text);color:var(--warm-white)}

    .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
    .cf-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
    .cf-label{
      font-family:var(--sans);font-size:0.62rem;letter-spacing:0.16em;
      text-transform:uppercase;color:var(--mid);
    }
    .cf-input,.cf-select,.cf-textarea{
      padding:13px 16px;border:1px solid var(--stone);
      background:var(--cream);font-family:var(--sans);
      font-size:0.85rem;font-weight:400;color:var(--text);
      outline:none;transition:border-color 0.2s,background 0.2s;
      appearance:none;-webkit-appearance:none;resize:none;
      width:100%;
    }
    .cf-input:focus,.cf-select:focus,.cf-textarea:focus{border-color:var(--clay);background:var(--warm-white)}
    .cf-textarea{height:130px}
    .cf-select{
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b5f52'/%3E%3C/svg%3E");
      background-repeat:no-repeat;background-position:right 14px center;
      padding-right:36px;
    }
    .cf-checkbox-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:28px}
    .cf-checkbox-row input{accent-color:var(--terracotta);margin-top:3px;cursor:pointer}
    .cf-checkbox-row label{font-size:0.78rem;color:var(--mid);line-height:1.6;cursor:pointer}
    .cf-submit{
      width:100%;padding:15px;
      background:var(--text);color:var(--warm-white);
      border:none;font-family:var(--sans);
      font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
      cursor:pointer;transition:background 0.25s,transform 0.15s;
      position:relative;overflow:hidden;
    }
    .cf-submit:hover{background:var(--terracotta);transform:translateY(-1px)}
    .cf-submit:active{transform:translateY(0)}

    /* SUCCESS STATE */
    .form-success{
      display:none;
      text-align:center;padding:64px 40px;
      background:var(--cream);border:1px solid var(--stone);
    }
    .success-icon{
      width:56px;height:56px;border-radius:50%;
      background:var(--clay);display:flex;align-items:center;justify-content:center;
      margin:0 auto 24px;
    }
    .success-icon svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2}
    .form-success h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;color:var(--text);margin-bottom:12px}
    .form-success p{font-size:0.85rem;color:var(--mid);line-height:1.75}

    /* MAP / VISIT */
    .visit-section{
      background:var(--text);
      display:grid;grid-template-columns:1fr 1fr;
    }
    .visit-map{
      background:var(--mid);
      overflow:hidden;
      min-height:360px;
      position:relative;
    }
    .visit-map iframe{width:100%;height:100%;border:none;filter:grayscale(30%) sepia(10%)}
    .visit-content{padding:64px 72px;display:flex;flex-direction:column;justify-content:center}
    .visit-content h2{
      font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.8rem);
      font-weight:400;color:var(--warm-white);margin-bottom:24px;
    }
    .visit-content h2 em{font-style:italic;color:var(--clay)}
    .visit-detail{display:flex;gap:16px;margin-bottom:20px;align-items:flex-start}
    .visit-icon{width:36px;height:36px;border:1px solid rgba(196,168,130,0.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
    .visit-icon svg{width:14px;height:14px;stroke:var(--clay);fill:none;stroke-width:1.4}
    .visit-text{font-size:0.85rem;color:rgba(255,255,255,0.55);line-height:1.7}
    .visit-text strong{color:rgba(255,255,255,0.8);font-weight:400;display:block;margin-bottom:2px}
    .directions-btn{
      display:inline-flex;align-items:center;gap:10px;
      margin-top:32px;
      font-family:var(--sans);font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;
      color:var(--clay);border:1px solid rgba(196,168,130,0.4);
      padding:12px 24px;text-decoration:none;
      transition:all 0.25s;width:fit-content;
    }
    .directions-btn:hover{background:var(--clay);color:var(--text);border-color:var(--clay)}
    .directions-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}

    /* REVEAL */
    .reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}
    .reveal.visible{opacity:1;transform:none}
    .rd1{transition-delay:0.1s}.rd2{transition-delay:0.2s}

    /* FOOTER */
    footer{background:var(--text);padding:72px 80px 36px;border-top:1px solid rgba(255,255,255,0.06)}
    .footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,0.08)}
    .footer-brand-name{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--warm-white);margin-bottom:16px}
    .footer-brand-tagline{font-size:0.82rem;color:rgba(255,255,255,0.35);line-height:1.7;margin-bottom:28px;max-width:260px}
    .footer-col h4{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--clay);margin-bottom:20px}
    .footer-col ul{list-style:none}
    .footer-col ul li{margin-bottom:10px}
    .footer-col ul a{font-size:0.83rem;color:rgba(255,255,255,0.4);text-decoration:none;transition:color 0.2s}
    .footer-col ul a:hover{color:rgba(255,255,255,0.75)}
    .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px}
    .footer-copy{font-size:0.72rem;color:rgba(255,255,255,0.22)}
    .footer-bottom-links{display:flex;gap:24px}
    .footer-bottom-links a{font-size:0.72rem;color:rgba(255,255,255,0.22);text-decoration:none}

    @media(max-width:1024px){.contact-body{grid-template-columns:1fr}.contact-info{border-right:none;border-bottom:1px solid var(--stone);padding:56px 40px}.contact-form-wrap{padding:56px 40px}.visit-section{grid-template-columns:1fr}.visit-map{height:300px}.visit-content{padding:48px 40px}.faq-section{padding:56px 40px}.footer-top{grid-template-columns:1fr 1fr;gap:32px}footer{padding:56px 32px 28px}.contact-header{padding:110px 40px 56px}.contact-map-bar{padding:24px 40px;gap:0}.map-bar-divider{margin:0 20px}.contact-map-embed{height:340px}}
    @media(max-width:640px){nav{padding:16px 20px}.nav-links{display:none}.contact-header{padding:90px 20px 40px}.contact-info,.contact-form-wrap{padding:40px 20px}.cf-row{grid-template-columns:1fr}.faq-section{padding:48px 20px}.visit-content{padding:40px 20px}footer{padding:48px 20px 24px}.footer-top{grid-template-columns:1fr 1fr}.contact-map-bar{flex-direction:column;padding:24px 20px;gap:16px}.map-bar-divider{display:none}.contact-map-embed{height:260px}}

/* ═══════════════════════════════════════════════
   PRODUCT-DETAIL STYLES
═══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    
    
    body{background:var(--warm-white);color:var(--text);font-family:var(--sans);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}

    /* NAV */
    nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;background:rgba(253,250,246,0.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(196,168,130,0.15);transition:box-shadow 0.3s}
    .nav-logo{font-family:var(--serif);font-size:1.25rem;font-weight:400;letter-spacing:0.04em;color:var(--text);text-decoration:none}
    .nav-links{display:flex;gap:36px;list-style:none}
    .nav-links a{font-family:var(--sans);font-size:0.72rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--mid);text-decoration:none;transition:color 0.2s}
    .nav-links a:hover{color:var(--text)}
    .nav-icons{display:flex;gap:20px;align-items:center}
    .nav-icons svg{width:18px;height:18px;stroke:var(--mid);cursor:pointer;fill:none;stroke-width:1.4;transition:stroke 0.2s}
    .nav-icons svg:hover{stroke:var(--text)}
    .cart-count{position:relative}
    .cart-badge{position:absolute;top:-6px;right:-6px;width:16px;height:16px;background:var(--terracotta);border-radius:50%;font-size:0.55rem;color:#fff;display:flex;align-items:center;justify-content:center}

    /* BREADCRUMB */
    .breadcrumb-bar{padding:96px 80px 0;background:var(--warm-white)}
    .breadcrumb{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--clay);display:flex;align-items:center;gap:8px}
    .breadcrumb a{color:var(--clay);text-decoration:none;transition:color 0.2s}
    .breadcrumb a:hover{color:var(--text)}
    .breadcrumb span{color:var(--mid)}

    /* PRODUCT LAYOUT — WooCommerce compatible classes */
    .woocommerce-product-wrap{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:0;
      padding:40px 80px 80px;
      background:var(--warm-white);
    }

    /* GALLERY — .woocommerce-product-gallery */
    .woocommerce-product-gallery{
      position:sticky;
      top:90px;
      height:fit-content;
      padding-right:48px;
    }
    .gallery-main{
      position:relative;
      overflow:hidden;
      aspect-ratio:4/5;
      background:var(--stone);
      margin-bottom:12px;
      cursor:zoom-in;
    }
    .gallery-main img{
      width:100%;height:100%;
      object-fit:cover;
      display:block;
      transition:transform 0.5s ease;
    }
    .gallery-main:hover img{transform:scale(1.04)}
    .gallery-zoom{
      position:absolute;bottom:16px;right:16px;
      background:rgba(253,250,246,0.88);
      width:36px;height:36px;
      display:flex;align-items:center;justify-content:center;
      cursor:pointer;
    }
    .gallery-zoom svg{width:14px;height:14px;stroke:var(--mid);fill:none}
    .gallery-badge{position:absolute;top:16px;left:16px;background:var(--terracotta);color:#fff;font-family:var(--sans);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;padding:5px 10px}
    .gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
    .gallery-thumb{
      aspect-ratio:1;
      overflow:hidden;
      background:var(--stone);
      cursor:pointer;
      border:2px solid transparent;
      transition:border-color 0.2s;
    }
    .gallery-thumb.active{border-color:var(--clay)}
    .gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.3s}
    .gallery-thumb:hover img{transform:scale(1.06)}

    /* PRODUCT SUMMARY — .woocommerce-product-summary / .summary */
    .summary{
      padding-left:48px;
      border-left:1px solid var(--stone);
    }
    .product-category-link{
      font-family:var(--sans);font-size:0.65rem;letter-spacing:0.18em;
      text-transform:uppercase;color:var(--clay);
      text-decoration:none;display:inline-block;margin-bottom:16px;
      transition:color 0.2s;
    }
    .product-category-link:hover{color:var(--text)}
    .product_title{
      font-family: var(--sans);font-size:clamp(2rem,3vw,3rem);
      font-weight:400;color:var(--text);line-height:1.15;
      margin-bottom:12px;
    }
    .product-short-desc{
      font-size:1.0rem;color:var(--mid);line-height:1.85;
      margin-bottom:24px;
    }

    /* Rating — .woocommerce-product-rating */
    .woocommerce-product-rating{
      display:flex;align-items:center;gap:12px;
      margin-bottom:10px;padding-bottom:10px;
      border-bottom:1px solid var(--stone);
 
    }
    span.stock-status {
           font-size: 15px;
}
    .star-rating{font-size:0.9rem;color:var(--clay);letter-spacing:2px}
    .woocommerce-review-link{font-size:0.75rem;color:var(--mid);text-decoration:none;border-bottom:1px solid var(--stone)}
    .woocommerce-review-link:hover{color:var(--text)}

    /* Price — .price */
    .price{
      display:flex;align-items:baseline;gap:12px;
      margin-bottom:32px;
    }
    .price .woocommerce-Price-amount{
      font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--text);
    }
    .price del .woocommerce-Price-amount{
      font-size:1.2rem;color:var(--clay);text-decoration:line-through;
    }
    .price-save{
      font-family:var(--sans);font-size:0.68rem;letter-spacing:0.1em;
      background:rgba(181,103,77,0.1);color:var(--terracotta);
      padding:3px 10px;border-radius:2px;
    }

    /* Variations — .variations */
    .variations{margin-bottom:28px}
    .variations-row{margin-bottom:20px}
    .variations-label{
      font-family:var(--sans);font-size:0.65rem;letter-spacing:0.18em;
      text-transform:uppercase;color:var(--mid);
      margin-bottom:10px;display:block;
    }
    .variations-label strong{color:var(--text)}
    .size-options{display:flex;gap:8px;flex-wrap:wrap}
    .size-btn{
      min-width:44px;height:44px;padding:0 12px;
      border:1px solid var(--stone);background:transparent;
      font-family:var(--sans);font-size:0.75rem;letter-spacing:0.06em;
      color:var(--mid);cursor:pointer;transition:all 0.2s;
    }
    .size-btn:hover{border-color:var(--text);color:var(--text)}
    .size-btn.active{background:var(--text);border-color:var(--text);color:var(--warm-white)}
    .size-btn.unavailable{opacity:0.3;cursor:not-allowed;text-decoration:line-through}
    .color-options{display:flex;gap:10px;flex-wrap:wrap}
    .color-swatch{
      width:36px;height:36px;border-radius:50%;cursor:pointer;
      border:3px solid transparent;outline:2px solid transparent;
      transition:outline 0.2s,border 0.2s;
    }
    .color-swatch.active{outline:2px solid var(--clay);outline-offset:3px}
    .size-guide{font-family:var(--sans);font-size:0.65rem;color:var(--clay);border-bottom:1px solid var(--clay);padding-bottom:1px;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;margin-left:12px}

    /* Qty + Add to cart */
    .cart-form{display:flex;gap:12px;margin-bottom:16px;align-items:stretch}
    .qty-wrap{
      display:flex;align-items:center;
      border:1px solid var(--stone);
      background:var(--warm-white);
    }
    .qty-btn{
      width:38px;height:52px;background:transparent;border:none;
      font-size:1.1rem;color:var(--mid);cursor:pointer;transition:color 0.2s;
      padding: 0px 10px;
    }
    .qty-btn:hover{color:var(--text)}
    .qty-input{
      width:44px;height:52px;border:none;outline:none;
      text-align:center;font-family:var(--sans);font-size:0.9rem;
      background:transparent;color:var(--text);
    }
    .single_add_to_cart_button{
      flex:1;padding:0 32px;height:52px;
      background:var(--text);color:var(--warm-white);
      border:none;font-family:var(--sans);
      font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
      cursor:pointer;transition:background 0.25s,transform 0.15s;
    }
    .single_add_to_cart_button:hover{background:var(--terracotta);transform:translateY(-1px)}
    .add-to-wishlist{
      width:52px;height:52px;border:1px solid var(--stone);background:transparent;
      display:flex;align-items:center;justify-content:center;cursor:pointer;
      transition:border-color 0.2s,background 0.2s;
    }
    .add-to-wishlist:hover{border-color:var(--terracotta);background:rgba(181,103,77,0.06)}
    .add-to-wishlist svg{width:18px;height:18px;stroke:var(--mid);fill:none;stroke-width:1.4}

    .buy-now{
      width:100%;padding:14px;margin-bottom:24px;
      border:1px solid var(--text);background:transparent;
      font-family:var(--sans);font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
      color:var(--text);cursor:pointer;transition:all 0.25s;
    }
    .buy-now:hover{background:var(--text);color:var(--warm-white)}

    /* Trust badges */
    .trust-badges{
      display:grid;grid-template-columns:repeat(3,1fr);
      gap:1px;background:var(--stone);
      border:1px solid var(--stone);
      margin-bottom:28px;
    }
    .trust-item{
      background:var(--cream);padding:14px 12px;
      display:flex;align-items:center;gap:10px;
    }
    .trust-item svg{width:18px;height:18px;stroke:var(--clay);fill:none;stroke-width:1.4;flex-shrink:0}
    .trust-text{font-size:0.7rem;color:var(--mid);line-height:1.4}
    .trust-text strong{display:block;color:var(--text);font-weight:400;font-size:0.85rem}

    /* SKU/Meta — .product_meta */
    .product_meta{
      font-size:0.8rem;color:var(--mid);
      padding-top:20px;border-top:1px solid var(--stone);
    }
    .product_meta span{display:block;margin-bottom:6px}
    .product_meta strong{color:var(--text);font-weight:400}
    .product_meta a{color:var(--clay);text-decoration:none}
    .product_meta a:hover{color:var(--text)}

    /* TABS — .woocommerce-tabs */
    .woocommerce-tabs{
      padding:64px 80px;
      background:var(--cream);
      border-top:1px solid var(--stone);
    }
    .tabs-nav{
      display:flex;gap:0;
      border-bottom:1px solid var(--stone);
      margin-bottom:48px;
      list-style:none;
    }
    .tabs-nav li a{
      display:block;padding:14px 28px;
      font-family:var(--sans);font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;
      color:var(--mid);text-decoration:none;
      border-bottom:2px solid transparent;margin-bottom:-1px;
      transition:color 0.2s,border-color 0.2s;
    }
    .tabs-nav li a:hover{color:var(--text)}
    .tabs-nav li a.active{color:var(--text);border-bottom-color:var(--terracotta)}
    .tab-panel{display:none}
    .tab-panel.active{display:block}

    .tab-desc{display:grid;grid-template-columns:1fr 1fr;gap:60px}
    .tab-desc-text p{font-size:0.9rem;color:var(--mid);line-height:1.9;margin-bottom:16px}

    .spec-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--stone);font-size:0.82rem}
    .spec-row:last-child{border-bottom:none}
    .spec-key{color:var(--mid)}
    .spec-val{color:var(--text);text-align:right;max-width:200px}

    /* Reviews */
    .reviews-summary{display:flex;gap:48px;align-items:flex-start;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--stone)}
    .reviews-score{text-align:center}
    .score-big{font-family:var(--serif);font-size:4rem;font-weight:400;color:var(--text);line-height:1}
    .score-stars{font-size:1rem;color:var(--clay);letter-spacing:3px;margin:8px 0 4px}
    .score-count{font-size:0.75rem;color:var(--mid)}
    .reviews-bars{flex:1}
    .bar-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
    .bar-label{font-size:0.72rem;color:var(--mid);width:36px;text-align:right}
    .bar-track{flex:1;height:5px;background:var(--stone);border-radius:3px;overflow:hidden}
    .bar-fill{height:100%;background:var(--clay);border-radius:3px;transition:width 1s ease}
    .bar-count{font-size:0.72rem;color:var(--mid);width:20px}
    .review-list{display:flex;flex-direction:column;gap:32px}
    .review-item{padding-bottom:32px;border-bottom:1px solid var(--stone)}
    .review-item:last-child{border-bottom:none}
    .review-meta{display:flex;align-items:center;gap:16px;margin-bottom:12px}
    .reviewer-avatar{width:40px;height:40px;border-radius:50%;background:var(--stone);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1rem;color:var(--mid)}
    .reviewer-name{font-family:var(--sans);font-size:0.8rem;font-weight:400;color:var(--text)}
    .reviewer-date{font-size:0.7rem;color:var(--clay)}
    .review-stars{font-size:0.78rem;color:var(--clay);letter-spacing:2px}
    .review-text{font-family:var(--serif);font-size:0.98rem;font-style:italic;color:var(--mid);line-height:1.8}

    .review-form{margin-top:48px;padding-top:48px;border-top:1px solid var(--stone)}
    .review-form h3{font-family:var(--serif);font-size:1.6rem;font-weight:400;margin-bottom:28px}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
    .form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
    .form-label{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--mid)}
    .form-input,.form-textarea{
      padding:12px 16px;border:1px solid var(--stone);
      background:var(--warm-white);font-family:var(--sans);
      font-size:0.85rem;font-weight:400;color:var(--text);
      outline:none;transition:border-color 0.2s;resize:none;
    }
    .form-input:focus,.form-textarea:focus{border-color:var(--clay)}
    .form-textarea{height:120px}
    .star-picker{display:flex;gap:4px;margin-bottom:4px}
    .star-picker span{font-size:1.3rem;color:var(--stone);cursor:pointer;transition:color 0.15s;line-height:1}
    .star-picker span.lit{color:var(--clay)}
    .submit-btn{padding:14px 40px;background:var(--text);color:var(--warm-white);border:none;font-family:var(--sans);font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;transition:background 0.2s}
    .submit-btn:hover{background:var(--terracotta)}

    /* RELATED PRODUCTS */
    .related-products{padding:64px 80px 80px;background:var(--warm-white)}
    .section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:40px}
    .section-head h2{font-family:var(--serif);font-size:clamp(1.8rem,2.5vw,2.8rem);font-weight:400;color:var(--text)}
    .section-head h2 em{font-style:italic;color:var(--terracotta)}
    .section-head a{font-family:var(--sans);font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--clay);text-decoration:none;border-bottom:1px solid var(--clay);padding-bottom:2px}
    .related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
    .product-card{position:relative;cursor:pointer}
    .product-img{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--stone);margin-bottom:16px}
    .product-img img{width:100%;height:100%;object-fit:contain;display:block;transition:transform 0.6s ease}
    .product-card:hover .product-img img{transform:scale(1.05)}
    .product-quick{position:absolute;bottom:0;left:0;right:0;background:rgba(26,23,20,0.85);color:#fff;font-family:var(--sans);font-size:0.63rem;letter-spacing:0.14em;text-transform:uppercase;text-align:center;padding:11px;opacity:0;transform:translateY(4px);transition:all 0.3s;text-decoration:none;display:block}
    .product-card:hover .product-quick{opacity:1;transform:none}
    .product-origin{font-family:var(--sans);font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--clay);margin-bottom:5px}
    .product-name,.product-name a{font-family:var(--sans);font-size:1.3rem;font-weight:400;color:var(--text);margin-bottom:7px;line-height:1.3;text-decoration:none;display:block}
    .product-price{font-family:var(--sans);font-size:0.95rem;font-weight:400;color:var(--text)}

    /* REVEAL */
    .reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}
    .reveal.visible{opacity:1;transform:none}

    /* FOOTER */
    footer{background:var(--text);padding:72px 80px 36px}
    .footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,0.08)}
    .footer-brand-name{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--warm-white);margin-bottom:16px}
    .footer-brand-tagline{font-size:0.82rem;color:rgba(255,255,255,0.35);line-height:1.7;margin-bottom:28px;max-width:260px}
    .footer-col h4{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--clay);margin-bottom:20px}
    .footer-col ul{list-style:none}
    .footer-col ul li{margin-bottom:10px}
    .footer-col ul a{font-size:0.83rem;color:rgba(255,255,255,0.4);text-decoration:none;transition:color 0.2s}
    .footer-col ul a:hover{color:rgba(255,255,255,0.75)}
    .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px}
    .footer-copy{font-size:0.72rem;color:rgba(255,255,255,0.22)}
    .footer-bottom-links{display:flex;gap:24px}
    .footer-bottom-links a{font-size:0.72rem;color:rgba(255,255,255,0.22);text-decoration:none;transition:color 0.2s}

    @media(max-width:1024px){.woocommerce-product-wrap{grid-template-columns:1fr;padding:32px 32px 64px}.woocommerce-product-gallery{position:relative;top:0;padding-right:0;margin-bottom:48px}.summary{padding-left:0;border-left:none;border-top:1px solid var(--stone);padding-top:40px}.tab-desc{grid-template-columns:1fr}.related-grid{grid-template-columns:repeat(2,1fr)}.breadcrumb-bar{padding:88px 32px 0}.woocommerce-tabs,.related-products{padding:48px 32px 64px}}
    @media(max-width:640px){nav{padding:16px 20px}.nav-links{display:none}.breadcrumb-bar{padding:40px 20px 0}.woocommerce-product-wrap{padding:24px 20px 48px}.tabs-nav{overflow-x:auto}.related-grid{grid-template-columns:repeat(2,1fr);gap:16px}.woocommerce-tabs,.related-products{padding:40px 20px 56px}.reviews-summary{flex-direction:column;gap:28px}.form-row{grid-template-columns:1fr}.trust-badges{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:32px}footer{padding:48px 20px 24px}}


/* ═══════════════════════════════════════════════
   WORDPRESS MENU OVERRIDES
═══════════════════════════════════════════════ */
.nav-links { display: flex; gap: 36px; list-style: none; margin: 0; padding: 0; }
.nav-links li { list-style: none; }
.nav-links li a {
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mid);
  text-decoration: none;
  transition: color 0.2s;
}
.nav-links li a:hover,
.nav-links li.current-menu-item > a,
.nav-links li.current_page_item > a {
  color: var(--text);
  border-bottom: 1px solid var(--clay);
  padding-bottom: 2px;
}

/* ═══════════════════════════════════════════════
   WOOCOMMERCE BASE OVERRIDES
═══════════════════════════════════════════════ */
.woocommerce-notices-wrapper { padding: 0 80px;  }
.woocommerce-message {
  background: var(--cream);
  border-top: 3px solid var(--terracotta);
  padding: 16px 24px;
  font-family: var(--sans);
  font-size: 0.85rem;
  color: var(--text);
}
.woocommerce-message a { color: var(--terracotta); text-decoration: none; }
.woocommerce-breadcrumb {
  font-family: var(--sans);
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--clay);
  padding: 96px 80px 0;
  display: block;
}
.woocommerce-breadcrumb a { color: var(--clay); text-decoration: none; }
.woocommerce-ordering select {
  font-family: var(--sans);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  color: var(--mid);
  background: transparent;
  border: 1px solid var(--stone);
  padding: 8px 14px;
  outline: none;
}
.woocommerce-result-count {
  font-family: var(--sans);
  font-size: 0.78rem;
  color: var(--mid);
}

/* ═══════════════════════════════════════════════
   SCROLL REVEAL UTILITY
═══════════════════════════════════════════════ */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: 0.15s; }
.reveal-delay-2 { transition-delay: 0.3s; }

/* ═══════════════════════════════════════════════
   RESPONSIVE — MOBILE
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  .btn-primary,
  .promise-cta,
  .hero-cta a,
  .cta-band-btns a
 {
    padding: 10px 10px !important;
    font-size: 10px !important;
    line-height: 15px !important;
    border: 1px solid #2d2520;
}
  nav { padding: 16px 24px; }
  .nav-links { display: none; }
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-right { height: 60vw; }
  .hero-left { padding: 48px 0px; }
  .hero-title { font-size: 2.4rem; }
  .shop-layout { grid-template-columns: 1fr; }
  .sidebar { display: none; }
  .products-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .woocommerce-product-wrap { grid-template-columns: 1fr; padding: 24px; }
  .about-hero, .contact-body { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr 1fr; }
  .timeline-items { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  section, .philosophy, .timeline, .team, .artisans, .values { padding: 60px 24px; }
  .page-header, .contact-header { padding: 100px 24px 20px; align-items: center;
        text-align: center; }
  .filter-bar { padding: 16px 24px; }
  .products-section { padding: 24px; }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .hero-title { font-size: 2rem; }
}


/* ═══════════════════════════════════════════════════════════
   CART PAGE
═══════════════════════════════════════════════════════════ */
.injoyliving-cart-wrap { padding: 0 80px 80px; }

.cart-empty-state {
  text-align: center;
  padding: 80px 40px;
  min-height: 50vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.cart-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  align-items: start;
}

.cart-items-header {
  display: grid;
  grid-template-columns: 1fr 100px 120px 100px;
  gap: 16px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--stone);
  font-family: var(--sans);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--clay);
  margin-bottom: 8px;
}

.cart-item {
  display: grid;
  grid-template-columns: 1fr 100px 120px 100px;
  gap: 16px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid var(--stone);
}

.cart-item-info { display: flex; gap: 20px; align-items: flex-start; }

.cart-item-img {
  width: 90px;
  height: 110px;
  flex-shrink: 0;
  overflow: hidden;
  background: var(--stone);
}
.cart-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.cart-item-name {
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 400;
  color: var(--text);
  margin-bottom: 8px;
  line-height: 1.3;
}
.cart-item-name a { color: var(--text); text-decoration: none; }
.cart-item-name a:hover { color: var(--terracotta); }

.cart-item-remove {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--clay);
  text-decoration: none;
  border-bottom: 1px solid var(--stone);
  cursor: pointer;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  padding: 0;
  font-family: var(--sans);
}
.cart-item-remove:hover { color: var(--terracotta); }

.cart-item-price,
.cart-item-total {
  font-family: var(--serif);
  font-size: 1rem;
  color: var(--text);
}

/* WooCommerce quantity input override */
.cart-item-qty .quantity { display: flex; align-items: center; gap: 0; }
.cart-item-qty input[type="number"] {
  width: 56px;
  height: 40px;
  text-align: center;
  border: 1px solid var(--stone);
  font-family: var(--serif);
  font-size: 0.95rem;
  color: var(--text);
  background: transparent;
  outline: none;
  -moz-appearance: textfield;
}
.cart-item-qty input[type="number"]::-webkit-inner-spin-button,
.cart-item-qty input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; }

.cart-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 24px;
  margin-top: 8px;
  flex-wrap: wrap;
  gap: 16px;
}

.cart-coupon { display: flex; gap: 0; }
.cart-coupon .cf-input {
  border-right: none;
  width: 200px;
  height: 44px;
}

.btn-outline-btn {
  display: inline-block;
  padding: 12px 24px;
  border: 1px solid var(--stone);
  background: transparent;
  font-family: var(--sans);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mid);
  cursor: pointer;
  transition: all 0.2s;
}
.btn-outline-btn:hover { border-color: var(--text); color: var(--text); }

.cart-summary-col { position: sticky; top: 100px; }

.cart-summary-box {
  border: 1px solid var(--stone);
  padding: 32px;
  background: var(--cream);
}

.cart-summary-title {
  font-family: var(--serif);
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--text);
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--stone);
}

.cart-summary-rows { display: flex; flex-direction: column; gap: 12px; }

.cart-summary-row {
  display: flex;
  justify-content: space-between;
  font-family: var(--sans);
  font-size: 0.85rem;
  color: var(--mid);
  padding: 8px 0;
  border-bottom: 1px solid var(--stone);
}
.cart-summary-row:last-child { border-bottom: none; }

.cart-total-row {
  font-size: 1rem;
  color: var(--text);
  font-weight: 400;
  border-top: 2px solid var(--stone) !important;
  padding-top: 16px !important;
}
.cart-total-row span:last-child {
  font-family: var(--serif);
  font-size: 1.3rem;
}

/* WooCommerce proceed to checkout button */
.wc-proceed-to-checkout .checkout-button,
.wc-proceed-to-checkout a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 16px 32px;
  background: var(--text);
  color: var(--warm-white);
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: none;
  margin-top: 24px;
  transition: background 0.25s;
}
.wc-proceed-to-checkout .checkout-button:hover,
.wc-proceed-to-checkout a:hover { background: var(--terracotta); }

.cart-reassurance {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--stone);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cart-reassurance p {
  font-family: var(--sans);
  font-size: 0.72rem;
  color: var(--mid);
  letter-spacing: 0.04em;
}


/* ═══════════════════════════════════════════════════════════
   CHECKOUT PAGE
═══════════════════════════════════════════════════════════ */
.injoyliving-checkout-form { padding: 0 80px 80px; }

.checkout-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 48px;
  align-items: start;
}

.checkout-section { margin-bottom: 40px; }

.checkout-section-title {
  font-family: var(--serif);
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--text);
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--stone);
}

/* WooCommerce form fields — match our cf-input style */
.woocommerce-checkout .form-row { margin-bottom: 16px; }

.woocommerce-checkout .form-row label {
  display: block;
  font-family: var(--sans);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mid);
  margin-bottom: 6px;
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--stone);
  background: var(--warm-white);
  font-family: var(--sans);
  font-size: 0.85rem;
  color: var(--text);
  outline: none;
  transition: border-color 0.2s;
  border-radius: 0;
  -webkit-appearance: none;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: var(--clay);
}

/* Place order button */
#place_order,
.woocommerce-checkout #place_order {
  display: block;
  width: 100%;
  padding: 18px 32px;
  background: var(--text);
  color: var(--warm-white);
  font-family: var(--sans);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  margin-top: 24px;
  transition: background 0.25s;
}
#place_order:hover { background: var(--terracotta); }

/* Payment methods */
#payment { background: transparent; border-radius: 0; }
#payment .payment_methods { list-style: none; border: 1px solid var(--stone); }
#payment .payment_methods li { border-bottom: 1px solid var(--stone); padding: 16px 20px; }
#payment .payment_methods li:last-child { border-bottom: none; }
#payment .payment_methods li label {
  font-family: var(--sans);
  font-size: 0.85rem;
  color: var(--text);
  cursor: pointer;
}
#payment .payment_methods input[type="radio"] { accent-color: var(--terracotta); }
#payment .payment_box { padding: 12px 20px; background: var(--cream); font-size: 0.82rem; color: var(--mid); }

.checkout-order-header {
  display: flex;
  justify-content: space-between;
  font-family: var(--sans);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--clay);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--stone);
  margin-bottom: 12px;
}
.checkout-order-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--stone);
}
.checkout-item-name { font-family: var(--sans); font-size: 0.82rem; color: var(--mid); flex: 1; }
.checkout-item-total { font-family: var(--serif); font-size: 0.95rem; color: var(--text); white-space: nowrap; }

.checkout-right { position: sticky; top: 100px; }


/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT PAGE
═══════════════════════════════════════════════════════════ */
.injoyliving-account-wrap {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0;
  padding: 0 80px 80px;
  min-height: 60vh;
}

.account-nav {
  border-right: 1px solid var(--stone);
  padding: 40px 32px 40px 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.account-nav-item {
  display: block;
  padding: 10px 16px;
  font-family: var(--sans);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mid);
  text-decoration: none;
  transition: all 0.2s;
  border-left: 2px solid transparent;
}
.account-nav-item:hover { color: var(--text); border-left-color: var(--stone); }
.account-nav-item.active { color: var(--text); border-left-color: var(--terracotta); background: var(--cream); }

.account-content { padding: 40px 0 40px 48px; }

/* WooCommerce account tables */
.woocommerce-account .woocommerce-MyAccount-content table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--sans);
  font-size: 0.85rem;
}
.woocommerce-account .woocommerce-MyAccount-content th {
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--clay);
  border-bottom: 1px solid var(--stone);
  padding: 8px 12px;
  text-align: left;
}
.woocommerce-account .woocommerce-MyAccount-content td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--stone);
  color: var(--mid);
  vertical-align: middle;
}
.woocommerce-account .woocommerce-MyAccount-content .button {
  display: inline-block;
  padding: 8px 20px;
  background: var(--text);
  color: var(--warm-white);
  font-family: var(--sans);
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover { background: var(--terracotta); }


/* ═══════════════════════════════════════════════════════════
   404 PAGE
═══════════════════════════════════════════════════════════ */
.injoyliving-404 { overflow: hidden; }

.error-404-content {
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 140px 40px 60px;
}

/* Search form on 404 / search pages */
.injoyliving-search-form input[type="search"] {
  padding: 14px 20px;
  border: 1px solid var(--stone);
  border-right: none;
  background: var(--warm-white);
  font-family: var(--sans);
  font-size: 0.85rem;
  color: var(--text);
  outline: none;
  min-width: 280px;
}
.injoyliving-search-form input[type="search"]:focus { border-color: var(--clay); }


/* ═══════════════════════════════════════════════════════════
   WOOCOMMERCE NOTICES
═══════════════════════════════════════════════════════════ */
.woocommerce-info,
.woocommerce-error,
.woocommerce-message {
  padding: 14px 20px;
  margin: 0 80px 24px;
  font-family: var(--sans);
  font-size: 0.85rem;
  list-style: none;
}
.woocommerce-message { background: var(--cream); border-left: 3px solid var(--terracotta); color: var(--text); }
.woocommerce-info    { background: var(--cream); border-left: 3px solid var(--clay);       color: var(--text); }
.woocommerce-error   { background: #fff5f5;      border-left: 3px solid #c0392b;            color: #c0392b; }
.woocommerce-message a,
.woocommerce-info a   { color: var(--terracotta); text-decoration: none; font-weight: 400; }


/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — CART / CHECKOUT / ACCOUNT
═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .cart-layout        { grid-template-columns: 1fr; }
  .cart-summary-col   { position: static; }
  .checkout-layout    { grid-template-columns: 1fr; }
  .checkout-right     { position: static; }
  .cart-items-header  { display: none; }
  .cart-item          { grid-template-columns: 1fr 1fr; row-gap: 12px; }
  .cart-item-info     { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
  .injoyliving-cart-wrap,
  .injoyliving-checkout-form { padding: 0 24px 60px; }
  .injoyliving-account-wrap  { grid-template-columns: 1fr; padding: 0 24px 60px; }
  .account-nav  { flex-direction: row; flex-wrap: wrap; border-right: none; border-bottom: 1px solid var(--stone); padding: 24px 0; margin-bottom: 32px; }
  .account-content { padding: 0; }
  .woocommerce-info,
  .woocommerce-error,
  .woocommerce-message { margin: 0 24px 16px; }
}


/* ═══════════════════════════════════════════════════════════
   PRODUCT DETAIL — TABS (4-tab system matching HTML)
═══════════════════════════════════════════════════════════ */
.product-tabs-section {
  padding: 64px 80px 80px;
  background: var(--warm-white);
}

.tabs-nav {
  border-bottom: 1px solid var(--stone);
  margin-bottom: 48px;
  list-style: none;
}
.tabs-nav ul {
    width: 100% !important;
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--stone);
    margin-bottom: 48px;
    list-style: none;
    padding: 0;
    justify-content: space-between;
}
.tabs-nav li { list-style: none; }
.tabs-nav li a {
  display: block;
  padding: 14px 28px;
  font-family: var(--sans);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mid);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.2s, border-color 0.2s;
}
.tabs-nav li a:hover    { color: var(--text); }
.tabs-nav li a.active   { color: var(--text); border-bottom-color: var(--terracotta); }

.tab-panel              { display: none; }
.tab-panel.active       { display: block; }

.tab-desc               { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.tab-desc-text p        { font-size: 0.9rem; color: var(--mid); line-height: 1.9; margin-bottom: 16px; }
.tab-desc-specs         { background: var(--cream); padding: 32px;     border: 1px solid var(--stone); }
.spec-row               { display: flex; justify-content: space-between; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--stone); font-size: 0.82rem; }
.spec-row:last-child    { border-bottom: none; }
.spec-key               { color: var(--mid); }
.spec-val               { color: var(--text); text-align: right; max-width: 200px; }

/* ── Reviews Tab ── */
.reviews-summary        { display: flex; gap: 48px; align-items: flex-start; margin-bottom: 48px; padding-bottom: 48px; border-bottom: 1px solid var(--stone); }
.reviews-score          { text-align: center; }
.score-big              { font-family: var(--serif); font-size: 4rem; font-weight: 400; color: var(--text); line-height: 1; }
.score-stars            { font-size: 1rem; color: var(--clay); letter-spacing: 3px; margin: 8px 0 4px; }
.score-count            { font-size: 0.75rem; color: var(--mid); }
.reviews-bars           { flex: 1; }
.bar-row                { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.bar-label              { font-size: 0.72rem; color: var(--mid); width: 36px; text-align: right; }
.bar-track              { flex: 1; height: 5px; background: var(--stone); border-radius: 3px; overflow: hidden; }
.bar-fill               { height: 100%; background: var(--clay); border-radius: 3px; transition: width 1s ease; }
.bar-count              { font-size: 0.72rem; color: var(--mid); width: 20px; }

.review-list            { display: flex; flex-direction: column; gap: 32px; }
.review-item            { padding-bottom: 32px; border-bottom: 1px solid var(--stone); }
.review-item:last-child { border-bottom: none; }
.review-meta            { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }
.reviewer-avatar        { width: 40px; height: 40px; border-radius: 50%; background: var(--stone); display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 1rem; color: var(--mid); flex-shrink: 0; }
.reviewer-name          { font-family: var(--sans); font-size: 0.8rem; font-weight: 400; color: var(--text); }
.reviewer-date          { font-size: 0.7rem; color: var(--clay); }
.review-stars           { font-size: 0.78rem; color: var(--clay); letter-spacing: 2px; }
.review-text            { font-family: var(--serif); font-size: 0.98rem; font-style: italic; color: var(--mid); line-height: 1.8; }

.review-form            { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--stone); }
.review-form h3         { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; margin-bottom: 28px; }
.form-row               { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.form-group             { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.form-label             { font-family: var(--sans); font-size: 0.65rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mid); }
.form-input, .form-textarea {
  padding: 12px 16px;
  border: 1px solid var(--stone);
  background: var(--warm-white);
  font-family: var(--sans);
  font-size: 0.85rem;
  font-weight: 400;
  color: var(--text);
  outline: none;
  transition: border-color 0.2s;
  resize: none;
  width: 100%;
}
.form-input:focus, .form-textarea:focus { border-color: var(--clay); }
.form-textarea          { height: 120px; }
.star-picker            { display: flex; gap: 4px; }
.star-picker span       { font-size: 1.3rem; color: var(--stone); cursor: pointer; transition: color 0.15s; line-height: 1; }
.star-picker span.lit   { color: var(--clay); }
.star-picker span:hover { color: var(--clay); }
.submit-btn             { padding: 14px 40px; background: var(--text); color: var(--warm-white); border: none; font-family: var(--sans); font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; transition: background 0.2s; }
.submit-btn:hover       { background: var(--terracotta); }

/* ═══════════════════════════════════════════════════════════
   WOOCOMMERCE PAGE WRAP (cart/checkout inside page.php)
═══════════════════════════════════════════════════════════ */
.woocommerce-page-wrap { padding: 40px 0 0; }

/* Page header for cart/checkout/account (rendered by page.php shortcode pages) */
.woocommerce-cart .page-header,
.woocommerce-checkout .page-header,
.woocommerce-account .page-header { padding: 130px 80px 40px; }

/* WooCommerce default notices positioning fix */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper { padding: 0 80px; margin-bottom: 16px; }

/* ── WooCommerce add-to-cart button on product page ── */
.single_add_to_cart_button,
.single_add_to_cart_button.button.alt {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 40px !important;
  height: 52px !important;
  background: var(--text) !important;
  color: var(--warm-white) !important;
  font-family: var(--sans) !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.25s !important;
  flex: 1 !important;
  border-radius: 0 !important;
}
.single_add_to_cart_button:hover { background: var(--terracotta) !important; }

/* ── Related products grid ── */
.section-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 40px; }
.section-head h2 { font-family: var(--serif); font-size: clamp(1.8rem,2.5vw,2.8rem); font-weight: 400; color: var(--text); }
.section-head h2 em { font-style: italic; color: var(--terracotta); }
.section-head a { font-family: var(--sans); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mid); text-decoration: none; }
.related-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — PRODUCT DETAIL TABS & RELATED
═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .related-grid         { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .product-tabs-section { padding: 40px 24px 60px; }
  .tab-desc             { grid-template-columns: 1fr; }
  .reviews-summary      { flex-direction: column; gap: 24px; }
  .related-products     { padding: 0 24px 60px; }
  .related-grid         { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .tabs-nav ul          { flex-wrap: wrap; }
  .tabs-nav li a        { padding: 10px 16px; }
}


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — CSS extracted directly from injoyliving-landing.html
   These rules OVERRIDE any conflicting rules above.
   Scoped to homepage sections: hero, marquee, story, categories,
   products (homepage), gallery-strip, pillars, promise,
   testimonials, newsletter.
═══════════════════════════════════════════════════════════ */

/* ── HERO ── */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:72px;overflow:hidden}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:80px 64px 80px 80px;position:relative}
.hero-eyebrow{font-family:var(--sans);font-size:0.68rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;color:var(--clay);margin-bottom:28px;opacity:0;animation:fadeUp 0.8s 0.2s ease forwards}
.hero-title{font-family:var(--serif);font-size:clamp(3rem,5vw,5.5rem);font-weight:400;line-height:1.05;color:var(--text);margin-bottom:32px;opacity:0;animation:fadeUp 0.8s 0.4s ease forwards}
.hero-title em{font-style:italic;color:var(--terracotta)}
.hero-sub{font-size:0.95rem;font-weight:400;color:var(--mid);line-height:1.8;max-width:380px;margin-bottom:52px;opacity:0;animation:fadeUp 0.8s 0.6s ease forwards}
.hero-cta{display:inline-flex;align-items:center;gap:12px;opacity:0;animation:fadeUp 0.8s 0.8s ease forwards}
.btn-primary{display:inline-block;padding:14px 36px;background:var(--text);color:var(--warm-white);font-family:var(--sans);font-size:0.7rem;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;transition:background 0.25s,transform 0.2s}
.btn-primary:hover{background:var(--terracotta);transform:translateY(-1px)}
.btn-outline{font-family:var(--sans);font-size:0.7rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--mid);text-decoration:none;border-bottom:1px solid var(--clay);padding-bottom:2px;transition:color 0.2s}
.btn-outline:hover{color:var(--text)}
.hero-right{position:relative;overflow:hidden;background:var(--stone)}
.hero-img-wrap{width:100%;height:100%;position:relative;opacity:0;animation:fadeIn 1.2s 0.5s ease forwards}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-img-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(253,250,246,0.08) 0%,transparent 40%)}
.hero-badge{position:absolute;bottom:48px;left:-28px;background:var(--warm-white);padding:20px 28px;box-shadow:0 4px 32px rgba(0,0,0,0.08);opacity:0;animation:fadeUp 0.8s 1.2s ease forwards}
.hero-badge-label{font-family:var(--sans);font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--clay);margin-bottom:4px}
.hero-badge-value{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--text)}

/* ── MARQUEE ── */
.marquee-wrap{overflow:hidden;background:var(--text);padding:14px 0}
.marquee-track{display:flex;gap:0;animation:marquee 28s linear infinite;white-space:nowrap}
.marquee-item{display:inline-flex;align-items:center;gap:24px;padding:0 40px;font-family:var(--serif);font-size:0.85rem;font-style:italic;font-weight:400;letter-spacing:0.06em;color:var(--clay)}
.marquee-dot{width:4px;height:4px;border-radius:50%;background:var(--terracotta);display:inline-block}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── STORY ── */
.story{display:grid;grid-template-columns:1fr 1fr;min-height:80vh}
.story-img-side{position:relative;overflow:hidden;background:var(--stone)}
.story-img-side img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(5%);transition:transform 0.8s ease}
.story-img-side:hover img{transform:scale(1.03)}
.story-img-caption{position:absolute;bottom:32px;right:32px;background:rgba(253,250,246,0.9);padding:12px 18px;font-family:var(--serif);font-size:0.8rem;font-style:italic;color:var(--mid)}
.story-content{display:flex;flex-direction:column;justify-content:center;padding:80px 80px 80px 72px}
.section-label{font-family:var(--sans);font-size:0.65rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--clay);margin-bottom:24px}
.story-content h2{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.8rem);font-weight:400;line-height:1.15;color:var(--text);margin-bottom:28px}
.story-content h2 em{font-style:italic;color:var(--terracotta)}
.story-content p{font-size:0.92rem;color:var(--mid);line-height:1.9;max-width:440px;margin-bottom:16px}
.story-link{display:inline-flex;align-items:center;gap:10px;margin-top:32px;font-family:var(--sans);font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--text);text-decoration:none;border-bottom:1px solid var(--clay);padding-bottom:3px;width:fit-content;transition:color 0.2s}
.story-link:hover{color:var(--terracotta)}
.story-link svg{width:14px;height:14px;stroke:currentColor;fill:none}

/* ── CATEGORIES ── */
.categories{padding:100px 80px;background:var(--cream)}
.section-header{text-align:center;margin-bottom:72px}
.section-header h2{font-family:var(--serif);font-size:clamp(2.2rem,3.5vw,4rem);font-weight:400;color:var(--text);margin-bottom:16px}
.section-header h2 em{font-style:italic;color:var(--terracotta)}
.section-header p{font-size:0.88rem;color:var(--mid);letter-spacing:0.04em}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.cat-card{position:relative;overflow:hidden;aspect-ratio:3/4;cursor:pointer;background:var(--stone);display:block;text-decoration:none}
.cat-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.7s ease;filter:sepia(8%)}
.cat-card:hover img{transform:scale(1.06)}
.cat-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,23,20,0.75) 0%,rgba(26,23,20,0.1) 50%,transparent 100%);transition:opacity 0.3s}
.cat-card:hover .cat-overlay{opacity:0.85}
.cat-info{position:absolute;bottom:0;left:0;right:0;padding:32px 28px}
.cat-name{font-family:var(--serif);font-size:1.55rem;font-weight:400;color:#fff;line-height:1.2;margin-bottom:6px}
.cat-sub{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.65)}
.cat-arrow{position:absolute;top:28px;right:28px;width:36px;height:36px;border:1px solid rgba(255,255,255,0.4);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(-6px);transition:opacity 0.3s,transform 0.3s}
.cat-card:hover .cat-arrow{opacity:1;transform:translateY(0)}
.cat-arrow svg{width:12px;height:12px;stroke:#fff;fill:none}

/* ── FEATURED PRODUCTS (homepage .products section) ── */
.products{padding:100px 80px;background:var(--cream)}
.products .section-header{margin-bottom:0}
/* Homepage products-grid — 3 columns */
.products .products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:64px}
.products .product-card{position:relative;cursor:pointer}
.products .product-img{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--stone);margin-bottom:20px}
.products .product-img img,.products .product-img a img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease}
.products .product-card:hover .product-img img{transform:scale(1.04)}
.products .product-badge{position:absolute;top:16px;left:16px;background:var(--terracotta);color:#fff;font-family:var(--sans);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;padding:5px 10px;z-index:2}
.products .product-quick{position:absolute;bottom:0;left:0;right:0;background:rgba(26,23,20,0.88);color:#fff;font-family:var(--sans);font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;text-align:center;padding:12px;opacity:0;transform:translateY(4px);transition:all 0.3s;cursor:pointer;z-index:2;text-decoration:none;display:block}
.products .product-card:hover .product-quick{opacity:1;transform:translateY(0)}
.product-origin{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--clay);margin-bottom:10px}
.product-name a,.product-name{font-family:var(--sans);font-size:1.3rem;font-weight:400;color:var(--text);margin-bottom:6px;line-height:1.3}
.product-price{font-family: var(--sans);font-size:1.05rem;font-weight:500;color:var(--text)}
/* WooCommerce price HTML override for homepage */
.products .product-price .woocommerce-Price-amount{font-family:var(--sans);font-size:1.1rem;font-weight:500;color:var(--text)}

/* ── GALLERY STRIP ── */
.gallery-strip{display:flex;height:340px;overflow:hidden}
.gallery-strip-item{flex:1;overflow:hidden;position:relative;cursor:pointer}
.gallery-strip-item img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(8%);transition:transform 0.7s ease,filter 0.4s}
.gallery-strip-item:hover img{transform:scale(1.06);filter:sepia(0%)}
.gallery-strip-item::after{content:'';position:absolute;inset:0;background:rgba(26,23,20,0.15);transition:opacity 0.3s}
.gallery-strip-item:hover::after{opacity:0}

/* ── PILLARS ── */
.pillars{padding:100px 80px;background:var(--warm-white)}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 64px}
.pillar{padding-top:28px;border-top:1px solid var(--stone)}
.pillar-num{font-family:var(--serif);font-size:0.8rem;font-style:italic;color:var(--clay);margin-bottom:18px}
.pillar h3{font-family:var(--serif);font-size:1.45rem;font-weight:400;color:var(--text);margin-bottom:14px;line-height:1.25}
.pillar p{font-size:0.87rem;color:var(--mid);line-height:1.8}

/* ── PROMISE ── */
.promise{padding:120px 80px;background:var(--text);text-align:center;position:relative;overflow:hidden}
.promise::before{content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(196,168,130,0.08) 0%,transparent 70%);pointer-events:none}
.promise-eyebrow{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--clay);margin-bottom:28px}
.promise h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,6rem);font-weight:400;color:var(--warm-white);line-height:1.1;margin-bottom:32px}
.promise h2 em{font-style:italic;color:var(--clay)}
.promise p{font-size:0.95rem;color:rgba(255,255,255,0.5);line-height:1.9;max-width:560px;margin:0 auto 52px}
.promise-cta{display:inline-block;padding:16px 44px;border:1px solid rgba(196,168,130,0.5);color:var(--clay);font-family:var(--sans);font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;transition:border-color 0.25s,color 0.25s,background 0.25s}
.promise-cta:hover{border-color:var(--clay);background:var(--clay);color:var(--text)}

/* ── TESTIMONIALS ── */
.testimonials{padding:100px 80px;background:var(--warm-white)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:64px}
.testi-card{background:var(--cream);padding:40px 36px}
.testi-stars{display:flex;gap:4px;margin-bottom:20px;font-size:0.9rem;color:var(--clay)}
.testi-text{font-family:var(--serif);font-size:1.05rem;font-style:italic;font-weight:400;color:var(--text);line-height:1.75;margin-bottom:24px}
.testi-author{font-family:var(--sans);font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--mid)}
.testi-location{font-family:var(--sans);font-size:0.62rem;color:var(--clay);margin-top:4px}

/* ── NEWSLETTER ── */
.newsletter{padding:88px 80px;background:var(--stone);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.newsletter h2{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,3.2rem);font-weight:400;color:var(--text);line-height:1.2}
.newsletter h2 em{font-style:italic;color:var(--terracotta)}
.newsletter p{font-size:0.88rem;color:var(--mid);margin-top:16px;line-height:1.8}
.newsletter-form{display:flex;flex-direction:column;gap:16px}
.newsletter-input-row{display:flex;border:1px solid rgba(196,168,130,0.5);overflow:hidden;background:var(--warm-white)}
.newsletter-input-row input{flex:1;padding:16px 20px;border:none;outline:none;background:transparent;font-family:var(--sans);font-size:0.85rem;font-weight:400;color:var(--text)}
.newsletter-input-row input::placeholder{color:var(--mid);opacity:0.6}
.newsletter-input-row button{padding:16px 28px;background:var(--text);color:var(--warm-white);border:none;font-family:var(--sans);font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;cursor:pointer;transition:background 0.2s}
.newsletter-input-row button:hover{background:var(--terracotta)}
.newsletter-note{font-size:0.72rem;color:var(--clay);opacity:0.8}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}
.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}

/* ── HOMEPAGE RESPONSIVE ── */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-right{height:60vw}
  .hero-left{padding:60px 32px}
  .hero-badge{left:16px}
  .story{grid-template-columns:1fr}
  .story-img-side{height:60vw}
  .story-content{padding:60px 32px}
  .categories,.pillars,.products,.testimonials,.newsletter{padding:72px 32px}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .pillars-grid{grid-template-columns:repeat(2,1fr)}
  .products .products-grid{grid-template-columns:repeat(2,1fr)}
  .testi-grid{grid-template-columns:1fr 1fr}
  .newsletter{grid-template-columns:1fr;gap:40px}
  .gallery-strip{height:200px}
}
@media(max-width:640px){
  .hero-left{padding:48px 0px}
  .categories,.pillars,.products,.testimonials{padding:56px 20px}
  .newsletter{padding:56px 20px}
  .cat-grid{grid-template-columns:1fr 1fr;gap:2px}
  .pillars-grid{grid-template-columns:1fr}
  .products .products-grid{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr}
  .gallery-strip{height:160px}
}

/* ═══════════════════════════════════════════════════════════
   NEW HOMEPAGE SECTIONS — Trust Bar, Crafted Banner,
   Pillars Slider, Why Choose Us
   These rules come LAST and win all specificity battles.
═══════════════════════════════════════════════════════════ */

/* ── TRUST BAR ── */
.trust-bar{padding:48px 80px;background:#fff;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone)}
.trust-bar-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin:0 auto}
.trust-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;flex:1}
.trust-icon-wrap{width:72px;height:72px;border-radius:50%;background:#f5ede4;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.trust-icon-wrap img{width:44px;height:44px;object-fit:contain}
.trust-emoji{font-size:1.9rem;line-height:1}
.trust-label{font-family:var(--sans);font-size:0.72rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text);line-height:1.55}

/* ── CRAFTED BANNER ── */
.crafted-banner{display:grid;grid-template-columns:1fr 1fr;min-height:440px;overflow:hidden}
.crafted-banner-img{position:relative;overflow:hidden}
.crafted-banner-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.8s ease}
.crafted-banner:hover .crafted-banner-img img{transform:scale(1.04)}
.crafted-banner-content{background:#5c5043;display:flex;flex-direction:column;justify-content:center;padding:72px 64px}
.crafted-banner-content h2{font-family:var(--serif);font-size:2.4rem;font-weight:400;color:#fff;line-height:1.2;margin-bottom:24px}
.crafted-banner-content p{font-family:var(--sans);font-size:0.88rem;color:rgba(255,255,255,0.68);line-height:1.9}

/* ── PILLARS SLIDER — replaces pillars-grid ── */
/* Override the old grid completely */
.pillars-grid{display:none !important}
.pillars-slider-wrap{margin-top:56px;position:relative}
.pillars-slider{position:relative;overflow:hidden}
.pillar-slide{display:none;grid-template-columns:1fr 1fr;min-height:480px}
.pillar-slide.active{display:grid}
.pillar-slide-img{overflow:hidden;background:var(--stone)}
.pillar-slide-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.7s ease}
.pillar-slide.active:hover .pillar-slide-img img{transform:scale(1.04)}
.pillar-slide-content{background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:64px 72px;border:1px solid var(--stone);border-left:none}
.pillar-slide-content .pillar-num{font-family:var(--serif);font-size:0.8rem;font-style:italic;color:var(--clay);margin-bottom:20px}
.pillar-slide-content h3{font-family:var(--serif);font-size:2.1rem;font-weight:400;color:var(--text);line-height:1.2;margin-bottom:20px}
.pillar-slide-content p{font-size:0.9rem;color:var(--mid);line-height:1.85}
.pillars-slider-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:32px}
.pillar-prev,.pillar-next{width:44px;height:44px;border:1px solid var(--stone);border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s,border-color 0.2s;padding:0}
.pillar-prev:hover,.pillar-next:hover{background:var(--text);border-color:var(--text)}
.pillar-prev:hover svg,.pillar-next:hover svg{stroke:#fff}
.pillar-prev svg,.pillar-next svg{width:16px;height:16px;stroke:var(--text);fill:none}
.pillar-dots{display:flex;gap:8px;align-items:center}
.pillar-dot{width:7px;height:7px;border-radius:50%;background:var(--stone);cursor:pointer;transition:background 0.2s,transform 0.2s;display:inline-block}
.pillar-dot.active{background:var(--terracotta);transform:scale(1.35)}

/* ── WHY CHOOSE US ── */
.why-choose-us{padding:110px 80px;background:var(--cream)}
.why-choose-us .wcu-header{margin-bottom:64px}
.wcu-eyebrow{font-family:var(--sans);font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--clay);margin-bottom:16px}
.why-choose-us .wcu-header h2{font-family:var(--serif);font-size:clamp(2.2rem,3.5vw,3.6rem);font-weight:400;color:var(--text);line-height:1.15;margin-bottom:0}
.why-choose-us .wcu-header h2 em{font-style:italic;color:var(--terracotta)}

.wcu-reasons-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:56px;row-gap:0}
.wcu-reason{padding:44px 0}
.wcu-reason:nth-child(n+4){border-top:1px solid var(--stone)}
.wcu-reason:not(:nth-child(3n+1)){border-left:1px solid var(--stone);padding-left:48px}
.wcu-reason-num{display:block;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--terracotta);margin-bottom:14px}
.wcu-reason h3{font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--text);line-height:1.3;margin-bottom:12px}
.wcu-reason p{font-family:var(--sans);font-size:0.85rem;color:var(--mid);line-height:1.8;max-width:32ch}

/* ── RESPONSIVE — NEW SECTIONS ── */
@media(max-width:1024px){
  .trust-bar{padding:40px 32px}
  .trust-bar-inner{flex-wrap:wrap;justify-content:center;gap:20px}
  .trust-item{flex:0 1 calc(33.33% - 20px);min-width:100px}
  .crafted-banner{grid-template-columns:1fr}
  .crafted-banner-content{padding:56px 40px}
  .pillar-slide{grid-template-columns:1fr}
  .pillar-slide-img{height:300px}
  .pillar-slide-content{padding:48px 40px;border:1px solid var(--stone);border-top:none}
  .pillars{padding:72px 32px}

  .why-choose-us{padding:72px 32px}
  .wcu-reasons-grid{grid-template-columns:repeat(2,1fr)}
  .wcu-reason:nth-child(n+4){border-top:none}
  .wcu-reason:nth-child(n+3){border-top:1px solid var(--stone)}
  .wcu-reason:not(:nth-child(3n+1)){border-left:none;padding-left:0}
  .wcu-reason:nth-child(even){border-left:1px solid var(--stone);padding-left:40px}
}
@media(max-width:640px){
  .trust-bar{padding:32px 20px}
  .trust-item{flex:0 1 calc(50% - 12px)}
  .crafted-banner-content{padding:44px 24px}
  .crafted-banner-content h2{font-size:1.75rem}
  .pillar-slide-content{padding:36px 24px}
  .pillar-slide-content h3{font-size:1.6rem}
  .pillars{padding:56px 20px}
  .why-choose-us{padding:56px 20px}
  .why-choose-us .wcu-header h2{font-size:2rem}
  .wcu-reasons-grid{grid-template-columns:1fr}
  .wcu-reason{padding:32px 0 !important;border-left:none !important;padding-left:0 !important}
  .wcu-reason:nth-child(n+2){border-top:1px solid var(--stone)}
  .wcu-reason:first-child{border-top:none}
}


/* ═══════════════════════════════════════════════════════════
   MOBILE & TABLET RESPONSIVE — v3.1 FINAL OVERRIDES
   These rules come last and win all specificity battles.
   Fixes: original images, hamburger nav, hero layout,
   category grid, products, gallery, pillar slider, footer.
═══════════════════════════════════════════════════════════ */

/* ── MOBILE HAMBURGER TOGGLE ── */
.nav-mobile-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 6px 4px;
  z-index: 110;
}
.nav-mobile-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--text);
  transition: transform 0.3s ease, opacity 0.2s ease;
  transform-origin: center;
}
.nav-mobile-toggle.open span:nth-child(1) {
  transform: rotate(45deg) translate(4.7px, 4.7px);
}
.nav-mobile-toggle.open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.nav-mobile-toggle.open span:nth-child(3) {
  transform: rotate(-45deg) translate(4.7px, -4.7px);
}

/* ── TABLET — 1024px ── */
@media (max-width: 1024px) {

  /* Hero: image first (order), text below */
  .hero { grid-template-columns: 1fr !important; min-height: auto !important; }
  .hero-right { height: 52vw; min-height: 300px; order: -1; }
  .hero-left  { padding: 56px 48px 64px; order: 1; }
  .hero-badge { bottom: 28px; left: 20px; }

  /* Story: image top, content below */
  .story { grid-template-columns: 1fr !important; }
  .story-img-side { height: 52vw; }
  .story-content { padding: 56px 48px; }

  /* Crafted banner: stack */
  .crafted-banner { grid-template-columns: 1fr !important; }
  .crafted-banner-img { height: auto;}
  .crafted-banner-content { padding: 56px 48px; }

  /* Section paddings */
  .categories, .products, .testimonials { padding: 80px 40px; }
  .pillars { padding: 80px 40px; }
  .why-choose-us { padding: 80px 40px; }
  .newsletter { padding: 72px 40px; grid-template-columns: 1fr !important; gap: 40px; }
  .promise { padding: 100px 40px; }

  /* Grids */
  .cat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .products .products-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .testi-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Pillar slider single col */
  .pillar-slide { grid-template-columns: 1fr !important; }
  .pillar-slide-img { height: 44vw; min-height: 240px; }
  .pillar-slide-content { padding: 48px 40px; border-left: 1px solid var(--stone); border-top: none; }

  /* Gallery */
  .gallery-strip { height: 200px; }

  /* Footer */
  .footer-top { grid-template-columns: 1fr 1fr !important; gap: 40px; }
  footer { padding: 56px 40px 32px; }
}

/* ── MOBILE — 768px ── */
@media (max-width: 768px) {

  /* ── Nav ── */
  nav { padding: 16px 24px; }
  .nav-links { display: none !important; }
  .nav-links.mobile-open {
    display: flex !important;
    flex-direction: column !important;
    position: fixed;
    top: 65px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--warm-white);
    border-top: 1px solid var(--stone);
    padding: 28px 28px 40px;
    gap: 0 !important;
    z-index: 99;
    overflow-y: auto;
    box-shadow: 0 8px 40px rgba(0,0,0,0.1);
  }
  .nav-links.mobile-open li { list-style: none; }
  .nav-links.mobile-open li a {
    display: block;
    padding: 16px 0;
    border-bottom: 1px solid var(--stone);
    font-size: 0.85rem !important;
    letter-spacing: 0.14em;
    color: var(--text) !important;
    text-transform: uppercase;
  }
  .nav-links.mobile-open li a:hover { color: var(--terracotta) !important; }
  .nav-mobile-toggle { display: flex !important; }

  /* ── Hero ── */
  .hero { grid-template-columns: 1fr !important; padding-top: 65px; }
  .hero-right { height: 68vw; min-height: 260px; order: -1; }
  .hero-left  { padding: 40px 0px 52px; order: 1; }
  .hero-title { font-size: clamp(2rem, 8vw, 3rem) !important; margin-bottom: 18px; }
  .hero-sub   { font-size: 0.88rem; margin-bottom: 32px; max-width: 100%; }
  .hero-badge { bottom: 20px; left: 16px; padding: 14px 18px; }
  .hero-badge-value { font-size: 1.05rem; }
  .hero-badge-label { font-size: 0.58rem; }

  /* ── Trust bar ── */
  .trust-bar { padding: 36px 24px; }
  .trust-bar-inner { flex-wrap: wrap; gap: 18px; justify-content: center; }
  .trust-item { flex: 0 1 calc(50% - 12px) !important; min-width: 120px; }
  .trust-icon-wrap { width: 56px; }
  .trust-emoji { font-size: 1.5rem; }
  .trust-label { font-size: 0.67rem; }

  /* ── Crafted banner ── */
  .crafted-banner { grid-template-columns: 1fr !important; }
  .crafted-banner-img { height: auto; }
  .crafted-banner-content { padding: 44px 24px; }
  .crafted-banner-content h2 { font-size: 1.75rem; }
  .crafted-banner-content p  { font-size: 0.84rem; }

  /* ── Story ── */
  .story { grid-template-columns: 1fr !important; }
  .story-img-side { height: 58vw; min-height: 240px; }
  .story-content  { padding: 44px 24px; }
  .story-content h2 { font-size: clamp(1.8rem, 6vw, 2.8rem) !important; }

  /* ── Categories ── */
  .categories { padding: 60px 20px !important; }
  .cat-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 3px; }
  .cat-card { aspect-ratio: 2/3 !important; }
  .cat-name { font-size: 1.15rem !important; }
  .cat-sub  { font-size: 0.6rem !important; }
  .cat-info { padding: 18px 14px !important; }

  /* ── Products ── */
  .products { padding: 60px 20px !important; }
  .products .products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }
  .product-name,.product-name a { font-size: 0.95rem; }
  .product-price { font-size: 0.95rem; }
  .section-header { margin-bottom: 44px; }
  .section-header h2 { font-size: clamp(1.8rem, 7vw, 2.6rem) !important; }

  /* ── Gallery ── */
  .gallery-strip { height: 160px; }
  .gallery-strip-item img { filter: sepia(0%); } /* show colors on mobile */

  /* ── Pillars slider ── */
  .pillars { padding: 60px 20px !important; }
  .pillar-slide { grid-template-columns: 1fr !important; }
  .pillar-slide-img { height: 56vw; min-height: 220px; }
  .pillar-slide-content { padding: 36px 24px !important; border: 1px solid var(--stone); border-top: none; }
  .pillar-slide-content h3 { font-size: 1.5rem; }

  /* ── Why choose us ── */
  .why-choose-us { padding: 60px 20px !important; }
  .wcu-reasons-grid { grid-template-columns: 1fr; }
  .wcu-reason { padding: 32px 0 !important; border-left: none !important; padding-left: 0 !important; }
  .wcu-reason:nth-child(n+2) { border-top: 1px solid var(--stone); }
  .wcu-reason:first-child { border-top: none; }
  .why-choose-us .wcu-header h2 { font-size: clamp(1.8rem, 7vw, 2.6rem) !important; }

  /* ── Promise ── */
  .promise { padding: 80px 24px !important; }
  .promise h2 { font-size: clamp(2rem, 8vw, 3.2rem) !important; }
  .promise p  { font-size: 0.88rem; }

  /* ── Testimonials ── */
  .testimonials { padding: 60px 20px !important; }
  .testi-grid   { grid-template-columns: 1fr !important; }
  .testi-card   { padding: 28px 24px; }
  .testi-text   { font-size: 0.95rem; }

  /* ── Newsletter ── */
  .newsletter { padding: 56px 24px !important; grid-template-columns: 1fr !important; gap: 32px; }
  .newsletter h2 { font-size: clamp(1.6rem, 6vw, 2.2rem) !important; }

  /* ── Footer ── */
  footer { padding: 48px 24px 24px !important; }
  .footer-top { grid-template-columns: 1fr 1fr !important; gap: 28px; }
  .footer-brand-tagline { max-width: 100%; }

  /* ── WooCommerce notices ── */
  .woocommerce-notices-wrapper,
  .woocommerce-info,
  .woocommerce-error,
  .woocommerce-message { margin-left: 24px; margin-right: 24px; }
  .woocommerce-breadcrumb { padding: 96px 24px 0; }
}

/* ── SMALL MOBILE — 480px ── */
@media (max-width: 480px) {
  nav { padding: 14px 20px; }
  .hero-right { height: 80vw; }
  .hero-left  { padding: 32px 0px 0px; }
  .hero-title { font-size: 1.9rem !important; }
  .hero-cta .btn-primary { display: block; text-align: center; }

  /* Categories: still 2-col but smaller */
  .cat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .cat-name { font-size: 1.05rem !important; }

  /* Products 1-col on tiny screens */
  .products .products-grid { grid-template-columns: 1fr !important; gap: 28px; }

  /* Trust: 2 items per row */
  .trust-item { flex: 0 1 calc(50% - 10px) !important; }

  /* Gallery strip shorter */
  .gallery-strip { height: 130px; }

  /* Newsletter input: stack on tiny screens */
  .newsletter-input-row { flex-direction: column; }
  .newsletter-input-row input  { border-right: 1px solid rgba(196,168,130,0.5); border-bottom: none; }
  .newsletter-input-row button { width: 100%; padding: 14px; }

  /* Footer single column */
  .footer-top { grid-template-columns: 1fr !important; gap: 24px; }
  footer { padding: 40px 20px 20px !important; }

  /* Promise */
  .promise { padding: 64px 20px !important; }

  /* WCU */
  .wcu-reason { padding: 24px 0 !important; }
}

/* ── IMAGE RENDERING — ensure full-size images fill containers ── */
/* Category cards: always cover the container with object-fit */
.cat-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
/* Hero, story, crafted, pillar images: fill containers */
.hero-img-wrap img,
.story-img-side img,
.crafted-banner-img img,
.pillar-slide-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
/* Gallery strip: cover */
.gallery-strip-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


/* ═══════════════════════════════════════════════
   PRODUCT DETAIL — ADDITIONAL / OVERRIDE STYLES
   Pixel-perfect match to design screenshot
═══════════════════════════════════════════════ */

/* Breadcrumb */
.breadcrumb-bar { padding: 100px 80px 0; background: var(--warm-white); }
.breadcrumb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-family: var(--sans); font-size: 0.65rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--mid); }
.breadcrumb a { color: var(--mid); text-decoration: none; transition: color 0.2s; }
.breadcrumb a:hover { color: var(--text); }
.breadcrumb span { color: var(--stone); }
.breadcrumb-current { color: var(--text); }

/* Product meta top (Category / Origin row) */
.product-meta-top { display: flex; align-items: center; gap: 6px; margin-bottom: 14px; flex-wrap: wrap; }
.product-meta-sep { color: var(--stone); font-size: 0.7rem; }
.product-origin-tag { font-family: var(--sans); font-size: 0.65rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--clay); }

/* Star rating individual */
.star-rating { display: flex; gap: 1px; }
.star-rating .star { font-size: 0.85rem; line-height: 1; }
.star-rating .star.filled { color: var(--clay); }
.star-rating .star.empty  { color: var(--stone); }
.rating-sep { color: var(--stone); padding: 0 4px; font-size: 0.75rem; }
.stock-status { font-size: 0.72rem; letter-spacing: 0.04em; }
.stock-status.in-stock  { color: var(--clay); }
.stock-status.out-of-stock { color: var(--terracotta); }

/* Buy Now — COD button */
.buy-now-btn {
  display: block; width: 100%; padding: 15px 24px;
  border: 1px solid var(--text); background: transparent;
  font-family: var(--sans); font-size: 0.7rem; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--text);
  text-decoration: none; text-align: center;
  cursor: pointer; transition: all 0.25s; margin-bottom: 24px;
}
.buy-now-btn:hover { background: var(--text); color: var(--warm-white); }

/* Trust badges — 3 col, exact match */
.trust-badges {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--stone);
  border: 1px solid var(--stone); margin-bottom: 28px;
}
.trust-item {
  background: var(--cream); padding: 14px 12px;
  display: flex; align-items: flex-start; gap: 10px;
}
.trust-item svg { width: 18px; height: 18px; stroke: var(--clay); fill: none;
  stroke-width: 1.4; flex-shrink: 0; margin-top: 2px; }
.trust-text { display: flex; flex-direction: column; gap: 2px; }
.trust-text strong { font-family: var(--sans); font-size: 0.85rem;
  font-weight: 400; color: var(--text); letter-spacing: 0.04em; }
.trust-text span { font-size: 0.68rem; color: var(--mid); line-height: 1.4; }

/* Product meta (SKU/Craft/Origin/Artisan) */
.product_meta {
  font-family: var(--sans); font-size: 0.8rem; color: var(--mid);
  padding-top: 20px; border-top: 1px solid var(--stone);
}
.product_meta span { display: block; margin-bottom: 5px; }
.product_meta strong { color: var(--text); font-weight: 400; margin-right: 6px; }
.product_meta a { color: var(--clay); text-decoration: none; transition: color 0.2s; }
.product_meta a:hover { color: var(--text); }

/* Add-to-wishlist filled state */
.add-to-wishlist.wishlisted svg { fill: var(--terracotta); stroke: var(--terracotta); }
.product-wish { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px;
  background: rgba(253,250,246,0.88); border: none; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  opacity: 0; transform: scale(0.8); transition: all 0.25s; }
.product-card:hover .product-wish { opacity: 1; transform: scale(1); }
.product-wish svg { width: 14px; height: 14px; stroke: var(--mid); fill: none; }
.product-wish.wishlisted svg { fill: var(--terracotta); stroke: var(--terracotta); }

/* Product badge on related card */
.product-badge { position: absolute; top: 12px; left: 12px; z-index: 2;
  background: var(--terracotta); color: #fff; font-family: var(--sans);
  font-size: 0.55rem; letter-spacing: 0.12em; text-transform: uppercase; padding: 4px 9px; }

/* Related product cat tag */
.product-cat-tag { font-family: var(--sans); font-size: 0.6rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--clay); margin-bottom: 5px; }
.product-cat-tag a { color: inherit; text-decoration: none; }
.product-cat-tag a:hover { color: var(--text); }
.product-name .product-name a { font-family: var(--serif); font-size: 1.1rem; font-weight: 400;
  color: var(--text); text-decoration: none; display: block; margin-bottom: 6px; line-height: 1.3; }
.product-name:hover, .product-name a:hover { color: var(--terracotta); }

/* Review form heading em */
.review-form h3 em { font-style: italic; color: var(--terracotta); }
.review-form-sub { font-size: 0.85rem; color: var(--mid); margin-bottom: 24px; }

/* Section head link */
.section-head-link { font-family: var(--sans); font-size: 0.68rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--clay); text-decoration: none;
  border-bottom: 1px solid var(--clay); padding-bottom: 2px; transition: color 0.2s; }
.section-head-link:hover { color: var(--text); }

/* Tabs section uses --cream background */
.product-tabs-section { padding: 64px 80px; background: var(--cream); border-top: 1px solid var(--stone); }
.tabs-nav ul { display: flex; gap: 0; border-bottom: 1px solid var(--stone);
  margin-bottom: 48px; list-style: none; padding: 0; }
.tabs-nav li a { display: block; padding: 14px 28px; font-family: var(--sans);
  font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mid);
  text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: all 0.2s; }
.tabs-nav li a:hover { color: var(--text); }
.tabs-nav li a.active { color: var(--text); border-bottom-color: var(--terracotta); }

/* Modal */
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9999;
  display: none; align-items: center; justify-content: center; }
.modal-overlay[style*="flex"] { display: flex !important; }
.modal-box { background: var(--warm-white); padding: 48px; max-width: 520px; width: 90%;
  position: relative; animation: fadeUp 0.3s ease; }
.modal-close { position: absolute; top: 16px; right: 20px; background: none; border: none;
  font-size: 1.4rem; cursor: pointer; color: var(--mid); line-height: 1; }
.modal-close:hover { color: var(--text); }
.modal-title { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; margin-bottom: 24px; }
.modal-note { font-size: 0.78rem; color: var(--clay); margin-top: 16px; font-style: italic; }

/* Responsive overrides */
@media (max-width: 1024px) {
  .breadcrumb-bar { padding: 88px 32px 0; }
  .product-tabs-section { padding: 48px 32px 64px; }
  .trust-badges { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .breadcrumb-bar { padding: 40px 20px 0; }
  .product-tabs-section { padding: 40px 20px 56px; }
  .trust-badges { grid-template-columns: 1fr; }
  .buy-now-btn { font-size: 0.65rem; }
}



/* ═══════════════════════════════════════════════════════════
   GALLERY V3 — Horizontal slider with thumbnail strip + video slide
═══════════════════════════════════════════════════════════ */

/* Outer gallery container */
.woocommerce-product-gallery {
  display: flex !important;
  flex-direction: column !important;
  gap: 0;
  position: sticky;
  top: 90px;
  height: fit-content;
  padding-right: 48px;
}

/* ── Slider wrap (main image area) */
.gallery-slider-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--stone);
  aspect-ratio: 4 / 5;
  border-radius: 2px;
}
.gallery-slider-wrap {
  touch-action: pan-y;  /* ADD THIS */
}

/* ── Individual slides */
.gallery-slider {
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
}
.gallery-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  overflow: hidden;
  background: var(--stone);
  cursor: zoom-in;
}
.gallery-slide.active {
  opacity: 1;
  pointer-events: auto;
}
.gallery-slide img {
  width: 100%; height: 100%;
  object-fit: contain; display: block;
  transition: transform 0.5s ease;
}
.gallery-slide.active img:hover { transform: scale(1.03); }

/* ── Video slide */
.gallery-slide--video { cursor: default; }
.gallery-video-container {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
  position: relative;
}
.gallery-video-player {
  width: 100%; height: 100%;
  object-fit: contain;
}
.gallery-video-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  cursor: pointer;
  background: linear-gradient(135deg, #1a1714 0%, #2d2620 100%);
  transition: opacity 0.2s;
}
.gallery-video-placeholder:hover { opacity: 0.88; }
.gallery-video-play-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.gallery-video-play-btn svg { width: 80px; height: 80px; filter: drop-shadow(0 4px 12px rgba(0,0,0,0.4)); }
.gallery-video-play-btn span {
  font-family: var(--sans);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
}

/* ── Arrow buttons */
.gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.85);
  border: none;
  width: 40px; height: 40px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  transition: background 0.2s, opacity 0.2s;
  opacity: 0;
}
.gallery-slider-wrap:hover .gallery-arrow { opacity: 1; }
.gallery-arrow:hover { background: #fff; }
.gallery-arrow svg { width: 18px; height: 18px; color: var(--ink); }
.gallery-arrow--prev { left: 12px; }
.gallery-arrow--next { right: 12px; }

/* ── Dot indicators */
.gallery-dots {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 10;
}
.gallery-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.5);
  cursor: pointer;
  padding: 0;
  transition: background 0.2s, transform 0.2s;
}
.gallery-dot.active { background: #fff; transform: scale(1.3); }

/* ── Thumbnail strip */
.gallery-thumbs {
  display: flex;
  flex-direction: row;
  gap: 6px;
  margin-top: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
  scrollbar-color: var(--clay) transparent;
}
.gallery-thumbs {
  -webkit-overflow-scrolling: touch;  /* ADD THIS */
  overscroll-behavior-x: contain;     /* ADD THIS */
}
.gallery-thumbs::-webkit-scrollbar { height: 3px; }
.gallery-thumbs::-webkit-scrollbar-thumb { background: var(--clay); border-radius: 2px; }

.gallery-thumb {
  flex-shrink: 0;
  width: 70px; height: 84px;
  overflow: hidden;
  background: var(--stone);
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 2px;
  transition: border-color 0.2s, opacity 0.2s;
}
.gallery-thumb img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 0.3s;
}
.gallery-thumb:hover { opacity: 0.85; }
.gallery-thumb:hover img { transform: scale(1.06); }
.gallery-thumb.active { border-color: var(--clay); }

/* Video thumbnail */
.gallery-thumb--video { background: #1a1714; }
.gallery-thumb-video-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%; height: 100%;
}
.gallery-thumb-video-icon svg { width: 32px; height: 32px; }

/* Responsive */
@media (max-width: 1024px) {
  .woocommerce-product-gallery {
    position: static !important;
    padding-right: 0;
        margin-bottom: 3  0px;
  }
  .woocommerce-product-wrap .summary.entry-summary {
    padding-top: 30px;
}
  .gallery-arrow { opacity: 1; width: 34px; height: 34px; }
  .gallery-thumb { width: 60px; height: 72px; }
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT ACCORDIONS
═══════════════════════════════════════════════════════════ */
.product-accordions {
  margin-top: 28px;
  border-top: 1px solid var(--stone);
}
.accordion-item {
  border-bottom: 1px solid var(--stone);
}
.accordion-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 0.9rem;
  letter-spacing: 0.14em;
  color: var(--text);
  text-align: left;
  transition: color 0.2s;
  gap: 12px;
}
.accordion-trigger:hover { color: var(--clay); }
.accordion-trigger[aria-expanded="true"] { color: var(--clay); }
.accordion-icon {
  width: 16px; height: 16px;
  stroke: currentColor; fill: none;
  flex-shrink: 0;
  transition: transform 0.3s;
}
.accordion-trigger[aria-expanded="true"] .accordion-icon { transform: rotate(180deg); }
.accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.accordion-body.open { max-height: 600px; }
.accordion-content {
  padding: 0 0 20px;
}
.accordion-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}
.accordion-row svg {
  width: 18px; height: 18px;
  stroke: var(--clay); fill: none;
  flex-shrink: 0; margin-top: 1px;
}
.accordion-row strong {
  display: block;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 400;
  color: var(--text);
  margin-bottom: 2px;
}
.accordion-row span {
  font-size: 0.8rem;
  color: var(--mid);
  line-height: 1.6;
}
.accordion-note {
  font-size: 0.78rem;
  color: var(--mid);
  line-height: 1.7;
  padding: 12px 14px;
  background: var(--cream);
  border-left: 2px solid var(--clay);
  margin-top: 8px;
}
.accordion-note a { color: var(--clay); }
.accordion-content p {
  font-size: 0.9rem;
  color: var(--mid);
  line-height: 1.75;
  margin-bottom: 10px;
}
.accordion-content a { color: var(--clay); text-decoration: none; border-bottom: 1px solid var(--clay); }

/* ═══════════════════════════════════════════════════════════
   HEADER — My Account link
═══════════════════════════════════════════════════════════ */
.nav-account-link {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: var(--text);
  transition: color 0.2s;
}
.nav-account-link svg {
  width: 20px; height: 20px;
  stroke: currentColor; fill: none;
}
.nav-account-label {
  font-family: var(--sans);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mid);
  max-width: 72px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-account-link:hover { color: var(--clay); }
.nav-account-link:hover .nav-account-label { color: var(--clay); }
@media (max-width: 768px) { .nav-account-label { display: none; } }

/* ═══════════════════════════════════════════════════════════
   SHARED PAGE COMPONENTS (cart / checkout / account)
═══════════════════════════════════════════════════════════ */
.ijl-page-header {
  padding: 116px 80px 40px;
  background: var(--warm-white);
  border-bottom: 1px solid var(--stone);
}
.ijl-page-title {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 400;
  color: var(--text);
  line-height: 1.15;
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.ijl-page-title em { font-style: italic; color: var(--terracotta); }
.page-title-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  background: var(--terracotta);
  color: #fff;
  border-radius: 50%;
  font-family: var(--sans);
  font-size: 0.7rem;
  font-style: normal;
  letter-spacing: 0;
  flex-shrink: 0;
}

/* Empty state */
.ijl-empty-state {
  text-align: center;
  padding: 80px 40px;
  max-width: 440px;
  margin: 0 auto;
}
.ijl-empty-state svg { display: block; margin: 0 auto 28px; }
.ijl-empty-state h2 { font-family: var(--serif); font-size: 2rem; font-weight: 400; margin-bottom: 12px; }
.ijl-empty-state p { font-size: 0.9rem; color: var(--mid); margin-bottom: 32px; }
.ijl-btn-primary {
  display: inline-block;
  padding: 14px 36px;
  background: var(--text);
  color: var(--warm-white);
  font-family: var(--sans);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.25s;
}
.ijl-btn-primary:hover { background: var(--terracotta); }
.ijl-btn-outline {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 24px;
  border: 1px solid var(--text); background: transparent;
  font-family: var(--sans); font-size: 0.68rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--text); cursor: pointer;
  transition: all 0.2s;
}
.ijl-btn-outline:hover { background: var(--text); color: var(--warm-white); }
.ijl-btn-text {
  background: none; border: none; cursor: pointer;
  font-family: var(--sans); font-size: 0.68rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--mid);
  border-bottom: 1px solid var(--stone); padding-bottom: 2px;
  transition: color 0.2s;
}
.ijl-btn-text:hover { color: var(--text); }
.ijl-input {
  padding: 12px 14px;
  border: 1px solid var(--stone);
  background: var(--warm-white);
  font-family: var(--sans); font-size: 0.82rem; color: var(--text);
  outline: none; transition: border-color 0.2s; width: 100%; box-sizing: border-box;
}
.ijl-input:focus { border-color: var(--clay); }

/* ── CART PAGE ── */
.ijl-cart-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  padding: 48px 80px 80px;
  background: var(--warm-white);
  align-items: start;
}
.ijl-cart-items {
  min-width: 0;
}
.cart-col-header {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 24px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--stone);
  font-family: var(--sans);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mid);
}
.cart-col-header span:nth-child(2),
.cart-col-header span:nth-child(3),
.cart-col-header span:nth-child(4) { min-width: 80px; text-align: center; }
.cart-item {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 24px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid var(--stone);
}
.cart-item-product { display: flex; gap: 16px; align-items: flex-start; }
.cart-item-img {
  width: 96px; height: 116px; flex-shrink: 0;
  overflow: hidden; background: var(--stone);
}
.cart-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cart-item-img a { display: block; height: 100%; }
.cart-item-name a {
  font-family: var(--serif); font-size: 1rem; font-weight: 400;
  color: var(--text); text-decoration: none; line-height: 1.3;
}
.cart-item-name a:hover { color: var(--clay); }
.cart-item-sku { font-size: 0.7rem; color: var(--stone); margin-top: 4px; }
.cart-item-remove {
  display: inline-block; margin-top: 10px;
  font-family: var(--sans); font-size: 0.65rem;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--mid); text-decoration: none;
  border-bottom: 1px solid var(--stone); transition: color 0.2s;
  background: none; border-left: none; border-right: none; border-top: none;
  cursor: pointer; padding: 0;
}
.cart-item-remove:hover { color: var(--terracotta); border-bottom-color: var(--terracotta); }
.cart-item-price, .cart-item-total {
  min-width: 80px; text-align: center;
  font-family: var(--sans); font-size: 0.9rem; color: var(--text);
}
.cart-item-qty { min-width: 80px; display: flex; justify-content: center; }
.cart-form-actions {
  padding: 24px 0 0;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.cart-coupon-row { display: flex; gap: 8px; }
.cart-coupon-row .ijl-input { max-width: 220px; }

/* ── ORDER SUMMARY BOX ── */
.ijl-order-summary-box {
  background: var(--cream);
  padding: 32px;
  position: sticky;
  top: 100px;
}
.order-summary-title {
  font-family: var(--serif); font-size: 1.4rem; font-weight: 400;
  color: var(--text); margin-bottom: 24px;
  padding-bottom: 18px; border-bottom: 1px solid var(--stone);
}
.order-summary-lines { margin-bottom: 24px; }
.order-summary-row {
  display: flex; justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--stone);
  font-size: 0.85rem; color: var(--text);
}
.order-summary-row.coupon-row { color: var(--terracotta); }
.order-summary-row.total-row {
  padding: 16px 0 0;
  border-bottom: none;
  font-family: var(--serif); font-size: 1.2rem;
  font-weight: 400; border-top: 2px solid var(--text); margin-top: 8px;
}
.order-trust-list { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--stone); }
.order-trust-row {
  display: flex; align-items: center; gap: 10px;
  font-size: 0.78rem; color: var(--mid); margin-bottom: 10px;
}
.order-trust-row svg { width: 16px; height: 16px; stroke: var(--clay); fill: none; flex-shrink: 0; }
.continue-shopping-wrap { text-align: center; margin-top: 20px; }
.continue-shopping {
  font-family: var(--sans); font-size: 0.65rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--mid); text-decoration: none;
  border-bottom: 1px solid var(--stone); padding-bottom: 2px;
  transition: color 0.2s;
}
.continue-shopping:hover { color: var(--clay); }
/* WooCommerce proceed button */
.wc-proceed-to-checkout .checkout-button {
  display: block; width: 100%;
  padding: 15px; margin-bottom: 0;
  background: var(--text); color: var(--warm-white);
  font-family: var(--sans); font-size: 0.72rem;
  letter-spacing: 0.18em; text-transform: uppercase;
  text-align: center; text-decoration: none; border: none;
  cursor: pointer; transition: background 0.25s; margin-bottom: 16px;
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--terracotta); }

@media (max-width: 1024px) {
  .ijl-cart-layout { grid-template-columns: 1fr; padding: 32px; }
  .ijl-order-summary-box { position: static; }
}
@media (max-width: 640px) {
  .ijl-page-header { padding: 100px 20px 32px; }
  .ijl-cart-layout { padding: 24px 20px; gap: 32px; }
  .cart-col-header { display: none; }
  .cart-item { grid-template-columns: 1fr; gap: 8px; }
  .cart-item-price::before { content: attr(data-label) ': '; font-size: 0.65rem; color: var(--mid); }
  .cart-item-qty::before { content: attr(data-label) ': '; font-size: 0.65rem; color: var(--mid); display: block; margin-bottom: 4px; }
  .cart-item-total::before { content: attr(data-label) ': '; font-size: 0.65rem; color: var(--mid); }
  .cart-item-price, .cart-item-qty, .cart-item-total { min-width: unset; text-align: left; justify-content: flex-start; }
}

/* ── CHECKOUT PAGE ── */
.checkout-steps {
  display: flex;
  align-items: center;
  padding: 20px 80px;
  background: var(--warm-white);
  border-bottom: 1px solid var(--stone);
  gap: 0;
}
.checkout-step {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--sans); font-size: 0.65rem;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--mid);
}
.checkout-step.active { color: var(--text); }
.checkout-step.done { color: var(--clay); }
.step-num {
  width: 26px; height: 26px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--stone); border-radius: 50%;
  font-size: 0.72rem; color: var(--mid);
}
.checkout-step.active .step-num { background: var(--text); color: var(--warm-white); border-color: var(--text); }
.checkout-step.done .step-num { background: var(--clay); color: #fff; border-color: var(--clay); }
.checkout-step-line { flex: 1; height: 1px; background: var(--stone); margin: 0 12px; min-width: 20px; }
.checkout-step-line.done { background: var(--clay); }

.ijl-checkout-form { background: var(--warm-white); }
.ijl-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 0;
  padding: 0;
  align-items: start;
}
.ijl-checkout-left {
  padding: 40px 48px 80px 80px;
  border-right: 1px solid var(--stone);
}
.ijl-checkout-right {
  padding: 40px 80px 80px 40px;
}
.ijl-checkout-section { margin-bottom: 40px; }
.section-title {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--serif); font-size: 1.2rem; font-weight: 400;
  color: var(--text); margin-bottom: 24px;
}
.section-num {
  font-family: var(--sans); font-size: 0.6rem; letter-spacing: 0.16em;
  color: var(--clay); border: 1px solid var(--clay);
  padding: 3px 6px;
}
.checkout-login-prompt {
  background: var(--cream); padding: 14px 18px;
  font-size: 0.82rem; color: var(--mid); margin-bottom: 28px;
  border-left: 2px solid var(--clay);
}
.checkout-login-prompt a { color: var(--clay); }
.checkout-logged-in { font-size: 0.82rem; color: var(--mid); margin-bottom: 24px; }
.checkout-logged-in a { color: var(--clay); }
.ship-different-label {
  display: flex; align-items: center; gap: 12px; cursor: pointer;
  font-family: var(--sans); font-size: 0.78rem; color: var(--text);
  margin-bottom: 4px;
}
.ship-different-label input { accent-color: var(--terracotta); }

/* Checkout order items */
.sticky-summary { position: sticky; top: 80px; }
.checkout-order-items { margin-bottom: 20px; }
.checkout-order-header {
  display: flex; justify-content: space-between;
  font-family: var(--sans); font-size: 0.62rem;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--mid);
  padding-bottom: 12px; border-bottom: 1px solid var(--stone);
  margin-bottom: 12px;
}
.checkout-order-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 0; border-bottom: 1px solid var(--stone);
}
.checkout-item-img {
  position: relative; width: 52px; height: 64px; flex-shrink: 0;
  overflow: hidden; background: var(--stone);
}
.checkout-item-img img { width: 100%; height: 100%; object-fit: cover; }
.checkout-item-qty-badge {
  position: absolute; top: -6px; right: -6px;
  width: 18px; height: 18px;
  background: var(--text); color: #fff; border-radius: 50%;
  font-family: var(--sans); font-size: 0.6rem;
  display: flex; align-items: center; justify-content: center;
}
.checkout-item-name {
  flex: 1; font-size: 0.82rem; color: var(--text); line-height: 1.4;
}
.checkout-item-total { font-size: 0.85rem; color: var(--text); text-align: right; }

.delivery-estimate {
  display: flex; align-items: flex-start; gap: 12px;
  background: rgba(181,103,77,0.06); padding: 14px;
  margin: 16px 0; border: 1px solid rgba(181,103,77,0.15);
}
.delivery-estimate svg { width: 18px; height: 18px; stroke: var(--clay); fill: none; flex-shrink: 0; margin-top: 2px; }
.delivery-estimate strong { display: block; font-family: var(--sans); font-size: 0.72rem; font-weight: 400; color: var(--text); margin-bottom: 3px; }
.delivery-estimate span { font-size: 0.78rem; color: var(--mid); }

@media (max-width: 1024px) {
  .checkout-steps { padding: 16px 32px; }
  .ijl-checkout-layout { grid-template-columns: 1fr; }
  .ijl-checkout-left { padding: 32px; border-right: none; border-bottom: 1px solid var(--stone); }
  .ijl-checkout-right { padding: 32px; }
  .sticky-summary { position: static; }
}
@media (max-width: 640px) {
  .checkout-steps { padding: 14px 20px; flex-wrap: nowrap; overflow-x: auto; }
  .step-label { display: none; }
  .ijl-checkout-left { padding: 24px 20px; }
  .ijl-checkout-right { padding: 24px 20px; }
}

/* ── MY ACCOUNT PAGE ── */
.ijl-account-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 0;
  padding: 0;
  min-height: 60vh;
  align-items: start;
}
.ijl-account-sidebar {
  padding: 40px 32px 80px;
  border-right: 1px solid var(--stone);
  background: var(--warm-white);
  position: sticky;
  top: 72px;
  max-height: calc(100vh - 72px);
  overflow-y: auto;
}
.account-avatar {
  display: flex; align-items: center; gap: 14px;
  padding-bottom: 24px; margin-bottom: 24px;
  border-bottom: 1px solid var(--stone);
}
.account-avatar-img {
  width: 52px !important; height: 52px !important;
  border-radius: 50%; object-fit: cover;
  border: 2px solid var(--stone);
}
.account-avatar-name {
  font-family: var(--serif); font-size: 1rem;
  font-weight: 400; color: var(--text);
}
.account-avatar-since {
  font-family: var(--sans); font-size: 0.65rem;
  letter-spacing: 0.08em; color: var(--clay); margin-top: 2px;
}
.account-header-email {
  font-family: var(--sans); font-size: 0.75rem;
  color: var(--mid); margin-top: 6px;
}
/* Reset properties set by the older .injoyliving-account-wrap block */
.account-nav { display: flex; flex-direction: column; gap: 2px; border-right: none; padding: 0; margin: 0; }
.account-nav-item {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 12px;
  font-family: var(--sans); font-size: 0.72rem;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--mid); text-decoration: none;
  transition: all 0.2s; border-radius: 2px;
  position: relative;
  border-left: none; /* reset old 2px transparent bleed */
}
.account-nav-item svg:first-child {
  width: 16px; height: 16px;
  stroke: currentColor; fill: none; flex-shrink: 0;
}
.account-nav-item span { flex: 1; }
.nav-arrow { width: 14px !important; height: 14px !important; flex-shrink: 0; opacity: 0; transition: opacity 0.2s, transform 0.2s; }
.account-nav-item:hover .nav-arrow { opacity: 1; transform: translateX(3px); }
.account-nav-item:hover { color: var(--text); background: var(--cream); }
.account-nav-item.active { color: var(--text); background: var(--cream); border-left: 2px solid var(--clay); }
.account-nav-item.active .nav-arrow { opacity: 1; }
.account-nav-logout { color: var(--mid); margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--stone); }
.account-nav-logout:hover { color: var(--terracotta); }
.ijl-account-content {
  padding: 40px 80px 80px 48px;
  background: var(--warm-white);
}
.ijl-account-content h2 {
  font-family: var(--serif); font-size: 1.6rem; font-weight: 400; margin-bottom: 24px;
}
/* WooCommerce account notices */
.ijl-account-content .woocommerce-Message,
.ijl-account-content .woocommerce-info {
  font-size: 0.85rem; padding: 16px 20px;
  border-left: 2px solid var(--clay); background: var(--cream); margin-bottom: 24px;
}

@media (max-width: 1024px) {
  .ijl-account-layout { grid-template-columns: 1fr; }
  .ijl-account-sidebar { position: static; max-height: none; border-right: none; border-bottom: 1px solid var(--stone); padding: 32px; }
  .account-nav { flex-direction: row; flex-wrap: wrap; gap: 4px; }
  .account-nav-item { padding: 8px 14px; }
  .nav-arrow { display: none; }
  .ijl-account-content { padding: 32px; }
}
@media (max-width: 640px) {
  .ijl-account-sidebar { padding: 24px 20px; }
  .ijl-account-content { padding: 24px 20px; }
  .account-nav-item { font-size: 0.65rem; }
}



/* ═══════════════════════════════════════════════════════════
   MOBILE & TABLET — COMPREHENSIVE v4 OVERRIDES
   Fixes: spacing, sliders, navigation, layout, UX polish
   Written: 2026-04 — appended last so they win specificity
═══════════════════════════════════════════════════════════ */

/* ────────────────────────────────────────────
   NAV — Hamburger animation fix (uses .open class)
   JS sets .open on toggle + .mobile-open on nav-links
──────────────────────────────────────────── */
.nav-mobile-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px 6px;
  z-index: 120;
  position: relative;
}
.nav-mobile-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--text);
  transition: transform 0.3s ease, opacity 0.25s ease;
  transform-origin: center;
}
/* Open state */
.nav-mobile-toggle.open span:nth-child(1) { transform: rotate(45deg) translate(4.7px, 4.7px); }
.nav-mobile-toggle.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-mobile-toggle.open span:nth-child(3) { transform: rotate(-45deg) translate(4.7px, -4.7px); }

/* Cart icon in nav — always show */
.nav-cart-icon { display: flex; align-items: center; }

@media (max-width: 768px) {
  /* ── NAV ── */
  nav {
    padding: 15px 20px !important;
    
    display: flex !important;
    align-items: center;
    position: fixed;
    top: 0; left: 0; right: 0;
    background: rgba(253,250,246,0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 100;
    box-sizing: border-box;
  }
  .nav-logo {
    flex: 1;
    font-size: 1.1rem !important;
  }
  .nav-icons {
    gap: 14px !important;
    align-items: center;
  }
  .nav-mobile-toggle { display: flex !important; }

  /* Fullscreen dropdown nav */
  .nav-links {
    display: none !important;
    position: fixed !important;
    top: 60px; left: 0; right: 0; bottom: 0;
    background: var(--warm-white);
    border-top: 1px solid var(--stone);
    padding: 24px 24px 48px;
    flex-direction: column !important;
    gap: 0 !important;
    z-index: 99;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    box-shadow: 0 8px 40px rgba(0,0,0,0.12);
  }
  .nav-links.mobile-open {
            height: max-content;
    display: flex !important;
    top: 64px !important;
  }
  .nav-links li { list-style: none; }
  .nav-links li a {
    display: block !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid var(--stone) !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.14em !important;
    color: var(--text) !important;
    text-transform: uppercase;
    font-family: var(--sans);
  }
  .nav-links li:last-child a { border-bottom: none !important; }
  .nav-links li a:hover { color: var(--terracotta) !important; }

  /* ── HERO ── */
  .hero {
    grid-template-columns: 1fr !important;
    padding-top: 60px !important;
    min-height: auto !important;
  }
  .hero-right { order: -1 !important; height: 65vw !important; min-height: 240px; }
  .hero-left  { order: 1 !important; padding: 36px 0px 0px !important; }
  .hero-eyebrow { margin-bottom: 16px; }
  .hero-title { font-size: clamp(1.9rem, 7.5vw, 2.8rem) !important; margin-bottom: 14px !important; line-height: 1.1 !important; }
  .hero-sub   { font-size: 0.85rem !important; margin-bottom: 28px !important; max-width: 100% !important; }
  
  .hero-badge { bottom: 16px; left: 12px !important; padding: 12px 16px !important; }
  .hero-badge-label { font-size: 0.56rem; }
  .hero-badge-value { font-size: 1rem; }

  /* ── MARQUEE ── */
  .marquee-wrap { padding: 10px 0; }
  .marquee-item { font-size: 0.75rem; gap: 16px; padding: 0 24px; }

  /* ── TRUST BAR ── */
  .trust-bar { padding: 28px 20px !important; }
  .trust-bar-inner { flex-wrap: wrap !important; gap: 16px !important; justify-content: center; }
  .trust-item { flex: 0 1 calc(50% - 10px) !important; min-width: 130px; gap: 10px; }
  .trust-icon-wrap { width: 50px; height: 50px; }
  .trust-emoji { font-size: 1.4rem; }
  .trust-label { font-size: 0.65rem; }

  /* ── CRAFTED BANNER ── */
  .crafted-banner { grid-template-columns: 1fr !important; }
  .crafted-banner-img { height: auto;  }
  .crafted-banner-content { padding: 40px 20px 40px !important; }
  .crafted-banner-content h2 { font-size: 1.6rem !important; margin-bottom: 16px; }
  .crafted-banner-content p  { font-size: 0.82rem; }

  /* ── CATEGORIES ── */
  .categories { padding: 48px 20px !important; }
  .section-header { margin-bottom: 32px !important; }
  .section-header h2 { font-size: clamp(1.7rem, 6.5vw, 2.4rem) !important; margin-bottom: 10px; }
  .section-header p  { font-size: 0.8rem; }

  /* Category SLIDER on mobile */
  .cat-grid.cat-slider-active {
    display: flex !important;
    flex-wrap: nowrap !important;
    transition: transform 0.4s ease !important;
    width: 400% !important; /* 4 cards × 100% */
    gap: 0 !important;
  }
  .cat-grid.cat-slider-active .cat-card {
    flex: 0 0 25% !important; /* each card = 1/4 of 400% = 100vw */
    aspect-ratio: 3/4 !important;
    max-width: 100vw;
    min-width: 0;
  }
  /* Non-slider fallback — 2 col */
  .cat-grid:not(.cat-slider-active) { grid-template-columns: repeat(2, 1fr) !important; gap: 3px !important; }
  .cat-card { aspect-ratio: 2/3 !important; }
  .cat-name { font-size: 1.1rem !important; }
  .cat-sub  { font-size: 0.58rem !important; }
  .cat-info { padding: 16px 12px !important; }

  /* Dots */
  .cat-slider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
  }
  .cat-slider-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--stone);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background 0.2s, transform 0.2s;
  }
  .cat-slider-dot.active { background: var(--terracotta); transform: scale(1.35); }

  /* ── STORY ── */
  .story { grid-template-columns: 1fr !important; }
  .story-img-side { height: 55vw; min-height: 220px; }
  .story-content  { padding: 40px 20px 0px !important; }
  .story-content h2 { font-size: clamp(1.7rem, 6vw, 2.6rem) !important; margin-bottom: 20px; }
  .story-content p { font-size: 0.84rem; margin-bottom: 14px; max-width: 100% !important; }
  .story-img-caption { bottom: 12px; right: 12px; font-size: 0.72rem; padding: 8px 12px; }

  /* ── FEATURED PRODUCTS ── */
  .products { padding: 48px 0px !important; }
  .products .products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
    margin-top: 36px !important;
  }
  .product-name, .product-name a  { font-size: 0.88rem !important; }
  .product-price { font-size: 0.88rem !important; }
  .product-origin { font-size: 0.6rem; }
  .products .product-img { margin-bottom: 12px; }

  /* ── GALLERY STRIP ── */
  .gallery-strip { height: 140px; }
  .gallery-strip-item img { filter: sepia(0%); }

  /* ── PILLARS ── */
  .pillars { padding: 48px 20px !important; }
  .pillar-slide { grid-template-columns: 1fr !important; }
  .pillar-slide-img { height: 52vw; min-height: 200px; }
  .pillar-slide-content { padding: 32px 20px !important; border-left: 1px solid var(--stone) !important; border-top: none !important; }
  .pillar-slide-content h3 { font-size: 1.4rem; }
  .pillar-slide-content p  { font-size: 0.82rem; }
  .pillars-slider-nav { margin-top: 24px; }

  /* ── WHY CHOOSE US ── */
  .why-choose-us { padding: 48px 20px !important; }
  .why-choose-us .wcu-header { margin-bottom: 28px; }
  .why-choose-us .wcu-header h2 { font-size: clamp(1.7rem, 6.5vw, 2.4rem) !important; }
  .wcu-reason { padding: 28px 0 !important; }
  .wcu-reason h3 { font-size: 1.2rem; }

  /* ── PROMISE ── */
  .promise { padding: 72px 20px !important; }
  .promise h2 { font-size: clamp(1.9rem, 7.5vw, 3rem) !important; margin-bottom: 24px; }
  .promise p  { font-size: 0.84rem; margin-bottom: 40px; }

  /* ── TESTIMONIALS SLIDER ── */
  .testimonials { padding: 48px 20px !important; }
  .testi-grid.testi-slider-active {
    display: flex !important;
    flex-wrap: nowrap !important;
    transition: transform 0.4s ease !important;
    width: 300% !important;
    overflow: visible !important;
    gap: 0 !important;
    margin-top: 32px !important;
  }
  .testi-grid.testi-slider-active .testi-card {
    flex: 0 0 33.333% !important;
    min-width: 0;
  }
  .testi-grid:not(.testi-slider-active) {
    grid-template-columns: 1fr !important;
    margin-top: 32px !important;
  }
  .testi-card   { padding: 28px 20px !important; }
  .testi-text   { font-size: 0.92rem; }
  .testi-stars  { font-size: 0.82rem; }
  
  /* Testi slider nav */
  .testi-slider-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
  }
  .testi-slider-dots {
    display: flex;
    gap: 8px;
  }
  .testi-slider-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--stone);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background 0.2s, transform 0.2s;
  }
  .testi-slider-dot.active { background: var(--terracotta); transform: scale(1.35); }
  .testi-prev, .testi-next {
    width: 36px; height: 36px;
    border: 1px solid var(--stone);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.2s, border-color 0.2s;
  }
  .testi-prev:hover, .testi-next:hover { background: var(--text); border-color: var(--text); }
  .testi-prev svg, .testi-next svg { width: 14px; height: 14px; stroke: var(--text); fill: none; }
  .testi-prev:hover svg, .testi-next:hover svg { stroke: #fff; }

  /* ── NEWSLETTER ── */
  .newsletter { padding: 48px 20px !important; grid-template-columns: 1fr !important; gap: 28px !important; }
  .newsletter h2 { font-size: clamp(1.5rem, 6vw, 2.1rem) !important; }
  .newsletter p  { font-size: 0.82rem; margin-top: 12px; }
  .newsletter-input-row { flex-direction: row; }

  /* ── FOOTER ── */
  footer { padding: 44px 20px 24px !important; }
  .footer-top { grid-template-columns: 1fr 1fr !important; gap: 28px; }
  .footer-brand-tagline { max-width: 100%; font-size: 0.8rem; }

  /* ── GENERAL SECTION OVERFLOW FIX ── */
  .testimonials,
  .categories {
    overflow: hidden;
  }
}

/* ── SMALL MOBILE 480px ── */
@media (max-width: 480px) {
  nav {  padding: 15px 16px !important; }
  
  .hero { padding-top: 85px !important; }
  .hero-right { height: 72vw !important; }
  .hero-left  { padding: 28px 0px 0px !important; }
  .hero-title { font-size: 1.85rem !important; }
  .hero-cta .btn-primary { padding: 12px 28px; font-size: 0.65rem; }
  .trust-item { flex: 0 1 calc(50% - 8px) !important; }
  .cat-grid.cat-slider-active { width: 400% !important; }
  .products .products-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .newsletter-input-row { flex-direction: column; }
  .newsletter-input-row button { width: 100%; padding: 13px; }
  .footer-top { grid-template-columns: 1fr !important; }
  .promise { padding: 56px 16px !important; }
  .wcu-reason { padding: 20px 0 !important; }
}

/* ── TABLET 769–1024px ── */
@media (min-width: 769px) and (max-width: 1024px) {
  nav { padding: 0 40px !important; height: 68px; }
  .nav-links { display: flex !important; }
  .nav-mobile-toggle { display: none !important; }

  .hero { grid-template-columns: 1fr 1fr !important; padding-top: 68px !important; min-height: 80vh !important; }
  .hero-right { order: 1 !important; height: auto !important; }
  .hero-left  { order: 0 !important; padding: 60px 48px !important; }
  .hero-title { font-size: clamp(2.4rem, 5vw, 3.6rem) !important; }

  .crafted-banner { grid-template-columns: 1fr 1fr !important; }
  .crafted-banner-content { padding: 56px 48px !important; }

  .story { grid-template-columns: 1fr 1fr !important; }
  .story-img-side { height: auto !important; }
  .story-content { padding: 60px 48px !important; }

  .categories { padding: 72px 40px !important; }
  .section-header { margin-bottom: 52px !important; }
  .cat-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 3px !important; }

  .products { padding: 72px 40px !important; }
  .products .products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; }

  .why-choose-us { padding: 72px 40px !important; }

  .wcu-reasons-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .wcu-reason:nth-child(n+4) { border-top: none; }
  .wcu-reason:nth-child(n+3) { border-top: 1px solid var(--stone); }
  .wcu-reason:not(:nth-child(3n+1)) { border-left: none !important; padding-left: 0 !important; }
  .wcu-reason:nth-child(even) { border-left: 1px solid var(--stone) !important; padding-left: 40px !important; }

  .testimonials { padding: 72px 40px !important; }
  .testi-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 2px !important; }

  .newsletter { padding: 72px 40px !important; grid-template-columns: 1fr 1fr !important; gap: 48px !important; }
  .promise { padding: 100px 40px !important; }

  .gallery-strip { height: 200px; }

  footer { padding: 56px 40px 32px !important; }
  .footer-top { grid-template-columns: 1fr 1fr !important; gap: 40px; }
}

/* ── DESKTOP nav ensure hamburger hidden ── */
@media (min-width: 769px) {
  .nav-mobile-toggle { display: none !important; }
}

.slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(0,0,0,0.05);
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Hover effect */
.slider-btn:hover {
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 6px 16px rgba(0,0,0,0.18);
}

/* Left / Right positioning */
.slider-btn.prev {
  left: 8px;
}

.slider-btn.next {
  right: 8px;
}


@media (max-width: 768px) {
  .gallery-arrow {
    opacity: 1 !important;
    width: 32px;
    height: 32px;
  }
  .gallery-arrow svg {
    width: 14px;
    height: 14px;
  }
}

/* ═══════════════════════════════════════════════════════════
   SUBMENU / DROPDOWN — "Shop" menu-item-has-children fix
   Appended last so it wins the cascade (see also main.js).
   Covers the WordPress-generated markup:
     <li class="menu-item-has-children"><a>Shop</a>
       <ul class="sub-menu">...</ul>
     </li>
═══════════════════════════════════════════════════════════ */

/* Base reset — the theme never styled .sub-menu at all, so it was
   rendering as a plain nested list, always visible, breaking the
   header layout on both desktop and mobile. */
.nav-links .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-links .sub-menu li { list-style: none; }

/* ── Desktop: hover / focus dropdown ── */
@media (min-width: 769px) {
  .nav-links li.menu-item-has-children {
    position: relative;
  }

  /* Small caret after "Shop" */
  .nav-links li.menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
  }
  .nav-links li.menu-item-has-children > a::after {
    content: '';
    width: 5px;
    height: 5px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    margin-top: -2px;
    opacity: 0.65;
    transition: transform 0.2s ease;
  }
  .nav-links li.menu-item-has-children:hover > a::after,
  .nav-links li.menu-item-has-children:focus-within > a::after {
    transform: rotate(-135deg);
    margin-top: 2px;
  }

  .nav-links .sub-menu {
    position: absolute;
    top: calc(100% + 18px);
    left: 0;
    min-width: 200px;
    background: var(--warm-white);
    border: 1px solid rgba(196, 168, 130, 0.2);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 150;
  }

  /* Invisible bridge so the mouse doesn't lose hover between the
     link and the dropdown (there's an 18px gap above). */
  .nav-links .sub-menu::before {
    content: '';
    position: absolute;
    top: -18px;
    left: 0;
    right: 0;
    height: 18px;
  }

  .nav-links li.menu-item-has-children:hover > .sub-menu,
  .nav-links li.menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .nav-links .sub-menu li a {
    display: block;
    padding: 10px 22px;
    font-family: var(--sans);
    font-size: 0.68rem;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mid);
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s, background 0.2s;
  }
  .nav-links .sub-menu li a:hover {
    color: var(--text);
    background: var(--cream);
  }
}

/* ── Mobile: accordion (tap to expand) ── */
@media (max-width: 768px) {
  .nav-links li.menu-item-has-children {
    position: relative;
  }
  .nav-links li.menu-item-has-children > a {
    padding-right: 44px !important;
  }

  /* Toggle chevron button injected by main.js */
  .nav-links .submenu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  .nav-links .submenu-toggle span {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid var(--text);
    border-bottom: 1.5px solid var(--text);
    transform: rotate(45deg);
    transition: transform 0.25s ease;
  }
  .nav-links li.submenu-open > .submenu-toggle span {
    transform: rotate(-135deg);
  }

  .nav-links .sub-menu {
    display: none;
    padding: 0 0 8px 16px !important;
  }
  .nav-links li.submenu-open > .sub-menu {
    display: block;
  }
  .nav-links .sub-menu li a {
    display: block !important;
    padding: 12px 0 !important;
    border-bottom: none !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.1em !important;
    color: var(--mid) !important;
    text-transform: uppercase;
    font-family: var(--sans);
  }
  .nav-links .sub-menu li:last-child a {
    padding-bottom: 4px !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   MOBILE MENU v2 — LEFT-SIDE SLIDE-IN DRAWER
   Overrides the old "fullscreen dropdown" rules above (same
   selectors, appended last so it wins the cascade). The old
   panel only sized itself to its content (height: max-content),
   so page content underneath (marquee, trust badges, a floating
   currency-switcher widget, etc.) showed through below/behind
   it. This makes it a proper full-height off-canvas drawer that
   slides in from the left, with a dimmed overlay behind it.
═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  .nav-links {
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(82vw, 320px) !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 104px 28px 40px !important;
    background: var(--warm-white) !important;
    border-top: none !important;
    box-shadow: 16px 0 48px rgba(20, 16, 13, 0.18) !important;
    flex-direction: column !important;
    gap: 0 !important;
    overflow-y: auto !important;
    z-index: 999999 !important;
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(.4,0,.2,1);
    visibility: hidden;
  }

  .nav-links.mobile-open {
    display: flex !important;
    top: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    transform: translateX(0) !important;
    visibility: visible !important;
  }

  /* Keep the hamburger/close icon clickable above the drawer + overlay */
  .nav-mobile-toggle { z-index: 1000000 !important; }

  /* Dimmed backdrop behind the drawer — injected by main.js,
     also covers/hides any floating widgets (e.g. a currency
     switcher) that render with their own fixed positioning. */
  .nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(20, 16, 13, 0.45);
    z-index: 999998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s;
  }
  .nav-overlay.active {
    opacity: 1;
    visibility: visible;
  }

  /* Slightly more breathing room + a divider under the logo area
     of the drawer to feel like a deliberate panel, not a dropdown */
  .nav-links li:first-child a { padding-top: 0 !important; }
  .nav-links li a {
    font-size: 0.88rem !important;
    letter-spacing: 0.12em !important;
  }
}
