/* ============================================
   BYTHEWAY WINE CULT - Main Stylesheet
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif&display=swap');

/* CSS Custom Properties */
:root {
  /* Colors */
  --bg-white: #fafafa;
  --bg-cream: #f0ede6;
  --text-black: #0a0a0a;
  --accent-red: #e04b2c;
  --accent-olive: #b5ad82;
  --accent-brown: #9e8356;
  --gray-light: #e5e5e5;
  --gray-medium: #666666;
  --gray-dark: #333333;

  /* Bottle Colors */
  --bottle-white: #1a3a2a;
  --bottle-red: #4a1a2a;
  --bottle-rose: #5a3040;
  --bottle-orange: #5a4020;

  /* Typography */
  --font-heading: 'Oswald', 'Helvetica Neue', 'Arial Black', Arial, sans-serif;
  --font-header: 'Oswald', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'Helvetica Neue', Helvetica, Arial, sans-serif;

  /* Extended palette */
  --accent-orange: #D4762A;

  /* Spacing */
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 48px;
  --space-xl: 80px;
  --space-xxl: 120px;

  /* Layout */
  --container-max: 1280px;
  --header-height: 80px;
  --announcement-height: 40px;

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-medium: 0.4s ease;
  --transition-slow: 0.6s ease;
}

/* Reset & Base */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-black);
  background-color: var(--bg-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 3px;
  line-height: 1.2;
}

h1 { font-size: clamp(40px, 6vw, 80px); }
h2 { font-size: clamp(32px, 4.5vw, 64px); letter-spacing: 2px; }
h3 { font-size: 16px; letter-spacing: 2px; }
h4 { font-size: 14px; letter-spacing: 2px; }

.italic { font-style: italic; }
.accent { color: var(--accent-red); }

/* Container */
.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

/* ============================================
   SCROLL ANIMATIONS
   ============================================ */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================
   ANNOUNCEMENT BAR
   ============================================ */
.announcement-bar {
  background-color: var(--accent-orange);
  color: #fff;
  text-align: center;
  padding: var(--space-xs) var(--space-sm);
  font-size: 12px;
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  height: var(--announcement-height);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.announcement-slide {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
}

.announcement-slide.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ============================================
   HEADER
   ============================================ */
.header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--bg-white);
  border-bottom: 1px solid var(--gray-light);
  height: var(--header-height);
  transition: box-shadow var(--transition-fast);
}

.header.scrolled {
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

/* Home-page only: logo hidden until scroll */
.logo.logo-home {
  opacity: 0;
  pointer-events: none;
}
.header.scrolled .logo.logo-home {
  opacity: 1;
  pointer-events: auto;
}

.logo {
  font-family: var(--font-header);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.3s ease;
}



.logo img {
  height: 44px;
  width: auto;
  display: block;
  transition: opacity var(--transition-fast);
}

.logo a:hover img {
  opacity: 0.7;
}

.logo a {
  transition: opacity var(--transition-fast);
}

.logo a:hover {
  opacity: 0.7;
}

/* ============================================
   HAMBURGER / MOBILE NAV
   ============================================ */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

.hamburger span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--text-black);
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center;
}

.hamburger.open span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}

.hamburger.open span:nth-child(2) {
  opacity: 0;
}

.hamburger.open span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

.mobile-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--bg-white);
  z-index: 999;
  flex-direction: column;
  align-items: stretch;
  padding: calc(var(--announcement-height) + var(--header-height) + var(--space-md)) var(--space-lg) var(--space-lg);
  overflow-y: auto;
}

.mobile-nav-overlay.open {
  display: flex;
}

.mobile-nav-links {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.mobile-nav-overlay a {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(40px, 11vw, 72px);
  letter-spacing: -2px;
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--text-black);
  position: relative;
  transition: opacity 0.2s ease;
  text-align: left;
}

.mobile-nav-overlay a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--accent-red);
  transition: width 0.3s ease;
}

.mobile-nav-overlay a:hover::after,
.mobile-nav-overlay a.active::after {
  width: 100%;
}

.mobile-nav-close {
  display: none;
}

.mobile-nav-bottom {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid var(--gray-light);
  margin-top: var(--space-lg);
  flex-shrink: 0;
}

.mobile-nav-bottom .lang-selector {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 2px;
  background: none;
  border: 1px solid var(--gray-light);
  padding: 6px 10px;
  cursor: pointer;
}

.mobile-nav-bottom .icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
}

.mobile-nav-bottom .icon-btn svg {
  width: 22px;
  height: 22px;
}

.mobile-nav-social {
  display: none;
}

/* Navigation - Red underline slide from left */
.nav-main {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

.nav-main {
  justify-self: center;
}

.header-actions {
  justify-self: end;
}

.nav-main > a,
.nav-dropdown-toggle {
  font-family: var(--font-header);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  position: relative;
  padding: 4px 0;
}

.nav-main > a::after,
.nav-dropdown-toggle::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--accent-red);
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-main > a:hover::after,
.nav-main > a.active::after,
.nav-dropdown:hover .nav-dropdown-toggle::after {
  width: 100%;
}

/* Dropdown */
.nav-dropdown {
  position: relative;
}

.nav-dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-dropdown-toggle svg {
  width: 10px;
  height: 10px;
  transition: transform var(--transition-fast);
}

.nav-dropdown:hover .nav-dropdown-toggle svg {
  transform: rotate(180deg);
}

.nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: var(--bg-white);
  border: 1px solid var(--gray-light);
  padding: var(--space-sm);
  min-width: 180px;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-fast), visibility var(--transition-fast), transform var(--transition-fast);
  margin-top: var(--space-xs);
}

.nav-dropdown:hover .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.nav-dropdown-menu a {
  display: block;
  padding: var(--space-xs) 0;
  font-size: 11px;
  transition: color var(--transition-fast);
}

.nav-dropdown-menu a:hover {
  color: var(--accent-red);
}

/* Header Actions */
.header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.lang-selector {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1px;
  padding: 6px 12px;
  border: 2px solid var(--text-black);
  background: transparent;
  transition: all var(--transition-fast);
}

.lang-selector:hover {
  background: var(--text-black);
  color: var(--bg-white);
}

.icon-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity var(--transition-fast);
}

.icon-btn:hover {
  opacity: 0.6;
}

.icon-btn svg {
  width: 20px;
  height: 20px;
}

/* ============================================
   HERO SECTION - Ken Burns Effect
   ============================================ */
@keyframes kenBurns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

.hero {
  position: relative;
  height: 70vh;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  inset: -10%;
  width: 120%;
  height: 120%;
  background-size: cover;
  background-position: center;
  filter: grayscale(100%);
  transition: filter var(--transition-slow);
  animation: kenBurns 20s ease-in-out infinite alternate;
}

.hero:hover .hero-bg {
  filter: grayscale(0%);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.6);
}

.hero-content {
  position: relative;
  z-index: 1;
  color: var(--bg-white);
  max-width: 700px;
  padding: var(--space-lg);
}

.hero-title {
  font-size: 14px;
  letter-spacing: 6px;
  margin-bottom: var(--space-md);
}

.hero-tagline {
  font-size: 22px;
  font-style: italic;
  font-weight: 400;
  margin-bottom: var(--space-sm);
  letter-spacing: 0;
}

.hero-description {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: var(--space-lg);
  opacity: 0.9;
}

/* ============================================
   HERO SPLIT - 3 Column Layout
   ============================================ */
.hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  min-height: 88vh;
  border-bottom: 1px solid var(--text-black);
}

.hero-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 56px 44px;
  border-right: 1px solid var(--text-black);
}

.hero-col:last-child {
  border-right: none;
}

.hero-col-center {
  padding: 0;
  position: relative;
  overflow: hidden;
  border-left: 1px solid var(--text-black);
  border-right: 1px solid var(--text-black);
}

.hero-word {
  font-family: var(--font-heading);
  font-size: clamp(72px, 9vw, 148px);
  font-weight: 900;
  line-height: 0.85;
  letter-spacing: -3px;
  text-transform: uppercase;
}

.hero-split-sub {
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.5px;
  color: var(--gray-medium);
  max-width: 220px;
}

.hero-split-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-sm);
}

/* Bottle slider in center column */
.hero-bottle-slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-bottle-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 16px 8px;
  opacity: 0;
  transition: opacity 0.9s ease;
}

.hero-bottle-slide.active {
  opacity: 1;
}

/* Right col — full-bleed image slider */
.hero-col-right {
  position: relative;
  overflow: hidden;
}

.hero-col-left {
  background: var(--bg-white);
}

.hero-col-logo {
  width: 100%;
  height: auto;
  display: block;
}

.hero-logo-large {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: var(--space-xl);
}

.hero-mobile-heading {
  display: none;
}

.hero-mobile-heading span {
  font-family: var(--font-heading);
  font-size: clamp(72px, 22vw, 120px);
  font-weight: 600;
  letter-spacing: -3px;
  line-height: 0.85;
  text-transform: uppercase;
  color: var(--text-black);
  display: block;
}

.hero-left-heading {
  display: flex;
  flex-direction: column;
  line-height: 0.88;
  margin-bottom: var(--space-lg);
}

.hero-left-heading span {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(56px, 7vw, 120px);
  letter-spacing: -1px;
  text-transform: uppercase;
  line-height: 0.88;
  color: var(--text-black);
}

.hero-left-words {
  display: flex;
  flex-direction: column;
  line-height: 0.95;
}

.hero-left-words span {
  font-family: 'Instrument Serif', serif;
  font-weight: 400;
  font-size: clamp(28px, 3vw, 52px);
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.15;
  color: var(--text-black);
}

.hero-col-right .hero-col-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
}

.hero-right-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-right-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 1.2s ease;
}

.hero-right-slide.active {
  opacity: 1;
}

.hero-col-right::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.45);
  z-index: 1;
  pointer-events: none;
}

.hero-col-right .hero-word {
  color: var(--bg-white);
  mix-blend-mode: normal;
}

.hero-col-right .hero-split-sub {
  color: rgba(255,255,255,0.8);
}

.hero-col-right .btn-dark {
  background: var(--bg-white);
  color: var(--text-black);
}

.hero-col-right .btn-dark::before {
  background: var(--accent-orange);
}

.hero-slide-dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 2;
}

.hero-slide-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(10,10,10,0.2);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background 0.3s;
}

.hero-slide-dot.active {
  background: var(--text-black);
}

/* ============================================
   BUTTONS - Fill Animation
   ============================================ */
.btn {
  display: inline-block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 16px 32px;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: color 0.3s ease;
}

.btn::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: var(--text-black);
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1;
}

.btn-primary {
  background-color: var(--bg-white);
  color: var(--text-black);
}

.btn-primary::before {
  background-color: var(--text-black);
}

.btn-primary:hover {
  color: var(--bg-white);
}

.btn-primary:hover::before {
  height: 100%;
}

.btn-dark {
  background-color: var(--text-black);
  color: var(--bg-white);
}

.btn-dark::before {
  background-color: var(--accent-red);
}

.btn-dark:hover::before {
  height: 100%;
}

.btn-outline {
  border: 2px solid var(--text-black);
  background: transparent;
  color: var(--text-black);
}

.btn-outline::before {
  background-color: var(--accent-red);
}

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

.btn-outline:hover::before {
  height: 100%;
}

.btn-outline-light {
  border: 2px solid var(--bg-white);
  background: transparent;
  color: var(--bg-white);
}

.btn-outline-light::before {
  background-color: var(--bg-white);
}

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

.btn-outline-light:hover::before {
  height: 100%;
}

/* ============================================
   SECTIONS
   ============================================ */
.section {
  padding: var(--space-xl) 0;
}

.section-cream {
  background-color: var(--bg-cream);
}

.section-dark {
  background-color: var(--text-black);
  color: var(--bg-white);
}

.section-header {
  margin-bottom: var(--space-lg);
}

.section-title {
  font-size: clamp(48px, 7vw, 112px);
  letter-spacing: -1px;
  line-height: 0.92;
  margin-bottom: var(--space-sm);
}

.section-subtitle {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
  font-size: 18px;
  color: var(--gray-medium);
  letter-spacing: 0;
  text-transform: none;
}

/* ============================================
   CSS BOTTLE PLACEHOLDER
   ============================================ */
.bottle-placeholder {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, var(--bg-cream) 0%, #e8e4dc 100%);
}

.bottle-shape {
  position: relative;
  width: 60px;
  height: 200px;
}

/* Bottle neck */
.bottle-shape::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 50px;
  background: inherit;
  border-radius: 2px 2px 0 0;
}

/* Bottle body */
.bottle-shape::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 150px;
  background: inherit;
  border-radius: 4px 4px 2px 2px;
  box-shadow:
    inset -8px 0 20px rgba(255, 255, 255, 0.1),
    inset 8px 0 20px rgba(0, 0, 0, 0.2),
    4px 8px 20px rgba(0, 0, 0, 0.3);
}

/* Label area */
.bottle-label {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 50px;
  background: var(--bg-cream);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bottle-label span {
  font-family: var(--font-heading);
  font-size: 8px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-black);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
}

/* Bottle color variations */
.bottle-white .bottle-shape,
.bottle-white .bottle-shape::before,
.bottle-white .bottle-shape::after {
  background-color: var(--bottle-white);
}

.bottle-red .bottle-shape,
.bottle-red .bottle-shape::before,
.bottle-red .bottle-shape::after {
  background-color: var(--bottle-red);
}

.bottle-rose .bottle-shape,
.bottle-rose .bottle-shape::before,
.bottle-rose .bottle-shape::after {
  background-color: var(--bottle-rose);
}

.bottle-orange .bottle-shape,
.bottle-orange .bottle-shape::before,
.bottle-orange .bottle-shape::after {
  background-color: var(--bottle-orange);
}

/* ============================================
   PRODUCT GRID - Enhanced hover effects
   ============================================ */
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  position: relative;
  overflow: hidden;
  transition: transform var(--transition-medium);
}

.product-card:hover {
  transform: translateY(-4px);
}

.product-image {
  position: relative;
  aspect-ratio: 3/4;
  background-color: var(--bg-white);
  overflow: hidden;
  margin-bottom: var(--space-sm);
}

.product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 20px 16px;
  filter: grayscale(20%);
  transition: all var(--transition-medium);
}

.product-card:hover .product-image img {
  filter: grayscale(0%);
  transform: scale(1.04);
}

/* Quick add bar - slides up from bottom */
.product-quick-add {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--text-black);
  color: var(--bg-white);
  padding: var(--space-sm);
  text-align: center;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.product-quick-add:hover {
  background: var(--accent-red);
}

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

.product-overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.product-card:hover .product-overlay {
  opacity: 1;
}

.product-overlay .btn {
  transform: translateY(20px);
  transition: transform 0.3s ease, color 0.3s ease;
}

.product-card:hover .product-overlay .btn {
  transform: translateY(0);
}

.product-badge {
  position: absolute;
  top: var(--space-sm);
  left: var(--space-sm);
  background-color: var(--accent-red);
  color: var(--bg-white);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1px;
  padding: 4px 8px;
  text-transform: uppercase;
  z-index: 2;
}

.product-info {
  text-align: center;
}

.product-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.product-producer {
  font-size: 13px;
  color: var(--gray-medium);
  margin-bottom: 4px;
}

.product-price {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 14px;
}

/* ============================================
   LOOKBOOK / WOOCOMMERCE PRODUCT GRID
   ============================================ */
ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
  list-style: none;
}

ul.products.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

ul.products.columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

ul.products.columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

ul.products li.product {
  position: relative;
  overflow: hidden;
  background: var(--bg-white);
}

ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
  color: inherit;
}

.product-img-wrap {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  background: var(--bg-white);
}

.product-img-wrap .wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 12px 8px;
  transition: transform 0.4s ease;
}

ul.products li.product:hover .wp-post-image {
  transform: scale(1.04);
}

.product-actions-hover {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

ul.products li.product:hover .product-actions-hover {
  transform: translateY(0);
}

.add_to_cart_button.button {
  display: block;
  width: 100%;
  background: var(--text-black);
  color: #fff;
  padding: 14px;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: center;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
}

.add_to_cart_button.button:hover {
  background: var(--accent-red);
}

.product-caption {
  padding: 12px 0 0;
}

.woocommerce-loop-product__title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 4px;
  line-height: 1.4;
}

.product-meta-line {
  font-size: 11px;
  color: var(--gray-medium);
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

.price .woocommerce-Price-amount {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 1px;
  color: var(--text-black);
}

/* ============================================
   WINEMAKERS HORIZONTAL SCROLL SECTION
   ============================================ */
.winemakers-scroll-section {
  padding: var(--space-xxl) 0 0;
  overflow: hidden;
}

.winemakers-scroll-header {
  padding: 0 var(--space-lg);
  max-width: var(--container-max);
  margin: 0 auto var(--space-lg);
}

.winemakers-scroll-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 0 var(--space-lg) var(--space-xl);
  padding-left: max(var(--space-lg), calc((100vw - var(--container-max)) / 2 + var(--space-lg)));
  scroll-padding-left: max(var(--space-lg), calc((100vw - var(--container-max)) / 2 + var(--space-lg)));
  gap: var(--space-sm);
  cursor: grab;
}

.winemakers-scroll-track::-webkit-scrollbar {
  display: none;
}

.winemakers-scroll-track:active {
  cursor: grabbing;
}

.winemakers-scroll-card {
  flex: 0 0 calc(38vw);
  scroll-snap-align: start;
  max-width: 520px;
}

.winemakers-scroll-card .winemaker-image {
  aspect-ratio: 3/4;
  margin-bottom: var(--space-sm);
}

.winemakers-scroll-card .winemaker-name {
  font-size: 13px;
  letter-spacing: 2px;
  margin-bottom: 4px;
  text-align: left;
}

.winemakers-scroll-card .winemaker-region {
  text-align: left;
  margin-bottom: 0;
}

/* Legacy carousel (kept for other pages) */
.winemakers-carousel {
  position: relative;
  overflow: hidden;
}

.carousel-container {
  display: flex;
  gap: var(--space-lg);
  justify-content: center;
  align-items: center;
}

.carousel-nav {
  display: flex;
  justify-content: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
}

.carousel-btn {
  width: 40px;
  height: 40px;
  border: 2px solid var(--text-black);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
}

.carousel-btn:hover {
  background: var(--text-black);
  color: var(--bg-white);
}

.carousel-btn svg {
  width: 16px;
  height: 16px;
  transition: stroke var(--transition-fast);
}

.carousel-btn:hover svg {
  stroke: var(--bg-white);
}

.winemaker-card {
  text-align: center;
  max-width: 600px;
}

.winemaker-image {
  aspect-ratio: 4/3;
  background-color: var(--bg-cream);
  margin-bottom: var(--space-md);
  overflow: hidden;
}

.winemaker-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) contrast(1.1);
  transition: filter var(--transition-medium);
}

.winemaker-card:hover .winemaker-image img,
.winemaker-card-full:hover .winemaker-image img {
  filter: grayscale(0%) contrast(1);
}

.winemaker-name {
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 4px;
}

.winemaker-region {
  font-size: 14px;
  color: var(--gray-medium);
  margin-bottom: var(--space-md);
}

/* ============================================
   MANIFESTO BANNER - With BTW Watermark
   ============================================ */
.manifesto-banner {
  padding: var(--space-xxl) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.manifesto-banner::before {
  content: 'BTW';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 40vw;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.03);
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}

.manifesto-text {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 48px;
  letter-spacing: 4px;
  text-transform: uppercase;
  line-height: 1.3;
  position: relative;
  z-index: 1;
}

.manifesto-text .italic {
  font-style: italic;
  color: var(--accent-red);
}

/* ============================================
   BLOG GRID
   ============================================ */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}

.blog-card {
  position: relative;
}

.blog-image {
  aspect-ratio: 4/3;
  background-color: var(--bg-cream);
  margin-bottom: var(--space-sm);
  overflow: hidden;
}

.blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: all var(--transition-medium);
}

.blog-card:hover .blog-image img {
  filter: grayscale(0%);
  transform: scale(1.02);
}

.blog-date {
  font-size: 13px;
  color: var(--gray-medium);
  margin-bottom: var(--space-xs);
}

.blog-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 1.4;
}

.blog-title a {
  transition: color var(--transition-fast);
}

.blog-title a:hover {
  color: var(--accent-red);
}

.blog-tag {
  display: block;
  font-family: var(--font-heading);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--accent-orange);
  margin-bottom: 6px;
}

.blog-meta {
  font-size: 13px;
  color: var(--gray-medium);
  margin-top: var(--space-xs);
}

.blog-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.blog-pagination {
  display: flex;
  justify-content: center;
  gap: var(--space-sm);
  margin-top: var(--space-xl);
}

.blog-pagination a,
.blog-pagination span {
  font-family: var(--font-heading);
  font-size: 14px;
  padding: 10px 16px;
  border: 2px solid var(--gray-light);
  text-decoration: none;
  color: var(--text-black);
  transition: all 0.2s ease;
}

.blog-pagination a:hover {
  border-color: var(--text-black);
}

.blog-pagination .current {
  background: var(--text-black);
  border-color: var(--text-black);
  color: var(--bg-white);
}

.no-posts {
  text-align: center;
  font-size: 16px;
  color: var(--gray-medium);
  padding: var(--space-xl) 0;
}

/* ============================================
   CULT MEMBERS - Portrait grid
   ============================================ */
.cult-grid {
  display: grid;
  grid-template-columns: repeat(14, 1fr);
  gap: 2px;
}

.cult-card {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
}

.cult-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) contrast(1.1);
  transition: filter var(--transition-slow);
}

.cult-card:hover img {
  filter: grayscale(0%) contrast(1);
}

.cult-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--space-sm);
  background: linear-gradient(transparent, rgba(10,10,10,0.7));
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cult-card:hover .cult-caption {
  opacity: 1;
}

.cult-quote {
  color: var(--bg-white);
  font-style: italic;
  font-size: 12px;
  line-height: 1.5;
}

/* Cult Subscribe Strip */
.cult-subscribe {
  background: var(--text-black);
  color: var(--bg-white);
  padding: var(--space-xl) var(--space-lg);
}

.cult-subscribe-inner {
  max-width: var(--container-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
  align-items: center;
}

.cult-subscribe-title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(32px, 4vw, 64px);
  letter-spacing: -1px;
  line-height: 0.95;
  text-transform: uppercase;
  margin-bottom: var(--space-sm);
}

.cult-subscribe-sub {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-size: 16px;
  line-height: 1.7;
  opacity: 0.55;
}

.cult-subscribe-form {
  display: flex;
  gap: 0;
}

.cult-subscribe-input {
  flex: 1;
  padding: 16px 20px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  border-right: none;
  color: var(--bg-white);
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 2px;
  outline: none;
  transition: border-color 0.2s ease;
}

.cult-subscribe-input::placeholder {
  color: rgba(255,255,255,0.25);
  letter-spacing: 2px;
}

.cult-subscribe-input:focus {
  border-color: rgba(255,255,255,0.4);
  background: rgba(255,255,255,0.09);
}

.cult-subscribe .btn-dark {
  background: var(--bg-white);
  color: var(--text-black);
  white-space: nowrap;
  flex-shrink: 0;
}

.cult-subscribe .btn-dark::before {
  background: var(--accent-orange);
}

/* ============================================
   FOOTER
   ============================================ */
.footer {
  background-color: var(--text-black);
  color: var(--bg-white);
  padding: var(--space-xl) 0 0;
}

.footer-main {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-lg) var(--space-xl);
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--space-xl);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.footer-logo-img {
  width: clamp(140px, 18vw, 240px);
  height: auto;
  filter: invert(1);
  display: block;
  margin-bottom: var(--space-md);
  opacity: 0.85;
}

.footer-tagline {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(15px, 1.6vw, 20px);
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.5;
  opacity: 0.6;
}

.footer-col-label {
  font-size: 9px;
  letter-spacing: 3px;
  text-transform: uppercase;
  opacity: 0.3;
  margin-bottom: var(--space-sm);
  font-family: var(--font-heading);
  font-weight: 600;
  display: block;
}

.footer-nav-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-nav-list a {
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: 0.55;
  transition: opacity var(--transition-fast);
}

.footer-nav-list a:hover {
  opacity: 1;
}

.footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-contact-list a {
  font-size: 11px;
  letter-spacing: 0.5px;
  opacity: 0.45;
  transition: opacity var(--transition-fast);
}

.footer-contact-list a:hover {
  opacity: 1;
}

.footer-payment {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: var(--space-md) var(--space-lg);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  justify-content: center;
}

.footer-payment img {
  width: 100%;
  max-width: 360px;
  height: auto;
  display: block;
}

@media (max-width: 600px) {
  .footer-payment img {
    max-width: 280px;
  }
}

.footer-bottom {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: var(--space-sm) var(--space-lg);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
}

.footer-legal {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
}

.footer-legal a {
  font-size: 9px;
  letter-spacing: 1.5px;
  opacity: 0.25;
  transition: opacity var(--transition-fast);
  text-transform: uppercase;
}

.footer-legal a:hover {
  opacity: 0.7;
}

.footer-credit {
  font-size: 9px;
  letter-spacing: 1.5px;
  opacity: 0.25;
  text-transform: uppercase;
}

.footer-credit a {
  opacity: 1;
  transition: opacity var(--transition-fast);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-credit a:hover {
  opacity: 0.7;
}

/* ============================================
   SHOP PAGE - FILTERS
   ============================================ */
.shop-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: var(--space-xl);
  align-items: start;
}

.shop-sidebar {
  padding-right: var(--space-lg);
  border-right: 1px solid var(--gray-light);
  position: sticky;
  top: calc(var(--header-height) + var(--announcement-height) + 24px);
  align-self: start;
}

.filter-group {
  margin-bottom: var(--space-lg);
}

.filter-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: var(--space-sm);
  padding: 0 0 var(--space-xs) 0;
  border: none;
  border-bottom: 2px solid var(--text-black);
  background: none;
  cursor: pointer;
  text-align: left;
}

.filter-chevron {
  width: 16px;
  height: 16px;
  transition: transform 0.2s ease;
}

.filter-title[aria-expanded="false"] .filter-chevron {
  transform: rotate(-90deg);
}

/* Filter Chips */
.filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  border: 2px solid var(--text-black);
  background: transparent;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.15s ease;
}

.filter-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.filter-chip:hover {
  border-color: var(--accent-red);
  color: var(--accent-red);
}

.filter-chip.active {
  background: var(--text-black);
  color: white;
}

.filter-chip.active:hover {
  background: var(--accent-red);
  border-color: var(--accent-red);
  color: white;
}

.chip-count {
  opacity: 0.6;
  font-weight: 400;
}

.filter-submit {
  width: 100%;
  margin-top: var(--space-md);
}

/* Clear filters link */
.clear-filters {
  display: block;
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: var(--space-md);
  color: var(--accent-red);
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.clear-filters:hover {
  opacity: 0.7;
}

/* Legacy filter-list and filter-item (keep for compatibility) */
.filter-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.filter-item {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: 14px;
  cursor: pointer;
  transition: color var(--transition-fast);
}

/* ============================================
   CART PAGE
   ============================================ */
.cart-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--space-xl);
  align-items: start;
}

.cart-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid var(--text-black);
}

.cart-table th {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: var(--space-sm) 0;
  text-align: left;
  border-bottom: 1px solid var(--gray-light);
}

.cart-table td {
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--gray-light);
  vertical-align: middle;
}

.cart-item-img {
  width: 80px;
  aspect-ratio: 2/3;
  background: var(--bg-cream);
  overflow: hidden;
}

.cart-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px 4px;
}

.cart-item-info {
  padding-left: var(--space-md);
}

.cart-item-name {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.cart-item-producer {
  font-size: 13px;
  color: var(--gray-medium);
}

.cart-remove {
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--gray-medium);
  text-decoration: underline;
  cursor: pointer;
  background: none;
  border: none;
  font-family: var(--font-body);
  transition: color 0.2s ease;
}

.cart-remove:hover {
  color: var(--accent-red);
}

.cart-totals {
  background: var(--bg-cream);
  padding: var(--space-lg);
  border-top: 2px solid var(--text-black);
}

.cart-totals-title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: var(--space-lg);
}

.cart-totals-row {
  display: flex;
  justify-content: space-between;
  padding: var(--space-xs) 0;
  font-size: 14px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  margin-bottom: var(--space-xs);
}

.cart-totals-row.total {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 1px;
  border-bottom: none;
  margin-top: var(--space-sm);
}

.cart-coupon {
  display: flex;
  gap: 0;
  margin-bottom: var(--space-lg);
}

.cart-coupon input {
  flex: 1;
  padding: 12px 16px;
  border: 2px solid var(--text-black);
  border-right: none;
  font-family: var(--font-body);
  font-size: 13px;
  outline: none;
}

.cart-coupon .btn {
  padding: 12px 20px;
}

/* ============================================
   CHECKOUT PAGE
   ============================================ */
.checkout-layout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: var(--space-xl);
  align-items: start;
}

.checkout-form-section {
  margin-bottom: var(--space-xl);
}

.checkout-section-title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-xs);
  border-bottom: 2px solid var(--text-black);
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-sm);
}

.form-grid.full {
  grid-template-columns: 1fr;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-group label {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.form-group input,
.form-group select,
.form-group textarea {
  padding: 12px 16px;
  border: 2px solid var(--gray-light);
  font-family: var(--font-body);
  font-size: 14px;
  background: var(--bg-white);
  transition: border-color 0.2s ease;
  outline: none;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--text-black);
}

.form-group textarea {
  resize: vertical;
  min-height: 80px;
}

.payment-method {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-md);
  border: 2px solid var(--gray-light);
  margin-bottom: var(--space-sm);
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.payment-method.selected {
  border-color: var(--text-black);
}

.payment-method input[type="radio"] {
  margin-top: 2px;
  flex-shrink: 0;
}

.payment-method-info strong {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 2px;
}

.payment-method-info small {
  font-size: 12px;
  color: var(--gray-medium);
}

.order-summary {
  background: var(--bg-cream);
  padding: var(--space-lg);
  border-top: 2px solid var(--text-black);
  position: sticky;
  top: calc(var(--header-height) + var(--announcement-height) + 24px);
}

.order-summary-title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: var(--space-md);
}

.order-summary-item {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
  padding: var(--space-sm) 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.order-summary-item-img {
  width: 56px;
  aspect-ratio: 2/3;
  background: var(--bg-white);
  overflow: hidden;
  flex-shrink: 0;
}

.order-summary-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}

.order-summary-item-details {
  flex: 1;
}

.order-summary-item-name {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.order-summary-item-meta {
  font-size: 12px;
  color: var(--gray-medium);
}

.order-summary-totals {
  margin-top: var(--space-md);
}

.order-summary-totals .cart-totals-row {
  font-size: 13px;
}

@media (max-width: 1024px) {
  .cart-layout,
  .checkout-layout {
    grid-template-columns: 1fr;
  }

  .order-summary {
    position: static;
  }
}

.filter-item:hover {
  color: var(--accent-red);
}

.filter-item input[type="checkbox"] {
  appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid var(--text-black);
  cursor: pointer;
  position: relative;
  transition: background-color var(--transition-fast);
}

.filter-item input[type="checkbox"]:checked {
  background-color: var(--text-black);
}

.filter-item input[type="checkbox"]:checked::after {
  content: '✓';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--bg-white);
  font-size: 10px;
}

.filter-range {
  display: flex;
  gap: var(--space-xs);
  align-items: center;
}

.filter-range input {
  width: 100%;
  padding: var(--space-xs);
  border: 2px solid var(--gray-light);
  font-family: var(--font-body);
  font-size: 14px;
  transition: border-color var(--transition-fast);
}

.filter-range input:focus {
  outline: none;
  border-color: var(--text-black);
}

.filter-range span {
  color: var(--gray-medium);
}

/* Shop Toolbar */
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--gray-light);
}

.product-count {
  font-size: 14px;
  color: var(--gray-medium);
}

.sort-select {
  font-family: var(--font-body);
  font-size: 14px;
  padding: var(--space-xs) var(--space-sm);
  border: 2px solid var(--text-black);
  background: transparent;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.sort-select:hover {
  background: var(--text-black);
  color: var(--bg-white);
}

.shop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}

/* Clear Filters */
.clear-filters {
  display: block;
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 1px;
  color: var(--accent-red);
  text-decoration: none;
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--gray-light);
  transition: color var(--transition-fast);
}

.clear-filters:hover {
  color: var(--text-black);
}

/* Filter Count */
.filter-count {
  font-size: 12px;
  color: var(--gray-medium);
  margin-left: 4px;
}

/* No Products Found */
.no-products-found {
  text-align: center;
  padding: var(--space-xl) var(--space-lg);
  background: var(--bg-cream);
}

.no-products-found p {
  font-size: 16px;
  color: var(--gray-medium);
  margin-bottom: var(--space-md);
}

/* WooCommerce Pagination */
.woocommerce-pagination {
  margin-top: var(--space-xl);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--gray-light);
}

.woocommerce-pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-xs);
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-pagination ul li {
  display: inline-block;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 var(--space-sm);
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--text-black);
  background: transparent;
  border: 2px solid var(--gray-light);
  text-decoration: none;
  transition: all var(--transition-fast);
}

.woocommerce-pagination ul li a:hover {
  border-color: var(--text-black);
  background: var(--text-black);
  color: var(--bg-white);
}

.woocommerce-pagination ul li span.current {
  background: var(--text-black);
  border-color: var(--text-black);
  color: var(--bg-white);
}

.woocommerce-pagination ul li .prev,
.woocommerce-pagination ul li .next {
  font-size: 18px;
}

/* ============================================
   PRODUCT DETAIL PAGE
   ============================================ */
.breadcrumb {
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--gray-light);
  margin-bottom: var(--space-lg);
}

.breadcrumb a {
  font-size: 13px;
  color: var(--gray-medium);
  transition: color var(--transition-fast);
}

.breadcrumb a:hover {
  color: var(--accent-red);
}

.breadcrumb span {
  font-size: 13px;
  color: var(--gray-medium);
  margin: 0 var(--space-xs);
}

.product-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
  margin-bottom: var(--space-xl);
}

.product-gallery {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.product-main-image {
  aspect-ratio: 3/4;
  background-color: var(--bg-cream);
  overflow: hidden;
}

.product-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-medium);
}

.product-main-image:hover img {
  transform: scale(1.02);
}

.product-thumbnails {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-xs);
}

.product-thumb {
  aspect-ratio: 1;
  background-color: var(--bg-cream);
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color var(--transition-fast);
  overflow: hidden;
}

.product-thumb.active,
.product-thumb:hover {
  border-color: var(--text-black);
}

.product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-details {
  padding-top: var(--space-md);
}

.product-producer-link {
  font-size: 14px;
  color: var(--gray-medium);
  margin-bottom: var(--space-xs);
}

.product-producer-link a {
  text-decoration: underline;
  transition: color var(--transition-fast);
}

.product-producer-link a:hover {
  color: var(--accent-red);
}

.product-title {
  font-size: 24px;
  letter-spacing: 3px;
  margin-bottom: var(--space-md);
}

.product-price-large {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 28px;
  margin-bottom: var(--space-xs);
}

.product-unit-price {
  font-size: 13px;
  color: var(--gray-medium);
  margin-bottom: var(--space-lg);
}

.product-specs {
  border-top: 2px solid var(--text-black);
  padding-top: var(--space-md);
  margin-bottom: var(--space-lg);
}

.spec-row {
  display: flex;
  justify-content: space-between;
  padding: var(--space-xs) 0;
  border-bottom: 1px solid var(--gray-light);
}

.spec-label {
  color: var(--gray-medium);
}

.spec-value {
  font-weight: 500;
}

.product-description {
  margin-bottom: var(--space-lg);
}

.product-description p {
  margin-bottom: var(--space-sm);
  line-height: 1.8;
}

.product-description h4 {
  margin-top: var(--space-md);
  margin-bottom: var(--space-xs);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--gray-light);
}

.product-actions {
  border-top: 2px solid var(--text-black);
  padding-top: var(--space-md);
}

.quantity-label {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 2px;
  margin-bottom: var(--space-sm);
  display: block;
}

.quantity-row {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}

.quantity-selector {
  display: flex;
  border: 2px solid var(--text-black);
  width: fit-content;
}

.qty-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: background var(--transition-fast);
}

.qty-btn:hover {
  background: var(--gray-light);
}

.qty-input {
  width: 50px;
  height: 40px;
  border: none;
  border-left: 2px solid var(--text-black);
  border-right: 2px solid var(--text-black);
  text-align: center;
  font-family: var(--font-body);
  font-size: 16px;
}

.qty-input:focus {
  outline: none;
}

.stock-status {
  font-size: 14px;
  color: var(--gray-medium);
}

.stock-status.in-stock {
  color: var(--accent-olive);
}

.action-buttons {
  display: flex;
  gap: var(--space-sm);
}

.action-buttons .btn-dark {
  flex: 1;
}

.action-btn {
  width: 52px;
  height: 52px;
  border: 2px solid var(--text-black);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
  position: relative;
  overflow: hidden;
}

.action-btn::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: var(--text-black);
  transition: height 0.3s ease;
  z-index: 0;
}

.action-btn:hover::before {
  height: 100%;
}

.action-btn svg {
  width: 18px;
  height: 18px;
  position: relative;
  z-index: 1;
  transition: stroke var(--transition-fast);
}

.action-btn:hover svg {
  stroke: var(--bg-white);
}

/* Related Products */
.related-section {
  border-top: 2px solid var(--text-black);
  padding-top: var(--space-xl);
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}

/* ============================================
   WINEMAKERS PAGE
   ============================================ */
.winemakers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}

.winemaker-card-full {
  text-align: center;
  transition: transform var(--transition-medium);
}

.winemaker-card-full:hover {
  transform: translateY(-4px);
}

.winemaker-card-full .winemaker-image {
  aspect-ratio: 9/16;
  overflow: hidden;
  margin-bottom: var(--space-sm);
}

/* ============================================
   STORY PAGE
   ============================================ */
.story-hero {
  padding: var(--space-xxl) 0;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.story-hero h1 {
  font-size: 32px;
  line-height: 1.4;
  margin-bottom: var(--space-lg);
}

.story-hero p {
  font-size: 18px;
  line-height: 1.9;
  color: var(--gray-dark);
}

/* Story — two images side by side */
.story-image-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  height: 62vh;
  min-height: 360px;
  overflow: hidden;
}

.story-image-pair img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Story 2-col layout: images | text */
.story-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--gray-light);
  align-items: stretch;
}

.story-2col-images {
  display: block;
  overflow: hidden;
  position: relative;
  min-height: 600px;
}

.story-2col-images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(20%);
  transition: filter var(--transition-medium);
  position: absolute;
  inset: 0;
}

.story-2col-images:hover img {
  filter: grayscale(0%);
}

.story-2col-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--space-xl) clamp(var(--space-lg), 5vw, var(--space-xxl));
  background: var(--bg-white);
}

.story-2col-text h1 {
  font-size: clamp(28px, 3.5vw, 52px);
  letter-spacing: 1px;
  line-height: 1.2;
  margin-bottom: var(--space-lg);
}

.story-2col-text p {
  font-size: 16px;
  line-height: 1.9;
  color: var(--gray-dark);
  margin-bottom: var(--space-md);
}

.story-address {
  margin-top: var(--space-lg);
}

.story-address strong {
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 3px;
  display: block;
  margin-bottom: var(--space-xs);
}

.story-address p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 2px;
}

/* Winemaker single page */
.winemaker-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
  align-items: start;
}

.winemaker-detail-image {
  aspect-ratio: 3/4;
  overflow: hidden;
  background: var(--bg-cream);
}

.winemaker-detail-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.winemaker-detail-name {
  font-family: var(--font-heading);
  font-size: clamp(28px, 4vw, 60px);
  font-weight: 600;
  letter-spacing: -1px;
  text-transform: uppercase;
  line-height: 0.95;
  margin-bottom: var(--space-sm);
}

.winemaker-detail-region {
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gray-medium);
  margin-bottom: var(--space-lg);
  display: flex;
  align-items: center;
  gap: 6px;
}

.winemaker-detail-region svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.winemaker-detail-info p {
  line-height: 1.8;
  margin-bottom: var(--space-sm);
}

.winemaker-wines-title {
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gray-medium);
  margin-bottom: var(--space-xl);
  padding-top: var(--space-xl);
  border-top: 1px solid var(--gray-light);
}

.story-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: 500px;
}

.story-image {
  background-color: var(--bg-cream);
  background-size: cover;
  background-position: center;
  filter: grayscale(100%);
  transition: filter var(--transition-medium);
}

.story-split:hover .story-image {
  filter: grayscale(0%);
}

.story-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--space-xl);
  background-color: var(--bg-cream);
}

.story-content h2 {
  font-size: clamp(28px, 3.5vw, 52px);
  letter-spacing: 1px;
  margin-bottom: var(--space-md);
}

.story-content p {
  line-height: 1.8;
  margin-bottom: var(--space-sm);
}

.story-address {
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid var(--gray-medium);
}

.story-address strong {
  display: block;
  margin-bottom: var(--space-xs);
}

/* ============================================
   CONTACT PAGE
   ============================================ */
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
}

.contact-info h2 {
  font-size: clamp(28px, 3.5vw, 52px);
  letter-spacing: 1px;
  margin-bottom: var(--space-md);
}

.contact-block {
  margin-bottom: var(--space-lg);
}

.contact-block h3 {
  font-size: 12px;
  margin-bottom: var(--space-xs);
  color: var(--gray-medium);
}

.contact-block p,
.contact-block a {
  font-size: 16px;
}

.contact-block a {
  transition: color var(--transition-fast);
}

.contact-block a:hover {
  color: var(--accent-red);
}

.social-links {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
}

.social-links a {
  font-size: 14px;
  text-decoration: underline;
  transition: color var(--transition-fast);
}

.social-links a:hover {
  color: var(--accent-red);
}

.contact-map {
  background-color: var(--bg-cream);
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-medium);
}

/* ============================================
   LEGAL PAGES (ÁSZF, Adatvédelem, Szállítás, Impresszum)
   ============================================ */
.legal-content {
  max-width: 720px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.75;
  color: var(--text-black);
}

.legal-content p {
  margin: 0 0 var(--space-md);
}

.legal-content h2 {
  font-family: var(--font-heading);
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: var(--space-xl) 0 var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid var(--gray-light);
}

.legal-content h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.legal-content h3 {
  font-family: var(--font-heading);
  font-size: 16px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: var(--space-lg) 0 var(--space-sm);
}

.legal-content ul,
.legal-content ol {
  margin: 0 0 var(--space-md);
  padding-left: 1.4em;
}

.legal-content li {
  margin-bottom: 8px;
}

.legal-content strong {
  font-weight: 600;
}

.legal-content a {
  color: var(--text-black);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.legal-content a:hover {
  color: var(--accent-red);
}

.legal-content hr {
  border: 0;
  border-top: 1px solid var(--gray-light);
  margin: var(--space-xl) 0;
}

@media (max-width: 600px) {
  .legal-content {
    font-size: 15px;
    line-height: 1.7;
  }
}

/* ============================================
   PAGE HEADER
   ============================================ */
.page-header {
  text-align: left;
  padding: var(--space-xl) var(--space-lg) var(--space-lg);
  border-bottom: 1px solid var(--gray-light);
  margin-bottom: var(--space-xl);
  overflow: hidden;
}

.page-title {
  font-size: clamp(56px, 9vw, 140px);
  letter-spacing: -2px;
  line-height: 0.9;
  margin-bottom: var(--space-sm);
}

.page-subtitle {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
  font-size: 18px;
  color: var(--gray-medium);
  letter-spacing: 0;
  text-transform: none;
}

.page-header-logo {
  height: 28px;
  margin: 0 auto var(--space-md);
  opacity: 0.6;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .product-grid,
  .winemakers-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cult-grid {
    grid-template-columns: repeat(7, 1fr);
  }

  ul.products,
  ul.products.columns-3,
  ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }

  .winemakers-scroll-card {
    flex: 0 0 60vw;
  }

  .shop-layout {
    grid-template-columns: 1fr;
  }

  .shop-sidebar {
    position: static;
    border-right: none;
    border-bottom: 1px solid var(--gray-light);
    padding-right: 0;
    padding-bottom: var(--space-md);
    margin-bottom: var(--space-md);
  }

  /* Mobile: collapse filter groups by default except categories */
  .filter-group[data-filter]:not([data-filter="categories"]) .filter-chips {
    display: none;
  }

  .filter-group[data-filter]:not([data-filter="categories"]) .filter-title {
    border-bottom-color: var(--gray-light);
  }

  .filter-group[data-filter]:not([data-filter="categories"]) .filter-title[aria-expanded="false"] {
    margin-bottom: 0;
  }

  .filter-list {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .filter-chip {
    padding: 6px 10px;
    font-size: 10px;
  }

  .product-detail,
  .contact-layout,
  .winemaker-detail {
    grid-template-columns: 1fr;
  }

  .story-split {
    grid-template-columns: 1fr;
  }

  .manifesto-banner::before {
    font-size: 50vw;
  }
}

@media (max-width: 768px) {
  :root {
    --space-lg: 32px;
    --space-xl: 48px;
    --space-xxl: 64px;
  }

  ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-sm);
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .order-summary {
    border-left: none;
    border-top: 1px solid var(--gray-light);
    padding-left: 0;
    padding-top: var(--space-lg);
  }

  .nav-main {
    display: none;
  }

  .logo.logo-home {
    opacity: 1;
    pointer-events: auto;
  }

  .hamburger {
    display: flex;
  }

  .header-actions .lang-selector,
  .header-actions .icon-btn {
    display: none;
  }

  .header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  /* Cart responsive: hide Total column, wrap as cards */
  .cart-table th:nth-child(5),
  .cart-table td:nth-child(5) {
    display: none;
  }
  .cart-table th:nth-child(6),
  .cart-table td:nth-child(6) {
    display: none;
  }
  .cart-table th:nth-child(3),
  .cart-table td:nth-child(3) {
    display: none;
  }
  .cart-item-info {
    padding-left: var(--space-sm);
  }
  .cart-layout {
    gap: var(--space-lg);
  }

  /* Hide VIEW ALL button from winemakers header on mobile */
  .winemakers-scroll-header .btn {
    display: none;
  }

  .hero-split {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .hero-col-left {
    display: none;
  }

  .hero-col-center {
    display: none;
  }

  .hero-col {
    padding: 32px 24px;
    border-right: none;
    border-bottom: 1px solid var(--text-black);
    order: 1;
  }

  .hero-col-right {
    min-height: 85vh;
    order: 1;
    border-bottom: none;
  }

  .hero-word {
    font-size: clamp(64px, 20vw, 120px);
  }

  .hero-split-sub {
    display: none;
  }

  .hero-split-cta {
    align-items: flex-end;
  }

  .hero-split-cta .hero-split-sub {
    display: block;
  }

  .manifesto-text {
    font-size: 28px;
  }

  .manifesto-banner::before {
    font-size: 60vw;
  }

  .blog-grid,
  .shop-grid,
  .related-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .product-grid {
    grid-template-columns: 1fr;
  }

  .cult-grid {
    grid-template-columns: repeat(7, 1fr);
  }

  .winemakers-scroll-card {
    flex: 0 0 80vw;
  }

  .footer-main {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
  }

  .footer-legal {
    gap: var(--space-sm);
  }

  .page-header {
    padding: var(--space-lg) var(--space-lg) var(--space-md);
  }

  .page-title {
    font-size: clamp(48px, 14vw, 80px);
  }

  .product-detail,
  .contact-layout,
  .winemaker-detail {
    grid-template-columns: 1fr;
  }

  .winemakers-grid {
    grid-template-columns: 1fr;
  }

  .story-image-pair {
    height: 50vw;
    min-height: 260px;
  }

  .story-2col {
    grid-template-columns: 1fr;
  }

  .story-2col-images {
    min-height: 0;
    aspect-ratio: 4/3;
  }

  .story-2col-text {
    padding: var(--space-lg) var(--space-lg);
  }

  .cult-subscribe-inner {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .cult-subscribe {
    padding: var(--space-xl) var(--space-sm);
  }

  .related-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-left-heading span {
    font-size: clamp(48px, 14vw, 80px);
  }

  .hero-left-words span {
    font-size: clamp(22px, 6vw, 36px);
  }

  .cookie-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
    padding: var(--space-md);
  }

  .article-hero {
    height: 55vw;
    min-height: 320px;
  }

  .article-hero-content {
    left: var(--space-lg);
    right: var(--space-lg);
    bottom: var(--space-lg);
  }

  .article-body p {
    font-size: 16px;
  }

}

@media (max-width: 480px) {
  .container {
    padding: 0 var(--space-sm);
  }

  .blog-grid,
  .shop-grid,
  .related-grid {
    grid-template-columns: 1fr;
  }

  .cult-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .hero {
    min-height: 400px;
  }

  .hero-tagline {
    font-size: 18px;
  }

  .product-thumbnails {
    grid-template-columns: repeat(3, 1fr);
  }

  .manifesto-banner::before {
    font-size: 70vw;
  }
}

/* ============================================
   AGE GATE
   ============================================ */
.age-gate {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--text-black);
  color: var(--bg-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-lg);
}

.age-gate.hidden {
  display: none;
}

.age-gate-logo {
  height: 40px;
  width: auto;
  filter: invert(1);
  margin-bottom: var(--space-xl);
  opacity: 0.9;
}

.age-gate-title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(36px, 7vw, 96px);
  letter-spacing: -1px;
  line-height: 1;
  margin-bottom: var(--space-md);
}

.age-gate-sub {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: var(--space-xl);
  letter-spacing: 1px;
  line-height: 1.7;
}

.age-gate-buttons {
  display: flex;
  gap: var(--space-md);
}

.age-gate-sorry {
  display: none;
}

.age-gate-sorry h3 {
  font-family: var(--font-heading);
  font-size: clamp(24px, 4vw, 48px);
  font-weight: 600;
  letter-spacing: -0.5px;
  margin-bottom: var(--space-md);
  line-height: 1.1;
}

.age-gate-sorry p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.5px;
  max-width: 400px;
  line-height: 1.8;
}

/* ============================================
   COOKIE BANNER
   ============================================ */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  background: var(--bg-white);
  border-top: 2px solid var(--text-black);
  padding: var(--space-md) var(--space-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-lg);
}

.cookie-banner.hidden {
  display: none;
}

.cookie-banner-text {
  font-size: 13px;
  color: var(--gray-dark);
  line-height: 1.6;
  flex: 1;
}

.cookie-banner-text a {
  color: var(--text-black);
  text-decoration: underline;
}

.cookie-banner-actions {
  display: flex;
  gap: var(--space-sm);
  flex-shrink: 0;
}

/* ============================================
   BLOG ARTICLE
   ============================================ */
.article-hero {
  position: relative;
  height: 70vh;
  min-height: 480px;
  overflow: hidden;
}

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

.article-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 60%);
}

.article-hero-content {
  position: absolute;
  bottom: var(--space-xl);
  left: var(--space-lg);
  right: var(--space-lg);
  color: var(--bg-white);
  max-width: 800px;
}

.article-tag {
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--accent-orange);
  margin-bottom: var(--space-sm);
  display: block;
}

.article-hero-title {
  font-family: var(--font-heading);
  font-size: clamp(32px, 5vw, 72px);
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.05;
}

.article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  font-size: 12px;
  letter-spacing: 1px;
  color: var(--gray-medium);
  text-transform: uppercase;
  margin-bottom: var(--space-xl);
}

.article-meta span + span::before {
  content: '·';
  margin-right: var(--space-md);
}

.article-body {
  max-width: 720px;
  margin: 0 auto;
}

.article-body p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--gray-dark);
  margin-bottom: var(--space-md);
}

.article-body h2 {
  font-family: var(--font-heading);
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 600;
  letter-spacing: 1px;
  margin-top: var(--space-xl);
  margin-bottom: var(--space-md);
}

.article-pullquote {
  border-left: 4px solid var(--accent-orange);
  padding-left: var(--space-lg);
  margin: var(--space-xl) 0;
}

.article-pullquote p {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-size: clamp(20px, 2.5vw, 28px);
  line-height: 1.5;
  color: var(--text-black);
  margin-bottom: 0;
}

.article-image-full {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
  margin: var(--space-xl) 0;
}

.article-footer {
  max-width: 720px;
  margin: var(--space-xl) auto 0;
  padding-top: var(--space-lg);
  border-top: 1px solid var(--gray-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.article-footer-label {
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--gray-medium);
}

.article-footer-author {
  font-size: 14px;
  margin-top: 4px;
}

/* ============================================
   UTILITIES
   ============================================ */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }

/* ============================================
   WOOCOMMERCE CART ITEMS
   ============================================ */
.cart-items {
  border-top: 2px solid var(--text-black);
}

.cart-item {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: var(--space-md);
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--gray-light);
}

.cart-item-image {
  width: 100px;
  aspect-ratio: 2/3;
  background: var(--bg-cream);
  overflow: hidden;
}

.cart-item-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.cart-item-details {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
}

.cart-item-info {
  flex: 1;
}

.cart-item-name {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.cart-item-name a {
  color: inherit;
  text-decoration: none;
}

.cart-item-name a:hover {
  color: var(--accent-red);
}

.cart-item-winemaker {
  font-size: 13px;
  color: var(--gray-medium);
  margin-bottom: 4px;
}

.cart-item-price {
  font-size: 14px;
}

.cart-item-actions {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
}

.cart-item-quantity .quantity {
  display: flex;
  align-items: center;
  border: 2px solid var(--text-black);
}

.cart-item-quantity .quantity input {
  width: 50px;
  text-align: center;
  border: none;
  padding: 8px;
  font-family: var(--font-body);
  font-size: 14px;
}

.cart-item-subtotal {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
  min-width: 100px;
  text-align: right;
}

.cart-item-remove .remove {
  font-size: 24px;
  color: var(--gray-medium);
  text-decoration: none;
  transition: color 0.2s ease;
}

.cart-item-remove .remove:hover {
  color: var(--accent-red);
}

.cart-actions {
  padding: var(--space-md) 0;
  border-bottom: 2px solid var(--text-black);
}

.cart-collaterals {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--space-xl);
  margin-top: var(--space-xl);
}

.cart-collaterals .cart_totals {
  grid-column: 2;
}

.cart_totals .cart-totals-table {
  margin-bottom: var(--space-lg);
}

.cart_totals .cart-totals-row {
  display: flex;
  justify-content: space-between;
  padding: var(--space-xs) 0;
  font-size: 14px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.cart_totals .cart-totals-row.order-total {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 18px;
  border-bottom: none;
  margin-top: var(--space-sm);
  padding-top: var(--space-sm);
  border-top: 2px solid var(--text-black);
}

.wc-proceed-to-checkout .btn,
.wc-proceed-to-checkout .checkout-button {
  width: 100%;
  display: block;
  text-align: center;
}

.cart-empty-message {
  text-align: center;
  padding: var(--space-xxl) 0;
}

.cart-empty {
  font-family: var(--font-heading);
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: var(--space-lg);
}

.return-to-shop {
  text-align: center;
}

/* ============================================
   WOOCOMMERCE CHECKOUT
   ============================================ */
.woocommerce-checkout .checkout-layout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: var(--space-xl);
  align-items: start;
}

.checkout-form-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.checkout-billing,
.checkout-shipping {
  margin-bottom: var(--space-lg);
}

.checkout-order-column {
  background: var(--bg-cream);
  padding: var(--space-lg);
  position: sticky;
  top: calc(var(--header-height) + var(--announcement-height) + var(--space-md));
}

.checkout-order-items {
  border-bottom: 1px solid rgba(0,0,0,0.1);
  padding-bottom: var(--space-md);
  margin-bottom: var(--space-md);
}

.checkout-order-item {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  align-items: center;
}

.checkout-order-item-image {
  width: 60px;
  aspect-ratio: 2/3;
  background: var(--bg-white);
  overflow: hidden;
}

.checkout-order-item-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}

.checkout-order-item-name {
  font-size: 13px;
  line-height: 1.4;
}

.checkout-order-item-name .product-quantity {
  color: var(--gray-medium);
}

.checkout-order-item-total {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 13px;
}

.checkout-order-totals-row {
  display: flex;
  justify-content: space-between;
  padding: var(--space-xs) 0;
  font-size: 14px;
}

.checkout-order-totals-row.order-total {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 18px;
  border-top: 2px solid var(--text-black);
  margin-top: var(--space-sm);
  padding-top: var(--space-sm);
}

.woocommerce-checkout-payment {
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid rgba(0,0,0,0.1);
}

.woocommerce-checkout-payment .payment_methods {
  margin-bottom: var(--space-lg);
}

.woocommerce-checkout-payment .payment_methods li {
  padding: var(--space-sm);
  border: 2px solid var(--gray-light);
  margin-bottom: var(--space-xs);
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.woocommerce-checkout-payment .payment_methods li:hover,
.woocommerce-checkout-payment .payment_methods li.active {
  border-color: var(--text-black);
}

.woocommerce-checkout-payment .payment_methods label {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.woocommerce-checkout-payment .payment_box {
  padding: var(--space-sm);
  background: var(--bg-white);
  margin-top: var(--space-sm);
  font-size: 13px;
  color: var(--gray-medium);
}

.place-order {
  margin-top: var(--space-lg);
}

.place-order .btn-block {
  width: 100%;
}

.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: var(--space-md);
  font-size: 13px;
}

/* WooCommerce Form Fields */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-sm);
}

.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide {
  grid-column: span 2;
}

.woocommerce-input-wrapper {
  width: 100%;
}

.woocommerce-input-wrapper input,
.woocommerce-input-wrapper select,
.woocommerce-input-wrapper textarea {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid var(--gray-light);
  font-family: var(--font-body);
  font-size: 14px;
  background: var(--bg-white);
  transition: border-color 0.2s ease;
  outline: none;
}

.woocommerce-input-wrapper input:focus,
.woocommerce-input-wrapper select:focus,
.woocommerce-input-wrapper textarea:focus {
  border-color: var(--text-black);
}

.form-row label {
  display: block;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gray-dark);
  margin-bottom: 6px;
}

.form-row .required {
  color: var(--accent-red);
}

/* Winemaker Gallery */
.winemaker-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
}

.winemaker-gallery .gallery-item {
  aspect-ratio: 1;
  overflow: hidden;
}

.winemaker-gallery .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.winemaker-gallery .gallery-item:hover img {
  transform: scale(1.05);
}

/* Responsive Cart & Checkout */
@media (max-width: 900px) {
  .cart-collaterals {
    grid-template-columns: 1fr;
  }

  .cart-collaterals .cart_totals {
    grid-column: 1;
  }

  .woocommerce-checkout .checkout-layout {
    grid-template-columns: 1fr;
  }

  .checkout-order-column {
    position: static;
    order: -1;
  }

  .cart-item-details {
    flex-direction: column;
    align-items: flex-start;
  }

  .cart-item-actions {
    width: 100%;
    justify-content: space-between;
    margin-top: var(--space-sm);
  }
}

@media (max-width: 600px) {
  .cart-item {
    grid-template-columns: 80px 1fr;
  }

  .cart-item-actions {
    flex-wrap: wrap;
    gap: var(--space-sm);
  }

  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .woocommerce-billing-fields__field-wrapper .form-row-wide,
  .woocommerce-shipping-fields__field-wrapper .form-row-wide {
    grid-column: 1;
  }

  .winemaker-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================
   MY ACCOUNT - HERO HEADER
   ============================================ */
.account-hero {
  background: var(--text-black);
  padding: var(--space-xxl) 0;
  margin-bottom: 0;
}

.account-hero-title {
  font-family: var(--font-heading);
  font-size: clamp(48px, 7vw, 96px);
  font-weight: 600;
  letter-spacing: 8px;
  color: var(--bg-white);
  text-align: center;
  margin: 0;
}

/* ============================================
   MY ACCOUNT - LOGIN/REGISTER
   ============================================ */
.account-forms {
  background: var(--bg-cream);
  padding: var(--space-xxl) 0;
}

.account-form-wrapper {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--space-xxl);
  align-items: start;
  max-width: 1000px;
  margin: 0 auto;
}

.account-form {
  background: var(--bg-white);
  padding: var(--space-xl);
}

.account-form-header {
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 2px solid var(--text-black);
}

.account-form h2 {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 4px;
  margin-bottom: var(--space-xs);
}

.account-form-subtitle {
  font-size: 14px;
  color: var(--gray-medium);
  margin: 0;
}

.account-form .form-group {
  margin-bottom: var(--space-md);
}

.account-form .form-group label {
  display: block;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--text-black);
  margin-bottom: 8px;
}

.account-form .form-group input[type="text"],
.account-form .form-group input[type="email"],
.account-form .form-group input[type="password"] {
  width: 100%;
  padding: 16px 18px;
  border: 2px solid var(--gray-light);
  font-family: var(--font-body);
  font-size: 14px;
  background: var(--bg-white);
  transition: border-color 0.2s ease;
  outline: none;
}

.account-form .form-group input::placeholder {
  color: var(--gray-medium);
}

.account-form .form-group input:focus {
  border-color: var(--text-black);
}

.account-form .form-row-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: var(--space-md);
}

.account-form .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  cursor: pointer;
}

.account-form .lost-password-link {
  font-size: 12px;
  font-family: var(--font-heading);
  letter-spacing: 1px;
  color: var(--gray-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.account-form .lost-password-link:hover {
  color: var(--text-black);
}

.account-form .btn-block {
  width: 100%;
  margin-top: var(--space-lg);
}

.account-form .form-note {
  font-size: 13px;
  color: var(--gray-medium);
  margin-bottom: var(--space-md);
  padding: var(--space-sm);
  background: var(--bg-cream);
}

.account-form-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-xl) 0;
}

.account-form-divider span {
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 3px;
  color: var(--gray-medium);
  background: var(--bg-cream);
  padding: var(--space-sm) var(--space-md);
}

/* ============================================
   MY ACCOUNT - DASHBOARD
   ============================================ */
.account-main {
  background: var(--bg-cream);
  padding: var(--space-xxl) 0;
  min-height: 60vh;
}

.my-account-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: var(--space-xl);
  align-items: start;
}

.my-account-sidebar {
  background: var(--bg-white);
  padding: var(--space-lg);
  position: sticky;
  top: 100px;
}

.my-account-user {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding-bottom: var(--space-lg);
  border-bottom: 2px solid var(--text-black);
  margin-bottom: var(--space-lg);
}

.my-account-user img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--text-black);
}

.my-account-user-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.my-account-user-name {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.my-account-user-email {
  font-size: 12px;
  color: var(--gray-medium);
}

.woocommerce-MyAccount-navigation {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-MyAccount-navigation li {
  margin-bottom: 2px;
}

.woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 14px 16px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gray-dark);
  text-decoration: none;
  transition: all 0.2s ease;
  border-left: 3px solid transparent;
}

.woocommerce-MyAccount-navigation li a:hover {
  background: var(--bg-cream);
  border-left-color: var(--gray-medium);
}

.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--text-black);
  color: var(--bg-white);
  border-left-color: var(--text-black);
}

.my-account-content {
  min-height: 400px;
  background: var(--bg-white);
  padding: var(--space-xl);
}

/* Dashboard */
.account-dashboard {
  padding: 0;
}

.dashboard-welcome {
  margin-bottom: var(--space-xl);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--gray-light);
}

.dashboard-welcome h2 {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 2px;
  margin-bottom: var(--space-sm);
}

.dashboard-welcome h2 strong {
  color: var(--accent-red);
}

.dashboard-welcome p {
  font-size: 14px;
  color: var(--gray-medium);
  line-height: 1.7;
  max-width: 600px;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}

.dashboard-card {
  background: var(--bg-cream);
  display: flex;
  flex-direction: column;
}

.dashboard-card-header {
  padding: var(--space-md) var(--space-lg);
  border-bottom: 2px solid var(--text-black);
}

.dashboard-card-header h3 {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  margin: 0;
}

.dashboard-card-body {
  padding: var(--space-lg);
  flex: 1;
}

.dashboard-card-footer {
  padding: var(--space-md) var(--space-lg);
  border-top: 1px solid rgba(0,0,0,0.08);
  background: rgba(0,0,0,0.02);
}

.dashboard-orders-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.dashboard-orders-list li {
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.dashboard-orders-list li:last-child {
  border-bottom: none;
}

.dashboard-orders-list li a {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  font-size: 13px;
  text-decoration: none;
  color: inherit;
  align-items: center;
  transition: opacity 0.2s ease;
}

.dashboard-orders-list li a:hover {
  opacity: 0.7;
}

.dashboard-orders-list .order-number {
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: 1px;
}

.dashboard-orders-list .order-date {
  color: var(--gray-medium);
  font-size: 12px;
}

.dashboard-orders-list .order-status {
  font-size: 10px;
  font-family: var(--font-heading);
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 4px 10px;
  background: var(--gray-light);
}

.dashboard-orders-list .order-status-completed {
  background: #d4edda;
  color: #155724;
}

.dashboard-orders-list .order-status-processing {
  background: #fff3cd;
  color: #856404;
}

.dashboard-orders-list .order-total {
  font-family: var(--font-heading);
  font-weight: 600;
}

.dashboard-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.dashboard-detail-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dashboard-detail-row .detail-label {
  font-family: var(--font-heading);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gray-medium);
}

.dashboard-detail-row .detail-value {
  font-size: 14px;
}

.dashboard-empty-state {
  text-align: center;
  padding: var(--space-md) 0;
}

.dashboard-empty-state p {
  font-size: 14px;
  color: var(--gray-dark);
  margin-bottom: 4px;
}

.dashboard-empty-hint {
  font-size: 12px;
  color: var(--gray-medium);
}

.dashboard-link {
  font-size: 12px;
  font-family: var(--font-heading);
  letter-spacing: 1px;
  text-decoration: none;
  color: var(--gray-dark);
  transition: color 0.2s ease;
}

.dashboard-link:hover {
  color: var(--text-black);
}

.dashboard-card address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.8;
}

.btn-sm {
  padding: 10px 20px;
  font-size: 11px;
}

/* Orders Table */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid var(--text-black);
}

.woocommerce-orders-table th {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: var(--space-sm) 0;
  text-align: left;
  border-bottom: 1px solid var(--gray-light);
}

.woocommerce-orders-table td {
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--gray-light);
  font-size: 14px;
}

.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
  font-size: 12px;
  text-decoration: underline;
}

/* Account Forms (Edit Account, Edit Address) */
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
  max-width: 600px;
}

.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row {
  margin-bottom: var(--space-md);
}

.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
  display: block;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--gray-dark);
  margin-bottom: 6px;
}

.woocommerce-EditAccountForm input,
.woocommerce-address-fields input,
.woocommerce-address-fields select {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid var(--gray-light);
  font-family: var(--font-body);
  font-size: 14px;
  background: var(--bg-white);
  transition: border-color 0.2s ease;
  outline: none;
}

.woocommerce-EditAccountForm input:focus,
.woocommerce-address-fields input:focus,
.woocommerce-address-fields select:focus {
  border-color: var(--text-black);
}

/* Responsive Account Pages */
@media (max-width: 1024px) {
  .dashboard-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .dashboard-card-orders {
    grid-column: span 2;
  }
}

@media (max-width: 900px) {
  .account-hero {
    padding: var(--space-xl) 0;
  }

  .account-hero-title {
    letter-spacing: 4px;
  }

  .account-form-wrapper {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .account-form {
    padding: var(--space-lg);
  }

  .account-form-divider {
    padding: var(--space-lg) 0;
  }

  .my-account-layout {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .my-account-sidebar {
    position: static;
    order: -1;
  }

  .my-account-content {
    padding: var(--space-lg);
  }

  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-card-orders {
    grid-column: span 1;
  }

  .dashboard-welcome h2 {
    font-size: 24px;
  }
}

@media (max-width: 600px) {
  .account-forms {
    padding: var(--space-lg) 0;
  }

  .my-account-user {
    flex-direction: column;
    text-align: center;
  }

  .dashboard-orders-list li a {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .dashboard-orders-list .order-status {
    justify-self: start;
  }
}

/* ============================================
   WOOCOMMERCE BLOCKS - CART & CHECKOUT
   ============================================ */

/* --- Page Titles --- */
.woocommerce-cart .wp-block-woocommerce-cart h1,
.woocommerce-cart .wc-block-cart h1,
.woocommerce-checkout .wp-block-woocommerce-checkout h1,
.woocommerce-checkout .wc-block-checkout h1,
.wc-block-cart .wc-block-cart__main h2,
.wc-block-checkout h1 {
  font-family: var(--font-heading);
  font-size: clamp(48px, 7vw, 96px);
  font-weight: 600;
  letter-spacing: 6px;
  text-transform: uppercase;
  margin-bottom: var(--space-xl);
}

/* --- Cart Layout --- */
.wc-block-cart {
  --wc-cart-border-color: var(--gray-light);
}

.wc-block-cart .wc-block-cart__main {
  border-top: 2px solid var(--text-black);
}

/* --- Cart Items --- */
.wc-block-cart-items__row {
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--gray-light);
}

.wc-block-cart-item__image {
  width: 100px;
  background: var(--bg-cream);
}

.wc-block-cart-item__image img {
  object-fit: contain;
  padding: 8px;
}

.wc-block-cart-item__product {
  font-family: var(--font-heading);
}

.wc-block-cart-item__product-name {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-black);
  text-decoration: none;
}

.wc-block-cart-item__product-name:hover {
  color: var(--accent-red);
}

.wc-block-cart-item__product-metadata {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--gray-medium);
  margin-top: 4px;
}

/* --- Quantity Selector --- */
.wc-block-components-quantity-selector {
  border: 2px solid var(--text-black) !important;
  border-radius: 0 !important;
  background: var(--bg-white) !important;
  display: inline-flex !important;
  align-items: stretch !important;
  overflow: hidden;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.wc-block-components-quantity-selector input[type="number"] {
  font-family: var(--font-heading) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: none !important;
  background: transparent !important;
  min-width: 40px !important;
  width: 50px !important;
  text-align: center !important;
  -moz-appearance: textfield;
  padding: 8px 4px !important;
}

.wc-block-components-quantity-selector input::-webkit-outer-spin-button,
.wc-block-components-quantity-selector input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector button {
  background: transparent !important;
  border: none !important;
  border-left: 1px solid var(--gray-light) !important;
  border-right: 1px solid var(--gray-light) !important;
  color: var(--text-black) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  padding: 8px 14px !important;
  cursor: pointer;
  transition: background 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wc-block-components-quantity-selector button:first-child {
  border-left: none !important;
}

.wc-block-components-quantity-selector button:last-child {
  border-right: none !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover,
.wc-block-components-quantity-selector button:hover {
  background: var(--bg-cream) !important;
}

/* --- Remove Button --- */
.wc-block-cart-item__remove-link {
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--gray-medium);
  text-decoration: none;
  transition: color 0.2s ease;
}

.wc-block-cart-item__remove-link:hover {
  color: var(--accent-red);
}

/* --- Cart Totals Sidebar --- */
.wc-block-cart__sidebar {
  background: var(--bg-cream);
  padding: var(--space-lg);
}

.wc-block-cart__sidebar .wc-block-components-totals-wrapper {
  padding: 0;
}

.wc-block-components-totals-item {
  padding: var(--space-xs) 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.wc-block-components-totals-item__label {
  font-family: var(--font-body);
  font-size: 14px;
}

.wc-block-components-totals-item__value {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
}

.wc-block-components-totals-footer-item {
  border-top: 2px solid var(--text-black);
  border-bottom: none;
  margin-top: var(--space-sm);
  padding-top: var(--space-sm);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 18px;
}

/* --- Coupon --- */
.wc-block-components-totals-coupon {
  border: none;
  padding: var(--space-sm) 0;
}

.wc-block-components-totals-coupon__button {
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-black);
  text-decoration: underline;
}

.wc-block-components-totals-coupon__input .wc-block-components-text-input input {
  border: 2px solid var(--gray-light);
  padding: 12px 16px;
  font-family: var(--font-body);
}

.wc-block-components-totals-coupon__input .wc-block-components-text-input input:focus {
  border-color: var(--text-black);
  outline: none;
  box-shadow: none;
}

/* --- All Buttons (Cart & Checkout) --- */
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-totals-coupon__button[type="submit"] {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  background: var(--text-black);
  color: var(--bg-white);
  border: 2px solid var(--text-black);
  padding: 16px 32px;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none;
  display: inline-block;
  text-align: center;
}

.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: var(--bg-white);
  color: var(--text-black);
}

.wc-block-cart__submit-button {
  width: 100%;
  margin-top: var(--space-md);
}

/* --- Checkout Layout --- */
.wc-block-checkout {
  --wc-checkout-border-color: var(--gray-light);
}

/* Override WooCommerce Blocks sidebar-layout (main container) */
.wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: var(--space-xl) !important;
  align-items: start !important;
  flex-direction: unset !important;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
  max-width: none !important;
  width: 100% !important;
  flex: unset !important;
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar {
  max-width: none !important;
  width: 100% !important;
  flex: unset !important;
  position: sticky !important;
  top: 120px !important;
  background: var(--bg-cream) !important;
  padding: var(--space-lg) !important;
}

/* --- Checkout Form Sections --- */
.wc-block-checkout__form .wc-block-components-checkout-step {
  padding: var(--space-lg) 0;
  border-bottom: 1px solid var(--gray-light);
}

.wc-block-components-checkout-step__heading {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-black);
  margin-bottom: var(--space-md);
}

.wc-block-components-checkout-step__title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
}

/* --- Form Inputs --- */
.wc-block-components-text-input,
.wc-block-components-textarea {
  margin-bottom: var(--space-sm);
  position: relative;
}

.wc-block-components-text-input input,
.wc-block-components-text-input select,
.wc-block-components-textarea textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input {
  border: 2px solid var(--gray-light) !important;
  border-radius: 0 !important;
  padding: 24px 16px 8px 16px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  background: var(--bg-white) !important;
  transition: border-color 0.2s ease;
  height: auto !important;
  min-height: 56px !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input select:focus,
.wc-block-components-textarea textarea:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus {
  border-color: var(--text-black) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Floating label - base state */
.wc-block-components-text-input label,
.wc-block-components-textarea label {
  font-family: var(--font-body) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--gray-medium) !important;
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: all 0.15s ease !important;
  pointer-events: none !important;
  background: transparent !important;
}

/* Floating label - active state (focus or has value) */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label,
.wc-block-components-textarea.is-active label {
  top: 12px !important;
  transform: translateY(0) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  color: var(--gray-dark) !important;
}

/* Combobox (Country selector) */
.wc-block-components-combobox {
  position: relative;
}

.wc-block-components-combobox .wc-block-components-combobox-control {
  border: 2px solid var(--gray-light) !important;
  border-radius: 0 !important;
  min-height: 56px !important;
  background: var(--bg-white) !important;
}

.wc-block-components-combobox .wc-block-components-combobox-control input {
  padding: 24px 16px 8px 16px !important;
  border: none !important;
}

.wc-block-components-combobox .wc-block-components-combobox-control label {
  font-family: var(--font-body) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--gray-dark) !important;
  position: absolute !important;
  left: 18px !important;
  top: 10px !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
}

/* --- Address Fields Grid (2-column layout) --- */
.wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: var(--space-sm) !important;
}

.wc-block-components-address-form > .wc-block-components-country-input,
.wc-block-components-address-form > .wc-block-components-text-input:first-of-type,
.wc-block-components-address-form > [id*="address_1"],
.wc-block-components-address-form > [id*="address_2"] {
  grid-column: span 2;
}

/* Contact fields full width */
.wc-block-components-address-form__company,
.wc-block-checkout__contact-fields .wc-block-components-text-input {
  grid-column: span 2 !important;
}

/* --- Order Summary (Checkout Sidebar) --- */
.wc-block-checkout__sidebar,
.wc-block-components-sidebar {
  background: var(--bg-cream);
  padding: var(--space-lg);
}

.wc-block-components-order-summary {
  border: none !important;
  background: transparent !important;
}

.wc-block-components-order-summary__button {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: var(--space-sm) 0;
  border-bottom: 2px solid var(--text-black);
  background: transparent !important;
}

/* Force Order Summary always open */
.wc-block-components-order-summary .wc-block-components-panel__content {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.wc-block-components-order-summary .wc-block-components-panel__button[aria-expanded="false"] + .wc-block-components-panel__content {
  display: block !important;
  height: auto !important;
}

/* Hide the toggle arrow since always open */
.wc-block-components-order-summary .wc-block-components-panel__button svg {
  display: none !important;
}

/* Order summary items layout */
.wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 50px 1fr auto !important;
  gap: var(--space-sm) !important;
  padding: var(--space-sm) 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  align-items: start !important;
}

.wc-block-components-order-summary-item__image {
  width: 50px !important;
  min-width: 50px !important;
  background: var(--bg-white);
  border-radius: 0 !important;
  grid-row: span 2;
}

.wc-block-components-order-summary-item__image img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
  padding: 4px;
}

.wc-block-components-order-summary-item__description {
  min-width: 0 !important;
  overflow: hidden !important;
}

.wc-block-components-order-summary-item__name {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  word-break: break-word !important;
}

.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__total-price {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  white-space: nowrap !important;
  text-align: right !important;
}

.wc-block-components-product-metadata {
  font-size: 11px !important;
  color: var(--gray-medium) !important;
  margin-top: 4px !important;
  line-height: 1.4 !important;
}

.wc-block-components-product-metadata__description {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.wc-block-components-order-summary-item__quantity {
  font-size: 11px;
  color: var(--gray-medium);
}

/* --- Shipping & Payment - CLEAN DESIGN --- */

/* Remove ALL outer borders aggressively */
.wc-block-checkout fieldset,
.wc-block-checkout .wc-block-components-checkout-step__container,
.wc-block-checkout__payment-method,
.wc-block-checkout__shipping-option,
.wc-block-components-radio-control,
.wc-block-checkout .wp-block-woocommerce-checkout-payment-block,
.wc-block-checkout .wp-block-woocommerce-checkout-shipping-methods-block {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Remove border from ALL inner elements in radio options */
.wc-block-components-radio-control__option *:not(input) {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Individual radio options - simple border */
.wc-block-checkout .wc-block-components-radio-control__option {
  all: unset !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 16px !important;
  border: 2px solid var(--gray-light) !important;
  margin-bottom: 8px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease !important;
  background: var(--bg-white) !important;
}

.wc-block-checkout .wc-block-components-radio-control__option:hover {
  border-color: var(--text-black) !important;
}

.wc-block-checkout .wc-block-components-radio-control__option--checked,
.wc-block-checkout .wc-block-components-radio-control__option[data-checked="true"] {
  border-color: var(--text-black) !important;
}

/* Radio input */
.wc-block-checkout .wc-block-components-radio-control__input {
  all: unset !important;
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  border: 2px solid var(--text-black) !important;
  border-radius: 50% !important;
  margin-top: 2px !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.wc-block-checkout .wc-block-components-radio-control__input:checked::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 10px !important;
  height: 10px !important;
  background: var(--text-black) !important;
  border-radius: 50% !important;
}

/* Info container - vertical stack */
.wc-block-checkout .wc-block-components-radio-control__label-group {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  border: none !important;
}

/* Remove nested borders */
.wc-block-checkout .wc-block-components-radio-control__option > *:not(input) {
  border: none !important;
}

/* Title - uppercase, bold */
.wc-block-checkout .wc-block-components-radio-control__label {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--text-black) !important;
  display: block !important;
  margin-bottom: 2px !important;
}

/* Description - normal text */
.wc-block-checkout .wc-block-components-radio-control__description {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--text-black) !important;
  display: block !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Small/gray text */
.wc-block-checkout .wc-block-components-radio-control__description + *,
.wc-block-checkout .wc-block-components-payment-method-icons {
  font-size: 12px !important;
  color: var(--gray-medium) !important;
}

/* Price label for shipping - stays on right */
.wc-block-checkout .wc-block-components-radio-control__secondary-label {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--text-black) !important;
  white-space: nowrap !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

/* Shipping accordion options */
.wc-block-components-radio-control-accordion-option {
  all: unset !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  border: 2px solid var(--gray-light) !important;
  margin-bottom: 8px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  background: var(--bg-white) !important;
  transition: border-color 0.2s ease !important;
}

.wc-block-components-radio-control-accordion-option:hover {
  border-color: var(--text-black) !important;
}

.wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__input:checked) {
  border-color: var(--text-black) !important;
}

.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input {
  all: unset !important;
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  border: 2px solid var(--text-black) !important;
  border-radius: 50% !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input:checked::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 10px !important;
  height: 10px !important;
  background: var(--text-black) !important;
  border-radius: 50% !important;
}

.wc-block-components-radio-control-accordion-option__label {
  all: unset !important;
  flex: 1 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
}

.wc-block-components-radio-control-accordion-option__label .wc-block-components-radio-control__label {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.wc-block-components-radio-control-accordion-option__label .wc-block-components-radio-control__secondary-label {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

/* --- Place Order Button --- */
.wc-block-components-checkout-place-order-button {
  width: 100%;
  margin-top: var(--space-md);
  padding: 18px 32px;
  font-size: 13px;
}

/* --- Express Checkout --- */
.wc-block-components-express-payment {
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--gray-light);
}

.wc-block-components-express-payment__title {
  font-family: var(--font-heading);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gray-medium);
}

/* --- Terms & Conditions --- */
.wc-block-checkout__terms {
  font-size: 12px;
  color: var(--gray-medium);
  text-align: center;
  margin-top: var(--space-sm);
}

.wc-block-checkout__terms a {
  color: var(--text-black);
  text-decoration: underline;
}

/* --- Error Messages --- */
.wc-block-components-notice-banner {
  border: 2px solid var(--accent-red);
  background: #fff5f5;
  padding: var(--space-md);
  margin-bottom: var(--space-md);
}

.wc-block-components-notice-banner.is-error {
  border-color: var(--accent-red);
}

.wc-block-components-notice-banner.is-success {
  border-color: #28a745;
  background: #f0fff4;
}

/* --- Responsive Cart & Checkout Blocks --- */
@media (max-width: 900px) {
  .wc-block-components-sidebar-layout {
    grid-template-columns: 1fr !important;
  }

  .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    position: static !important;
    order: -1 !important;
  }

  .wp-block-woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }

  .wc-block-checkout .wc-block-components-main,
  .wc-block-cart .wc-block-components-main {
    grid-template-columns: 1fr;
  }

  .wc-block-checkout__sidebar,
  .wc-block-cart__sidebar {
    position: static;
    order: -1;
  }

  .wc-block-cart-item__image {
    width: 80px;
  }

  .wc-block-components-address-form {
    grid-template-columns: 1fr !important;
  }

  .wc-block-components-address-form > * {
    grid-column: span 1 !important;
  }

  /* Hide duplicate Order Summary outside sidebar on mobile */
  .wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block,
  .wc-block-checkout__main .wc-block-components-order-summary {
    display: none !important;
  }
}

@media (max-width: 600px) {
  .woocommerce-cart .wp-block-woocommerce-cart h1,
  .woocommerce-checkout .wp-block-woocommerce-checkout h1 {
    font-size: clamp(36px, 10vw, 56px);
    letter-spacing: 4px;
  }

  .wc-block-cart-items__row {
    flex-direction: column;
    align-items: flex-start;
  }

  .wc-block-cart-item__image {
    width: 100%;
    max-width: 120px;
    margin-bottom: var(--space-sm);
  }

  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar {
    padding: var(--space-md);
  }

  .wc-block-components-button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button {
    padding: 14px 24px;
    font-size: 11px;
  }
}

/* Mobile tap highlight fix (Safari/iOS) */
a,
button,
.btn,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

/* Cart icon with counter */
.cart-icon {
  position: relative;
}

.cart-count {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--text-black);
  color: var(--bg-white);
  font-size: 9px;
  font-weight: 600;
  font-family: var(--font-body);
  min-width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0);
  transition: all 0.2s ease;
}

.cart-count.has-items {
  opacity: 1;
  transform: scale(1);
}

/* Hide WooCommerce "View Cart" button after AJAX add to cart */
.added_to_cart,
.wc-forward {
  display: none !important;
}

/* ============================================
   Thank You / Order Received Page
   ============================================ */

.btw-thankyou {
  max-width: 800px;
  margin: 0 auto;
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.thankyou-header {
  margin-bottom: var(--space-lg);
}

.thankyou-check {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--space-md);
  background: var(--text-black);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.thankyou-check svg {
  width: 32px;
  height: 32px;
  color: var(--bg-white);
}

.thankyou-title {
  font-family: var(--font-heading);
  font-size: clamp(24px, 5vw, 36px);
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-sm);
}

.thankyou-message {
  font-size: 15px;
  color: var(--gray-medium);
  line-height: 1.6;
}

.thankyou-failed .thankyou-title {
  color: var(--accent-red);
}

.thankyou-overview {
  background: var(--bg-cream);
  padding: var(--space-md);
  margin-bottom: var(--space-lg);
}

.overview-item {
  display: flex;
  justify-content: space-between;
  padding: var(--space-xs) 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.overview-item:last-child {
  border-bottom: none;
}

.overview-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gray-medium);
}

.overview-value {
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 600;
}

.thankyou-actions {
  margin-top: var(--space-lg);
}

.thankyou-actions .btn {
  min-width: 200px;
}

/* Order details section (from WooCommerce hook) */
.btw-thankyou .woocommerce-order-details {
  text-align: left;
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--gray-light);
}

.btw-thankyou .woocommerce-order-details__title {
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: var(--space-md);
}

.btw-thankyou .woocommerce-table--order-details {
  width: 100%;
  font-size: 14px;
}

.btw-thankyou .woocommerce-table--order-details th,
.btw-thankyou .woocommerce-table--order-details td {
  padding: var(--space-xs) 0;
  border-bottom: 1px solid var(--gray-light);
}

.btw-thankyou .woocommerce-table--order-details th {
  font-weight: 400;
  text-align: left;
}

.btw-thankyou .woocommerce-table--order-details td {
  text-align: right;
}

.btw-thankyou .woocommerce-table--order-details tfoot th {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.05em;
}

/* Customer details from hook - two column layout */
.btw-thankyou .woocommerce-customer-details {
  text-align: left;
  margin-top: var(--space-lg);
}

.btw-thankyou .woocommerce-customer-details .woocommerce-columns,
.btw-thankyou .woocommerce-columns--addresses,
.btw-thankyou .woocommerce-customer-details > .col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
}

.btw-thankyou .woocommerce-column,
.btw-thankyou .col-1,
.btw-thankyou .col-2 {
  padding: 0;
  width: 100% !important;
  float: none !important;
}

.btw-thankyou .woocommerce-column__title {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: var(--space-sm);
}

.btw-thankyou address {
  font-style: normal;
  line-height: 1.8;
}

/* Order Received page title padding */
.woocommerce-order-received .entry-header {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-lg);
}

.woocommerce-order-received .entry-title {
  font-family: var(--font-heading);
  font-size: clamp(48px, 7vw, 80px);
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0;
}

/* Order details table alignment */
.btw-thankyou .woocommerce-table--order-details thead th:first-child,
.btw-thankyou .woocommerce-table--order-details tbody td.product-name {
  text-align: left;
}

.btw-thankyou .woocommerce-table--order-details thead th:last-child,
.btw-thankyou .woocommerce-table--order-details tbody td.product-total,
.btw-thankyou .woocommerce-table--order-details tfoot td {
  text-align: right;
}

@media (max-width: 600px) {
  .btw-thankyou {
    padding: var(--space-lg) var(--space-sm);
  }

  .thankyou-check {
    width: 56px;
    height: 56px;
  }

  .thankyou-check svg {
    width: 28px;
    height: 28px;
  }

  .overview-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .btw-thankyou .woocommerce-customer-details .woocommerce-columns,
  .btw-thankyou .woocommerce-columns--addresses,
  .btw-thankyou .woocommerce-customer-details > .col2-set {
    grid-template-columns: 1fr;
  }
}
