/*
Theme Name: Sparkling Romania
Theme URI: https://sparklingromania.ro/
Author: Sparkling Romania
Description: Block theme editorial premium cu estetică neoclassical pentru Sparkling Romania. Tipografie Nunito Sans, paletă ivory + charcoal + șampanie. Layout fullscreen, secțiuni asimetrice.
Version: 3.0.7
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sparkling-romania
*/

/* ============================================================
   GLOBAL
   ============================================================ */
html { scroll-behavior: smooth; }
body {
  font-feature-settings: "ss01", "ss02", "kern";
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}

/* Force true edge-to-edge for alignfull — overrides nested
   has-global-padding wrappers that constrain WP's default mechanism. */
.wp-site-blocks .alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}
.wp-site-blocks .alignfull > .wp-block-cover__inner-container,
.wp-site-blocks .alignfull > .wp-block-group__inner-container {
  width: 100%;
}

::selection {
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--background);
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
  position: relative;
  z-index: 10;
  border-bottom: 0 !important;
}
.wp-block-site-title a,
.wp-block-site-title a:visited {
  text-decoration: none;
  color: var(--wp--preset--color--foreground);
  transition: color 0.25s ease;
}
.wp-block-site-title a:hover { color: var(--wp--preset--color--accent); }

/* Navigation — small caps refined */
.wp-block-navigation .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--body);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--wp--preset--color--foreground);
  transition: color 0.25s ease;
}
.wp-block-navigation .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--accent);
}
.wp-block-navigation__container { gap: 2.25rem !important; }

/* Header row spans full content width (not the narrow 780px contentSize) */
.site-header > .wp-block-group.is-layout-flex {
  max-width: 1360px !important;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep header nav on a single line */
.site-header .wp-block-navigation,
.site-header .wp-block-navigation__container {
  flex-wrap: nowrap !important;
}
.site-header .wp-block-navigation__container { white-space: nowrap; }
.site-header .wp-block-group { gap: 2rem; }

/* Site logo */
.site-header .wp-block-site-logo {
  flex: 0 0 auto;
  line-height: 0;
}
.site-header .wp-block-site-logo img {
  width: 190px;
  height: auto;
  display: block;
}
.site-header .wp-block-navigation { flex: 0 1 auto; }
.site-footer .wp-block-site-logo img { width: 180px; height: auto; }
@media (max-width: 600px) {
  .site-header .wp-block-site-logo img { width: 150px; }
}

/* ============================================================
   H2 EDITORIAL DECORATION (small accent line after section titles)
   ============================================================ */
.eyebrow + .wp-block-heading,
.wp-block-group .wp-block-heading[class*="has-xx-large"] {
  position: relative;
  padding-bottom: 0.55em;
}
.eyebrow + .wp-block-heading::after,
.wp-block-group .wp-block-heading[class*="has-xx-large"]::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0.05em;
  width: 2.2rem;
  height: 2px;
  background-color: var(--wp--preset--color--accent);
  border-radius: 1px;
}
/* H3 italic gold — give it a hint more presence */
h3:not([class*="card"]):not([class*="grid"] *) {
  margin-top: 1.6em;
}

/* ============================================================
   H1 SIZE TAMING (Nunito Sans is broader than the previous serif)
   ============================================================ */
.hero-cover h1,
.wp-block-cover h1 {
  font-size: clamp(2rem, 4.5vw, 4.25rem) !important;
  letter-spacing: -0.018em !important;
  line-height: 1.08 !important;
}
.wp-block-heading.has-huge-font-size,
h1.has-huge-font-size {
  font-size: clamp(2.25rem, 4.8vw, 4.5rem) !important;
}

/* ============================================================
   MOBILE NAVIGATION (hamburger + overlay modal)
   ============================================================ */
/* Hamburger button — keep clear of right edge */
.wp-block-navigation__responsive-container-open {
  padding: 0.5rem;
  margin-right: 0;
  color: var(--wp--preset--color--foreground);
}

/* Modal overlay when menu opens */
.wp-block-navigation__responsive-container.is-menu-open {
  padding: clamp(4rem, 8vw, 5rem) clamp(1.5rem, 6vw, 2.5rem) clamp(2rem, 6vw, 3rem) !important;
  background-color: var(--wp--preset--color--background) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  gap: 1.5rem !important;
  flex-direction: column;
  align-items: flex-start !important;
  text-align: left !important;
  width: 100%;
  padding-right: 1rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  width: 100%;
  border-bottom: 1px solid var(--wp--preset--color--line);
  padding-bottom: 1rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child {
  border-bottom: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-size: 1rem !important;
  letter-spacing: 0.2em !important;
  display: block;
  padding: 0.4rem 0;
}

/* Close button (X) — keep clear of edges */
.wp-block-navigation__responsive-container-close {
  top: 1.25rem !important;
  right: 1.25rem !important;
  padding: 0.5rem;
}

/* Mobile header layout: ensure logo + hamburger have edge padding */
@media (max-width: 768px) {
  .site-header > .wp-block-group.is-layout-flex {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

/* ============================================================
   BY THE GLASS — Map + Locations
   ============================================================ */
.byglass-map {
  margin-bottom: 3rem;
  overflow: hidden;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 2px;
  box-shadow: 0 2px 20px rgba(31,27,22,0.04);
}
.byglass-map iframe { display: block; width: 100%; }
@media (max-width: 600px) {
  .byglass-map iframe { height: 380px; }
}

.byglass-locations {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
.location-card {
  background: var(--wp--preset--color--background);
  padding: 2rem 2.25rem;
  border-left: 2px solid var(--wp--preset--color--accent);
}
.location-card__kicker {
  display: inline-block;
  font-family: var(--wp--preset--font-family--body);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--wp--preset--color--accent);
  margin-bottom: 0.6rem;
}
.location-card h3 {
  font-size: 1.5rem !important;
  font-style: normal !important;
  color: var(--wp--preset--color--foreground) !important;
  margin: 0 0 0.5rem !important;
  font-weight: 600 !important;
}
.location-card__address {
  font-family: var(--wp--preset--font-family--body);
  color: var(--wp--preset--color--muted);
  font-size: 0.95rem;
  margin: 0 0 1rem !important;
}
.location-card__desc {
  color: var(--wp--preset--color--foreground);
  font-size: 0.98rem;
  line-height: 1.65;
  margin: 0 0 1.25rem !important;
}
.location-card__links {
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  margin: 0 !important;
}
.location-card__links a {
  color: var(--wp--preset--color--accent);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  transition: opacity 0.25s ease;
}
.location-card__links a:hover { opacity: 0.7; }

/* ============================================================
   HERO COVER
   ============================================================ */
.hero-cover {
  min-height: 100vh !important;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  background-color: #1A1A1A;
}
.hero-cover__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 60%;
  z-index: 0;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .hero-cover__video { display: none !important; }
  .hero-cover {
    background-image: url('https://sparklingromania.ro/wp-content/uploads/2026/06/hero/hero-poster.jpg');
    background-position: center 60%;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
.hero-cover .wp-block-cover__inner-container {
  width: 100%;
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  padding-bottom: 6rem;
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 1424px) {
  .hero-cover .wp-block-cover__inner-container {
    padding-left: var(--wp--preset--spacing--40);
    padding-right: var(--wp--preset--spacing--40);
  }
}
@media (max-width: 768px) {
  .hero-cover .wp-block-cover__inner-container {
    padding: 0 1.5rem 3rem 1.5rem;
  }
}
.hero-cover h1 {
  max-width: 12em;
  margin: 0 !important;
}
.hero-cover .hero-eyebrow {
  font-family: var(--wp--preset--font-family--body);
  text-transform: uppercase;
  letter-spacing: 0.32em;
  font-size: 0.72rem;
  font-weight: 500;
  margin-bottom: 1.5rem !important;
  opacity: 0.85;
}

/* ============================================================
   EYEBROW TEXT (small caps label above headings)
   ============================================================ */
.eyebrow {
  font-family: var(--wp--preset--font-family--body);
  text-transform: uppercase;
  letter-spacing: 0.32em;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--wp--preset--color--accent);
  margin-bottom: 1.25rem !important;
  display: inline-block;
  position: relative;
}
.eyebrow::before {
  content: "";
  display: inline-block;
  width: 0.46rem;
  height: 0.46rem;
  background-color: var(--wp--preset--color--accent);
  transform: rotate(45deg);
  margin-right: 0.7rem;
  vertical-align: middle;
  margin-bottom: 0.1em;
}

/* ============================================================
   SECTION PADDING (vertical rhythm)
   ============================================================ */
.section-pad-lg {
  padding-top: var(--wp--preset--spacing--70) !important;
  padding-bottom: var(--wp--preset--spacing--70) !important;
}
.section-pad-md {
  padding-top: var(--wp--preset--spacing--60) !important;
  padding-bottom: var(--wp--preset--spacing--60) !important;
}
@media (max-width: 768px) {
  .section-pad-lg, .section-pad-md {
    padding-top: var(--wp--preset--spacing--60) !important;
    padding-bottom: var(--wp--preset--spacing--60) !important;
  }
}

/* Dark contrast section */
.section-dark {
  background-color: var(--wp--preset--color--deep) !important;
  color: var(--wp--preset--color--background) !important;
  position: relative;
  overflow: hidden;
}
/* Logo-inspired bubble cluster accent (top-right, subtle) */
.section-dark::after {
  content: "";
  position: absolute;
  top: -1.5rem;
  right: -1rem;
  width: 240px;
  height: 240px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cg fill='%23D4B173'%3E%3Ccircle cx='180' cy='60' r='26'/%3E%3Ccircle cx='130' cy='42' r='15'/%3E%3Ccircle cx='205' cy='120' r='18'/%3E%3Ccircle cx='150' cy='100' r='11'/%3E%3Ccircle cx='110' cy='80' r='8'/%3E%3Ccircle cx='185' cy='168' r='10'/%3E%3Ccircle cx='150' cy='150' r='6'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.16;
  pointer-events: none;
}
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 {
  color: var(--wp--preset--color--background) !important;
}
.section-dark .eyebrow { color: var(--wp--preset--color--accent-soft) !important; }
.section-dark .eyebrow::before { background-color: var(--wp--preset--color--accent-soft) !important; }

/* ============================================================
   THREE PILLARS (Înrădăcinat / Expresiv / Autentic)
   ============================================================ */
.pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--wp--preset--color--line);
}
.pillar-grid .pillar {
  padding: 4rem 2.5rem;
  border-right: 1px solid var(--wp--preset--color--line);
  position: relative;
}
.pillar-grid .pillar:last-child { border-right: 0; }
.pillar-grid .pillar-number {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 1rem;
  font-style: italic;
  color: var(--wp--preset--color--accent);
  margin-bottom: 1.5rem;
  display: block;
}
.pillar-grid .pillar h3 {
  margin: 0 0 1.25rem 0 !important;
  font-size: 2rem !important;
}
.pillar-grid .pillar p {
  margin: 0 !important;
  color: var(--wp--preset--color--muted);
  font-size: 0.98rem;
  line-height: 1.75;
}
@media (max-width: 900px) {
  .pillar-grid { grid-template-columns: 1fr; }
  .pillar-grid .pillar {
    border-right: 0;
    border-bottom: 1px solid var(--wp--preset--color--line);
    padding: 2.5rem 1.5rem;
  }
  .pillar-grid .pillar:last-child { border-bottom: 0; }
}

/* ============================================================
   PARTNER LOGOS — normalized grid
   ============================================================ */
.partner-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  border-top: 1px solid var(--wp--preset--color--line);
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.partner-grid .partner {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  border-right: 1px solid var(--wp--preset--color--line);
  transition: background-color 0.3s ease;
}
.partner-grid .partner:last-child { border-right: 0; }
.partner-grid .partner:hover { background-color: rgba(184, 137, 59, 0.05); }
.partner-grid .partner img {
  max-height: 70px;
  max-width: 80%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.55;
  transition: opacity 0.3s ease, filter 0.3s ease;
}
.partner-grid .partner:hover img {
  filter: grayscale(0%);
  opacity: 1;
}

/* Homepage atmospheric band — capped height (not a towering image) */
.home-band { padding: 0 !important; margin-top: var(--wp--preset--spacing--60) !important; margin-bottom: var(--wp--preset--spacing--60) !important; }
.home-band img { width: 100%; height: 42vh; max-height: 460px; object-fit: cover; display: block; }

/* ============================================================
   NEWSLETTER CTA
   ============================================================ */
.newsletter-cta { text-align: center; }
.newsletter-cta > * { position: relative; z-index: 1; }
.newsletter-cta .nl-eyebrow { color: var(--wp--preset--color--accent-soft) !important; }
.newsletter-cta .nl-eyebrow::before { background-color: var(--wp--preset--color--accent-soft) !important; }
.newsletter-cta .nl-title {
  font-family: var(--wp--preset--font-family--cormorant);
  font-weight: 400; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1;
  color: var(--wp--preset--color--background); margin: 0.5rem 0 1rem;
}
.newsletter-cta .nl-sub {
  color: rgba(255,255,255,0.75); font-size: 1.1rem; line-height: 1.6;
  max-width: 34em; margin: 0 auto 1.75rem;
}
.newsletter-cta .nl-benefits {
  list-style: none; padding: 0; margin: 0 auto 2.25rem;
  display: inline-flex; flex-direction: column; gap: 0.6rem; text-align: left;
}
.newsletter-cta .nl-benefits li {
  position: relative; padding-left: 1.5rem;
  color: rgba(255,255,255,0.82); font-size: 0.98rem;
}
.newsletter-cta .nl-benefits li::before {
  content: ""; position: absolute; left: 0; top: 0.55em;
  width: 0.4rem; height: 0.4rem; background: var(--wp--preset--color--accent);
  transform: rotate(45deg);
}
.newsletter-cta .nl-form {
  display: flex; flex-direction: column; gap: 0.85rem;
  max-width: 540px; margin: 0 auto; text-align: left;
}
.newsletter-cta .nl-row { display: flex; gap: 0.75rem; }
.newsletter-cta .nl-input {
  flex: 1 1 0; min-width: 0; padding: 0.9rem 1.1rem;
  border: 1px solid rgba(255,255,255,0.3); background: rgba(255,255,255,0.06);
  color: #fff; border-radius: 0;
  font-family: var(--wp--preset--font-family--body); font-size: 0.95rem;
}
.newsletter-cta .nl-input::placeholder { color: rgba(255,255,255,0.5); }
.newsletter-cta .nl-input:focus {
  outline: none; border-color: var(--wp--preset--color--accent-soft);
  background: rgba(255,255,255,0.1);
}
.newsletter-cta .nl-consent {
  display: flex; gap: 0.6rem; align-items: flex-start;
  font-size: 0.8rem; line-height: 1.45; color: rgba(255,255,255,0.7);
  margin: 0.25rem 0;
}
.newsletter-cta .nl-consent input { margin-top: 0.18rem; flex: 0 0 auto; accent-color: var(--wp--preset--color--accent); }
.newsletter-cta .nl-consent a { color: rgba(255,255,255,0.92); text-decoration: underline; }
.newsletter-cta .nl-consent a:hover { color: var(--wp--preset--color--accent-soft); }
.newsletter-cta .nl-submit {
  width: 100%; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--background);
  border: 0; border-radius: 0; padding: 1rem 1.9rem;
  font-family: var(--wp--preset--font-family--body); font-size: 0.78rem;
  letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500;
  cursor: pointer; transition: background 0.25s ease;
}
.newsletter-cta .nl-submit:hover { background: var(--wp--preset--color--accent-soft); }
.newsletter-cta .nl-submit:disabled { opacity: 0.6; cursor: default; }
.newsletter-cta .nl-success {
  color: var(--wp--preset--color--accent-soft);
  font-family: var(--wp--preset--font-family--cormorant); font-style: italic;
  font-size: 1.5rem; text-align: center; margin: 0.5rem 0 0;
}
.newsletter-cta .nl-note {
  color: rgba(255,255,255,0.5); font-size: 0.78rem; letter-spacing: 0.03em;
  margin: 1.25rem 0 0; text-align: center;
}
@media (max-width: 560px) {
  .newsletter-cta .nl-row { flex-direction: column; }
}
@media (max-width: 1024px) {
  .partner-grid { grid-template-columns: repeat(3, 1fr); }
  .partner-grid .partner { height: 120px; border-bottom: 1px solid var(--wp--preset--color--line); }
  .partner-grid .partner:nth-child(3n) { border-right: 0; }
  .partner-grid .partner:nth-last-child(-n+3) { border-bottom: 0; }
}
@media (max-width: 600px) {
  .partner-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-grid .partner { height: 110px; }
  .partner-grid .partner:nth-child(odd) { border-right: 1px solid var(--wp--preset--color--line); }
  .partner-grid .partner:nth-child(even) { border-right: 0; }
  .partner-grid .partner:not(:nth-last-child(-n+2)) { border-bottom: 1px solid var(--wp--preset--color--line); }
  .partner-grid .partner:nth-last-child(-n+2) { border-bottom: 0; }
}

/* ============================================================
   PRODUCER CARDS (Producători listing with photos)
   ============================================================ */
.producer-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem 3rem;
}
.producer-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.producer-card__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--wp--preset--color--line);
  margin-bottom: 1.4rem;
}
.producer-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2,0.6,0.2,1);
}
.producer-card:hover .producer-card__media img { transform: scale(1.05); }
.producer-card__region {
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  margin-bottom: 0.55rem;
}
.producer-card__name {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.15;
  margin: 0 0 0.6rem 0;
  color: var(--wp--preset--color--foreground);
  transition: color 0.25s ease;
}
.producer-card:hover .producer-card__name { color: var(--wp--preset--color--accent); }
.producer-card__desc {
  margin: 0 0 1.1rem 0;
  color: var(--wp--preset--color--muted);
  font-size: 0.95rem;
  line-height: 1.6;
  flex: 1 1 auto;
}
.producer-card__cta {
  align-self: flex-start;
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--foreground);
  border-bottom: 1px solid var(--wp--preset--color--line);
  padding-bottom: 3px;
  transition: color 0.25s ease, border-color 0.25s ease;
}
.producer-card__cta::after { content: " →"; }
.producer-card:hover .producer-card__cta {
  color: var(--wp--preset--color--accent);
  border-bottom-color: var(--wp--preset--color--accent);
}
@media (max-width: 1024px) { .producer-cards { grid-template-columns: repeat(2, 1fr); gap: 3rem 2rem; } }
@media (max-width: 600px) { .producer-cards { grid-template-columns: 1fr; } }

/* ============================================================
   PRODUCER PROFILE — fact list
   ============================================================ */
.fact-list dl { margin: 0; }
.fact-list dt {
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  margin: 0;
}
.fact-list dd {
  margin: 0.3rem 0 0 0;
  padding: 0 0 1.25rem 0;
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 1.25rem;
  line-height: 1.3;
  border-bottom: 1px solid var(--wp--preset--color--line);
  margin-bottom: 1.25rem;
}
.fact-list dd:last-child { border-bottom: 0; margin-bottom: 0; }
.fact-list dd .fact-map {
  display: inline-block; margin-top: 0.4rem;
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--wp--preset--color--accent); text-decoration: none;
  border-bottom: 1px solid var(--wp--preset--color--line); padding-bottom: 2px;
  transition: color 0.25s ease, border-color 0.25s ease;
}
.fact-list dd .fact-map:hover { color: var(--wp--preset--color--foreground); border-bottom-color: var(--wp--preset--color--accent); }

/* Region card producer links */
.region-card__producers a {
  color: var(--wp--preset--color--foreground);
  text-decoration: none;
  border-bottom: 1px solid var(--wp--preset--color--line);
  transition: color 0.25s ease, border-color 0.25s ease;
}
.region-card__producers a:hover {
  color: var(--wp--preset--color--accent);
  border-bottom-color: var(--wp--preset--color--accent);
}

/* ============================================================
   DESCOPERĂ — regions / grapes / methods
   ============================================================ */
/* Regions */
.region-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--wp--preset--color--line);
}
.region-card {
  padding: 2.5rem 2.5rem 2.5rem 0;
  border-right: 1px solid var(--wp--preset--color--line);
}
.region-card:first-child { padding-left: 0; }
.region-card:not(:first-child) { padding-left: 2.5rem; }
.region-card:last-child { border-right: 0; padding-right: 0; }
/* Multi-row grid (e.g. 6 regions in 3x2): clean up right border on end-of-row + top divider on row 2+ */
.region-card:nth-child(3n) { border-right: 0; padding-right: 0; }
.region-card:nth-child(3n+1) { padding-left: 0; }
.region-card:nth-child(n+4) {
  border-top: 1px solid var(--wp--preset--color--line);
  padding-top: 2.5rem;
}
.region-card__kicker {
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
}
.region-card h3 {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 2rem;
  font-weight: 400;
  margin: 0.5rem 0 1rem;
}
.region-card p {
  color: var(--wp--preset--color--muted);
  font-size: 0.98rem;
  line-height: 1.7;
  margin: 0 0 1.25rem;
}
.region-card__producers {
  display: block;
  font-size: 0.85rem;
  color: var(--wp--preset--color--foreground);
  padding-top: 1rem;
  border-top: 1px solid var(--wp--preset--color--line);
}
@media (max-width: 820px) {
  .region-grid { grid-template-columns: 1fr; }
  .region-card, .region-card:first-child, .region-card:not(:first-child) {
    padding: 2rem 0;
    border-right: 0;
    border-bottom: 1px solid var(--wp--preset--color--line);
  }
  .region-card:last-child { border-bottom: 0; }
}

/* Grapes */
.grape-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--wp--preset--color--line);
  border: 1px solid var(--wp--preset--color--line);
}
.grape-card {
  background: var(--wp--preset--color--background);
  padding: 2.25rem 2rem;
}
.grape-card__type {
  display: inline-block;
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.3rem 0.7rem;
  margin-bottom: 1.1rem;
}
.grape-card__type--indigen { background: rgba(184,137,59,0.14); color: #8a6526; }
.grape-card__type--intl { background: rgba(31,27,22,0.08); color: var(--wp--preset--color--muted); }
.grape-card__type--alb { background: rgba(184,137,59,0.14); color: #8a6526; }
.grape-card__type--negru { background: rgba(40,30,55,0.10); color: #2d2438; }
.grape-card__type--roz { background: rgba(196,120,140,0.16); color: #8e3a52; }
/* Legacy alias — keep --rosu working in case any card still uses it */
.grape-card__type--rosu { background: rgba(40,30,55,0.10); color: #2d2438; }
.grape-card h4 {
  font-family: var(--wp--preset--font-family--cormorant) !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 0 0.6rem !important;
}
.grape-card p {
  color: var(--wp--preset--color--muted);
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 0;
}
@media (max-width: 900px) { .grape-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .grape-grid { grid-template-columns: 1fr; } }

/* Methods (inside dark section) */
.method-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
.method-card { position: relative; padding-top: 1.5rem; border-top: 2px solid var(--wp--preset--color--accent); }
.method-card__num {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 2.5rem;
  font-style: italic;
  color: var(--wp--preset--color--accent-soft);
  display: block;
  line-height: 1;
  margin-bottom: 1rem;
}
.method-card h3 {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 1.8rem;
  font-weight: 400;
  margin: 0;
  color: var(--wp--preset--color--background);
}
.method-card__sub {
  font-style: italic;
  font-family: var(--wp--preset--font-family--cormorant);
  color: var(--wp--preset--color--accent-soft) !important;
  margin: 0.2rem 0 1rem !important;
  font-size: 1.05rem;
}
.method-card p {
  color: rgba(250,247,242,0.7);
  font-size: 0.96rem;
  line-height: 1.7;
  margin: 0;
}
@media (max-width: 820px) { .method-grid { grid-template-columns: 1fr; gap: 2.5rem; } }

/* ============================================================
   EVENTS GRID (compact cards)
   ============================================================ */
.events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem 2.5rem;
}
.event-card { display: flex; flex-direction: column; }
a.event-card { text-decoration: none; color: inherit; }
a.event-card .event-card__title { transition: color 0.25s ease; }
a.event-card:hover .event-card__title { color: var(--wp--preset--color--accent); }
.event-card__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--wp--preset--color--line);
  margin-bottom: 1.5rem;
}
.event-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.2,0.6,0.2,1);
}
.event-card:hover .event-card__media img { transform: scale(1.04); }
.event-card__date {
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  margin-bottom: 0.75rem;
}
.event-card__title {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.15;
  margin: 0 0 0.75rem 0;
}
.event-card__desc {
  margin: 0;
  color: var(--wp--preset--color--muted);
  font-size: 0.98rem;
  line-height: 1.6;
}
@media (max-width: 1100px) {
  .events-grid { grid-template-columns: repeat(2, 1fr); gap: 3rem 2.5rem; }
}
@media (max-width: 700px) {
  .events-grid { grid-template-columns: 1fr; gap: 3rem; }
}

/* ============================================================
   EVENT TEASER full-bleed
   ============================================================ */
.event-teaser {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.event-teaser h2 {
  max-width: 14em;
  margin: 0 auto !important;
}

/* ============================================================
   MEDIA-TEXT asymmetric
   ============================================================ */
.wp-block-media-text {
  grid-template-columns: 5fr 7fr;
  gap: 0;
}
.wp-block-media-text.has-media-on-the-right {
  grid-template-columns: 7fr 5fr;
}
.wp-block-media-text .wp-block-media-text__content {
  padding: 4rem 4rem 4rem 4rem !important;
}
@media (max-width: 768px) {
  .wp-block-media-text,
  .wp-block-media-text.has-media-on-the-right {
    grid-template-columns: 1fr;
  }
  .wp-block-media-text .wp-block-media-text__content {
    padding: 2rem 1.5rem !important;
  }
}

/* ============================================================
   IMAGE HOVER
   ============================================================ */
.wp-block-image img {
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.6, 0.2, 1);
}
.wp-block-image.has-hover img:hover {
  transform: scale(1.03);
}

/* ============================================================
   BUTTONS — refined underline style
   ============================================================ */
.wp-block-button__link {
  transition: color 0.25s ease, border-color 0.25s ease, padding 0.25s ease;
}
.wp-block-button__link::after {
  content: " →";
  display: inline-block;
  margin-left: 0.4em;
  transition: transform 0.3s ease;
}
.wp-block-button__link:hover::after {
  transform: translateX(4px);
}

/* Solid filled button variation */
.wp-block-button.is-style-filled .wp-block-button__link {
  background-color: var(--wp--preset--color--foreground) !important;
  color: var(--wp--preset--color--background) !important;
  border: 1px solid var(--wp--preset--color--foreground) !important;
  padding: 1rem 2rem !important;
}
.wp-block-button.is-style-filled .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--accent) !important;
  border-color: var(--wp--preset--color--accent) !important;
  color: var(--wp--preset--color--background) !important;
}

/* Hero button on dark cover */
.hero-cover .wp-block-button__link {
  color: var(--wp--preset--color--background) !important;
  border-bottom-color: var(--wp--preset--color--background) !important;
}
.hero-cover .wp-block-button__link:hover {
  color: var(--wp--preset--color--accent-soft) !important;
  border-bottom-color: var(--wp--preset--color--accent-soft) !important;
}

/* ============================================================
   SEPARATOR — refined
   ============================================================ */
.wp-block-separator:not(.is-style-dots) {
  border: 0;
  border-top: 1px solid var(--wp--preset--color--line);
  max-width: 3rem;
  opacity: 1;
  margin: var(--wp--preset--spacing--40) auto;
}
.wp-block-separator.is-style-wide {
  max-width: 100% !important;
  border-color: var(--wp--preset--color--line);
}

/* ============================================================
   POST TITLE / DATE
   ============================================================ */
.wp-block-post-title a { text-decoration: none; }
.wp-block-post-title a:hover { color: var(--wp--preset--color--accent); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  border-top: 1px solid var(--wp--preset--color--line);
  font-size: 0.95rem;
}
.site-footer .footer-top { gap: 2rem; }
.site-footer .wp-block-site-tagline {
  color: var(--wp--preset--color--muted);
  font-family: var(--wp--preset--font-family--cormorant);
  font-style: italic;
  font-size: 1rem;
}
.site-footer a {
  color: var(--wp--preset--color--foreground);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.25s ease, color 0.25s ease;
}
.site-footer a:hover {
  color: var(--wp--preset--color--accent);
  border-bottom-color: var(--wp--preset--color--accent);
}

/* Footer links — horizontal row */
.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
  align-items: center;
}
.footer-links li { margin: 0; }
.footer-links a {
  font-family: var(--wp--preset--font-family--body);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.72rem;
  font-weight: 500;
}
.site-footer .footer-bottom {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: stretch;
}
.footer-links a { border-bottom: 0 !important; }
.footer-links a:hover { color: var(--wp--preset--color--accent); }

/* Legal row: secondary menu + copyright (left), trust badges (right) */
.footer-legal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  border-top: 1px solid var(--wp--preset--color--line);
  padding-top: 1.75rem;
}
.footer-legal__text { display: flex; flex-direction: column; gap: 0.55rem; }
.footer-secondary {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 1.25rem;
}
.footer-secondary li { margin: 0; }
.footer-secondary a {
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--wp--preset--color--muted); text-decoration: none;
  border-bottom: 0 !important;
}
.footer-secondary a:hover { color: var(--wp--preset--color--accent); }
.footer-copyright {
  margin: 0; font-size: 0.78rem; letter-spacing: 0.05em;
  color: var(--wp--preset--color--muted);
}
.footer-badges { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.footer-badges a { border-bottom: 0 !important; line-height: 0; display: inline-block; }
.footer-badges img { height: 34px; width: auto; display: block; }

/* Footer social icons */
.footer-social { gap: 0.5rem; }
.footer-social a { border-bottom: 0 !important; transition: opacity 0.25s ease; }
.footer-social a:hover { opacity: 0.6; }

@media (max-width: 768px) {
  .footer-legal { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  .footer-links { justify-content: center; gap: 1.25rem; }
}

/* ============================================================
   CONTACT FORM 7
   ============================================================ */
.contact-form-wrap .wpcf7 { margin-top: 0; }
.contact-form-wrap .cf7-row {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.contact-form-wrap .cf7-row > label { flex: 1 1 220px; }
.contact-form-wrap label {
  display: block;
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin-bottom: 1.5rem;
}
.contact-form-wrap input[type="text"],
.contact-form-wrap input[type="email"],
.contact-form-wrap textarea {
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.85rem 0;
  border: 0;
  border-bottom: 1px solid var(--wp--preset--color--line);
  background: transparent;
  font-family: var(--wp--preset--font-family--body);
  font-size: 1rem;
  color: var(--wp--preset--color--foreground);
  letter-spacing: normal;
  text-transform: none;
  border-radius: 0;
  transition: border-color 0.25s ease;
}
.contact-form-wrap input:focus,
.contact-form-wrap textarea:focus {
  outline: none;
  border-bottom-color: var(--wp--preset--color--accent);
}
.contact-form-wrap textarea { min-height: 140px; resize: vertical; }
.contact-form-wrap input[type="submit"] {
  margin-top: 1.5rem;
  background-color: var(--wp--preset--color--foreground);
  color: var(--wp--preset--color--background);
  border: 1px solid var(--wp--preset--color--foreground);
  border-radius: 0;
  padding: 1rem 2.5rem;
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.contact-form-wrap input[type="submit"]:hover {
  background-color: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
}
.contact-form-wrap .wpcf7-not-valid-tip { color: #b00; font-size: 0.78rem; text-transform: none; letter-spacing: normal; }
.contact-form-wrap .wpcf7-response-output {
  border-color: var(--wp--preset--color--line) !important;
  font-size: 0.9rem;
  margin: 1.5rem 0 0;
  padding: 1rem;
}

/* ============================================================
   QUOTE EDITORIAL
   ============================================================ */
.editorial-quote {
  max-width: 26em;
  margin: 0 auto;
  text-align: center;
  padding: 4rem 2rem;
}
.editorial-quote .quote-text {
  font-family: var(--wp--preset--font-family--cormorant);
  font-style: italic;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  line-height: 1.3;
  margin: 0;
}
.editorial-quote .quote-attr {
  display: block;
  margin-top: 1.5rem;
  font-family: var(--wp--preset--font-family--body);
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.72rem;
  color: var(--wp--preset--color--muted);
  font-style: normal;
}

/* ============================================================
   GENERIC PAGE BODY
   ============================================================ */
main .wp-block-heading + p { margin-top: 1rem; }
main .alignfull { margin-top: var(--wp--preset--spacing--60); margin-bottom: var(--wp--preset--spacing--60); }

/* Reset default WP margins on cover blocks for tight stacking */
.alignfull.wp-block-cover { margin-top: 0; margin-bottom: 0; }

/* ============================================================
   WOOCOMMERCE
   ============================================================ */
.woo-main .woocommerce-products-header__title,
.woo-main h1.entry-title,
.woocommerce-page h1.entry-title {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: var(--wp--preset--font-size--xx-large);
  font-weight: 400;
  letter-spacing: -0.018em;
  margin-bottom: 0.5rem;
}

/* Result count + ordering row */
.woocommerce .woocommerce-result-count {
  color: var(--wp--preset--color--muted);
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  margin-bottom: 2.5rem;
}
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby {
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.6rem 2rem 0.6rem 0.8rem;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 0;
  background-color: transparent;
  color: var(--wp--preset--color--foreground);
}

/* ---- Product grid ---- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 3rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.woocommerce ul.products li.product a {
  display: block;
  text-decoration: none;
}
.woocommerce ul.products li.product a img {
  margin: 0 0 1.75rem 0;
  background: #ffffff;
  border: 1px solid var(--wp--preset--color--line);
  aspect-ratio: 3 / 4;
  object-fit: cover;
  width: 100%;
  transition: transform 0.5s cubic-bezier(0.2,0.6,0.2,1);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.02); }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--wp--preset--color--foreground);
  padding: 0;
  margin: 0 0 0.75rem 0;
}
.woocommerce ul.products li.product .loop-short-desc {
  color: var(--wp--preset--color--muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 auto 1.25rem;
  max-width: 30ch;
}
.woocommerce ul.products li.product .loop-short-desc p { margin: 0; }
.woocommerce ul.products li.product .price {
  color: var(--wp--preset--color--foreground) !important;
  font-family: var(--wp--preset--font-family--body);
  font-size: 1rem !important;
  font-weight: 500;
  margin: 0 0 1.5rem 0;
}
.woocommerce ul.products li.product .price del { color: var(--wp--preset--color--muted); opacity: 0.7; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* Push the add-to-cart to the bottom for aligned rows */
.woocommerce ul.products li.product .button { margin-top: auto; }

/* ---- Buttons (theme-aligned) ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit {
  display: inline-block;
  background-color: var(--wp--preset--color--foreground);
  color: var(--wp--preset--color--background);
  border: 1px solid var(--wp--preset--color--foreground);
  border-radius: 0;
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.95rem 2rem;
  line-height: 1;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover {
  background-color: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--background);
}

/* ---- Single product ---- */
.woocommerce div.product { display: block; }
.woocommerce div.product div.images { margin-bottom: 2rem; }
.woocommerce div.product div.images img { border: 1px solid var(--wp--preset--color--line); }
.woocommerce-breadcrumb {
  font-size: 0.78rem !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted) !important;
  margin-bottom: 2.5rem !important;
}
.woocommerce-breadcrumb a { color: var(--wp--preset--color--muted); text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: var(--wp--preset--color--accent); }

.woocommerce div.product .product_title {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.015em;
  margin-bottom: 1.25rem;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--wp--preset--color--foreground) !important;
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 2rem !important;
  font-weight: 500;
  margin-bottom: 1.5rem;
}
/* Short description — prominent, at top of summary */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 1.15rem;
  line-height: 1.6;
  color: var(--wp--preset--color--muted);
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.woocommerce div.product form.cart { margin: 1.5rem 0 2rem; }
.woocommerce div.product .product_meta {
  font-size: 0.8rem;
  color: var(--wp--preset--color--muted);
  letter-spacing: 0.04em;
  border-top: 1px solid var(--wp--preset--color--line);
  padding-top: 1.5rem;
}
.woocommerce div.product .stock { color: var(--wp--preset--color--accent); font-size: 0.85rem; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: var(--wp--preset--spacing--60); }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0 0 0 0;
  margin: 0 0 2.5rem;
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0 2rem 0 0;
  padding: 0 0 1rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { border: 0 !important; box-shadow: none !important; content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--wp--preset--font-family--body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--foreground); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 1px solid var(--wp--preset--color--accent);
  margin-bottom: -1px;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-family: var(--wp--preset--font-family--cormorant);
  font-weight: 400;
}
.woocommerce #reviews h2,
.woocommerce div.product .woocommerce-tabs .panel h3 {
  font-family: var(--wp--preset--font-family--cormorant);
  font-weight: 400;
}

/* Related products heading */
.woocommerce .related > h2,
.woocommerce .upsells > h2 {
  font-family: var(--wp--preset--font-family--cormorant);
  font-weight: 400;
  font-size: var(--wp--preset--font-size--x-large);
  margin-bottom: 2.5rem;
}

/* Cart / notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--wp--preset--color--accent) !important;
  background-color: #fff;
  font-size: 0.95rem;
}

@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); gap: 3rem 2rem; }
}
@media (max-width: 600px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: 1fr; }
}
