/* =============================================================
   Viaore V3 — Homepage sections (announcement, hero, trust,
   product sections, bundle, why, testimonials, faq, etc.)
   All overrides from your Additional CSS have been merged.
   ============================================================= */

/* ------------------------------------------------------------------
   CONTAINER SPACING – 10% side padding on desktop, adjusted mobile
------------------------------------------------------------------- */
body.home .container,
.hero .container,
.viaore-intro-section .container,
.product-section .container,
.viaore-bundle-offer-section .container,
.why-viaore-section .container,
.testimonials-editorial-section .container,
.final-cta-editorial .container,
.section .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: clamp(24px, 10vw, 150px) !important;
  padding-right: clamp(24px, 10vw, 150px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  body.home .container,
  .hero .container,
  .viaore-intro-section .container,
  .product-section .container,
  .viaore-bundle-offer-section .container,
  .why-viaore-section .container,
  .testimonials-editorial-section .container,
  .final-cta-editorial .container,
  .section .container {
    padding-left: clamp(18px, 6vw, 48px) !important;
    padding-right: clamp(18px, 6vw, 48px) !important;
  }
}
@media (max-width: 640px) {
  body.home .container,
  .hero .container,
  .viaore-intro-section .container,
  .product-section .container,
  .viaore-bundle-offer-section .container,
  .why-viaore-section .container,
  .testimonials-editorial-section .container,
  .final-cta-editorial .container,
  .section .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ------------------------------------------------------------------
   ANNOUNCEMENT BANNER
------------------------------------------------------------------- */
.viaore-announcement {
  background: #1a120c;
  color: #fdfbf7;
  font-size: .85rem;
  letter-spacing: .05em;
}
.viaore-announcement.is-dismissed { display: none; }
.viaore-announcement .container {
  position: relative;
  padding: .7rem 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.viaore-announcement p { margin: 0; text-align: center; }
.viaore-announcement a {
  color: var(--accent-gold);
  margin-left: .5rem;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.viaore-announcement a:hover { border-bottom-color: var(--accent-gold); }
.viaore-announcement-close {
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #fdfbf7;
  font-size: 1.2rem;
  cursor: pointer;
  padding: .25rem .5rem;
  opacity: .6;
}
.viaore-announcement-close:hover { opacity: 1; }

/* ------------------------------------------------------------------
   HERO
------------------------------------------------------------------- */
.viaore-hero {
  background-image: var(--viaore-hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 90vh;
  display: flex;
  align-items: center;
  position: relative;
}
.viaore-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55));
}
.viaore-hero-content {
  position: relative;
  padding: 6rem 0;
  z-index: 1;
}
.viaore-hero-overline { color: var(--accent-gold); margin-bottom: 1rem; display: block; }
.viaore-hero-heading {
  color: #fdfbf7;
  font-size: clamp(3rem, 8vw, 7rem);
  line-height: 1.0;
  margin-bottom: 1rem;
}
.viaore-hero-lede {
  color: rgba(253,251,247,.8);
  max-width: 480px;
  font-size: 1.1rem;
  margin-bottom: 2rem;
}
.viaore-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; }

/* ------------------------------------------------------------------
   TRUST STRIP
------------------------------------------------------------------- */
.viaore-trust-strip {
  background: var(--bg-secondary, #f7f2e9);
  padding: 1.5rem 0;
  border-top: 1px solid var(--border-subtle, rgba(0,0,0,.06));
  border-bottom: 1px solid var(--border-subtle, rgba(0,0,0,.06));
}
.viaore-trust-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2.5rem;
  justify-content: center;
  align-items: center;
}
.viaore-trust-list li {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .82rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-secondary);
}
.viaore-trust-icon { color: var(--accent-gold); font-size: 1.1rem; }

/* ------------------------------------------------------------------
   PRODUCT SECTIONS – YOUR OVERRIDES (product-section, .product-inner, etc.)
------------------------------------------------------------------- */
.product-section {
  background: #FDFBF7 !important;
  color: #1A1715 !important;
  padding: clamp(72px, 9vw, 120px) 0 !important;
  overflow: hidden !important;
}
.product-section.mid { background: #F3EFE6 !important; }
.product-section.dark {
  background: #1A1715 !important;
  color: #FDFBF7 !important;
}
.product-section .product-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(48px, 7vw, 110px) !important;
  align-items: center !important;
  min-height: auto !important;
}
.product-section.alt .product-image { order: 2 !important; }
.product-section.alt .product-details { order: 1 !important; }

.product-section .product-image {
  min-height: 620px !important;
  background: #F3EFE6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;          /* full frame */
  overflow: hidden !important;
}
.product-section.mid .product-image { background: #FDFBF7 !important; }
.product-section.dark .product-image { background: #24201D !important; }

.product-section .product-image-wrapper {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 620px !important;
  aspect-ratio: auto !important;
  background: transparent !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.product-section .product-image-wrapper img {
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
.product-section.dark .product-image-wrapper { background: transparent !important; }

.product-section .product-details {
  max-width: 700px !important;
  box-sizing: border-box !important;
}
.product-section .product-details .overline {
  color: #A88A61 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.28em !important;
  font-size: 12px !important;
  line-height: 1 !important;
  margin-bottom: 22px !important;
  display: inline-block !important;
}
.product-section .product-details .overline::before {
  content: "";
  display: inline-block;
  width: 56px;
  height: 1px;
  background: currentColor;
  margin-right: 12px;
  transform: translateY(-4px);
}
.product-section .product-details h2 {
  font-family: 'Playfair Display', serif !important;
  color: inherit !important;
  font-size: clamp(42px, 1vw, 88px) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.075em !important;
  margin: 0 0 24px !important;
}
.product-section .product-details .tagline {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  color: #C6A87C !important;
  font-size: clamp(24px, 2.1vw, 34px) !important;
  line-height: 1.2 !important;
  margin: 0 0 30px !important;
}
.product-section .product-details .description {
  color: #5F564E !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
  max-width: 680px !important;
  margin: 0 0 38px !important;
}
.product-section.dark .product-details .description {
  color: rgba(253, 251, 247, 0.72) !important;
}

/* Notes grid */
.product-section .notes-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(24px, 4vw, 60px) !important;
  margin: 0 0 42px !important;
}
.product-section .notes-grid h4 {
  color: #C6A87C !important;
  text-transform: uppercase !important;
  letter-spacing: 0.26em !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  margin: 0 0 14px !important;
}
.product-section .notes-grid h4::before {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background: #C6A87C;
  margin-bottom: 10px;
}
.product-section .notes-grid ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.product-section .notes-grid li {
  color: #6B625A !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}
.product-section.dark .notes-grid li {
  color: rgba(253, 251, 247, 0.72) !important;
}

/* Product actions */
.product-section .product-actions {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  flex-wrap: wrap !important;
}
.product-section .product-actions .btn-primary {
  min-height: 60px !important;
  min-width: 210px !important;
  background: #1A1715 !important;
  border: 1px solid #1A1715 !important;
  color: #FDFBF7 !important;
  padding: 18px 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.13em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.product-section .product-actions .btn-primary::after {
  content: "→";
  margin-left: 12px;
  font-size: 16px;
}
.product-section.dark .product-actions .btn-primary {
  background: #C6A87C !important;
  border-color: #C6A87C !important;
  color: #1A1715 !important;
}
.product-section .product-add-link {
  min-height: auto !important;
  background: transparent !important;
  color: #1A1715 !important;
  border: 0 !important;
  border-bottom: 1px solid #1A1715 !important;
  padding: 0 0 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.13em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.product-section.dark .product-add-link {
  color: #FDFBF7 !important;
  border-bottom-color: #FDFBF7 !important;
}

/* Tester box / dark product section */
.product-section.dark .product-inner { min-height: 680px !important; }
.product-section.dark .product-image { order: 2 !important; }
.product-section.dark .product-details { order: 1 !important; }
.product-section.dark .product-image-wrapper { max-width: 620px !important; }

@media (max-width: 640px) {
  .product-section .product-image-wrapper,
  .product-section .product-image-wrapper img {
    min-height: 420px !important;
  }
}

/* ------------------------------------------------------------------
   BUNDLE SECTION (viaore-bundle-offer-section) – YOUR OVERRIDES
------------------------------------------------------------------- */
.viaore-bundle-offer-section {
  background: #FDFBF7 !important;
  padding: clamp(72px, 9vw, 120px) 0 !important;
  overflow: hidden !important;
}
.viaore-bundle-offer-section .container {
  width: 100% !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.viaore-bundle-offer-card {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 620px !important;
  background: #1A1715 !important;
  overflow: hidden !important;
}
.viaore-bundle-media {
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
  padding: 0 !important;
  background: #1A1715 !important;
  overflow: hidden !important;
  display: block !important;
}
.viaore-bundle-media img {
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
.viaore-bundle-content {
  padding: clamp(48px, 6vw, 88px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.viaore-bundle-content .overline {
  color: #C6A87C !important;
  text-transform: uppercase !important;
  letter-spacing: 0.28em !important;
  font-size: 12px !important;
}
.viaore-bundle-content h2 {
  color: #FDFBF7 !important;
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(42px, 4.6vw, 76px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.055em !important;
  margin: 16px 0 22px !important;
  max-width: 720px !important;
}
.viaore-bundle-tagline {
  color: #C6A87C !important;
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.25 !important;
  margin-bottom: 22px !important;
}
.viaore-bundle-text {
  color: rgba(253, 251, 247, 0.72) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  max-width: 620px !important;
}
.viaore-bundle-includes,
.viaore-bundle-badges,
.viaore-ethical-note { display: none !important; }

.viaore-bundle-actions {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}
.viaore-bundle-add {
  min-height: 60px !important;
  background: #C6A87C !important;
  border: 1px solid #C6A87C !important;
  color: #1A1715 !important;
  padding: 18px 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.13em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.viaore-bundle-add::after {
  content: "→";
  font-size: 16px;
}
.viaore-bundle-view {
  color: #FDFBF7 !important;
  border-bottom: 1px solid #FDFBF7 !important;
  padding-bottom: 7px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.13em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

@media (max-width: 1024px) {
  .viaore-bundle-offer-card { grid-template-columns: 1fr !important; }
  .viaore-bundle-media, .viaore-bundle-media img { min-height: 480px !important; }
  .viaore-bundle-content { padding: clamp(36px, 7vw, 64px) !important; }
}
@media (max-width: 640px) {
  .viaore-bundle-offer-section { padding-left: 20px !important; padding-right: 20px !important; }
  .viaore-bundle-media, .viaore-bundle-media img { min-height: 360px !important; }
  .viaore-bundle-content { padding: 32px 22px !important; }
  .viaore-bundle-content h2 { font-size: clamp(38px, 13vw, 58px) !important; }
}

/* ------------------------------------------------------------------
   WHY VIAORE, TESTIMONIALS, FINAL CTA (original from style.css, moved here)
------------------------------------------------------------------- */
/* (Include the original rules for these sections from style.css – they are not overridden) */
.why-viaore-section {
  padding: 7rem 0;
  background: var(--bg-primary);
}
.why-viaore-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
}
.why-viaore-copy p { color: var(--text-secondary); line-height: 1.8; }
.why-viaore-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2.5rem;
}
.why-viaore-item h3 { font-size: 1.1rem; margin: .75rem 0 .35rem; }
.why-viaore-item p { color: var(--text-secondary); font-size: .9rem; }
.why-viaore-icon { color: var(--accent-gold); font-size: 1.6rem; }
@media (max-width: 720px) { .why-viaore-intro { grid-template-columns: 1fr; gap: 1rem; } }

.testimonials-editorial-section {
  background: var(--bg-primary);
  padding: 7rem 0;
  overflow: hidden;
}
.testimonials-editorial-heading {
  max-width: 980px;
  margin-bottom: 5rem;
}
.testimonials-editorial-heading h2 {
  font-size: clamp(3.5rem, 7vw, 7rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
  margin: 0;
}
.testimonials-loop-v15 {
  width: 100%;
  overflow: hidden;
  padding-left: max(1.5rem, calc((100vw - 1280px) / 2 + 1.5rem));
}
.testimonials-track-v15 {
  display: flex;
  align-items: stretch;
  gap: 2rem;
  width: max-content;
  animation: viaore-testimonial-loop 48s linear infinite;
}
@keyframes viaore-testimonial-loop {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 1rem)); }
}
.testimonials-track-v15 .testimonial-letter {
  flex: 0 0 clamp(360px, 34vw, 540px);
  min-height: 360px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-colour);
  padding: clamp(2rem, 4vw, 4rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.testimonial-meta { color: var(--accent-gold); text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.78rem; margin-bottom: 2rem; }
.testimonial-letter blockquote {
  margin: 0;
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 2.2vw, 2.55rem);
  line-height: 1.22;
  letter-spacing: -0.035em;
  color: var(--text-primary);
}
.testimonial-letter cite { margin-top: 2rem; font-style: normal; color: var(--text-muted); font-size: 1rem; }
@media (max-width: 640px) { .testimonials-loop-v15 { padding-left: 1.1rem; } .testimonials-track-v15 { gap: 1rem; animation-duration: 38s; } }

.final-cta-editorial {
  background-image: var(--viaore-cta-bg);
  background-size: cover;
  background-position: center;
  position: relative;
  padding: 8rem 0;
  text-align: center;
}
.final-cta-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.4), rgba(0,0,0,.7));
}
.final-cta-content {
  position: relative;
  z-index: 1;
  color: #fdfbf7;
}
.final-cta-content h2 { color: #fdfbf7; }
.final-cta-content p {
  color: rgba(253,251,247,.8);
  max-width: 560px;
  margin: 1rem auto 2rem;
}
.final-cta-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ------------------------------------------------------------------
   V3 CARD GRID + BADGES (from viaore-v2.css original)
------------------------------------------------------------------- */
.viaore-card-grid { display: grid; gap: 2.5rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.viaore-card {
  background: var(--bg-secondary, #fdfbf7);
  border: 1px solid var(--border-subtle, rgba(0,0,0,.06));
  transition: transform .5s ease, box-shadow .5s ease;
  display: flex;
  flex-direction: column;
}
.viaore-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -30px rgba(60,40,20,.35); }
.viaore-card-media-wrap { position: relative; }
.viaore-card-badges {
  position: absolute;
  top: .75rem;
  left: .75rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  align-items: flex-start;
}
.viaore-badge {
  background: #1a120c;
  color: #fdfbf7;
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: .35rem .55rem;
  border-radius: 0;
}
.viaore-badge-new { background: #1a120c; color: #fdfbf7; }
.viaore-badge-sale { background: #a03a2a; color: #fff; }
.viaore-badge-soldout { background: rgba(20,12,6,.55); color: #fff; }
.viaore-badge-best { background: var(--accent-gold); color: #1a120c; }
.viaore-badge-trending { background: #3a2a1c; color: var(--accent-gold); }
.viaore-badge-limited { background: #fdfbf7; color: #1a120c; border: 1px solid #1a120c; }
.viaore-badge-oil { background: #c9a24a; color: #1a120c; }
.viaore-badge-gift { background: #e8dfd0; color: #1a120c; }

.viaore-card-media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4/5 !important;
  background: #f4efe6;
}
.viaore-card-media img, .viaore-card-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.viaore-card:hover .viaore-card-media img { transform: scale(1.06) translateY(-6px); }
.viaore-card-hover {
  position: absolute;
  left: 50%;
  bottom: 1.25rem;
  transform: translate(-50%, 12px);
  background: #fff;
  color: var(--text-primary);
  padding: .55rem 1.4rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: .72rem;
  opacity: 0;
  transition: opacity .4s, transform .4s;
}
.viaore-card:hover .viaore-card-hover { opacity: 1; transform: translate(-50%, 0); }

.viaore-card-body {
  padding: 1.5rem 1.4rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  text-align: center !important;
  align-items: center !important;
}
.viaore-card-collection {
  color: var(--accent-gold);
  font-size: .7rem;
  letter-spacing: .22em;
  text-align: center !important;
  width: 100%;
}
.viaore-card-title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center !important;
  width: 100%;
}
.viaore-card-title a { color: var(--text-primary); text-decoration: none; }
.viaore-card-tagline {
  margin: 0;
  color: var(--text-secondary);
  font-size: .9rem;
  font-style: italic;
  text-align: center !important;
  width: 100%;
}
.viaore-card-rating {
  font-size: .85rem;
  color: var(--accent-gold);
  text-align: center !important;
  width: 100%;
}
.viaore-card-footer {
  margin-top: .75rem;
  display: flex;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  width: 100%;
  border-top: 1px solid var(--border-subtle, rgba(0,0,0,.06));
  padding-top: 1rem !important;
}
.viaore-card-price {
  display: inline-flex !important;
  align-items: baseline;
  justify-content: center;
  gap: .6rem;
  flex-wrap: wrap;
  font-size: 1rem;
  line-height: 1.4;
}
.viaore-card-price del {
  opacity: .55;
  font-size: .9em;
  font-weight: 400;
  text-decoration: line-through;
}
.viaore-card-price ins {
  text-decoration: none;
  font-weight: 600;
  background: transparent;
  color: var(--text-primary);
}
.viaore-card-add {
  display: inline-block !important;
  padding: .8rem 2.5rem !important;
  min-width: 140px;
  text-align: center;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size: .72rem;
  background: var(--text-primary);
  color: #fdfbf7;
  text-decoration: none;
  transition: background-color .3s, color .3s;
  border: none;
  cursor: pointer;
}
.viaore-card-add:hover { background: var(--accent-gold); color: var(--text-primary); }

/* ------------------------------------------------------------------
   SHOP CATEGORIES (dynamic)
------------------------------------------------------------------- */
.viaore-categories-section { padding: 6rem 0; background: var(--bg-primary); }
.viaore-categories-grid { display: grid; gap: 1.75rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.viaore-category-card {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3/4;
  color: #fff;
  text-decoration: none;
  background: #2a1f18;
}
.viaore-category-media { position: absolute; inset: 0; }
.viaore-category-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s ease; filter: brightness(.75); }
.viaore-category-card:hover .viaore-category-media img { transform: scale(1.08); }
.viaore-category-body {
  position: relative;
  padding: 2rem 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 1;
}
.viaore-category-body::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(20,12,6,.75) 100%);
  z-index: -1;
}
.viaore-category-body h3 { color: #fff; margin: 0; font-size: 1.5rem; font-weight: 500; }
.viaore-category-count {
  color: rgba(253,251,247,.7);
  font-size: .75rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-top: .4rem;
}
.viaore-category-cta {
  color: var(--accent-gold);
  font-size: .8rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-top: .5rem;
}

/* ------------------------------------------------------------------
   FRAGRANCE FINDER (moods)
------------------------------------------------------------------- */
.viaore-finder-section { padding: 7rem 0; background: var(--bg-primary); }
.viaore-finder-moods {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
  margin: 0 auto 3rem;
  max-width: 1100px;
}
.viaore-mood-chip {
  background: transparent;
  border: 1px solid var(--border-subtle, rgba(0,0,0,.12));
  padding: 1rem 1.4rem;
  cursor: pointer;
  text-align: left;
  display: inline-flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 140px;
  transition: all .35s ease;
  color: var(--text-primary);
  font-family: inherit;
}
.viaore-mood-chip:hover { border-color: var(--accent-gold); }
.viaore-mood-chip.is-active {
  background: var(--text-primary);
  color: #fff;
  border-color: var(--text-primary);
}
.viaore-mood-icon { font-size: 1.1rem; color: var(--accent-gold); }
.viaore-mood-label { font-weight: 500; letter-spacing: .05em; }
.viaore-mood-note { font-size: .75rem; opacity: .75; }
.viaore-finder-panel { display: none; animation: viaore-fade .5s ease; }
.viaore-finder-panel.is-active { display: block; }
@keyframes viaore-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

/* ------------------------------------------------------------------
   JOURNAL PREVIEW (homepage)
------------------------------------------------------------------- */
.viaore-journal-section { padding: 6rem 0; background: var(--bg-primary); }
.journal-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(24px, 4vw, 42px) !important;
}
.journal-card {
  background: #F3EFE6 !important;
  border: 1px solid #E5DCD0 !important;
  padding: clamp(20px, 2vw, 28px) !important;
  text-align: center !important;
}
.journal-card img {
  width: 100% !important;
  aspect-ratio: 1 / 1.18 !important;
  object-fit: cover !important;
  display: block !important;
  margin-bottom: 22px !important;
}
.journal-card .content h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.05 !important;
  margin: 0 0 14px !important;
}
.journal-card .content p {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin-bottom: 18px !important;
}
.journal-card .btn-primary {
  background: #1A1715 !important;
  color: #FDFBF7 !important;
  border: 1px solid #1A1715 !important;
  padding: 14px 24px !important;
  min-height: 44px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  font-size: 11px !important;
}

/* ------------------------------------------------------------------
   FAQ (homepage)
------------------------------------------------------------------- */
section.section:has(details) {
  background: #F3EFE6 !important;
  padding: clamp(72px, 8vw, 120px) 0 !important;
}
section.section:has(details) .container { max-width: 1100px !important; }
section.section:has(details) .section-heading h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(56px, 7vw, 104px) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.075em !important;
  margin-bottom: 48px !important;
}
section.section:has(details) details {
  border-bottom: 1px solid #D8CBB8 !important;
  padding: 26px 0 !important;
}
section.section:has(details) summary {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  font-weight: 500 !important;
  color: #1A1715 !important;
  list-style: none !important;
  display: flex !important;
  justify-content: space-between !important;
}
section.section:has(details) summary::-webkit-details-marker { display: none !important; }
section.section:has(details) summary::after {
  content: "⌄";
  color: #A88A61;
  font-family: 'Manrope', sans-serif;
  font-size: 18px;
}
section.section:has(details) details[open] summary::after { content: "⌃"; }
section.section:has(details) p {
  color: #4A3F35 !important;
  line-height: 1.75 !important;
  margin: 16px 0 0 !important;
}

/* ------------------------------------------------------------------
   VIAORE INTRO SECTION (A House of Three Scents)
------------------------------------------------------------------- */
.viaore-intro-section {
  background: var(--bg-primary);
  padding-top: var(--viaore-intro-padding, 112px);
  padding-bottom: var(--viaore-intro-padding, 112px);
  border-bottom: 1px solid rgba(226, 214, 199, 0.45);
  overflow: hidden !important;
}
.viaore-intro-layout {
  display: grid;
  grid-template-columns: minmax(180px, 0.38fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: start;
}
.viaore-intro-kicker .overline {
  color: var(--text-muted);
  display: block;
  padding-top: 0.65rem;
}
.viaore-intro-content h2 {
  font-size: clamp(2.75rem, 5.1vw, var(--viaore-intro-heading-max, 64px));
  line-height: 1.02;
  letter-spacing: -0.048em;
  margin: 0 0 1.6rem;
  max-width: 930px;
}
.viaore-intro-content h2 span {
  color: var(--accent-gold);
  font-style: italic;
  font-weight: 400;
}
.viaore-intro-content p {
  max-width: 790px;
  color: var(--text-secondary);
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.75;
  margin: 0;
}
@media (max-width: 900px) {
  .viaore-intro-layout { grid-template-columns: 1fr; gap: 1.4rem; }
  .viaore-intro-kicker .overline { padding-top: 0; }
}

/* ------------------------------------------------------------------
   MOBILE ADJUSTMENTS FOR HOMEPAGE SECTIONS
------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .product-section .product-inner { grid-template-columns: 1fr !important; }
  .product-section.alt .product-image,
  .product-section.alt .product-details,
  .product-section.dark .product-image,
  .product-section.dark .product-details { order: initial !important; }
  .product-section .product-image,
  .viaore-bundle-media { min-height: 520px !important; }
  .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .product-section, .viaore-bundle-offer-section { padding: 56px 0 !important; }
  .product-section .product-image, .viaore-bundle-media { min-height: 380px !important; }
  .product-section .product-details, .viaore-bundle-content { padding: 0 !important; }
  .product-section .product-details h2, .viaore-bundle-content h2 { font-size: clamp(52px, 16vw, 76px) !important; }
  .product-section .notes-grid, .journal-grid { grid-template-columns: 1fr !important; }
  .product-section .product-actions, .viaore-bundle-actions { flex-direction: column !important; align-items: flex-start !important; }
  .product-section .product-actions .btn-primary, .viaore-bundle-add { width: 100% !important; }
  Here's the CSS. Paste this at the very bottom of assets/css/viaore-v2.css, save, purge cache, hard-refresh.

/* =========================================================
   V3 CARD FOOTER — clean price + ADD alignment
   ========================================================= */

/* Footer row: prices left, ADD right, single row, vertically centered */
.viaore-card .viaore-card-footer {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid var(--border-subtle, rgba(0,0,0,0.06));
    width: 100%;
    text-align: left !important;
}

/* Price column: small strikethrough on top, big sale price below */
.viaore-card .viaore-card-price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: .15rem !important;
    line-height: 1.15 !important;
    flex: 1 1 auto;
    text-align: left !important;
    width: auto !important;
    min-width: 0;
}

/* Original (regular) price — small, muted, on top */
.viaore-card .viaore-card-price del,
.viaore-card .viaore-card-price del .woocommerce-Price-amount,
.viaore-card .viaore-card-price del bdi {
    font-size: .78rem !important;
    font-weight: 400 !important;
    opacity: .5;
    color: var(--text-secondary) !important;
    text-decoration: line-through !important;
    letter-spacing: 0;
    order: 1;
    display: inline-block !important;
}

/* Sale (current) price — larger, bold, no underline */
.viaore-card .viaore-card-price ins,
.viaore-card .viaore-card-price ins .woocommerce-Price-amount,
.viaore-card .viaore-card-price ins bdi {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    text-decoration: none !important;
    background: transparent !important;
    border-bottom: none !important;
    letter-spacing: 0;
    order: 2;
    display: inline-block !important;
    line-height: 1.2;
}

/* Also kill any global underline WooCommerce puts on <ins> */
.viaore-card ins,
.viaore-card ins * {
    text-decoration: none !important;
    border-bottom: 0 !important;
}

/* Regular (non-sale) single price — normal size */
.viaore-card .viaore-card-price > .woocommerce-Price-amount,
.viaore-card .viaore-card-price > bdi > .woocommerce-Price-amount {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
}

/* ADD button — compact, vertically centered, doesn't stretch */
.viaore-card .viaore-card-add {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    padding: .85rem 1.6rem !important;
    min-width: auto !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    letter-spacing: .22em !important;
    font-size: .72rem !important;
    white-space: nowrap;
    flex: 0 0 auto;
}

/* Mobile tweak — keep both on one line but tighter */
@media (max-width: 480px) {
    .viaore-card .viaore-card-price ins,
    .viaore-card .viaore-card-price ins .woocommerce-Price-amount { font-size: 1rem !important; }
    .viaore-card .viaore-card-add { padding: .75rem 1.2rem !important; }
}
}