/* ============================================================
   Garden Accessories, Complete Stylesheet (RTL Hebrew)
   ============================================================ */

/* ── @font-face ─────────────────────────────────────────── */
@font-face {
  font-family: 'FbBooster';
  src: url('../fonts/FbBooster-Regular.woff2') format('woff2'),
       url('../fonts/FbBooster-Regular.woff') format('woff'),
       url('../fonts/FbBooster-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'FbBooster';
  src: url('../fonts/FbBooster-Bold.woff2') format('woff2'),
       url('../fonts/FbBooster-Bold.woff') format('woff'),
       url('../fonts/FbBooster-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant Infant';
  src: url('../fonts/CormorantInfant-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* ── CSS Custom Properties ──────────────────────────────── */
:root {
  --color-primary:      #303827;
  --color-olive:        #4a5240;
  --color-primary-light:#3d4a32;
  --color-cream:        #F5F0E8;
  --color-cream-dark:   #EDE8DF;
  --color-white:        #FFFFFF;
  --color-black:        #000000;
  --color-gray:         #666666;
  --color-gray-light:   #767676;
  --color-light-gray:   #E8E4DC;
  --color-border:       #D8D3CA;
  --color-sale:         #c0392b;
  --color-sale-light:   #e74c3c;
  --color-gold:         #C9A84C;

  --font-hebrew:   'FbBooster', 'Arial Hebrew', 'David', 'Noto Sans Hebrew', Arial, sans-serif;
  --font-english:  'Cormorant Infant', Georgia, serif;

  --container-max: 1280px;
  --header-height: 80px;
  --topbar-height: 42px;

  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  16px;
  --radius-xl:  24px;
  --radius-full: 999px;

  --shadow-sm:  0 1px 3px rgba(0,0,0,0.08);
  --shadow-md:  0 4px 12px rgba(0,0,0,0.10);
  --shadow-lg:  0 8px 30px rgba(0,0,0,0.14);
  --shadow-xl:  0 20px 60px rgba(0,0,0,0.16);

  --transition: 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-fast: 0.15s ease;

  --spacing-xs:  4px;
  --spacing-sm:  8px;
  --spacing-md:  16px;
  --spacing-lg:  24px;
  --spacing-xl:  48px;
  --spacing-2xl: 80px;
  --spacing-3xl: 120px;
}

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

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
  overflow-x: clip; /* clip (not hidden), preserves sticky .header across site */
}

body {
  font-family: var(--font-hebrew);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--color-primary);
  background: var(--color-white);
  direction: rtl;
  overflow-x: clip; /* clip (not hidden), preserves sticky .header across site */
}

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

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}

ul, ol { list-style: none; }

button {
  border: none;
  background: none;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  padding: 0;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.25;
}

/* ── Typography System ──────────────────────────────────── */
h1 { font-size: clamp(2rem,   5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 4vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 3vw, 1.9rem); }
h4 { font-size: clamp(1.1rem, 2.5vw, 1.4rem); }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }

.display-title {
  font-family: var(--font-hebrew);
  font-weight: 300;
  letter-spacing: 0.04em;
}

.section-subtitle {
  font-size: 0.9rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-gray);
  font-weight: 500;
}

/* ── English italic kicker (editorial brand pattern, paired above Hebrew subtitle) ── */
.section-kicker-en {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.1rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
  margin: 0 0 4px;
  text-transform: none;
  font-weight: 400;
}

/* ── Layout Utilities ───────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--spacing-lg);
}

.section-pad {
  padding-block: var(--spacing-2xl);
}

.section-pad-lg {
  padding-block: var(--spacing-3xl);
}

.grid {
  display: grid;
}

.flex {
  display: flex;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

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

.gap-sm { gap: var(--spacing-sm); }
.gap-md { gap: var(--spacing-md); }
.gap-lg { gap: var(--spacing-lg); }

.text-center  { text-align: center; }
.text-right   { text-align: right; }
.text-left    { text-align: left; }
.text-white   { color: var(--color-white); }
.text-primary { color: var(--color-primary); }
.text-gray    { color: var(--color-gray); }
.text-cream   { color: var(--color-cream); }

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

.w-full  { width: 100%; }
.h-full  { height: 100%; }
.hidden  { display: none !important; }
.sr-only,
.screen-reader-text {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  position: fixed;
  top: 6px; left: 50%; transform: translateX(-50%);
  width: auto; height: auto; clip: auto;
  padding: 12px 24px;
  background: #303827; color: #fff;
  font-size: 1rem; font-weight: 700;
  border-radius: 4px; z-index: 99999;
  text-decoration: none; white-space: nowrap;
}

/* ── Accessibility: global focus indicator ──────────────── */
:focus-visible {
  outline: 3px solid #303827;
  outline-offset: 2px;
}

/* ── Buttons ────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: 11px 28px;
  border-radius: var(--radius-full);
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
  border: 1.5px solid transparent;
  text-decoration: none;
}

.btn-primary {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}
.btn-primary:hover {
  background: var(--color-olive);
  border-color: var(--color-olive);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.btn-secondary {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}
.btn-secondary:hover {
  background: var(--color-olive);
  border-color: var(--color-olive);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.btn-white {
  background: var(--color-white);
  color: var(--color-primary);
  border-color: var(--color-white);
}
.btn-white:hover {
  background: var(--color-cream);
  border-color: var(--color-cream);
  transform: translateY(-1px);
}

.btn-outline-white {
  background: transparent;
  color: var(--color-white);
  border-color: var(--color-white);
}
.btn-outline-white:hover {
  background: var(--color-white);
  color: var(--color-primary);
}

.btn-sm {
  padding: 8px 20px;
  font-size: 0.875rem;
}

.btn-lg {
  padding: 16px 44px;
  font-size: 1.05rem;
}

.btn-whatsapp {
  background: #25D366;
  color: var(--color-white);
  border-color: #25D366;
}
.btn-whatsapp:hover {
  background: #1ebe5c;
  border-color: #1ebe5c;
}

/* ── Top Bar ────────────────────────────────────────────── */
.topbar {
  background: var(--color-primary);
  color: var(--color-white);
  height: var(--topbar-height);
  display: flex;
  align-items: center;
  position: relative;
  z-index: 100;
}

.topbar .container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-xl);
}

.topbar-message {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.topbar-message::before {
  content: '🌿';
  font-size: 0.9rem;
}

.topbar-links {
  display: flex;
  gap: var(--spacing-md);
  font-size: 0.8rem;
  position: absolute;
  inset-inline-start: var(--spacing-lg);
}

.topbar-links a {
  color: rgba(255,255,255,0.8);
  transition: color var(--transition-fast);
}
.topbar-links a:hover { color: var(--color-white); }

/* ── Header ─────────────────────────────────────────────── */
.header {
  background: var(--color-cream);
  height: var(--header-height);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 1px 0 rgba(48, 56, 39, 0.08);
  transition: height 0.28s ease, box-shadow 0.28s ease, background 0.28s ease, backdrop-filter 0.28s ease;
}
.header,
.header a,
.header .nav-link,
.header .topbar,
.header button { font-weight: 700 !important; }

/* Sticky compact mode — triggered by .scrolled / .is-scrolled (added by main.js on scroll>20) */
.header.scrolled,
.header.is-scrolled {
  height: 64px;
  background: rgba(255, 252, 246, 0.92);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  box-shadow: 0 6px 18px rgba(48, 56, 39, 0.10);
}
.header.scrolled .header-logo img,
.header.is-scrolled .header-logo img {
  max-height: 38px;
  transition: max-height 0.28s ease;
}
.header-logo img {
  transition: max-height 0.28s ease;
}
@media (max-width: 768px) {
  .header.scrolled,
  .header.is-scrolled { height: 56px; }
  .header.scrolled .header-logo img,
  .header.is-scrolled .header-logo img { max-height: 32px; }
}

.header .container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-lg);
}

.header-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.header-logo img {
  height: 28px;
  width: auto;
}

/* ── Main Navigation ────────────────────────────────────── */
.header-nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-list {
  display: flex;
  align-items: center;
  gap: 2px;
  list-style: none;
}

.nav-item {
  position: relative;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--color-primary);
  border-radius: var(--radius-sm);
  transition: all var(--transition-fast);
  white-space: nowrap;
}

.nav-link:hover,
.nav-link.active {
  color: var(--color-olive);
  background: var(--color-cream);
}

.nav-link .chevron {
  width: 14px;
  height: 14px;
  transition: transform var(--transition-fast);
}

.nav-item:hover .nav-link .chevron {
  transform: rotate(180deg);
}

/* ── Dropdown ───────────────────────────────────────────── */
.dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xl);
  border: 1px solid var(--color-light-gray);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all var(--transition);
  z-index: 200;
  overflow: hidden;
}

.nav-item:hover .dropdown,
.nav-item:focus-within .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown-link {
  display: block;
  padding: 11px var(--spacing-md);
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-light-gray);
  transition: background var(--transition-fast);
}
.dropdown-link:last-child { border-bottom: none; }
.dropdown-link:hover {
  background: var(--color-cream);
  color: var(--color-olive);
}

/* Nested dropdown (sub-submenu, like Figma's "עץ דקורטיבי בכד") */
.dropdown-item.has-submenu { position: relative; }
.dropdown-item.has-submenu > .dropdown-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.dropdown-arrow {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  opacity: 0.6;
}
.dropdown-submenu {
  position: absolute;
  top: 0;
  inset-inline-end: 100%;
  min-width: 200px;
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xl);
  border: 1px solid var(--color-light-gray);
  opacity: 0;
  visibility: hidden;
  transform: translateX(8px);
  transition: all var(--transition);
  overflow: hidden;
  margin-inline-end: 4px;
}
.dropdown-item.has-submenu:hover > .dropdown-submenu,
.dropdown-item.has-submenu:focus-within > .dropdown-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* ── Header Icons ───────────────────────────────────────── */
.header-icons {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.header-icon-btn {
  position: relative;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  transition: background var(--transition-fast);
  color: var(--color-primary);
}
.header-icon-btn:hover {
  background: var(--color-cream);
}
.header-icon-btn img,
.header-icon-btn svg {
  width: 22px;
  height: 22px;
}

/* Reset button-element defaults so #headerCartBtn looks identical to <a> siblings */
button.header-icon-btn { border: none; background: none; padding: 0; cursor: pointer; }

/* Cart icon wrapper — needs relative position for badge positioning */
.header-icon-btn[aria-label="סל קניות"] { position: relative; }

/* Cart badge — matches wishlist badge style (static, no animation) */
.cart-badge {
  position: absolute;
  top: 4px;
  right: -2px;
  left: auto;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: #B3574A;
  color: #fff;
  font-family: var(--font-hebrew);
  font-size: 10px;
  font-weight: 700;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  pointer-events: none;
  z-index: 2;
}

.hamburger-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  transition: background var(--transition-fast);
}
.hamburger-btn:hover { background: var(--color-cream); }

.hamburger-btn span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--color-primary);
  border-radius: 2px;
  transition: all var(--transition);
}

.hamburger-btn.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.hamburger-btn.open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.hamburger-btn.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ── Full-Screen Mobile Menu Overlay ────────────────────── */
.mobile-menu {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  background: #303827;
  z-index: 1600;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.32s ease, visibility 0.32s ease;
  overflow: hidden;
}
.mobile-menu.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Close button */
.mobile-menu-close {
  position: absolute;
  top: 20px;
  left: 20px; /* LTR left = RTL start — top-right visually */
  z-index: 10;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  color: #fff;
  transition: background 0.2s;
  border: none;
  cursor: pointer;
}
.mobile-menu-close:hover { background: rgba(255,255,255,0.2); }

/* Logo area */
.mobile-menu-logo {
  padding: 22px 28px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile-menu-logo img {
  height: 36px;
  filter: brightness(0) invert(1);
  width: auto;
}

/* Scrollable nav area */
.mobile-nav {
  flex: 1;
  overflow-y: auto;
  padding: 20px 0 8px;
  -webkit-overflow-scrolling: touch;
}

/* Category row: thumbnail + label + toggle */
.mobile-nav-item {
  border-bottom: 1px solid rgba(255,255,255,0.08);
  transform: translateY(18px);
  opacity: 0;
  transition: transform 0.35s ease, opacity 0.35s ease;
}
.mobile-menu.open .mobile-nav-item:nth-child(1) { transition-delay: 0.06s; transform: translateY(0); opacity: 1; }
.mobile-menu.open .mobile-nav-item:nth-child(2) { transition-delay: 0.12s; transform: translateY(0); opacity: 1; }
.mobile-menu.open .mobile-nav-item:nth-child(3) { transition-delay: 0.18s; transform: translateY(0); opacity: 1; }
.mobile-menu.open .mobile-nav-item:nth-child(4) { transition-delay: 0.24s; transform: translateY(0); opacity: 1; }
.mobile-menu.open .mobile-nav-item:nth-child(5) { transition-delay: 0.28s; transform: translateY(0); opacity: 1; }
.mobile-menu.open .mobile-nav-item:nth-child(6) { transition-delay: 0.32s; transform: translateY(0); opacity: 1; }
.mobile-menu.open .mobile-nav-item:nth-child(7) { transition-delay: 0.35s; transform: translateY(0); opacity: 1; }
.mobile-menu.open .mobile-nav-item:nth-child(8) { transition-delay: 0.38s; transform: translateY(0); opacity: 1; }
.mobile-menu.open .mobile-nav-item:nth-child(n+9) { transition-delay: 0.40s; transform: translateY(0); opacity: 1; }

.mobile-nav-category-row {
  display: flex;
  align-items: center;
  padding: 10px 24px;
  gap: 14px;
}

.mobile-nav-category-link {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  color: #fff;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: 700;
  font-family: var(--font-hebrew);
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.mobile-nav-category-link:hover { color: #b8c6a0; }

.mobile-nav-thumb {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1.5px solid rgba(255,255,255,0.15);
}

.mobile-nav-toggle {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  color: #fff;
  transition: all 0.22s;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
}
.mobile-nav-item.expanded .mobile-nav-toggle {
  transform: rotate(180deg);
  background: rgba(255,255,255,0.25);
}

/* Sub-links */
.mobile-submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s cubic-bezier(0.4, 0, 0.2, 1);
  background: rgba(0,0,0,0.2);
}
.mobile-nav-item.expanded .mobile-submenu {
  max-height: 700px;
}

.mobile-submenu-link {
  display: block;
  padding: 9px 30px 9px 24px;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.72);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: color 0.18s, background 0.18s;
  padding-inline-start: 86px; /* aligns under text, past thumbnail */
}
.mobile-submenu-link:hover {
  color: #fff;
  background: rgba(255,255,255,0.06);
}

/* Divider */
.mobile-nav-divider {
  height: 1px;
  background: rgba(255,255,255,0.15);
  margin: 10px 24px;
}

/* Utility links (אודות / Gift Card / מידע) */
.mobile-nav-item--utility {
  border-bottom: none;
}
.mobile-nav-util-link {
  display: block;
  padding: 9px 24px;
  font-size: 1rem;
  color: rgba(255,255,255,0.72);
  text-decoration: none;
  transition: color 0.18s;
}
.mobile-nav-util-link:hover { color: #fff; }

/* Footer: phone + social + CTA */
.mobile-menu-footer {
  padding: 18px 24px 28px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-shrink: 0;
}

.mobile-menu-phone {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,0.82);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
  transition: color 0.18s;
}
.mobile-menu-phone:hover { color: #fff; }

.mobile-menu-social {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mobile-menu-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  transition: background 0.18s, color 0.18s;
}
.mobile-menu-social-link:hover { background: rgba(255,255,255,0.22); color: #fff; }

.mobile-menu-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  background: #6c8b4a;
  color: #fff;
  border-radius: 100px;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s, transform 0.15s;
  flex-shrink: 0;
}
.mobile-menu-cta:hover { background: #82a85a; transform: translateY(-1px); }

/* ── Hero Section ───────────────────────────────────────── */
.hero {
  background: var(--color-cream);
  position: relative;
  height: 680px;
  overflow: hidden;
  display: block;
}

/* Dark olive-green panel filling left ~58% */
.hero-panel {
  position: absolute;
  left: 0;
  top: 0;
  width: 58%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}
.hero-panel-svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Decorative S-curve on cream side */
.hero-curve-deco {
  position: absolute;
  left: 50%;
  top: 0;
  width: 100px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  transform: translateX(-40px);
}

/* Hero text, LEFT dark panel */
.hero-content {
  position: absolute;
  left: 6%;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
  max-width: 520px;
  z-index: 6;
  color: #fff;
}

.hero-kicker-en {
  display: block;
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.82);
  letter-spacing: 0.8px;
  margin-bottom: 10px;
}

.hero-content h1 {
  font-family: var(--font-hebrew);
  font-size: 54px;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 20px;
  color: #fff;
}

.hero-content p {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 30px;
  color: rgba(255,255,255,0.85);
}

.hero-ctas {
  display: flex;
  gap: 14px;
}

.hero-btn {
  display: inline-block;
  background: var(--color-cream);
  color: var(--color-primary);
  padding: 13px 36px;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 700;
  transition: all 0.3s;
  text-decoration: none;
}
.hero-btn:hover {
  background: #fff;
  opacity: 1;
  transform: translateY(-2px);
}

.hero-btn.hero-btn-outline {
  background: transparent;
  color: var(--color-cream);
  border: 2px solid var(--color-cream);
  padding: 11px 34px;
}
.hero-btn.hero-btn-outline:hover {
  background: rgba(242,240,232,0.12);
  color: var(--color-cream);
}

/* Hero trust micro-copy — sits below CTAs on the dark panel */
.hero-trust {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-family: var(--font-hebrew);
  font-size: 13px;
  font-weight: 700;
  color: var(--color-cream);
  opacity: 0.88;
}
.hero-trust li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.hero-trust svg { flex-shrink: 0; opacity: 0.85; }
@media (max-width: 640px) {
  .hero-trust { gap: 10px; font-size: 12px; justify-content: center; margin-top: 16px; }
}

/* Wishlist badge on header heart icon */
.wishlist-badge {
  position: absolute;
  top: 4px;
  right: -2px;
  left: auto;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: #B3574A;
  color: #fff;
  font-family: var(--font-hebrew);
  font-size: 10px;
  font-weight: 700;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  pointer-events: none;
  z-index: 2;
}

/* Footer contact column (4th column) */
.footer-contact-col .footer-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-contact-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-cream);
  text-decoration: none;
  font-size: 0.9rem;
  line-height: 1.4;
  transition: opacity 0.2s;
}
a.footer-contact-item:hover { opacity: 0.75; }
.footer-contact-item svg { flex-shrink: 0; opacity: 0.85; }
.footer-social {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px;
  margin-top: 6px;
}
.footer-social-link {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(242,240,232,0.3);
  color: var(--color-cream);
  transition: all 0.2s;
}
.footer-social-link:hover {
  background: var(--color-cream);
  color: var(--color-primary);
  border-color: var(--color-cream);
}

/* Product card wishlist heart */
.product-card-wish {
  position: absolute;
  top: 10px;
  inset-inline-start: 10px;
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(255,255,255,0.92);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-primary);
  transition: all 0.2s;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.product-card-wish:hover { background: #fff; transform: scale(1.08); }
.product-card-wish.is-active { background: var(--color-primary); color: var(--color-cream); }
.product-card-wish svg { width: 18px; height: 18px; }
.product-card-image { position: relative; }

/* Plant image, RIGHT cream area */
.hero-image {
  position: absolute;
  right: 4%;
  left: auto;
  top: 50%;
  transform: translateY(-50%);
  width: 42%;
  height: 88%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* PNG hero with already-transparent bg (no blending needed) */
.hero-image-png img {
  background: transparent;
}
.hero-image-png { background: transparent; }

/* ── Hero image crossfade slider (4 slides, 24s cycle) ── */
/* No position override here — inherit absolute from .hero-image so bottom/top offsets work */
.hero-slide {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}
/* Crossfade slideshow — 30s cycle (6s per slide) */
.hero-slide-1 { animation: heroSlide1 30s ease-in-out infinite; }
.hero-slide-2 { animation: heroSlide2 30s ease-in-out infinite; }
.hero-slide-3 { animation: heroSlide3 30s ease-in-out infinite; }
.hero-slide-4 { animation: heroSlide4 30s ease-in-out infinite; }
.hero-slide-5 { animation: heroSlide5 30s ease-in-out infinite; }

/* 5 phases at 20% each (6s each). 17%/20% = ~1s crossfade. */
@keyframes heroSlide1 {
  0%, 17%    { opacity: 1; }
  20%, 97%   { opacity: 0; }
  100%       { opacity: 1; }
}
@keyframes heroSlide2 {
  0%, 17%    { opacity: 0; }
  20%, 37%   { opacity: 1; }
  40%, 100%  { opacity: 0; }
}
@keyframes heroSlide3 {
  0%, 37%    { opacity: 0; }
  40%, 57%   { opacity: 1; }
  60%, 100%  { opacity: 0; }
}
@keyframes heroSlide4 {
  0%, 57%    { opacity: 0; }
  60%, 77%   { opacity: 1; }
  80%, 100%  { opacity: 0; }
}
@keyframes heroSlide5 {
  0%, 77%    { opacity: 0; }
  80%, 97%   { opacity: 1; }
  100%       { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-slide { animation: none !important; }
  .hero-slide-1 { opacity: 1; }
  .hero-slide-2, .hero-slide-3, .hero-slide-4, .hero-slide-5 { opacity: 0; }
}

.hero-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

/* ── Section Headers ────────────────────────────────────── */
.section-header {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.section-header .section-subtitle {
  margin-bottom: var(--spacing-sm);
}

.section-header h2 {
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
}

.section-header p {
  color: var(--color-gray);
  max-width: 560px;
  margin-inline: auto;
  font-size: 1.05rem;
}

.section-header .divider {
  width: 50px;
  height: 3px;
  background: var(--color-primary);
  border-radius: 2px;
  margin: var(--spacing-md) auto 0;
}

/* ── Category Cards ─────────────────────────────────────── */
.categories-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--spacing-md);
}

.category-card {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: pointer;
  group: true;
}

.category-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.category-card:hover .category-card-img {
  transform: scale(1.07);
}

.category-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(48,56,39,0.78), transparent 55%);
  transition: opacity var(--transition);
}

.category-card:hover .category-card-overlay {
  opacity: 0.9;
}

.category-card-body {
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  padding: var(--spacing-md) var(--spacing-md) var(--spacing-sm);
  color: var(--color-white);
}

.category-card-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 4px;
}

.category-card-count {
  font-size: 0.8rem;
  opacity: 0.78;
}

.category-card-arrow {
  position: absolute;
  bottom: var(--spacing-md);
  left: var(--spacing-md);
  width: 34px;
  height: 34px;
  background: rgba(255,255,255,0.2);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  color: var(--color-white);
  opacity: 0;
  transform: translateY(8px);
  transition: all var(--transition);
  backdrop-filter: blur(6px);
}
.category-card:hover .category-card-arrow {
  opacity: 1;
  transform: translateY(0);
}

/* ── Magazine Asymmetric Category Grid ───────────────────── */
.mag-grid {
  display: grid;
  grid-template-columns: 1.9fr 1fr 1fr;
  grid-template-rows: 1fr 1.05fr 0.85fr;
  gap: 8px;
  height: 80vh;
  min-height: 540px;
  max-height: 860px;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.mag-card {
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none;
  cursor: pointer;
}

/* HERO spans all 3 rows */
.mag-card.mag-hero {
  grid-row: 1 / 4;
}

/* Wide cards (כדי נוי + קירות ירוקים) spanning cols 2-3 */
.mag-card.mag-green-wall {
  grid-column: 2 / 4;
}

.mag-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Pots image — cover, pots centered in frame */
.mag-card.pots-card img {
  object-fit: cover;
  object-position: center center;
}

/* Trees — lifestyle photo, fill the card naturally */
.mag-card.trees-card {
  background: #3d3020;
}
.mag-card.trees-card img {
  object-fit: cover;
  object-position: center 20%;
  padding: 0;
}

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

/* Dark gradient from bottom */
.mag-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(20, 28, 14, 0.88) 0%,
    rgba(20, 28, 14, 0.18) 55%,
    transparent 100%
  );
  transition: background 0.4s;
}

.mag-card:hover::after {
  background: linear-gradient(
    to top,
    rgba(20, 28, 14, 0.94) 0%,
    rgba(20, 28, 14, 0.3) 65%,
    transparent 100%
  );
}

.mag-content {
  position: absolute;
  bottom: 24px;
  inset-inline: 24px;
  z-index: 2;
  color: #ffffff;
}

.mag-card.mag-hero .mag-content {
  bottom: 40px;
  inset-inline: 36px;
}

.mag-eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 10px;
  font-weight: 400;
}

.mag-name {
  font-family: var(--font-hebrew);
  font-size: clamp(1.05rem, 2vw, 1.6rem);
  font-weight: 900;
  line-height: 1.15;
  color: #ffffff;
  text-shadow:
    0 2px 8px rgba(0, 0, 0, 0.55),
    0 4px 20px rgba(0, 0, 0, 0.35);
  margin: 0;
  letter-spacing: 0.01em;
}

.mag-card.mag-hero .mag-name {
  font-size: clamp(1.7rem, 3.2vw, 2.8rem);
  text-shadow:
    0 3px 12px rgba(0, 0, 0, 0.65),
    0 6px 28px rgba(0, 0, 0, 0.4);
}

.mag-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #F2EFE0;
  color: #303827;
  border-radius: 50%;
  font-size: 1rem;
  margin-top: 14px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  text-decoration: none;
}

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

/* Responsive: tablet (≤900px) */
@media (max-width: 900px) {
  .mag-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    height: auto;
    min-height: unset;
    max-height: unset;
    gap: 6px;
  }
  /* Hero spans both columns */
  .mag-card.mag-hero {
    grid-column: 1 / 3;
    grid-row: auto;
    aspect-ratio: 16 / 7;
  }
  /* Wide cards also span both columns on tablet */
  .mag-card.mag-green-wall {
    grid-column: 1 / 3;
  }
  /* Regular cards */
  .mag-card {
    aspect-ratio: 4 / 3;
  }
}

/* Responsive: mobile (≤540px) — hero on top (big), 5 equal cards in 2-col grid */
@media (max-width: 540px) {
  .mag-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 8px;
  }
  /* HERO (עץ מלאכותי בכד) — full width, taller, bolder */
  .mag-card.mag-hero {
    grid-column: 1 / 3;
    grid-row: auto;
    aspect-ratio: 4 / 5;
  }
  /* All other cards — equal squares */
  .mag-card,
  .mag-card.mag-green-wall {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 1 / 1;
  }
  /* Push titles to bottom of the card */
  .mag-card .mag-content {
    bottom: 10px;
    inset-inline: 14px;
  }
  .mag-card.mag-hero .mag-content {
    bottom: 18px;
    inset-inline: 20px;
  }
}

/* ── Product Card ───────────────────────────────────────── */
.products-section {
  background: #fff;
  padding-block: var(--spacing-lg) var(--spacing-2xl);
}
.products-section .section-header {
  margin-bottom: var(--spacing-md);
}

.product-card {
  background: transparent;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  transition: all var(--transition);
  position: relative;
  border: none;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.product-card:hover {
  box-shadow: none;
  transform: none;
}

.product-card-image {
  position: relative;
  aspect-ratio: 1;
  overflow: visible;
  background: transparent;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
}
.product-card-image::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 4%;
  width: 78%;
  height: 48%;
  background: url('../images/product-blob.svg') no-repeat center / 100% 100%;
  transform: translateX(-50%);
  z-index: 0;
  pointer-events: none;
}

.product-card-image a {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.product-card-image img {
  max-width: 88%;
  max-height: 130%;
  object-fit: contain;
  mix-blend-mode: normal;
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 12px 18px rgba(48,56,39,0.18));
}

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

.product-card-badge {
  position: absolute;
  top: 8%;
  right: 10%;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  z-index: 3;
}
.badge-sale {
  background: var(--color-sale);
  color: var(--color-white);
}
.badge-new {
  background: var(--color-primary);
  color: var(--color-white);
}

.product-card-wishlist {
  display: none;
}
.product-card:hover .product-card-wishlist {
  display: none;
}
.product-card-wishlist img {
  width: 18px;
  height: 18px;
}
.product-card-wishlist:hover {
  background: var(--color-cream);
  transform: scale(1.1);
}
.product-card-wishlist.active img {
  filter: invert(25%) sepia(80%) saturate(600%) hue-rotate(330deg);
}

.product-card-add {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 0;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-size: 0;
  border: none;
  cursor: pointer;
  transition: all var(--transition);
  z-index: 2;
  padding: 0;
  line-height: 1;
  opacity: 1;
}
.product-card-add::after {
  content: '+';
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  line-height: 1;
}
.product-card:hover .product-card-add {
  opacity: 1;
  transform: none;
  background: var(--color-olive);
  color: #fff;
}
.product-card-add:hover {
  background: var(--color-olive) !important;
  color: #fff !important;
  transform: scale(1.08);
}

.product-card-body {
  padding: 12px 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.product-card-category {
  display: none !important;
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 0.82rem;
  color: var(--color-olive);
  letter-spacing: 0.3px;
  text-transform: none;
  margin-bottom: 4px;
}

.product-card-title {
  font-family: var(--font-hebrew);
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 5px;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.product-card-title a:hover { color: var(--color-olive); }

.product-card-rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-bottom: 8px;
}

.stars {
  color: #c8a84b;
  font-size: 0.78rem;
  letter-spacing: 0.5px;
}

.rating-count {
  font-family: var(--font-hebrew);
  font-size: 0.76rem;
  color: rgba(48, 56, 39, 0.55);
}

.product-card-price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 4px;
}

.price-current {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-primary);
}

.price-original {
  font-size: 0.9rem;
  color: var(--color-gray-light);
  text-decoration: line-through;
}

.price-discount {
  font-size: 0.75rem;
  color: var(--color-sale);
  font-weight: 600;
  background: rgba(192,57,43,0.08);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
}

/* ── Products Carousel / Grid ───────────────────────────── */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-md);
}

.products-carousel-wrap {
  position: relative;
}

.products-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc(25% - 12px);
  gap: var(--spacing-md);
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 4px;
}
.products-carousel::-webkit-scrollbar { display: none; }

/* Mobile: enable touch-swipe with snap + show partial next card so users know
   they can scroll horizontally for more products */
@media (max-width: 768px) {
  .products-carousel {
    grid-auto-columns: calc(50% - 8px) !important; /* 2 cards per view */
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline-start: 14px;
    padding: 4px 14px 12px;
    margin: 0 -14px;
  }
  .products-carousel > * {
    scroll-snap-align: start;
  }
}
@media (max-width: 480px) {
  .products-carousel {
    grid-auto-columns: calc(50% - 6px) !important;
    gap: 12px;
  }
}

/* Carousel arrows — Figma "What's New" spec: large cream circles with soft shadow */
.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  background: var(--color-cream);
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(48, 56, 39, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  color: var(--color-primary);
  border: 0;
  cursor: pointer;
}
.carousel-btn svg {
  width: 20px;
  height: 20px;
  stroke: var(--color-primary);
  stroke-width: 2.2;
  transform: scaleX(-1);
}
.carousel-btn:hover {
  background: #fff;
  box-shadow: 0 10px 24px rgba(48, 56, 39, 0.22);
  transform: translateY(-50%) scale(1.06);
}
.carousel-btn-prev { right: -28px; }
.carousel-btn-next { left: -28px; }

/* ── SALE Banner (full-bleed, leaves bg + overlay) ───────── */
.sale-banner {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.sale-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.sale-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.1) brightness(0.9);
}
.sale-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(48,56,39,0.55) 0%, rgba(48,56,39,0.72) 100%);
}
.sale-content {
  position: relative;
  z-index: 2;
  max-width: 620px;
  padding: 56px 24px;
  color: #fff;
}
.sale-kicker {
  font-family: var(--font-hebrew);
  font-size: clamp(5rem, 14vw, 9.5rem);
  font-weight: 900;
  letter-spacing: -4px;
  line-height: 0.85;
  color: transparent;
  -webkit-text-stroke: 2.5px rgba(255,255,255,0.75);
  text-stroke: 2.5px rgba(255,255,255,0.75);
  margin-bottom: 8px;
  text-transform: uppercase;
  display: block;
  text-shadow: none;
}
.sale-title {
  font-family: var(--font-hebrew, inherit);
  font-size: clamp(1.5rem, 3.5vw, 2.4rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  margin: 0 0 12px;
  letter-spacing: -0.3px;
  text-shadow: 0 2px 16px rgba(0,0,0,0.25);
}
.sale-pct {
  color: var(--color-cream, #F2EFE0);
  font-size: 1.15em;
}
.sale-subtitle {
  font-size: 1rem;
  font-weight: 400;
  color: rgba(255,255,255,0.82);
  margin: 0 0 28px;
  line-height: 1.55;
  letter-spacing: 0.2px;
}
.sale-btn {
  display: inline-block;
  background: #fff;
  color: var(--color-primary);
  padding: 13px 32px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.3px;
  border-radius: 30px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
.sale-btn:hover {
  background: var(--color-cream);
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0,0,0,0.22);
}

/* ── Collection Section ─────────────────────────────────── */
.collection-section {
  background: var(--color-cream);
  padding-block: var(--spacing-3xl);
}

.collection-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: var(--spacing-2xl);
}

.collection-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.collection-circle {
  width: 480px;
  height: 480px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  background: var(--color-primary);
  flex-shrink: 0;
}

.collection-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: luminosity;
  opacity: 0.85;
}

.collection-badge {
  position: absolute;
  bottom: 30px;
  right: -20px;
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: var(--spacing-md);
  box-shadow: var(--shadow-lg);
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  min-width: 160px;
}

.collection-badge-icon {
  width: 42px;
  height: 42px;
  background: var(--color-cream);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  flex-shrink: 0;
}

.collection-badge-text {
  font-size: 0.8rem;
  line-height: 1.3;
}
.collection-badge-text strong {
  display: block;
  font-size: 1.1rem;
}

.collection-content {
  padding-inline-start: var(--spacing-lg);
}

.collection-content h2 {
  margin-bottom: var(--spacing-md);
}

.collection-content p {
  color: var(--color-gray);
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: var(--spacing-xl);
}

.collection-features {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-xl);
}

.collection-feature {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  padding: var(--spacing-md);
  background: var(--color-white);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-light-gray);
}

.collection-feature-icon {
  width: 46px;
  height: 46px;
  background: var(--color-cream);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}

/* ── Why Us / Features ──────────────────────────────────── */
.features-section {
  padding-block: var(--spacing-2xl);
  background: var(--color-white);
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-lg);
}

.feature-card {
  text-align: center;
  padding: var(--spacing-xl) var(--spacing-lg);
  border-radius: var(--radius-lg);
  background: var(--color-cream);
  transition: all var(--transition);
  border: 1px solid transparent;
}

.feature-card:hover {
  border-color: var(--color-primary);
  background: var(--color-white);
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}

.feature-icon {
  width: 70px;
  height: 70px;
  background: var(--color-primary);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--spacing-md);
  transition: all var(--transition);
}

.feature-icon img {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(1);
}

.feature-card:hover .feature-icon {
  background: var(--color-olive);
}

.feature-card h4 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: var(--spacing-sm);
  color: var(--color-primary);
}

.feature-card p {
  font-size: 0.875rem;
  color: var(--color-gray);
  line-height: 1.6;
}

/* ── Testimonials ───────────────────────────────────────── */
/* ══════════════════════════════════════════════════════════
   TESTIMONIALS, Signature: dark olive with monstera leaf bg
   + organic cream blob edges + white floating quote cards
══════════════════════════════════════════════════════════ */
.testimonials-section {
  position: relative;
  background: var(--color-primary);
  padding: 120px 0 140px;
  overflow: hidden;
  isolation: isolate;
}
/* Leaf background image, subtle opacity for tone */
.testimonials-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('../images/banners/banner_garden_10.png');
  background-size: cover;
  background-position: center;
  opacity: 0.28;
  z-index: -2;
}
/* Dark olive gradient overlay for brand-tinted feel */
.testimonials-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(48,56,39,0.35), rgba(48,56,39,0.55));
  z-index: -1;
}
/* Organic cream blobs bleeding in from left & right */
.testimonials-blob {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 240px;
  background: var(--color-cream);
  pointer-events: none;
  z-index: 1;
}
.testimonials-blob-right {
  right: -100px;
  clip-path: ellipse(78% 62% at 100% 50%);
}
.testimonials-blob-left {
  left: -100px;
  clip-path: ellipse(78% 62% at 0% 50%);
}

.testimonials-section .section-header {
  position: relative;
  z-index: 2;
  text-align: center;
  margin-bottom: var(--spacing-2xl);
}
.testimonials-section .section-subtitle { display: none; }
.testimonials-section .section-header h2 {
  font-family: var(--font-hebrew);
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  margin: 0;
  line-height: 1.15;
}
.testimonials-section .section-header .divider { display: none; }

.testimonials-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
}

/* ── Carousel ── */
.testimonials-carousel {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
}
.testimonials-arrow {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,0.96);
  border: none;
  color: var(--color-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(0,0,0,0.22);
  transition: all var(--transition);
}
.testimonials-arrow:hover:not(:disabled) {
  background: #fff;
  transform: scale(1.06);
  box-shadow: 0 10px 22px rgba(0,0,0,0.28);
}
.testimonials-arrow:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.testimonials-arrow svg { width: 22px; height: 22px; }

.testimonials-carousel-viewport {
  flex: 1;
  overflow: hidden;
  min-width: 0;
}
.testimonials-carousel-track {
  display: flex;
  gap: 22px;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.testimonials-carousel-track .testimonial-card {
  flex: 0 0 calc((100% - 44px) / 3);
  min-width: 0;
}

/* Pagination dots */
.testimonials-dots {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}
.testimonials-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  cursor: pointer;
  transition: all var(--transition);
}
.testimonials-dot:hover { background: rgba(255,255,255,0.55); }
.testimonials-dot.is-active {
  background: #fff;
  width: 22px;
  border-radius: 999px;
}
@media (max-width: 992px) {
  .testimonials-carousel-track .testimonial-card {
    flex: 0 0 calc((100% - 22px) / 2);
  }
}
@media (max-width: 640px) {
  .testimonials-carousel-track .testimonial-card { flex: 0 0 100%; }
  .testimonials-arrow { width: 40px; height: 40px; }
  .testimonials-arrow svg { width: 18px; height: 18px; }
}

.testimonial-card {
  position: relative;
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 44px 32px 28px;
  box-shadow: 0 20px 48px rgba(0,0,0,0.18);
  border: none;
  transition: transform var(--transition), box-shadow var(--transition);
}
.testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 60px rgba(0,0,0,0.22);
}

.testimonial-quote { display: none; }
.testimonial-quote-DISABLED::before,
.testimonial-quote-DISABLED::after {
  content: "";
  width: 12px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'><path d='M4 0C1.8 0 0 1.8 0 4v6c0 2.2 1.8 4 4 4v-4H2V4h2V0zM12 0c-2.2 0-4 1.8-4 4v6c0 2.2 1.8 4 4 4v-4h-2V4h2V0z' fill='black'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'><path d='M4 0C1.8 0 0 1.8 0 4v6c0 2.2 1.8 4 4 4v-4H2V4h2V0zM12 0c-2.2 0-4 1.8-4 4v6c0 2.2 1.8 4 4 4v-4h-2V4h2V0z' fill='black'/></svg>") center / contain no-repeat;
}
.testimonial-quote::after { display: none; }

.testimonial-text {
  font-family: var(--font-hebrew);
  font-size: 0.98rem;
  line-height: 1.75;
  color: rgba(48,56,39,0.82);
  margin: 14px 0 30px;
  font-style: normal;
  text-align: right;
}

.testimonial-author {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(48,56,39,0.08);
}

.testimonial-avatar {
  width: 38px;
  height: 38px;
  border-radius: var(--radius-full);
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  order: 2;
}

.testimonial-avatar-placeholder {
  width: 38px;
  height: 38px;
  border-radius: var(--radius-full);
  background: var(--color-olive);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-hebrew);
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
  order: 2;
}

.testimonial-name {
  font-family: var(--font-hebrew);
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--color-primary);
  order: 1;
}
.testimonial-role { display: none; }

@media (max-width: 992px) {
  .testimonials-section { padding: 80px 0 100px; }
  .testimonials-grid { grid-template-columns: 1fr; gap: 20px; max-width: 520px; margin-inline: auto; }
  .testimonials-blob { display: none; }
}

/* ── Newsletter ─────────────────────────────────────────── */
.newsletter-section {
  background: var(--color-primary);
  padding-block: var(--spacing-2xl);
  position: relative;
  overflow: hidden;
}

.newsletter-section::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  border: 80px solid rgba(255,255,255,0.04);
  pointer-events: none;
}

.newsletter-section::after {
  content: '';
  position: absolute;
  bottom: -80px;
  left: -60px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  border: 60px solid rgba(255,255,255,0.03);
  pointer-events: none;
}

.newsletter-inner {
  text-align: center;
  color: var(--color-white);
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 auto;
}

.newsletter-inner h2 {
  margin-bottom: var(--spacing-md);
}

.newsletter-inner p {
  opacity: 0.82;
  margin-bottom: var(--spacing-xl);
  font-size: 1.05rem;
}

.newsletter-form {
  display: flex;
  gap: var(--spacing-sm);
  max-width: 480px;
  margin: 0 auto;
}

.newsletter-input {
  flex: 1;
  padding: 13px var(--spacing-md);
  border-radius: var(--radius-full);
  border: 2px solid rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.12);
  color: var(--color-white);
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  outline: none;
  transition: border-color var(--transition-fast);
  text-align: right;
}
.newsletter-input::placeholder { color: rgba(255,255,255,0.5); }
.newsletter-input:focus { border-color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.18); }

/* ── Footer ─────────────────────────────────────────────── */
.footer {
  background: var(--color-cream);
  color: var(--color-primary);
  padding-top: var(--spacing-3xl);
  border-top: 1px solid rgba(48,56,39,0.08);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: var(--spacing-xl);
  padding-bottom: var(--spacing-2xl);
  border-bottom: 1px solid rgba(48,56,39,0.12);
}

.footer-brand-logo {
  display: inline-block;
  height: 38px;
  margin-bottom: var(--spacing-sm);
  opacity: 1;
  line-height: 0;
}
.footer-brand-logo img {
  display: block;
  height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.footer-tagline {
  font-size: 0.9rem;
  color: rgba(48,56,39,0.7);
  line-height: 1.6;
  margin-bottom: var(--spacing-lg);
  max-width: 280px;
}

.footer-social {
  display: flex;
  gap: var(--spacing-sm);
}

.social-icon {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
  text-decoration: none;
  overflow: hidden;
}
.social-icon img {
  width: 28px;
  height: 28px;
  display: block;
  border-radius: var(--radius-full);
}
.social-icon:hover {
  transform: translateY(-2px);
  opacity: 0.88;
}

.footer-col h4 {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: var(--spacing-md);
  padding-bottom: var(--spacing-sm);
  border-bottom: 1px solid rgba(48,56,39,0.15);
}

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

.footer-links-list a {
  font-size: 0.875rem;
  color: rgba(48,56,39,0.72);
  transition: color var(--transition-fast);
  display: flex;
  align-items: center;
  gap: 6px;
}
.footer-links-list a:hover {
  color: var(--color-primary);
}
.footer-links-list a::before {
  /* Decorative marker removed per design — owner asked for clean list on
     mobile (and it wasn't pulling weight on desktop either). */
  content: none;
}

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

.footer-contact-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  font-size: 0.875rem;
  color: rgba(48,56,39,0.72);
}

/* Hours + location stacked content */
.footer-contact-hours { align-items: flex-start; }
.footer-contact-hours .icon { margin-top: 2px; }
.footer-hours-stack {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--font-hebrew);
}
.footer-hours-stack span {
  font-size: 0.875rem;
  color: rgba(48,56,39,0.72);
  line-height: 1.5;
}
.footer-hours-stack small {
  display: block;
  margin-top: 4px;
  font-size: 0.75rem;
  color: rgba(48,56,39,0.5);
  font-family: var(--font-hebrew) !important;
  font-style: normal;
  line-height: 1.4;
}

.footer-contact-item .icon {
  width: 32px;
  height: 32px;
  background: rgba(48,56,39,0.08);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.9rem;
  color: var(--color-primary);
}

.footer-bottom {
  padding-block: var(--spacing-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
}

.footer-copyright {
  font-size: 0.8rem;
  color: rgba(48,56,39,0.55);
}

.footer-payment {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.footer-payment img {
  height: 22px;
  width: auto;
  max-width: 52px;
  object-fit: contain;
  opacity: 0.82;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  transition: opacity var(--transition-fast);
}
.footer-payment img:hover {
  opacity: 1;
}

/* ══════════════════════════════════════════════════════════
   FOOTER, UPGRADED (Garden Accessories brand name + newsletter)
══════════════════════════════════════════════════════════ */

/* Large brand name replaces logo image in footer */
.footer-brand-name {
  font-family: var(--font-hebrew);
  font-size: clamp(2.2rem, 3.5vw, 3rem);
  font-weight: 400;
  color: var(--color-primary);
  line-height: 1;
  letter-spacing: 0.5px;
  margin: 0;
}
.footer-brand-sub {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.05rem;
  color: rgba(48, 56, 39, 0.6);
  letter-spacing: 0.5px;
  margin: 6px 0 var(--spacing-lg);
}

/* Newsletter signup block */
.footer-newsletter {
  max-width: 440px;
}
.footer-newsletter-title {
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: rgba(48, 56, 39, 0.75);
  line-height: 1.6;
  margin: 0 0 var(--spacing-sm);
}
.footer-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}
.footer-newsletter-row {
  display: flex;
  gap: var(--spacing-sm);
  align-items: stretch;
}
.footer-newsletter-input {
  flex: 1;
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.15);
  border-radius: var(--radius-full);
  padding: 12px 22px;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: var(--color-primary);
  transition: border-color var(--transition);
  min-width: 0;
}
.footer-newsletter-input::placeholder { color: rgba(48, 56, 39, 0.45); }
.footer-newsletter-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(48, 56, 39, 0.08);
}
.footer-newsletter-submit {
  background: var(--color-primary);
  color: #fff;
  border: 1.5px solid var(--color-primary);
  border-radius: var(--radius-full);
  padding: 12px 28px;
  font-family: var(--font-hebrew);
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
}
.footer-newsletter-submit:hover {
  background: var(--color-olive);
  border-color: var(--color-olive);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.footer-newsletter-consent {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-hebrew);
  font-size: 0.82rem;
  color: rgba(48, 56, 39, 0.65);
  cursor: pointer;
  user-select: none;
}
.footer-newsletter-consent input[type="checkbox"] {
  width: 14px;
  height: 14px;
  accent-color: var(--color-primary);
  cursor: pointer;
}

/* Slightly wider first column to fit brand + newsletter */
.footer-grid.footer-grid-v2 {
  grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr;
}

/* Catalog links — use a subtle brand-tinted background so they stand out
   from regular nav links (they're high-intent conversion items). */
.footer-catalogs-list .footer-catalog-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: var(--radius-full, 999px);
  background: rgba(48,56,39,0.06);
  color: var(--color-primary);
  font-size: 0.88rem;
  font-weight: 500;
  transition: background var(--transition-fast, 0.15s), transform var(--transition-fast, 0.15s);
  text-decoration: none;
}
.footer-catalogs-list .footer-catalog-link:hover {
  background: rgba(48,56,39,0.12);
  transform: translateX(-2px);
}
.footer-catalogs-list .footer-catalog-link svg { flex-shrink: 0; }

/* Branded social buttons — the square chips make Facebook/Instagram/WhatsApp
   feel like first-class CTAs rather than dim icons tucked into the contact list. */
.footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full, 999px);
  background: rgba(48,56,39,0.08);
  color: var(--color-primary);
  transition: background var(--transition-fast, 0.15s), color var(--transition-fast, 0.15s), transform var(--transition-fast, 0.15s);
}
.footer-social-link:hover {
  transform: translateY(-2px);
  color: #fff;
}
.footer-social-link--instagram:hover {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}
.footer-social-link--facebook:hover  { background: #1877F2; }
.footer-social-link--whatsapp:hover  { background: #25D366; }

@media (max-width: 1100px) {
  .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 992px) {
  .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr 1fr;
  }
  .footer-brand { grid-column: 1 / -1; }
  .footer-newsletter { max-width: 100%; }
}
@media (max-width: 600px) {
  .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr;
  }
  .footer-newsletter-row { flex-direction: column; }
  .footer-newsletter-submit { width: 100%; }
}

/* ── Page Hero (inner pages) ────────────────────────────── */
.page-hero {
  background: var(--color-cream);
  padding-block: var(--spacing-2xl) var(--spacing-xl);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.page-hero::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 60px;
  background: var(--color-white);
  clip-path: ellipse(60% 100% at 50% 100%);
}

.page-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.page-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.08;
}

.page-hero .container {
  position: relative;
  z-index: 1;
}

.breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  font-size: 0.85rem;
  color: var(--color-gray);
  margin-bottom: var(--spacing-md);
}

.breadcrumb a { color: var(--color-gray); }
.breadcrumb a:hover { color: var(--color-primary); }
.breadcrumb .sep { opacity: 0.4; }

.page-hero h1 {
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
}

.page-hero p {
  color: var(--color-gray);
  font-size: 1.05rem;
  max-width: 480px;
  margin-inline: auto;
}

/* ══════════════════════════════════════════════════════════
   CATEGORY HERO BANNER
══════════════════════════════════════════════════════════ */
.cat-hero {
  position: relative;
  height: 190px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.cat-hero-bg {
  position: absolute;
  inset: 0;
}
.cat-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 60%;
}
.cat-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to left, rgba(30,40,20,0.72) 0%, rgba(30,40,20,0.38) 60%, transparent 100%);
}
.cat-hero .container {
  position: relative;
  z-index: 1;
  text-align: center;
}
.cat-hero .breadcrumb a,
.cat-hero .breadcrumb span {
  color: rgba(255,255,255,0.75);
  font-size: 0.82rem;
}
.cat-hero h1 {
  color: #fff;
  font-size: clamp(1.6rem, 4vw, 2.5rem);
  margin-bottom: 6px;
  margin-top: 10px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.35);
  letter-spacing: -0.5px;
}
.cat-hero p {
  display: none;
}

/* ══════════════════════════════════════════════════════════
   SHOP BODY, Sidebar + Main
══════════════════════════════════════════════════════════ */
.shop-body {
  padding-block: 20px 72px;
  background: #fff;
}
.shop-container {
  display: flex;
  gap: 28px;
  align-items: flex-start;
}

/* ── Sidebar ────────────────────────────────────────────── */
.shop-sidebar {
  width: 262px;
  min-width: 240px;
  flex-shrink: 0;
  position: sticky;
  top: 88px;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  scrollbar-width: none;
}
.shop-sidebar::-webkit-scrollbar { display: none; }
.sidebar-section {
  padding: 2px 0 14px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(48,56,39,0.08);
}
.sidebar-section:last-of-type { border-bottom: none; }
.sidebar-title {
  font-family: var(--font-hebrew);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
  opacity: 0.55;
}
.sidebar-cat-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sidebar-cat-item {
  /* no border — clean text list */
}
.sidebar-cat-row {
  display: flex;
  align-items: center;
}
.sidebar-cat-link {
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 0;
  font-family: var(--font-hebrew);
  font-size: 0.84rem;
  color: #666;
  font-weight: 400;
  transition: color 0.15s;
  text-decoration: none;
}
.sidebar-cat-link:hover {
  color: var(--color-primary);
}
.sidebar-cat-link.is-active,
.sidebar-cat-link.active {
  color: var(--color-primary);
  font-weight: 700;
}
.sidebar-cat-link.is-active .cat-count,
.sidebar-cat-link.active .cat-count {
  color: var(--color-primary);
}
.cat-count {
  font-family: var(--font-hebrew);
  font-size: 0.78rem;
  color: #aaa;
  font-weight: 400;
  margin-inline-start: 6px;
  flex-shrink: 0;
}
.sidebar-toggle {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: #888;
  cursor: pointer;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
}
.sidebar-toggle:hover { background: #f2f4ec; color: #303827; }
.sidebar-toggle.open { transform: rotate(180deg); }

.sidebar-sub-list {
  list-style: none;
  margin: 2px 0 6px 0;
  padding: 0 0 0 12px;
  display: none;
}
.sidebar-sub-list.open { display: block; }
.sidebar-sub-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 10px;
  font-size: 0.84rem;
  color: #666;
  border-radius: 6px;
  transition: all 0.18s;
  text-decoration: none;
}
.sidebar-sub-link:hover,
.sidebar-sub-link.active {
  color: #303827;
  background: #f2f4ec;
  font-weight: 600;
}

/* Location pills (indoor/outdoor UV), brand aligned */
.location-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.location-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  border-radius: var(--radius-full);
  border: 1px solid rgba(48, 56, 39, 0.15);
  background: #fff;
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(48, 56, 39, 0.72);
  cursor: pointer;
  transition: all 0.2s;
}
.location-pill:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.location-pill.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
  font-weight: 600;
}

/* Price slider */
.price-range-wrap { padding: 4px 0; }
.price-slider {
  width: 100%;
  accent-color: #4a5c33;
  cursor: pointer;
  margin-bottom: 10px;
}
.price-range-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.83rem;
  color: #555;
}
.price-range-labels strong { color: #303827; }

.sidebar-close-btn {
  display: none;
  position: absolute;
  top: 12px;
  left: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: #f0f0e8;
  cursor: pointer;
  font-size: 1rem;
}

/* ── Sidebar open button (mobile) ──────────────────────── */
.sidebar-open-btn {
  display: none;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 999px;
  border: 1.2px solid var(--color-primary);
  background: transparent;
  color: var(--color-primary);
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
}
.sidebar-open-btn:hover {
  background: var(--color-primary);
  color: #fff;
}
.sidebar-open-btn:hover svg { stroke: #fff; }

/* ── Shop Main ──────────────────────────────────────────── */
/* overflow:clip clips visually without creating a scroll container,
   keeping position:sticky children (subcat pills) able to stick to viewport */
.shop-main { flex: 1; min-width: 0; overflow: clip; }

/* Toolbar, editorial, brand-aligned */
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  padding: 10px 0;
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  color: rgba(48, 56, 39, 0.7);
  border-bottom: 1px solid rgba(48,56,39,0.08);
}
.toolbar-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.toolbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.shop-count strong {
  color: var(--color-primary);
  font-family: var(--font-hebrew);
  font-weight: 500;
}
.filter-label {
  font-family: var(--font-hebrew);
  font-style: italic;
  color: var(--color-olive);
  font-size: 0.9rem;
}
.sort-select,
.woocommerce-ordering select {
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  color: var(--color-primary);
  background: transparent;
  border: 1.2px solid var(--color-primary);
  border-radius: 999px;
  padding: 9px 18px;
  cursor: pointer;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23303827' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 14px center;
  padding-left: 36px;
  font-weight: 500;
}
.sort-select:focus,
.sort-select:hover,
.woocommerce-ordering select:focus,
.woocommerce-ordering select:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(48,56,39,0.08);
  outline: none;
}
.woocommerce-ordering { margin: 0; }

/* 3-col grid inside shop-main */
.shop-main .products-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

/* Shop page, match homepage card style */
.shop-main .product-card-add {
  position: static;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-size: 0;
  padding: 0;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transform: none;
}
.shop-main .product-card-add::after {
  content: '+';
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}
.shop-main .product-card-add:hover {
  background: var(--color-olive);
  transform: scale(1.1);
}
.shop-main .product-card-price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* ── Subcategory Pills — non-sticky (per user request 2026-04-28) ──── */
.subcat-pills-wrap {
  position: static;
  z-index: auto;
  background: transparent;
  margin-bottom: 0;
  padding-block: 10px 6px;
  margin-inline: -4px;
  padding-inline: 4px;
  box-shadow: none;
}

/* ── Pagination buttons (replaces infinite scroll) ──── */
.ga-pagination {
  margin-top: clamp(24px, 4vw, 40px);
  text-align: center;
}
.ga-pagination-list {
  list-style: none;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 0 0 12px 0;
  justify-content: center;
}
.ga-pagination-item a,
.ga-pagination-item span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #d6d6cc;
  border-radius: 6px;
  background: #fff;
  color: var(--color-primary, #303827);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  font-family: inherit;
}
.ga-pagination-item a:hover {
  background: var(--color-primary, #303827);
  border-color: var(--color-primary, #303827);
  color: #fff;
}
.ga-pagination-item span.current {
  background: var(--color-primary, #303827);
  border-color: var(--color-primary, #303827);
  color: #fff;
}
.ga-pagination-item span.dots {
  border-color: transparent;
  background: transparent;
}
.ga-pagination-item .ga-pag-text {
  margin-inline: 4px;
}
.ga-pagination-info {
  font-size: 0.88rem;
  color: #6a6a5e;
  margin: 0;
}
@media (max-width: 480px) {
  .ga-pagination-item a,
  .ga-pagination-item span.page-numbers {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    font-size: 0.9rem;
  }
}
.subcat-pills-wrap.is-stuck {
  box-shadow: 0 4px 16px rgba(48, 56, 39, 0.1);
}
.subcat-pills {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 8px 4px 12px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.subcat-pills::-webkit-scrollbar { display: none; }
.subcat-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s;
}
.subcat-pill:hover {
  transform: translateY(-2px);
}
.subcat-pill-img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #e8e3d9;
  background: #f5f0e8;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s;
}
.subcat-pill:hover .subcat-pill-img,
.subcat-pill.active .subcat-pill-img {
  border-color: var(--color-primary);
}
.subcat-pill-img img {
  width: 85%;
  height: 85%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.subcat-pill span {
  font-family: var(--font-hebrew);
  font-size: 0.8rem;
  color: rgba(48, 56, 39, 0.72);
  font-weight: 500;
  white-space: nowrap;
}
.subcat-pill:hover span { color: var(--color-primary); }
.subcat-pill.active span {
  color: var(--color-primary);
  font-weight: 700;
}

/* No results message */
.no-results-msg {
  text-align: center;
  padding: 60px 24px;
  color: #888;
}
.no-results-msg p { font-size: 1.1rem; margin-bottom: 16px; }

/* ══════════════════════════════════════════════════════════
   PRODUCT CARD, Matching screenshot style
══════════════════════════════════════════════════════════ */
/* product-card-add overrides removed, using main styles above */

/* ── Shop / Catalog Page (old, keep for compat) ─────────── */
.shop-layout {
  padding-block: var(--spacing-xl);
}

.filter-bar {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
  margin-bottom: var(--spacing-xl);
  padding: var(--spacing-md) var(--spacing-lg);
  background: var(--color-cream);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-light-gray);
}

.filter-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-gray);
  margin-left: var(--spacing-md);
  padding-left: var(--spacing-md);
  border-left: 1px solid var(--color-border);
  white-space: nowrap;
}

.filter-tag {
  padding: 7px 18px;
  border-radius: var(--radius-full);
  border: 1.5px solid var(--color-border);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--color-primary);
  background: var(--color-white);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.filter-tag:hover,
.filter-tag.active {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-lg);
  font-size: 0.875rem;
  color: var(--color-gray);
}

.sort-select {
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: var(--color-white);
  color: var(--color-primary);
  font-size: 0.875rem;
  cursor: pointer;
  outline: none;
}

/* ── Pagination ─────────────────────────────────────────── */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  margin-top: var(--spacing-2xl);
}

.pagination-btn {
  width: 42px;
  height: 42px;
  border-radius: var(--radius-md);
  border: 1.5px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--color-primary);
  background: var(--color-white);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.pagination-btn:hover,
.pagination-btn.active {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}
.pagination-btn.disabled {
  opacity: 0.4;
  cursor: default;
}

/* ── Product Page ───────────────────────────────────────── */
.product-page {
  padding-block: var(--spacing-xl);
}

.product-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-2xl);
  align-items: start;
}

.product-gallery {
  position: sticky;
  top: calc(var(--header-height) + 20px);
}

.product-main-image {
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-cream);
  margin-bottom: var(--spacing-md);
  border: 1px solid var(--color-light-gray);
}

.product-main-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s;
  mix-blend-mode: normal;
}

.product-thumbnails {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-sm);
}

.product-thumb {
  aspect-ratio: 1;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 2px solid var(--color-light-gray);
  cursor: pointer;
  transition: border-color var(--transition-fast);
  background: var(--color-cream);
}
.product-thumb.active,
.product-thumb:hover {
  border-color: var(--color-primary);
}
.product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: normal;
}

.product-details-col {
  padding-top: var(--spacing-sm);
}

.product-category-link {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-gray);
  margin-bottom: var(--spacing-sm);
  display: block;
}

.product-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--color-primary);
  margin-bottom: var(--spacing-md);
  line-height: 1.2;
}

.product-price-row {
  display: flex;
  align-items: baseline;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-lg);
}

.product-price {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--color-primary);
}

.product-price-original {
  font-size: 1.1rem;
  color: var(--color-gray-light);
  text-decoration: line-through;
}

.product-divider {
  height: 1px;
  background: var(--color-light-gray);
  margin-block: var(--spacing-lg);
}

.product-description {
  font-size: 0.95rem;
  color: var(--color-gray);
  line-height: 1.75;
  margin-bottom: var(--spacing-lg);
}

.product-option-group {
  margin-bottom: var(--spacing-lg);
}

.product-option-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
}

.product-sizes {
  display: flex;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
}

.size-btn {
  padding: 8px 18px;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--color-border);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-primary);
  background: var(--color-white);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.size-btn:hover,
.size-btn.active {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

.qty-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-lg);
}

.qty-control {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.qty-btn {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-cream);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
  transition: background var(--transition-fast);
  user-select: none;
}
.qty-btn:hover { background: var(--color-light-gray); }

.qty-input {
  width: 52px;
  height: 42px;
  border: none;
  border-inline: 1.5px solid var(--color-border);
  text-align: center;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--color-primary);
  outline: none;
  background: var(--color-white);
}

.product-actions {
  display: flex;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-lg);
}

.product-actions .btn {
  flex: 1;
}

.product-meta {
  padding: var(--spacing-md);
  background: var(--color-cream);
  border-radius: var(--radius-md);
  font-size: 0.85rem;
  color: var(--color-gray);
}

.product-meta-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding-block: 6px;
  border-bottom: 1px solid var(--color-light-gray);
}
.product-meta-row:last-child { border-bottom: none; }

/* ── About Page ─────────────────────────────────────────── */
.about-story {
  padding-block: var(--spacing-3xl);
}

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-2xl);
  align-items: center;
}

.about-images {
  position: relative;
}

.about-img-main {
  width: 100%;
  border-radius: var(--radius-xl);
  aspect-ratio: 4/5;
  object-fit: cover;
}

.about-img-float {
  position: absolute;
  bottom: -30px;
  left: -30px;
  width: 200px;
  height: 200px;
  border-radius: var(--radius-lg);
  object-fit: cover;
  border: 4px solid var(--color-white);
  box-shadow: var(--shadow-lg);
}

.about-content h2 {
  margin-bottom: var(--spacing-md);
}

.about-content p {
  color: var(--color-gray);
  line-height: 1.8;
  margin-bottom: var(--spacing-md);
  font-size: 1.05rem;
}

.about-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-md);
  margin-top: var(--spacing-xl);
}

.about-stat {
  text-align: center;
  padding: var(--spacing-md);
  background: var(--color-cream);
  border-radius: var(--radius-md);
}

.about-stat-num {
  font-size: 2rem;
  font-weight: 800;
  color: var(--color-primary);
  display: block;
  font-family: var(--font-hebrew);
}

.about-stat-label {
  font-size: 0.8rem;
  color: var(--color-gray);
}

/* ── Blog ───────────────────────────────────────────────── */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-xl);
}

.blog-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-white);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-light-gray);
  transition: all var(--transition);
}
.blog-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

.blog-card-image {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--color-cream);
}
.blog-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.blog-card:hover .blog-card-image img {
  transform: scale(1.06);
}

.blog-card-body {
  padding: var(--spacing-lg);
}

.blog-card-meta {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  font-size: 0.78rem;
  color: var(--color-gray-light);
  margin-bottom: var(--spacing-sm);
}

.blog-card-category {
  color: var(--color-primary);
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-card-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
  line-height: 1.4;
}
.blog-card-title a:hover { color: var(--color-olive); }

.blog-card-excerpt {
  font-size: 0.88rem;
  color: var(--color-gray);
  line-height: 1.65;
  margin-bottom: var(--spacing-md);
}

.blog-read-more {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  gap: 4px;
  transition: gap var(--transition-fast);
}
.blog-read-more:hover { gap: 8px; }

/* ── Contact Page ───────────────────────────────────────── */
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-2xl);
  padding-block: var(--spacing-2xl);
}

.contact-form-wrap {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: var(--spacing-xl);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-light-gray);
}

.contact-form-wrap h2 {
  margin-bottom: var(--spacing-lg);
  color: var(--color-primary);
}

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

.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 6px;
}

.form-input,
.form-textarea,
.form-select {
  width: 100%;
  padding: 12px var(--spacing-md);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: var(--color-primary);
  background: var(--color-white);
  outline: none;
  transition: border-color var(--transition-fast);
  text-align: right;
}
.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(48,56,39,0.08);
}
.form-textarea {
  resize: vertical;
  min-height: 130px;
  line-height: 1.6;
}

.contact-info-wrap {
  padding-top: var(--spacing-md);
}

.contact-info-wrap h2 {
  margin-bottom: var(--spacing-lg);
}

.contact-info-card {
  background: var(--color-cream);
  border-radius: var(--radius-lg);
  padding: var(--spacing-lg);
  margin-bottom: var(--spacing-md);
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-md);
  border: 1px solid var(--color-light-gray);
}

.contact-info-icon {
  width: 50px;
  height: 50px;
  background: var(--color-primary);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  flex-shrink: 0;
}

.contact-info-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-gray-light);
  margin-bottom: 4px;
}

.contact-info-value {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-primary);
}

.business-hours {
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
  border: 1px solid var(--color-light-gray);
  margin-top: var(--spacing-lg);
}

.hours-row {
  display: flex;
  justify-content: space-between;
  padding-block: 8px;
  border-bottom: 1px solid var(--color-light-gray);
  font-size: 0.875rem;
}
.hours-row:last-child { border-bottom: none; }
.hours-row .day { color: var(--color-gray); }
.hours-row .time { font-weight: 600; }

/* ── Cart Page ──────────────────────────────────────────── */
.cart-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--spacing-xl);
  padding-block: var(--spacing-xl);
  align-items: start;
}

.cart-table {
  width: 100%;
  border-collapse: collapse;
}

.cart-table th {
  padding: var(--spacing-sm) var(--spacing-md);
  text-align: right;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  border-bottom: 2px solid rgba(48,56,39,0.15);
  background: var(--color-cream);
}

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

/* Cart table column widths: product | qty | total | remove */
.cart-table th.product-thumbnail { width: 55%; text-align: right; }
.cart-table th.product-quantity  { width: 20%; text-align: center; }
.cart-table th.product-subtotal  { width: 18%; text-align: right; }
.cart-table th.product-remove    { width: 7%; }

.cart-product-cell {
  display: flex;
  align-items: center;
  gap: 16px;
}

.cart-product-img-link { display: block; flex-shrink: 0; }

/* WooCommerce RTL sets .woocommerce-cart table.cart img { width:32px }
   which beats our class selector — !important overrides it. */
.cart-product-img,
.woocommerce-cart table.cart .cart-product-cell img,
.cart-product-cell img {
  width: 90px !important;
  height: 90px !important;
  min-width: 90px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid rgba(48,56,39,0.10);
  flex-shrink: 0;
  display: block;
  background: #f7f5f0;
}

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

.cart-product-name {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-primary);
  line-height: 1.35;
}
.cart-product-name a { color: inherit; text-decoration: none; }
.cart-product-name a:hover { text-decoration: underline; }

.cart-product-variant {
  font-size: 0.78rem;
  color: rgba(48,56,39,0.55);
  margin-top: 3px;
}

.cart-product-unit-price {
  font-size: 0.82rem;
  color: rgba(48,56,39,0.5);
  margin-top: 4px;
}

.cart-table td.product-quantity { text-align: center; }
.cart-table td.product-subtotal { text-align: right; }
.cart-table td.product-subtotal .cart-subtotal,
.cart-table td.product-subtotal strong {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-primary);
}

.cart-remove {
  color: var(--color-gray-light);
  font-size: 1.1rem;
  transition: color var(--transition-fast);
  padding: 4px;
}
.cart-remove:hover { color: var(--color-sale); }

/* ══════════════════════════════════════════════════════
   CART, Brand-aligned (hero kicker, editorial empty state,
   refined summary card with SSL + payment logos)
══════════════════════════════════════════════════════ */
.cart-hero { padding-block: var(--spacing-2xl) var(--spacing-lg); }
.cart-hero-kicker {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.05rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: 6px;
}
.cart-section { padding-block: var(--spacing-xl) var(--spacing-2xl); background: #fcfaf5; }

/* ── Cart Hero v2 (dramatic, blog-hero-figma pattern) ── */
.cart-hero-v2 { min-height: 320px; }
.cart-hero-kicker-light {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: 0.8px;
  display: block;
  margin-bottom: 4px;
}
.cart-hero-sub {
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-hebrew);
  font-size: 1rem;
  margin: 12px auto 0;
  max-width: 520px;
}

/* ─────────────────────────────────────────────────────────────────────
   MOBILE CART — full responsive redesign for ≤768px screens.
   Converts the table layout into stacked card rows with clean hierarchy.
   ───────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Container padding */
  .cart-section { padding: 16px 0 28px; overflow-x: hidden; }
  .woocommerce-cart { overflow-x: hidden; }
  .woocommerce-cart .container { padding-left: 14px; padding-right: 14px; max-width: 100%; }

  /* Hero — tighten on mobile */
  .cart-hero-v2 { min-height: 180px; padding: 28px 16px; }
  .cart-hero h1 { font-size: 1.6rem; line-height: 1.2; }
  .cart-hero-kicker-light { font-size: 0.95rem; }
  .cart-hero-sub { font-size: 0.88rem; }

  /* Free-shipping bar — vertical stack */
  .free-ship-bar { flex-wrap: wrap; padding: 12px 14px; gap: 10px; }
  .free-ship-icon { width: 36px; height: 36px; }
  .free-ship-icon svg { width: 20px; height: 20px; }
  .free-ship-content { flex-basis: calc(100% - 50px); }
  .free-ship-text { font-size: 0.86rem; }

  /* Hide the table head — labels move to data-title on each cell */
  .cart-table thead { display: none; }
  .cart-table, .cart-table tbody, .cart-table tr, .cart-table td {
    display: block;
    width: 100%;
  }

  /* Each cart item is its own card */
  .cart-table tr.cart_item,
  .cart-table tr.woocommerce-cart-form__cart-item {
    background: #fff;
    border: 1px solid rgba(48,56,39,0.08);
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 12px;
    box-shadow: 0 1px 3px rgba(48,56,39,0.04);
    position: relative;
  }
  .cart-table tr.cart_item td { border: none; padding: 0; }

  /* Product cell: image + name side-by-side, full width */
  .cart-table td.product-name,
  .cart-table td.product-thumbnail { padding: 0; }

  .cart-product-cell { gap: 12px; align-items: flex-start; padding-bottom: 12px; }
  .cart-product-img,
  .woocommerce-cart table.cart .cart-product-cell img,
  .cart-product-cell img {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px;
  }
  .cart-product-name { font-size: 0.92rem; }
  .cart-product-unit-price { font-size: 0.78rem; }

  /* Qty + subtotal row — flex bottom of card */
  .cart-table td.product-quantity,
  .cart-table td.product-subtotal {
    display: inline-flex;
    align-items: center;
    width: auto;
  }
  .cart-table td.product-quantity {
    float: right;
    text-align: right;
    margin-top: 8px;
  }
  .cart-table td.product-subtotal {
    float: left;
    text-align: left;
    margin-top: 8px;
  }
  .cart-table td.product-subtotal::before {
    content: 'סה״כ: ';
    font-weight: 500;
    color: rgba(48,56,39,0.55);
    margin-left: 6px;
    font-size: 0.85rem;
  }
  .cart-table td.product-subtotal strong {
    font-size: 1.05rem;
  }

  /* Quantity controls — compact horizontal */
  .qty-control {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(48,56,39,0.18);
    border-radius: 999px;
    padding: 0;
    height: 36px;
    overflow: visible; /* prevent border-radius from clipping the buttons */
  }
  .qty-control .qty-btn {
    width: 34px; height: 34px;
    background: transparent;
    border: none;
    font-size: 1.2rem;
    color: var(--color-primary);
    cursor: pointer;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .qty-control .qty-btn:active { background: rgba(48,56,39,0.08); }
  .qty-control .qty-input {
    width: 36px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 0.95rem;
    -moz-appearance: textfield;
  }
  .qty-control .qty-input::-webkit-outer-spin-button,
  .qty-control .qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

  /* Remove button — positioned top-left of card */
  .cart-table td.product-remove {
    position: absolute;
    top: 10px; left: 10px;
    width: auto;
    padding: 0;
  }
  .cart-table td.product-remove .cart-remove,
  .cart-table td.product-remove .remove {
    width: 28px; height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(48,56,39,0.05);
    font-size: 1rem;
    color: rgba(48,56,39,0.6);
  }

  /* Clear floats after the qty/subtotal row */
  .cart-table tr.cart_item::after {
    content: '';
    display: block;
    clear: both;
  }

  /* Actions row (coupon + update cart) — full width stacked */
  .cart-table tr.actions,
  .cart-table tr.actions td {
    background: #fff;
    border-radius: 12px;
    border: 1px solid rgba(48,56,39,0.08);
    margin-top: 14px;
    padding: 16px !important;
    box-sizing: border-box;
  }
  .cart-table tr.actions td.actions {
    padding: 0 !important;
    background: transparent;
    border: none;
  }
  .cart-table .coupon {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 12px;
  }
  .cart-table .coupon input[type="text"] {
    max-width: 100%;
    width: 100%;
  }
  .cart-table .coupon button,
  .cart-table button[name="apply_coupon"],
  .cart-table button[name="update_cart"] {
    width: 100%;
    padding: 12px 18px;
    font-size: 0.92rem;
  }

  /* Continue-shopping link / row */
  .cart-table .return-to-shop,
  .cart-actions-bottom {
    text-align: center;
    margin: 16px 0;
  }
  .cart-actions-bottom a,
  .return-to-shop a {
    display: inline-block;
    padding: 10px 24px;
  }

  /* Order summary card — full width on mobile */
  .order-summary-card,
  aside.cart-collaterals {
    width: 100%;
    margin-top: 20px;
    padding: 18px;
  }
  .order-summary-card h3 { font-size: 1.15rem; }

  /* Help / consultation accordion (זקוקים לעזרה) — tighter */
  .cart-help-accordion summary,
  .cart-help-toggle {
    padding: 14px 16px;
    font-size: 0.92rem;
  }
}

/* ─────────────────────────────────────────────────────────────────────
   Payment gateway boxes at checkout — clean logo strips per gateway.
   Keep all info boxes OPEN regardless of which radio is selected so
   customers can compare options without clicking.
   ───────────────────────────────────────────────────────────────────── */
.payment_box.payment_method_yaadpay,
.payment_box.payment_method_ppcp-gateway,
.payment_box.payment_method_ppcp-card-button-gateway {
  display: block !important;
  background: #F5F0E8 !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  margin-top: 8px !important;
}
/* Override WC's inline display:none on the payment boxes */
ul.payment_methods li .payment_box[style*="display: none"],
ul.payment_methods li .payment_box[style*="display:none"] {
  display: block !important;
}
/* Hyp intro + 6-logo strip */
.ga-hyp-intro,
.ga-pp-intro,
.ga-card-intro {
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  color: #303827;
  line-height: 1.55;
  margin: 0 0 10px;
}
/* Logos style matches order-summary-payments exactly — clean, transparent, no border */
.ga-pay-logos,
.ga-hyp-logos,
.ga-card-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 8px 0 12px;
}
.ga-pay-logos img,
.ga-hyp-logos img,
.ga-card-logos img {
  height: 22px;
  width: auto;
  max-width: 48px;
  object-fit: contain;
  display: block;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  opacity: 0.92;
}

/* SSL secure indicator under logos — matches .order-summary-secure */
.ga-pay-secure {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-hebrew);
  font-size: 0.78rem;
  color: rgba(48, 56, 39, 0.65);
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px solid rgba(48,56,39,0.08);
  width: 100%;
}
.ga-pay-secure svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}
.ga-card-types {
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  color: rgba(48,56,39,0.7);
  margin: 8px 0 0;
}
.ga-card-types strong { color: #303827; }

/* PayPal smart-buttons box — logo above intro */
.ga-pp-logo-wrap {
  display: inline-block;
  margin: 0 0 10px;
}
.ga-pp-logo-wrap img {
  height: 26px;
  display: block;
  opacity: 0.95;
}

/* Visual divider between Hyp section and PayPal section */
.ga-pp-divider {
  list-style: none !important;
  display: flex !important;
  align-items: center;
  gap: 14px;
  padding: 14px 4px !important;
  margin: 4px 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.ga-pp-divider .ga-pp-divider-line {
  flex: 1;
  height: 1px;
  background: rgba(48,56,39,0.15);
}
.ga-pp-divider img {
  height: 28px;
  width: auto;
  display: block;
  flex-shrink: 0;
}

/* Payment method labels — keep on a single line, allow shrink */
ul.payment_methods li label {
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.95rem;
}
@media (max-width: 600px) {
  ul.payment_methods li label { font-size: 0.88rem !important; }
}

/* Force the whole gateway <li> to be full-width on all screens */
ul.payment_methods,
ul.payment_methods li,
ul.payment_methods li.payment_method_ppcp-card-button-gateway,
ul.payment_methods li.payment_method_yaadpay,
ul.payment_methods li.payment_method_ppcp-gateway {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* PayPal Card form (hosted fields) — make full-width on all devices.
   PayPal's SDK injects an iframe with fixed-pixel sizes. Override everything. */
.payment_box.payment_method_ppcp-card-button-gateway,
.payment_box.payment_method_ppcp-card-button-gateway *,
.payment_box.payment_method_ppcp-card-button-gateway > * {
  box-sizing: border-box;
}
.payment_box.payment_method_ppcp-card-button-gateway > div,
.payment_box.payment_method_ppcp-card-button-gateway > div > div,
.payment_box.payment_method_ppcp-card-button-gateway > div > div > div,
.payment_box.payment_method_ppcp-card-button-gateway form,
.payment_box.payment_method_ppcp-card-button-gateway > iframe,
.payment_box.payment_method_ppcp-card-button-gateway iframe[name*="paypal"],
.payment_box.payment_method_ppcp-card-button-gateway iframe[name*="card"],
.payment_box.payment_method_ppcp-card-button-gateway iframe[id*="paypal"],
.payment_box.payment_method_ppcp-card-button-gateway iframe[id*="card"],
.payment_box.payment_method_ppcp-card-button-gateway iframe.component-frame,
.payment_box.payment_method_ppcp-card-button-gateway iframe.zoid-component-frame,
.payment_box.payment_method_ppcp-card-button-gateway .ppcp-card-button-gateway,
.payment_box.payment_method_ppcp-card-button-gateway [id*="ppcp"],
.payment_box.payment_method_ppcp-card-button-gateway [class*="card_form"],
.payment_box.payment_method_ppcp-card-button-gateway [class*="ppcp"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: block !important;
}
.payment_box.payment_method_ppcp-card-button-gateway iframe {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  min-height: 360px !important;
  border: 0 !important;
}
.payment_box.payment_method_ppcp-card-button-gateway input[type="text"],
.payment_box.payment_method_ppcp-card-button-gateway input[type="number"],
.payment_box.payment_method_ppcp-card-button-gateway input[type="tel"] {
  width: 100% !important;
  font-size: 16px !important; /* prevents iOS zoom on focus */
  padding: 12px 14px !important;
}

@media (max-width: 768px) {
  .payment_box.payment_method_yaadpay,
  .payment_box.payment_method_ppcp-gateway,
  .payment_box.payment_method_ppcp-card-button-gateway {
    padding: 12px 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box;
    overflow: visible !important;
  }
  .ga-hyp-intro, .ga-pp-intro, .ga-card-intro { font-size: 0.85rem; }
  .ga-hyp-logos img, .ga-card-logos img { height: 22px; }

  /* Make sure the entire payment list + checkout review section is full-width on mobile */
  .woocommerce-checkout-review-order,
  .woocommerce-checkout-payment,
  #payment, #order_review,
  ul.payment_methods,
  ul.payment_methods li {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Force EVERY descendant of the card-button payment box to be full-width.
     PayPal SDK iframes refuse to respect width:auto, so this is the brute hammer. */
  .payment_box.payment_method_ppcp-card-button-gateway,
  .payment_box.payment_method_ppcp-card-button-gateway *,
  .payment_box.payment_method_ppcp-card-button-gateway *::before,
  .payment_box.payment_method_ppcp-card-button-gateway *::after {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  /* But keep our own intro/logos elements at natural width (they're already inline) */
  .payment_box.payment_method_ppcp-card-button-gateway .ga-card-logos,
  .payment_box.payment_method_ppcp-card-button-gateway .ga-pay-secure {
    width: auto !important;
  }
  .payment_box.payment_method_ppcp-card-button-gateway .ga-card-logos img,
  .payment_box.payment_method_ppcp-card-button-gateway .ga-pay-secure svg {
    width: auto !important;
    max-width: 48px !important;
  }
  .payment_box.payment_method_ppcp-card-button-gateway iframe {
    min-height: 420px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
}

/* ═════════════════════════════════════════════════════════════════════
   MOBILE TYPOGRAPHY POLISH — applied across the site for ≤768px screens.
   Goal: cleaner hierarchy, tighter rhythm, readable without zoom.
   ═════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* ─── Page hero / section headings ─── */
  h1 { font-size: 1.9rem !important; line-height: 1.2 !important; }
  h2 { font-size: 1.65rem !important; line-height: 1.25 !important; }
  h3 { font-size: 1.15rem !important; line-height: 1.35 !important; }
  h4 { font-size: 1rem !important; }
  /* Section titles get a bit more presence on the homepage */
  .section-header h2 { font-size: 1.85rem !important; }

  /* ─── Cart / Checkout shared ─── */
  .cart-hero h1, .checkout-hero h1, .cart-hero-v2 h1 {
    font-size: 1.5rem !important;
  }
  .cart-hero-sub, .checkout-hero-sub { font-size: 0.85rem !important; }

  /* ─── Checkout review-order table ─── */
  .woocommerce-checkout-review-order-table th,
  .woocommerce-checkout-review-order-table td {
    font-size: 0.86rem !important;
    padding: 10px 10px !important;
    line-height: 1.45 !important;
  }
  .woocommerce-checkout-review-order-table .product-name {
    font-size: 0.86rem !important;
    line-height: 1.4 !important;
  }
  .woocommerce-checkout-review-order-table .product-quantity {
    font-size: 0.82rem !important;
  }
  .woocommerce-checkout-review-order-table tfoot th,
  .woocommerce-checkout-review-order-table tfoot td {
    font-size: 0.92rem !important;
  }
  .woocommerce-checkout-review-order-table .order-total th,
  .woocommerce-checkout-review-order-table .order-total td {
    font-size: 1rem !important;
  }

  /* ─── Coupon / discount line in review ─── */
  .cart-discount th, .cart-discount td {
    font-size: 0.84rem !important;
  }

  /* ─── Step labels (01/02/03) ─── */
  .checkout-step-num,
  .checkout-step-title,
  .checkout-step h2 { font-size: 1.1rem !important; }

  /* ─── Form labels + inputs ─── */
  .woocommerce form .form-row label { font-size: 0.86rem !important; }
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select {
    font-size: 16px !important; /* prevents iOS zoom on focus */
    padding: 12px 14px !important;
  }
  .woocommerce form .form-row .description { font-size: 0.78rem !important; }

  /* ─── Shipping methods ─── */
  ul#shipping_method li label,
  .shop_table .shipping label {
    font-size: 0.88rem !important;
  }

  /* ─── Payment methods labels ─── */
  ul.payment_methods li label { font-size: 0.85rem !important; }
  .ga-hyp-intro, .ga-pp-intro, .ga-card-intro { font-size: 0.83rem !important; }
  .ga-pay-secure { font-size: 0.74rem !important; }

  /* ─── Place order button ─── */
  #place_order, .woocommerce #place_order {
    font-size: 1rem !important;
    padding: 14px 20px !important;
  }

  /* ─── Cart line items ─── */
  .cart-product-name { font-size: 0.92rem !important; line-height: 1.4 !important; }
  .cart-product-variant { font-size: 0.74rem !important; }
  .cart-product-unit-price { font-size: 0.78rem !important; }
  .cart-table td.product-subtotal strong { font-size: 1rem !important; }

  /* ─── Order summary card ─── */
  .order-summary-card h3 { font-size: 1.1rem !important; }
  .order-summary-card .summary-row { font-size: 0.88rem !important; }
  .order-summary-card .summary-row.total { font-size: 1.05rem !important; }
  .order-summary-secure { font-size: 0.75rem !important; }

  /* ─── Free shipping bar ─── */
  .free-ship-text { font-size: 0.84rem !important; }
  .free-ship-bar { padding: 10px 12px !important; }

  /* ─── Product cards in shop / categories ─── */
  .pgv2-rc-card .pgv2-rc-cat,
  .pgv2-rc-card .pgv2-rc-category {
    font-size: 0.82rem !important;
    letter-spacing: 0.04em;
    color: rgba(48,56,39,0.7);
    margin-bottom: 4px;
  }
  .pgv2-rc-card .pgv2-rc-title { font-size: 0.84rem !important; line-height: 1.35 !important; }
  .pgv2-rc-card .pgv2-rc-price,
  .pgv2-rc-card .price { font-size: 0.92rem !important; }

  /* ─── Single product page ─── */
  .product-title, .pgv2-product-title { font-size: 1.35rem !important; line-height: 1.3 !important; }
  .pgv2-price, .product-info .price { font-size: 1.4rem !important; }
  .pgv2-stock-row, .pgv2-stock-item { font-size: 0.84rem !important; }
  .pgv2-var-row-label { font-size: 0.86rem !important; }
  .pgv2-pill-btn, .pgv2-color-swatch + span { font-size: 0.85rem !important; }
  .pgv2-acc-hd { font-size: 0.95rem !important; }
  .pgv2-acc-bd { font-size: 0.86rem !important; line-height: 1.6 !important; }

  /* ─── Buttons site-wide ─── */
  .btn, button.button, a.button {
    font-size: 0.92rem !important;
  }
  .btn-large, .btn-primary {
    font-size: 0.98rem !important;
    padding: 13px 20px !important;
  }

  /* ─── Breadcrumb ─── */
  .woocommerce-breadcrumb,
  nav.woocommerce-breadcrumb { font-size: 0.78rem !important; }

  /* ─── Filters / sidebar ─── */
  .sidebar-title { font-size: 0.95rem !important; }
  .widget li, .widget label { font-size: 0.85rem !important; }

  /* ─── Footer ─── */
  .footer-col h4 { font-size: 0.95rem !important; }
  .footer-col li, .footer-col p { font-size: 0.82rem !important; }
  .footer-copyright { font-size: 0.74rem !important; }

  /* ─── Topbar announcement ─── */
  .topbar, .top-announcement { font-size: 0.78rem !important; padding: 6px 10px !important; }
}

/* Extra-small phones (≤400px) — slightly tighter */
@media (max-width: 400px) {
  h1 { font-size: 1.45rem !important; }
  h2 { font-size: 1.2rem !important; }
  .cart-hero h1, .checkout-hero h1 { font-size: 1.3rem !important; }
  .product-title, .pgv2-product-title { font-size: 1.2rem !important; }
  .pgv2-price { font-size: 1.25rem !important; }
  ul.payment_methods li label { font-size: 0.82rem !important; }
}

/* Cart totals "syncing" state — subtle fade while AJAX refreshes server-truth */
.cart_totals.is-loading,
.order-summary-card.is-loading {
  opacity: 0.6;
  transition: opacity .18s ease;
}

/* ── Coupon row ── */
.cart-table .coupon {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.cart-table .coupon input[type="text"] {
  flex: 1;
  min-width: 140px;
  max-width: 220px;
  padding: 11px 16px;
  border: 1.5px solid rgba(48,56,39,0.2);
  border-radius: 50px;
  font-family: var(--font-hebrew);
  font-size: 0.92rem;
  color: var(--color-primary);
  background: #fff;
  outline: none;
  transition: border-color 0.18s;
}
.cart-table .coupon input[type="text"]:focus { border-color: var(--color-primary); }
.cart-table .coupon input[type="text"]::placeholder { color: rgba(48,56,39,0.38); }
.cart-table td.actions { padding: 18px var(--spacing-md); }
.cart-table td.actions .btn { font-size: 0.88rem; padding: 10px 20px; }

/* ── Free shipping progress bar ── */
.free-ship-bar {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.1);
  border-radius: var(--radius-md);
  padding: 14px 20px;
  margin-bottom: var(--spacing-lg);
  box-shadow: 0 1px 4px rgba(48, 56, 39, 0.03);
}
.free-ship-bar.is-free { border-color: var(--color-olive); background: var(--color-cream); }
.free-ship-icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-cream);
  color: var(--color-primary);
}
.free-ship-bar.is-free .free-ship-icon { background: #fff; color: var(--color-olive); }
.free-ship-icon svg { width: 24px; height: 24px; }
.free-ship-content { flex: 1; min-width: 0; }
.free-ship-text {
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: var(--color-primary);
  margin-bottom: 8px;
}
.free-ship-text strong {
  font-family: var(--font-hebrew);
  font-weight: 500;
  color: var(--color-olive);
}
.free-ship-progress {
  height: 6px;
  background: var(--color-cream);
  border-radius: 999px;
  overflow: hidden;
}
.free-ship-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--color-olive), var(--color-primary));
  border-radius: 999px;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Cart extras (coupon / gift wrap / consultation accordions) ── */
.cart-extras {
  margin-top: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cart-extra {
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.1);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.cart-extra summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
  list-style: none;
  transition: background var(--transition-fast);
}
.cart-extra summary::-webkit-details-marker { display: none; }
.cart-extra summary:hover { background: #fcfaf5; }
.cart-extra-icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-cream);
  color: var(--color-primary);
  flex-shrink: 0;
}
.cart-extra-icon svg { width: 17px; height: 17px; }
.cart-extra summary > span:nth-child(2) { flex: 1; }
.cart-extra-chev {
  width: 16px;
  height: 16px;
  color: rgba(48, 56, 39, 0.5);
  transition: transform var(--transition-fast);
  margin-right: auto;
}
.cart-extra[open] .cart-extra-chev { transform: rotate(180deg); }
.cart-extra-body {
  padding: 0 18px 18px;
  border-top: 1px solid rgba(48, 56, 39, 0.06);
  padding-top: 16px;
}
.cart-extra-text {
  font-family: var(--font-hebrew);
  font-size: 0.92rem;
  color: rgba(48, 56, 39, 0.72);
  line-height: 1.65;
  margin: 0 0 12px;
}
.cart-extra-row { display: flex; gap: 10px; }
.cart-extra-row input {
  flex: 1;
  border: 1px solid rgba(48, 56, 39, 0.15);
  border-radius: var(--radius-md);
  padding: 11px 14px;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
}
.cart-gift-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-hebrew);
  font-size: 0.92rem;
  color: var(--color-primary);
  cursor: pointer;
  margin-bottom: 10px;
}
.cart-gift-option input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--color-primary);
  cursor: pointer;
}
.cart-gift-note {
  width: 100%;
  border: 1px solid rgba(48, 56, 39, 0.15);
  border-radius: var(--radius-md);
  padding: 10px 14px;
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  resize: vertical;
  min-height: 54px;
}
.cart-consult-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cart-consult-btn svg { color: #25D366; }

/* ── Summary: delivery row styling ── */
.summary-row.summary-delivery span:last-child {
  font-family: var(--font-hebrew);
  font-weight: 700;
  color: var(--color-primary);
  font-size: 0.92rem;
}

/* -- Upsell section (cart page) -- */
.upsell-section {
  background: var(--color-cream);
  padding-block: var(--spacing-lg);
  border-top: 1px solid rgba(48, 56, 39, 0.06);
}
.upsell-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto var(--spacing-md);
}
.upsell-section .upsell-header h2 { font-size: clamp(1.25rem, 2.2vw, 1.55rem) !important; margin-bottom: 4px !important; letter-spacing: -0.01em; }
.upsell-section .upsell-header p { font-size: 0.88rem !important; margin-top: 2px; }
.upsell-section .upsell-kicker { font-size: 0.92rem !important; margin-bottom: 2px !important; }
.upsell-section .upsell-card .product-card-image { max-width: 180px; margin: 0 auto; }
.upsell-kicker {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.1rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: 6px;
}
.upsell-header h2 {
  font-family: var(--font-hebrew);
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
  letter-spacing: -0.01em;
}
.upsell-header p {
  color: var(--color-gray);
  font-size: 1rem;
  margin: 0;
}
.upsell-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-lg);
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 992px) { .upsell-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .upsell-grid { grid-template-columns: 1fr; max-width: 340px; } }

/* Empty state, editorial */
.cart-empty {
  text-align: center;
  padding: 80px 20px;
  max-width: 520px;
  margin: 0 auto;
}
.cart-empty-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto var(--spacing-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-cream);
  color: var(--color-olive);
}
.cart-empty-icon svg { width: 36px; height: 36px; }
.cart-empty-sub {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: 6px;
}
.cart-empty-title {
  font-family: var(--font-hebrew);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
  letter-spacing: -0.01em;
}
.cart-empty-text {
  color: var(--color-gray);
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: var(--spacing-lg);
}

/* Order Summary card */
.order-summary-card {
  background: #fff;
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
  border: 1px solid rgba(48, 56, 39, 0.1);
  box-shadow: 0 2px 12px rgba(48, 56, 39, 0.04);
  position: sticky;
  top: calc(var(--header-height) + 20px);
}
.order-summary-kicker {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: 4px;
}
.order-summary-card h3 {
  font-family: var(--font-hebrew);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-md);
  padding-bottom: var(--spacing-sm);
  border-bottom: 1px solid rgba(48, 56, 39, 0.08);
  letter-spacing: -0.01em;
}

.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-block: 9px;
  font-family: var(--font-hebrew);
  font-size: 0.92rem;
  color: rgba(48, 56, 39, 0.75);
  border-bottom: none;
}
.summary-row.total {
  font-family: var(--font-hebrew);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-primary);
  padding-top: 14px;
  margin-top: 6px;
  border-top: 1px solid rgba(48, 56, 39, 0.08);
}
.summary-row.total span:last-child {
  font-family: var(--font-hebrew);
  font-size: 1.5rem;
  font-weight: 500;
}
.summary-free { color: var(--color-olive); font-weight: 600; }
.summary-muted { color: rgba(48, 56, 39, 0.35); }

/* Primary CTA */
.order-summary-cta {
  display: block;
  width: 100%;
  margin-top: var(--spacing-lg);
  padding: 14px 24px;
  text-align: center;
  font-size: 1rem;
  border-radius: var(--radius-full);
}

/* Alt (WhatsApp) CTA */
.order-summary-alt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 10px;
  padding: 11px 16px;
  text-decoration: none;
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  color: var(--color-olive);
  background: transparent;
  border: 1px solid rgba(48, 56, 39, 0.15);
  border-radius: var(--radius-full);
  transition: all var(--transition-fast);
}
.order-summary-alt:hover {
  background: var(--color-cream);
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.order-summary-alt svg {
  width: 15px;
  height: 15px;
  color: #25D366;
}

/* Trust row, SSL + payment logos */
.order-summary-trust {
  margin-top: var(--spacing-md);
  padding-top: 14px;
  border-top: 1px solid rgba(48, 56, 39, 0.08);
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}
/* ── Order totals rows ───────────────────────────────── */
.order-summary-totals {
  border-top: 1px solid rgba(48, 56, 39, 0.08);
  padding-top: var(--spacing-sm);
  margin-bottom: var(--spacing-sm);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.order-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.88rem;
  color: var(--color-gray);
}
.order-summary-row--discount {
  color: #c0392b;
}
.order-summary-row--total {
  border-top: 1px solid rgba(48, 56, 39, 0.12);
  padding-top: 10px;
  margin-top: 4px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-primary);
}
/* ─────────────────────────────────────────────────── */

.order-summary-secure {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-hebrew);
  font-size: 0.78rem;
  color: rgba(48, 56, 39, 0.55);
}
.order-summary-secure svg { width: 12px; height: 12px; }
.order-summary-payments {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.order-summary-payments img {
  height: 20px;
  width: auto;
  max-width: 42px;
  object-fit: contain;
  opacity: 0.82;
  transition: opacity var(--transition-fast);
}
.order-summary-payments img:hover { opacity: 1; }

/* ══════════════════════════════════════════════════════
   CHECKOUT PAGE, brand-aligned 3-step flow + sticky summary
══════════════════════════════════════════════════════ */
.checkout-section {
  background: #fcfaf5;
  padding-block: var(--spacing-xl) var(--spacing-2xl);
}
.checkout-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--spacing-xl);
  align-items: start;
}
.checkout-form {
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.08);
  border-radius: var(--radius-md);
  padding: var(--spacing-xl);
}

/* Express checkout */
.checkout-express { margin-bottom: var(--spacing-xl); }
.checkout-express-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 14px;
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
}
.checkout-express-label .line {
  flex: 1;
  max-width: 80px;
  height: 1px;
  background: rgba(48, 56, 39, 0.15);
}
.checkout-express-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.express-btn {
  background: #fff;
  border: 1.5px solid rgba(48, 56, 39, 0.12);
  border-radius: var(--radius-md);
  padding: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
}
.express-btn:hover {
  border-color: var(--color-primary);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(48, 56, 39, 0.08);
}
.express-btn img { height: 22px; max-width: 56px; object-fit: contain; }
.checkout-divider {
  position: relative;
  text-align: center;
  margin: var(--spacing-xl) 0 var(--spacing-md);
}
.checkout-divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(48, 56, 39, 0.1);
}
.checkout-divider span {
  position: relative;
  display: inline-block;
  padding: 0 18px;
  background: #fff;
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  color: rgba(48, 56, 39, 0.55);
}

/* Step blocks */
.checkout-step {
  padding: var(--spacing-lg) 0;
  border-top: 1px solid rgba(48, 56, 39, 0.08);
}
.checkout-step:first-of-type { border-top: none; padding-top: 0; }
.checkout-step-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: var(--spacing-md);
}
.checkout-step-num {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  font-weight: 500;
  border-radius: 50%;
}
.checkout-step-kicker {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 0.9rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
  display: block;
}
.checkout-step-header h2 {
  font-family: var(--font-hebrew);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 0;
  letter-spacing: -0.01em;
}

/* Form layout */
.checkout-form-row { margin-bottom: 14px; }
.checkout-form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.checkout-form-row-3 { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 14px; }
.checkout-field { display: flex; flex-direction: column; }
.checkout-field span {
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  color: rgba(48, 56, 39, 0.7);
  margin-bottom: 6px;
}
.checkout-field input,
.checkout-field textarea,
.checkout-field select {
  width: 100%;
  border: 1px solid rgba(48, 56, 39, 0.15);
  border-radius: var(--radius-md);
  padding: 11px 14px;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: var(--color-primary);
  background: #fff;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.checkout-field input:focus,
.checkout-field textarea:focus,
.checkout-field select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(48, 56, 39, 0.06);
}

/* Shipping methods */
.shipping-methods {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}
.shipping-method {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1.5px solid rgba(48, 56, 39, 0.12);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.shipping-method:hover { border-color: rgba(48, 56, 39, 0.4); }
.shipping-method:has(input:checked),
.shipping-method.active {
  border-color: var(--color-primary);
  background: var(--color-cream);
}
.shipping-method input[type="radio"] {
  accent-color: var(--color-primary);
  width: 16px;
  height: 16px;
}
.shipping-method-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.shipping-method-title {
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary);
}
.shipping-method-eta {
  font-family: var(--font-hebrew);
  font-size: 0.82rem;
  color: rgba(48, 56, 39, 0.6);
  margin-top: 2px;
}
.shipping-method-price {
  font-family: var(--font-hebrew);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--color-primary);
}
.shipping-method:has(input:checked) .shipping-method-price { color: var(--color-olive); }

/* Payment methods */
.payment-methods {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: var(--spacing-md);
}
.payment-method {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px 10px;
  border: 1.5px solid rgba(48, 56, 39, 0.12);
  border-radius: var(--radius-md);
  cursor: pointer;
  background: #fff;
  transition: all var(--transition-fast);
  text-align: center;
}
.payment-method input[type="radio"] { display: none; }
.payment-method:hover { border-color: var(--color-primary); }
.payment-method:has(input:checked),
.payment-method.active {
  border-color: var(--color-primary);
  background: var(--color-cream);
}
.payment-method-title {
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--color-primary);
}
.payment-method-icons {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
}
.payment-method-icons img {
  height: 18px;
  max-width: 34px;
  object-fit: contain;
  opacity: 0.85;
}

.payment-card-fields {
  background: #fcfaf5;
  border-radius: var(--radius-md);
  padding: var(--spacing-md);
  border: 1px solid rgba(48, 56, 39, 0.06);
}

/* Final CTA */
.checkout-submit {
  width: 100%;
  margin-top: var(--spacing-xl);
  padding: 16px 24px;
  font-size: 1.05rem;
  border-radius: var(--radius-full);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.checkout-submit svg { width: 16px; height: 16px; }
.checkout-back {
  display: block;
  text-align: center;
  margin-top: 12px;
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  color: rgba(48, 56, 39, 0.6);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.checkout-back:hover { color: var(--color-primary); }

/* Checkout summary (mini cart) */
.checkout-summary {
  position: sticky;
  top: calc(var(--header-height) + 20px);
}
.checkout-mini-cart {
  list-style: none;
  margin: 0 0 var(--spacing-md);
  padding: 0 0 var(--spacing-sm);
  border-bottom: 1px solid rgba(48, 56, 39, 0.08);
  max-height: 280px;
  overflow-y: auto;
}
.checkout-mini-cart li {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(48, 56, 39, 0.06);
}
.checkout-mini-cart li:last-child { border-bottom: none; }
.checkout-mini-cart img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: var(--radius-md);
  background: var(--color-cream);
}
.checkout-mini-cart-name {
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--color-primary);
  display: block;
  line-height: 1.3;
}
.checkout-mini-cart-variant {
  font-family: var(--font-hebrew);
  font-size: 0.76rem;
  color: rgba(48, 56, 39, 0.55);
  display: block;
  margin-top: 2px;
}
.checkout-mini-cart-price {
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--color-primary);
  white-space: nowrap;
}

/* Responsive */
@media (max-width: 992px) {
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-summary { position: static; }
  .checkout-form-row-3 { grid-template-columns: 1fr 1fr; }
  .payment-methods { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .checkout-form { padding: var(--spacing-lg) var(--spacing-md); }
  .checkout-form-row-2,
  .checkout-form-row-3 { grid-template-columns: 1fr; }
  .checkout-express-buttons { grid-template-columns: 1fr 1fr 1fr; }
}

/* ── FAQ ────────────────────────────────────────────────── */
.faq-list {
  max-width: 760px;
  margin: 0 auto;
}

.faq-item {
  border: 1px solid var(--color-light-gray);
  border-radius: var(--radius-md);
  margin-bottom: var(--spacing-sm);
  overflow: hidden;
  background: var(--color-white);
}

.faq-question {
  width: 100%;
  text-align: right;
  padding: var(--spacing-md) var(--spacing-lg);
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-primary);
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  transition: background var(--transition-fast);
}
.faq-question:hover { background: var(--color-cream); }

.faq-icon {
  width: 28px;
  height: 28px;
  background: var(--color-light-gray);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--color-primary);
  flex-shrink: 0;
  transition: all var(--transition-fast);
}

.faq-item.open .faq-icon {
  background: var(--color-primary);
  color: var(--color-white);
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-item.open .faq-answer {
  max-height: 600px;
}

.faq-answer-inner {
  padding: 0 var(--spacing-lg) var(--spacing-lg);
  font-size: 0.95rem;
  color: var(--color-gray);
  line-height: 1.75;
}

/* ══════════════════════════════════════════════════════
   FAQ — Brand-aligned upgrade (hero sub, pills, category blocks,
   SVG chevron icons, polished CTA box)
══════════════════════════════════════════════════════ */
.faq-hero-sub {
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-hebrew);
  font-size: 1.02rem;
  margin: 12px auto 0;
  max-width: 560px;
  line-height: 1.6;
}

.faq-pills-section {
  background: var(--color-cream);
  padding: 22px 0;
  border-bottom: 1px solid rgba(48, 56, 39, 0.06);
}
.faq-pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.faq-pill {
  padding: 9px 20px;
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.12);
  border-radius: var(--radius-full);
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  transition: all var(--transition-fast);
}
.faq-pill:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
  transform: translateY(-1px);
}

.faq-section { background: #fcfaf5; }

/* Category blocks */
.faq-category-block {
  margin-bottom: var(--spacing-xl);
  scroll-margin-top: 120px;
}
.faq-category {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: var(--spacing-md);
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(48, 56, 39, 0.1);
}
.faq-category-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-cream);
  color: var(--color-primary);
  flex-shrink: 0;
}
.faq-category-icon svg { width: 20px; height: 20px; }
.faq-category h3 {
  font-family: var(--font-hebrew);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 0;
  letter-spacing: -0.01em;
}

/* FAQ item polish */
.faq-item {
  border: 1px solid rgba(48, 56, 39, 0.08);
  box-shadow: 0 1px 3px rgba(48, 56, 39, 0.02);
}
.faq-question {
  padding: 16px 22px;
}
.faq-answer-inner {
  padding: 0 22px 20px;
  color: rgba(48, 56, 39, 0.75);
}

/* SVG chevron icon — replaces old +/× text */
.faq-icon {
  width: 26px;
  height: 26px;
  background: transparent;
  color: rgba(48, 56, 39, 0.55);
  transition: transform var(--transition-fast), color var(--transition-fast);
}
.faq-icon svg { width: 18px; height: 18px; }
.faq-item:hover .faq-icon { color: var(--color-primary); }
.faq-item.open .faq-icon {
  background: transparent;
  color: var(--color-primary);
  transform: rotate(180deg);
}

/* Bottom CTA box (polished) */
.faq-cta-box {
  margin-top: var(--spacing-2xl);
  text-align: center;
  padding: var(--spacing-xl) var(--spacing-lg);
  background: var(--color-cream);
  border-radius: var(--radius-md);
  border: 1px solid rgba(48, 56, 39, 0.08);
}
.faq-cta-box h3 {
  font-family: var(--font-hebrew);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
}
.faq-cta-box p {
  color: var(--color-gray);
  margin: 0 0 var(--spacing-lg);
  font-size: 1rem;
}
.faq-cta-btns {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.faq-cta-btns .btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

/* ── Policy Pages (upgraded editorial brand) ──────────── */
.policy-section {
  background: #fcfaf5;
  padding-block: var(--spacing-2xl);
  border-top: 1px solid rgba(48, 56, 39, 0.06);
}
.policy-intro {
  padding-bottom: var(--spacing-md);
  margin-bottom: var(--spacing-xl);
  border-bottom: 1px solid rgba(48, 56, 39, 0.08);
}
.policy-intro p {
  font-size: 1.05rem;
  color: var(--color-primary);
  line-height: 1.7;
  margin: 0;
}
.policy-content h3 {
  margin-top: var(--spacing-lg);
  margin-bottom: var(--spacing-sm);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-primary);
  font-family: var(--font-hebrew);
}
.policy-content p { margin: 0 0 var(--spacing-md); font-size: 0.98rem; line-height: 1.8; }
.policy-content a {
  color: var(--color-olive);
  text-decoration: underline;
  text-decoration-color: rgba(74, 82, 64, 0.3);
  text-underline-offset: 3px;
}
.policy-content a:hover { color: var(--color-primary); }
.policy-box {
  background: var(--color-cream);
  border-radius: var(--radius-md);
  padding: var(--spacing-md) var(--spacing-lg);
  margin: var(--spacing-md) 0;
}
.policy-box p { margin-bottom: 6px; font-size: 0.95rem; }
.policy-box p:last-child { margin-bottom: 0; }
.policy-highlight {
  background: var(--color-primary);
  color: #fff;
  text-align: center;
  padding: var(--spacing-md);
}
.policy-highlight p { color: #fff; margin: 0; font-size: 1.05rem; font-weight: 700; }
.policy-list { padding-right: var(--spacing-lg); margin: var(--spacing-md) 0; }
.policy-list li { margin-bottom: 8px; line-height: 1.8; font-size: 0.98rem; }
.policy-divider { margin: var(--spacing-2xl) 0 var(--spacing-xl); border: 0; border-top: 1px solid rgba(48, 56, 39, 0.12); }
.policy-updated {
  margin-top: var(--spacing-xl);
  padding-top: var(--spacing-md);
  border-top: 1px solid rgba(48, 56, 39, 0.08);
  color: rgba(48, 56, 39, 0.5);
  font-size: 0.88rem;
  text-align: center;
}

/* Legacy — kept for backwards-compat */
.policy-content {
  max-width: 780px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.08);
  border-radius: var(--radius-md);
  padding: var(--spacing-2xl) var(--spacing-xl);
  font-family: var(--font-hebrew);
  line-height: 1.8;
  color: rgba(48, 56, 39, 0.82);
}

/* ══════════════════════════════════════════════════════════
   MINI CART DRAWER — slide-in from screen-left (RTL near icon)
══════════════════════════════════════════════════════════ */
.mini-cart-overlay {
  position: fixed; inset: 0;
  background: rgba(48, 56, 39, 0.45);
  z-index: 10000;
  opacity: 0; pointer-events: none;
  transition: opacity 0.25s ease;
}
.mini-cart-overlay.is-open { opacity: 1; pointer-events: auto; }

.mini-cart {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: 420px; max-width: 92vw;
  background: #fff;
  z-index: 10001;
  display: flex; flex-direction: column;
  box-shadow: 5px 0 30px rgba(0, 0, 0, 0.2);
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: var(--font-hebrew);
}
.mini-cart.is-open { transform: translateX(0); }

.mini-cart-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px;
  background: var(--color-primary);
  color: #fff;
  flex-shrink: 0;
}
.mini-cart-head-inner { display: flex; align-items: center; gap: 10px; }
.mini-cart-check {
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--color-olive);
  color: #fff;
}
.mini-cart-check svg { width: 18px; height: 18px; }
.mini-cart-head h3 {
  margin: 0;
  font-family: var(--font-hebrew);
  font-size: 1.1rem; font-weight: 700; color: #fff;
  letter-spacing: -0.01em;
}
.mini-cart-close {
  background: transparent; border: none;
  color: #fff; font-size: 1.4rem;
  cursor: pointer; padding: 0 6px;
  transition: opacity 0.2s;
}
.mini-cart-close:hover { opacity: 0.75; }

.mini-cart-body {
  flex: 1; overflow-y: auto;
  padding: 14px 16px;
  background: #fcfaf5;
}
.mini-cart-empty {
  padding: 60px 20px;
  text-align: center;
  color: var(--color-gray);
  font-size: 1rem;
}

.mini-cart-item {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 12px;
  align-items: start;
  padding: 12px;
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.08);
  border-radius: var(--radius-md);
  margin-bottom: 10px;
}
.mini-cart-item-img {
  width: 64px; height: 64px;
  object-fit: cover;
  border-radius: 8px;
  background: var(--color-cream);
}
.mini-cart-item-info { min-width: 0; }
.mini-cart-item-title {
  flex: 1;
  min-width: 0;
  margin: 0 0 3px;
  font-family: var(--font-hebrew);
  font-size: 0.92rem; font-weight: 700;
  color: var(--color-primary);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mini-cart-item-variant {
  margin: 0 0 8px;
  font-size: 0.78rem;
  color: rgba(48, 56, 39, 0.55);
  line-height: 1.4;
}
.mini-cart-item-img-link { display: block; flex-shrink: 0; }
.mini-cart-item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 3px;
}
.mini-cart-remove {
  flex-shrink: 0;
  background: none;
  border: none;
  color: rgba(48,56,39,0.35);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
  transition: color 0.15s;
}
.mini-cart-remove:hover { color: #c0392b; }

.mini-cart-item-meta {
  display: flex; justify-content: space-between;
  align-items: center; gap: 10px; flex-wrap: wrap;
}

/* Qty stepper in mini-cart */
.mini-qty-ctrl {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(48,56,39,0.06);
  border-radius: 999px;
  padding: 2px 4px;
}
.mini-qty-btn {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: transparent; border: none;
  color: var(--color-primary);
  font-size: 1rem; font-weight: 700;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background 0.15s;
}
.mini-qty-btn:hover { background: rgba(48,56,39,0.12); }
.mini-qty-val {
  min-width: 20px;
  text-align: center;
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--color-primary);
}
.mini-cart-qty {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--color-cream);
  padding: 2px;
  border-radius: 999px;
}
.mini-cart-qty-btn {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: transparent; border: none;
  color: var(--color-primary);
  font-weight: 700; font-size: 0.9rem;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background 0.15s;
}
.mini-cart-qty-btn:hover { background: #fff; }
.mini-cart-qty-val {
  font-family: var(--font-hebrew);
  font-size: 0.88rem; font-weight: 700;
  color: var(--color-primary);
  min-width: 18px; text-align: center;
}
.mini-cart-item-price {
  font-family: var(--font-hebrew);
  font-size: 1rem; font-weight: 500;
  color: var(--color-primary);
}
.mini-cart-remove {
  background: transparent; border: none;
  color: rgba(48, 56, 39, 0.4);
  font-size: 1rem; cursor: pointer;
  padding: 4px 6px; align-self: flex-start;
  transition: color 0.15s;
}
.mini-cart-remove:hover { color: #d9534f; }

.mini-cart-foot {
  flex-shrink: 0;
  padding: 16px 20px 20px;
  background: #fff;
  border-top: 1px solid rgba(48, 56, 39, 0.08);
}
.mini-cart-ship {
  text-align: center;
  padding: 8px 12px;
  margin-bottom: 12px;
  background: var(--color-cream);
  border-radius: 999px;
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  color: rgba(48, 56, 39, 0.72);
}
.mini-cart-ship strong { color: var(--color-olive); font-family: var(--font-hebrew); }
.mini-cart-ship.is-free { background: var(--color-olive); color: #fff; font-weight: 700; }

.mini-cart-subtotal {
  display: flex; justify-content: space-between;
  align-items: baseline;
  padding: 10px 0 14px;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: rgba(48, 56, 39, 0.75);
  border-bottom: 1px solid rgba(48, 56, 39, 0.08);
  margin-bottom: 14px;
}
.mini-cart-subtotal strong {
  font-family: var(--font-hebrew);
  font-size: 1.35rem; font-weight: 500;
  color: var(--color-primary);
}

.mini-cart-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.mini-cart-btn-alt, .mini-cart-btn-main {
  text-align: center;
  padding: 12px 14px;
  border-radius: var(--radius-full);
  font-family: var(--font-hebrew);
  font-weight: 700; font-size: 0.92rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center; justify-content: center;
}

.mini-cart-continue {
  width: 100%; margin-top: 10px;
  background: transparent; border: none;
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  color: var(--color-olive);
  cursor: pointer; padding: 8px;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(74, 82, 64, 0.3);
}
.mini-cart-continue:hover { color: var(--color-primary); }

/* WC version: 2-col item (image + info, no remove btn) */
.mini-cart-item-qty {
  font-size: 0.82rem;
  color: rgba(48,56,39,0.55);
  font-family: var(--font-hebrew);
}

/* Prevent body scroll when drawer is open */
body.mini-cart-is-open { overflow: hidden; }

@media (max-width: 520px) {
  .mini-cart {
    width: 100vw; max-width: 100vw;
    top: auto; bottom: 0;
    height: 88vh;
    transform: translateY(100%);
    border-radius: 16px 16px 0 0;
  }
  .mini-cart.is-open { transform: translateY(0); }
  .mini-cart-actions { grid-template-columns: 1fr; gap: 10px; }
}

/* ══════════════════════════════════════════════════════════
   ACCESSIBILITY WIDGET (IL Standard 5568 / WCAG 2.1 AA)
══════════════════════════════════════════════════════════ */
#a11y-widget {
  position: fixed;
  bottom: var(--spacing-lg);
  left: var(--spacing-lg);
  z-index: 900;
}
.a11y-toggle {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  border: 3px solid #fff;
  box-shadow: 0 6px 18px rgba(48, 56, 39, 0.35);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
}
.a11y-toggle:hover, .a11y-toggle:focus-visible {
  transform: scale(1.05);
  box-shadow: 0 10px 24px rgba(48, 56, 39, 0.45);
  outline: none;
}
.a11y-toggle:focus-visible { box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--color-primary); }

.a11y-panel {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 0;
  width: 320px;
  max-height: 80vh;
  overflow-y: auto;
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.12);
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: all 0.25s ease;
  font-family: var(--font-hebrew);
}
.a11y-panel.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.a11y-panel-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px;
  background: var(--color-primary);
  color: #fff;
  border-radius: 12px 12px 0 0;
}
.a11y-panel-head h2 {
  margin: 0;
  font-family: var(--font-hebrew);
  font-size: 1.1rem; font-weight: 700; color: #fff;
}
.a11y-close {
  background: transparent; border: none;
  color: #fff; font-size: 1.8rem; line-height: 1;
  cursor: pointer; padding: 0 4px;
}
.a11y-close:hover { opacity: 0.8; }

.a11y-panel-body { padding: 16px; }
.a11y-group { margin-bottom: 14px; }
.a11y-group-title {
  font-size: 0.85rem; font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 8px;
}
.a11y-btn-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.a11y-btn {
  padding: 10px;
  background: var(--color-cream);
  border: 1px solid rgba(48, 56, 39, 0.1);
  border-radius: 8px;
  font-family: var(--font-hebrew);
  font-weight: 700;
  color: var(--color-primary);
  cursor: pointer;
  transition: all 0.15s;
}
.a11y-btn:hover, .a11y-btn:focus-visible {
  background: var(--color-primary); color: #fff; outline: none;
}

.a11y-opt {
  width: 100%;
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; margin-bottom: 4px;
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.1);
  border-radius: 8px;
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  color: var(--color-primary);
  cursor: pointer;
  text-align: right;
  transition: all 0.15s;
}
.a11y-opt:hover { border-color: var(--color-primary); }
.a11y-opt.is-active { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.a11y-opt-icon {
  width: 22px; height: 22px;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-weight: 700; font-family: var(--font-hebrew);
}

.a11y-reset {
  width: 100%;
  margin-top: 10px;
  padding: 10px;
  background: transparent;
  border: 1.5px solid rgba(48, 56, 39, 0.2);
  border-radius: 8px;
  font-family: var(--font-hebrew);
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
}
.a11y-reset:hover { background: var(--color-cream); border-color: var(--color-primary); }
.a11y-link {
  display: block;
  margin-top: 10px;
  text-align: center;
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  color: var(--color-olive);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Accessibility effects (applied via html classes) */
:root { --a11y-font-scale: 1; --a11y-spacing-scale: 1; }
html body {
  font-size: calc(16px * var(--a11y-font-scale)) !important;
  letter-spacing: calc(0.01em * var(--a11y-spacing-scale));
  word-spacing: calc(0.05em * var(--a11y-spacing-scale));
}

.a11y-contrast-high body { background: #fff !important; color: #000 !important; }
.a11y-contrast-high a { color: #0050c8 !important; }
.a11y-contrast-high h1, .a11y-contrast-high h2, .a11y-contrast-high h3, .a11y-contrast-high h4 { color: #000 !important; }

.a11y-contrast-dark body, .a11y-contrast-dark .header, .a11y-contrast-dark .footer {
  background: #0a0a0a !important; color: #f5f5f5 !important;
}
.a11y-contrast-dark a { color: #ffd56b !important; }
.a11y-contrast-dark h1, .a11y-contrast-dark h2, .a11y-contrast-dark h3, .a11y-contrast-dark h4 { color: #fff !important; }

.a11y-grayscale body { filter: grayscale(100%); }

.a11y-underline-links a { text-decoration: underline !important; }
.a11y-highlight-headings h1,
.a11y-highlight-headings h2,
.a11y-highlight-headings h3 {
  background: #ffe58a !important;
  color: #000 !important;
  padding: 4px 8px !important;
  border-radius: 4px;
}

.a11y-readable-font, .a11y-readable-font * {
  font-family: Arial, Tahoma, sans-serif !important;
}

.a11y-big-cursor, .a11y-big-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 32 32'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1.5' d='M4 2 L4 28 L10 22 L14 30 L18 28 L14 20 L22 20 Z'/%3E%3C/svg%3E") 2 2, auto !important;
}

.a11y-pause-anim, .a11y-pause-anim *, .a11y-pause-anim *::before, .a11y-pause-anim *::after {
  animation: none !important;
  transition: none !important;
}

@media (max-width: 600px) {
  #a11y-widget { bottom: var(--spacing-md); left: var(--spacing-md); }
  .a11y-toggle { width: 46px; height: 46px; }
  .a11y-panel { width: 92vw; max-width: 300px; }
}

@media (max-width: 767px) {
  .single-product #a11y-widget {
    bottom: 72px;
  }
}

.policy-content h2 {
  margin-top: var(--spacing-xl);
  margin-bottom: var(--spacing-md);
  font-size: 1.4rem;
  color: var(--color-primary);
}

.policy-content h3 {
  margin-top: var(--spacing-lg);
  margin-bottom: var(--spacing-sm);
  font-size: 1.1rem;
}

.policy-content p {
  color: var(--color-gray);
  line-height: 1.8;
  margin-bottom: var(--spacing-md);
}

.policy-content ul {
  list-style: disc;
  padding-right: var(--spacing-xl);
  margin-bottom: var(--spacing-md);
}

.policy-content ul li {
  color: var(--color-gray);
  line-height: 1.7;
  margin-bottom: var(--spacing-sm);
}

/* ── Scroll to Top ──────────────────────────────────────── */
.scroll-top-btn {
  position: fixed;
  bottom: var(--spacing-lg);
  left: var(--spacing-lg);
  width: 48px;
  height: 48px;
  background: var(--color-primary);
  color: var(--color-white);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-lg);
  z-index: 500;
  font-size: 1.2rem;
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition: all var(--transition);
}
.scroll-top-btn.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}
.scroll-top-btn:hover {
  background: var(--color-olive);
  transform: translateY(-2px);
}

/* ── Floating WhatsApp button (brand-aligned, right side) ── */
.whatsapp-float {
  position: fixed;
  bottom: var(--spacing-lg);
  right: var(--spacing-lg);
  width: 52px;
  height: 52px;
  background: #25D366;
  color: #fff;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(37, 211, 102, 0.35);
  z-index: 500;
  text-decoration: none;
  transition: all var(--transition);
  border: 3px solid #fff;
}
.whatsapp-float:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 10px 24px rgba(37, 211, 102, 0.45);
  background: #20bd5a;
}
.whatsapp-float svg {
  width: 26px;
  height: 26px;
  fill: #fff;
}
.whatsapp-float::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 2px solid #25D366;
  opacity: 0.6;
  animation: whatsappPulse 2.4s ease-out infinite;
  pointer-events: none;
}
@keyframes whatsappPulse {
  0% { transform: scale(1); opacity: 0.6; }
  80% { transform: scale(1.35); opacity: 0; }
  100% { transform: scale(1.35); opacity: 0; }
}
@media (max-width: 600px) {
  .whatsapp-float { bottom: var(--spacing-md); right: var(--spacing-md); width: 48px; height: 48px; }
  .whatsapp-float svg { width: 24px; height: 24px; }
}

/* ── CTA Section ────────────────────────────────────────── */
.cta-section {
  background: var(--color-cream);
  padding-block: var(--spacing-2xl);
  text-align: center;
}

.cta-section h2 { margin-bottom: var(--spacing-md); }
.cta-section p {
  color: var(--color-gray);
  margin-bottom: var(--spacing-xl);
  font-size: 1.05rem;
}

/* ── Blog Post ──────────────────────────────────────────── */
.blog-post-hero {
  position: relative;
  height: 480px;
  overflow: hidden;
}

.blog-post-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-post-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(48,56,39,0.55);
  display: flex;
  align-items: flex-end;
}

.blog-post-hero-content {
  padding: var(--spacing-xl) var(--spacing-xl);
  color: var(--color-white);
  max-width: 760px;
}

.blog-post-content {
  max-width: 760px;
  margin: 0 auto;
  padding-block: var(--spacing-2xl);
}

.blog-post-content p {
  font-size: 1.05rem;
  line-height: 1.85;
  color: var(--color-gray);
  margin-bottom: var(--spacing-md);
}

.blog-post-content h2 {
  margin-top: var(--spacing-xl);
  margin-bottom: var(--spacing-md);
}

.blog-post-content blockquote {
  border-right: 4px solid var(--color-primary);
  padding: var(--spacing-md) var(--spacing-lg);
  background: var(--color-cream);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  margin: var(--spacing-lg) 0;
  font-style: italic;
  color: var(--color-primary);
}

/* ── Toast / Alert ──────────────────────────────────────── */
.toast {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--color-primary);
  color: var(--color-white);
  padding: 12px 24px;
  border-radius: var(--radius-full);
  font-size: 0.9rem;
  font-weight: 500;
  box-shadow: var(--shadow-lg);
  z-index: 2000;
  opacity: 0;
  pointer-events: none;
  transition: all var(--transition);
}

.toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ── Pots Story Section (white bg, intro for collection) ── */
.pots-story {
  background: #ffffff;
  padding-block: 80px 40px;
}
.pots-story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 60px;
}
.pots-story-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pots-story-image img {
  width: 100%;
  max-width: 460px;
  aspect-ratio: 1 / 0.92;
  object-fit: cover;
  object-position: center 85%;
  border-radius: 60% 40% 55% 45% / 55% 45% 55% 45%;
  box-shadow: 0 30px 70px rgba(48,56,39,0.15);
}
.pots-story-content {
  text-align: right;
}
.pots-story-content h2 {
  font-family: var(--font-hebrew);
  font-size: 38px;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 18px;
  line-height: 1.2;
}
.pots-story-content p {
  font-size: 15px;
  line-height: 1.85;
  color: rgba(48,56,39,0.72);
  margin-bottom: 28px;
  max-width: 460px;
}

/* ── Pots Carousel Section ───── */
.pots-carousel-section {
  background: var(--color-white);
  padding-block: 20px 100px;
}
.pots-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc(25% - 18px);
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 8px;
}
.pots-carousel::-webkit-scrollbar { display: none; }

.pot-card {
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0;
  transition: transform var(--transition);
}
.pot-card:hover { transform: translateY(-4px); }

.pot-card-image {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
  background-color: transparent;
  background-image: url("../images/blob-shape.svg");
  background-position: center 88%;
  background-size: 82% 78%;
  background-repeat: no-repeat;
  padding: 6%;
  margin-bottom: 18px;
  overflow: visible;
  position: relative;
}
.pot-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: normal;
  transition: transform 0.4s ease;
  filter: drop-shadow(0 10px 16px rgba(48,56,39,0.16));
  position: relative;
  z-index: 1;
}
.pot-card:hover .pot-card-image img { transform: scale(1.05); }

.pot-card-body {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.pot-card-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-primary);
  line-height: 1.3;
  min-height: 36px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pot-card-rating .stars {
  color: #d4a017;
  font-size: 13px;
  letter-spacing: 1px;
}
.pot-card-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
}
.pot-card-add {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  border: none;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition);
}
.pot-card-add:hover { background: var(--color-olive); transform: scale(1.08); }
.pot-card-price {
  font-size: 13px;
  color: rgba(48,56,39,0.75);
  font-weight: 500;
}

@media (max-width: 1024px) {
  .pots-story-grid { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .pots-story-content { text-align: center; }
  .pots-story-content p { margin-inline: auto; }
  .pots-carousel { grid-auto-columns: calc(50% - 12px); }
}
@media (max-width: 640px) {
  .pots-story { padding-block: 50px; }
  .pots-story-content h2 { font-size: 28px; }
  .pots-carousel-section { padding-block: 40px 60px; }
  .pots-carousel { grid-auto-columns: calc(70% - 8px); }
}

/* ── Related products ────────────────────────────────────── */
.related-section {
  padding-block: var(--spacing-2xl);
  background: var(--color-cream);
}

/* ── Team / Values (About) ──────────────────────────────── */
.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
}

.value-card {
  text-align: center;
  padding: var(--spacing-xl);
}

.value-icon {
  font-size: 2.5rem;
  margin-bottom: var(--spacing-md);
}

.value-card h3 { margin-bottom: var(--spacing-sm); }
.value-card p { color: var(--color-gray); font-size: 0.9rem; line-height: 1.65; }

/* ── Image placeholder (if image missing) ───────────────── */
.img-placeholder {
  background: linear-gradient(135deg, var(--color-cream) 0%, var(--color-light-gray) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray);
  font-size: 2rem;
  width: 100%;
  height: 100%;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */

/* ── 1024px, Tablet landscape ─────────────────────────── */
@media (max-width: 1024px) {
  :root {
    --header-height: 72px;
    --spacing-3xl: 80px;
  }

  /* Shop sidebar → off-canvas drawer */
  .shop-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 280px;
    max-height: 100vh;
    overflow-y: auto;
    background: #fff;
    z-index: 300;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    border-radius: 0;
    padding: 48px 0 24px;
    top: 0;
    box-shadow: 4px 0 24px rgba(0,0,0,0.12);
  }
  [dir="rtl"] .shop-sidebar {
    inset: 0 auto 0 auto;
    right: 0; left: auto;
    transform: translateX(100%);
  }
  .shop-sidebar.open { transform: translateX(0) !important; }
  .sidebar-close-btn { display: flex; align-items: center; justify-content: center; }
  .sidebar-open-btn { display: flex !important; }
  .shop-main .products-grid { grid-template-columns: repeat(2, 1fr); }
  .shop-main { width: 100%; max-width: 100%; }
  .shop-container { flex-direction: column; }

  .categories-grid { grid-template-columns: repeat(3, 1fr); }
  .products-grid { grid-template-columns: repeat(3, 1fr); }
  .products-carousel { grid-auto-columns: calc(33.333% - 10px); }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--spacing-lg); }
  .features-grid { grid-template-columns: repeat(2, 1fr); }
  .collection-circle { width: 380px; height: 380px; }

  .sale-banner { min-height: 340px; }

  .cart-layout { grid-template-columns: 1fr; }
  .order-summary-card { position: static; }
}

/* ── 768px, Tablet portrait ──────────────────────────── */
@media (max-width: 768px) {
  :root {
    --header-height: 60px;
    --spacing-2xl: 48px;
    --spacing-3xl: 64px;
  }

  .header-nav { display: none; }
  .hamburger-btn { display: flex; }

  .topbar { height: 36px; }
  .topbar-message { font-size: 0.78rem; }
  .topbar-links { display: none; }
  .topbar .container { justify-content: center; }

  /* Mobile header: hamburger on RIGHT (start in RTL), logo center, icons on left (end) */
  .header .container { gap: 8px; }
  .header-logo {
    flex: 1;
    justify-content: center;
  }
  .header-logo img { height: 26px; max-width: 160px; }
  .header-icons { gap: 4px; }
  .header-icon-btn { width: 36px; height: 36px; }
  .header-icon-btn img,
  .header-icon-btn svg { width: 20px; height: 20px; }

  .categories-grid { grid-template-columns: repeat(2, 1fr); }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .products-carousel { grid-auto-columns: calc(50% - 8px); }

  .collection-grid { grid-template-columns: 1fr; }
  .collection-content { padding-inline-start: 0; }
  .collection-circle { width: 280px; height: 280px; margin: 0 auto; }
  .collection-badge { position: relative; bottom: auto; right: auto; margin: -20px auto 0; }

  .testimonials-grid { grid-template-columns: 1fr; }
  .about-grid { grid-template-columns: 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .product-layout { grid-template-columns: 1fr; }
  .product-gallery { position: static; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .values-grid { grid-template-columns: 1fr; }
  .about-stats { grid-template-columns: repeat(3, 1fr); }

  .hero { height: auto; min-height: 480px; }
  .hero-panel { width: 100%; height: 55%; top: 0; }
  .hero-panel-svg { transform: rotate(90deg); transform-origin: center; }
  .hero-curve-deco { display: none; }
  .hero-content {
    left: 50% !important;
    right: auto !important;
    top: 10% !important;
    transform: translateX(-50%) !important;
    width: 78%;
    max-width: 300px;
    text-align: center;
    padding: 0;
  }
  .hero-content h1 { font-size: 32px; margin-bottom: 16px; }
  .hero-content p { font-size: 13px; margin-bottom: 18px; line-height: 1.65; }
  .hero-ctas { justify-content: center; flex-wrap: wrap; }
  .hero-btn { padding: 11px 28px; font-size: 14px; }
  .hero-image {
    right: 50% !important;
    left: auto !important;
    top: auto !important;
    bottom: 0 !important;
    transform: translateX(50%) !important;
    width: 85%;
    max-width: 340px;
    height: 280px !important;   /* explicit px — % doesn't resolve with auto parent */
  }
  .hero-image img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }

  .newsletter-form { flex-direction: column; }
  .newsletter-inner { padding: 0 var(--spacing-md); }

  .footer-grid { grid-template-columns: 1fr; gap: var(--spacing-lg); }
  .footer-bottom { flex-direction: column; text-align: center; gap: var(--spacing-sm); }
  .footer-tagline { max-width: 100%; }

  .carousel-btn-prev, .carousel-btn-next { display: none; }

  .sale-banner { min-height: 280px; }
  .sale-content { padding: 40px 20px; }

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

  /* Shop page mobile */
  .cat-hero { height: 160px; }
  .cat-hero h1 { font-size: 1.5rem; }
  .shop-body { padding-block: 14px 48px; }
  .shop-toolbar { padding: 8px 12px; font-size: 0.8rem; margin-bottom: 8px; }
  .shop-main .products-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }

  /* Subcategory pills mobile */
  .subcat-pills { gap: 14px; padding: 6px 2px 10px; }
  .subcat-pill-img { width: 58px; height: 58px; }
  .subcat-pill span { font-size: 0.68rem; }

  /* Product card mobile sizing */
  .product-card-title,
  .pgv2-rc-name { font-size: 0.82rem; }
  .product-card-body { padding: 8px 4px; }
  .price-current { font-size: 1rem; }
  .price-original { font-size: 0.78rem; }
  .product-card-add { width: 32px; height: 32px; min-width: 0; font-size: 0; padding: 0; }
  .product-card-add::after { font-size: 18px; }
  .shop-main .product-card-add { width: 32px; height: 32px; min-width: 0; }
  .shop-main .product-card-add::after { display: inline; font-size: 18px; }

  /* Feature cards mobile */
  .feature-card { padding: var(--spacing-lg) var(--spacing-md); }
  .feature-icon { width: 56px; height: 56px; }
  .feature-icon img { width: 26px; height: 26px; }

  /* Testimonials mobile */
  .testimonial-card { padding: var(--spacing-lg); }

  /* Product page mobile */
  .product-main-image { margin-bottom: var(--spacing-sm); }
  .product-thumbnails { grid-template-columns: repeat(4, 1fr); gap: 6px; }

  /* Pagination mobile */
  .pagination { gap: 4px; }
  .pagination-btn { width: 36px; height: 36px; font-size: 0.82rem; }
}

/* ── 480px, Mobile ───────────────────────────────────── */
@media (max-width: 480px) {
  :root {
    --header-height: 56px;
    --spacing-xl: 28px;
    --spacing-2xl: 40px;
    --spacing-3xl: 56px;
  }

  .container { padding-inline: var(--spacing-md); }

  /* Top bar */
  .topbar { height: 32px; }
  .topbar-message { font-size: 0.72rem; letter-spacing: 0; }
  .topbar-message::before { font-size: 0.75rem; }

  /* Header — min 44x44 touch targets (WCAG / Apple HIG) */
  .header-logo img { height: 26px; }
  .header-icon-btn { width: 44px; height: 44px; }
  .header-icon-btn img,
  .header-icon-btn svg { width: 22px; height: 22px; }
  .hamburger-btn { width: 44px; height: 44px; min-width: 44px; flex: 0 0 44px; }
  .hamburger-btn span { width: 22px; }

  /* Hero */
  .hero { min-height: 460px; }
  .hero-content {
    top: 8% !important;
    width: 88%;
    max-width: 320px;
  }
  .hero-content h1 { font-size: 28px; margin-bottom: 10px; }
  .hero-content p {
    display: block;
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 14px;
    color: rgba(255,255,255,0.88);
  }
  .hero-ctas { gap: 10px; }
  .hero-btn { padding: 10px 22px; font-size: 13px; }
  .hero-image { width: 70% !important; max-width: 240px !important; height: 180px !important; bottom: 0 !important; }

  /* Categories */
  .categories-grid { grid-template-columns: repeat(2, 1fr); gap: var(--spacing-sm); }
  .category-card { aspect-ratio: 3/4; }
  .category-card-title { font-size: 0.95rem; }
  .category-card-count { font-size: 0.72rem; }

  /* Products grid */
  .products-grid { grid-template-columns: repeat(2, 1fr); gap: var(--spacing-sm); }
  .products-carousel { grid-auto-columns: calc(50% - 6px); }
  .product-card-image { aspect-ratio: 0.85; }

  /* Sale banner */
  .sale-banner { min-height: 200px; }
  .sale-content { padding: 32px 16px; }
  .sale-subtitle { font-size: 13px; margin-bottom: 18px; }
  .sale-btn { padding: 11px 24px; font-size: 13px; }

  /* Collection section */
  .collection-circle { width: 220px; height: 220px; }
  .collection-badge { min-width: auto; padding: var(--spacing-sm); }
  .collection-badge-icon { width: 36px; height: 36px; font-size: 1rem; }
  .collection-badge-text { font-size: 0.72rem; }
  .collection-badge-text strong { font-size: 0.95rem; }
  .collection-content p { font-size: 0.92rem; }
  .collection-feature { padding: var(--spacing-sm); }
  .collection-feature-icon { width: 38px; height: 38px; font-size: 1rem; }

  /* Features */
  .features-grid { grid-template-columns: 1fr; }

  /* Testimonials */
  .testimonial-card { padding: var(--spacing-md); }
  .testimonial-text { font-size: 0.88rem; }

  /* Newsletter */
  .newsletter-inner h2 { font-size: 1.3rem; }
  .newsletter-inner p { font-size: 0.9rem; }
  .newsletter-input { padding: 11px 14px; font-size: 0.88rem; }

  /* Footer */
  .footer { padding-top: var(--spacing-xl); }
  .footer-grid { gap: var(--spacing-md); }
  .footer-col h4 { font-size: 0.8rem; }
  .footer-links-list a { font-size: 0.82rem; }
  .footer-contact-item { font-size: 0.82rem; }
  .footer-copyright { font-size: 0.72rem; }

  /* Blog */
  .blog-grid { grid-template-columns: 1fr; }

  /* About */
  .about-img-float { display: none; }
  .about-stats { grid-template-columns: repeat(2, 1fr); gap: var(--spacing-sm); }

  /* Product page */
  .product-actions { flex-direction: column; }
  .product-thumbnails { grid-template-columns: repeat(4, 1fr); }

  /* Shop page */
  .cat-hero { height: 140px; }
  .cat-hero h1 { font-size: 1.3rem; margin-top: 6px; }
  .cat-hero .breadcrumb { font-size: 0.72rem; margin-bottom: var(--spacing-sm); }
  .shop-body { padding-block: 10px 40px; }
  .shop-toolbar {
    padding: 6px 10px;
    font-size: 0.76rem;
    border-radius: 8px;
    margin-bottom: 6px;
  }
  .shop-main .products-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }

  /* Subcategory pills mobile small */
  .subcat-pills-wrap { margin-bottom: 6px; }
  .subcat-pills { gap: 12px; padding: 4px 2px 8px; }
  .subcat-pill-img { width: 52px; height: 52px; border-width: 1.5px; }
  .subcat-pill span { font-size: 0.64rem; }
  .subcat-pill { gap: 4px; }

  .filter-bar { gap: 6px; }
  .filter-tag { padding: 5px 12px; font-size: 0.78rem; }

  .page-hero { padding-block: var(--spacing-lg) var(--spacing-md); }
  .page-hero h1 { font-size: 1.4rem; }
  .page-hero p { font-size: 0.9rem; }

  .pagination { margin-top: var(--spacing-lg); }
  .pagination-btn { width: 34px; height: 34px; font-size: 0.78rem; }

  /* Buttons */
  .btn { padding: 10px 22px; font-size: 0.84rem; }
  .btn-lg { padding: 13px 32px; font-size: 0.95rem; }
  .btn-sm { padding: 7px 16px; font-size: 0.8rem; }
}

/* ── 360px, Small phones ────────────────────────────── */
@media (max-width: 360px) {
  .container { padding-inline: 12px; }
  .hero-content h1 { font-size: 24px; }
  .hero-content p { font-size: 12px; }
  .hero-btn { padding: 9px 18px; font-size: 12px; }
  .hero-image { width: 70%; }

  .category-card-title { font-size: 0.85rem; }
  .product-card-title { font-size: 0.75rem; }
  .price-current { font-size: 0.88rem; }
  .product-card-add { min-width: 100px; height: 30px; width: auto; font-size: 11.5px; padding: 0 12px; }
  .shop-main .product-card-add { width: 26px; height: 26px; }
  .shop-main .product-card-add::after { font-size: 14px; }

  .sale-subtitle { font-size: 12px; }

  .cat-hero { height: 120px; }
  .cat-hero h1 { font-size: 1.15rem; }
  .subcat-pill-img { width: 46px; height: 46px; }
  .subcat-pill span { font-size: 0.6rem; }

  .footer-brand-logo { height: 34px; }
  .topbar-message { font-size: 0.65rem; }
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE V2  (matches Figma, 3-column layout)
═══════════════════════════════════════════════════════════ */

/* ── Section wrapper ─────────────────────────────────────── */
.pgv2-section {
  padding-block: var(--spacing-xl) var(--spacing-lg);
}

.pgv2-breadcrumb {
  justify-content: flex-start;
  margin-bottom: var(--spacing-xl);
  font-size: 0.82rem;
}
.pgv2-bc-cat { color: var(--color-gray); }

/* ── 3-column grid ───────────────────────────────────────── */
/* RTL order: thumbs (right) | image (center) | info (left) */
.pgv2-grid {
  display: grid;
  grid-template-columns: 76px 1fr 42%;
  gap: var(--spacing-lg);
  align-items: start;
  margin-bottom: var(--spacing-xl);
}

/* ── Thumbnails column (rightmost in RTL) ────────────────── */
.pgv2-thumbs {
  display: flex;
  flex-direction: column;
  gap: 10px;
  /* position:sticky removed, caused split-scroll that confused users */
}

.pgv2-thumb {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: var(--radius-md);
  border: 2px solid var(--color-border);
  overflow: hidden;
  cursor: pointer;
  background: var(--color-cream);
  transition: border-color var(--transition-fast);
  padding: 0;
}
.pgv2-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.pgv2-thumb:hover,
.pgv2-thumb.active {
  border-color: var(--color-primary);
}

/* ── Image center column ─────────────────────────────────── */
.pgv2-image-col {
  position: relative;
  /* position:sticky removed, caused split-scroll that confused users */
}

/* Organic blob background */
.pgv2-blob-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1.05;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2ede4;
  border-radius: 62% 38% 46% 54% / 60% 44% 56% 40%;
  overflow: hidden;
}

.pgv2-main-img {
  width: 90%;
  height: 90%;
  object-fit: contain;
  display: block;
  transition: transform 0.4s ease;
  mix-blend-mode: multiply;
}
.pgv2-blob-wrap:hover .pgv2-main-img {
  transform: scale(1.03);
}

/* Arrow navigation (show on mobile, hidden desktop unless multiple images) */
.pgv2-arr {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: rgba(255,255,255,0.85);
  border: none;
  border-radius: 50%;
  width: 38px;
  height: 38px;
  font-size: 1.3rem;
  cursor: pointer;
  display: none; /* shown via JS when multiple images */
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
  color: var(--color-primary);
  transition: background var(--transition-fast);
}
.pgv2-arr:hover { background: #fff; }
.pgv2-arr-next { left: -8px; }
.pgv2-arr-prev { right: -8px; }

/* ── Info column (leftmost in RTL) ──────────────────────── */
.pgv2-info-col {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pgv2-price {
  font-size: 1.7rem;
  font-weight: 800;
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
}
.pgv2-price-sale {
  font-size: 1.7rem;
  font-weight: 800;
  color: var(--color-sale);
}
.pgv2-price-orig {
  font-size: 1rem;
  font-weight: 400;
  color: var(--color-gray-light);
  text-decoration: line-through;
  margin-inline-start: 10px;
}

.pgv2-hr {
  border: none;
  border-top: 1px solid var(--color-light-gray);
  margin-block: var(--spacing-md);
}

/* Options collapsible toggle */
.pgv2-options-toggle {
  display: none;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  border-bottom: 1px solid var(--color-light-gray);
  padding: 12px 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
  font-family: var(--font-hebrew);
  gap: 8px;
}
.pgv2-options-toggle svg {
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}
.pgv2-options-toggle.open svg { transform: rotate(180deg); }

.pgv2-options-body {
  max-height: none;
  overflow: visible;
}

/* Option groups */
.pgv2-opt-group {
  margin-top: var(--spacing-md);
}
.pgv2-opt-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 8px;
}

/* Size buttons */
.pgv2-size-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.pgv2-size-btn {
  padding: 7px 18px;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-full);
  background: var(--color-white);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--color-primary);
  cursor: pointer;
  font-family: var(--font-hebrew);
  transition: all var(--transition-fast);
}
.pgv2-size-btn:hover,
.pgv2-size-btn.active {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}
.pgv2-size-btn.unavailable:not(.active) {
  opacity: 0.35;
  text-decoration: line-through;
  text-decoration-color: rgba(0,0,0,0.4);
}
.pgv2-size-btn.unavailable:not(.active):hover {
  background: var(--color-white);
  color: var(--color-primary);
  border-color: var(--color-border);
  opacity: 0.5;
}

/* Colors row, now uses text buttons same as size buttons */
.pgv2-colors-row {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-sm);
}
.pgv2-color-row {
  flex-wrap: wrap;
}

/* ── Color swatches (circles) ─────────────────────────── */
.pgv2-swatch-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.pgv2-color-swatch {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  flex: 0 0 34px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.08);
  box-shadow: 0 0 0 2px transparent, inset 0 1px 2px rgba(0,0,0,0.08);
  cursor: pointer;
  padding: 0;
  position: relative;
  box-sizing: border-box;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.pgv2-color-swatch:hover {
  transform: scale(1.08);
}
.pgv2-color-swatch.active {
  box-shadow: 0 0 0 2px var(--color-primary, #1a1a1a);
  border-color: #fff;
  transform: scale(1.06);
}
.pgv2-color-swatch.is-light {
  border-color: rgba(0,0,0,0.18);
}
.pgv2-color-swatch.is-none {
  background: #fff;
  position: relative;
}
.pgv2-color-swatch.is-none::before {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: 50%;
  background:
    linear-gradient(to top right, transparent calc(50% - 1.2px), #d03b3b calc(50% - 1.2px), #d03b3b calc(50% + 1.2px), transparent calc(50% + 1.2px));
}
.pgv2-color-swatch.unavailable {
  opacity: 0.35;
}
.pgv2-color-swatch.unavailable::after {
  content: '';
  position: absolute;
  inset: 40% 10%;
  border-top: 1.5px solid rgba(0,0,0,0.55);
  transform: rotate(-18deg);
}
.pgv2-opt-selected {
  color: var(--color-muted, #6b6b6b);
  font-weight: 500;
  margin-right: 6px;
}

/* Assembly accordion */
.pgv2-assembly-row {
  border-bottom: 1px solid var(--color-light-gray);
  margin-bottom: var(--spacing-md);
}
.pgv2-assembly-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  padding: 12px 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
  font-family: var(--font-hebrew);
  gap: 8px;
}
.pgv2-assembly-btn svg { flex-shrink: 0; transition: transform var(--transition-fast); }
.pgv2-assembly-btn.open svg { transform: rotate(180deg); }
.pgv2-assembly-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  font-size: 0.88rem;
  color: var(--color-gray);
  line-height: 1.7;
  padding-bottom: 0;
}
.pgv2-assembly-body p { padding-bottom: var(--spacing-md); }

/* Cart row */
.pgv2-cart-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  margin-top: var(--spacing-lg);
  margin-bottom: var(--spacing-md);
}
.pgv2-btns-group {
  flex: 1;
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.pgv2-btns-group > * {
  flex: 1;
}
.pgv2-add-btn {
  width: 100%;
  padding: 13px 20px;
  font-size: 1rem;
  font-weight: 700;
  border-radius: var(--radius-full);
}
.pgv2-oos-btn {
  background: #f0f0ee !important;
  color: #999 !important;
  border: 1px solid #ddd !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  letter-spacing: 0.03em;
}
.pgv2-buynow-btn {
  width: 100%;
  padding: 12px 20px;
  font-size: 1rem;
  font-weight: 700;
  border-radius: var(--radius-full);
  border: 2px solid var(--color-primary);
  background: transparent;
  color: var(--color-primary);
  cursor: pointer;
  font-family: var(--font-hebrew);
  transition: background var(--transition-fast), color var(--transition-fast);
}
.pgv2-buynow-btn:hover {
  background: var(--color-primary);
  color: #fff;
}
.pgv2-var-error {
  margin: 0 0 10px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #fff3f3;
  border: 1px solid #f5c6c6;
  color: #b00020;
  font-size: 0.92rem;
  font-weight: 600;
  text-align: center;
}
.pgv2-attr-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: #555;
  margin: 0 0 8px;
  letter-spacing: 0.01em;
}
.pgv2-var-row-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 5px;
  font-family: var(--font-hebrew);
}
.pgv2-var-row-val {
  font-weight: 400;
  color: #666;
}
.pgv2-variation-row {
  margin-bottom: 0;
}
.pgv2-paypal-wrap {
  margin-top: 10px;
}
.pgv2-paypal-wrap:empty { display: none; }
.pgv2-wish-float {
  position: absolute;
  top: 24px;
  inset-inline-start: 24px;
  width: 46px; height: 46px; border-radius: 50%;
  border: none;
  background: #fff;
  color: var(--color-primary);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all .18s ease;
  box-shadow: 0 4px 14px rgba(48,56,39,0.18);
  z-index: 20;
}
.pgv2-wish-float:hover { transform: scale(1.08); box-shadow: 0 6px 18px rgba(48,56,39,0.25); }
.pgv2-wish-float.is-active { background: var(--color-primary); color: var(--color-cream); }
.pgv2-wish-float.is-active svg { fill: var(--color-cream); }
.pgv2-wish-float.pulsing { animation: gaWishPulse .32s ease; }
@media (max-width: 640px) {
  .pgv2-wish-float { width: 40px; height: 40px; top: 12px; inset-inline-start: 12px; }
}

/* Meta bar (תחזוק / מועדפים) */
.pgv2-meta-bar {
  display: flex;
  align-items: center;
  gap: var(--spacing-xl);
  padding-top: var(--spacing-sm);
}
.pgv2-meta-link {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  color: var(--color-gray);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.pgv2-meta-link:hover { color: var(--color-primary); }
.pgv2-meta-link svg { flex-shrink: 0; }

/* ── Trust Badges (brand-aligned, UV-aware) ─────────────── */
.pgv2-trust-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding: var(--spacing-md) 0 0;
  margin-top: var(--spacing-md);
  border-top: 1px solid var(--color-light-gray);
}

/* ══════════════════════════════════════════════════════
   REVIEWS SECTION (product page — customer reviews)
══════════════════════════════════════════════════════ */
.pgv2-reviews {
  background: #fff;
  padding-block: var(--spacing-2xl);
  border-top: 1px solid rgba(48, 56, 39, 0.06);
}
.pgv2-reviews-header {
  text-align: center;
  max-width: 620px;
  margin: 0 auto var(--spacing-xl);
}
.pgv2-reviews-kicker {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.1rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: 6px;
}
.pgv2-reviews-header h2 {
  font-family: var(--font-hebrew);
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
  letter-spacing: -0.01em;
}
.pgv2-reviews-header p { color: var(--color-gray); font-size: 1rem; margin: 0; }

.pgv2-reviews-summary {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
  padding: var(--spacing-xl);
  background: #fcfaf5;
  border: 1px solid rgba(48, 56, 39, 0.08);
  border-radius: var(--radius-md);
  margin-bottom: var(--spacing-xl);
}
.pgv2-reviews-score { text-align: center; }
.pgv2-reviews-score-big {
  font-family: var(--font-hebrew);
  font-size: 3.8rem;
  font-weight: 500;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 8px;
}
.pgv2-reviews-score-stars {
  display: inline-flex;
  gap: 3px;
  color: var(--color-olive);
  margin-bottom: 6px;
}
.pgv2-reviews-score-stars svg { width: 18px; height: 18px; }
.pgv2-reviews-score-label {
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  color: var(--color-gray);
}
.pgv2-reviews-dist { display: flex; flex-direction: column; gap: 8px; }
.pgv2-dist-row {
  display: grid;
  grid-template-columns: 70px 1fr 30px;
  align-items: center;
  gap: 10px;
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  color: rgba(48, 56, 39, 0.72);
}
.pgv2-dist-bar {
  height: 7px;
  background: rgba(48, 56, 39, 0.08);
  border-radius: 999px;
  overflow: hidden;
}
.pgv2-dist-fill {
  height: 100%;
  background: var(--color-olive);
  border-radius: 999px;
  transition: width 0.6s ease;
}
.pgv2-dist-count {
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  color: var(--color-primary);
  text-align: right;
}
.pgv2-reviews-cta {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}
.pgv2-reviews-cta-text {
  font-family: var(--font-hebrew);
  font-size: 0.92rem;
  color: rgba(48, 56, 39, 0.72);
  margin: 0;
}
.pgv2-reviews-cta .btn-primary {
  padding: 11px 28px;
  border-radius: var(--radius-full);
  font-size: 0.95rem;
}

.pgv2-reviews-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--spacing-lg);
}
.pgv2-reviews-filter {
  padding: 8px 16px;
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.15);
  border-radius: var(--radius-full);
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  color: rgba(48, 56, 39, 0.72);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.pgv2-reviews-filter:hover { border-color: var(--color-primary); color: var(--color-primary); }
.pgv2-reviews-filter.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
  font-weight: 600;
}

.pgv2-review-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}
.pgv2-review-card {
  background: #fff;
  border: 1px solid rgba(48, 56, 39, 0.08);
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
  transition: box-shadow var(--transition-fast);
}
.pgv2-review-card:hover { box-shadow: 0 4px 14px rgba(48, 56, 39, 0.05); }
.pgv2-review-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.pgv2-review-avatar-placeholder {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--color-cream);
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-hebrew);
  font-weight: 700;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.pgv2-review-meta { flex: 1; min-width: 0; }
.pgv2-review-name {
  display: block;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 2px;
}
.pgv2-review-verified {
  display: inline-block;
  margin-inline-start: 8px;
  font-family: var(--font-hebrew);
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--color-olive);
  background: var(--color-cream);
  padding: 2px 8px;
  border-radius: 999px;
}
.pgv2-review-stars {
  color: var(--color-olive);
  letter-spacing: 1px;
  font-size: 0.92rem;
}
.pgv2-review-stars .empty-star { color: rgba(48, 56, 39, 0.15); }
.pgv2-review-date {
  font-family: var(--font-hebrew);
  font-size: 0.82rem;
  color: rgba(48, 56, 39, 0.5);
  white-space: nowrap;
}
.pgv2-review-text {
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  line-height: 1.75;
  color: rgba(48, 56, 39, 0.82);
  margin: 0 0 12px;
}
.pgv2-review-helpful {
  display: flex;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(48, 56, 39, 0.06);
}
.pgv2-review-helpful button {
  background: transparent;
  border: 1px solid rgba(48, 56, 39, 0.12);
  border-radius: var(--radius-full);
  padding: 5px 14px;
  font-family: var(--font-hebrew);
  font-size: 0.82rem;
  color: rgba(48, 56, 39, 0.65);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.pgv2-review-helpful button:hover { border-color: var(--color-primary); color: var(--color-primary); }

.pgv2-review-load-more-wrap {
  text-align: center;
  margin-top: var(--spacing-xl);
}

@media (max-width: 820px) {
  .pgv2-reviews-summary {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
    padding: var(--spacing-lg);
  }
  .pgv2-reviews-score-big { font-size: 3rem; }
}
@media (max-width: 520px) {
  .pgv2-review-head { flex-wrap: wrap; }
  .pgv2-review-date { flex-basis: 100%; margin-top: 4px; }
}



/* ── Simplified reviews summary ── */
.pgv2-reviews-simple-summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 10px 18px;
  background: #fcfaf5;
  border: 1px solid rgba(48, 56, 39, 0.1);
  border-radius: 999px;
}
.pgv2-reviews-simple-stars {
  display: inline-flex;
  gap: 2px;
  color: var(--color-olive);
}
.pgv2-reviews-simple-stars svg { width: 15px; height: 15px; }
.pgv2-reviews-simple-score {
  font-family: var(--font-hebrew);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--color-primary);
}
.pgv2-reviews-simple-divider { color: rgba(48, 56, 39, 0.35); }
.pgv2-reviews-simple-count {
  font-family: var(--font-hebrew);
  font-size: 0.92rem;
  color: rgba(48, 56, 39, 0.65);
}

/* ── Write review CTA (simple bottom block) ── */
.pgv2-reviews-write {
  margin-top: var(--spacing-xl);
  padding: var(--spacing-lg);
  text-align: center;
  background: #fcfaf5;
  border: 1px solid rgba(48, 56, 39, 0.08);
  border-radius: var(--radius-md);
}
.pgv2-reviews-write-text {
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: rgba(48, 56, 39, 0.72);
  margin: 0 0 12px;
}
.pgv2-reviews-write .btn-primary {
  padding: 11px 32px;
  border-radius: var(--radius-full);
}

/* ══════════════════════════════════════════════════════
   LIFESTYLE SECTION (product page, editorial grid)
══════════════════════════════════════════════════════ */
.pgv2-lifestyle {
  background: #fcfaf5;
  padding-block: var(--spacing-2xl);
  border-top: 1px solid rgba(48, 56, 39, 0.06);
}
.pgv2-lifestyle-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto var(--spacing-xl);
}
.pgv2-lifestyle-kicker {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.1rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: var(--spacing-xs);
}
.pgv2-lifestyle-header h2 {
  font-family: var(--font-hebrew);
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
  letter-spacing: -0.01em;
}
.pgv2-lifestyle-header p {
  color: var(--color-gray);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
}
.pgv2-lifestyle-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--spacing-md);
  max-width: 1200px;
  margin: 0 auto;
}
.pgv2-lifestyle-large {
  grid-row: 1 / 3;
}
.pgv2-lifestyle-card {
  position: relative;
  margin: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-cream);
  aspect-ratio: 4 / 3;
  cursor: pointer;
}
.pgv2-lifestyle-large { aspect-ratio: auto; min-height: 520px; }
.pgv2-lifestyle-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.pgv2-lifestyle-card:hover img { transform: scale(1.04); }
.pgv2-lifestyle-card figcaption {
  position: absolute;
  bottom: 18px;
  right: 20px;
  padding: 8px 16px;
  background: rgba(242, 237, 228, 0.92);
  border-radius: var(--radius-full);
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-primary);
  letter-spacing: 0.2px;
  backdrop-filter: blur(6px);
}
@media (max-width: 820px) {
  .pgv2-lifestyle-grid { grid-template-columns: 1fr 1fr; }
  .pgv2-lifestyle-large { grid-row: auto; grid-column: 1 / -1; min-height: 340px; }
}
@media (max-width: 520px) {
  .pgv2-lifestyle-grid { grid-template-columns: 1fr; }
  .pgv2-lifestyle-large { grid-column: auto; min-height: 260px; }
}

/* ── Installments note (under price, subtle) ── */
.pgv2-installments {
  margin: 8px 0 14px;
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  color: rgba(48, 56, 39, 0.7);
  line-height: 1.4;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}
.pgv2-installments-label {
  color: rgba(48, 56, 39, 0.45);
  font-size: 0.85rem;
}
.pgv2-installments-value {
  color: var(--color-primary);
  font-weight: 600;
}
.pgv2-installments-sub {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 0.9rem;
  color: var(--color-olive);
}

/* ── Stock + Delivery row (brand-aligned trust signal) ── */
.pgv2-stock-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  padding: 6px 0;
  margin-bottom: 4px;
}
.pgv2-stock-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  color: rgba(48, 56, 39, 0.72);
}
.pgv2-stock-item svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.pgv2-stock-item strong {
  color: var(--color-primary);
  font-weight: 700;
}
.pgv2-stock-available { color: var(--color-olive); }
.pgv2-stock-available svg { color: var(--color-olive); }
.pgv2-stock-available strong { color: var(--color-olive); }
.pgv2-delivery-eta svg { color: var(--color-primary); }

/* Low-stock variant (set this class when stock drops) */
.pgv2-stock-low { color: #a86b2c; }
.pgv2-stock-low svg, .pgv2-stock-low strong { color: #a86b2c; }

/* ── Product Rating Row (stars + count, brand-aligned) ── */
.pgv2-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0 14px;
  text-decoration: none;
  cursor: pointer;
  transition: opacity var(--transition-fast);
}
.pgv2-rating:hover { opacity: 0.75; }
.pgv2-rating-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--color-olive);
}
.pgv2-rating-stars svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}
.pgv2-rating-score {
  font-family: var(--font-hebrew);
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-primary);
  line-height: 1;
  margin-inline-start: 2px;
}
.pgv2-rating-sep {
  color: rgba(48, 56, 39, 0.35);
  font-size: 0.9rem;
}
.pgv2-rating-count {
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  color: rgba(48, 56, 39, 0.6);
  text-decoration: underline;
  text-decoration-color: rgba(48, 56, 39, 0.2);
  text-underline-offset: 3px;
  transition: text-decoration-color var(--transition-fast);
}
.pgv2-rating:hover .pgv2-rating-count { text-decoration-color: var(--color-olive); }

/* ── Payment Trust Row (product page, minimal, classic, refined) ── */
.pgv2-payment-trust {
  margin-top: var(--spacing-md);
  padding-top: 14px;
  border-top: 1px solid rgba(48, 56, 39, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.pgv2-payment-trust-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-hebrew);
  font-size: 0.82rem;
  font-weight: 500;
  color: rgba(48, 56, 39, 0.55);
  letter-spacing: 0.1px;
  white-space: nowrap;
}
.pgv2-payment-trust-label svg {
  width: 12px;
  height: 12px;
  color: rgba(48, 56, 39, 0.55);
  flex-shrink: 0;
}
.pgv2-payment-trust-logos {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.pgv2-payment-trust-logos img {
  height: 20px;
  width: auto;
  max-width: 48px;
  object-fit: contain;
  opacity: 0.82;
  transition: opacity var(--transition-fast);
}
.pgv2-payment-trust-logos img:hover {
  opacity: 1;
}
/* Terms-of-service disclaimer under the payment logos. Owner asked for a
   real link to /terms/ alongside the secure-payment strip so the legal
   copy isn't hidden three clicks deep in the footer. `flex: 1 0 100%`
   forces the paragraph onto its own row inside the wrapping flex parent. */
.pgv2-payment-terms {
  flex: 1 0 100%;
  margin: 10px 0 0;
  text-align: center;
  font-size: 0.78rem;
  font-family: var(--font-hebrew);
  color: rgba(48, 56, 39, 0.55);
  line-height: 1.55;
}
.pgv2-payment-terms a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  transition: color var(--transition-fast);
}
.pgv2-payment-terms a:hover { color: #4a5240; }
@media (max-width: 520px) {
  .pgv2-payment-trust { justify-content: flex-start; }
  .pgv2-payment-trust-logos { gap: 10px; }
  .pgv2-payment-trust-logos img { height: 18px; max-width: 42px; }
  .pgv2-payment-terms { font-size: 0.74rem; margin-top: 8px; }
}
.pgv2-trust-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  background: #faf8f4;
  border: 1px solid var(--color-light-gray);
  border-radius: var(--radius-md);
  transition: border-color var(--transition-fast), background var(--transition-fast);
}
.pgv2-trust-badge:hover {
  border-color: var(--color-primary);
  background: #fff;
}
.pgv2-trust-badge svg {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  color: var(--color-primary);
}
.pgv2-trust-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  line-height: 1.2;
  min-width: 0;
}
.pgv2-trust-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--color-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pgv2-trust-sub {
  font-size: 0.72rem;
  color: var(--color-gray);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pgv2-trust-badge.uv-badge {
  background: linear-gradient(135deg, rgba(74,92,51,0.10), rgba(74,92,51,0.02));
  border-color: var(--color-primary);
}
.pgv2-trust-badge.uv-badge svg { color: #c9a227; }

/* ── Sticky Desktop Sidebar (info column) ───────────────── */
@media (min-width: 769px) {
  .pgv2-info-col {
    /* sticky removed, page now scrolls as one unit, no split-scroll */
    align-self: start;
  }
}

/* ── Sticky CTA Bar (all devices) ───────────────────────── */
.pgv2-sticky-cta {
  display: block;
  position: fixed;
  bottom: -120px;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 -6px 24px rgba(0,0,0,0.12);
  padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px));
  z-index: 900;
  border-top: 1px solid var(--color-light-gray);
  transition: bottom 0.35s cubic-bezier(.4, 0, .2, 1);
  direction: rtl;
}
.pgv2-sticky-cta.visible,
.pgv2-sticky-cta.is-visible { bottom: 0; }
.pgv2-sticky-cta-inner {
  max-width: var(--container-max, 1200px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 14px;
}
.pgv2-sticky-cta-thumb {
  width: 46px; height: 46px; border-radius: 8px; object-fit: cover; flex: 0 0 auto;
  background: var(--color-light-gray);
}
.pgv2-sticky-cta-title {
  flex: 1;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
@media (max-width: 768px) {
  .pgv2-sticky-cta-thumb,
  .pgv2-sticky-cta-title { display: none; }
  .pgv2-sticky-cta { padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); }
  .pgv2-sticky-cta-inner { gap: 10px; }
}
@media (min-width: 769px) {
  .pgv2-sticky-cta-btn { min-width: 200px; flex: 0 0 auto; }
}
.pgv2-sticky-cta-price {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--color-primary);
  flex: 0 0 auto;
  min-width: 70px;
}
.pgv2-sticky-cta-price .pgv2-price-sale { font-size: 1.05rem; color: var(--color-sale); font-weight: 800; }
.pgv2-sticky-cta-price .pgv2-price-orig { font-size: 0.72rem; margin-inline-start: 4px; text-decoration: line-through; color: var(--color-gray-light); font-weight: 400; }
.pgv2-sticky-cta-btn {
  flex: 1;
  padding: 12px 16px;
  font-size: 0.98rem;
  font-weight: 700;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: #fff;
  border: none;
  font-family: var(--font-hebrew);
  cursor: pointer;
  transition: background var(--transition-fast);
}
.pgv2-sticky-cta-btn:hover,
.pgv2-sticky-cta-btn:active { background: var(--color-olive, #4a5c33); }

body.pgv2-has-sticky-cta { padding-bottom: 78px; }
@media (max-width: 768px) {
  .pgv2-trust-row { grid-template-columns: 1fr; gap: 6px; }
  .pgv2-trust-badge { padding: 8px 10px; }
}

/* ── Zoom on hover, main image (desktop only) ──────────── */
@media (min-width: 769px) and (hover: hover) {
  .pgv2-blob-wrap.zoomable {
    cursor: zoom-in;
    overflow: hidden;
  }
  .pgv2-blob-wrap.zoomable .pgv2-main-img {
    transition: transform 0.25s ease;
    transform-origin: 50% 50%;
  }
  .pgv2-blob-wrap.zoomable:hover .pgv2-main-img {
    transform: scale(1.8);
  }
}

/* ── Context image badge ("_IMG_", "in setting" photos) ── */
.pgv2-thumb { position: relative; }
.pgv2-thumb.is-context::after {
  content: 'בסביבה';
  position: absolute;
  bottom: 2px;
  right: 2px;
  font-size: 9px;
  font-weight: 700;
  background: var(--color-primary);
  color: #fff;
  padding: 2px 5px;
  border-radius: 4px;
  pointer-events: none;
  line-height: 1;
}

/* ── Lightbox (fullscreen gallery viewer) ───────────────── */
.ga-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,0.92);
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.ga-lightbox.open {
  display: flex;
  opacity: 1;
}
.ga-lightbox-img {
  max-width: 92vw;
  max-height: 88vh;
  object-fit: contain;
  box-shadow: 0 12px 48px rgba(0,0,0,0.5);
  user-select: none;
}
.ga-lightbox-btn {
  position: absolute;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.28);
  color: #fff;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, transform 0.2s ease;
  backdrop-filter: blur(6px);
  font-family: var(--font-hebrew);
  line-height: 1;
}
.ga-lightbox-btn:hover {
  background: rgba(255,255,255,0.22);
  transform: scale(1.08);
}
.ga-lightbox-close { top: 20px; right: 20px; }
.ga-lightbox-prev  { left:  20px; }
.ga-lightbox-next  { right: 20px; }
.ga-lightbox-counter {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 13px;
  background: rgba(0,0,0,0.4);
  padding: 6px 14px;
  border-radius: 20px;
  font-family: var(--font-hebrew);
}
@media (max-width: 768px) {
  .ga-lightbox-btn { width: 40px; height: 40px; font-size: 20px; }
  .ga-lightbox-close { top: 12px; right: 12px; }
  .ga-lightbox-prev  { left: 8px; }
  .ga-lightbox-next  { right: 8px; }
}

/* ── Read More / Read Less (full description) ──────────── */
.pgv2-full-desc { position: relative; }
.pgv2-full-desc.is-collapsed {
  max-height: 240px;
  overflow: hidden;
}
.pgv2-full-desc.is-collapsed::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
  pointer-events: none;
}
.pgv2-read-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding: 8px 18px;
  background: transparent;
  border: 1.5px solid var(--color-primary);
  color: var(--color-primary);
  border-radius: var(--radius-full);
  font-size: 0.88rem;
  font-weight: 700;
  font-family: var(--font-hebrew);
  cursor: pointer;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.pgv2-read-more-btn:hover {
  background: var(--color-primary);
  color: #fff;
}
.pgv2-read-more-btn svg {
  width: 14px;
  height: 14px;
  transition: transform 0.2s ease;
}
.pgv2-read-more-btn.is-expanded svg {
  transform: rotate(180deg);
}

/* ── WhatsApp Floating Bubble (fixed bottom-right) ──────── */
.ga-whatsapp-bubble {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 56px;
  height: 56px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(37,211,102,0.4);
  z-index: 850;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
  color: #fff;
}
.ga-whatsapp-bubble:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 22px rgba(37,211,102,0.55);
  color: #fff;
}
.ga-whatsapp-bubble svg { width: 30px; height: 30px; }
.ga-whatsapp-bubble::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(37,211,102,0.35);
  z-index: -1;
  animation: ga-wa-pulse 2s infinite;
}
@keyframes ga-wa-pulse {
  0%   { transform: scale(1);    opacity: 0.6; }
  100% { transform: scale(1.55); opacity: 0; }
}
@media (max-width: 768px) {
  .ga-whatsapp-bubble {
    bottom: 88px; /* above sticky CTA */
    right: 16px;
    width: 52px;
    height: 52px;
  }
  .ga-whatsapp-bubble svg { width: 28px; height: 28px; }
}

/* ── AR Floating Button ──────────────────────────────────── */
.ga-ar-bubble {
  position: fixed;
  bottom: 92px; /* above WhatsApp bubble */
  right: 24px;
  width: 56px;
  height: 56px;
  background: var(--color-primary, #2d5a3d);
  color: #fff;
  border: none;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  box-shadow: 0 4px 16px rgba(45,90,61,0.4);
  cursor: pointer;
  z-index: 849;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  padding: 0;
  font-family: inherit;
}
.ga-ar-bubble[hidden] { display: none; }
.ga-ar-bubble:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 22px rgba(45,90,61,0.55);
  background: #234730;
}
.ga-ar-bubble:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
.ga-ar-bubble svg { width: 22px; height: 22px; }
.ga-ar-bubble-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.5px;
  line-height: 1;
  margin-top: 1px;
}
@media (max-width: 768px) {
  .ga-ar-bubble {
    bottom: 150px; /* above WhatsApp on mobile (88 + 52 + gap) */
    right: 16px;
    width: 52px;
    height: 52px;
  }
  .ga-ar-bubble svg { width: 20px; height: 20px; }
}

/* ── AR Modal ────────────────────────────────────────────── */
.ga-ar-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ga-ar-modal[hidden] { display: none; }
.ga-ar-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.ga-ar-modal-dialog {
  position: relative;
  width: min(92vw, 720px);
  height: min(92vh, 800px);
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}
.ga-ar-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid var(--color-light-gray, #e5e5e5);
  flex-shrink: 0;
}
.ga-ar-modal-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-primary, #2d5a3d);
}
.ga-ar-modal-close {
  background: transparent;
  border: none;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  color: var(--color-gray, #666);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease;
  padding: 0;
}
.ga-ar-modal-close:hover {
  background: var(--color-light-gray, #f0f0f0);
  color: #000;
}
.ga-ar-modal-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.ga-ar-modal-body model-viewer {
  flex: 1;
  width: 100%;
  background: linear-gradient(180deg, #f6f8f5 0%, #e8ece6 100%);
  --poster-color: transparent;
  min-height: 0;
}
.ga-ar-activate-btn {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-primary, #2d5a3d);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 12px 24px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18);
  font-family: inherit;
}
.ga-ar-activate-btn:hover { background: #234730; }
.ga-ar-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  background: var(--color-primary, #2d5a3d);
  transition: width 0.2s ease;
}
.ga-ar-hint {
  margin: 0;
  padding: 12px 20px;
  font-size: 0.85rem;
  color: var(--color-gray, #666);
  text-align: center;
  background: #fafafa;
  border-top: 1px solid var(--color-light-gray, #e5e5e5);
  line-height: 1.5;
  flex-shrink: 0;
}
@media (max-width: 600px) {
  .ga-ar-modal-dialog {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
  }
}
body.ga-ar-open { overflow: hidden; }

/* ── Description section ─────────────────────────────────── */
.pgv2-desc-section {
  padding-block: var(--spacing-lg);
  border-top: 1px solid var(--color-light-gray);
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.pgv2-desc-text {
  font-size: 0.97rem;
  color: var(--color-gray);
  line-height: 1.85;
}
.pgv2-desc-text p { margin-bottom: 4px; }
.pgv2-desc-text p:empty, .pgv2-desc-text br { display: none; }
.pgv2-desc-text ul, .pgv2-desc-text ol { padding-inline-start: 1.4em; margin-bottom: 6px; }
.pgv2-desc-text li { margin-bottom: 2px; }
.pgv2-desc-text strong { color: var(--color-primary); }
.pgv2-desc-text a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
}
.pgv2-desc-text a:hover { opacity: 0.75; }
/* Tables inside description — prevent horizontal overflow on mobile */
.pgv2-desc-text table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pgv2-desc-text table td, .pgv2-desc-text table th {
  padding: 6px 10px;
  border: 1px solid var(--color-light-gray);
  text-align: right;
}
/* Ordered lists — numbers on the right in RTL */
.pgv2-desc-text ol {
  list-style-position: inside;
  padding-inline-start: 0;
  direction: rtl;
}
.pgv2-desc-text ol li {
  padding-inline-start: 0.5em;
}

/* "קרא עוד" collapse for the short description. When clamped the text fades
   out at the bottom with a gradient; expanding removes the clamp entirely. */
.pgv2-desc-clamp {
  position: relative;
  max-height: 7.6em; /* ~4 lines × 1.85 line-height + a hair */
  overflow: hidden;
  transition: max-height 0.28s ease;
}
.pgv2-desc-clamp::after {
  content: '';
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 2.6em;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255,255,255,0), var(--color-white, #fff) 85%);
  opacity: 1;
  transition: opacity 0.18s ease;
}
.pgv2-desc-section.is-expanded .pgv2-desc-clamp {
  max-height: none;
}
.pgv2-desc-section.is-expanded .pgv2-desc-clamp::after {
  opacity: 0;
}
.pgv2-desc-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 8px 4px;
  background: none;
  border: 0;
  color: var(--color-primary);
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pgv2-desc-toggle[hidden] { display: none; }
.pgv2-desc-toggle:hover { opacity: 0.8; }
.pgv2-desc-toggle-icon { transition: transform 0.2s ease; }
.pgv2-desc-section.is-expanded .pgv2-desc-toggle-icon { transform: rotate(180deg); }

/* ── Accordions ──────────────────────────────────────────── */
.pgv2-accordions {
  border-top: 1px solid #e8e4de;
  margin-bottom: var(--spacing-xl);
}
.pgv2-acc-item {
  border-bottom: 1px solid #e8e4de;
}
.pgv2-acc-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  padding: 16px 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
  text-align: right;
  font-family: var(--font-hebrew);
  gap: 10px;
  transition: color var(--transition-fast);
}
.pgv2-acc-hd:hover { color: var(--color-olive); }
.pgv2-acc-hd svg {
  flex-shrink: 0;
  transition: transform var(--transition-fast);
  color: #aaa;
  opacity: 0.75;
}
.pgv2-acc-hd.open { color: var(--color-primary); }
.pgv2-acc-hd.open svg {
  transform: rotate(90deg);
  opacity: 1;
  color: var(--color-primary);
}
.pgv2-acc-bd {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.pgv2-acc-bd.acc-open {
  max-height: 3000px;
  overflow: hidden;
  font-size: 0.92rem;
  color: var(--color-gray);
  line-height: 1.75;
  padding-inline: 0;
}
.pgv2-acc-bd p { padding-bottom: var(--spacing-md); }

/* Specs table */
.pgv2-specs-table {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 0;
  margin-bottom: var(--spacing-md);
}
.pgv2-spec-row {
  display: contents;
}
.pgv2-spec-row span {
  padding: 8px 4px;
  border-bottom: 1px solid var(--color-light-gray);
  font-size: 0.88rem;
}
.pgv2-spec-row span:first-child {
  font-weight: 600;
  color: var(--color-primary);
}

/* FAQ Q&A items */
.pgv2-faq-item {
  padding: 14px 0;
  border-bottom: 1px solid var(--color-light-gray);
}
.pgv2-faq-item:last-child { border-bottom: none; }
.pgv2-faq-q {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--color-primary);
  line-height: 1.6;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: right;
}
.pgv2-faq-q svg {
  flex-shrink: 0;
  transition: transform 0.25s ease;
}
.pgv2-faq-q.open svg {
  transform: rotate(180deg);
}
.pgv2-faq-a {
  font-size: 0.86rem;
  color: var(--color-gray);
  line-height: 1.75;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.25s ease;
  padding-top: 0;
}
.pgv2-faq-a.open {
  max-height: 600px;
  padding-top: 8px;
}
.pgv2-full-desc {
  font-size: 0.9rem;
  line-height: 1.8;
  padding-bottom: var(--spacing-md);
}
.pgv2-full-desc ul, .pgv2-full-desc ol {
  padding-inline-start: 1.4em;
  margin-bottom: var(--spacing-sm);
}
.pgv2-full-desc p { margin-bottom: 4px; }
.pgv2-full-desc p:empty, .pgv2-full-desc br { display: none; }

/* ── Related products, sage green section ───────────────── */
.pgv2-related {
  background: var(--color-cream);
  padding-block: var(--spacing-2xl);
  overflow: hidden;
  border-top: 1px solid rgba(48, 56, 39, 0.06);
}
.pgv2-related-title {
  text-align: center;
  font-family: var(--font-hebrew);
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: var(--spacing-xl);
  letter-spacing: -0.01em;
}
.pgv2-related-title::before { display: none; }

/* Carousel */
.pgv2-carousel-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}
.pgv2-carousel-viewport {
  flex: 1;
  overflow-x: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}
.pgv2-carousel-track {
  display: flex;
  gap: 20px;
}

/* Carousel buttons */
.pgv2-car-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.85);
  font-size: 1.5rem;
  color: var(--color-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  transition: background var(--transition-fast), transform var(--transition-fast);
}
.pgv2-car-btn:hover { background: #fff; transform: scale(1.08); }

/* Related product card, 4 per row */
.pgv2-rc-card {
  flex: 0 0 calc(25% - 15px);
  min-width: 0;
  background: rgba(255,255,255,0.55);
  border-radius: 16px;
  padding: 16px 12px 14px;
  text-align: center;
  scroll-snap-align: start;
  backdrop-filter: blur(4px);
  transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}
.pgv2-rc-card:hover {
  background: rgba(255,255,255,0.82);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
}
.pgv2-rc-img-wrap {
  display: block;
  text-decoration: none;
}
.pgv2-rc-blob {
  background: #f2ede4;
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: transform var(--transition);
  margin-bottom: 12px;
}
.pgv2-rc-blob:hover { transform: scale(1.04); }
.pgv2-rc-blob img {
  width: 88%;
  height: 88%;
  object-fit: contain;
  mix-blend-mode: normal;
}
.pgv2-rc-card.card-white-bg .pgv2-rc-blob img {
  mix-blend-mode: multiply;
}

/* Lifestyle / in-situ photos — flat rounded rectangle, no blob */
.pgv2-rc-card.card-lifestyle .pgv2-rc-blob {
  background: none !important;
  border-radius: 12px !important;
  aspect-ratio: 4 / 5 !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  overflow: hidden !important;
}
.pgv2-rc-card.card-lifestyle .pgv2-rc-blob:hover {
  transform: scale(1.02) !important;
}
.pgv2-rc-card.card-lifestyle .pgv2-rc-blob img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  mix-blend-mode: normal !important;
  border-radius: 0 !important;
}

.pgv2-rc-body { padding: 0; }

/* ── Featured carousel: uniform card style for all lifestyle scene photos ── */
#featuredCarousel .pgv2-rc-card {
  background: #fff !important;
  box-shadow: 0 2px 14px rgba(0,0,0,0.08) !important;
}
#featuredCarousel .pgv2-rc-card .pgv2-rc-blob {
  background: none !important;
  border-radius: 10px !important;
  aspect-ratio: 3 / 4 !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  overflow: hidden !important;
}
#featuredCarousel .pgv2-rc-card .pgv2-rc-blob:hover {
  transform: scale(1.02) !important;
}
#featuredCarousel .pgv2-rc-card .pgv2-rc-blob img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  mix-blend-mode: normal !important;
  border-radius: 0 !important;
  filter: brightness(1.03) contrast(1.04) saturate(1.05);
}

/* ── Lifestyle products: full image, square frame, no blob ── */
.pgv2-rc-card[data-product-id="128"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="129"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="130"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="131"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="163"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="164"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="165"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="199"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="202"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="210"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="211"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="212"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="250"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="342"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="343"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="344"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="368"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="388"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="392"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="403"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="429"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="483"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="484"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="490"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="515"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="530"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="551"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="552"] .pgv2-rc-blob,
.pgv2-rc-card[data-product-id="575"] .pgv2-rc-blob {
  background: none !important;
  border-radius: 20px !important;
  aspect-ratio: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin-bottom: 12px !important;
}
.pgv2-rc-card[data-product-id="128"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="129"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="130"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="131"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="163"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="164"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="165"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="199"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="202"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="210"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="211"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="212"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="250"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="342"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="343"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="344"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="368"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="388"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="392"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="403"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="429"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="483"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="484"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="490"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="515"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="530"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="551"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="552"] .pgv2-rc-blob img,
.pgv2-rc-card[data-product-id="575"] .pgv2-rc-blob img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  mix-blend-mode: normal !important;
  border-radius: 20px !important;
}
.pgv2-rc-cat {
  font-size: 0.68rem;
  color: var(--color-primary);
  letter-spacing: 0.05em;
  margin-bottom: 4px;
  opacity: 0.65;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pgv2-rc-name {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 5px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.3em;
}
.pgv2-rc-name a { text-decoration: none; color: inherit; }
.pgv2-rc-name a:hover { color: var(--color-olive); }
.pgv2-rc-stars {
  color: #c8a84b;
  font-size: 0.8rem;
  margin-bottom: 6px;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.pgv2-rc-stars .empty-star { color: rgba(200,168,75,0.28); }
.pgv2-rc-rating-num {
  color: var(--color-primary);
  font-weight: 700;
  font-size: 0.78rem;
  margin-inline-start: 2px;
}
.pgv2-rc-rating-count {
  color: var(--color-gray-light);
  font-weight: 500;
  font-size: 0.72rem;
}
.pgv2-rc-price-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  /* clamp keeps alignment but caps the gap on short-name cards */
  margin-top: clamp(6px, 4%, 14px);
}
.pgv2-rc-add {
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 22px;
  background: var(--color-primary);
  color: #fff;
  border: none;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-shrink: 0;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition-fast), transform var(--transition-fast);
}
.pgv2-rc-add svg { flex-shrink: 0; }
.pgv2-rc-add-text { line-height: 1; }
.pgv2-rc-add:hover { background: var(--color-olive); transform: translateY(-1px); }
@media (max-width: 480px) {
  .pgv2-rc-add { padding: 7px 10px; font-size: 0.72rem; gap: 4px; }
  .pgv2-rc-add svg { width: 12px; height: 12px; }
}
.pgv2-rc-price {
  font-size: 1rem;
  font-weight: 800;
  color: var(--color-primary);
  white-space: nowrap;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  line-height: 1;
}
.pgv2-rc-price .woocommerce-Price-amount { font-weight: 800; }
.pgv2-rc-price ins { text-decoration: none; color: var(--color-sale, #b3261e); font-weight: 800; }
.pgv2-rc-price del {
  display: inline;
  color: var(--color-gray-light);
  font-size: 0.78rem;
  font-weight: 500;
  text-decoration: line-through;
  opacity: 0.85;
}
.pgv2-rc-price .price-from-label {
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--color-gray);
  margin-inline-end: 2px;
  letter-spacing: 0.02em;
}
.price-range-sep { font-size: 0.8rem; font-weight: 700; color: var(--color-primary); margin: 0 3px; vertical-align: middle; opacity: 0.6; }
.pgv2-rc-sale { color: var(--color-sale); font-weight: 800; }
.pgv2-rc-orig { color: var(--color-gray-light); text-decoration: line-through; font-size: 0.78rem; margin-inline-start: 4px; }

/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE V2, RESPONSIVE
═══════════════════════════════════════════════════════════ */

/* Tablet */
@media (max-width: 900px) {
  .pgv2-grid {
    grid-template-columns: 60px 1fr 48%;
    gap: var(--spacing-md);
  }
  .pgv2-thumb { width: 58px; height: 58px; }
  .pgv2-colors-row { grid-template-columns: 1fr; }
}

/* Mobile ≤ 768px, single column, image on top */
@media (max-width: 768px) {
  .pgv2-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: var(--spacing-md);
  }

  /* Reorder: image → meta bar → info. Thumbs hidden (shown as dots below image) */
  .pgv2-thumbs {
    order: 3;
    position: static;
    flex-direction: row;
    justify-content: center;
    gap: 8px;
    margin-top: -8px;
  }
  .pgv2-thumb { width: 56px; height: 56px; }

  .pgv2-image-col {
    order: 1;
    position: static;
  }

  .pgv2-info-col {
    order: 2;
  }

  /* Always show arrows on mobile (gallery is a carousel) */
  .pgv2-arr { display: flex !important; }
  .pgv2-arr[style*="display: none"] { display: none !important; }

  .pgv2-blob-wrap { border-radius: 50% 50% 50% 50% / 55% 55% 45% 45%; }

  .pgv2-cart-row { gap: var(--spacing-sm); }
  .pgv2-add-btn { padding: 13px 16px; font-size: 0.95rem; }

  .pgv2-meta-bar { gap: var(--spacing-lg); }
  .pgv2-meta-link { font-size: 0.8rem; }

  .pgv2-desc-section { max-width: 100%; text-align: right; }

  /* Related products — horizontal scroll carousel on mobile. We keep the
     track in a single row so cards scroll sideways instead of wrapping
     into a grid; this makes "עשוי לעניין אותך" feel like a swipeable
     shelf on phones rather than a full-screen list that pushes the
     rest of the page down. */
  .pgv2-carousel-track {
    flex-wrap: nowrap;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }
  .pgv2-carousel-track::-webkit-scrollbar { display: none; }
  .pgv2-carousel-track { scrollbar-width: none; }
  .pgv2-rc-card {
    flex: 0 0 62%;
    min-width: 0;
    max-width: 240px;
    scroll-snap-align: start;
  }
  .pgv2-car-btn { display: none; }
  .pgv2-carousel-viewport { overflow: visible; }
}

@media (max-width: 480px) {
  .pgv2-grid { gap: var(--spacing-sm); }
  .pgv2-price { font-size: 1.4rem; }
  .pgv2-acc-hd { font-size: 0.95rem; padding: 14px 4px; }
  /* Narrow phones — shrink card width so ~1.6 cards peek into view and
     invite sideways scrolling. Flex basis is inherited-intent from the
     768px block (nowrap scroll), we only adjust the per-card size here. */
  .pgv2-rc-card { flex-basis: 68%; max-width: 220px; }
  .pgv2-add-btn { font-size: 0.9rem; }
  .pgv2-colors-row { grid-template-columns: 1fr; gap: var(--spacing-sm); }
  .pgv2-related-title { font-size: 1.3rem; }
  .pgv2-thumb { width: 48px; height: 48px; }
}

/* ── Print ──────────────────────────────────────────────── */
@media print {
  .header, .topbar, .footer, .mobile-menu, .scroll-top-btn,
  .newsletter-section, .toast { display: none !important; }
}

/* ══════════════════════════════════════════════════
   GIFT CARD PAGE, Brand Aligned Design
══════════════════════════════════════════════════ */

:root {
  --gc-dark:   #303827;
  --gc-mid:    #4a5c33;
  --gc-cream:  #f2ede4;
  --gc-cream2: #e8e2d8;
  --gc-text:   #2a2a2a;
}

.gc-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
  position: relative;
  overflow: hidden;
}

.gc-hero-left {
  background: var(--gc-cream);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 56px 48px 56px 64px;
  position: relative;
  z-index: 0;
}

.gc-hero-right {
  background: var(--gc-dark);
  display: flex;
  align-items: center;
  padding: 56px 64px 56px 80px;
  position: relative;
  z-index: 1;
}

.gc-hero-right::before {
  content: '';
  position: absolute;
  right: calc(100% - 80px);
  top: 50%;
  transform: translateY(-50%);
  width: 340px;
  height: 340px;
  background: var(--gc-dark);
  border-radius: 50%;
  z-index: 2;
  pointer-events: none;
}

.gc-mockup {
  position: relative;
  width: 420px;
  height: 360px;
  direction: ltr;
  flex-shrink: 0;
}

.gc-mockup-box {
  position: absolute;
  top: 12px;
  right: 10px;
  width: 210px;
  height: 148px;
  background: #f7f4ef;
  border-radius: 8px;
  border: 1px solid #e2dbd2;
  box-shadow: 2px 4px 16px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.05);
  transform: rotate(-8deg);
  transform-origin: center;
  z-index: 3;
  overflow: hidden;
}
.gc-mockup-box::before {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid #ddd6cc;
  border-radius: 4px;
  pointer-events: none;
  z-index: 1;
}
.gc-box-text {
  position: absolute;
  top: 20px;
  left: 0; right: 0;
  text-align: center;
  z-index: 2;
  line-height: 1.4;
}
.gc-box-enjoy {
  font-family: 'Dancing Script', cursive;
  font-size: 0.88rem;
  color: #6b6358;
  display: block;
}
.gc-box-giftcard {
  font-family: 'Dancing Script', cursive;
  font-size: 0.98rem;
  color: #4a4540;
  display: block;
}

.gc-mockup-card {
  position: absolute;
  top: 62px;
  right: 14px;
  width: 195px;
  height: 120px;
  background: linear-gradient(140deg, #232e18 0%, #344523 40%, #455e2f 70%, #344523 100%);
  border-radius: 8px;
  box-shadow: 4px 8px 28px rgba(0,0,0,0.28), 0 2px 6px rgba(0,0,0,0.18);
  transform: rotate(-5deg);
  transform-origin: center;
  z-index: 4;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.gc-mockup-card::before {
  content: '';
  position: absolute;
  width: 130px; height: 130px;
  border-radius: 50%;
  background: rgba(255,255,255,0.04);
  bottom: -50px; left: -40px;
}
.gc-mockup-card::after {
  content: '';
  position: absolute;
  width: 80px; height: 80px;
  border-radius: 50%;
  background: rgba(255,255,255,0.03);
  top: -20px; right: -15px;
}
.gc-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative; z-index: 1;
}
.gc-card-brand-lbl {
  font-size: 0.42rem;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.gc-card-leaf-svg { width: 16px; height: 16px; opacity: 0.45; }
.gc-card-main-label {
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #fff;
  position: relative; z-index: 1;
}
.gc-card-foot {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative; z-index: 1;
}
.gc-card-tagline-lbl {
  font-size: 0.38rem;
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.8px;
}

.gc-mockup-bcard {
  position: absolute;
  bottom: 8px;
  left: 0;
  width: 248px;
  height: 150px;
  background: #f9f6f1;
  border: 1px solid #e2dbd2;
  border-radius: 8px;
  box-shadow: 3px 6px 24px rgba(0,0,0,0.1), 0 1px 4px rgba(0,0,0,0.06);
  transform: rotate(5deg);
  transform-origin: center;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 18px 22px;
}
.gc-bcard-sub {
  font-size: 0.46rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #bbb;
  font-family: inherit;
}
.gc-bcard-brand {
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.6rem;
  font-weight: 500;
  color: #303827;
  line-height: 1;
  white-space: nowrap;
}
.gc-bcard-email {
  font-size: 0.44rem;
  color: #c8c2ba;
  letter-spacing: 0.3px;
  margin-top: 2px;
}

.gc-hero-content { position: relative; z-index: 3; }
.gc-hero-content h1 {
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 20px;
  line-height: 1.25;
}
.gc-hero-content p {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.85;
  margin: 0 0 36px;
  max-width: 400px;
}
.gc-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 36px;
  background: var(--gc-cream);
  color: var(--gc-dark);
  border-radius: 4px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s;
  border: none;
  cursor: pointer;
  font-family: inherit;
}
.gc-hero-cta:hover { background: #fff; transform: translateY(-1px); }

.gc-order { background: #fafaf7; padding: 72px 0 80px; }
.gc-order-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 36px;
  align-items: start;
}

.gc-section-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gc-mid);
  margin: 0 0 10px;
}
.gc-section-title { font-size: 1.6rem; font-weight: 700; color: var(--gc-dark); margin: 0 0 8px; }
.gc-section-desc { font-size: 0.92rem; color: #777; line-height: 1.7; margin: 0 0 32px; }
.gc-card-form {
  background: #fff;
  border-radius: 16px;
  padding: 36px;
  box-shadow: 0 1px 16px rgba(0,0,0,0.05), 0 4px 32px rgba(0,0,0,0.04);
}
.gc-field-group-title {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #aaa;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f0ede8;
}
.gc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.gc-row.single { grid-template-columns: 1fr; }
.gc-field label { display: block; font-size: 0.82rem; font-weight: 600; color: #555; margin-bottom: 6px; }
.gc-field input,
.gc-field textarea,
.gc-field select {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid #e5e0d8;
  border-radius: 8px;
  font-size: 0.92rem;
  font-family: inherit;
  color: var(--gc-text);
  background: #fdfcfb;
  transition: border-color 0.18s, box-shadow 0.18s;
  box-sizing: border-box;
  outline: none;
}
.gc-field input:focus,
.gc-field textarea:focus,
.gc-field select:focus {
  border-color: var(--gc-mid);
  box-shadow: 0 0 0 3px rgba(74,92,51,0.1);
  background: #fff;
}
.gc-field textarea { resize: vertical; min-height: 88px; }
.gc-sep { border: none; border-top: 1px solid #f0ede8; margin: 24px 0; }

.gc-type-row { display: flex; gap: 10px; margin-bottom: 24px; }
.gc-type-opt {
  flex: 1;
  padding: 11px 12px;
  border: 1.5px solid #e5e0d8;
  border-radius: 8px;
  background: #fdfcfb;
  font-size: 0.88rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.18s;
  color: #888;
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
}
.gc-type-opt.sel { border-color: var(--gc-dark); background: #f0f4e8; color: var(--gc-dark); }

.gc-sidebar { position: sticky; top: 96px; }
.gc-sidebar-box {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 1px 16px rgba(0,0,0,0.05), 0 4px 32px rgba(0,0,0,0.04);
  margin-bottom: 16px;
}
.gc-sidebar-box h3 { font-size: 0.85rem; font-weight: 700; color: var(--gc-dark); margin: 0 0 16px; letter-spacing: 0.3px; }

.gc-amt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.gc-amt {
  padding: 11px 6px;
  border: 1.5px solid #e5e0d8;
  border-radius: 8px;
  background: #fdfcfb;
  color: var(--gc-dark);
  font-size: 0.92rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-align: center;
  transition: all 0.16s;
}
.gc-amt:hover { border-color: var(--gc-mid); background: #f5f8ee; }
.gc-amt.sel { background: var(--gc-dark); border-color: var(--gc-dark); color: #fff; }
.gc-amt-custom {
  display: flex;
  align-items: center;
  border: 1.5px solid #e5e0d8;
  border-radius: 8px;
  overflow: hidden;
  background: #fdfcfb;
  transition: border-color 0.18s;
}
.gc-amt-custom:focus-within { border-color: var(--gc-mid); }
.gc-amt-custom-sym {
  padding: 0 12px;
  font-size: 0.9rem;
  color: #aaa;
  border-left: 1.5px solid #e5e0d8;
  height: 42px;
  display: flex;
  align-items: center;
  background: #f8f5f0;
}
.gc-amt-custom input {
  flex: 1;
  border: none;
  padding: 0 12px;
  font-size: 0.92rem;
  font-family: inherit;
  color: var(--gc-dark);
  outline: none;
  background: transparent;
  height: 42px;
}
.gc-amt-custom input::placeholder { color: #bbb; }

.gc-summary-row { display: flex; justify-content: space-between; font-size: 0.87rem; color: #666; margin-bottom: 10px; }
.gc-summary-row strong { color: var(--gc-dark); }
.gc-summary-total {
  display: flex;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: 700;
  color: var(--gc-dark);
  padding-top: 14px;
  border-top: 1.5px solid #f0ede8;
  margin-top: 4px;
}

.gc-btn-buy {
  display: block;
  width: 100%;
  padding: 14px;
  background: var(--gc-dark);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  text-align: center;
  margin-top: 16px;
  letter-spacing: 0.3px;
}
.gc-btn-buy:hover { background: var(--gc-mid); transform: translateY(-1px); }
.gc-secure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-top: 10px;
  font-size: 0.75rem;
  color: #aaa;
}

.gc-note {
  background: #f5f8ee;
  border: 1.5px solid #d8e8c0;
  border-radius: 12px;
  padding: 20px;
  font-size: 0.82rem;
  color: #555;
}
.gc-note ul { margin: 8px 0 0; padding-right: 18px; line-height: 2; }
.gc-note-title { font-weight: 700; color: var(--gc-dark); font-size: 0.85rem; }

.gc-how { background: #fff; padding: 80px 0; }
.gc-how-inner { text-align: center; margin-bottom: 52px; }
.gc-how-inner h2 { font-size: 1.65rem; color: var(--gc-dark); margin: 0; }
.gc-how-inner p { font-size: 0.92rem; color: #888; margin: 10px 0 0; }
.gc-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.gc-step {
  text-align: center;
  padding: 28px 20px;
  border-radius: 14px;
  background: #fafaf7;
  border: 1.5px solid #eeebe4;
  position: relative;
}
.gc-step-n {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--gc-dark);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
.gc-step h3 { font-size: 0.92rem; color: var(--gc-dark); margin: 0 0 8px; font-weight: 700; }
.gc-step p { font-size: 0.82rem; color: #888; line-height: 1.65; margin: 0; }
.gc-step-arrow {
  position: absolute;
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
  color: #c8d8a0;
  font-size: 1.2rem;
}

.gc-features { background: var(--gc-dark); padding: 64px 0; }
.gc-features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
.gc-feat { padding: 36px 32px; text-align: center; border-left: 1px solid rgba(255,255,255,0.08); }
.gc-feat:last-child { border-left: none; }
.gc-feat-icon { font-size: 2rem; margin-bottom: 14px; display: block; }
.gc-feat h3 { font-size: 0.95rem; color: #fff; margin: 0 0 8px; font-weight: 700; }
.gc-feat p { font-size: 0.83rem; color: rgba(255,255,255,0.5); line-height: 1.7; margin: 0; }

@media (max-width: 1024px) {
  .gc-hero { grid-template-columns: 1fr; min-height: auto; }
  .gc-hero-left { padding: 48px 32px; min-height: 320px; }
  .gc-hero-right { padding: 48px 32px; }
  .gc-hero-right::before { display: none; }
  .gc-order-grid { grid-template-columns: 1fr; }
  .gc-sidebar { position: static; }
  .gc-steps { grid-template-columns: repeat(2, 1fr); }
  .gc-step-arrow { display: none; }
}
@media (max-width: 640px) {
  .gc-card-form { padding: 24px 18px; }
  .gc-sidebar-box { padding: 22px 18px; }
  .gc-row { grid-template-columns: 1fr; }
  .gc-features-grid { grid-template-columns: 1fr; }
  .gc-steps { grid-template-columns: 1fr; }
  .gc-hero-content h1 { font-size: 1.8rem; }
  .gc-mockup { width: 290px; height: 260px; }
  .gc-mockup-box { width: 160px; height: 112px; right: 8px; }
  .gc-mockup-card { width: 150px; height: 92px; top: 50px; right: 10px; }
  .gc-mockup-bcard { width: 185px; height: 112px; }
  .gc-bcard-brand { font-size: 1.25rem; }
  .gc-card-main-label { font-size: 0.65rem; letter-spacing: 2px; }
}

/* ── Loading skeleton ─────────────────────────── */
.pgv2-skeleton {
  background: linear-gradient(90deg, #f0ede8 25%, #e8e4dd 50%, #f0ede8 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.pgv2-skeleton-title { height: 32px; width: 75%; margin-bottom: 12px; }
.pgv2-skeleton-price { height: 24px; width: 30%; margin-bottom: 20px; }
.pgv2-skeleton-img { width: 100%; aspect-ratio: 1; border-radius: 50% 50% 50% 50%/60% 60% 40% 40%; }
.pgv2-skeleton-text { height: 14px; margin-bottom: 8px; border-radius: 4px; }
.pgv2-skeleton-text:last-child { width: 60%; }

/* ── Search overlay ───────────────────────────── */
.search-overlay {
  position: fixed;
  top: 0; left: 0; right: 0;
  background: rgba(255,255,255,0.98);
  padding: 20px var(--spacing-lg);
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 9999;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}
.search-overlay.open { transform: translateY(0); }
.search-overlay input {
  flex: 1;
  border: none;
  border-bottom: 2px solid #303827;
  font-size: 1.2rem;
  padding: 8px 0;
  outline: none;
  font-family: var(--font-hebrew);
  direction: rtl;
  background: transparent;
}
.search-overlay-close {
  font-size: 1.5rem;
  cursor: pointer;
  color: #303827;
  background: none;
  border: none;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* ═══════════════════════════════════════════════════════════
   BLOG REDESIGN, Hero / Filter / Featured / Grid / Post
   ═══════════════════════════════════════════════════════════ */

/* ── Blog Hero ────────────────────────────────────────────── */
.blog-hero {
  background: linear-gradient(135deg, #f8f5ef 0%, #eae3d4 100%);
  padding: var(--spacing-xl) 0 var(--spacing-2xl);
  position: relative;
  overflow: hidden;
}
.blog-hero::before {
  content: "";
  position: absolute;
  top: -80px; inset-inline-end: -80px;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(48,56,39,0.08), transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.blog-hero .breadcrumb { margin-bottom: var(--spacing-lg); }
.blog-hero-inner { max-width: 720px; position: relative; z-index: 1; }
.blog-hero-kicker {
  display: inline-block;
  background: rgba(48,56,39,0.08);
  color: var(--color-primary);
  padding: 6px 14px;
  border-radius: var(--radius-full);
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: var(--spacing-md);
}
.blog-hero-title {
  font-size: clamp(2rem, 5vw, 3.2rem);
  line-height: 1.15;
  margin: 0 0 var(--spacing-md);
  color: var(--color-primary);
  font-weight: 800;
  letter-spacing: -0.01em;
}
.blog-hero-subtitle {
  font-size: 1.1rem;
  color: var(--color-gray);
  line-height: 1.6;
  margin: 0 0 var(--spacing-lg);
  max-width: 600px;
}

/* Search in hero */
.blog-search-form {
  display: flex;
  max-width: 500px;
  background: white;
  border-radius: var(--radius-full);
  padding: 4px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  border: 1px solid rgba(48,56,39,0.08);
}
.blog-search-form input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 12px 18px;
  font-size: 1rem;
  font-family: inherit;
  color: var(--color-primary);
  outline: none;
}
.blog-search-form input::placeholder { color: #999; }
.blog-search-form button {
  background: var(--color-primary);
  border: none;
  width: 42px; height: 42px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform var(--transition-fast), background var(--transition-fast);
}
.blog-search-form button:hover { background: var(--color-olive); transform: scale(1.05); }
.blog-search-form button img { filter: brightness(0) invert(1); }

/* ── Filter Bar ───────────────────────────────────────────── */
.blog-filter-bar {
  background: white;
  border-bottom: 1px solid var(--color-light-gray);
  padding: var(--spacing-md) 0;
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(8px);
  background: rgba(255,255,255,0.95);
}
.blog-filter-pills {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.blog-filter-pills::-webkit-scrollbar { display: none; }
.blog-filter-pill {
  background: transparent;
  border: 1.5px solid var(--color-light-gray);
  color: var(--color-gray);
  padding: 8px 16px;
  border-radius: var(--radius-full);
  font-size: 0.9rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--transition-fast);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.blog-filter-pill:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.blog-filter-pill.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
}
.pill-count {
  font-size: 0.75rem;
  background: rgba(0,0,0,0.08);
  padding: 1px 7px;
  border-radius: var(--radius-full);
  font-weight: 600;
}
.blog-filter-pill.active .pill-count { background: rgba(255,255,255,0.2); }

/* ── Section helpers ──────────────────────────────────────── */
.section-pad-sm { padding: var(--spacing-xl) 0 var(--spacing-md); }

/* ── Featured Post (large hero card) ──────────────────────── */
.featured-post-wrap { margin-bottom: var(--spacing-xl); }
.featured-post {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 0;
  background: white;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.06);
  border: 1px solid rgba(48,56,39,0.06);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}
.featured-post:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.1);
}
.featured-post-image {
  position: relative;
  overflow: hidden;
  display: block;
  min-height: 380px;
  background: var(--color-cream);
}
.featured-post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.featured-post:hover .featured-post-image img { transform: scale(1.04); }
.featured-post-badge {
  position: absolute;
  top: var(--spacing-md);
  inset-inline-start: var(--spacing-md);
  background: var(--color-primary);
  color: white;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.5px;
}
.featured-post-body {
  padding: var(--spacing-xl);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.featured-post-title {
  font-size: clamp(1.3rem, 2.2vw, 1.8rem);
  line-height: 1.3;
  margin: var(--spacing-sm) 0 var(--spacing-md);
  color: var(--color-primary);
}
.featured-post-title a { color: inherit; text-decoration: none; }
.featured-post-title a:hover { color: var(--color-olive); }
.featured-post-excerpt {
  color: var(--color-gray);
  line-height: 1.7;
  font-size: 1.02rem;
  margin: 0 0 var(--spacing-lg);
}

/* ── Grid header ──────────────────────────────────────────── */
.blog-grid-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-lg);
  flex-wrap: wrap;
}
.blog-grid-header h2 {
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  margin: 0;
  color: var(--color-primary);
}
.blog-count-badge {
  font-size: 0.9rem;
  color: var(--color-gray);
  background: var(--color-cream);
  padding: 4px 12px;
  border-radius: var(--radius-full);
  font-weight: 500;
}

/* ── No results state ─────────────────────────────────────── */
.blog-no-results {
  text-align: center;
  padding: var(--spacing-2xl) var(--spacing-md);
}
.blog-no-results p {
  font-size: 1.1rem;
  color: var(--color-gray);
  margin: 0 0 var(--spacing-lg);
}

/* ── Newsletter CTA ───────────────────────────────────────── */
.blog-newsletter-cta {
  background: var(--color-primary);
  padding: var(--spacing-2xl) 0;
  color: white;
}
.blog-newsletter-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}
.blog-newsletter-text h2 {
  color: white;
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
  margin: 0 0 var(--spacing-sm);
}
.blog-newsletter-text p {
  color: rgba(255,255,255,0.85);
  margin: 0;
  line-height: 1.6;
}
.blog-newsletter-form {
  display: flex;
  gap: 10px;
  background: white;
  padding: 6px;
  border-radius: var(--radius-full);
}
.blog-newsletter-form input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 12px 18px;
  font-size: 1rem;
  font-family: inherit;
  color: var(--color-primary);
  outline: none;
}

/* ── Post Footer (author + share) ─────────────────────────── */
.post-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-lg);
  flex-wrap: wrap;
  padding: var(--spacing-lg);
  background: var(--color-cream);
  border-radius: var(--radius-md);
  margin-top: var(--spacing-xl);
}
.post-author {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}
.post-author-avatar {
  width: 52px; height: 52px;
  background: var(--color-primary);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.post-share {
  display: flex;
  align-items: center;
  gap: 10px;
}
.post-share-label {
  font-size: 0.9rem;
  color: var(--color-gray);
  margin-inline-end: 4px;
}

/* ── Post loading state ───────────────────────────────────── */
.post-loading { min-height: 50vh; display: flex; align-items: center; }

/* ── Post content, enhanced typography ───────────────────── */
.blog-post-content h2,
.blog-post-content h3 {
  color: var(--color-primary);
  margin-top: var(--spacing-xl);
  line-height: 1.3;
}
.blog-post-content h2 { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.blog-post-content h3 { font-size: clamp(1.1rem, 1.7vw, 1.35rem); }
.blog-post-content ul,
.blog-post-content ol {
  padding-inline-start: var(--spacing-xl);
  margin: var(--spacing-md) 0;
  color: var(--color-gray);
  line-height: 1.9;
}
.blog-post-content ul { list-style: disc; }
.blog-post-content ol { list-style: decimal; }
.blog-post-content li { margin-bottom: 6px; }
.blog-post-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  margin: var(--spacing-md) 0;
  display: block;
}
.blog-post-content a {
  color: var(--color-olive);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.blog-post-content a:hover { color: var(--color-primary); }
.blog-post-content figure { margin: var(--spacing-md) 0; }
.blog-post-content figcaption {
  font-size: 0.85rem;
  color: var(--color-gray);
  text-align: center;
  margin-top: 6px;
}
.blog-post-content table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--spacing-md) 0;
  font-size: 0.95rem;
}
.blog-post-content th,
.blog-post-content td {
  padding: 10px;
  border: 1px solid var(--color-light-gray);
  text-align: start;
}
.blog-post-content th {
  background: var(--color-cream);
  font-weight: 700;
  color: var(--color-primary);
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 900px) {
  .featured-post { grid-template-columns: 1fr; }
  .featured-post-image { min-height: 240px; }
  .blog-newsletter-inner { grid-template-columns: 1fr; text-align: center; }
  .blog-newsletter-form { max-width: 500px; margin: 0 auto; }
  .post-footer-row { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  .blog-hero-title { font-size: 1.75rem; }
  .blog-hero-subtitle { font-size: 0.95rem; }
  .blog-search-form { flex-wrap: nowrap; }
  .blog-search-form input { padding: 10px 14px; font-size: 0.9rem; }
}

/* ═══════════════════════════════════════════════════════════
   BLOG FIGMA DESIGN, tropical hero / sidebar filters / horizontal cards / CTA form
   ═══════════════════════════════════════════════════════════ */

/* Hero: dark tropical leaves background like Figma */
.blog-hero-figma {
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.blog-hero-figma .page-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(48,56,39,0.35), rgba(48,56,39,0.55));
  z-index: 1;
}
.blog-hero-figma .page-hero-bg img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  opacity: 1 !important;
  filter: saturate(1.15) brightness(0.85);
}
.blog-hero-figma-inner {
  position: relative;
  z-index: 2;
  color: white;
  text-align: center;
}
.blog-hero-figma-inner h1 {
  color: #fff !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  margin: var(--spacing-md) 0 0;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4), 0 4px 32px rgba(0,0,0,0.25);
}
.blog-hero-figma-inner .hero-subtitle {
  color: rgba(255,255,255,0.9) !important;
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  font-weight: 400;
  margin-top: 14px;
  max-width: 560px;
  margin-inline: auto;
  line-height: 1.6;
  text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}
.breadcrumb-light,
.breadcrumb-light a {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 0.9rem;
  justify-content: center;
}
.breadcrumb-light .sep { color: rgba(255, 255, 255, 0.55); margin: 0 8px; }
.breadcrumb-light a:hover { color: white !important; }

/* Main layout: posts + sidebar */
.blog-main-section { background: #fcfaf5; }
.blog-figma-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: var(--spacing-2xl);
  align-items: start;
}
.blog-figma-layout > .blog-filters-sidebar { order: 1; }
.blog-figma-layout > .blog-posts-column    { order: 2; }

/* Horizontal post card */
.blog-posts-list-v2 {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
.blog-post-item {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: var(--spacing-xl);
  align-items: center;
  padding-bottom: var(--spacing-xl);
  border-bottom: 1px solid rgba(48, 56, 39, 0.1);
}
.blog-post-item:last-child { border-bottom: none; }
.blog-post-item-image {
  display: block;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--color-cream);
  order: 2;
}
.blog-post-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.blog-post-item:hover .blog-post-item-image img { transform: scale(1.04); }

.blog-post-item-body {
  order: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}
.blog-post-item-kicker {
  font-size: 0.78rem;
  color: var(--color-gray);
  font-weight: 500;
  letter-spacing: 0.5px;
}
.blog-post-item-title {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  margin: 4px 0 var(--spacing-xs);
  line-height: 1.3;
  color: var(--color-primary);
  font-weight: 700;
}
.blog-post-item-title a { color: inherit; text-decoration: none; }
.blog-post-item-title a:hover { color: var(--color-olive); }
.blog-post-item-excerpt {
  font-size: 0.92rem;
  color: var(--color-gray);
  line-height: 1.7;
  margin: 0 0 var(--spacing-sm);
}
.blog-post-item-btn {
  align-self: flex-start;
  border-radius: var(--radius-full);
  padding: 10px 28px;
  font-size: 0.9rem;
}

/* Sidebar filter dropdowns */
.blog-filters-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  position: sticky;
  top: 100px;
}
.blog-filter-group {
  background: white;
  border: 1px solid rgba(48, 56, 39, 0.12);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: box-shadow var(--transition-fast);
}
.blog-filter-group[open] { box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.blog-filter-group summary {
  padding: 14px 18px;
  cursor: pointer;
  list-style: none;
  font-weight: 500;
  color: var(--color-primary);
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
}
.blog-filter-group summary::-webkit-details-marker { display: none; }
.blog-filter-group summary::after {
  content: "\25be";
  font-size: 0.8rem;
  color: var(--color-gray);
  transition: transform var(--transition-fast);
}
.blog-filter-group[open] summary::after { transform: rotate(180deg); }
.blog-filter-options {
  padding: 4px 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-top: 1px solid rgba(48, 56, 39, 0.08);
}
.blog-filter-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
  color: var(--color-gray);
  cursor: pointer;
  padding: 4px 0;
  transition: color var(--transition-fast);
}
.blog-filter-opt:hover { color: var(--color-primary); }
.blog-filter-opt input[type="radio"] { accent-color: var(--color-primary); cursor: pointer; }
.blog-filter-count {
  color: var(--color-gray);
  font-size: 0.8rem;
  margin-inline-start: auto;
  opacity: 0.7;
}
.blog-filter-opt-clear {
  border-top: 1px solid rgba(48, 56, 39, 0.08);
  padding-top: 10px;
  margin-top: 6px;
  font-weight: 500;
}

/* Load more */
.blog-load-more-wrap { margin-top: var(--spacing-xl); text-align: center; padding-top: var(--spacing-md); }
.blog-showing-count { color: var(--color-gray); font-size: 0.92rem; margin: 0 0 var(--spacing-md); }
.btn-outline-rounded {
  display: inline-block;
  background: transparent;
  color: var(--color-primary);
  border: 1.5px solid var(--color-primary);
  padding: 11px 36px;
  border-radius: var(--radius-full);
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  transition: all var(--transition-fast);
}
.btn-outline-rounded:hover { background: var(--color-primary); color: white; }

/* Contact CTA, split form + dark panel */
.blog-contact-cta {
  background: var(--color-cream, #f8f5ef);
  padding: 0;
}
.blog-contact-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  max-width: 1400px;
  margin: 0 auto;
  min-height: 420px;
}
.blog-contact-form-panel {
  padding: var(--spacing-2xl) var(--spacing-xl);
  display: flex;
  align-items: center;
  justify-content: center;
}
.blog-contact-form {
  width: 100%;
  max-width: 480px;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}
.blog-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-md);
}
.blog-contact-form input,
.blog-contact-form textarea {
  width: 100%;
  padding: 12px 18px;
  border: 1.5px solid rgba(48, 56, 39, 0.15);
  background: transparent;
  border-radius: var(--radius-full);
  font-family: inherit;
  font-size: 0.95rem;
  color: var(--color-primary);
  outline: none;
  transition: border-color var(--transition-fast);
}
.blog-contact-form input:focus,
.blog-contact-form textarea:focus {
  border-color: var(--color-primary);
}
.blog-contact-form textarea {
  border-radius: 20px;
  resize: vertical;
  min-height: 100px;
  font-family: inherit;
}
.blog-contact-form input::placeholder,
.blog-contact-form textarea::placeholder {
  color: rgba(48, 56, 39, 0.5);
}
.blog-contact-form button[type="submit"] {
  align-self: flex-start;
  border-radius: var(--radius-full);
  padding: 12px 42px;
}

.blog-contact-title-panel {
  background: var(--color-primary);
  color: white;
  padding: var(--spacing-2xl) var(--spacing-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  /* Panel is on the RIGHT side (in RTL). Curve the edge facing the form (its left physical side). */
  clip-path: ellipse(100% 100% at 0% 50%);
}
.blog-contact-title-panel::before {
  content: "";
  position: absolute;
  top: -20%;
  inset-inline-end: -20%;
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(255,255,255,0.06), transparent 70%);
  border-radius: 50%;
}
.blog-contact-title-inner { position: relative; max-width: 440px; }
.blog-contact-title-panel h2 {
  color: white;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  margin: 0 0 var(--spacing-md);
  line-height: 1.2;
  font-weight: 700;
}
.blog-contact-title-panel p {
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  line-height: 1.7;
  font-size: 0.98rem;
}

/* Responsive */
@media (max-width: 992px) {
  .blog-figma-layout { grid-template-columns: 1fr; }
  .blog-filters-sidebar {
    order: -1;
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .blog-filter-group { flex: 1 1 240px; }
}
@media (max-width: 768px) {
  .blog-post-item { grid-template-columns: 1fr; gap: var(--spacing-md); }
  .blog-post-item-image { order: 1; }
  .blog-post-item-body { order: 2; }
  .blog-contact-inner { grid-template-columns: 1fr; }
  .blog-contact-title-panel {
    clip-path: ellipse(140% 100% at 50% 100%);
    padding: var(--spacing-xl) var(--spacing-md);
  }
  .blog-form-row { grid-template-columns: 1fr; }
  .blog-contact-form-panel { padding: var(--spacing-xl) var(--spacing-md); }
}

/* ═════════════════════════════════════════════════════
   BLOG POST ENHANCEMENTS, reading progress, related products
   ═════════════════════════════════════════════════════ */

/* Reading progress bar */
.reading-progress {
  position: fixed;
  top: 0;
  inset-inline-start: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(to left, var(--color-olive, #7a8a45), var(--color-primary, #303827));
  z-index: 9999;
  transition: width 0.08s linear;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  pointer-events: none;
}

/* Related products at bottom of blog post */
.related-products-section {
  background: white;
  padding: var(--spacing-2xl) 0;
  border-top: 1px solid var(--color-light-gray);
}
.related-products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-md);
  margin-top: var(--spacing-lg);
}
.related-product-card {
  background: white;
  border: 1px solid var(--color-light-gray);
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
  display: flex;
  flex-direction: column;
}
.related-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.related-product-card-image {
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--color-cream);
}
.related-product-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.related-product-card:hover .related-product-card-image img { transform: scale(1.05); }
.related-product-card-body {
  padding: var(--spacing-sm) var(--spacing-md) var(--spacing-md);
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.related-product-card-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-primary);
  line-height: 1.4;
  margin: 0 0 var(--spacing-sm);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.related-product-card-price {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary);
}
.related-product-card-price .was {
  color: var(--color-gray);
  text-decoration: line-through;
  font-weight: 400;
  font-size: 0.85rem;
  margin-inline-start: 6px;
}

@media (max-width: 900px) {
  .related-products-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .related-products-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* ═════════════════════════════════════════════════════
   ABOUT PAGE REDESIGN (Figma mockup)
   ═════════════════════════════════════════════════════ */

/* ── Section 1: Welcome (blob image + text) ──────────────── */
.about-welcome {
  padding: var(--spacing-2xl) 0;
  background: white;
}
.about-welcome-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--spacing-2xl);
  align-items: center;
}
.about-welcome-image {
  display: flex;
  justify-content: center;
}
.about-blob {
  width: 100%;
  max-width: 420px;
  aspect-ratio: 1 / 1.05;
  /* Organic blob shape, use border-radius for asymmetrical rounded corners */
  border-radius: 63% 37% 54% 46% / 49% 52% 48% 51%;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(48, 56, 39, 0.12);
  background: var(--color-cream);
}
.about-blob img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-welcome-text { max-width: 560px; }
.about-kicker {
  display: inline-block;
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  color: var(--color-primary);
  letter-spacing: 0.5px;
  margin-bottom: var(--spacing-sm);
  font-weight: 700;
}
/* English italic kicker — editorial blog pattern */
.about-kicker-en {
  display: block;
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.05rem;
  color: var(--color-olive);
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
/* Hero kicker (light variant, appears over bg-image overlay) */
.about-hero-kicker {
  display: block;
  font-family: var(--font-hebrew);
  font-style: italic;
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: 0.8px;
  margin-bottom: 6px;
}
.about-welcome-text h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.3rem);
  line-height: 1.25;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-lg);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.about-welcome-text p {
  color: var(--color-gray);
  line-height: 1.85;
  font-size: 1rem;
  margin: 0;
}

/* ── Section 2: Who we are ───────────────────────────────── */
.about-who {
  padding: var(--spacing-2xl) 0;
  background: var(--color-cream, #f8f5ef);
}
.about-who-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--spacing-2xl);
  align-items: center;
}
.about-who-image {
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: 0 6px 24px rgba(0,0,0,0.08);
}
.about-who-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-who-text { max-width: 500px; }
.about-who-text h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.3rem);
  line-height: 1.25;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-md);
  font-weight: 700;
}
.about-who-text p {
  color: var(--color-gray);
  line-height: 1.85;
  font-size: 1rem;
  margin: 0;
}

/* ── Section 3: Why choose us (dark green curved panel) ── */
.about-why {
  position: relative;
  padding: var(--spacing-2xl) 0 calc(var(--spacing-2xl) + 40px);
  overflow: hidden;
  background: var(--color-cream, #f8f5ef);
}
.about-why-bg {
  position: absolute;
  inset: 0;
  background: var(--color-primary);
  /* Ellipse curve, narrower on left side, wider on right (curves from top-left) */
  clip-path: ellipse(110% 100% at 80% 50%);
  z-index: 0;
}
.about-why .container { position: relative; z-index: 1; }
.about-why-title {
  color: white;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  text-align: center;
  margin: 0 0 var(--spacing-xl);
  font-weight: 700;
}
.about-why-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  max-width: 1100px;
  margin: 0 auto;
}
.about-why-card {
  background: white;
  padding: var(--spacing-lg) var(--spacing-md);
  border-radius: var(--radius-md);
  box-shadow: 0 6px 24px rgba(0,0,0,0.1);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.about-why-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.14);
}
.about-why-icon {
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
}
.about-why-card h3 {
  font-size: 1.1rem;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-xs);
  font-weight: 700;
}
.about-why-card p {
  color: var(--color-gray);
  line-height: 1.65;
  font-size: 0.9rem;
  margin: 0;
}

/* ── Section 4: FAQ accordion ──────────────────────────── */
.about-faq {
  padding: var(--spacing-2xl) 0;
  background: white;
}
.about-faq-list {
  max-width: 800px;
  margin: 0 auto;
}
.about-faq-item {
  border-top: 1px solid rgba(48, 56, 39, 0.12);
  padding: var(--spacing-md) 0;
  transition: all 0.2s;
}
.about-faq-item:last-child {
  border-bottom: 1px solid rgba(48, 56, 39, 0.12);
}
.about-faq-item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-md);
  cursor: pointer;
  list-style: none;
  padding: var(--spacing-sm) 0;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--color-primary);
  user-select: none;
}
.about-faq-item summary::-webkit-details-marker { display: none; }
.about-faq-icon {
  font-size: 1.3rem;
  color: var(--color-primary);
  transition: transform 0.2s ease;
  flex-shrink: 0;
  font-weight: 300;
}
.about-faq-item[open] .about-faq-icon { transform: rotate(45deg); }
.about-faq-answer {
  padding: var(--spacing-sm) 0 var(--spacing-md);
  color: var(--color-gray);
  line-height: 1.8;
  font-size: 0.95rem;
}

/* 5-card variant for about-why */
.about-why-cards-5 {
  grid-template-columns: repeat(5, 1fr);
  gap: var(--spacing-md);
}

/* ── Section 4: What you'll find ─────────────────────── */
.about-find {
  padding: var(--spacing-2xl) 0;
  background: var(--color-cream, #f8f5ef);
}
.about-find-head {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}
.about-find-head h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--color-primary);
  margin: var(--spacing-xs) 0 var(--spacing-sm);
  font-weight: 700;
}
.about-find-sub {
  color: var(--color-gray);
  font-size: 1rem;
  margin: 0;
  max-width: 560px;
  margin-inline: auto;
}
.about-find-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--spacing-md);
}
.about-find-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--spacing-lg) var(--spacing-md);
  background: white;
  border-radius: var(--radius-md);
  border: 1.5px solid transparent;
  text-decoration: none;
  color: var(--color-primary);
  transition: border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
.about-find-tile:hover {
  border-color: var(--color-primary);
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(48,56,39,0.12);
}
.about-find-icon {
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
  opacity: 0.85;
}
.about-find-tile h3 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 var(--spacing-xs);
  color: var(--color-primary);
}
.about-find-tile p {
  font-size: 0.85rem;
  color: var(--color-gray);
  line-height: 1.5;
  margin: 0;
}

/* ── Section 5: CTA strip ────────────────────────────── */
.about-cta-strip {
  padding: var(--spacing-2xl) 0;
  background: var(--color-primary);
}
.about-cta-strip .container {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--spacing-xl);
}
.about-cta-text .about-kicker {
  color: rgba(255,255,255,0.7);
  border-color: rgba(255,255,255,0.3);
}
.about-cta-text h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: white;
  margin: var(--spacing-xs) 0 var(--spacing-sm);
  font-weight: 700;
}
.about-cta-text p {
  color: rgba(255,255,255,0.82);
  line-height: 1.7;
  font-size: 0.95rem;
  margin: 0;
  max-width: 480px;
}
.about-cta-buttons {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  min-width: 220px;
}
.about-cta-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 22px;
  background: white;
  color: var(--color-primary);
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
  font-family: var(--font-hebrew);
  transition: background var(--transition-fast), transform var(--transition-fast);
  white-space: nowrap;
}
.about-cta-btn:hover {
  background: var(--color-cream, #f5f0e8);
  transform: translateX(-3px);
}

/* ── Section 6 header: FAQ ───────────────────────────── */
.about-faq-head {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}
.about-faq-head h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--color-primary);
  margin: var(--spacing-xs) 0 0;
  font-weight: 700;
}

/* ── Section 7: Contact ──────────────────────────────── */
.about-contact {
  padding: var(--spacing-2xl) 0;
  background: var(--color-cream, #f8f5ef);
}
.about-contact-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-2xl);
  background: white;
  border-radius: 20px;
  padding: var(--spacing-2xl);
  box-shadow: 0 8px 40px rgba(48,56,39,0.1);
  max-width: 1000px;
  margin: 0 auto;
}
.about-contact-text .about-kicker { margin-bottom: var(--spacing-sm); }
.about-contact-text h2 {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
  font-weight: 700;
  line-height: 1.35;
}
.about-contact-text > p {
  color: var(--color-gray);
  line-height: 1.7;
  font-size: 0.95rem;
  margin: 0 0 var(--spacing-md);
}
.about-contact-perks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.about-contact-perks li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--color-primary);
  font-weight: 500;
}
.perk-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary);
  flex-shrink: 0;
}

/* contact form fields */
.about-contact-form { display: flex; flex-direction: column; }
.about-contact-fields { display: flex; flex-direction: column; gap: var(--spacing-sm); }
.about-contact-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.about-contact-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-primary);
  font-family: var(--font-hebrew);
  padding-inline-start: 18px;
}
.about-contact-label em { color: #B3574A; font-style: normal; }
.about-contact-field input,
.about-contact-field textarea {
  width: 100%;
  border: 1.2px solid var(--color-primary);
  border-radius: 999px;
  padding: 13px 22px;
  font-family: var(--font-hebrew);
  font-size: 14px;
  color: var(--color-primary);
  background: transparent;
  outline: none;
  transition: border-color var(--transition), box-shadow var(--transition);
  box-sizing: border-box;
}
.about-contact-field textarea {
  border-radius: 20px;
  resize: vertical;
  min-height: 90px;
}
.about-contact-field input:focus,
.about-contact-field textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(48,56,39,0.08);
}
.about-contact-submit {
  margin-top: var(--spacing-sm);
  padding: 14px 28px;
  background: var(--color-primary);
  color: white;
  border: none;
  border-radius: 999px;
  font-family: var(--font-hebrew);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background var(--transition-fast), transform var(--transition-fast);
}
.about-contact-submit:hover {
  background: #4a5c38;
  transform: translateY(-1px);
}
.about-contact-micro {
  font-size: 12px;
  color: var(--color-gray);
  text-align: center;
  margin: 8px 0 0;
}
.about-contact-success {
  text-align: center;
  padding: var(--spacing-xl) 0;
}
.about-contact-success-icon {
  width: 56px;
  height: 56px;
  background: #e8f0e0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--spacing-md);
  color: var(--color-primary);
}
.about-contact-success h3 {
  font-size: 1.2rem;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
}
.about-contact-success p {
  color: var(--color-gray);
  font-size: 0.95rem;
  margin: 0 0 var(--spacing-md);
}
.about-contact-link {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: underline;
  font-size: 0.95rem;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 900px) {
  .about-welcome-grid,
  .about-who-grid { grid-template-columns: 1fr; gap: var(--spacing-xl); }
  .about-welcome-image { order: 1; }
  .about-welcome-text { order: 2; text-align: center; margin: 0 auto; }
  .about-who-image { order: 1; }
  .about-who-text { order: 2; text-align: center; margin: 0 auto; }
  .about-why-cards { grid-template-columns: 1fr; gap: var(--spacing-md); }
  .about-why-cards-5 { grid-template-columns: repeat(2, 1fr); }
  .about-why-bg { clip-path: ellipse(160% 100% at 50% 50%); }
  .about-find-grid { grid-template-columns: repeat(3, 1fr); }
  .about-cta-strip .container { grid-template-columns: 1fr; gap: var(--spacing-lg); }
  .about-cta-buttons { flex-direction: row; flex-wrap: wrap; }
  .about-contact-card { grid-template-columns: 1fr; gap: var(--spacing-xl); }
}
@media (max-width: 600px) {
  .about-welcome { padding: var(--spacing-xl) 0; }
  .about-who { padding: var(--spacing-xl) 0; }
  .about-blob { max-width: 320px; }
  .about-why-cards-5 { grid-template-columns: 1fr; }
  .about-find-grid { grid-template-columns: repeat(2, 1fr); }
  .about-cta-buttons { flex-direction: column; }
  .about-contact-card { padding: var(--spacing-xl) var(--spacing-md); }
}

/* ═════════════════════════════════════════════════════
   CONTACT PAGE REDESIGN (brand voice)
   ═════════════════════════════════════════════════════ */

/* ── Intro section ──────────────────────────────────────── */
.contact-intro-section {
  padding: var(--spacing-2xl) 0 var(--spacing-xl);
  background: white;
  text-align: center;
}
.contact-intro-text {
  max-width: 680px;
  margin: 0 auto var(--spacing-2xl);
}
.contact-intro-text h2 {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 1.25;
  color: var(--color-primary);
  margin: var(--spacing-sm) 0 var(--spacing-md);
  font-weight: 700;
}
.contact-intro-text p {
  color: var(--color-gray);
  line-height: 1.75;
  font-size: 1.05rem;
  margin: 0;
}

/* ── 3 action cards (WhatsApp / Phone / Email) ─────────── */
.contact-action-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-md);
  max-width: 1000px;
  margin: 0 auto;
}
.contact-action-card {
  background: white;
  border: 1.5px solid rgba(48, 56, 39, 0.1);
  border-radius: var(--radius-md);
  padding: var(--spacing-xl) var(--spacing-md);
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: all var(--transition-normal);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.contact-action-card:hover {
  transform: translateY(-4px);
  border-color: var(--color-primary);
  box-shadow: 0 12px 32px rgba(48, 56, 39, 0.12);
}
.contact-action-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--color-cream);
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--spacing-sm);
  transition: all var(--transition-fast);
}
.contact-action-card:hover .contact-action-icon {
  background: var(--color-primary);
  color: white;
  transform: scale(1.08);
}
.contact-action-whatsapp .contact-action-icon {
  background: #25D366;
  color: white;
}
.contact-action-whatsapp:hover .contact-action-icon {
  background: #1eb557;
  color: white;
}
.contact-action-card h3 {
  font-size: 1.15rem;
  color: var(--color-primary);
  margin: 0 0 4px;
  font-weight: 700;
}
.contact-action-card p {
  font-size: 0.85rem;
  color: var(--color-gray);
  margin: 0 0 var(--spacing-sm);
  line-height: 1.5;
}
.contact-action-value {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-primary);
  direction: ltr;
  display: inline-block;
}

/* ── Main form section, extends blog-contact-cta ────── */
.contact-main-form {
  margin-top: var(--spacing-xl);
}
.contact-main-form .blog-contact-title-panel h2 br { display: block; }

/* Business hours inside green panel */
.blog-contact-hours {
  margin-top: var(--spacing-lg);
  padding-top: var(--spacing-md);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.blog-contact-hours .hours-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 0.92rem;
  color: rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.blog-contact-hours .hours-row:last-child { border-bottom: none; }
.blog-contact-hours .hours-row span:first-child {
  color: rgba(255, 255, 255, 0.7);
}

/* Location + arrival note (under hours in green panel) */
.contact-location-note {
  margin-top: var(--spacing-md);
  padding-top: var(--spacing-sm);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.contact-location {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--font-hebrew);
  font-weight: 600;
  font-size: 0.95rem;
}
.contact-location svg { color: rgba(255, 255, 255, 0.7); }
.contact-arrival-note {
  display: block;
  margin-top: 8px;
  font-family: var(--font-hebrew);
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.65);
  font-style: italic;
}

/* Select styling */
.blog-contact-select {
  width: 100%;
  padding: 12px 18px;
  border: 1.5px solid rgba(48, 56, 39, 0.15);
  background: transparent;
  border-radius: var(--radius-full);
  font-family: inherit;
  font-size: 0.95rem;
  color: var(--color-primary);
  outline: none;
  transition: border-color var(--transition-fast);
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23303827' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: left 20px center;
  padding-inline-start: 45px;
  cursor: pointer;
}
.blog-contact-select:focus {
  border-color: var(--color-primary);
}

/* ── FAQ shortcut CTA at bottom ──────────────────────── */
.contact-faq-shortcut {
  padding: var(--spacing-xl) 0 var(--spacing-2xl);
  background: var(--color-cream, #f8f5ef);
}
.contact-faq-shortcut-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-lg);
  flex-wrap: wrap;
  background: white;
  padding: var(--spacing-xl);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(48, 56, 39, 0.08);
}
.contact-faq-shortcut-inner h2 {
  font-size: clamp(1.3rem, 2.3vw, 1.8rem);
  color: var(--color-primary);
  margin: 0 0 8px;
  font-weight: 700;
}
.contact-faq-shortcut-inner p {
  color: var(--color-gray);
  margin: 0;
  max-width: 560px;
  line-height: 1.7;
}
.contact-faq-shortcut-inner .btn {
  border-radius: var(--radius-full);
  padding: 12px 32px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 900px) {
  .contact-action-cards { grid-template-columns: 1fr; max-width: 420px; }
  .contact-faq-shortcut-inner { flex-direction: column; text-align: center; align-items: center; }
}
@media (max-width: 600px) {
  .contact-intro-section { padding: var(--spacing-xl) 0; }
}

/* ═════════════════════════════════════════════════════
   BRAND GUIDELINES PAGE
   ═════════════════════════════════════════════════════ */

.brand-intro {
  padding: var(--spacing-2xl) 0 var(--spacing-xl);
  text-align: center;
}
.brand-intro-inner { max-width: 720px; margin: 0 auto; }
.brand-intro-inner h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  color: var(--color-primary);
  margin: var(--spacing-sm) 0 var(--spacing-md);
  line-height: 1.25;
  font-weight: 700;
}
.brand-intro-inner p {
  color: var(--color-gray);
  line-height: 1.8;
  font-size: 1.05rem;
  margin: 0;
}

.brand-section {
  padding: var(--spacing-2xl) 0;
  background: white;
}
.brand-section-alt { background: var(--color-cream); }

.brand-section-header {
  max-width: 720px;
  margin: 0 auto var(--spacing-xl);
  text-align: center;
}
.brand-section-header h2 {
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  color: var(--color-primary);
  margin: var(--spacing-sm) 0 var(--spacing-md);
  font-weight: 700;
}
.brand-section-header p {
  color: var(--color-gray);
  line-height: 1.7;
  margin: 0;
}

/* ── Colors grid ──────────────────────────────────────── */
.brand-colors-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-md);
}
.brand-color-card {
  background: white;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-light-gray);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.brand-color-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.brand-color-primary { border-color: var(--color-primary); }
.brand-color-swatch {
  height: 120px;
  width: 100%;
}
.brand-color-meta {
  padding: var(--spacing-md);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.brand-color-meta strong {
  color: var(--color-primary);
  font-size: 1rem;
}
.brand-color-meta code {
  font-family: 'Courier New', monospace;
  font-size: 0.85rem;
  color: var(--color-olive);
  background: var(--color-cream);
  padding: 2px 8px;
  border-radius: 4px;
  align-self: flex-start;
  direction: ltr;
}
.brand-color-meta span {
  font-size: 0.8rem;
  color: var(--color-gray);
}

/* ── Typography ─────────────────────────────────────── */
.brand-type-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-lg);
}
.brand-type-card {
  background: white;
  border-radius: var(--radius-md);
  padding: var(--spacing-xl);
  border: 1px solid var(--color-light-gray);
}
.brand-section-alt .brand-type-card { background: white; }
.brand-type-label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: var(--spacing-md);
  margin-bottom: var(--spacing-lg);
  border-bottom: 1px solid var(--color-light-gray);
}
.brand-type-label strong {
  font-size: 1.3rem;
  color: var(--color-primary);
}
.brand-type-label span {
  font-size: 0.8rem;
  color: var(--color-gray);
  letter-spacing: 0.5px;
}
.brand-type-sample {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}
.brand-type-line {
  color: var(--color-primary);
  line-height: 1.2;
}
.brand-type-xxl { font-size: 2.4rem; font-weight: 700; }
.brand-type-xl  { font-size: 1.6rem; font-weight: 600; }
.brand-type-l   { font-size: 1.15rem; font-weight: 500; }
.brand-type-m   { font-size: 1rem; color: var(--color-gray); line-height: 1.75; }
.brand-type-s   { font-size: 0.85rem; color: var(--color-gray-light); }

/* ── Logos ──────────────────────────────────────────── */
.brand-logos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-md);
}
.brand-logo-card {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  align-items: center;
}
.brand-logo-box {
  width: 100%;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-light-gray);
  padding: var(--spacing-md);
}
.brand-logo-box img {
  max-width: 180px;
  max-height: 80px;
  object-fit: contain;
}
.brand-logo-light { background: white; }
.brand-logo-dark { background: var(--color-primary); border-color: var(--color-primary); }
.brand-logo-cream { background: var(--color-cream); }
.brand-logo-card span {
  font-size: 0.85rem;
  color: var(--color-gray);
  text-align: center;
}

/* ── Voice grid ────────────────────────────────────── */
.brand-voice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-xl);
}
.brand-voice-card {
  background: white;
  border: 2px solid #27ae60;
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
}
.brand-voice-card h3 {
  color: #27ae60;
  font-size: 1.15rem;
  margin: 0 0 var(--spacing-md);
}
.brand-voice-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.brand-voice-card li {
  padding: 8px 0;
  border-bottom: 1px solid var(--color-light-gray);
  color: var(--color-primary);
  font-size: 0.95rem;
  line-height: 1.5;
}
.brand-voice-card li:last-child { border-bottom: none; }
.brand-voice-dont {
  border-color: var(--color-sale);
}
.brand-voice-dont h3 { color: var(--color-sale); }
.brand-voice-principles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-md);
}
.brand-principle {
  background: white;
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-light-gray);
}
.brand-principle h4 {
  font-size: 1rem;
  color: var(--color-primary);
  margin: 0 0 8px;
}
.brand-principle p {
  font-size: 0.85rem;
  color: var(--color-gray);
  line-height: 1.6;
  margin: 0;
}

/* ── System (Spacing + Radius) ──────────────────────── */
.brand-system-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-lg);
}
.brand-system-card {
  background: white;
  border-radius: var(--radius-md);
  padding: var(--spacing-xl);
  border: 1px solid var(--color-light-gray);
}
.brand-system-card h4 {
  margin: 0 0 var(--spacing-lg);
  color: var(--color-primary);
  font-size: 1.1rem;
}
.brand-spacing-list { display: flex; flex-direction: column; gap: 10px; }
.brand-spacing-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}
.brand-spacing-item code {
  width: 40px;
  font-family: 'Courier New', monospace;
  color: var(--color-olive);
  font-size: 0.85rem;
}
.brand-spacing-item .sp {
  height: 16px;
  background: var(--color-primary);
  border-radius: 3px;
}
.brand-spacing-item small {
  color: var(--color-gray);
  font-size: 0.8rem;
}
.brand-radius-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--spacing-sm);
}
.brand-radius-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.brand-radius-item .rad {
  width: 48px;
  height: 48px;
  background: var(--color-primary);
}
.brand-radius-item code {
  font-size: 0.72rem;
  color: var(--color-olive);
  text-align: center;
}

/* ── Components demo ────────────────────────────────── */
.brand-components {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-md);
}
.brand-component-full { grid-column: 1 / -1; }
.brand-component-card {
  background: white;
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
  border: 1px solid var(--color-light-gray);
}
.brand-component-card h4 {
  margin: 0 0 var(--spacing-md);
  color: var(--color-primary);
  font-size: 1rem;
}
.brand-component-demo {
  display: flex;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
  align-items: center;
}
.brand-cta-demo {
  background: var(--color-primary);
  color: white;
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
  position: relative;
  overflow: hidden;
  clip-path: ellipse(105% 100% at 0% 50%);
}
.brand-cta-demo strong {
  display: block;
  font-size: 1.3rem;
  margin-bottom: 8px;
}
.brand-cta-demo p {
  color: rgba(255,255,255,0.85);
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
}

/* ── Summary CTA ───────────────────────────────────── */
.brand-summary-cta {
  padding: var(--spacing-2xl) 0;
  background: var(--color-primary);
  color: white;
  text-align: center;
}
.brand-summary-cta h2 {
  color: white;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin: 0 0 var(--spacing-md);
}
.brand-summary-cta p {
  color: rgba(255, 255, 255, 0.85);
  max-width: 540px;
  margin: 0 auto var(--spacing-lg);
  line-height: 1.7;
}
.brand-summary-cta .btn {
  background: white;
  color: var(--color-primary);
  border-radius: var(--radius-full);
  padding: 12px 32px;
}
.brand-summary-cta .btn:hover { background: var(--color-cream); }

/* ── Responsive ────────────────────────────────────── */
@media (max-width: 900px) {
  .brand-colors-grid { grid-template-columns: repeat(2, 1fr); }
  .brand-type-grid,
  .brand-voice-grid,
  .brand-system-grid,
  .brand-components { grid-template-columns: 1fr; }
  .brand-logos-grid { grid-template-columns: 1fr; }
  .brand-voice-principles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .brand-colors-grid { grid-template-columns: 1fr; }
  .brand-voice-principles { grid-template-columns: 1fr; }
  .brand-radius-list { grid-template-columns: repeat(3, 1fr); }
}

/* ═════════════════════════════════════════════════════
   HOMEPAGE, new sections (blog preview, promise, Instagram)
   ═════════════════════════════════════════════════════ */

/* ── Blog preview ─────────────────────────────────────── */
.home-blog-preview {
  padding: var(--spacing-2xl) 0;
  background: white;
}
.home-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  margin-top: var(--spacing-xl);
}
.home-blog-card {
  background: white;
  border: 1px solid var(--color-light-gray);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.home-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}
.home-blog-card-image {
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--color-cream);
}
.home-blog-card-image img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.5s ease;
}
.home-blog-card:hover .home-blog-card-image img { transform: scale(1.05); }
.home-blog-card-body {
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.home-blog-card-date {
  font-size: 0.8rem;
  color: var(--color-gray);
  letter-spacing: 0.5px;
}
.home-blog-card h3 {
  font-size: 1.15rem;
  line-height: 1.35;
  margin: 0;
  color: var(--color-primary);
}
.home-blog-card h3 a { color: inherit; text-decoration: none; }
.home-blog-card h3 a:hover { color: var(--color-olive); }
.home-blog-card p {
  color: var(--color-gray);
  line-height: 1.6;
  font-size: 0.9rem;
  margin: 0;
  flex: 1;
}
.home-blog-card-link {
  color: var(--color-olive);
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  margin-top: auto;
}
.home-blog-card-link:hover { color: var(--color-primary); }
.home-blog-cta {
  text-align: center;
  margin-top: var(--spacing-xl);
}

/* ── Brand Promise panel ───────────────────────────── */
.home-promise {
  background: var(--color-cream);
  padding: 0;
  max-width: 1400px;
  margin: 0 auto;
}
.home-promise-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
  align-items: stretch;
}
.home-promise-green {
  background: var(--color-primary);
  color: white;
  padding: var(--spacing-2xl) var(--spacing-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  /* Softer curve, ends at left edge of panel without overshoot */
  clip-path: ellipse(100% 100% at 0% 50%);
}
.home-promise-green-inner {
  width: 100%;
  max-width: 460px;
  position: relative;
  z-index: 1;
  padding-inline-start: var(--spacing-lg);
}
.home-promise-green h2 {
  color: white;
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  margin: var(--spacing-sm) 0 var(--spacing-md);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.home-promise-green p {
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.75;
  font-size: 1rem;
  margin: 0 0 var(--spacing-xl);
}
.home-promise-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-md);
  padding-top: var(--spacing-md);
  border-top: 1px solid rgba(255,255,255,0.15);
}
.home-promise-stat { display: flex; flex-direction: column; gap: 2px; }
.home-promise-num {
  font-size: clamp(1.3rem, 2.2vw, 1.7rem);
  font-weight: 700;
  color: white;
}
.home-promise-stat span:last-child {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.4;
}
.home-promise-image {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-promise-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ── Instagram section (mosaic) ──────────────────────── */
.home-insta {
  padding: var(--spacing-xl) 0;
  background: white;
}

/* Header: brand block (icon + titles) on one side, CTA on the other */
.home-insta-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-xl);
  flex-wrap: wrap;
}
.home-insta-brand {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}
.home-insta-icon {
  flex-shrink: 0;
  display: inline-flex;
  padding: 10px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 24px rgba(221, 42, 123, 0.18), 0 2px 6px rgba(0,0,0,0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.home-insta-icon:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 10px 32px rgba(221, 42, 123, 0.28), 0 4px 10px rgba(0,0,0,0.08);
}
.home-insta-eyebrow { margin: 0 0 4px; text-align: start; }
.home-insta h2 {
  margin: 0;
  font-size: clamp(1.5rem, 3.5vw, 2.1rem);
}
.home-insta h2 a { color: inherit; text-decoration: none; }
.home-insta h2 a:hover { color: #DD2A7B; }
.home-insta-subtitle {
  color: var(--color-gray);
  font-size: 0.95rem;
  margin: 6px 0 0;
  text-align: start;
}

/* Mosaic grid: 4 cols × 3 rows. First tile spans 2×2. */
.home-insta-mosaic {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 10px;
  aspect-ratio: 4 / 2;
  max-width: 880px;
  margin: 0 auto;
}
.home-insta-tile {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  display: block;
  background: #f4f4f2;
}
.home-insta-tile.tile-big {
  grid-column: span 2;
  grid-row: span 2;
}
.home-insta-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.home-insta-tile:hover img { transform: scale(1.08); }

/* Engagement overlay: gradient from bottom + like/comment stats */
.home-insta-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.35) 35%, transparent 60%);
  opacity: 0;
  transition: opacity 0.35s ease;
  display: flex;
  align-items: flex-end;
  gap: 14px;
  padding: 14px 16px;
  color: #fff;
  font-weight: 600;
  font-size: 0.9rem;
  pointer-events: none;
}
.home-insta-tile:hover .home-insta-overlay { opacity: 1; }
.home-insta-stat {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.home-insta-tile.tile-big .home-insta-stat { font-size: 1.05rem; }

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 900px) {
  .home-blog-grid {
    display: flex;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 14px;
    padding-bottom: 14px;
    max-width: none;
    margin-inline: 0;
  }
  .home-blog-grid::-webkit-scrollbar { height: 4px; }
  .home-blog-grid::-webkit-scrollbar-thumb { background: var(--color-light-gray); border-radius: 2px; }
  .home-blog-card {
    flex: 0 0 72vw;
    max-width: 300px;
    min-width: 220px;
    scroll-snap-align: start;
  }
  .home-promise-inner { grid-template-columns: 1fr; }
  .home-promise-green { clip-path: ellipse(145% 100% at 50% 100%); padding: var(--spacing-xl) var(--spacing-md); }
  .home-promise-image { aspect-ratio: 16/9; }

  .home-insta-header { flex-direction: column; align-items: flex-start; }
  .home-insta-follow { align-self: stretch; text-align: center; }
  .home-insta-mosaic { gap: 8px; }
}
@media (max-width: 600px) {
  .home-promise-stats { grid-template-columns: 1fr; gap: 10px; }

  /* Simpler grid on phones, 2 cols, big tile spans both */
  .home-insta-mosaic {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    aspect-ratio: auto;
    gap: 6px;
  }
  .home-insta-tile { aspect-ratio: 1; }
  .home-insta-tile.tile-big { grid-column: span 2; grid-row: auto; aspect-ratio: 1; }
  /* Always show stats on mobile (no hover on touch) */
  .home-insta-overlay { opacity: 1; background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 45%); }

  .home-insta-brand { gap: 10px; }
  .home-insta-icon { padding: 8px; }
  .home-insta-icon svg { width: 36px; height: 36px; }
}

/* ═════════════════════════════════════════════════════
   HOMEPAGE, Companies Marquee (auto-scroll left)
   ═════════════════════════════════════════════════════ */

.home-companies {
  padding: calc(var(--spacing-lg) * 2) 0;
  background: #ffffff;
  overflow: hidden;
  position: relative;
}
.home-companies .section-header {
  margin-bottom: var(--spacing-md);
}
.home-companies .section-header h2 {
  font-size: clamp(1.4rem, 2.5vw, 1.8rem);
  margin: 0;
}
.home-companies-marquee {
  width: 100%;
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(to left, transparent 0, black 10%, black 90%, transparent 100%);
          mask-image: linear-gradient(to left, transparent 0, black 10%, black 90%, transparent 100%);
}
.home-companies-track {
  display: flex;
  align-items: center;
  gap: 60px;
  width: max-content;
  animation: marquee-left 35s linear infinite;
  padding: 24px 0;
}
.home-companies-track:hover { animation-play-state: paused; }
.home-companies-track img {
  height: 80px;
  width: 180px;          /* fixed slot width — keeps spacing perfectly even */
  max-width: 180px;
  object-fit: contain;   /* image fits inside slot, centered */
  opacity: 1;
  filter: none;
  transition: opacity 0.3s ease, filter 0.3s ease, transform 0.3s ease;
  flex-shrink: 0;
  user-select: none;
  -webkit-user-drag: none;
}
.home-companies-track img:hover {
  opacity: 1;
  filter: grayscale(0);
  transform: scale(1.08);
}

/* The animation, move left by 50% so the duplicated set creates a seamless loop.
   In RTL, we animate translateX positively to move left visually. */
@keyframes marquee-left {
  from { transform: translateX(0); }
  to   { transform: translateX(50%); }
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  .home-companies-track {
    animation-duration: 180s;
  }
}

@media (max-width: 768px) {
  .home-companies { padding: calc(var(--spacing-xl) * 1.4) 0; }
  .home-companies-track {
    gap: 36px;
    animation-duration: 25s;
    padding: 16px 0;
  }
  .home-companies-track img {
    height: 56px;
    width: 130px;
    max-width: 130px;
  }
}

/* ═════════════════════════════════════════════════════
   MOBILE — Professional Touch-first Polish
   Applied last so it wins cascade.
   ═════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* NOTE: overflow-x:hidden on html/body breaks position:sticky header.
     We prevent horizontal overflow per-section via max-width on containers instead. */
  body { overflow-x: clip; }

  input, textarea, select { font-size: 16px !important; }

  body { font-size: 15px; line-height: 1.6; }

  button, .btn, .btn-primary, .btn-outline, .btn-outline-rounded,
  .header-icon-btn, .hamburger-btn,
  .mobile-menu-close, .sidebar-close-btn, .sidebar-open-btn,
  .quantity-btn, .qty-btn,
  .filter-tag,
  .testimonials-arrow, .pots-carousel-arrow, .carousel-btn,
  .mobile-nav-toggle, .sidebar-cat-link, .sidebar-sub-link {
    min-height: 44px;
  }
  .header-icon-btn, .hamburger-btn,
  .mobile-menu-close, .sidebar-close-btn, .sidebar-open-btn,
  .testimonials-arrow, .pots-carousel-arrow, .carousel-btn,
  .quantity-btn, .qty-btn, .mobile-nav-toggle {
    min-width: 44px;
  }

  .product-card-wishlist,
  .product-card-add {
    width: 38px; height: 38px; position: relative;
  }
  .product-card-wishlist::after,
  .product-card-add::after { content: ''; position: absolute; inset: -6px; }

  .mobile-menu-close,
  .sidebar-close-btn {
    width: 44px; height: 44px; padding: 10px;
    display: inline-flex; align-items: center; justify-content: center;
  }

  main > section { padding-block: clamp(40px, 8vw, 64px); }
  .section-header { margin-bottom: clamp(20px, 4vw, 32px); }
  .section-header h2 { font-size: clamp(1.7rem, 6vw, 2.2rem); line-height: 1.2; }
  .section-subtitle { font-size: 0.85rem; letter-spacing: 0.05em; }

  p { font-size: 15px; line-height: 1.65; }
  li { font-size: 15px; }

  .container { padding-inline: 16px; }

  .hero-title { font-size: clamp(1.75rem, 7vw, 2.5rem); line-height: 1.15; }
  .hero-subtitle { font-size: 1rem; }
  .hero-cta { display: flex; flex-direction: column; gap: 10px; align-items: center; }
  .hero-cta .btn { width: 100%; max-width: 320px; }

  .categories-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; }

  .products-grid,
  .shop-main .products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px;
  }
  .product-card-body { padding: 10px 12px 12px; }
  .product-card-title { font-size: 0.9rem; line-height: 1.35; }
  .product-card-category { font-size: 0.72rem; }
  .product-card-price .price-current { font-size: 1.05rem; }
  .product-card-price .price-original { font-size: 0.8rem; }

  .sidebar-open-btn {
    display: inline-flex !important;
    align-items: center; gap: 6px;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--color-cream);
    border: 1px solid rgba(0,0,0,0.08);
    font-weight: 600; font-size: 0.9rem;
  }

  .cart-layout, .cart-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px;
  }
  .cart-layout > *, .cart-grid > * { min-width: 0 !important; max-width: 100% !important; }
  .cart-item { grid-template-columns: 80px 1fr !important; gap: 12px; }
  .cart-item-image img { width: 80px; height: 80px; }
  .cart-item-title { font-size: 0.95rem; }
  .order-summary-card { position: static !important; top: auto !important; }

  .checkout-grid,
  .checkout-layout { grid-template-columns: 1fr !important; }
  .form-row { grid-template-columns: 1fr !important; gap: 14px; }

  .form-input, .form-field, input, textarea, select {
    padding: 12px 14px;
    border-radius: 10px;
  }
  .newsletter-form, .contact-form { flex-direction: column; gap: 10px; }
  .newsletter-form .btn,
  .contact-form .btn,
  .newsletter-form button,
  .contact-form button { width: 100%; }

  .product-layout,
  .pdp-grid,
  .product-main-grid {
    grid-template-columns: 1fr !important;
    gap: 20px;
  }
  .product-title { font-size: 1.5rem; line-height: 1.25; }
  .product-price-current { font-size: 1.5rem; }
  .product-cta-row,
  .pdp-actions { flex-direction: column; gap: 10px; }
  .product-cta-row .btn,
  .pdp-actions .btn { width: 100%; }

  .about-grid,
  .contact-layout,
  .page-grid {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  .testimonials-grid { grid-template-columns: 1fr !important; }

  .faq-question, .faq-item-question {
    min-height: 56px;
    padding-block: 14px;
    font-size: 0.95rem;
  }

  .footer-grid { gap: 32px; }
  .footer-col h4 { font-size: 0.95rem; }

  .home-blog-grid {
    display: flex !important;
    grid-template-columns: unset !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
  .home-blog-card {
    flex: 0 0 80vw;
    max-width: 260px;
  }
  .blog-grid { grid-template-columns: 1fr !important; }
}

@media (hover: none) and (max-width: 768px) {
  .product-card-wishlist,
  .product-card-add { opacity: 1 !important; }
  .home-insta-overlay {
    opacity: 1;
    background: linear-gradient(to top, rgba(0,0,0,0.55), transparent 45%);
  }
}

@media (max-width: 380px) {
  .container { padding-inline: 12px; }
  .header-logo img { height: 24px !important; max-width: 140px; }
  .product-card-title { font-size: 0.85rem; }
  .section-header h2 { font-size: 1.55rem; }
  .hero-title { font-size: 1.6rem; }
}

/* Product page (pgv2) mobile refinements */
@media (max-width: 768px) {
  .pgv2-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .pgv2-thumbs {
    flex-direction: row !important;
    overflow-x: auto;
    gap: 8px;
    max-height: none !important;
    order: 2;
    padding-block: 4px;
    scrollbar-width: none;
  }
  .pgv2-thumbs::-webkit-scrollbar { display: none; }
  .pgv2-thumb {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
  }
  .pgv2-image-col {
    order: 1;
    width: 100%;
  }
  .pgv2-main-img {
    width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: contain;
  }
  .pgv2-info-col {
    order: 3;
    padding: 0 !important;
  }
  .pgv2-title, .product-title {
    font-size: 1.35rem !important;
    line-height: 1.25;
  }
  .pgv2-price { font-size: 1.6rem !important; }
  .pgv2-arr {
    min-width: 44px;
    min-height: 44px;
  }
  .pgv2-wish-float {
    width: 44px;
    height: 44px;
  }
  .pgv2-stock-row {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .pgv2-cta-row {
    flex-direction: column;
    gap: 10px;
  }
  .pgv2-cta-row > * { width: 100%; }

  /* Reviews, related, lifestyle sections */
  .pgv2-lifestyle-grid,
  .pgv2-reviews-grid,
  .pgv2-related-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  .pgv2-related-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Sticky CTA bottom bar — safe area inset respect */
  .pgv2-sticky-cta {
    padding-inline: 12px;
  }
  .pgv2-sticky-cta-btn { min-width: auto !important; flex: 1 !important; }

  /* Prevent horizontal overflow on product page */
  .single-product #primary,
  .single-product .site-main {
    overflow-x: hidden;
    max-width: 100%;
  }
}

/* Force shop sidebar drawer to work on mobile — override all other transforms */
@media (max-width: 1024px) {
  html[dir="rtl"] .shop-sidebar.open,
  [dir="rtl"] .shop-sidebar.open,
  .shop-sidebar.open {
    transform: translateX(0) !important;
    -webkit-transform: translateX(0) !important;
  }
}

/* NUCLEAR shop-sidebar fix: don't use transform; use right positioning */
@media (max-width: 1024px) {
  [dir="rtl"] .shop-sidebar,
  .shop-sidebar {
    transform: none !important;
    -webkit-transform: none !important;
    transition: right 0.3s ease !important;
  }
  [dir="rtl"] .shop-sidebar {
    right: -280px !important;
    left: auto !important;
  }
  [dir="rtl"] .shop-sidebar.open,
  .shop-sidebar.open {
    right: 0 !important;
    left: auto !important;
    transform: none !important;
  }
}

/* ULTRA specific fallback for drawer — higher specificity than any prior rule */
@media (max-width: 1024px) {
  html body aside.shop-sidebar.open,
  html[dir="rtl"] body aside.shop-sidebar.open,
  html body .shop-sidebar.open {
    right: 0 !important;
    left: auto !important;
    transform: none !important;
  }
}

/* ═════════════════════════════════════════════════════
   FORMS — Unified "Olive Curve" design
   Cream top with curved dark-olive panel, pill-outlined
   white inputs, rounded white submit button.
   ═════════════════════════════════════════════════════ */
.form-olive {
  position: relative;
  background: var(--color-cream);
  border-radius: 24px;
  overflow: hidden;
  max-width: 560px;
  margin-inline: auto;
}
.form-olive-intro {
  padding: 36px 32px 48px;
  text-align: center;
  color: var(--color-primary);
}
.form-olive-intro h2 {
  font-size: clamp(1.6rem, 4vw, 2rem);
  line-height: 1.15;
  margin: 0 0 14px;
  font-weight: 700;
}
.form-olive-intro p {
  margin: 0;
  color: rgba(48,56,39,0.72);
  line-height: 1.6;
  font-size: 0.95rem;
}
.form-olive-panel {
  background: var(--color-primary);
  color: #fff;
  padding: 64px 32px 40px;
  position: relative;
  border-top-left-radius: 60% 60px;
  border-top-right-radius: 60% 60px;
  margin-top: -40px;
}
.form-olive-panel form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 440px;
  margin-inline: auto;
}
.form-olive-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.form-olive-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-olive-field > label {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.75);
  font-weight: 500;
  padding-inline-start: 18px;
  text-align: start;
}
.form-olive-field > input,
.form-olive-field > textarea,
.form-olive-field > select,
.form-olive-panel input,
.form-olive-panel textarea,
.form-olive-panel select {
  width: 100%;
  background: transparent;
  border: 1.5px solid rgba(255,255,255,0.5);
  border-radius: 999px;
  padding: 11px 18px;
  color: #fff;
  font-family: inherit;
  font-size: 16px;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.form-olive-panel textarea {
  border-radius: 20px;
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
}
.form-olive-panel select {
  appearance: none;
  background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='1,1.5 6,6.5 11,1.5'/></svg>") no-repeat left 18px center;
  padding-inline-end: 38px;
}
.form-olive-panel input::placeholder,
.form-olive-panel textarea::placeholder {
  color: rgba(255,255,255,0.55);
}
.form-olive-panel input:focus,
.form-olive-panel textarea:focus,
.form-olive-panel select:focus {
  border-color: #fff;
  background: rgba(255,255,255,0.06);
}
.form-olive-submit {
  align-self: flex-start;
  padding: 12px 40px;
  background: #fff;
  color: var(--color-primary);
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
  min-height: 44px;
  min-width: 120px;
}
.form-olive-submit:hover { background: var(--color-cream); transform: translateY(-1px); }
.form-olive-submit:disabled { opacity: 0.7; cursor: default; transform: none; }

/* Newsletter compact variant — no intro, just a pill + button */
.form-olive--compact {
  max-width: 520px;
}
.form-olive--compact .form-olive-panel {
  padding: 32px 24px 28px;
  border-top-left-radius: 60% 40px;
  border-top-right-radius: 60% 40px;
}
.form-olive--compact .form-olive-inline {
  display: flex;
  gap: 10px;
  align-items: stretch;
}
.form-olive--compact .form-olive-inline input {
  flex: 1;
}
.form-olive--compact .form-olive-submit {
  align-self: stretch;
  padding: 0 28px;
}

@media (max-width: 540px) {
  .form-olive-row { grid-template-columns: 1fr; }
  .form-olive-intro { padding: 28px 22px 36px; }
  .form-olive-panel { padding: 54px 22px 30px; }
  .form-olive--compact .form-olive-inline { flex-direction: column; }
}

/* Form status message (after submit) */
.form-olive-status {
  text-align: center;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,0.12);
  color: #fff;
  font-size: 0.95rem;
  margin-top: 14px;
  display: none;
}
.form-olive-status.success { display: block; background: rgba(255,255,255,0.2); }
.form-olive-status.error { display: block; background: rgba(220,80,80,0.25); }

/* Pot card: exempt add button from 44x44 rule, keep circular 36x36 */
@media (max-width: 768px) {
  .pot-card-add {
    min-height: 36px !important;
    min-width: 36px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    position: relative;
  }
  /* Invisible tap extender so effective touch area is 44x44 */
  .pot-card-add::after {
    content: '';
    position: absolute;
    inset: -4px;
  }
  /* Pot card image — keep cream radial, no white box */
  .pot-card { background: transparent !important; }
  .pot-card-image {
    background: radial-gradient(ellipse 62% 55% at center 58%, #f2ebdc 0%, #f5efe2 45%, transparent 72%) !important;
  }
}

/* Lead-capture form extras */
.form-olive-actions {
  display: flex;
  justify-content: center;
  margin-top: 8px;
}
.form-olive-submit--cta { padding: 12px 48px; }
.form-olive-consent {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.85);
  font-size: 0.9rem;
  justify-content: center;
  cursor: pointer;
  padding-block: 6px;
}
.form-olive-consent input[type="checkbox"] {
  width: 16px; height: 16px;
  accent-color: #fff;
  margin: 0;
}
.form-olive-note {
  color: rgba(255,255,255,0.7);
  font-size: 0.85rem;
  line-height: 1.6;
  text-align: center;
  margin: 10px 0 0;
  padding-inline: 8px;
}

/* ═════════════════════════════════════════════════════
   FOOTER — Desktop restructure (2026-04-19)
   Brand+Newsletter on LEFT, 3 text cols on RIGHT,
   Payment logos under contact column.
   ═════════════════════════════════════════════════════ */
/* Desktop: 4 columns — brand is last (LEFT in RTL) */
footer.footer .footer-grid.footer-grid-v2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1.2fr 1.8fr !important;
  gap: 40px !important;
  align-items: start;
}
/* Visually move brand to end via order */
footer.footer .footer-grid.footer-grid-v2 > .footer-brand { order: 99 !important; }

/* Brand name — uses site font (FbBooster) with serif-like scale */
.footer-brand-name {
  font-family: var(--font-hebrew);
  font-size: clamp(1.9rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--color-primary);
}
.footer-brand-sub {
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: rgba(48,56,39,0.6);
  margin-top: 4px;
  letter-spacing: 0.04em;
}

/* Payment logos row — move INSIDE the contact column area */
.footer-payment {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

@media (max-width: 992px) {
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
  footer.footer .footer-grid.footer-grid-v2 > .footer-brand { order: 0 !important; grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr !important;
  }
}

/* ═════════════════════════════════════════════════════
   HEADER — sticky works now (no overflow-x ancestor)
   Defensive: also add position:sticky on mobile with !important
   ═════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
  }
}

/* Footer bottom — centered logo + payment logos */
.footer-logo-center {
  text-align: center;
  padding: 24px 0 16px;
}
.footer-logo-center img {
  height: 44px;
  width: auto;
  opacity: 0.9;
}
.footer-payment.footer-payment-center {
  justify-content: center;
  margin: 0 auto 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
@media (max-width: 600px) {
  .footer-logo-center img { height: 36px; }
  .footer-payment.footer-payment-center { gap: 10px; }
  .footer-payment.footer-payment-center img { height: 22px; }
}

/* Keep the footer-brand column but without the text-brand leftover */
.footer-brand { padding-top: 4px; }

/* Footer brand column — logo on top, newsletter, then payments */
.footer-brand-logo {
  margin-bottom: 14px;
}
.footer-brand-logo img {
  height: 40px;
  width: auto;
  display: block;
}
.footer-newsletter-payments {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,0.06);
}
.footer-newsletter-payments img {
  height: 22px;
  width: auto;
  opacity: 0.9;
  transition: opacity 0.2s ease;
}
.footer-newsletter-payments img:hover { opacity: 1; }

@media (max-width: 600px) {
  .footer-brand-logo img { height: 32px; }
  .footer-newsletter-payments img { height: 20px; }
}

/* ═════════════════════════════════════════════════════
   FOOTER — Professional polish (2026-04-19)
   Tighter rhythm, balanced columns, premium feel
   ═════════════════════════════════════════════════════ */

/* Overall footer — softer cream, refined padding */
.footer {
  padding-top: 72px !important;
  padding-bottom: 24px !important;
  background: var(--color-cream) !important;
}

/* Grid: more balanced columns, larger gap for breathing room */
footer.footer .footer-grid.footer-grid-v2 {
  grid-template-columns: 1fr 1fr 1.2fr 1.6fr !important;
  gap: 56px !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid rgba(48,56,39,0.10) !important;
}

/* Column headers (h4) — smaller, refined, spaced */
.footer-col h4,
.footer-contact-col h4 {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 18px;
  letter-spacing: 0.02em;
}

/* Links — lighter, more professional weight */
.footer-links-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links-list li {
  margin-bottom: 10px;
}
.footer-links-list a {
  color: rgba(48,56,39,0.72);
  font-size: 0.88rem;
  text-decoration: none;
  font-weight: 400;
  transition: color 0.2s ease;
  position: relative;
  /* padding-inline-start removed — no bullet marker to clear for any more */
}
.footer-links-list a::before {
  /* Bullet '•' removed — owner saw the dot on mobile and didn't want any
     list marker in the footer map. Leaving the rule here as a null so
     earlier triangle rules cannot reintroduce a character through cascade. */
  content: none;
}
.footer-links-list a:hover {
  color: var(--color-primary);
}

/* Contact items — consistent icon/text rhythm */
.footer-contact-info {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(48,56,39,0.75);
  font-size: 0.88rem;
  line-height: 1.5;
}
.footer-contact-item a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer-contact-item a:hover { color: var(--color-primary); }
.footer-contact-item .icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(48,56,39,0.5);
  margin-top: 2px;
}
.footer-contact-hours {
  align-items: flex-start;
}
.footer-hours-stack {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.footer-hours-stack small {
  color: rgba(48,56,39,0.55);
  font-size: 0.75rem;
  margin-top: 4px;
}

/* Brand column — tighter */
.footer-brand-logo {
  margin-bottom: 18px;
}
.footer-brand-logo img {
  height: 42px;
}
.footer-newsletter-title {
  font-size: 0.88rem;
  color: rgba(48,56,39,0.75);
  margin: 0 0 14px;
  line-height: 1.5;
}

/* Newsletter inputs — premium pill style */
.footer-newsletter-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
  margin-bottom: 12px;
}
.footer-newsletter-input {
  flex: 1;
  padding: 12px 18px;
  border: 1px solid rgba(48,56,39,0.20);
  border-radius: 999px;
  background: #fff;
  font-size: 0.9rem;
  font-family: var(--font-hebrew);
  color: var(--color-primary);
  outline: none;
  transition: border-color 0.2s ease;
}
.footer-newsletter-input:focus { border-color: var(--color-primary); }
.footer-newsletter-input::placeholder { color: rgba(48,56,39,0.4); }

.footer-newsletter-submit {
  padding: 12px 26px;
  background: var(--color-primary);
  color: #fff;
  border: 0;
  border-radius: 999px;
  font-family: var(--font-hebrew);
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease;
}
.footer-newsletter-submit:hover { background: #1f2618; }

.footer-newsletter-consent {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(48,56,39,0.6);
  font-size: 0.78rem;
  cursor: pointer;
  padding-block: 2px;
}
.footer-newsletter-consent input { margin: 0; }

/* Payments row — tighter, refined */
.footer-newsletter-payments {
  margin-top: 14px;
  padding-top: 0;
  border-top: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.footer-newsletter-payments img {
  height: 20px;
  width: auto;
  opacity: 0.85;
  transition: opacity 0.2s ease;
}
.footer-newsletter-payments img:hover { opacity: 1; }

/* Footer bottom — minimal copyright */
.footer-bottom {
  padding-top: 8px;
  padding-bottom: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 0;
}
.footer-copyright {
  color: rgba(48,56,39,0.55);
  font-size: 0.78rem;
  margin: 0;
  text-align: center;
}
.footer-copyright a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer-copyright a:hover { color: var(--color-primary); text-decoration: underline; }

/* Responsive */
@media (max-width: 1024px) {
  footer.footer .footer-grid.footer-grid-v2 {
    gap: 40px !important;
  }
}
@media (max-width: 992px) {
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px !important;
  }
  footer.footer .footer-grid.footer-grid-v2 > .footer-brand {
    order: 0 !important;
    grid-column: 1 / -1;
    padding-bottom: 8px;
    border-bottom: 0;
    margin-bottom: 4px;
  }
}
@media (max-width: 600px) {
  .footer { padding-top: 48px !important; }
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .footer-col h4 { font-size: 0.9rem; margin-bottom: 12px; }
  .footer-newsletter-row { flex-direction: column; }
  .footer-newsletter-submit { width: 100%; }
}

/* ═════════════════════════════════════════════════════
   SHOP — Mobile polish (toolbar + products grid)
   ═════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Toolbar — clean 2-row layout: [Filter btn] [Sort dropdown] / [count] */
  .shop-toolbar {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "filter sort"
      "count count";
    gap: 10px 12px !important;
    align-items: center;
    padding: 14px 14px !important;
    background: #fff;
    border-radius: 14px;
    margin-bottom: 14px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    font-size: 0.9rem !important;
  }
  .shop-toolbar .toolbar-left {
    grid-area: filter;
    display: contents;
  }
  .shop-toolbar .sidebar-open-btn {
    grid-area: filter;
    padding: 10px 20px !important;
    font-size: 0.9rem !important;
    min-height: 42px;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    border-radius: 999px !important;
    background: var(--color-primary) !important;
    color: #fff !important;
    border: 0 !important;
    font-weight: 600 !important;
  }
  .shop-toolbar .sidebar-open-btn svg { stroke: #fff; }
  .shop-toolbar .shop-count {
    grid-area: count;
    font-size: 0.82rem;
    color: rgba(48,56,39,0.7);
    text-align: center;
    line-height: 1.4;
  }
  .shop-toolbar .toolbar-right {
    grid-area: sort;
    display: flex;
    align-items: center;
    gap: 6px;
    justify-self: end;
  }
  .shop-toolbar .filter-label {
    font-size: 0.82rem;
    color: rgba(48,56,39,0.65);
    white-space: nowrap;
  }
  .shop-toolbar .sort-select {
    padding: 10px 36px 10px 18px !important;
    min-height: 42px;
    font-size: 0.9rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(48,56,39,0.18) !important;
    background-color: #fff !important;
    min-width: 140px;
  }

  /* Subcategory pills — compact scroll */
  .subcat-pills-wrap { padding-block: 8px !important; }
  .subcat-pills {
    gap: 10px !important;
    padding: 0 12px !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .subcat-pills::-webkit-scrollbar { display: none; }
  .subcat-pill {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  .subcat-pill-icon {
    width: 58px !important;
    height: 58px !important;
  }
  .subcat-pill-label {
    font-size: 0.78rem !important;
  }

  /* Products grid — tight 2-col with consistent cards */
  .products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    padding: 0 !important;
  }
  .product-card {
    border-radius: 0 !important;
    overflow: visible;
    background: transparent !important;
  }
  .product-card-image {
    aspect-ratio: 1 / 1 !important;
    overflow: visible;
    background: transparent !important;
  }
  .product-card-image img {
    width: auto !important;
    height: auto !important;
    max-width: 88% !important;
    max-height: 130% !important;
    object-fit: contain !important;
  }
  .product-card-body {
    padding: 10px 12px 12px !important;
  }
  .product-card-title {
    font-size: 0.88rem !important;
    line-height: 1.35 !important;
    min-height: 2.7em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .product-card-category { font-size: 0.72rem !important; margin-bottom: 3px; }
  .product-card-rating { margin-block: 4px; }
  .product-card-rating .stars { font-size: 12px; }
  .product-card-rating .rating-count { font-size: 11px; }
  .product-card-price { margin-top: 4px; }
  .product-card-price .price-current { font-size: 1rem !important; font-weight: 700; }
  .product-card-price .price-original { font-size: 0.78rem !important; }
  .product-card-price .price-discount { font-size: 0.72rem !important; }

  /* Wishlist + Add buttons — refined size */
  .product-card-wishlist,
  .product-card-add {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }
  .product-card-wishlist { top: 8px !important; right: 8px !important; }
  .product-card-add { bottom: 8px !important; right: 8px !important; width: 36px !important; height: 36px !important; }
  .product-card-badge {
    font-size: 0.7rem !important;
    padding: 3px 8px !important;
  }
}

@media (max-width: 380px) {
  .shop-toolbar {
    padding: 12px !important;
    gap: 8px !important;
  }
  .shop-toolbar .sidebar-open-btn { padding: 9px 16px !important; font-size: 0.85rem !important; }
  .shop-toolbar .sort-select { min-width: 120px; font-size: 0.85rem !important; }
  .products-grid { gap: 8px !important; }
  .product-card-body { padding: 8px 10px 10px !important; }
  .product-card-title { font-size: 0.82rem !important; }
}

/* ═════════════════════════════════════════════════════
   FOOTER — Newsletter strip at bottom (full width)
   ═════════════════════════════════════════════════════ */

/* Grid: brand is just the logo column now, not dominant */
footer.footer .footer-grid.footer-grid-v2 {
  grid-template-columns: 0.6fr 1fr 1fr 1.2fr !important;
  gap: 48px !important;
}
footer.footer .footer-grid.footer-grid-v2 > .footer-brand { order: 99 !important; }
.footer-brand {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}
.footer-brand-logo img {
  height: 56px;
  width: auto;
}

/* Newsletter strip — full width across footer */
.footer-newsletter-strip {
  margin-top: 32px;
  padding: 28px 0 24px;
  border-top: 1px solid rgba(48,56,39,0.10);
}
.footer-newsletter-strip-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.footer-newsletter-strip-text { flex: 1; min-width: 220px; }
.footer-newsletter-strip-text h4 {
  margin: 0 0 4px;
  font-size: 1.05rem;
  color: var(--color-primary);
  font-weight: 700;
}
.footer-newsletter-strip-text p {
  margin: 0;
  color: rgba(48,56,39,0.65);
  font-size: 0.88rem;
  line-height: 1.5;
}

.footer-newsletter-form-bottom {
  flex: 1;
  min-width: 300px;
  max-width: 520px;
}
.footer-newsletter-form-bottom .footer-newsletter-row {
  margin-bottom: 8px;
}
.footer-newsletter-form-bottom .footer-newsletter-consent {
  margin-top: 2px;
}

.footer-newsletter-status {
  font-size: 0.85rem;
  color: var(--color-primary);
  margin-top: 8px;
  min-height: 20px;
  font-weight: 500;
}
.footer-newsletter-status.success { color: #2d7a3e; }
.footer-newsletter-status.error { color: #c23b3b; }

/* Scroll-to-top: position ABOVE accessibility widget (left side) */
.scroll-top-btn {
  bottom: calc(var(--spacing-lg) + 64px) !important;
  left: var(--spacing-lg) !important;
  right: auto !important;
}

/* Tighten footer button/form spacing in mobile */
@media (max-width: 992px) {
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr 1fr !important;
  }
  .footer-newsletter-strip-inner { flex-direction: column; align-items: stretch; text-align: center; }
  .footer-newsletter-strip-text { min-width: 0; }
  .footer-newsletter-form-bottom { max-width: 100%; min-width: 0; width: 100%; }
}
@media (max-width: 600px) {
  .footer-newsletter-row { gap: 6px !important; }
  .footer-newsletter-input { padding: 10px 14px !important; }
  .footer-newsletter-submit { padding: 10px 18px !important; font-size: 0.88rem !important; }
  .scroll-top-btn { bottom: calc(var(--spacing-md) + 60px) !important; left: var(--spacing-md) !important; }
}

/* ═════════════════════════════════════════════════════
   FIXES 2026-04-19 (part 2)
   1. Newsletter strip — remove extra horizontal lines
   2. Product cards mobile — restore blob/desktop look
   3. Move blob lower (cream circle at bottom of image)
   ═════════════════════════════════════════════════════ */

/* Newsletter strip: single clean top-border only */
.footer-newsletter-strip {
  border-top: 1px solid rgba(48,56,39,0.10) !important;
  padding: 28px 0 16px !important;
  margin-top: 28px !important;
}
/* Remove any borders inside the newsletter-payments row */
.footer-newsletter-payments,
.footer-newsletter-form-bottom .footer-newsletter-payments {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 12px !important;
}
/* Ensure strip inner doesn't have stray lines */
.footer-newsletter-strip hr { display: none; }

/* Add payment logos BELOW the newsletter form */
.footer-newsletter-strip-payments {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(48,56,39,0.08);
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: center;
}
.footer-newsletter-strip-payments img {
  height: 22px;
  width: auto;
  opacity: 0.85;
}

/* Blob sits LOW, product floats above it */
.product-card-image {
  background: transparent !important;
  background-image: none !important;
  border-radius: 0;
}
/* Product PNGs have white bg baked in — blend it out */
.product-card-image img,
.pot-card-image img {
  mix-blend-mode: normal;
}

/* Mobile: transparent bg (blob via ::before from main rule) */
@media (max-width: 768px) {
  .product-card-image {
    aspect-ratio: 1 !important;
    overflow: visible !important;
    background: transparent !important;
    background-image: none !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
  }
  .pot-card-image {
    background-color: transparent !important;
    border-radius: 0 !important;
  }
  .product-card-image img {
    width: auto !important;
    height: auto !important;
    max-width: 88% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    mix-blend-mode: normal;
  }
  .product-card {
    background: transparent !important;
    border-radius: 0 !important;
    text-align: center !important;
    padding: 4px !important;
  }
  .product-card-body {
    padding: 6px 6px 10px !important;
    background: transparent !important;
  }
  .product-card-title {
    font-size: 0.88rem !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
  }
  .product-card-category { font-size: 0.72rem !important; color: rgba(48,56,39,0.6); }
  .product-card-rating { justify-content: center !important; }
  .product-card-price {
    margin-top: 6px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }
  /* Add button — small circle on the card */
  .product-card-add {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 50% !important;
    bottom: auto !important;
    position: static !important;
    margin-top: 4px;
  }
  .product-card-wishlist {
    top: 6px !important;
    right: 6px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
}

/* Hamburger button visibility — ensure high contrast on mobile */
@media (max-width: 768px) {
  .hamburger-btn {
    display: flex !important;
    background: transparent !important;
    border: 1px solid rgba(48,56,39,0.18) !important;
    border-radius: 8px !important;
    padding: 8px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }
  .hamburger-btn span {
    background: var(--color-primary) !important;
    height: 2.5px !important;
    width: 20px !important;
    display: block !important;
    margin: 2px 0;
  }
}

/* ═════════════════════════════════════════════════════
   FOOTER — Final layout per user image (2026-04-19)
   Brand column: name + tagline + newsletter + payments
   4-col grid: [mapa] [discover] [contact] [BRAND]
   ═════════════════════════════════════════════════════ */

/* Grid: brand is WIDEST, on LEFT (last via order) */
footer.footer .footer-grid.footer-grid-v2 {
  grid-template-columns: 1fr 1fr 1fr 1.7fr !important;
  gap: 56px !important;
}
footer.footer .footer-grid.footer-grid-v2 > .footer-brand {
  order: 99 !important;
  padding-top: 0;
}

/* Brand text — serif-ish logotype scale (uses site FbBooster font) */
.footer-brand-name {
  font-size: clamp(2rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-primary);
  letter-spacing: -0.01em;
  font-style: italic;
  margin-bottom: 2px;
}
.footer-brand-sub {
  font-size: 0.95rem;
  color: rgba(48,56,39,0.6);
  font-style: italic;
  letter-spacing: 0.04em;
  margin: 0 0 22px;
}

/* Newsletter title */
.footer-newsletter-title {
  font-size: 0.88rem;
  color: rgba(48,56,39,0.72);
  margin: 0 0 14px;
  line-height: 1.5;
}

/* Newsletter form row */
.footer-newsletter-form { max-width: 420px; }
.footer-newsletter-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
  margin-bottom: 10px;
}
.footer-newsletter-input {
  flex: 1;
  padding: 12px 20px !important;
  border: 1px solid rgba(48,56,39,0.18) !important;
  border-radius: 999px !important;
  background: #fff;
  font-size: 0.9rem;
  outline: none;
}
.footer-newsletter-input:focus { border-color: var(--color-primary) !important; }
.footer-newsletter-submit {
  padding: 12px 26px !important;
  background: var(--color-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.footer-newsletter-submit:hover { background: #1f2618 !important; }

.footer-newsletter-consent {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(48,56,39,0.65);
  font-size: 0.8rem;
  cursor: pointer;
  margin-top: 4px;
}
.footer-newsletter-consent input { margin: 0; accent-color: var(--color-primary); }

/* Payments row BELOW newsletter — no extra border for cleanliness */
.footer-newsletter-payments {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 20px;
  padding-top: 0;
  border: 0;
}
.footer-newsletter-payments img {
  height: 22px;
  width: auto;
  opacity: 0.85;
  transition: opacity 0.2s ease;
}
.footer-newsletter-payments img:hover { opacity: 1; }

/* Hide the old strip if any leftover */
.footer-newsletter-strip,
.footer-newsletter-strip-payments { display: none !important; }

/* Hamburger: hidden on desktop, only visible on mobile */
@media (min-width: 769px) {
  .hamburger-btn { display: none !important; }
}

/* Mobile menu full-screen overlay styles defined earlier in this file */

/* Mobile hero cleanup: hide trust strip + secondary CTA, shrink cream area */
@media (max-width: 768px) {
  .hero-trust { display: none !important; }
  .hero-btn-outline { display: none !important; }
  .hero-ctas { justify-content: center !important; }

  /* Hero sized to content: olive panel hugs text+btn, image snug below */
  .hero { min-height: 620px !important; height: 620px !important; }
  .hero-panel { height: 340px !important; top: 0 !important; width: 100% !important; left: 0 !important; right: 0 !important; }
  .hero-image {
    height: 320px !important;
    width: 96% !important;
    max-width: 420px !important;
    bottom: 22px !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    transform: translateX(-50%) !important;
    animation: none !important;
    transition: none !important;
  }
  .hero-image img { object-position: center bottom; object-fit: contain; }
  /* Keep hero crossfade slideshow running on mobile too */
  .hero-slide { transition: opacity 1.2s ease-in-out; }

  /* Hamburger: clean, borderless, pro look */
  .hamburger-btn {
    flex-direction: column !important;
    gap: 5px !important;
    padding: 0 !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease;
  }
  .hamburger-btn:hover,
  .hamburger-btn:focus-visible { background: rgba(48,56,39,0.06) !important; }
  .hamburger-btn:active { background: rgba(48,56,39,0.1) !important; }
  .hamburger-btn span {
    width: 22px !important;
    height: 2px !important;
    flex: 0 0 auto !important;
    background: var(--color-primary) !important;
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.2s ease;
  }
  .hamburger-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger-btn.open span:nth-child(2) { opacity: 0; }
  .hamburger-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Product "+" add-to-cart button: bigger and clearer on mobile */
  .product-card-add {
    width: 40px !important;
    height: 40px !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    box-shadow: 0 4px 10px rgba(48,56,39,0.18);
  }
}

/* Footer: tighter gap between columns */
footer.footer .footer-grid.footer-grid-v2 {
  gap: 32px !important;
  grid-template-columns: 1fr 1fr 1fr 1.4fr !important;
}

/* Mobile: move brand/newsletter column AFTER contact column
   (override earlier rules that reset order to 0) */
@media (max-width: 992px) {
  body footer.footer .footer-grid.footer-grid-v2 > .footer-brand,
  footer.footer .footer-grid.footer-grid-v2 > .footer-brand {
    order: 99 !important;
    grid-column: 1 / -1 !important;
  }
}

/* Mobile: tighten vertical spacing between footer columns + items */
@media (max-width: 768px) {
  body footer.footer .footer-grid.footer-grid-v2,
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 18px !important;
  }
  footer.footer .footer-grid.footer-grid-v2 > .footer-col.footer-contact-col,
  footer.footer .footer-grid.footer-grid-v2 > .footer-brand {
    grid-column: 1 / -1 !important;
  }
  footer.footer .footer-grid.footer-grid-v2 > .footer-col:not(.footer-contact-col) {
    grid-column: span 1 !important;
  }
  footer.footer .footer-col { padding: 0 16px; }
  footer.footer .footer-col h4 {
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
  }
  footer.footer .footer-links-list li,
  footer.footer .footer-contact-list > li {
    margin-bottom: 4px !important;
  }
  footer.footer .footer-links-list a,
  footer.footer .footer-contact-item {
    padding: 4px 0 !important;
    line-height: 1.3 !important;
  }
  footer.footer .footer-bottom { padding-bottom: 14px !important; }
}

/* Mobile brand/newsletter polish */
@media (max-width: 768px) {
  footer.footer .footer-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    padding: 20px 16px 0 !important;
  }
  footer.footer .footer-brand > * { width: 100%; max-width: 100%; }
  footer.footer .footer-brand-logo {
    display: block !important;
    width: auto !important;
    max-width: 320px !important;
    margin: 0 auto 8px !important;
    text-align: center;
    line-height: 0 !important;
    overflow: visible !important;
    height: auto !important;
  }
  footer.footer .footer-brand-logo img {
    display: block !important;
    width: auto !important;
    height: 32px !important;
    max-height: 32px !important;
    margin: 0 auto !important;
    object-fit: contain;
  }
  footer.footer .footer-brand { padding-top: 36px !important; margin-top: 0 !important; }
  footer.footer .footer-grid.footer-grid-v2 { gap: 14px 18px !important; }
  footer.footer .footer-col.footer-contact-col ul > li.footer-social { display: none !important; }
  footer.footer .footer-col.footer-contact-col { padding-bottom: 0 !important; margin-bottom: 0 !important; }
  footer.footer .footer-col.footer-contact-col > ul { margin-bottom: 0 !important; padding-bottom: 0 !important; }
  footer.footer .footer-newsletter-input {
    direction: rtl !important;
    text-align: right !important;
  }
  footer.footer .footer-newsletter-consent { margin-top: 6px !important; margin-bottom: 0 !important; }
  footer.footer .footer-newsletter { text-align: center; }
  footer.footer .footer-newsletter-title {
    font-size: 12.5px !important;
    white-space: nowrap;
    margin: 0 0 12px !important;
    text-align: center;
  }
  footer.footer .footer-newsletter-form {
    max-width: 340px;
    margin: 0 auto !important;
  }
  footer.footer .footer-newsletter-consent { justify-content: center; }
  footer.footer .footer-newsletter-payments {
    justify-content: center !important;
    gap: 14px !important;
    margin: 14px auto 4px !important;
    padding: 0 !important;
    border: 0 !important;
  }
  footer.footer .footer-newsletter-payments img { height: 20px !important; }

  /* Remove divider line under payment icons / above copyright + tighten bottom */
  footer.footer .footer-bottom {
    border-top: 0 !important;
    padding: 4px 0 10px !important;
    margin-top: 0 !important;
  }
  footer.footer .footer-newsletter-payments {
    margin: 10px auto 2px !important;
  }
  footer.footer .footer-copyright {
    font-size: 11px !important;
    margin: 0 !important;
    line-height: 1.5;
  }
}

/* Brand logo — vector SVG, no whitespace to crop. Previous rules tried to crop a
   4500×4500 PNG with overflow:hidden + negative margins; with the horizontal SVG
   those tricks are counter-productive, so we reset them here with clean sizing. */
footer.footer .footer-grid.footer-grid-v2 > .footer-brand { padding-top: 20px !important; }
.footer-brand-logo {
  display: inline-block;
  margin: 0 0 16px;
  line-height: 0;
}
.footer-brand-logo img {
  height: 40px;
  width: auto;
  display: block;
  object-fit: contain;
  margin-inline-start: 0;
}

/* Desktop: stack logo above newsletter, centered inside brand column */
@media (min-width: 993px) {
  footer.footer .footer-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
  }
  footer.footer .footer-brand-logo {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto 14px !important;
    overflow: visible !important;
    height: auto !important;
    line-height: 0 !important;
  }
  footer.footer .footer-brand-logo img {
    display: block !important;
    width: auto !important;
    height: 44px !important;
    max-height: 44px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
  footer.footer .footer-newsletter {
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }
}
@media (max-width: 600px) {
  footer.footer .footer-grid.footer-grid-v2 > .footer-brand { padding-top: 36px !important; }
}

@media (max-width: 992px) {
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px !important;
  }
  footer.footer .footer-grid.footer-grid-v2 > .footer-brand {
    order: 0 !important;
    grid-column: 1 / -1;
  }
  .footer-newsletter-form { max-width: 100%; }
}
@media (max-width: 600px) {
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr !important;
  }
  .footer-newsletter-row { flex-direction: column; }
  .footer-newsletter-submit { width: 100%; }
  .footer-newsletter-payments { justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════════
   PREMIUM POLISH — luxury animations (Apple-style)
   ══════════════════════════════════════════════════════════════════ */

/* 1. Hero CTA — subtle breathing glow */
@keyframes heroBtnGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245, 240, 232, 0.35), 0 6px 18px rgba(0,0,0,0.12); }
  50%      { box-shadow: 0 0 0 14px rgba(245, 240, 232, 0), 0 8px 24px rgba(0,0,0,0.18); }
}
.hero-btn { animation: heroBtnGlow 3.6s ease-in-out infinite; }
.hero-btn:hover { animation-play-state: paused; }

/* Ken Burns removed per request — hero images are static (no zoom) */

/* 3. Product cards — premium hover */
.product-card {
  transition:
    transform 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}
.product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px -12px rgba(48, 56, 39, 0.18), 0 4px 12px rgba(48, 56, 39, 0.06);
}
.product-card-image {
  transition: background-size 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.product-card:hover .product-card-image {
  background-size: 96% 74% !important;
}

/* 4. Category cards — subtle lift + image zoom */
.category-card {
  transition:
    transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}
.category-card-img {
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.category-card:hover { transform: translateY(-4px); }
.category-card:hover .category-card-img { transform: scale(1.06); }

/* 5. Nav links — underline slide-in from center */
.nav-link {
  position: relative;
}
.nav-link::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--color-primary);
  transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1), left 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.nav-item:hover > .nav-link::after,
.nav-link:focus-visible::after {
  width: 70%;
  left: 15%;
}

/* 6. Buttons — subtle lift + shine sweep on primary */
.btn-primary, .form-olive-submit, .btn-outline-white {
  position: relative;
  overflow: hidden;
  transition:
    transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-primary:hover, .form-olive-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -8px rgba(48, 56, 39, 0.35);
}
.btn-primary::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
  transition: left 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.btn-primary:hover::before { left: 150%; }

/* 7. Sticky header polish — solid background morph on scroll */
.header { transition: background-color 0.4s ease, box-shadow 0.4s ease, backdrop-filter 0.4s ease; }
body .header.is-scrolled {
  background: rgba(245, 240, 232, 0.92) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
  box-shadow: 0 2px 18px rgba(48, 56, 39, 0.08) !important;
}

/* 8. Images — blur-up lazy load (requires img.loading="lazy") */
img[loading="lazy"]:not([src=""]) {
  transition: filter 0.6s ease, opacity 0.6s ease;
}

/* 9. Decorative floating (optional hook — add class to any decorative element) */
@keyframes gentleFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}
.float-gentle { animation: gentleFloat 6s ease-in-out infinite; }

/* 10. Page enter — body fades in on load */
body { animation: pageEnter 0.6s ease-out both; }
@keyframes pageEnter {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Reduced motion — kill animations */
@media (prefers-reduced-motion: reduce) {
  .hero-btn, .hero-slide, .float-gentle, body { animation: none !important; }
  .product-card, .category-card, .category-card-img, .nav-link::after, .btn-primary, .btn-primary::before { transition: none !important; }
}

/* ══════════════════════════════════════════════════════════════════
   PREMIUM PLUS — feminine luxury layer (gated by body.premium-plus)
   Revert: remove class from <body> or run togglePremiumPlus() in console
   ══════════════════════════════════════════════════════════════════ */

.cursor-glow {
  position: absolute;
  top: 0; left: 0;
  width: 380px; height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 240, 232, 0.22) 0%, rgba(245, 240, 232, 0) 65%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease;
  mix-blend-mode: screen;
  z-index: 1;
  will-change: transform;
}

body.premium-plus .product-card,
body.premium-plus .category-card {
  transform-style: preserve-3d;
  transition:
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

body.premium-plus .hero-btn,
body.premium-plus .form-olive-submit {
  transition:
    transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    background 0.3s ease,
    box-shadow 0.3s ease;
}

.scroll-progress {
  position: fixed;
  top: 0; right: 0;
  height: 2px;
  width: 0;
  background: linear-gradient(90deg, var(--color-primary), var(--color-olive));
  z-index: 9999;
  transition: width 0.1s ease-out;
  pointer-events: none;
}

body.premium-plus .testimonials-blob,
body.premium-plus .pots-story-blob,
body.premium-plus [data-parallax] {
  will-change: transform;
}
body.premium-plus .hero-image {
  transform: translateX(-50%) !important;
}

.word-reveal {
  display: inline-block;
  opacity: 0;
  transform: translateY(18px);
  filter: blur(6px);
  transition:
    opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--word-i, 0) * 0.12s);
}
.words-in .word-reveal {
  opacity: 1;
  transform: none;
  filter: blur(0);
}

body.premium-plus .form-olive-field input:focus,
body.premium-plus .form-olive-field textarea:focus {
  border-color: var(--color-cream) !important;
  box-shadow: 0 0 0 3px rgba(245, 240, 232, 0.2) !important;
}

body.premium-plus .trust-strip-item-icon {
  display: inline-flex;
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
body.premium-plus .trust-strip-item:hover .trust-strip-item-icon {
  transform: translateY(-4px) scale(1.08) rotate(-3deg);
}

@keyframes softBreath {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.04); }
}
body.premium-plus .testimonials-blob {
  animation: softBreath 8s ease-in-out infinite;
}

body.premium-plus .section-subtitle {
  letter-spacing: 0.14em;
  transition: letter-spacing 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
body.premium-plus .aos.visible .section-subtitle {
  letter-spacing: 0.2em;
}

@media (prefers-reduced-motion: reduce) {
  body.premium-plus * { animation: none !important; transition: none !important; transform: none !important; }
  .cursor-glow, .scroll-progress { display: none !important; }
  .word-reveal { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* ══════════════════════════════════════════════════════════════════
   CONTACT SPLIT — 2-column Figma design (cream left + olive right)
   ══════════════════════════════════════════════════════════════════ */

.contact-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  overflow: hidden;
  position: relative;
}

.contact-split-form {
  background: var(--color-cream);
  padding: 96px 80px;
  display: flex;
  align-items: center;
  order: 2;
  font-family: var(--font-hebrew);
}

.contact-form {
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.contact-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.contact-form-field {
  position: relative;
  display: flex;
  flex-direction: column;
}

.contact-form-field > label {
  font-size: 14px;
  color: var(--color-primary);
  margin-bottom: 8px;
  text-align: start;
  padding-inline-start: 22px;
  font-weight: 500;
}

.contact-form-field input,
.contact-form-field textarea {
  width: 100%;
  background: transparent;
  border: 1.2px solid var(--color-primary);
  border-radius: 999px;
  padding: 13px 22px;
  color: var(--color-primary);
  font-family: inherit;
  font-size: 15px;
  outline: none;
  transition: border-width 0.2s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.contact-form-field textarea {
  border-radius: 32px;
  min-height: 64px;
  resize: vertical;
  line-height: 1.5;
}

.contact-form-field input:focus,
.contact-form-field textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(48, 56, 39, 0.08);
  background: rgba(48, 56, 39, 0.02);
}

.contact-form-field input::placeholder,
.contact-form-field textarea::placeholder {
  color: rgba(48, 56, 39, 0.38);
}

.contact-form-submit {
  align-self: flex-start;
  background: var(--color-primary);
  color: var(--color-cream);
  border: 0;
  border-radius: 999px;
  padding: 14px 48px;
  font-family: inherit;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  margin-top: 10px;
  transition:
    transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1),
    background 0.3s ease;
  box-shadow: 0 4px 14px rgba(48, 56, 39, 0.14);
}

.contact-form-submit:hover {
  transform: translateY(-2px);
  background: var(--color-olive);
  box-shadow: 0 10px 22px rgba(48, 56, 39, 0.24);
}

.contact-form-status:not(:empty) {
  margin-top: 4px;
  font-size: 14px;
  color: var(--color-olive);
}

/* Right column — olive with decorative leaf */
.contact-split-copy {
  background: var(--color-primary);
  padding: 96px 80px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  overflow: hidden;
  order: 1;
  font-family: var(--font-hebrew);
}

.contact-split-leaf {
  position: absolute;
  inset: 0 auto 0 0;
  height: 100%;
  width: auto;
  max-width: 60%;
  opacity: 0.96;
  z-index: 0;
  pointer-events: none;
  transform: translateX(-20%);
}

.contact-split-copy-inner {
  position: relative;
  z-index: 1;
  max-width: 420px;
  color: var(--color-cream);
  margin-inline-start: auto;
}

.contact-split-copy-inner h2 {
  font-family: var(--font-hebrew) !important;
  font-size: clamp(2rem, 3.2vw, 2.6rem);
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 18px;
  color: var(--color-cream);
}

.contact-split-copy-inner p {
  font-family: var(--font-hebrew) !important;
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(245, 240, 232, 0.85);
  margin: 0;
}

.contact-form,
.contact-form-field label,
.contact-form-field input,
.contact-form-field textarea,
.contact-form-submit {
  font-family: var(--font-hebrew) !important;
}

/* Tablet: still 2 cols but tighter padding */
@media (max-width: 1100px) {
  .contact-split-form { padding: 72px 40px; }
  .contact-split-copy { padding: 72px 40px; }
  .contact-split-leaf { max-width: 70%; transform: translateX(-30%); }
}

/* Mobile: stack — copy on top (cream), form below (olive) */
@media (max-width: 768px) {
  .contact-split {
    grid-template-columns: 1fr;
    min-height: 0;
    margin: 0;
  }
  /* Top: cream panel with dark olive text */
  .contact-split-copy {
    order: 1;
    padding: 56px 28px 72px;
    text-align: center;
    justify-content: center;
    background: var(--color-cream) !important;
  }
  .contact-split-leaf {
    max-width: 100%;
    opacity: 0.08;
    transform: none;
    inset: 0;
    filter: none;
  }
  .contact-split-copy-inner {
    text-align: center;
    margin-inline: auto;
    color: var(--color-primary);
  }
  .contact-split-copy-inner h2 {
    color: var(--color-primary) !important;
  }
  .contact-split-copy-inner p {
    color: rgba(48, 56, 39, 0.78) !important;
  }
  /* Bottom: dark olive panel with cream form */
  .contact-split-form {
    order: 2;
    padding: 48px 24px 64px;
    background: var(--color-primary) !important;
  }
  .contact-form-field > label {
    color: var(--color-cream) !important;
  }
  .contact-form-field input,
  .contact-form-field textarea {
    background: transparent !important;
    border-color: rgba(245, 240, 232, 0.55) !important;
    color: var(--color-cream) !important;
  }
  .contact-form-field input:focus,
  .contact-form-field textarea:focus {
    border-color: var(--color-cream) !important;
    background: rgba(245, 240, 232, 0.06) !important;
    box-shadow: 0 0 0 3px rgba(245, 240, 232, 0.12) !important;
  }
  .contact-form-field input::placeholder,
  .contact-form-field textarea::placeholder {
    color: rgba(245, 240, 232, 0.45) !important;
  }
  .contact-form-submit {
    background: var(--color-cream) !important;
    color: var(--color-primary) !important;
    align-self: stretch;
    padding: 15px;
  }
  .contact-form-submit:hover {
    background: #fff !important;
  }
  .contact-form-status:not(:empty) {
    color: rgba(245, 240, 232, 0.85) !important;
  }
  .contact-form-row {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .contact-form {
    gap: 20px;
  }
  /* Remove visible separation below form (blend into footer) */
  .contact-split + * {
    margin-top: 0 !important;
  }
  /* Bottom form: tropical leaves bg with olive overlay (matches sale banner) */
  .contact-split-form {
    position: relative;
    background:
      linear-gradient(180deg, rgba(48,56,39,0.78) 0%, rgba(48,56,39,0.92) 100%),
      url("../images/banners/hero_figma_leaves.png") center/cover no-repeat !important;
  }
  /* Kill the white gaps above and below the contact form */
  .contact-split {
    padding: 0 !important;
    margin: 0 !important;
  }
  main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* ============================================================
   USER FIXES 2026-04-21
   ============================================================ */

/* 1. Product cards — transparent background, no decorative backdrop */
.product-card-image {
  position: relative;
  background-color: transparent !important;
  background-image: none !important;
}
.product-card-image::before,
.product-card-image::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* 1b. Tighten vertical gap between products carousel and blog section */
.products-section { padding-block-end: var(--spacing-md) !important; }
.home-blog-preview { padding-block-start: var(--spacing-md) !important; }

/* 2. Contact split (desktop+tablet): full cream bg, green rounded shape on right */
@media (min-width: 769px) {
  .contact-split {
    background: var(--color-cream) !important;
  }
  .contact-split-form {
    background: transparent !important;
  }
  .contact-split-copy {
    background: transparent !important;
    overflow: visible !important;
  }
  /* Invert the leaf: fill green + move to far right, creating a rounded green shape */
  .contact-split-leaf {
    inset: 0 0 0 auto !important;
    transform: translateX(8%) scaleX(-1) !important;
    max-width: 88% !important;
    height: 100% !important;
    opacity: 1 !important;
  }
  .contact-split-leaf path {
    fill: var(--color-primary) !important;
  }
  /* Ensure copy content sits ABOVE the leaf SVG */
  .contact-split-leaf { z-index: 0 !important; }
  .contact-split-copy { position: relative !important; }
  .contact-split-copy-inner {
    position: relative !important;
    z-index: 2 !important;
    color: var(--color-primary) !important;
  }
  .contact-split-copy-inner * { color: var(--color-primary) !important; }
}

/* 3. Hero images (desktop): center vertically, keep right, tighten gap */
@media (min-width: 769px) {
  body .hero-image,
  body.premium-plus .hero-image {
    top: 50% !important;
    transform: translateY(-50%) !important;
    height: 72% !important;
    right: 6% !important;
    width: 40% !important;
    align-items: center !important;
  }
  .hero-slide,
  .hero-image img {
    object-position: center center !important;
  }
}

/* ============================================================
   USER FIXES 2026-04-22 — footer left (brand) column
   Goal: enlarge logo + tighten vertical rhythm
   ============================================================ */

/* Tighten top padding of brand column */
footer.footer .footer-grid.footer-grid-v2 > .footer-brand {
  padding-top: 8px !important;
}

/* Tighten newsletter internal spacing */
footer.footer .footer-newsletter-title {
  margin: 0 0 8px !important;
}
footer.footer .footer-newsletter-row {
  margin-bottom: 6px !important;
}
footer.footer .footer-newsletter-consent {
  margin-top: 2px !important;
}
footer.footer .footer-newsletter-payments {
  margin-top: 10px !important;
}

/* Collapse empty status div (was reserving 28px even when empty) */
footer.footer .footer-newsletter-status:empty {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
}

/* Tighten the whole footer top padding (was 72px) */
footer.footer {
  padding-top: 40px !important;
}

/* Desktop newsletter column width — logo now uses SVG so the crop hack is gone */
@media (min-width: 993px) {
  footer.footer .footer-newsletter {
    max-width: 440px !important;
  }
}

/* ─────────────────────────────────────────────────────────────
   FIVE-COLUMN FOOTER — final override.
   Earlier iterations of this stylesheet assumed 4 columns
   (brand + 3 content cols). Now we have 5: brand/newsletter +
   sitemap + discover + catalogs + contact. This block lives at
   the very end so it wins over the many scattered 4-column
   rules higher up that all use the same specificity + !important.
   ───────────────────────────────────────────────────────────── */
@media (min-width: 993px) {
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr !important;
    gap: 40px !important;
  }
}
@media (min-width: 1101px) {
  footer.footer .footer-grid.footer-grid-v2 {
    gap: 48px !important;
  }
}
@media (max-width: 992px) and (min-width: 769px) {
  footer.footer .footer-grid.footer-grid-v2 {
    grid-template-columns: 1fr 1fr 1fr !important;
  }
}


/* ── WooCommerce variable product — custom pgv2 variation UI ─────────────── */
.pgv2-variation-select { display: none !important; }

.pgv2-variations-table,
.pgv2-variations-table tbody,
.pgv2-variations-table tr { display: block; width: 100%; }

.pgv2-variations-table td.label {
  display: block;
  padding: 14px 0 2px;
  border: none;
  font-size: 0.83rem;
  font-weight: 700;
  color: var(--color-primary);
}
.pgv2-variations-table td.label label { cursor: default; }
.pgv2-opt-selected { color: var(--color-muted, #6b7280); font-weight: 500; }

.pgv2-variations-table td.value {
  display: block;
  border: none;
  padding: 0 0 4px;
}
.pgv2-variations-table td.value .pgv2-opt-group { margin-top: 6px; }
.pgv2-variations-table .reset_variations { display: none; }

/* Hide the native <select> everywhere in the variation form — only pills/swatches shown */
.pgv2-variations-table td.value select,
.pgv2-variations-table td.value .pgv2-select-val,
.variations td.value select,
.variations_form .variations td.value select,
form.cart .variations select,
.pgv2-variation-row select,
.pgv2-variations-form select,
.pgv2-variations-list select { display: none !important; }

/* Hide variation label row (attr name + "בחירה נדרשת") — only buttons visible */
.pgv2-variation-label-row { display: none !important; }

/* Variation price block — shown by WC JS when a variation is matched */
.single_variation_wrap .woocommerce-variation.single_variation {
    margin: 12px 0 0;
}
.single_variation_wrap .woocommerce-variation-price {
    margin-bottom: 2px;
}
.single_variation_wrap .woocommerce-variation-price .price {
    font-size: 1.7rem;
    font-weight: 800;
    color: var(--color-primary);
    display: block;
    line-height: 1.2;
}
.single_variation_wrap .woocommerce-variation-price .price ins {
    text-decoration: none;
    color: var(--color-sale);
}
.single_variation_wrap .woocommerce-variation-price .price del {
    font-size: 1rem;
    font-weight: 400;
    opacity: 0.6;
    margin-inline-end: 6px;
    text-decoration: line-through;
}
/* Installments line below variation price */
.pgv2-var-installments {
    font-size: 0.8rem;
    color: var(--color-gray-light);
    margin: 0 0 10px;
}

/* ═══════════════════════════════════════════════════════════
   pgv2-rc-card site-wide — ported from product.html related
   section; applied in content-product.php so shop, categories,
   homepage carousels, and related all use the same card.
═══════════════════════════════════════════════════════════ */
.products-grid .pgv2-rc-card,
.products-carousel .pgv2-rc-card,
.ga-pc-track .pgv2-rc-card {
    flex: initial;
    width: 100%;
    background: #fff;
    border: 1px solid rgba(48,56,40,0.06);
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    backdrop-filter: none;
    display: flex;
    flex-direction: column;
}
.products-grid .pgv2-rc-card:hover,
.products-carousel .pgv2-rc-card:hover {
    background: #fff;
    box-shadow: 0 10px 26px rgba(0,0,0,0.08);
}
.products-grid .pgv2-rc-card .pgv2-rc-body,
.products-carousel .pgv2-rc-card .pgv2-rc-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.products-grid .pgv2-rc-card .pgv2-rc-price-row,
.products-carousel .pgv2-rc-card .pgv2-rc-price-row {
    margin-top: clamp(6px, 4%, 14px);
}
.pgv2-rc-card .pgv2-rc-badge {
    position: absolute;
    top: 10px;
    inset-inline-end: 10px;
    background: var(--color-primary, #303827);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    z-index: 2;
}
.pgv2-rc-card .pgv2-rc-img-wrap { position: relative; }

/* Out-of-stock product card styling */
.pgv2-rc-card.is-out-of-stock .pgv2-rc-blob img {
    opacity: 0.45;
    filter: grayscale(0.6);
    transition: opacity 0.2s, filter 0.2s;
}
.pgv2-rc-card.is-out-of-stock .pgv2-rc-name a,
.pgv2-rc-card.is-out-of-stock .pgv2-rc-price {
    color: #999;
}
.pgv2-rc-card.is-out-of-stock .pgv2-rc-cat {
    opacity: 0.7;
}
/* OOS badge — distinct from sale (gray-red, top-left like sale) */
.pgv2-rc-card .pgv2-rc-badge.pgv2-rc-badge-oos {
    background: #b03030;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.3px;
}
/* Disabled add-to-cart button */
.pgv2-rc-add.pgv2-rc-add-disabled {
    background: #d6d6d6 !important;
    color: #777 !important;
    cursor: not-allowed;
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.pgv2-rc-add.pgv2-rc-add-disabled svg {
    display: block;
}

/* Woo's ajax add-to-cart shows a tick after success on the anchor; keep it circular */
.pgv2-rc-add.added::after { display: none; }
.pgv2-rc-add.loading { opacity: 0.6; pointer-events: none; }

/* UV badge — sun-resistant products */
.pgv2-rc-uv {
    position: absolute;
    top: 10px;
    inset-inline-end: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: linear-gradient(135deg, #f5b946 0%, #e09029 100%);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 4px 9px 4px 7px;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(224,144,41,0.35);
    z-index: 2;
    line-height: 1;
}
.pgv2-rc-uv svg { flex-shrink: 0; }
/* When sale badge + UV badge coexist, stack UV below the sale pill */
.pgv2-rc-badge ~ .pgv2-rc-uv { top: 46px; }

/* UV badge inline next to product-title on single product */
.pgv2-title-uv {
    position: static;
    vertical-align: middle;
    margin-inline-start: 10px;
    font-size: 0.8rem;
    padding: 5px 11px 5px 9px;
}

/* ═══════════════════════════════════════════════════════════════════
   Wishlist heart on product card (.pgv2-rc-card)
   Floats on the image area in brand pill style — mirrors the heart
   on the single-product gallery (.pgv2-wish-float) for consistency.
═══════════════════════════════════════════════════════════════════ */
.pgv2-rc-card .pgv2-rc-img-wrap { position: relative; }

.pgv2-rc-wish {
    position: absolute;
    top: 12px;
    inset-inline-start: 12px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    background: #fff;
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(48, 56, 39, 0.18);
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
    z-index: 3;
    padding: 0;
}
.pgv2-rc-wish svg {
    width: 18px;
    height: 18px;
    transition: fill 0.18s ease;
}
@media (max-width: 768px) {
  .pgv2-rc-wish {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    border-radius: 50% !important;
    top: 8px;
    inset-inline-start: 8px;
    padding: 0 !important;
  }
  .pgv2-rc-wish svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
  }
}
.pgv2-rc-wish:hover {
    transform: scale(1.08);
    background: var(--color-cream, #f5f2ec);
}
.pgv2-rc-wish.is-active {
    background: var(--color-primary);
    color: #fff;
}
.pgv2-rc-wish.is-active svg {
    fill: currentColor;
}
.pgv2-rc-wish.is-pulsing {
    animation: gaWishPulse 0.32s ease;
}
@keyframes gaWishPulse {
    0%   { transform: scale(1); }
    45%  { transform: scale(1.25); }
    100% { transform: scale(1); }
}

/* Cart & wishlist badge pulse when count changes (floating bubble feel) */
.cart-badge.ga-badge-pulse,
.wishlist-badge.ga-badge-pulse,
#cartBadge.ga-badge-pulse,
#wishlistBadge.ga-badge-pulse {
    animation: gaBadgePop 0.5s cubic-bezier(0.2, 1.4, 0.4, 1);
}
@keyframes gaBadgePop {
    0%   { transform: scale(1); }
    35%  { transform: scale(1.5); }
    65%  { transform: scale(0.92); }
    100% { transform: scale(1); }
}

/* ═══════════════════════════════════════════════════════════════
   WooCommerce Button Overrides — unified with theme button system
   ═══════════════════════════════════════════════════════════════ */

/* ── Add-to-cart instant feedback states (2026-04-24) ────────
   .ga-adding → triggered immediately on click (JS capture phase)
   .ga-added  → set after WC's added_to_cart event fires         */
.pgv2-rc-add.ga-adding,
.pgv2-rc-add[disabled] {
  opacity: 0.55;
  pointer-events: none;
  transform: scale(0.92);
  transition: opacity 0.12s ease, transform 0.12s ease;
}
.pgv2-rc-add.ga-added {
  background: var(--color-olive, #6c8b4a) !important;
  color: #fff !important;
  border-color: var(--color-olive, #6c8b4a) !important;
  content: "✓";
}
/* ".pgv2-rc-add" is the "+" char — swap it for ✓ while .ga-added */
.pgv2-rc-add.ga-added::before {
  content: "✓";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1em;
  color: #fff;
}
.pgv2-rc-add.ga-added {
  position: relative;
  color: transparent !important;
}

/* Suppress WC's "X added to cart" success bar — we show our own toast.
   Keep error (.woocommerce-error) and info (.woocommerce-info) notices
   visible so checkout validation messages still reach the user. */
.woocommerce-message:not(.woocommerce-error):not(.woocommerce-warning) {
  display: none !important;
}
/* Block-based notice: only hide add-to-cart variant */
.wc-block-components-notice-banner--success {
  display: none !important;
}

/* ── Cart toast (bottom-right pill, like mobile OS) ──────── */
#ga-cart-toast {
  position: fixed;
  bottom: 28px;
  inset-inline-start: 28px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--color-primary, #303827);
  color: #fff;
  font-family: var(--font-hebrew);
  font-size: 14px;
  font-weight: 600;
  padding: 12px 22px;
  border-radius: 999px;
  box-shadow: 0 8px 28px rgba(48,56,39,0.28);
  z-index: 9999;
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
}
#ga-cart-toast.ga-ct-show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
#ga-cart-toast.ga-ct-hide {
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
}
@media (max-width: 480px) {
  #ga-cart-toast {
    bottom: 18px;
    inset-inline-start: 50%;
    transform: translateX(50%) translateY(16px);
    white-space: nowrap;
  }
  #ga-cart-toast.ga-ct-show { transform: translateX(50%) translateY(0); }
  #ga-cart-toast.ga-ct-hide { transform: translateX(50%) translateY(16px); }
}

/* Base WooCommerce .button → primary style */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 11px 28px;
  border-radius: var(--radius-full);
  font-family: var(--font-hebrew);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
  border: 1.5px solid var(--color-primary);
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
  text-decoration: none;
  background: var(--color-primary);
  color: var(--color-white) !important;
  box-shadow: none;
  text-transform: none;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--color-olive);
  border-color: var(--color-olive);
  color: var(--color-white) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* Checkout / Place Order → large emphasis */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order,
.wc-block-cart__submit-container .wc-block-cart__submit-button {
  display: block;
  width: 100%;
  padding: 15px 36px;
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
  border-radius: var(--radius-full);
  font-family: var(--font-hebrew);
  letter-spacing: 0;
  background: var(--color-primary);
  color: var(--color-white) !important;
  border: 1.5px solid var(--color-primary);
  cursor: pointer;
  transition: all var(--transition);
  text-decoration: none;
  box-shadow: none;
  text-transform: none;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover {
  background: var(--color-olive);
  border-color: var(--color-olive);
  color: var(--color-white) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* Hide the "View cart" link that WooCommerce injects after ajax add-to-cart
   — our product cards use a compact "+" icon button, so the trailing
   "מעבר לסל הקניות" text breaks the layout. */
.pgv2-rc-card .added_to_cart,
.pgv2-rc-price-row .added_to_cart,
.products-grid .added_to_cart,
.products-carousel .added_to_cart,
.ga-pc-track .added_to_cart,
li.product .added_to_cart {
  display: none !important;
}

/* "Added" confirmation state on full-size buttons → secondary outline */
.woocommerce a.button.added:not(.added_to_cart) {
  background: transparent;
  color: var(--color-primary) !important;
  border-color: var(--color-primary);
}
.woocommerce a.button.added:not(.added_to_cart):hover {
  background: var(--color-primary);
  color: var(--color-white) !important;
}

/* Loading state */
.woocommerce a.button.loading,
.woocommerce button.button.loading {
  opacity: 0.7;
  pointer-events: none;
}

/* Disabled state */
.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce a.button[disabled],
.woocommerce button.button[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* My Account login/register submit */
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce form.login button[type="submit"],
.woocommerce form.register button[type="submit"] {
  border-radius: var(--radius-full);
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  font-weight: 600;
  padding: 12px 32px;
  background: var(--color-primary);
  color: var(--color-white);
  border: 1.5px solid var(--color-primary);
  cursor: pointer;
  transition: all var(--transition);
  text-transform: none;
  letter-spacing: 0;
}
.woocommerce form.login button[type="submit"]:hover,
.woocommerce form.register button[type="submit"]:hover {
  background: var(--color-olive);
  border-color: var(--color-olive);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* Block-based cart/checkout */
.wc-block-components-button:not(.is-link) {
  border-radius: var(--radius-full) !important;
  font-family: var(--font-hebrew) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── WooCommerce & general form inputs — Figma pill style ── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-account .form-row input.input-text,
.woocommerce-account .form-row textarea,
.woocommerce form.login input[type="text"],
.woocommerce form.login input[type="password"],
.woocommerce form.login input[type="email"],
.woocommerce form.register input[type="text"],
.woocommerce form.register input[type="password"],
.woocommerce form.register input[type="email"],
.wc-block-components-text-input input,
.wc-block-components-select select {
  border: 1.2px solid var(--color-primary) !important;
  border-radius: 999px !important;
  padding: 13px 22px !important;
  font-family: var(--font-hebrew) !important;
  font-size: 15px !important;
  background: transparent !important;
  color: var(--color-primary) !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
  box-shadow: none !important;
}
.woocommerce form .form-row textarea,
.woocommerce-checkout .form-row textarea {
  border-radius: 32px !important;
  resize: vertical !important;
  min-height: 80px !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-checkout .form-row input.input-text:focus,
.wc-block-components-text-input input:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(48,56,39,0.08) !important;
  background: rgba(48,56,39,0.02) !important;
}
.woocommerce form label,
.woocommerce-checkout .form-row label,
.woocommerce-account .form-row label {
  font-family: var(--font-hebrew) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--color-primary) !important;
  padding-inline-start: 22px !important;
  margin-bottom: 8px !important;
}

/* Footer — tighten spacing between category links (both rule sets exist in
   this file; override both). And strip the pill background off catalog
   links, replacing it with a simple underline cue so they read as text
   links not buttons. 2026-04-23 — user feedback. */
.footer .footer-links-list { gap: 4px !important; }
.footer .footer-links-list li { margin-bottom: 4px !important; }
.footer .footer-catalogs-list { gap: 6px !important; }
.footer .footer-catalogs-list li { margin-bottom: 2px !important; }

.footer .footer-catalogs-list .footer-catalog-link {
  background: transparent !important;
  padding: 4px 0 !important;
  border-radius: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  text-decoration-thickness: 1px !important;
  text-decoration-color: rgba(48,56,39,0.35) !important;
}
.footer .footer-catalogs-list .footer-catalog-link:hover {
  background: transparent !important;
  transform: none !important;
  text-decoration-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
}

/* Pagination — unify WooCommerce/WordPress default .page-numbers markup
   with the brand's .pagination-btn look (rounded squares, olive fill on
   current). Targets shop archive, blog, category, and search pagination.
   2026-04-23 — user feedback. */
.woocommerce-pagination,
.shop-pagination,
.blog-pagination,
nav.pagination.blog-pagination {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: var(--spacing-2xl, 48px);
  list-style: none;
  padding: 0;
}
.woocommerce-pagination ul.page-numbers,
.shop-pagination ul.page-numbers,
.blog-pagination ul.page-numbers {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  border: 0;
}
.woocommerce-pagination ul.page-numbers li,
.shop-pagination ul.page-numbers li,
.blog-pagination ul.page-numbers li {
  margin: 0;
  border: 0;
  background: transparent;
}
.shop-pagination .page-numbers,
.blog-pagination .page-numbers,
.woocommerce-pagination .page-numbers,
nav.pagination.blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1.2px solid rgba(48,56,39,0.18);
  background: #fff;
  color: var(--color-primary, #303827);
  font-family: var(--font-hebrew);
  font-size: 0.88rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.18s, color 0.18s, border-color 0.18s, transform 0.18s;
  line-height: 1;
}
.shop-pagination .page-numbers:hover,
.blog-pagination .page-numbers:hover,
.woocommerce-pagination .page-numbers:hover {
  background: rgba(48,56,39,0.06);
  border-color: var(--color-primary);
}
.shop-pagination .page-numbers.current,
.blog-pagination .page-numbers.current,
.woocommerce-pagination .page-numbers.current {
  background: var(--color-primary, #303827) !important;
  color: #fff !important;
  border-color: var(--color-primary, #303827) !important;
  font-weight: 700;
}
.shop-pagination .page-numbers.dots,
.blog-pagination .page-numbers.dots,
.woocommerce-pagination .page-numbers.dots {
  border: 0;
  background: transparent;
  min-width: auto;
  padding: 0 4px;
  cursor: default;
}
.shop-pagination .page-numbers.dots:hover,
.blog-pagination .page-numbers.dots:hover,
.woocommerce-pagination .page-numbers.dots:hover {
  background: transparent !important;
  color: var(--color-primary) !important;
  transform: none;
}
/* Prev/next arrow buttons inside .page-numbers — same pill shape */
.shop-pagination .page-numbers.prev,
.shop-pagination .page-numbers.next,
.blog-pagination .page-numbers.prev,
.blog-pagination .page-numbers.next,
.woocommerce-pagination .page-numbers.prev,
.woocommerce-pagination .page-numbers.next {
  padding: 0 12px;
  font-size: 1rem;
}
@media (max-width: 640px) {
  .shop-pagination .page-numbers,
  .blog-pagination .page-numbers,
  .woocommerce-pagination .page-numbers {
    min-width: 36px; height: 36px; font-size: 0.82rem; padding: 0 10px;
  }
}

/* ═══════════════════════════════════════════════════════════════
   Plugin & third-party button unification — Figma .btn-primary spec
   (2026-04-24) — any CTA button injected by a plugin (YITH Wishlist,
   YITH Filter, Contact Form 7, WC PDF Invoices account link) gets
   pulled into the brand system. Icon-only buttons (hamburger, carousel
   arrows, wishlist hearts, accordion toggles, etc.) are explicitly
   excluded and keep their contextual style.
   ═══════════════════════════════════════════════════════════════ */
.yith-wcwl-add-to-wishlist a,
.yith-wcwl-add-to-wishlist button,
.yith-wcwl-wishlist-search-form input[type="submit"],
.yith-wcwl-wishlistexistsbrowse a,
.yith-wcan-reset-filters,
.yith-wcan-filters button[type="submit"],
.yith-wcan-filters .yith-wcan-filter button,
.wpcf7-submit,
form.wpcf7-form input[type="submit"],
form.wpcf7-form button[type="submit"],
.woocommerce-MyAccount-content .button,
.woocommerce-EditAccountForm button[type="submit"],
.lost_reset_password button[type="submit"],
.ga-btn,
.ga-btn-primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 11px 28px !important;
  border-radius: var(--radius-full) !important;
  font-family: var(--font-hebrew) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.3 !important;
  border: 1.5px solid var(--color-primary) !important;
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
  text-decoration: none !important;
  background: var(--color-primary) !important;
  color: var(--color-white) !important;
  box-shadow: none;
  text-transform: none !important;
  min-height: auto;
}
.yith-wcwl-add-to-wishlist a:hover,
.yith-wcwl-add-to-wishlist button:hover,
.yith-wcan-reset-filters:hover,
.yith-wcan-filters button[type="submit"]:hover,
.wpcf7-submit:hover,
.woocommerce-MyAccount-content .button:hover,
.ga-btn:hover,
.ga-btn-primary:hover {
  background: var(--color-olive) !important;
  border-color: var(--color-olive) !important;
  color: var(--color-white) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* Header icon badges — small counter pill floating on the heart (wishlist)
   and cart icons. JS updates data-count + .has-items class. */
.header-icon-btn,
.header-icon-link {
  position: relative;
}
.header-icon-badge {
  position: absolute;
  top: -4px;
  inset-inline-start: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--color-olive, #6c8b4a);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  display: none;
  pointer-events: none;
  box-shadow: 0 2px 6px rgba(48,56,39,0.22);
  font-family: var(--font-hebrew);
  z-index: 2;
}
.header-icon-btn.has-items .header-icon-badge,
.header-icon-link.has-items .header-icon-badge {
  display: block;
  animation: gaBadgePop 0.28s ease-out;
}
@keyframes gaBadgePop {
  0%   { transform: scale(0.4); opacity: 0; }
  60%  { transform: scale(1.18); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* ═══════════════════════════════════════════════════════════════
   NO HORIZONTAL SCROLL — global (2026-04-24)
   overflow-x: clip (NOT hidden) — clip doesn't create a scroll
   container so position:sticky / position:fixed on the header
   keeps working. overflow:hidden would break sticky on mobile.
   ═══════════════════════════════════════════════════════════════ */
html, body {
  overflow-x: clip;
}

/* Suppress YITH Wishlist's own feedback notification — we use our
   own toast/badge system instead to avoid double popups. */
.yith-wcwl-popup-dialog,
.yith-wcwl-add-to-wishlist .feedback,
.yith-wcwl-add-to-wishlist .ajax-loading,
.yith-wcwl-extra-button,
.yith-wcwl-wishlistaddedbrowse,
.yith-wcwl-wishlistexistsbrowse {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   GLOBAL FONT ENFORCEMENT (2026-04-24)
   FbBooster is the brand font. WooCommerce, YITH, and other
   plugin-injected content can slip through with browser-default
   fallbacks. Force it everywhere via a high-specificity catch-all.
   ═══════════════════════════════════════════════════════════════ */
* {
  font-family: var(--font-hebrew) !important;
}
/* Monospace exceptions: code, pre, kbd */
code, pre, kbd, samp, tt {
  font-family: 'Courier New', Courier, monospace !important;
}
/* Font override block removed — all text uses --font-hebrew (FbBooster) */
.en-kicker, .hero-subtitle-en, [class*="en-italic"],
.hero-slide-en, .pgv2-en {
  font-family: var(--font-hebrew) !important;
}

/* ═══════════════════════════════════════════════════════════════
   BRAND GREEN ACCENTS — cart, checkout, summary cards (2026-04-24)
   The order-summary sidebar and key section separators get the
   brand's primary dark-green so the all-cream pages have a visual
   anchor that matches the header.
   ═══════════════════════════════════════════════════════════════ */

/* Order summary sidebar card (cart + checkout right column) — cream brand */
.order-summary-card,
.cart_totals {
  background: var(--color-cream, #F2EFE0) !important;
  color: var(--color-primary) !important;
  border-radius: 16px;
  overflow: hidden;
  border: 1.5px solid rgba(48,56,39,0.15);
  box-shadow: 0 4px 24px rgba(48,56,39,0.10);
}
/* WooCommerce sets float:left on .cart_totals — cancel it so the trust
   section renders BELOW the totals table, not beside it. */
.order-summary-card .cart_totals {
  float: none !important;
  width: 100% !important;
}
.order-summary-card *,
.cart_totals * {
  color: var(--color-primary) !important;
}
.order-summary-card strong,
.cart_totals strong,
.cart-total-amount,
.order-total .amount {
  color: var(--color-primary) !important;
  font-weight: 700;
}
/* Links inside summary */
.order-summary-card a,
.cart_totals a {
  color: var(--color-primary) !important;
  text-decoration: underline;
}
/* Summary row dividers — subtle green on cream bg */
.summary-row,
.cart_totals .shop_table tr,
.order-summary-card .shop_table tr {
  border-bottom-color: rgba(48,56,39,0.10) !important;
}
/* Title inside order summary */
.order-summary-title,
.cart_totals h2 {
  color: var(--color-primary) !important;
  font-size: 1.05rem;
  font-weight: 700;
  padding: 20px 24px 0;
}
/* Heading inside our custom checkout aside */
.order-summary-card h3 {
  color: var(--color-primary) !important;
}
/* Kicker accent line above the heading */
.order-summary-card::before {
  content: '';
  display: block;
  height: 4px;
  background: var(--color-primary);
  border-radius: 16px 16px 0 0;
}

/* Checkout order-review section lives in the MAIN content column — keep it clean */
.woocommerce-checkout-review-order {
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(48,56,39,0.1);
  box-shadow: 0 2px 12px rgba(48,56,39,0.06);
}
.woocommerce-checkout-review-order-table tr {
  border-bottom-color: rgba(48,56,39,0.08) !important;
}
.woocommerce-checkout-review-order-table thead tr {
  background: var(--color-olive, #6c8b4a) !important;
}
.woocommerce-checkout-review-order-table thead th {
  color: #fff !important;
}

/* Green accent stripe — thin olive bar above key sections */
.cart-section,
.checkout-section,
.shop-body,
.wl-page-body,
.pgv2-section,
.faq-body,
.contact-split {
  border-top: 3px solid var(--color-olive, #6c8b4a);
}

/* Cart table header row → olive tint */
.cart-table thead tr,
.woocommerce-checkout-review-order-table thead tr {
  background: var(--color-olive, #6c8b4a) !important;
  color: #fff !important;
}
.cart-table thead th,
.woocommerce-checkout-review-order-table thead th {
  color: #fff !important;
}

/* "Continue shopping" / free shipping bar → olive */
.cart-free-ship,
.mini-cart-ship {
  background: var(--color-olive, #6c8b4a) !important;
  color: #fff !important;
  border-radius: 8px;
  padding: 10px 16px;
  font-weight: 600;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: stretch;
}
.cart-free-ship strong,
.mini-cart-ship strong,
.cart-free-ship .woocommerce-Price-amount,
.mini-cart-ship .woocommerce-Price-amount,
.cart-free-ship .woocommerce-Price-currencySymbol,
.mini-cart-ship .woocommerce-Price-currencySymbol,
.cart-free-ship bdi,
.mini-cart-ship bdi {
  color: #fff !important;
  font-weight: 800;
  background: transparent !important;
}
/* Free-ship progress bar inside the mini-cart pill */
.mini-cart-ship-progress {
  height: 6px;
  background: rgba(255,255,255,0.25);
  border-radius: 999px;
  overflow: hidden;
  width: 100%;
}
.mini-cart-ship-progress-fill {
  display: block;
  height: 100%;
  background: #fff;
  border-radius: 999px;
  transition: width 0.35s ease;
}
.mini-cart-ship.is-free .mini-cart-ship-progress-fill { width: 100% !important; }

/* Hero section on ALL interior pages — consistent olive overlay tint  */
.blog-hero-figma .page-hero-bg::after,
.cat-hero-v2 .page-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(48, 56, 39, 0.62) 0%,
    rgba(72, 88, 56, 0.38) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.page-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.page-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ═══════════════════════════════════════════════════════════════
   HIDE SECTION SUBTITLES GLOBALLY (2026-04-24)
   User request: show only the main h2, not the small kicker line
   above it. Applied site-wide so all pages are consistent.
   ═══════════════════════════════════════════════════════════════ */
.section-subtitle,
.section-header .section-subtitle,
p.section-subtitle {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   AOS STAGGER — category grid staggered entrance animation
   (2026-04-24) Children animate in sequence via delay.
   ═══════════════════════════════════════════════════════════════ */
.aos-stagger > .aos { opacity: 0; transform: translateY(28px); transition: none; }
.aos-stagger > .aos.aos-animate {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.aos-stagger > .aos.aos-animate:nth-child(1) { transition-delay: 0s; }
.aos-stagger > .aos.aos-animate:nth-child(2) { transition-delay: 0.08s; }
.aos-stagger > .aos.aos-animate:nth-child(3) { transition-delay: 0.16s; }
.aos-stagger > .aos.aos-animate:nth-child(4) { transition-delay: 0.24s; }
.aos-stagger > .aos.aos-animate:nth-child(5) { transition-delay: 0.32s; }
.aos-stagger > .aos.aos-animate:nth-child(n+6) { transition-delay: 0.38s; }

/* ═══════════════════════════════════════════════════════════════
   GLOBAL CONTACT FORM 7 STYLES — Figma about.html design
   (2026-04-24) Applied to all .wpcf7-form instances site-wide.
   Card: cream gradient wrapper; inputs: warm white w/ sage focus.
   ═══════════════════════════════════════════════════════════════ */

/* Form wrapper: matches Figma white card */
.wpcf7-form {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 10px 30px rgba(48,56,39,0.08);
  direction: rtl;
}

/* Label above field */
.wpcf7-form label,
.wpcf7-form .wpcf7-form-control-wrap::before {
  display: block;
  font-size: 0.85rem;
  color: #555;
  font-weight: 600;
  margin-bottom: 6px;
}

/* Input / textarea base */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100% !important;
  padding: 13px 22px !important;
  border: 1.2px solid #303827 !important;
  border-radius: 999px !important;
  font-family: var(--font-hebrew) !important;
  font-size: 15px !important;
  background: transparent !important;
  color: #303827 !important;
  direction: rtl !important;
  transition: border-color 0.18s, box-shadow 0.18s, background 0.18s !important;
  box-sizing: border-box;
  outline: none !important;
}

/* Focus states */
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
  border-color: #4a5c38 !important;
  box-shadow: 0 0 0 3px rgba(48,56,39,0.1) !important;
  background: #fff !important;
}

/* Textarea */
.wpcf7-form textarea {
  resize: vertical !important;
  min-height: 100px !important;
  border-radius: 32px !important;
}

/* Label above field — dark green */
.wpcf7-form label {
  color: #303827 !important;
  font-weight: 600 !important;
}

/* Submit button — pill shape matching Figma design */
.wpcf7-form .wpcf7-submit,
.wpcf7-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 6px !important;
  padding: 14px 32px !important;
  background: #303827 !important;
  color: #C8D1B4 !important;
  border: none !important;
  border-radius: 24px !important;
  font-family: var(--font-hebrew) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.15s !important;
  width: auto !important;
}
.wpcf7-form .wpcf7-submit:hover,
.wpcf7-submit:hover {
  background: #4a5c38 !important;
  transform: translateY(-1px) !important;
  border-color: #4a5c38 !important;
}

/* Validation messages */
.wpcf7-not-valid-tip {
  color: #c0392b;
  font-size: 0.8rem;
  margin-top: 4px;
  display: block;
}
.wpcf7-response-output {
  margin-top: 14px !important;
  padding: 12px 16px !important;
  border-radius: 10px !important;
  font-size: 0.9rem !important;
  border: none !important;
}
.wpcf7-mail-sent-ok,
.wpcf7-form.sent .wpcf7-response-output {
  background: #E6EEDD !important;
  color: #303827 !important;
}
.wpcf7-validation-errors,
.wpcf7-mail-sent-ng {
  background: #fde8e6 !important;
  color: #a93226 !important;
}

/* Spacing between form rows */
.wpcf7-form p {
  margin-bottom: 14px !important;
}
.wpcf7-form p:last-of-type {
  margin-bottom: 0 !important;
}

/* ── Mobile menu logo image override ───────────────────── */
/* Ensure the white logo filter works in the dark overlay */
.mobile-menu-logo img {
  filter: brightness(0) invert(1);
  max-height: 38px;
  width: auto;
}

/* ── Responsive: mobile menu on desktop hidden ──────────── */
@media (min-width: 769px) {
  .mobile-menu { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   HERO SLIDESHOW — 4 slides, 24s cycle (6s visible per slide)
   Overrides the earlier 5-slide / 30s keyframes above.
   Each slide: fade-in at N*25%, visible for ~18%, fade-out by (N+1)*25%.
═══════════════════════════════════════════════════════════════════════════ */
.hero-slide-1 { animation: gaHero1 24s ease-in-out infinite; }
.hero-slide-2 { animation: gaHero2 24s ease-in-out infinite; }
.hero-slide-3 { animation: gaHero3 24s ease-in-out infinite; }
.hero-slide-4 { animation: gaHero4 24s ease-in-out infinite; }

@keyframes gaHero1 {
  0%,  18% { opacity: 1; }
  25%, 95% { opacity: 0; }
  100%     { opacity: 1; }
}
@keyframes gaHero2 {
  0%,  22% { opacity: 0; }
  25%, 43% { opacity: 1; }
  50%,100% { opacity: 0; }
}
@keyframes gaHero3 {
  0%,  47% { opacity: 0; }
  50%, 68% { opacity: 1; }
  75%,100% { opacity: 0; }
}
@keyframes gaHero4 {
  0%,  72% { opacity: 0; }
  75%, 93% { opacity: 1; }
  100%     { opacity: 0; }
}

/* ─── Mobile hero panel: full bleed green rectangle ────────────────────── */
@media (max-width: 768px) {
  .hero-panel {
    background: #303827;
    left: -24px !important;
    right: -24px !important;
    width: calc(100% + 48px) !important;
  }
  .hero-panel-svg {
    display: none !important;
  }

  /* Mobile slideshow — faster 12s cycle (3s per slide visible) so visitors
     actually see the rotation. Stays only on mobile/tablet; desktop keeps 24s. */
  .hero-slide {
    animation-duration: 12s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: ease-in-out !important;
    animation-fill-mode: both !important;
    will-change: opacity, transform;
  }
  .hero-slide-1 { animation-name: gaHero1 !important; opacity: 0; }
  .hero-slide-2 { animation-name: gaHero2 !important; opacity: 0; }
  .hero-slide-3 { animation-name: gaHero3 !important; opacity: 0; }
  .hero-slide-4 { animation-name: gaHero4 !important; opacity: 0; }

  /* Gentle float + breath effect on the hero image — adds life without being
     showy. Combined translateY (4px) + scale (1.02) for a "premium hover". */
  .hero-image-png img {
    animation: gaHeroFloat 4.5s ease-in-out infinite;
  }
}

@keyframes gaHeroFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-6px) scale(1.025); }
}

/* Respect prefers-reduced-motion (a11y) */
@media (prefers-reduced-motion: reduce) {
  .hero-slide { animation: none !important; }
  .hero-slide-1 { opacity: 1 !important; }
  .hero-image-png img { animation: none !important; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   LEAD SECTION — split panel design (2026-04-24 v2)
   Right panel: dark green + organic blob + content
   Left panel:  cream background + form
═══════════════════════════════════════════════════════════════════════════ */
.lead-section {
  background: var(--color-primary);
  direction: rtl;
  overflow: hidden;
}
.lead-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 540px;
}

/* ── Content panel (right in RTL) ── */
.lead-content-panel {
  position: relative;
  padding: 80px 64px 80px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.lead-blob {
  position: absolute;
  top: -90px;
  left: -110px;
  width: 450px;
  height: 450px;
  opacity: 0.07;
  pointer-events: none;
}
.lead-blob svg {
  width: 100%;
  height: 100%;
}
.lead-content-text {
  position: relative;
  z-index: 1;
}
.lead-kicker {
  font-family: var(--font-hebrew);
  font-size: 0.8rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(252,249,232,0.5);
  margin-bottom: 14px;
}
.lead-content-panel h2 {
  font-family: var(--font-hebrew);
  font-size: clamp(2.2rem, 3.2vw, 3rem);
  font-weight: 700;
  color: var(--color-cream);
  line-height: 1.18;
  margin-bottom: 32px;
}
.lead-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.lead-features li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(252,249,232,0.85);
  font-family: var(--font-hebrew);
  font-size: 1rem;
}
.lead-features li svg {
  flex-shrink: 0;
  stroke: #c8b97a;
}

/* ── Form panel (left in RTL): cream background ── */
.lead-form-panel {
  background: var(--color-cream, #fcf9e8);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 72px 56px;
}
.lead-form-card {
  width: 100%;
  max-width: 420px;
}
.lead-form-eyebrow {
  font-family: var(--font-hebrew);
  font-size: 0.8rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-primary);
  opacity: 0.5;
  margin-bottom: 6px;
}
.lead-form-heading {
  font-family: var(--font-hebrew);
  font-size: clamp(1.7rem, 2.4vw, 2.2rem);
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.22;
  margin-bottom: 28px;
}
.lead-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.lead-field {
  position: relative;
  display: flex;
  flex-direction: column;
}
.lead-field label {
  font-family: var(--font-hebrew);
  font-size: 14px;
  color: var(--color-primary);
  margin-bottom: 8px;
  font-weight: 500;
}
.lead-field input,
.lead-field textarea {
  width: 100%;
  background: transparent;
  border: 1.2px solid var(--color-primary);
  border-radius: 8px;
  padding: 16px 18px;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: var(--color-primary);
  direction: rtl;
  transition: border-width 0.2s ease, box-shadow 0.3s ease, background 0.3s ease;
  box-sizing: border-box;
  outline: none;
}
.lead-field input::placeholder,
.lead-field textarea::placeholder {
  color: rgba(48,56,39,0.38);
}
.lead-field input:focus,
.lead-field textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(48, 56, 39, 0.08);
  background: rgba(48, 56, 39, 0.02);
}
.lead-field textarea {
  resize: vertical;
  min-height: 80px;
  border-radius: 32px;
  line-height: 1.5;
}
.lead-submit-btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 36px;
  background: var(--color-primary);
  color: var(--color-cream);
  border: none;
  border-radius: 100px;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: 0.03em;
  transition: transform 0.2s ease, background 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 14px rgba(48, 56, 39, 0.14);
  margin-top: 4px;
}
.lead-submit-btn:hover {
  transform: translateY(-2px);
  background: var(--color-olive);
  box-shadow: 0 10px 22px rgba(48, 56, 39, 0.24);
}

/* ── Consent checkboxes — shared across all forms ─────────── */
.form-consent-row,
.newsletter-consents {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.form-consent-label,
.nl-consent-label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 0.82rem;
  color: rgba(48, 56, 39, 0.70);
  cursor: pointer;
  line-height: 1.45;
  user-select: none;
}

.form-consent-label input[type="checkbox"],
.nl-consent-label input[type="checkbox"] {
  width: 15px;
  height: 15px;
  min-width: 15px;
  margin-top: 2px;
  accent-color: var(--color-primary);
  cursor: pointer;
}

.form-consent-label a,
.nl-consent-label a {
  color: var(--color-primary);
  text-decoration: underline;
}

.form-consent-label a:hover,
.nl-consent-label a:hover {
  color: var(--color-olive);
}

/* Newsletter section — row layout for input + button */
.newsletter-input-row {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
}

.newsletter-input-row .newsletter-input {
  flex: 1;
}

/* Dark newsletter section — white text for checkboxes */
.newsletter-section .nl-consent-label {
  color: rgba(255, 255, 255, 0.72);
}

.newsletter-section .nl-consent-label a {
  color: rgba(255, 255, 255, 0.90);
}

/* Lead form on homepage — slightly smaller for card context */
.lead-form .form-consent-label {
  font-size: 0.78rem;
  color: rgba(48, 56, 39, 0.60);
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .lead-inner {
    grid-template-columns: 1fr;
  }
  .lead-content-panel {
    padding: 60px 32px 52px;
    min-height: auto;
  }
  .lead-form-panel {
    padding: 52px 32px 60px;
  }
}
@media (max-width: 600px) {
  .lead-content-panel { padding: 48px 24px 40px; }
  .lead-form-panel    { padding: 40px 20px 56px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   GIFT CARD — hero uses standard blog-hero-figma system, extra tweaks below
═══════════════════════════════════════════════════════════════════════════ */
.gift-hero-sub {
  color: rgba(255,255,255,0.88);
  font-size: 1.05rem;
  max-width: 540px;
  margin: 0 auto var(--spacing-md);
  line-height: 1.65;
}
.gift-hero-cta-row {
  display: flex;
  gap: var(--spacing-sm);
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 0;
}
.gift-hero-btn-how {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,0.5);
}
.gift-hero-btn-how:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.75);
}

/* HOW IT WORKS SECTION */
.gift-how-section {
  background: var(--color-cream, #f5f0e8);
}
.gift-how-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto var(--spacing-2xl);
}
.gift-how-header h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--color-dark);
  margin-bottom: var(--spacing-sm);
}
.gift-how-header p {
  color: var(--color-text-muted);
  line-height: 1.7;
  font-size: 1rem;
}
.gift-how-steps {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-xl);
  margin-bottom: var(--spacing-2xl);
}
.gift-how-step {
  display: flex;
  gap: var(--spacing-md);
  align-items: flex-start;
}
.gift-how-step-num {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
}
.gift-how-step-body h3 {
  font-size: 1.05rem;
  color: var(--color-dark);
  margin-bottom: 6px;
}
.gift-how-step-body p {
  font-size: 0.93rem;
  color: var(--color-text-muted);
  line-height: 1.65;
  margin: 0;
}
.gift-how-info-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-md);
}
.gift-how-info-card {
  background: #fff;
  border-radius: 14px;
  padding: var(--spacing-lg) var(--spacing-md);
  text-align: center;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
.gift-how-info-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--color-cream, #f5f0e8);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--spacing-sm);
}
.gift-how-info-icon svg { width: 22px; height: 22px; stroke: var(--color-primary); }
.gift-how-info-card h4 {
  font-size: 0.95rem;
  color: var(--color-dark);
  margin-bottom: 6px;
}
.gift-how-info-card p {
  font-size: 0.87rem;
  color: var(--color-text-muted);
  line-height: 1.6;
  margin: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   GIFT CARD OLD HERO (legacy — kept for backwards compat, hidden by new template)
═══════════════════════════════════════════════════════════════════════════ */
.gift-hero {
  position: relative;
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}
.gift-hero .page-hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(48,56,39,0.42) 0%, rgba(48,56,39,0.62) 100%);
  z-index: 1;
}
.gift-hero-inner {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
}
.gift-hero-inner h1 {
  color: #fff !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4), 0 4px 32px rgba(0,0,0,0.25);
  margin: 0 0 var(--spacing-sm);
}
.gift-hero-inner p {
  color: rgba(255,255,255,0.9) !important;
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  max-width: 520px;
  margin-inline: auto;
  margin-bottom: var(--spacing-md);
  text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}
.gift-hero-cta-row {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Gift card mockup float below hero ── */
.gift-hero-mockup-row {
  position: relative; z-index: 2;
  display: flex; justify-content: center;
  margin-top: var(--spacing-xl);
  pointer-events: none;
}
.gift-hero-mockup-row img,
.gift-hero-mockup-row svg {
  width: min(420px, 88vw);
  filter: drop-shadow(0 20px 40px rgba(0,0,0,0.35));
  border-radius: 16px;
}

/* ── Amount selector ── */
.gift-amounts {
  background: var(--color-cream);
  padding-block: var(--spacing-2xl);
}
.gift-amounts-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto var(--spacing-xl);
}
.gift-amounts-header h2 {
  font-family: var(--font-hebrew);
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
  letter-spacing: -0.01em;
}
.gift-amounts-header p {
  color: var(--color-gray);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
}
.gift-amounts-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--spacing-md);
  max-width: 1100px;
  margin: 0 auto var(--spacing-lg);
}
.gift-amt-card {
  background: #fff;
  border: 1px solid rgba(48,56,39,0.12);
  border-radius: var(--radius-md);
  padding: 28px 16px 24px;
  text-align: center;
  cursor: pointer;
  transition: all var(--transition);
  font-family: var(--font-hebrew);
  display: flex; flex-direction: column;
  align-items: center; gap: 10px;
}
.gift-amt-card:hover {
  transform: translateY(-3px);
  border-color: var(--color-primary);
  box-shadow: 0 6px 20px rgba(48,56,39,0.08);
}
.gift-amt-card.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.gift-amt-card-value {
  font-family: var(--font-hebrew);
  font-size: 1.7rem; font-weight: 500;
  color: var(--color-primary);
  line-height: 1;
  transition: color var(--transition);
}
.gift-amt-card.active .gift-amt-card-value { color: #fff; }
.gift-amt-card-label {
  font-size: 0.78rem; color: var(--color-gray);
  letter-spacing: 0.3px;
  transition: color var(--transition);
}
.gift-amt-card.active .gift-amt-card-label { color: rgba(255,255,255,0.8); }

.gift-custom-row {
  max-width: 520px; margin: 0 auto;
  display: flex; align-items: center; gap: var(--spacing-sm);
  background: #fff;
  border: 1px solid rgba(48,56,39,0.12);
  border-radius: var(--radius-full);
  padding: 6px 8px 6px 20px;
}
.gift-custom-label {
  font-family: var(--font-hebrew);
  font-size: 0.95rem; color: var(--color-gray);
  white-space: nowrap;
}
.gift-custom-input {
  flex: 1; border: none; outline: none;
  background: transparent;
  font-family: var(--font-hebrew);
  font-size: 1rem; color: var(--color-primary);
  padding: 10px 4px; text-align: right;
}
.gift-custom-input::placeholder { color: #bbb; }
.gift-custom-symbol {
  font-family: var(--font-hebrew);
  font-size: 1.1rem; color: var(--color-olive);
}

/* ── Delivery form section ── */
.gift-form-section {
  background: #fcfaf5;
  padding-block: var(--spacing-2xl);
}
.gift-form-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: var(--spacing-2xl);
  align-items: start;
}
.gift-form-header { margin-bottom: var(--spacing-xl); }
.gift-form-header h2 {
  font-family: var(--font-hebrew);
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 700; color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
}
.gift-form-header p {
  color: var(--color-gray); font-size: 1rem;
  line-height: 1.7; margin: 0;
}
.gift-form-card {
  background: #fff;
  border: 1px solid rgba(48,56,39,0.1);
  border-radius: var(--radius-md);
  padding: var(--spacing-xl) var(--spacing-lg);
}
.gift-field-group-title {
  font-family: var(--font-hebrew);
  font-weight: 700; color: var(--color-primary);
  font-size: 1rem;
  margin: var(--spacing-md) 0 var(--spacing-sm);
}
.gift-field-group-title:first-child { margin-top: 0; }
.gift-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-sm);
}
.gift-row.single { grid-template-columns: 1fr; }
.gift-field label {
  display: block; font-size: 14px;
  color: var(--color-primary); margin-bottom: 8px;
  font-family: var(--font-hebrew);
  font-weight: 500;
  padding-inline-start: 22px;
}
.gift-field input,
.gift-field textarea,
.gift-field select {
  width: 100%;
  border: 1.2px solid var(--color-primary);
  border-radius: 999px;
  padding: 13px 22px;
  font-family: var(--font-hebrew);
  font-size: 15px; color: var(--color-primary);
  background: transparent;
  transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
  box-sizing: border-box;
  outline: none;
}
.gift-field input:focus,
.gift-field textarea:focus,
.gift-field select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(48,56,39,0.08);
  background: rgba(48,56,39,0.02);
}
.gift-field input::placeholder,
.gift-field textarea::placeholder {
  color: rgba(48,56,39,0.38);
}
.gift-field select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.gift-field textarea { border-radius: 32px; resize: vertical; min-height: 96px; }
.gift-type-row {
  display: flex; gap: var(--spacing-sm);
  margin-bottom: var(--spacing-md);
}
.gift-type-opt {
  flex: 1; padding: 14px 16px;
  border: 1px solid rgba(48,56,39,0.15);
  border-radius: var(--radius-md);
  background: #fff;
  font-family: var(--font-hebrew);
  font-weight: 600; font-size: 0.95rem;
  color: var(--color-primary);
  cursor: pointer;
  transition: all var(--transition);
  display: inline-flex; align-items: center;
  justify-content: center; gap: 6px;
}
.gift-type-opt:hover { border-color: var(--color-primary); }
.gift-type-opt.sel {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}
.gift-type-opt svg { width: 18px; height: 18px; }
.gift-sep {
  border: none;
  border-top: 1px solid rgba(48,56,39,0.1);
  margin: var(--spacing-md) 0;
}

/* ── Sticky summary sidebar ── */
.gift-summary {
  position: sticky; top: 110px;
  background: #fff;
  border: 1px solid rgba(48,56,39,0.1);
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
}
.gift-summary h3 {
  font-family: var(--font-hebrew);
  font-size: 1.05rem; font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-md);
  padding-bottom: var(--spacing-sm);
  border-bottom: 1px solid rgba(48,56,39,0.1);
}
.gift-summary-row {
  display: flex; justify-content: space-between;
  align-items: baseline;
  font-size: 0.95rem; color: var(--color-gray);
  margin-bottom: var(--spacing-sm);
}
.gift-summary-row strong {
  font-family: var(--font-hebrew);
  font-size: 1.15rem; font-weight: 500;
  color: var(--color-primary);
}
.gift-free { color: var(--color-olive); font-weight: 600; }
.gift-summary-total {
  display: flex; justify-content: space-between;
  align-items: baseline;
  padding-top: var(--spacing-sm);
  margin-top: var(--spacing-sm);
  border-top: 1px solid rgba(48,56,39,0.1);
}
.gift-summary-total span:first-child {
  font-family: var(--font-hebrew);
  font-size: 1rem; font-weight: 700;
  color: var(--color-primary);
}
.gift-summary-total span:last-child {
  font-family: var(--font-hebrew);
  font-size: 1.6rem; font-weight: 500;
  color: var(--color-primary);
}
.gift-summary .btn-primary {
  width: 100%; justify-content: center;
  margin-top: var(--spacing-md);
  padding: 14px 24px;
  display: flex;
}
.gift-secure {
  margin-top: var(--spacing-md);
  text-align: center; font-size: 0.8rem;
  color: var(--color-gray);
  display: flex; align-items: center;
  justify-content: center; gap: 6px;
}
.gift-secure svg { width: 14px; height: 14px; }
.gift-info-card {
  background: var(--color-cream);
  border-radius: var(--radius-md);
  padding: var(--spacing-md);
  margin-top: var(--spacing-md);
}
.gift-info-card-title {
  font-family: var(--font-hebrew);
  font-weight: 700; color: var(--color-primary);
  font-size: 0.9rem; margin-bottom: 8px;
}
.gift-info-card ul {
  margin: 0; padding-right: 18px; list-style: disc;
}
.gift-info-card li {
  font-size: 0.82rem; color: var(--color-gray);
  line-height: 1.8;
}

/* ── How-it-works trust strip ── */
.trust-strip {
  background: var(--color-primary);
  padding: 56px 0;
}
.trust-strip-inner {
  display: flex; justify-content: space-between;
  align-items: center; flex-wrap: wrap;
}
.trust-strip-item {
  display: inline-flex; align-items: center;
  gap: 18px; color: var(--color-cream);
  font-family: var(--font-hebrew);
  font-weight: 700; font-size: 1.1rem;
  flex: 1 1 0; justify-content: center;
  min-width: 0; padding: 8px 24px;
}
.trust-strip-item-icon {
  width: 44px; height: 44px; flex-shrink: 0;
  display: inline-flex; align-items: center;
  justify-content: center; color: var(--color-cream);
}
.trust-strip-item-icon svg { width: 36px; height: 36px; }
.trust-strip-item + .trust-strip-item {
  border-right: 1px solid rgba(242,240,232,0.20);
}

/* ── Features strip ── */
.gift-features {
  background: #fcfaf5;
  padding-block: var(--spacing-2xl);
  border-top: 1px solid rgba(48,56,39,0.08);
}
.gift-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
}
.gift-feat {
  text-align: center;
  padding: var(--spacing-lg);
}
.gift-feat-icon {
  width: 56px; height: 56px;
  margin: 0 auto var(--spacing-md);
  display: flex; align-items: center; justify-content: center;
  background: var(--color-cream);
  border-radius: 50%;
  color: var(--color-primary);
}
.gift-feat-icon svg { width: 26px; height: 26px; }
.gift-feat h3 {
  font-family: var(--font-hebrew);
  font-size: 1.1rem; font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 var(--spacing-sm);
}
.gift-feat p {
  color: var(--color-gray);
  font-size: 0.95rem; line-height: 1.75; margin: 0;
}

/* ── Reusable gift-card promo section (for homepage etc.) ── */
.gift-promo-section {
  background: var(--color-primary);
  padding-block: var(--spacing-2xl);
  overflow: hidden;
}
.gift-promo-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-2xl);
  align-items: center;
}
.gift-promo-text .section-kicker { color: rgba(242,239,224,0.65); }
.gift-promo-text h2 {
  font-family: var(--font-hebrew);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 700; color: var(--color-cream);
  margin: 0 0 var(--spacing-md);
  letter-spacing: -0.02em;
}
.gift-promo-text p {
  color: rgba(242,239,224,0.78);
  font-size: 1.05rem; line-height: 1.75;
  margin: 0 0 var(--spacing-lg);
}
.gift-promo-text .btn-secondary {
  background: transparent;
  color: var(--color-cream);
  border-color: rgba(242,239,224,0.45);
}
.gift-promo-text .btn-secondary:hover {
  background: rgba(242,239,224,0.12);
  border-color: var(--color-cream);
}
.gift-promo-visual {
  display: flex; justify-content: center; align-items: center;
}
.gift-promo-visual img,
.gift-promo-visual svg {
  width: min(380px, 90%);
  filter: drop-shadow(0 16px 40px rgba(0,0,0,0.30));
  border-radius: 14px;
}

/* ── Gift card responsive ── */
@media (max-width: 1024px) {
  .gift-amounts-grid { grid-template-columns: repeat(3, 1fr); }
  .gift-form-layout { grid-template-columns: 1fr; }
  .gift-summary { position: static; }
  .gift-how-info-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .trust-strip { padding: 40px 0; }
  .trust-strip-inner { flex-wrap: wrap; }
  .trust-strip-item { flex: 1 1 45%; justify-content: flex-start; padding: 14px 16px; }
  .trust-strip-item + .trust-strip-item { border-right: none; }
  .gift-features-grid { grid-template-columns: 1fr; }
  .gift-promo-inner { grid-template-columns: 1fr; }
  .gift-promo-visual { margin-top: var(--spacing-lg); }
  .gift-how-steps { grid-template-columns: 1fr; gap: var(--spacing-lg); }
  .gift-how-info-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .gift-amounts-grid { grid-template-columns: repeat(2, 1fr); gap: var(--spacing-sm); }
  .gift-amt-card { padding: 20px 12px 18px; }
  .gift-amt-card-value { font-size: 1.4rem; }
  .gift-row { grid-template-columns: 1fr; }
  .gift-type-row { flex-direction: column; }
  .gift-form-card { padding: var(--spacing-md); }
  .gift-how-info-row { grid-template-columns: 1fr; }
  .gift-hero-cta-row { flex-direction: column; align-items: center; }
  .trust-strip-item { flex: 1 1 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   GLOBAL HERO H1 OVERRIDE — all image-background page heroes
   Prevents the generic .page-hero h1 dark-green rule from bleeding into
   image heroes. Any h1 inside .blog-hero-figma-inner or .gift-hero-inner
   is guaranteed white regardless of inheritance order.
═══════════════════════════════════════════════════════════════════════════ */
.blog-hero-figma .blog-hero-figma-inner h1,
.gift-hero .gift-hero-inner h1,
.cart-hero-v2 .blog-hero-figma-inner h1 {
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   GLOBAL HERO PARAGRAPH/SPAN OVERRIDE — all image-background page heroes
   The generic .page-hero p rule sets color: var(--color-gray) which is dark.
   Any p / span inside dark-image hero containers must render white.
═══════════════════════════════════════════════════════════════════════════ */
.blog-hero-figma .blog-hero-figma-inner p,
.blog-hero-figma .blog-hero-figma-inner span:not(.cat-count):not(.badge):not(.sep),
.cat-hero-v2 .blog-hero-figma-inner p,
.cat-hero-v2 .blog-hero-figma-inner span:not(.cat-count):not(.badge):not(.sep),
.gift-hero .gift-hero-inner p,
.gift-hero .gift-hero-inner span:not(.badge),
.cart-hero-v2 .blog-hero-figma-inner p,
.cart-hero-v2 .blog-hero-figma-inner span:not(.cat-count):not(.badge):not(.sep) {
  color: rgba(255, 255, 255, 0.88) !important;
}
/* Breadcrumb links inside dark heroes */
.blog-hero-figma .breadcrumb a,
.blog-hero-figma .breadcrumb,
.cat-hero-v2 .breadcrumb a,
.cat-hero-v2 .breadcrumb,
.gift-hero .breadcrumb a,
.gift-hero .breadcrumb,
.cart-hero-v2 .breadcrumb a,
.cart-hero-v2 .breadcrumb {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CART SIDEBAR — clean summary rows + custom checkout button
═══════════════════════════════════════════════════════════════════════════ */
.cart-summary-rows {
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
  border-top: 1px solid rgba(48,56,39,0.08);
  padding-top: 4px;
}
/* Separate shipping picker from subtotal row */
.ship-picker { border-top: 1px dashed rgba(48,56,39,0.1); padding-top: 14px; }
/* Bigger total amount */
.summary-row.total { padding-top: 14px; border-top: 2px solid rgba(48,56,39,0.12); margin-top: 6px; }
.summary-row.total span:first-child { font-size: 1rem; font-weight: 700; }
.summary-row.total span:last-child  { font-size: 1.6rem; font-weight: 700; }

/* ── WC Native Cart Totals — styled to match our design ─────────────────── */

/* Reset table to clean block layout */
.cart_totals .shop_table { border: none !important; margin: 0; }
.cart_totals .shop_table tbody { display: block; }
.cart_totals .shop_table tr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border: none !important;
  border-bottom: 1px solid rgba(48,56,39,0.08) !important;
}
.cart_totals .shop_table th,
.cart_totals .shop_table td { display: block; border: none !important; padding: 0; }
.cart_totals .shop_table th { font-weight: 600; font-size: 0.95rem; }
.cart_totals .shop_table td { font-weight: 500; }

/* Shipping row — full-width column */
.cart_totals .shop_table tr.shipping { flex-direction: column; align-items: stretch; }
.cart_totals .shop_table tr.shipping th { margin-bottom: 10px; font-size: 0.78rem; font-weight: 700; color: rgba(48,56,39,0.5); text-transform: uppercase; letter-spacing: 0.06em; }
.cart_totals .shop_table tr.shipping td { width: 100%; }

/* Shipping method list — pill cards like our design */
.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.woocommerce-shipping-methods li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border: 1.5px solid rgba(48,56,39,0.15);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.woocommerce-shipping-methods li:has(input:checked) { border-color: var(--color-primary); background: rgba(48,56,39,0.04); }
.woocommerce-shipping-methods li input[type="radio"] { accent-color: var(--color-primary); flex-shrink: 0; }
.woocommerce-shipping-methods li label { flex: 1; cursor: pointer; font-size: 0.92rem; margin: 0; }
.woocommerce-shipping-destination { display: none; }

/* Total row — big */
.cart_totals .shop_table tr.order-total {
  border-bottom: none !important;
  border-top: 2px solid rgba(48,56,39,0.12) !important;
  padding-top: 14px;
  margin-top: 4px;
}
.cart_totals .shop_table tr.order-total th { font-size: 1rem; font-weight: 700; }
.cart_totals .shop_table tr.order-total td strong { font-size: 1.5rem; font-weight: 700; }

/* Checkout button */
.cart_totals .wc-proceed-to-checkout { padding: 0; margin-top: 4px; }
.cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 15px 24px;
  background: var(--color-primary) !important;
  color: var(--color-cream, #F2EFE0) !important;
  border-radius: 50px !important;
  font-family: var(--font-hebrew);
  font-size: 1.08rem;
  font-weight: 600;
  text-decoration: none !important;
  box-shadow: 0 2px 16px rgba(48,56,39,0.22);
  transition: background 0.2s, transform 0.15s;
  margin: 16px 0 0;
}
.cart_totals .wc-proceed-to-checkout a.checkout-button:hover { background: #2a3424 !important; color: #fff !important; transform: translateY(-2px); }
.order-summary-card .cart_totals .wc-proceed-to-checkout a,
.order-summary-card .cart_totals .wc-proceed-to-checkout a * { color: var(--color-cream, #F2EFE0) !important; }

/* Hide WC's h2 heading (we have our own h3) */
.order-summary-card .cart_totals > h2 { display: none; }

/* ── Shipping method picker — brand colors ─────────────────────────────── */
.ship-picker { margin-bottom: 16px; }
.ship-picker-label {
  font-family: var(--font-hebrew);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(48,56,39,0.5);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 10px;
}
.ship-option {
  position: relative;          /* so the radio overlay stays inside */
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  min-height: 60px;
  border: 2px solid rgba(48,56,39,0.15);
  border-radius: 12px;
  cursor: pointer;
  margin-bottom: 8px;
  background: #fff;
  transition: border-color 0.22s, background 0.22s, box-shadow 0.22s;
  user-select: none;
  -webkit-user-select: none;
}
.ship-option:hover { border-color: rgba(48,56,39,0.4); }

/* Radio input: transparent overlay covering the entire card — most reliable click target */
.ship-option input[type="radio"] {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  margin: 0;
  z-index: 2;
}

/* Custom radio circle — right side (RTL: displayed last = visual left) */
.ship-option::after {
  content: '';
  flex-shrink: 0;
  order: -1;                   /* shows at start (right in RTL) */
  width: 20px; height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(48,56,39,0.22);
  background: #fff;
  transition: border-color 0.22s, background 0.22s;
  pointer-events: none;
  position: relative;
  z-index: 1;
}

/* Selected state — CSS :has(input:checked) reads native radio state directly.
   No JS class needed; one radio checked = one card selected. */
.ship-option:has(input:checked) {
  border-color: var(--color-primary, #303827);
  background: var(--color-cream, #F2EFE0);
  box-shadow: 0 2px 12px rgba(48,56,39,0.12);
}
.ship-option:has(input:checked)::after {
  border-color: var(--color-primary, #303827);
  background: radial-gradient(circle, var(--color-primary, #303827) 42%, #fff 44%);
}
.ship-option:has(input:checked) .ship-option-name,
.ship-option:has(input:checked) .ship-option-price,
.ship-option:has(input:checked) .ship-option-icon { color: var(--color-primary, #303827) !important; }

.ship-option-icon {
  color: rgba(48,56,39,0.4);
  flex-shrink: 0;
  transition: color 0.22s;
  position: relative; z-index: 1; pointer-events: none;
}
.ship-option-text { flex: 1; position: relative; z-index: 1; pointer-events: none; }
.ship-option-name {
  font-family: var(--font-hebrew);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-primary, #303827);
  display: block;
}
.ship-option-price {
  font-family: var(--font-hebrew);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-primary, #303827);
  white-space: nowrap;
  position: relative; z-index: 1; pointer-events: none;
}
.ship-option-price .summary-free { color: #5a7a2e; font-weight: 700; }
.ship-option-desc {
  display: block;
  font-size: 0.78rem;
  color: rgba(48,56,39,0.5);
  margin-top: 2px;
  font-weight: 400;
}

/* ── Hide ALL VAT / tax text site-wide ─────────────────────────────────── */
.includes_tax,
small.tax_label,
.tax_label,
.wc-block-components-totals-taxes,
.cart-tax-total,
.order-total .tax_label,
.shop_table .tax-rate,
.shop_table td.product-total small,
.woocommerce-checkout-review-order-table .tax-rate {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CART BELOW-TABLE ROW — "Continue shopping" + mini trust icons
   Replaces the redundant "סה"כ ללא משלוח" total line with trust signals
   that actually help reduce cart abandonment.
═══════════════════════════════════════════════════════════════════════════ */
.cart-below-table {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--spacing-lg);
  flex-wrap: wrap;
  gap: 12px;
}
.cart-trust-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.cart-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.8rem;
  color: var(--color-gray);
  white-space: nowrap;
}
.cart-trust-item svg {
  flex-shrink: 0;
  color: var(--color-olive, #6c8b4a);
}
.cart-trust-sep {
  color: rgba(0,0,0,0.2);
  font-size: 0.75rem;
}
@media (max-width: 680px) {
  .cart-trust-row { display: none; }
  .cart-below-table { justify-content: center; }
}

/* ── Shop: WooCommerce ordering select & sidebar polish (2026-04-26) ── */
.woocommerce-ordering select,
.woocommerce-ordering select.orderby {
  font-family: var(--font-hebrew) !important;
  font-size: 0.88rem !important;
  color: var(--color-primary) !important;
  background-color: transparent !important;
  border: 1.2px solid var(--color-primary) !important;
  border-radius: 999px !important;
  padding: 9px 36px 9px 18px !important;
  cursor: pointer;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23303827' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: left 14px center !important;
  font-weight: 500 !important;
  min-width: 180px;
  box-shadow: none !important;
  outline: none !important;
}
.woocommerce-ordering select:hover,
.woocommerce-ordering select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(48,56,39,0.08) !important;
}
.woocommerce-ordering { margin-bottom: 0 !important; }

/* Sidebar sub-links — inherit clean list style */
.sidebar-sub-link {
  border-radius: 0 !important;
  padding: 7px 0 7px 12px !important;
}
.sidebar-sub-link:hover,
.sidebar-sub-link.active {
  border-radius: 0 !important;
  background: none !important;
  color: var(--color-primary) !important;
  font-weight: 600 !important;
}

/* ── About: find-bar (trust-strip style) ── */
.about-find-bar {
  background: var(--color-cream, #f2f0e8);
  padding: 20px 0 0;
  border-top: 1px solid rgba(48,56,39,0.07);
  border-bottom: 1px solid rgba(48,56,39,0.07);
}
.about-find-bar .container { padding-bottom: 0; }
.about-find-bar-label {
  font-family: var(--font-hebrew);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(48,56,39,0.45);
  text-align: center;
  margin: 0 0 20px;
}
.about-find-bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
}
.about-find-bar-inner::-webkit-scrollbar { display: none; }
.about-find-bar-item {
  flex: 1 1 0;
  min-width: 140px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 28px 20px;
  text-decoration: none;
  color: var(--color-primary);
  border-top: 1px solid rgba(48,56,39,0.07);
  transition: background 0.18s;
  text-align: center;
}
.about-find-bar-item + .about-find-bar-item {
  border-right: 1px solid rgba(48,56,39,0.07);
}
.about-find-bar-item:hover { background: rgba(48,56,39,0.05); }
.about-find-bar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  opacity: 0.75;
}
.about-find-bar-title {
  font-family: var(--font-hebrew);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.2;
}
.about-find-bar-sub {
  font-family: var(--font-hebrew);
  font-size: 0.78rem;
  color: rgba(48,56,39,0.55);
  font-weight: 400;
}
@media (max-width: 680px) {
  .about-find-bar-inner { justify-content: flex-start; }
  .about-find-bar-item { min-width: 130px; padding: 20px 16px; }
  .about-find-bar-sub { display: none; }
}

/* ── About: FAQ CTA button ── */
.about-faq-cta { text-align: center; margin-top: 40px; }

/* ── About: contact split ── */
.about-contact-split { margin-top: 0; }
.about-contact-perks-list {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.about-contact-perks-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-hebrew);
  font-size: 1rem;
  color: var(--color-cream);
  font-weight: 500;
}
.about-contact-perks-list li svg { flex-shrink: 0; opacity: 0.8; }

/* ── Variable product: new clean pill UI ── */
.pgv2-variations-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.pgv2-variation-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pgv2-variation-label-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-hebrew);
}
.pgv2-variation-attr-name {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--color-primary);
}
.pgv2-variation-selected-val {
  font-size: 0.85rem;
  font-weight: 400;
  color: var(--color-primary);
}
.pgv2-variation-selected-val::before { content: '— '; }
.pgv2-variation-selected-val--empty {
  color: rgba(48,56,39,0.38);
  font-style: italic;
}
.pgv2-variation-selected-val--empty::before { content: ''; }

/* Pill buttons */
.pgv2-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pgv2-pill-btn {
  font-family: var(--font-hebrew);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--color-primary);
  background: transparent;
  border: 1.5px solid rgba(48,56,39,0.30);
  border-radius: 999px;
  padding: 7px 18px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  line-height: 1.3;
}
.pgv2-pill-btn:hover {
  border-color: var(--color-primary);
  background: rgba(48,56,39,0.05);
}
.pgv2-pill-btn.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}
.pgv2-pill-btn.unavailable,
.pgv2-color-swatch.pgv2-pill-na,
.pgv2-pill-btn.pgv2-pill-na {
  opacity: 0.35;
  cursor: not-allowed;
}

/* ─────────────────────────────────────────────────────────────────────
   Category hub (prominent landing for /tree-in-pot/) — large pot-type tiles
   ───────────────────────────────────────────────────────────────────── */
.cat-hub {
  max-width: 1280px;
  margin: 32px auto 48px;
  padding: 0 24px;
}
.cat-hub-head {
  text-align: center;
  margin-bottom: 32px;
}
.cat-hub-kicker {
  display: inline-block;
  font-family: var(--font-hebrew);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  color: #B38E4E;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.cat-hub-title {
  font-family: var(--font-hebrew), 'Heebo', sans-serif;
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 700;
  color: #303827;
  margin: 0 0 14px;
  line-height: 1.2;
}
.cat-hub-sub {
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  color: rgba(48,56,39,0.72);
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.6;
}
.cat-hub-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
  margin-bottom: 24px;
}
.cat-hub-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 10px 8px;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.cat-hub-tile:hover {
  background: #F5F0E8;
  border-color: rgba(48,56,39,0.06);
  transform: translateY(-2px);
}
.cat-hub-tile-img {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: #F5F0E8;
  overflow: hidden;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px rgba(48,56,39,0.05);
}
.cat-hub-tile-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cat-hub-tile-label {
  font-family: var(--font-hebrew);
  font-weight: 500;
  font-size: 0.88rem;
  color: #303827;
  line-height: 1.3;
}
/* CTA on hover removed — keeps tiles compact and uniform */
.cat-hub-tile-cta { display: none; }

.cat-hub-divider {
  text-align: center;
  margin: 24px auto 8px;
  position: relative;
}
.cat-hub-divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(48,56,39,0.08);
}
.cat-hub-divider span {
  position: relative;
  background: #fff;
  padding: 0 18px;
  font-family: var(--font-hebrew);
  font-size: 0.82rem;
  color: rgba(48,56,39,0.55);
}

/* Tablet — 4 columns */
@media (max-width: 1024px) {
  .cat-hub-grid { grid-template-columns: repeat(4, 1fr); gap: 12px; }
  .cat-hub-tile-img { width: 84px; height: 84px; }
}
/* Mobile — 3 columns, smaller tiles */
@media (max-width: 600px) {
  .cat-hub { padding: 0 14px; margin: 16px auto 22px; }
  .cat-hub-head { margin-bottom: 18px; }
  .cat-hub-grid { gap: 10px; grid-template-columns: repeat(3, 1fr); }
  .cat-hub-tile { padding: 8px 4px; }
  .cat-hub-tile-img { width: 72px; height: 72px; margin-bottom: 6px; }
  .cat-hub-tile-label { font-size: 0.78rem; }
}

/* Sequential gating — rows that can't yet be picked are shown but disabled */
.pgv2-variation-row.pgv2-row-gated {
  opacity: 0.45;
  pointer-events: none;
  filter: grayscale(0.4);
  transition: opacity .25s ease, filter .25s ease;
}
.pgv2-variation-row.pgv2-row-gated .pgv2-pill-btn,
.pgv2-variation-row.pgv2-row-gated .pgv2-color-swatch {
  cursor: not-allowed;
}

/* Shake animation when user clicks a gated row — directs attention to the
   row that needs to be picked first. */
@keyframes pgv2RowShake {
  0%, 100% { transform: translateX(0); }
  20%      { transform: translateX(-4px); }
  40%      { transform: translateX(4px); }
  60%      { transform: translateX(-3px); }
  80%      { transform: translateX(2px); }
}
.pgv2-variation-row.pgv2-row-shake {
  animation: pgv2RowShake .45s ease-in-out;
  outline: 2px solid rgba(179,142,78,.55);
  outline-offset: 4px;
  border-radius: 8px;
}

/* Reset link */
.pgv2-reset-link {
  font-family: var(--font-hebrew);
  font-size: 0.78rem;
  color: rgba(48,56,39,0.50);
  text-decoration: underline;
  cursor: pointer;
  align-self: flex-start;
}
.pgv2-reset-link:hover { color: var(--color-primary); }

/* ── Homepage Trust Strip (moved from inline style 2026-04-27) ───────────── */
.trust-strip { background: var(--color-primary); padding: 64px 0; }
.trust-strip-inner { display: flex; justify-content: space-between; align-items: center; gap: 0; flex-wrap: wrap; }
.trust-strip-item { display: inline-flex; align-items: center; gap: 18px; color: var(--color-cream); font-family: var(--font-hebrew); font-weight: 700; font-size: 1.15rem; letter-spacing: .2px; flex: 1 1 0; justify-content: center; min-width: 0; padding: 8px 24px; }
.trust-strip-item-icon { width: 52px; height: 52px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; color: var(--color-cream); }
.trust-strip-item-icon svg { width: 38px; height: 38px; }
.trust-strip-item-icon img { width: 52px; height: 52px; object-fit: contain; }
.trust-strip-item + .trust-strip-item { border-right: 1px solid rgba(242, 240, 232, .22); }
@media (max-width: 992px) {
  .trust-strip { padding: 44px 0; }
  .trust-strip-inner { flex-wrap: wrap; }
  .trust-strip-item { flex: 1 1 45%; justify-content: flex-start; padding: 14px 16px; }
  .trust-strip-item + .trust-strip-item { border-right: none; }
}
@media (max-width: 640px) {
  .trust-strip-item { flex: 1 1 100%; }
}

/* ══════════════════════════════════════════════════════
   Cart page — mobile/tablet layout (added 2026-04-27)
   Rebuild each cart row as a card. Override WC's default
   shop_table_responsive stack which was hiding our
   product-thumbnail content.
══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Hide the desktop header row (כמות / סכום etc) */
  .cart-table thead { display: none !important; }

  /* Each cart item becomes a card */
  .cart-table tbody { display: block; }
  .cart-table tr.woocommerce-cart-form__cart-item,
  .cart-table tr.cart_item {
    display: grid !important;
    grid-template-columns: 90px 1fr auto;
    grid-template-areas:
      "thumb info remove"
      "thumb qty total";
    gap: 10px 14px;
    align-items: center;
    padding: 16px 14px;
    margin-bottom: 12px;
    background: #fff;
    border: 1px solid rgba(48, 56, 39, 0.12);
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  }

  .cart-table tr.cart_item td { display: contents; padding: 0; border: none; }

  /* Force the responsive ::before pseudo labels off (we render our own context) */
  .cart-table tr.cart_item td::before { content: none !important; }

  /* Product thumbnail cell — image + name + unit price stack */
  .cart-table tr.cart_item td.product-thumbnail { grid-area: thumb / thumb / qty / qty; }
  .cart-table tr.cart_item .cart-product-cell {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .cart-table tr.cart_item .cart-product-cell .cart-product-img-link {
    grid-area: thumb;
    align-self: start;
  }
  .cart-table tr.cart_item .cart-product-cell img {
    width: 90px !important;
    height: 90px !important;
    min-width: 90px;
    border-radius: 8px;
  }
  /* Move name+price into a separate area beside the image */
  .cart-table tr.cart_item .cart-product-info {
    grid-area: info;
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: right;
  }
  .cart-table tr.cart_item .cart-product-name { font-size: 0.95rem; line-height: 1.3; }
  .cart-table tr.cart_item .cart-product-unit-price { font-size: 0.82rem; color: rgba(48, 56, 39, 0.55); }

  /* Restructure cart-product-cell to match grid areas via subgrid trick */
  .cart-table tr.cart_item td.product-thumbnail {
    display: contents;
  }
  .cart-table tr.cart_item td.product-thumbnail .cart-product-cell {
    display: contents;
  }
  .cart-table tr.cart_item .cart-product-img-link {
    grid-area: thumb;
    display: block;
  }
  .cart-table tr.cart_item .cart-product-info {
    grid-area: info;
  }

  /* Quantity and subtotal in bottom row */
  .cart-table tr.cart_item td.product-quantity {
    grid-area: qty;
    text-align: right;
  }
  .cart-table tr.cart_item td.product-subtotal {
    grid-area: total;
    text-align: left;
    font-size: 1rem;
    font-weight: 700;
  }

  /* Remove cross to top-left of card */
  .cart-table tr.cart_item td:not(.product-thumbnail):not(.product-quantity):not(.product-subtotal) {
    grid-area: remove;
    text-align: left;
    align-self: start;
  }
  .cart-table tr.cart_item .cart-remove {
    font-size: 1.4rem;
    line-height: 1;
    padding: 4px 8px;
    color: rgba(48, 56, 39, 0.5);
  }

  /* Tighten qty-control on mobile */
  .cart-table tr.cart_item .qty-control {
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }
  .cart-table tr.cart_item .qty-btn {
    width: 32px;
    height: 32px;
    font-size: 1.1rem;
  }
  .cart-table tr.cart_item .qty-control .quantity { display: inline-block; }
  .cart-table tr.cart_item .qty-control input.qty {
    width: 40px;
    height: 32px;
    text-align: center;
    border: 1px solid rgba(48, 56, 39, 0.18);
    border-radius: 4px;
  }

  /* Actions row (coupon + update cart) */
  .cart-table tr td.actions {
    display: block !important;
    padding: 14px 4px !important;
  }
  .cart-table tr td.actions::before { content: none !important; }
  .cart-table .coupon {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 10px;
  }
  .cart-table .coupon input[type="text"] {
    max-width: 100%;
    width: 100%;
  }

  /* Cart layout: stack sidebar below items */
  .cart-layout {
    grid-template-columns: 1fr !important;
    gap: var(--spacing-lg) !important;
  }

  /* Free-ship bar tighter padding */
  .free-ship-bar { padding: 12px 14px; gap: 12px; }
  .free-ship-icon { width: 40px; height: 40px; }
}

/* Smaller phones — even tighter */
@media (max-width: 480px) {
  .cart-table tr.cart_item {
    grid-template-columns: 72px 1fr auto;
    padding: 12px 10px;
    gap: 8px 10px;
  }
  .cart-table tr.cart_item .cart-product-cell img {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px;
  }
  .cart-table tr.cart_item .cart-product-name { font-size: 0.88rem; }
  .cart-table tr.cart_item .qty-btn {
    width: 28px;
    height: 28px;
  }
  .cart-table tr.cart_item .qty-control input.qty {
    width: 36px;
    height: 28px;
  }
}

/* ══════════════════════════════════════════════════════
   Mobile typography & spacing scale-down (added 2026-04-27)
   Aligns the site with premium e-commerce sites (Nike,
   ASOS, Uniqlo, Apple). Base font-size drops, so all rem-
   based sizes scale proportionally. Fixed-px values are
   overridden individually below.
══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  html { font-size: 15px; }

  /* Section padding tighter */
  .section-pad { padding-block: 48px; }
  .section-pad-sm { padding-block: 36px; }
  .container { padding-inline: 16px; }

  /* Section header — smaller subtitles, tighter spacing */
  .section-header { margin-bottom: 28px; }
  .section-subtitle { font-size: 0.8rem; margin-bottom: 6px; }

  /* Hero — slightly smaller H1 + body */
  .hero-content h1 { font-size: 28px; line-height: 1.15; }
  .hero-content p { font-size: 14px; line-height: 1.55; }
  .hero-btn { padding: 10px 22px; font-size: 13px; min-height: 42px; }
  .hero-trust { font-size: 11.5px; }

  /* Buttons — sensible touch target without bulk */
  .btn, .btn-primary, .btn-secondary {
    padding: 10px 20px;
    font-size: 0.88rem;
    min-height: 42px;
  }
  .hero-cta-strip-btn, .about-cta-strip-btn { padding: 11px 22px; font-size: 0.9rem; }

  /* Page hero (interior pages) */
  .page-hero h1, .blog-hero-figma h1 { font-size: 1.7rem; }
  .page-hero { min-height: 200px; }
  .blog-hero-figma { min-height: 220px; }

  /* Product card */
  .pgv2-rc-name, .product-card-title { font-size: 0.85rem; line-height: 1.3; }
  .price-current { font-size: 0.95rem; }
  .pgv2-rc-card { padding: 8px; }

  /* Form fields */
  .contact-form-field input,
  .contact-form-field textarea,
  .gift-field input,
  .lead-field input,
  .lead-field textarea {
    font-size: 15px;  /* >= 16px would be ideal to stop iOS auto-zoom; we use 15px on label, but bump the inputs themselves */
    padding: 10px 14px;
  }
  .contact-form-field input,
  .contact-form-field textarea { font-size: 16px; } /* keep 16px on the actual inputs to prevent iOS zoom */
  .lead-field input, .lead-field textarea { font-size: 16px; }

  /* Trust strip */
  .trust-strip { padding: 38px 0; }
  .trust-strip-item { font-size: 0.95rem; padding: 10px 14px; }
  .trust-strip-item-icon { width: 42px; height: 42px; }
  .trust-strip-item-icon svg { width: 30px; height: 30px; }

  /* Story / About page text */
  .pots-story-content h2 { font-size: 24px; }
  .pots-story-content p, .about-intro p { font-size: 14.5px; line-height: 1.65; }

  /* Headings normalize on small viewports — tighter */
  h1 { font-size: clamp(1.55rem, 6vw, 2.1rem); }
  h2 { font-size: clamp(1.3rem, 5vw, 1.7rem); }
  h3 { font-size: clamp(1.1rem, 4vw, 1.4rem); }

  /* Newsletter / lead form on home */
  .lead-form-heading { font-size: 1.45rem; }
  .lead-form-eyebrow { font-size: 0.78rem; }

  /* Footer */
  .footer-col h4 { font-size: 0.95rem; }
  .footer-links-list a { font-size: 0.85rem; }
  .footer-bottom { font-size: 0.78rem; }

  /* Cart summary */
  .order-summary-card h3 { font-size: 1.1rem; }
  .summary-row { font-size: 0.92rem; }
  .summary-row.total { font-size: 1.05rem; }

  /* Checkout page */
  .checkout-step-num { width: 28px; height: 28px; font-size: 0.85rem; }

  /* Section section-line / dividers — keep proportional */
  .section-line, .divider { width: 60px; }
}

/* Even tighter on phones */
@media (max-width: 480px) {
  html { font-size: 14.5px; }
  .container { padding-inline: 14px; }
  .section-pad { padding-block: 40px; }
  .hero-content h1 { font-size: 24px; }
  .hero-content p { font-size: 13.5px; }
  .page-hero h1, .blog-hero-figma h1 { font-size: 1.5rem; }
  .btn, .btn-primary, .btn-secondary { padding: 9px 18px; font-size: 0.85rem; min-height: 40px; }
  h1 { font-size: clamp(1.4rem, 6.5vw, 1.85rem); }
  h2 { font-size: clamp(1.2rem, 5.5vw, 1.55rem); }
  h3 { font-size: clamp(1rem, 4.5vw, 1.3rem); }
}

/* ══════════════════════════════════════════════════════
   Mobile menu — classic clean redesign (2026-04-27)
   White background, brand font, subtle hierarchy.
   Inspired by Massimo Dutti / COS / Aritzia.
══════════════════════════════════════════════════════ */
.mobile-menu {
  background: #fff !important;
  color: var(--color-primary, #303827) !important;
}

/* Close button — minimal, dark on white */
.mobile-menu-close {
  background: transparent !important;
  color: var(--color-primary, #303827) !important;
  width: 40px !important;
  height: 40px !important;
  top: 14px !important;
  left: 14px !important;
}
.mobile-menu-close:hover { background: rgba(48, 56, 39, 0.06) !important; }
.mobile-menu-close svg { width: 22px; height: 22px; }

/* Logo: revert white-invert filter, keep dark logo on white */
.mobile-menu-logo {
  padding: 18px 24px 8px !important;
  border-bottom: 1px solid rgba(48, 56, 39, 0.08);
}
.mobile-menu-logo img {
  filter: none !important;
  height: 22px !important;
  max-width: 130px !important;
}

/* Nav scroll area */
.mobile-nav {
  padding: 10px 0 8px !important;
}

/* Each nav row */
.mobile-nav-item {
  border-bottom: 1px solid rgba(48, 56, 39, 0.08) !important;
}

.mobile-nav-category-row {
  padding: 4px 20px !important;
  gap: 12px !important;
}

/* Category link — classic typography, brand font, modest size */
.mobile-nav-category-link {
  color: var(--color-primary, #303827) !important;
  font-family: var(--font-hebrew, 'Heebo', sans-serif) !important;
  font-size: 1rem !important;            /* ~15px on mobile (after html scale) */
  font-weight: 500 !important;            /* not bold — premium feel */
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  padding: 14px 0 !important;
  gap: 14px !important;
}
.mobile-nav-category-link:hover {
  color: var(--color-olive, #6c8b4a) !important;
}

/* Thumbnail — smaller, subtle border */
.mobile-nav-thumb {
  width: 38px !important;
  height: 38px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(48, 56, 39, 0.10) !important;
  flex-shrink: 0;
}

/* Expand/collapse caret — minimal, dark */
.mobile-nav-toggle {
  width: 28px !important;
  height: 28px !important;
  background: transparent !important;
  color: var(--color-primary, #303827) !important;
  opacity: 0.6;
}
.mobile-nav-toggle:hover { opacity: 1; }
.mobile-nav-toggle svg { width: 14px; height: 14px; }
.mobile-nav-item.expanded .mobile-nav-toggle {
  background: transparent !important;
  opacity: 1;
}

/* Sub-menu — light cream background */
.mobile-submenu {
  background: rgba(48, 56, 39, 0.025) !important;
}
.mobile-submenu-link {
  color: rgba(48, 56, 39, 0.7) !important;
  font-family: var(--font-hebrew, 'Heebo', sans-serif) !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  border-bottom: 1px solid rgba(48, 56, 39, 0.05) !important;
  padding: 11px 30px 11px 24px !important;
  padding-inline-start: 72px !important;
}
.mobile-submenu-link:hover {
  color: var(--color-primary, #303827) !important;
  background: rgba(48, 56, 39, 0.04) !important;
}

/* Divider */
.mobile-nav-divider {
  background: rgba(48, 56, 39, 0.10) !important;
  margin: 8px 24px !important;
}

/* Utility links (אודות, Gift Card, מידע) — small caps style */
.mobile-nav-util-link {
  color: rgba(48, 56, 39, 0.8) !important;
  font-family: var(--font-hebrew, 'Heebo', sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  padding: 11px 24px !important;
}
.mobile-nav-util-link:hover {
  color: var(--color-primary, #303827) !important;
  background: rgba(48, 56, 39, 0.04) !important;
}
.mobile-nav-item--utility {
  border-bottom: 1px solid rgba(48, 56, 39, 0.06) !important;
}

/* Footer — subtle separation, dark elements on white */
.mobile-menu-footer {
  padding: 16px 22px 22px !important;
  border-top: 1px solid rgba(48, 56, 39, 0.10) !important;
  background: #fafaf6;
}
.mobile-menu-phone {
  color: var(--color-primary, #303827) !important;
  font-family: var(--font-hebrew, 'Heebo', sans-serif) !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
}
.mobile-menu-phone:hover { color: var(--color-olive, #6c8b4a) !important; }

.mobile-menu-social-link {
  background: rgba(48, 56, 39, 0.06) !important;
  color: var(--color-primary, #303827) !important;
  width: 34px !important;
  height: 34px !important;
}
.mobile-menu-social-link:hover {
  background: rgba(48, 56, 39, 0.12) !important;
}

.mobile-menu-cta {
  background: var(--color-primary, #303827) !important;
  color: #fff !important;
  padding: 9px 18px !important;
  font-size: 0.88rem !important;
  font-family: var(--font-hebrew, 'Heebo', sans-serif) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  border-radius: 999px !important;
}
.mobile-menu-cta:hover { background: #1f2519 !important; }

/* ══════════════════════════════════════════════════════
   About page contact-split — mobile fixes (2026-04-27)
   Cream-on-cream invisibility + form field clipping
══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Perks list (✓ items) — visible dark text on cream panel */
  .about-contact-split .about-contact-perks-list li {
    color: var(--color-primary) !important;
    font-size: 0.95rem;
    justify-content: center;
  }
  .about-contact-split .about-contact-perks-list li svg {
    opacity: 1;
    color: var(--color-olive, #6c8b4a);
  }
  .about-contact-split .about-contact-perks-list {
    margin-top: 18px;
    align-items: center;
  }

  /* Form title + subtitle — render visibly inside the dark olive panel */
  .about-contact-split .contact-form-title {
    color: var(--color-cream) !important;
    text-align: center;
    margin: 0 0 8px;
    font-size: 1.35rem;
  }
  .about-contact-split .contact-form-subtitle {
    color: rgba(245, 240, 232, 0.78) !important;
    text-align: center;
    margin: 0 0 18px;
    font-size: 0.92rem;
    line-height: 1.5;
  }

  /* Force pill-style inputs to render properly (some override was clipping them) */
  .about-contact-split .contact-form-field input,
  .about-contact-split .contact-form-field textarea {
    border-width: 1.5px !important;
    border-style: solid !important;
    border-radius: 999px !important;
    padding: 12px 18px !important;
    min-height: 44px;
    box-sizing: border-box;
  }
  .about-contact-split .contact-form-field textarea {
    border-radius: 22px !important;
    min-height: 64px;
  }

  /* Ensure the form wrapper doesn't collapse */
  .about-contact-split .contact-split-form .contact-form {
    width: 100%;
    max-width: 100%;
    gap: 16px;
  }

  /* Submit button — tighter on mobile */
  .about-contact-split .contact-form-submit {
    align-self: stretch;
    padding: 13px 24px !important;
    font-size: 0.95rem;
  }
}

/* ============================================================
   INFINITE SCROLL — loader spinner + sentinel
   ============================================================ */
.infinite-scroll-sentinel {
  height: 1px;
  margin-top: 16px;
}
.infinite-scroll-loader {
  display: none;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 28px 0 16px;
}
.infinite-scroll-loader.is-loading {
  display: flex;
}
.infinite-scroll-loader span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--color-primary);
  animation: ga-inf-dot 1s ease-in-out infinite;
}
.infinite-scroll-loader span:nth-child(2) { animation-delay: 0.15s; }
.infinite-scroll-loader span:nth-child(3) { animation-delay: 0.30s; }
@keyframes ga-inf-dot {
  0%, 80%, 100% { transform: scale(0.5); opacity: 0.3; }
  40%            { transform: scale(1);   opacity: 1;   }
}

/* ============================================================
   STICKY PRODUCT-PAGE CTA BAR — enhanced design
   ============================================================ */
.pgv2-sticky-cta {
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(48, 56, 39, 0.12);
  box-shadow: 0 -4px 20px rgba(48, 56, 39, 0.08);
}
/* mobile: show title on small screens (it was hidden before) */
@media (max-width: 520px) {
  .pgv2-sticky-cta-title { display: block; font-size: 0.82rem; }
  .pgv2-sticky-cta-thumb { width: 36px; height: 36px; display: block; }
}


/* ═══════════════════════════════════════════════════════════════
   EMAIL MARKETING POPUP — Editorial Design (Welcome to Garden)
   ═══════════════════════════════════════════════════════════════ */

/* === Editorial popup overrides (loaded after legacy rules) === */
.ga-popup--editorial .ga-popup-card {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  width: 100%;
  max-width: 720px;
  background: #F5F0E8;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,0.35);
  border: 1px solid rgba(48,56,39,0.10);
  font-family: 'Heebo', sans-serif;
}
.ga-popup--editorial .ga-popup-close {
  background: rgba(48, 56, 39, 0.85);
  color: #F5F0E8;
  width: 36px;
  height: 36px;
  top: 14px;
  left: 14px;
  border: 2px solid rgba(245, 240, 232, 0.95);
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
.ga-popup--editorial .ga-popup-close:hover { background: #303827; transform: scale(1.05); }
.ga-popup--editorial .ga-popup-close svg { width: 16px; height: 16px; stroke-width: 2.4; }

/* Newsletter consent checkbox */
.ga-popup--editorial .ga-popup-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 10px;
  cursor: pointer;
  font-size: 0.78rem;
  color: #5B6344;
  line-height: 1.5;
}
.ga-popup--editorial .ga-popup-consent input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 2px 0 0 0;
  flex-shrink: 0;
  accent-color: #303827;
  cursor: pointer;
}
.ga-popup--editorial .ga-popup-consent span { user-select: none; }
.ga-popup--editorial .ga-popup-consent strong { color: #303827; font-weight: 700; }

/* Visual side — replaces SVG plant with leaves photo + olive overlay */
.ga-popup--editorial .ga-popup-visual {
  position: relative;
  min-height: 420px;
  background-color: #303827;
  background-size: cover;
  background-position: center;
  padding: 0;
  overflow: hidden;
}
.ga-popup--editorial .ga-popup-visual::before { content: none; }
.ga-popup--editorial .ga-popup-visual-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(48,56,39,0.55) 0%, rgba(48,56,39,0.78) 100%);
  pointer-events: none;
}
.ga-popup--editorial .ga-popup-visual-content {
  position: absolute;
  inset: 0;
  padding: 28px 26px;
  color: #F5F0E8;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ga-popup--editorial .ga-popup-logo {
  width: 140px;
  height: auto;
  display: block;
  filter: brightness(0) invert(1);
}
.ga-popup--editorial .ga-popup-rule {
  width: 32px;
  height: 1px;
  background: rgba(245,240,232,0.5);
  margin-top: 18px;
}
.ga-popup--editorial .ga-popup-visual-bottom { display: flex; flex-direction: column; gap: 4px; }
.ga-popup--editorial .ga-popup-en-kicker {
  font-family: 'CormorantInfant', 'Cormorant Infant', serif;
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 600;
  direction: ltr;
  opacity: 0.85;
}
.ga-popup--editorial .ga-popup-tagline {
  font-family: 'CormorantInfant', 'Cormorant Infant', serif;
  font-size: 22px;
  font-weight: 500;
  font-style: italic;
  margin-top: 2px;
  opacity: 0.95;
  line-height: 1.3;
}

/* Form side — gold rule, big offer numeral, pill button */
.ga-popup--editorial .ga-popup-form-panel {
  background: #F5F0E8;
  padding: 36px 32px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ga-popup--editorial .ga-popup-gold-rule {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.ga-popup--editorial .ga-popup-gold-line { width: 24px; height: 1.5px; background: #B38E4E; }
.ga-popup--editorial .ga-popup-gold-text {
  font-family: 'CormorantInfant', 'Cormorant Infant', serif;
  font-size: 11px;
  letter-spacing: 0.28em;
  color: #5B6344;
  text-transform: uppercase;
  font-weight: 600;
  direction: ltr;
}
.ga-popup--editorial .ga-popup-title {
  font-size: 1.55rem;
  font-weight: 700;
  color: #303827;
  margin: 0 0 12px;
  line-height: 1.2;
}
.ga-popup--editorial .ga-popup-offer { display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px; }
.ga-popup--editorial .ga-popup-offer-num {
  font-family: 'CormorantInfant', 'Cormorant Infant', serif;
  font-size: 56px;
  font-weight: 600;
  color: #303827;
  line-height: 0.9;
  direction: ltr;
  letter-spacing: -0.02em;
}
.ga-popup--editorial .ga-popup-offer-text { font-size: 14px; color: #5B6344; font-weight: 700; }
.ga-popup--editorial .ga-popup-desc { font-size: 0.83rem; color: #5B6344; margin: 0 0 20px; line-height: 1.65; }
.ga-popup--editorial .ga-popup-desc strong { color: #303827; font-weight: 700; }
.ga-popup--editorial .ga-popup-input {
  border: 1px solid rgba(48,56,39,0.20);
  border-radius: 2px;
  padding: 13px 16px;
  font-size: 13px;
  text-align: right;
}
.ga-popup--editorial .ga-popup-input:focus {
  border-color: #303827;
  box-shadow: 0 0 0 2px rgba(48,56,39,0.10);
}
.ga-popup--editorial .ga-popup-submit {
  border-radius: 999px;
  padding: 13px 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.ga-popup--editorial .ga-popup-arrow { font-family: 'CormorantInfant', serif; font-size: 16px; line-height: 1; }
.ga-popup--editorial .ga-popup-foot {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(48,56,39,0.10);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10.5px;
  color: #5B6344;
}
.ga-popup--editorial .ga-popup-since {
  font-family: 'CormorantInfant', 'Cormorant Infant', serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  direction: ltr;
  font-weight: 600;
}
@media (max-width: 640px) {
  /* Outer overlay padding tighter on mobile */
  .ga-popup-overlay { padding: 12px; }

  /* Stack vertically + scroll if needed */
  .ga-popup--editorial .ga-popup-card {
    grid-template-columns: 1fr;
    grid-template-rows: 130px 1fr;
    max-width: 420px;
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    overflow-x: hidden;
    border-radius: 8px;
  }

  /* Visual side on top — compact, just logo + tagline */
  .ga-popup--editorial .ga-popup-visual {
    min-height: 130px;
    height: 130px;
  }
  .ga-popup--editorial .ga-popup-visual-content {
    padding: 16px 20px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .ga-popup--editorial .ga-popup-logo { width: 90px; }
  .ga-popup--editorial .ga-popup-rule { display: none; }
  .ga-popup--editorial .ga-popup-visual-bottom { text-align: end; }
  .ga-popup--editorial .ga-popup-en-kicker { font-size: 9.5px; letter-spacing: 0.24em; }
  .ga-popup--editorial .ga-popup-tagline { font-size: 14px; line-height: 1.25; }

  /* Form panel — tighter layout */
  .ga-popup--editorial .ga-popup-form-panel { padding: 22px 20px 20px; }
  .ga-popup--editorial .ga-popup-gold-rule { margin-bottom: 10px; }
  .ga-popup--editorial .ga-popup-title { font-size: 1.15rem; margin: 0 0 8px; }
  .ga-popup--editorial .ga-popup-offer { margin-bottom: 10px; gap: 8px; }
  .ga-popup--editorial .ga-popup-offer-num { font-size: 38px; }
  .ga-popup--editorial .ga-popup-offer-text { font-size: 12px; }
  .ga-popup--editorial .ga-popup-desc { font-size: 0.78rem; margin: 0 0 14px; line-height: 1.55; }
  .ga-popup--editorial .ga-popup-input { padding: 11px 14px; font-size: 14px; }
  .ga-popup--editorial .ga-popup-submit { padding: 12px 22px; font-size: 13px; }
  .ga-popup--editorial .ga-popup-consent { font-size: 0.72rem; margin-top: 8px; }
  .ga-popup--editorial .ga-popup-consent input[type="checkbox"] { width: 15px; height: 15px; }
  .ga-popup--editorial .ga-popup-skip { padding-top: 6px; font-size: 0.72rem; }
  .ga-popup--editorial .ga-popup-foot {
    font-size: 9.5px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 10px;
    padding-top: 10px;
  }

  /* Close button — high contrast, clearly tappable on mobile (44×44 touch target) */
  .ga-popup--editorial .ga-popup-close {
    width: 40px;
    height: 40px;
    top: 10px;
    left: 10px;
    background: #303827;
    border: 2.5px solid #F5F0E8;
    box-shadow: 0 3px 12px rgba(0,0,0,0.4);
    z-index: 20;
  }
  .ga-popup--editorial .ga-popup-close svg {
    width: 18px;
    height: 18px;
    stroke-width: 2.6;
  }
  .ga-popup--editorial .ga-popup-close:active {
    transform: scale(0.95);
    background: #1c2118;
  }
}

/* Very small phones — single tighter layout */
@media (max-width: 380px) {
  .ga-popup--editorial .ga-popup-card { grid-template-rows: 110px 1fr; }
  .ga-popup--editorial .ga-popup-visual { height: 110px; min-height: 110px; }
  .ga-popup--editorial .ga-popup-logo { width: 76px; }
  .ga-popup--editorial .ga-popup-tagline { font-size: 12.5px; }
  .ga-popup--editorial .ga-popup-form-panel { padding: 18px 16px 16px; }
  .ga-popup--editorial .ga-popup-offer-num { font-size: 32px; }
  .ga-popup--editorial .ga-popup-close { width: 38px; height: 38px; top: 8px; left: 8px; }
}

/* === Legacy popup styles (kept for fallback / future variants) === */
/* Overlay */
.ga-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(24, 30, 18, 0.65);
  backdrop-filter: blur(3px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
/* CRITICAL: respect the [hidden] attribute so the overlay doesn't block clicks
   while invisible (was the cause of unclickable site) */
.ga-popup-overlay[hidden] { display: none !important; }
.ga-popup-overlay.ga-popup--visible {
  opacity: 1;
  pointer-events: auto;
}

/* Card */
.ga-popup-card {
  position: relative;
  display: grid;
  grid-template-columns: 280px 1fr;
  max-width: 700px;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(24, 30, 18, 0.4);
  transform: translateY(24px) scale(0.97);
  transition: transform 0.4s cubic-bezier(0.34, 1.3, 0.64, 1);
  direction: rtl;
}
.ga-popup--visible .ga-popup-card {
  transform: translateY(0) scale(1);
}

/* Close button */
.ga-popup-close {
  position: absolute;
  top: 12px;
  left: 14px;
  z-index: 10;
  background: rgba(255,255,255,0.18);
  border: none;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #fff;
  transition: background 0.2s;
}
.ga-popup-close:hover { background: rgba(255,255,255,0.32); }

/* LEFT visual panel — leaves background + olive overlay (matches sale-banner pattern) */
.ga-popup-visual {
  background: var(--color-primary, #303827);
  background-image: url('../images/banners/hero_figma_leaves.png');
  background-size: cover;
  background-position: center;
  padding: 36px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
  position: relative;
  overflow: hidden;
}
.ga-popup-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(48, 56, 39, 0.72);
  pointer-events: none;
}
.ga-popup-badge {
  background: var(--color-olive, #6c8b4a);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 5px 14px;
  border-radius: 100px;
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
}
.ga-popup-plant-icon {
  width: 110px;
  height: 160px;
}
.ga-popup-visual-title {
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
  font-size: 1.45rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
  margin: 0;
}
.ga-popup-visual-sub {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.6);
  margin: 0;
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
}

/* RIGHT form panel */
.ga-popup-form-panel {
  background: var(--color-cream, #F2EFE0);
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ga-popup-eyebrow {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-olive, #6c8b4a);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
}
.ga-popup-title {
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--color-primary, #303827);
  line-height: 1.25;
  margin: 0;
}
.ga-popup-title span {
  color: var(--color-olive, #6c8b4a);
}
.ga-popup-desc {
  font-size: 0.875rem;
  color: rgba(48, 56, 39, 0.72);
  margin: 0;
  line-height: 1.6;
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
}
.ga-popup-form { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.ga-popup-field { position: relative; }
.ga-popup-input {
  width: 100%;
  padding: 13px 20px;
  border: 1.5px solid rgba(48,56,39,0.2);
  border-radius: 999px;
  font-size: 0.95rem;
  background: #fff;
  color: var(--color-primary, #303827);
  box-sizing: border-box;
  transition: border-color 0.2s;
  text-align: left;
  font-family: 'Heebo', sans-serif;
}
.ga-popup-input:focus {
  outline: none;
  border-color: var(--color-olive, #6c8b4a);
  box-shadow: 0 0 0 3px rgba(108,139,74,0.15);
}
.ga-popup-input::placeholder { color: rgba(48,56,39,0.4); text-align: right; }
.ga-popup-submit {
  width: 100%;
  padding: 14px 20px;
  background: var(--color-primary, #303827);
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
  transition: background 0.2s, transform 0.15s;
  letter-spacing: 0.02em;
}
.ga-popup-submit:hover { background: #222e1a; transform: translateY(-1px); }
.ga-popup-submit:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }
.ga-popup-error {
  color: #c0392b;
  font-size: 0.83rem;
  margin: 0;
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
}
.ga-popup-skip {
  background: none;
  border: none;
  color: rgba(48,56,39,0.45);
  font-size: 0.78rem;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
  text-align: center;
}
.ga-popup-skip:hover { color: rgba(48,56,39,0.75); }
.ga-popup-legal {
  font-size: 0.72rem;
  color: rgba(48,56,39,0.4);
  margin: 0;
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
  text-align: center;
}

/* Success state */
.ga-popup-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
  padding: 20px 0;
}
.ga-popup-success p {
  font-family: var(--font-hebrew, 'Heebo', sans-serif);
  font-size: 1rem;
  color: var(--color-primary, #303827);
  line-height: 1.6;
}
.ga-popup-success strong {
  color: var(--color-olive, #6c8b4a);
  font-size: 1.1rem;
  letter-spacing: 1px;
}

/* ── Mobile: stack vertically ──────────────────────────────── */
@media (max-width: 640px) {
  .ga-popup-card {
    grid-template-columns: 1fr;
    max-height: 92vh;
    overflow-y: auto;
    border-radius: 16px;
  }
  .ga-popup-visual {
    padding: 32px 24px 24px;
    flex-direction: row;
    gap: 16px;
    text-align: right;
    justify-content: flex-start;
  }
  .ga-popup-plant-icon { width: 70px; height: 100px; flex-shrink: 0; }
  .ga-popup-visual-title { font-size: 1.15rem; }
  .ga-popup-badge { align-self: flex-start; }
  .ga-popup-form-panel { padding: 28px 24px; gap: 8px; }
  .ga-popup-title { font-size: 1.3rem; }
  .ga-popup-close {
    left: auto;
    right: 12px;
    top: 12px;
    color: #fff;
    background: rgba(0,0,0,0.25);
  }
}

/* ── Checkout newsletter opt-in ────────────────────────────── */
/* ── Checkout newsletter opt-in — brand tokens ─────────────── */
.ga-newsletter-opt-in {
  margin: 0 0 12px;
  padding: 12px 16px;
  border-radius: var(--radius-md);
  background: var(--color-cream);
  border: 1px solid var(--color-border);
  font-family: var(--font-hebrew);
}
.ga-nl-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--color-primary);
  line-height: 1.5;
  font-family: var(--font-hebrew);
}
.ga-nl-label input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--color-primary);
  cursor: pointer;
}
/* Terms & conditions checkbox — same style as newsletter checkbox */
.woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--color-primary);
  line-height: 1.5;
  font-family: var(--font-hebrew);
}
.woocommerce-form__label-for-checkbox input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--color-primary);
  cursor: pointer;
  margin-inline-end: 0;
}

/* ── Product page urgency signals — brand tokens ────────────── */
.pgv2-urgency-low-stock {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 4px;
  padding: 9px 14px;
  border-radius: var(--radius-md);
  background: var(--color-cream);
  border: 1px solid var(--color-gold);
  color: var(--color-olive);
  font-size: 0.88rem;
  font-family: var(--font-hebrew);
  line-height: 1.4;
}
.pgv2-urgency-low-stock svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  stroke: var(--color-gold);
}
.pgv2-urgency-low-stock strong {
  color: var(--color-primary);
  font-weight: 700;
}

.pgv2-urgency-viewers {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0 4px;
  font-size: 0.85rem;
  color: var(--color-olive);
  font-family: var(--font-hebrew);
}
.pgv2-urgency-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary-light);
  flex-shrink: 0;
  animation: urgency-pulse 2s infinite;
}
@keyframes urgency-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.45; transform: scale(0.82); }
}

/* ── Testimonial stars — brand gold ─────────────────────────── */
.testimonial-stars {
  font-size: 1.15rem;
  color: var(--color-gold);
  letter-spacing: 2px;
  margin-bottom: 10px;
  line-height: 1;
  font-family: inherit;
}

/* ── Cart cross-sells — brand tokens ────────────────────────── */
.cart-cross-sells {
  background: var(--color-cream);
  padding: 60px 0 72px;
  border-top: 1px solid var(--color-border);
}
.cart-cross-sells-title {
  font-family: var(--font-hebrew);
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 36px;
  color: var(--color-primary);
}
.cart-cross-sells-title::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: var(--color-gold);
  border-radius: 2px;
  margin: 10px auto 0;
}
.cart-cross-sells-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media (max-width: 991px) {
  .cart-cross-sells-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .cart-cross-sells-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
}

/* ── Animate-on-scroll ──────────────────────────────────────────────────────
   Hiding only applies once JS adds .js-aos to <body>.
   Without JS, elements are always visible — zero white gaps, zero FOUC.    */
body.js-aos .aos {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--aos-delay, 0s);
  will-change: opacity, transform;
}
body.js-aos .aos.visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  body.js-aos .aos { opacity: 1; transform: none; transition: none; }
}

/* ── Product image zoom button ───────────────────────────────────────────── */
.pgv2-blob-wrap { position: relative; }
.pgv2-zoom-btn {
  position: absolute;
  bottom: 12px;
  left: 12px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  border: 1px solid var(--color-border);
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.2s;
  z-index: 5;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.pgv2-blob-wrap:hover .pgv2-zoom-btn { opacity: 1; }
.pgv2-zoom-btn:hover { background: var(--color-cream); border-color: var(--color-gold); }

/* ── Product image lightbox ──────────────────────────────────────────────── */
.pgv2-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,0.88);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: lb-fade-in 0.2s ease;
}
.pgv2-lightbox[hidden] { display: none; }
@keyframes lb-fade-in { from { opacity: 0; } to { opacity: 1; } }
.pgv2-lightbox-inner {
  max-width: min(90vw, 900px);
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pgv2-lightbox-inner img {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  border-radius: var(--radius-md);
  box-shadow: 0 8px 40px rgba(0,0,0,0.5);
}
.pgv2-lightbox-close {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
  font-size: 0;
}
.pgv2-lightbox-close:hover { background: rgba(255,255,255,0.25); }
.pgv2-lightbox-prev,
.pgv2-lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
}
.pgv2-lightbox-prev:hover,
.pgv2-lightbox-next:hover { background: rgba(255,255,255,0.28); }
.pgv2-lightbox-prev { right: 16px; }
.pgv2-lightbox-next { left: 16px; }
[dir="ltr"] .pgv2-lightbox-prev { left: 16px; right: auto; }
[dir="ltr"] .pgv2-lightbox-next { right: 16px; left: auto; }

/* ══ Height filter radio buttons ════════════════════════════════ */
.height-filter-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.height-filter-option {
  display: flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--color-primary);
  padding: 5px 6px;
  border-radius: var(--radius-sm);
  transition: background 0.15s;
  font-family: var(--font-hebrew);
}
.height-filter-option:hover { background: var(--color-cream-dark); }
.height-filter-option input[type="radio"] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  accent-color: var(--color-olive);
  cursor: pointer;
}
.height-filter-option input[type="radio"]:checked + span {
  font-weight: 700;
  color: var(--color-olive);
}

/* ══ Sticky add-to-cart bar (mobile only) ═══════════════════════ */
.pgv2-sticky-atc {
  position: fixed;
  bottom: 0;
  inset-inline-start: 0;
  inset-inline-end: 0;
  background: var(--color-primary);
  color: #fff;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  z-index: 1000;
  box-shadow: 0 -3px 18px rgba(0,0,0,0.2);
  border-top: 2px solid var(--color-olive);
}
.pgv2-sticky-atc[hidden] { display: none; }
.pgv2-sticky-atc-img {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: var(--radius-sm);
  flex-shrink: 0;
  border: 1px solid rgba(255,255,255,0.15);
}
.pgv2-sticky-atc-info {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.pgv2-sticky-atc-name {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  font-family: var(--font-hebrew);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pgv2-sticky-atc-price {
  display: block;
  font-size: 0.78rem;
  color: var(--color-gold);
  margin-top: 2px;
}
.pgv2-sticky-atc-btn {
  flex-shrink: 0;
  font-size: 0.88rem;
  padding: 10px 18px;
  background: var(--color-gold);
  color: var(--color-primary);
  border: none;
  border-radius: var(--radius-sm);
  font-family: var(--font-hebrew);
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.pgv2-sticky-atc-btn:hover { background: #d4b055; }
@media (min-width: 768px) { .pgv2-sticky-atc { display: none !important; } }

/* ══ Homepage newsletter section ════════════════════════════════ */
.ga-homepage-newsletter {
  background: var(--color-primary);
  padding: 64px 24px;
}
.ga-hn-inner {
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}
.ga-hn-leaf { color: var(--color-gold); }
.ga-hn-title {
  font-family: var(--font-hebrew);
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 700;
  color: var(--color-cream);
  margin: 0;
}
.ga-hn-sub {
  font-size: 1rem;
  color: rgba(245,240,232,0.72);
  margin: 0;
  font-family: var(--font-hebrew);
}
.ga-hn-form {
  display: flex;
  width: 100%;
  max-width: 440px;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid var(--color-gold);
}
.ga-hn-input {
  flex: 1;
  border: none;
  padding: 13px 16px;
  font-family: var(--font-hebrew);
  font-size: 0.95rem;
  background: rgba(255,255,255,0.08);
  color: #fff;
  outline: none;
  min-width: 0;
}
.ga-hn-input::placeholder { color: rgba(255,255,255,0.45); }
.ga-hn-btn {
  flex-shrink: 0;
  background: var(--color-gold);
  color: var(--color-primary);
  border: none;
  padding: 13px 22px;
  font-family: var(--font-hebrew);
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.ga-hn-btn:hover { background: #d4b055; }
@media (max-width: 480px) {
  .ga-hn-form { flex-direction: column; }
  .ga-hn-btn { padding: 13px; }
}

/* ══ Search autocomplete dropdown ═══════════════════════════════ */
.ga-search-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  inset-inline-start: 0;
  inset-inline-end: 0;
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  overflow: hidden;
  z-index: 9999;
  border: 1px solid var(--color-border);
  max-height: 360px;
  overflow-y: auto;
}
.ga-search-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  text-decoration: none;
  color: var(--color-primary);
  transition: background 0.15s;
  border-bottom: 1px solid var(--color-border);
}
.ga-search-item:last-child { border-bottom: none; }
.ga-search-item:hover { background: var(--color-cream); }
.ga-search-item-img {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: var(--radius-sm);
  flex-shrink: 0;
}
.ga-search-item-info { flex: 1; min-width: 0; }
.ga-search-item-title {
  font-size: 0.9rem;
  font-family: var(--font-hebrew);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.ga-search-item-price {
  font-size: 0.8rem;
  color: var(--color-olive);
  margin-top: 2px;
  display: block;
}

/* Homepage lead form: identical structural class to /about/ Section 7
   (.contact-split + .about-contact-split). The .home-contact-split helper
   class only exists for future scoping if we need home-only tweaks. */

/* Sold-individually cart row (gift card etc): show "1" as static value, no buttons. */
.qty-control--fixed {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #f5f0e8;
    color: #303827;
    font-weight: 600;
}
.qty-control--fixed .qty-fixed-value { font-size: 1rem; }

/* ── Mobile carousel arrows ─────────────────────────────────────────────── */
@media (max-width: 767px) {
  .carousel-btn-prev,
  .carousel-btn-next {
    display: flex;
    width: 32px;
    height: 32px;
    background: rgba(255,255,255,0.88);
    box-shadow: 0 2px 8px rgba(48,56,39,0.18);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  .carousel-btn-prev { right: 4px; }
  .carousel-btn-next { left: 4px; }
  .carousel-btn svg {
    width: 14px;
    height: 14px;
  }
}

/* ── Contact form consent checkbox (lead form) ───────────────────────────── */
.contact-form-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
  cursor: pointer;
  font-size: 0.82rem;
  color: var(--color-text-light, #666);
  line-height: 1.4;
}
.contact-form-consent input[type="checkbox"] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: var(--color-olive);
  cursor: pointer;
}
.contact-form-consent a {
  color: var(--color-olive);
  text-decoration: underline;
}

/* ═══════════════════════════════════════════════════════════════════════════
   HERO LIFESTYLE MODE — full-panel cover photography
   The dark olive SVG panel (z-index 1) sits on top so its S-curve naturally
   frames the photo. No seams, no manual clipping needed.
═══════════════════════════════════════════════════════════════════════════ */
body .hero-image.hero-image-lifestyle,
body.premium-plus .hero-image.hero-image-lifestyle {
  right: 0 !important;
  top: 0 !important;
  transform: none !important;
  width: 62% !important;      /* extends under the SVG curve so no gap shows */
  height: 100% !important;
  z-index: 0 !important;      /* behind olive panel — S-curve acts as frame */
  overflow: hidden !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

/* Soft left-edge fade into the curve transition zone */
.hero-image-lifestyle::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 120px;
  background: linear-gradient(to right, var(--color-cream) 0%, transparent 100%);
  z-index: 2;
  pointer-events: none;
}

/* Cover crop instead of contain — fills the panel, no transparent void */
.hero-image-lifestyle .hero-slide,
.hero-image-lifestyle img {
  object-fit: cover !important;
  object-position: center 25% !important; /* keep plant tops + room context */
}

/* Mobile: Card Overlay Hero — photo top, olive card overlaps from below */
@media (max-width: 768px) {
  .hero {
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #F2EFE8 !important;
    overflow: visible !important;
  }
  .hero-panel { display: none !important; }

  body .hero-image.hero-image-lifestyle,
  body.premium-plus .hero-image.hero-image-lifestyle {
    position: relative !important;
    top: auto !important; bottom: auto !important;
    left: auto !important; right: auto !important;
    transform: none !important;
    width: 100% !important;
    height: 260px !important;
    border-radius: 0 0 28px 28px !important;
    z-index: 2 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
  }
  .hero-image-lifestyle::before { display: none !important; }
  .hero-image-lifestyle .hero-slide,
  .hero-image-lifestyle img {
    object-fit: cover !important;
    object-position: center 20% !important;
  }

  .hero-content {
    position: relative !important;
    top: auto !important; left: auto !important; right: auto !important;
    transform: none !important;
    margin-top: -32px !important;
    background: #303827 !important;
    border-radius: 28px 28px 0 0 !important;
    padding: 28px 24px 36px !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    z-index: 10 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
  }
  .hero-content h1 {
    font-family: 'FbBooster', 'FbBooster-Bold', Arial, sans-serif !important;
    font-size: 32px !important;
    line-height: 1.25 !important;
    color: #F2EFE8 !important;
    margin-bottom: 14px !important;
  }
  .hero-content p {
    font-size: 13px !important;
    line-height: 1.7 !important;
    color: rgba(242,239,232,0.82) !important;
    margin-bottom: 22px !important;
  }
  .hero-ctas {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .hero-btn {
    background: #F2EFE8 !important;
    color: #303827 !important;
    font-family: 'FbBooster', 'FbBooster-Bold', Arial, sans-serif !important;
    padding: 13px 36px !important;
    border-radius: 30px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }
  .hero-curve-deco { display: none !important; }
  .hero-content .hero-trust { display: none !important; }
  .hero + * { margin-top: 16px !important; }
}
