/*
Theme Name:   Wine Diplomacy
Theme URI:    https://winediplomacy.eu
Description:  Child theme for Wine Diplomacy — built on Astra
Author:       George Robakidze
Author URI:   https://winediplomacy.eu
Template:     astra
Version: 1.0.19
Text Domain:  winediplomacy
*/

/* ============================================================
   SELF-HOSTED FONTS (SIL OFL) — served locally from assets/fonts/.
   No request is made to Google; visitor IPs are never sent to third parties.
   ============================================================ */
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/Inter-Light.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/Inter-Regular.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/Inter-Medium.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/Inter-SemiBold.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('assets/fonts/PlayfairDisplay.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url('assets/fonts/PlayfairDisplay-Italic.woff2') format('woff2');}

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  --wd-bg:           #FAFAF7;
  --wd-bg-alt:       #F3F1EC;
  --wd-burgundy:     #6B1A2A;
  --wd-burgundy-dk:  #4E1220;
  --wd-green:        #2C4A3E;
  --wd-green-lt:     #3D6B5C;
  --wd-green-dk:     #21382E;
  --wd-green-dk:     #21382E;
  --wd-gold:         #B8975A;
  --wd-oak:          #7A5230;
  --wd-oak-bg:       #F7F1E8;
  --wd-oak-dk:       #3E2A14;
  --wd-text:         #1A1A1A;
  --wd-muted:        #7A7A6E;
  --wd-border:       #E2DDD6;
  --wd-white:        #FFFFFF;

  --wd-olive:        #4A5240;
  --wd-olive-dk:     #383E30;
  --wd-olive-dk:     #383E30;
  --wd-ink:          #4A3B52;   /* Stories accent — muted aubergine/sediment */
  --wd-ink-dk:       #382C40;
  --wd-ink-bg:       #F4F1F5;
  --wd-font-head:    'Playfair Display', Georgia, serif;
  --wd-font-body:    'Inter', system-ui, sans-serif;
  --wd-font-serif:   'Playfair Display', Georgia, serif;
  --wd-font-sans:    'Inter', system-ui, sans-serif;

  --wd-radius:       4px;
  --wd-radius-lg:    8px;
  --wd-shadow:       0 2px 12px rgba(0,0,0,0.08);
  --wd-shadow-lg:    0 4px 24px rgba(0,0,0,0.12);
}

/* ============================================================
   BASE
   ============================================================ */
body {
  background-color: var(--wd-bg);
  color: var(--wd-text);
  font-family: var(--wd-font-body);
  font-size: 17px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--wd-font-head);
  color: var(--wd-text);
  line-height: 1.25;
  font-weight: 600;
}

h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
h4 { font-size: 1.25rem; }

a {
  color: var(--wd-burgundy);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover { color: var(--wd-burgundy-dk); }

/* ============================================================
   HEADER
   ============================================================ */
.site-header,
#masthead {
  background-color: var(--wd-white);
  border-bottom: 1px solid var(--wd-border);
  box-shadow: 0 1px 8px rgba(0,0,0,0.06);
}

.site-title a,
.ast-site-name-wrap a {
  font-family: var(--wd-font-head);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--wd-burgundy) !important;
  letter-spacing: -0.02em;
}

/* Nav links */
.main-header-menu .menu-item a,
.ast-builder-menu-1 .menu-item a {
  font-family: var(--wd-font-body);
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wd-text);
}
.main-header-menu .menu-item a:hover,
.main-header-menu .current-menu-item > a {
  color: var(--wd-burgundy);
}
/* Force burgundy menu hover/active over Astra's default blue */
.ast-builder-menu-1 .menu-item a:hover,
.ast-builder-menu-1 .menu-item a:focus,
.ast-builder-menu-1 .menu-item.current-menu-item > a,
.ast-builder-menu-1 .menu-item.current_page_item > a,
.main-header-menu .menu-link:hover,
.main-header-menu .menu-item:hover > a {
  color: var(--wd-burgundy) !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.wp-block-button__link,
.wd-btn,
button[type="submit"] {
  background-color: var(--wd-burgundy);
  color: var(--wd-white) !important;
  font-family: var(--wd-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.75rem 1.75rem;
  border-radius: var(--wd-radius);
  border: 2px solid var(--wd-burgundy);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.wp-block-button__link:hover,
.wd-btn:hover {
  background-color: var(--wd-burgundy-dk);
  border-color: var(--wd-burgundy-dk);
}

/* Outline variant */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--wd-burgundy) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--wd-burgundy);
  color: var(--wd-white) !important;
}

/* ============================================================
   ARTICLE CARDS (used in archive loops)
   ============================================================ */
.wd-card {
  background: var(--wd-white);
  border: 1px solid var(--wd-border);
  border-radius: var(--wd-radius-lg);
  overflow: hidden;
  box-shadow: var(--wd-shadow);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.wd-card:hover {
  box-shadow: var(--wd-shadow-lg);
  transform: translateY(-2px);
}
.wd-card__image img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
}
.wd-card__body {
  padding: 0.85rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.wd-card__label {
  font-size: 0.62rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wd-burgundy);
  margin-bottom: 0.4rem;
  display: block;
}
.wd-card__title {
  font-family: var(--wd-font-head);
  font-size: 0.95rem;
  line-height: 1.3;
  margin: 0 0 0.4rem;
  color: var(--wd-text);
}
.wd-card__excerpt {
  font-size: 0.75rem;
  color: var(--wd-muted);
  line-height: 1.5;
  margin: 0;
  /* Clamp to 3 lines so every card is the same height */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wd-card__country {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.68rem;
  color: var(--wd-muted);
  margin: 0 0 0.35rem;
}
.wd-card__country .wd-flag {
  flex: 0 0 auto;
}

/* ============================================================
   WINE SCORE BADGE
   ============================================================ */
.wd-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--wd-burgundy);
  color: var(--wd-white);
  font-family: var(--wd-font-head);
  font-size: 1.3rem;
  font-weight: 700;
  box-shadow: var(--wd-shadow);
}
.wd-score--large {
  width: 5rem;
  height: 5rem;
  font-size: 2rem;
}

/* ============================================================
   TASTING NOTES PANEL
   ============================================================ */
.wd-tasting-notes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  background: var(--wd-bg-alt);
  border: 1px solid var(--wd-border);
  border-radius: var(--wd-radius-lg);
  padding: 2rem;
  margin: 2rem 0;
}
.wd-tasting-notes__item h4 {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wd-burgundy);
  margin-bottom: 0.5rem;
}
.wd-tasting-notes__item p {
  font-size: 0.95rem;
  color: var(--wd-text);
  margin: 0;
}
@media (max-width: 640px) {
  .wd-tasting-notes { grid-template-columns: 1fr; }
}

/* ============================================================
   WINE DETAILS PANEL (meta block on review pages)
   ============================================================ */
.wd-wine-meta {
  background: var(--wd-white);
  border: 1px solid var(--wd-border);
  border-left: 4px solid var(--wd-burgundy);
  border-radius: var(--wd-radius-lg);
  padding: 1.5rem 2rem;
  margin: 2rem 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
}
.wd-wine-meta__item label {
  display: block;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wd-muted);
  margin-bottom: 0.2rem;
}
.wd-wine-meta__item span {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--wd-text);
}

/* ============================================================
   RECIPE CARD
   ============================================================ */
.wd-recipe-meta {
  background: var(--wd-green);
  color: var(--wd-white);
  border-radius: var(--wd-radius-lg);
  padding: 1.5rem 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin: 2rem 0;
}
.wd-recipe-meta__item label {
  display: block;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.7;
  margin-bottom: 0.2rem;
}
.wd-recipe-meta__item span {
  font-weight: 600;
  font-size: 1rem;
}

/* ============================================================
   CALLOUT / PAIRING BLOCK
   ============================================================ */
.wd-callout {
  background: linear-gradient(135deg, var(--wd-burgundy) 0%, var(--wd-burgundy-dk) 100%);
  color: var(--wd-white);
  border-radius: var(--wd-radius-lg);
  padding: 2rem 2.5rem;
  margin: 2.5rem 0;
}
.wd-callout h3,
.wd-callout h4 {
  color: var(--wd-white);
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.75rem;
}
.wd-callout p { margin: 0; opacity: 0.92; }

.wd-callout--green {
  background: linear-gradient(135deg, var(--wd-green) 0%, #1e3329 100%);
}

/* ============================================================
   PULL QUOTE
   ============================================================ */
.wp-block-pullquote,
.wd-pullquote {
  border-top: 3px solid var(--wd-burgundy);
  border-bottom: 3px solid var(--wd-burgundy);
  padding: 1.5rem 2rem;
  margin: 2.5rem 0;
}
.wp-block-pullquote blockquote p {
  font-family: var(--wd-font-head);
  font-size: 1.4rem;
  font-style: italic;
  color: var(--wd-burgundy);
  line-height: 1.4;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
#colophon {
  background-color: var(--wd-text);
  color: rgba(255,255,255,0.7);
  font-size: 0.875rem;
}
.site-footer a { color: rgba(255,255,255,0.85); }
.site-footer a:hover { color: var(--wd-gold); }
.site-footer .site-title {
  font-family: var(--wd-font-head);
  color: var(--wd-white);
  font-size: 1.2rem;
}

/* ============================================================
   TAXONOMY BADGES
   ============================================================ */
.wd-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 100px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: var(--wd-bg-alt);
  color: var(--wd-muted);
  border: 1px solid var(--wd-border);
  margin: 0.2rem;
}
.wd-badge--region { background: rgba(107,26,42,0.08); color: var(--wd-burgundy); border-color: rgba(107,26,42,0.2); }
.wd-badge--grape  { background: rgba(44,74,62,0.08);  color: var(--wd-green);    border-color: rgba(44,74,62,0.2); }
.wd-badge--cuisine{ background: rgba(184,151,90,0.12); color: #8B6A2A;           border-color: rgba(184,151,90,0.3); }
.wd-recipe-hero .wd-badge--cuisine,
.wd-recipe-hero .wd-badge {
  background: rgba(255,255,255,0.15);
  color: #fff;
  border-color: rgba(255,255,255,0.5);
}
.wd-badge--oak    { background: rgba(122,82,48,0.10);  color: var(--wd-oak-dk);  border-color: rgba(122,82,48,0.3); }

/* Oak palette for winery cards (front page teaser + winery archive) */
.wd-winery-card { border-top: 3px solid var(--wd-oak); }
.wd-winery-card .wd-card__title a:hover { color: var(--wd-oak); }
body.post-type-archive-winery .wd-badge--region,
.wd-winery-card .wd-badge--region {
  background: rgba(122,82,48,0.10);
  color: var(--wd-oak-dk);
  border-color: rgba(122,82,48,0.3);
}
body.post-type-archive-winery .wd-card { border-top: 3px solid var(--wd-oak); }
body.post-type-archive-winery .wd-card__title a:hover { color: var(--wd-oak); }

/* ============================================================
   HERO SECTION
   ============================================================ */
.wd-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.wd-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.1) 60%, transparent 100%);
}
.wd-hero__content {
  position: relative;
  z-index: 2;
  padding: 3rem;
  color: var(--wd-white);
  max-width: 800px;
}
.wd-hero__content h1 {
  color: var(--wd-white);
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  margin-bottom: 1rem;
  text-shadow: 0 2px 12px rgba(0,0,0,0.3);
}
.wd-hero__content p {
  font-size: 1.1rem;
  opacity: 0.9;
  max-width: 600px;
}

/* ============================================================
   ARCHIVE GRID
   ============================================================ */
.wd-archive-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
  margin: 1.25rem 0 0;
}
@media (max-width: 1200px) {
  .wd-archive-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 900px) {
  .wd-archive-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .wd-archive-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .wd-archive-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   SINGLE ARTICLE LAYOUT
   ============================================================ */
.wd-single-content {
  max-width: 780px;
  margin: 0 auto;
}
.wd-single-content p {
  font-size: 1.05rem;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.wd-single-content img {
  border-radius: var(--wd-radius-lg);
  width: 100%;
  height: auto;
}

/* ============================================================
   SECTION HEADER (title + "see all" link row)
   ============================================================ */
.wd-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
  gap: 1rem;
}
.wd-section-header h2 { margin: 0; }
.wd-section-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--wd-burgundy);
  text-decoration: none;
  white-space: nowrap;
}
.wd-section-link:hover { color: var(--wd-burgundy-dk); }
.wd-sec--regions .wd-section-link { color: var(--wd-green); }
.wd-sec--regions .wd-section-link:hover { color: var(--wd-green-dk); }
.wd-sec--recipes .wd-section-link { color: var(--wd-olive); }
.wd-sec--recipes .wd-section-link:hover { color: var(--wd-olive-dk); }
.wd-sec--wineries .wd-section-link { color: var(--wd-oak); }
.wd-sec--wineries .wd-section-link:hover { color: var(--wd-oak-dk); }
.wd-sec--regions .wd-section-link { color: var(--wd-green); }
.wd-sec--regions .wd-section-link:hover { color: var(--wd-green-dk); }
.wd-sec--recipes .wd-section-link { color: var(--wd-olive); }
.wd-sec--recipes .wd-section-link:hover { color: var(--wd-olive-dk); }
.wd-sec--wineries .wd-section-link { color: var(--wd-oak); }
.wd-sec--wineries .wd-section-link:hover { color: var(--wd-oak-dk); }

/* ============================================================
   ABOUT SPLIT (image + text two-column)
   ============================================================ */
.wd-about-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.wd-about-split__text p {
  color: var(--wd-muted);
  margin-bottom: 1.5rem;
}
.wd-about-split__text .wd-btn {
  display: inline-block;
  background: transparent;
  color: var(--wd-burgundy) !important;
  border: 2px solid var(--wd-burgundy);
}
.wd-about-split__text .wd-btn:hover {
  background: var(--wd-burgundy);
  color: var(--wd-white) !important;
}
.wd-about-split__image img {
  width: 100%;
  border-radius: var(--wd-radius-lg);
  box-shadow: var(--wd-shadow-lg);
  aspect-ratio: 4/5;
  object-fit: cover;
}
@media (max-width: 768px) {
  .wd-about-split {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .wd-about-split__image { order: -1; }
}

/* ============================================================
   HERO EYEBROW
   ============================================================ */
.wd-hero__eyebrow {
  color: rgba(255,255,255,0.75);
  margin-bottom: 0.75rem;
  font-size: 0.75rem;
}
.wd-hero__lead {
  font-size: 1.15rem;
  margin-bottom: 2rem;
}

/* ===================================================================
   HERO — stat buttons row
   =================================================================== */
.wd-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.wd-hero__stat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.35rem;
  border-radius: 999px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 0.82rem;
  color: var(--wd-white);
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.wd-hero__stat:hover,
.wd-hero__stat:focus {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.28);
  color: var(--wd-white);
}
.wd-hero__stat--reviews  { background-color: #6B1A2A; }
.wd-hero__stat--regions  { background-color: #2C4A3E; }
.wd-hero__stat--recipes  { background-color: #4A5240; }
.wd-hero__stat--stories  { background-color: #4A3B52; }
.wd-hero__stat--wineries { background-color: #7A5230; }

@media (max-width: 640px) {
  .wd-hero__stats {
    gap: 0.6rem;
  }
  .wd-hero__stat {
    flex: 0 0 calc(50% - 0.3rem);
    padding: 0.75rem 0.5rem;
    font-size: 0.72rem;
  }
}

@media (min-width: 900px) {
  .wd-hero__content {
    max-width: 980px;
  }
  .wd-hero__content h1 {
    white-space: nowrap;
  }
  .wd-hero__lead {
    max-width: 700px;
    white-space: nowrap;
  }
}


/* ============================================================
   EMPTY STATE
   ============================================================ */
.wd-empty-state {
  background: var(--wd-bg-alt);
  border: 2px dashed var(--wd-border);
  border-radius: var(--wd-radius-lg);
  padding: 3rem;
  text-align: center;
  color: var(--wd-muted);
}
.wd-empty-state a { color: var(--wd-burgundy); font-weight: 600; }

/* ============================================================
   CARD META ROW
   ============================================================ */
.wd-card__meta {
  margin-bottom: 0.5rem;
  line-height: 1.8;
}

/* ============================================================
   WINE REVIEW — COMPACT HEADER
   ============================================================ */
.wd-review-compact-header {
  background: var(--wd-white);
  padding: 1rem 0 1.25rem;
}
.wd-review-compact-header__inner {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.wd-review-compact-header__meta { margin-bottom: 0.25rem; }
.wd-review-compact-header__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.wd-review-compact-header__title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  margin: 0 0 0.2rem;
  line-height: 1.2;
}
.wd-review-vintage {
  font-weight: 400;
  color: var(--wd-muted);
  font-size: 0.75em;
}
.wd-review-compact-header__winery {
  color: var(--wd-muted);
  font-size: 0.9rem;
  margin: 0;
}

/* Score circle */
.wd-score-circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  flex-shrink: 0;
  color: var(--wd-white);
  box-shadow: var(--wd-shadow);
}
.wd-score-circle--lg {
  width: 80px;
  height: 80px;
}
.wd-score-number {
  font-family: var(--wd-font-head);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}
.wd-score-circle--lg .wd-score-number { font-size: 1.8rem; }
.wd-score-max {
  font-size: 0.65rem;
  opacity: 0.75;
  margin-top: 1px;
}
.wd-score-mini {
  display: inline-block;
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--wd-burgundy);
}

/* Taste tags */
.wd-taste-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 0.5rem;
}
.wd-taste-tag {
  display: inline-block;
  padding: 2px 8px;
  border: 1px solid;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 500;
}

/* ============================================================
   WINE REVIEW — SINGLE PAGE
   ============================================================ */
.wd-review-hero {
  min-height: 65vh;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: flex-end;
}
.wd-review-hero__overlay {
  width: 100%;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.15) 70%, transparent 100%);
  padding: 3rem 0;
}
.wd-review-hero__meta { margin-bottom: 1rem; }
.wd-review-hero__title {
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--wd-white);
  margin: 0 0 0.5rem;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.wd-review-hero__vintage {
  font-weight: 400;
  opacity: 0.8;
  margin-left: 0.5rem;
  font-size: 0.75em;
}
.wd-review-hero__winery {
  color: rgba(255,255,255,0.8);
  font-size: 1.1rem;
  margin: 0 0 1rem;
}
.wd-review-hero__score {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.wd-review-hero__score-label {
  color: rgba(255,255,255,0.7);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* Two-column layout: main + sidebar */
.wd-review-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 900px) {
  .wd-review-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .wd-review-sidebar { order: -1; position: static; top: auto; }

  /* Un-stick + shrink the sidebar on mobile (boxes were oversized) */
  .wd-review-sidebar .wd-sidebar-score { padding: 0.85rem; margin-bottom: 0.75rem; }
  .wd-review-sidebar .wd-sidebar-section { padding: 0.75rem 1rem; margin-bottom: 0.6rem; }
  .wd-review-sidebar .wd-sidebar-section h5 { margin-bottom: 0.4rem; }
  .wd-review-sidebar .wd-score-circle--lg { width: 56px; height: 56px; }
  .wd-review-sidebar .wd-score-circle--lg .wd-score-number { font-size: 1.3rem; }

  /* Make the stacked sidebar read as a compact horizontal strip, not 3 big blocks */
  .wd-review-sidebar { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: flex-start; }
  .wd-review-sidebar > * { flex: 1 1 auto; margin-bottom: 0 !important; }
  .wd-review-sidebar .wd-sidebar-score { flex: 0 0 auto; }
}

/* Sidebar */
.wd-review-sidebar {
  position: sticky;
  top: 2rem;
}
.wd-sidebar-score {
  text-align: center;
  background: var(--wd-bg-alt);
  border: 1px solid var(--wd-border);
  border-radius: var(--wd-radius-lg);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.wd-sidebar-section {
  background: var(--wd-white);
  border: 1px solid var(--wd-border);
  border-radius: var(--wd-radius-lg);
  padding: 1.25rem;
  margin-bottom: 1rem;
}
.wd-sidebar-section h5 {
  font-size: 0.7rem;
  color: var(--wd-muted);
  margin: 0 0 0.75rem;
}
.wd-sidebar-meta p {
  font-size: 0.875rem;
  margin: 0 0 0.75rem;
  color: var(--wd-text);
}
.wd-sidebar-meta .wd-uppercase {
  color: var(--wd-muted);
  display: block;
  margin-bottom: 0.2rem;
}

/* George's story intro */
.wd-george-story {
  border-left: 3px solid var(--wd-burgundy);
  padding-left: 1.5rem;
  margin: 2rem 0;
}

/* Colour badge */
.wd-badge--colour {
  background: rgba(184,151,90,0.15);
  color: #7A5C1E;
  border-color: rgba(184,151,90,0.4);
}

/* ============================================================
   RECIPE — SINGLE PAGE
   ============================================================ */
/* Recipe hero — identical structure to .wd-rg-hero, green palette */
.wd-recipe-hero {
    position: relative;
    background: #4A5240;
    overflow: hidden;
    width: 100%;
}
.wd-recipe-hero__img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 80vh;
    object-fit: contain;
    object-position: center;
    background: #4A5240;
}
.wd-recipe-hero__overlay {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    background: linear-gradient(to top, rgba(5,15,10,.85) 0%, rgba(5,15,10,.4) 55%, transparent 100%);
    padding: 3.5rem 0 2.5rem;
}
.wd-recipe-hero__inner {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 2rem;
}
.wd-recipe-hero__badges {
    margin-bottom: .6rem;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.wd-recipe-hero__title {
    font-family: var(--wd-font-serif);
    font-size: clamp(2.6rem, 6vw, 5rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 .75rem;
    line-height: 1.05;
    letter-spacing: -.01em;
}
.wd-recipe-hero__quickinfo {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  color: rgba(255,255,255,0.9);
  font-size: 0.95rem;
}
.wd-recipe-hero__quickinfo strong { color: var(--wd-white); }

/* No hero image — compact plain header */
.wd-recipe-header {
  padding: 1rem 0 1.25rem !important;
  border-bottom: 3px solid var(--wd-border);
}
.wd-recipe-header h1 {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  margin: 0.25rem 0 0;
}

/* Two-column layout */
.wd-recipe-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 900px) {
  .wd-recipe-layout { grid-template-columns: 1fr; }
  .wd-recipe-sidebar { order: -1; }
}

/* Pin the sidebar as a whole, so the published-date block cannot slide under the recipe card */
.wd-recipe-sidebar {
  position: sticky;
  top: 2rem;
  align-self: start;
}
@media (max-width: 900px) {
  .wd-recipe-sidebar { position: static; top: auto; }
}

/* Recipe card sidebar */
.wd-recipe-card {
  background: #4A5240;
  border-radius: var(--wd-radius-lg);
  padding: 1.5rem;
  position: relative;
  box-shadow: var(--wd-shadow-lg);
  overflow: hidden;
}
.wd-recipe-card::before {
  content: '';
  display: block;
  height: 4px;
  background: #A8BC6E;
  margin: -1.5rem -1.5rem 1.25rem;
}
.wd-recipe-card__title {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #A8BC6E;
  margin: 0 0 0.75rem;
  font-weight: 700;
}
.wd-recipe-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wd-recipe-card__list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  font-size: 0.875rem;
  gap: 0.75rem;
  color: #fff;
}
.wd-recipe-card__list li:last-child { border-bottom: none; }
.wd-recipe-card__label {
  font-size: 0.78rem;
  color: #C8D4A8;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
}
.wd-recipe-card__list strong { color: #fff; font-weight: 700; }
.wd-recipe-card__list a { color: #fff; text-decoration: underline; }
.wd-recipe-card__list a:hover { color: #C8D4A8; }

/* Ingredients checklist */
.wd-ingredients-block {
  background: var(--wd-bg-alt);
  border: 1px solid var(--wd-border);
  border-left: 4px solid var(--wd-green);
  border-radius: var(--wd-radius-lg);
  padding: 1.5rem 2rem;
  margin-bottom: 2.5rem;
}
.wd-ingredients-title {
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wd-green);
  margin: 0 0 1rem;
  border: none !important;
  padding: 0 !important;
}
.wd-ingredients-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 2rem;
}
.wd-ing-section-heading {
  grid-column: 1 / -1;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wd-green);
  margin: 1.25rem 0 0.5rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid var(--wd-border);
}
.wd-ing-section-heading:first-child { margin-top: 0; }
.wd-ing-item {
  border-bottom: 1px solid var(--wd-border);
  padding: 0;
}
.wd-ing-item:last-child { border-bottom: none; }
.wd-ing-item label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0;
  cursor: pointer;
  transition: opacity 0.2s;
}
.wd-ing-item input[type="checkbox"] {
  width: 18px;
  height: 18px;
  border: 2px solid var(--wd-green);
  border-radius: 3px;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: var(--wd-green);
}
.wd-ing-item.checked label { opacity: 0.45; }
.wd-ing-item.checked .wd-ing-name { text-decoration: line-through; }
.wd-ing-content { display: flex; gap: 0.5rem; align-items: baseline; flex-wrap: wrap; }
.wd-ing-qty {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--wd-green);
  white-space: nowrap;
  min-width: 60px;
}
.wd-ing-name { font-size: 0.95rem; color: var(--wd-text); }

/* Recipe main content — nice formatting */
.wd-recipe-main h2 {
  font-size: 1.4rem;
  color: var(--wd-green);
  border-bottom: 2px solid var(--wd-green);
  padding-bottom: 0.4rem;
  margin: 2rem 0 1rem;
}
.wd-recipe-main h3 {
  font-size: 1.1rem;
  color: var(--wd-text);
  margin: 1.5rem 0 0.5rem;
}
.wd-recipe-main ul, .wd-recipe-main ol {
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}
.wd-recipe-main li {
  margin-bottom: 0.4rem;
  font-size: 1rem;
  line-height: 1.7;
}
.wd-recipe-main ol li { font-weight: 400; }
.wd-recipe-main p { font-size: 1.05rem; line-height: 1.8; }

/* ============================================================
   WINE PAIRING CALLOUT (colour-coded)
   ============================================================ */
.wd-pairing-callout {
  border-radius: var(--wd-radius);
  padding: 1rem 1.5rem;
  margin: 2rem 0;
}
.wd-pairing-callout__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.wd-pairing-bottle {
  width: 22px;
  height: 55px;
  flex-shrink: 0;
}
.wd-pairing-callout__content { flex: 1; }
.wd-pairing-callout__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 0.3rem;
}
.wd-pairing-callout__text {
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  font-weight: 500;
}

/* ============================================================
   FLOATING SHARE BAR
   ============================================================ */
.wd-share-float {
  position: fixed;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
}
.wd-share-float-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.wd-share-float-label {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wd-muted);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  margin-bottom: 4px;
}
.wd-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid var(--wd-border);
  color: var(--wd-text);
  background: var(--wd-white);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  box-shadow: var(--wd-shadow);
}
.wd-share-btn:hover { color: var(--wd-white); border-color: transparent; }
.wd-share-li:hover  { background: #0a66c2; }
.wd-share-x:hover   { background: #000; }
.wd-share-fb:hover  { background: #1877f2; }
.wd-share-wa:hover  { background: #25d366; }
.wd-share-mail:hover  { background: var(--wd-burgundy); }
.wd-share-print { color: var(--wd-text) !important; }
.wd-share-print:hover { background: var(--wd-green); color: var(--wd-white) !important; }

@media (max-width: 768px) { .wd-share-float { display: none; } }

@media print {
  .wd-share-float, .site-header, #masthead, .site-footer, #colophon { display: none !important; }
  .wd-recipe-layout, .wd-review-layout { grid-template-columns: 1fr !important; }
  body { font-size: 12pt; }
}

/* ============================================================
   ASTRA OVERRIDES — hide sidebar for CPT pages
   ============================================================ */
.wd-single-wine #secondary,
.wd-single-recipe #secondary,
.wd-single-winery #secondary,
.wd-single-region #secondary,
.wd-archive-regions #secondary,
.wd-archive-wine #secondary,
.wd-archive-recipe #secondary,
.wd-archive-winery #secondary {
    display: none !important;
}

/* Template wrappers must always span the full container, even if
   Astra renders .ast-container as a flex row (boxed/sidebar modes). */
.wd-rg-single,
.wd-review-single {
    width: 100% !important;
    flex: 1 1 100% !important;
}

/* When the sidebar is hidden, the main column must take full width —
   Astra otherwise keeps #primary at its two-column percentage. */
.wd-single-wine #primary,
.wd-single-recipe #primary,
.wd-single-winery #primary,
.wd-single-region #primary,
.wd-archive-regions #primary,
.wd-archive-wine #primary,
.wd-archive-recipe #primary,
.wd-archive-winery #primary {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

/* All three CPTs (wine review, recipe, winery) share ONE layout.
   Neutralise Astra's container/article wrappers identically on all
   three so the inner .wd-container is the sole width controller. */
body.wd-single-wine,
body.wd-single-recipe,
body.wd-single-winery,
body.wd-single-region,
body.wd-archive-regions,
body.wd-archive-wine,
body.wd-archive-recipe,
body.wd-archive-winery,
body.wd-single-wine #content,
body.wd-single-recipe #content,
body.wd-single-winery #content,
body.wd-single-region #content,
body.wd-archive-regions #content,
body.wd-archive-wine #content,
body.wd-archive-recipe #content,
body.wd-archive-winery #content {
    background-color: var(--wd-white) !important;
}
.wd-single-wine   #content > .ast-container,
.wd-single-recipe #content > .ast-container,
.wd-single-winery #content > .ast-container,
.wd-single-region #content > .ast-container,
.wd-archive-regions #content > .ast-container,
.wd-archive-wine  #content > .ast-container,
.wd-archive-recipe #content > .ast-container,
.wd-archive-winery #content > .ast-container,
.wd-single-wine   .ast-article-single,
.wd-single-recipe .ast-article-single,
.wd-single-winery .ast-article-single,
.wd-single-region .ast-article-single,
.wd-archive-regions .ast-article-single,
.wd-archive-wine  .ast-article-single,
.wd-archive-recipe .ast-article-single,
.wd-archive-winery .ast-article-single,
.wd-single-wine   .site-main,
.wd-single-recipe .site-main,
.wd-single-winery .site-main,
.wd-single-region .site-main,
.wd-archive-regions .site-main,
.wd-archive-wine  .site-main,
.wd-archive-recipe .site-main,
.wd-archive-winery .site-main {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--wd-white) !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* ============================================================
   WINERY — SINGLE PAGE
   ============================================================ */
.wd-winery-hero {
  min-height: 55vh;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: flex-end;
}
.wd-winery-hero__overlay {
  width: 100%;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.1) 70%, transparent 100%);
  padding: 2.5rem 0;
}
.wd-winery-hero__meta { margin-bottom: 0.75rem; }
.wd-winery-hero__title {
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--wd-white);
  margin: 0 0 0.5rem;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.wd-winery-hero__founded {
  color: rgba(255,255,255,0.7);
  font-size: 0.9rem;
  margin: 0;
}

.wd-winery-plain-header {
  background: var(--wd-bg-alt);
  border-bottom: 3px solid var(--wd-burgundy);
  padding: 1.25rem 0 1.5rem;
}

/* Two-column layout */
.wd-winery-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 900px) {
  .wd-winery-layout { grid-template-columns: 1fr; }
  .wd-winery-sidebar { order: -1; }
}

/* My Visit block */
.wd-winery-visit {
  background: var(--wd-bg-alt);
  border-left: 4px solid var(--wd-burgundy);
  border-radius: var(--wd-radius-lg);
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
}
.wd-winery-visit__header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--wd-burgundy);
  margin-bottom: 0.5rem;
}
.wd-winery-visit__header h3 { margin: 0; font-size: 1rem; color: var(--wd-burgundy); }
.wd-winery-visit__date { color: var(--wd-muted); font-size: 0.875rem; margin: 0; }

/* Wines section */
.wd-winery-wines { margin-top: 3rem; }
.wd-winery-wines__title {
  font-size: 1.3rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--wd-border);
}

/* Sidebar card */
.wd-winery-card {
  background: var(--wd-white);
  border: 1px solid var(--wd-border);
  border-top: 4px solid var(--wd-burgundy);
  border-radius: var(--wd-radius-lg);
  padding: 1.5rem;
  position: sticky;
  top: 2rem;
  box-shadow: var(--wd-shadow);
}
.wd-winery-card__title {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--wd-burgundy);
  margin: 0 0 1rem;
  font-weight: 700;
}
.wd-winery-card__list {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}
.wd-winery-card__list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--wd-border);
  font-size: 0.875rem;
  gap: 0.75rem;
}
.wd-winery-card__list li:last-child { border-bottom: none; }
.wd-winery-card__label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wd-muted);
  white-space: nowrap;
  flex-shrink: 0;
}
.wd-winery-card__list strong { color: var(--wd-text); font-weight: 600; }
.wd-winery-card__list a { color: var(--wd-burgundy); }
.wd-winery-card__website {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--wd-burgundy);
  color: var(--wd-white) !important;
  padding: 0.6rem 1rem;
  border-radius: var(--wd-radius);
  font-size: 0.8rem;
  font-weight: 600;
  text-align: center;
  justify-content: center;
  transition: background 0.2s;
}
.wd-winery-card__website:hover { background: var(--wd-burgundy-dk); }

/* ============================================================
   WINE REGION GUIDE — SINGLE
   ============================================================ */

/* Hero */
.wd-region-hero {
  position: relative;
  min-height: 480px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
}
.wd-region-hero__overlay {
  width: 100%;
  background: linear-gradient(to top, rgba(10,25,15,0.85) 0%, rgba(10,25,15,0.3) 60%, transparent 100%);
  padding: 3rem 0;
}
.wd-region-hero__flag {
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 0.5rem;
  font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
}
.wd-region-hero__parent {
  color: rgba(255,255,255,0.7);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 0.5rem;
  font-family: var(--wd-font-sans, var(--wd-font-body));
}
.wd-region-hero__title {
  color: #fff;
  font-size: clamp(2rem, 5vw, 3.5rem);
  margin: 0 0 0.75rem;
  line-height: 1.1;
}
.wd-region-hero__tagline {
  color: rgba(255,255,255,0.8);
  font-size: 1.1rem;
  margin: 0;
  max-width: 560px;
}

/* Quick facts bar */
.wd-region-facts-bar { padding: 0.875rem 0; }
.wd-region-facts-bar__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
}
.wd-region-fact { display: flex; flex-direction: column; }
.wd-region-fact--grapes { flex: 1; }
.wd-region-fact__label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.6);
  font-family: var(--wd-font-body);
  margin-bottom: 0.15rem;
}
.wd-region-fact__value {
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
}

/* Sub-regions */
.wd-region-sub-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.75rem;
}
.wd-region-sub-card {
  padding: 0.75rem 1rem;
  border-radius: var(--wd-radius);
}
.wd-region-sub-card__name {
  font-weight: 600;
  font-size: 0.9rem;
  font-family: var(--wd-font-body);
}

/* ============================================================
   WINE REGION GUIDE — ARCHIVE HUB
   ============================================================ */

.wd-regions-hub__header {
  padding: 0;
}

/* Country group */
.wd-regions-country-heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--wd-border);
}
.wd-regions-country-flag {
  display: inline-block;
  width: 40px;
  height: 30px;
  border-radius: 2px;
  vertical-align: middle;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.wd-regions-country-name {
  font-size: 1.5rem;
  margin: 0;
  color: var(--wd-green);
}
.wd-regions-country-count {
  font-size: 0.75rem;
  color: var(--wd-muted);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-left: auto;
}

/* Region cards grid */
.wd-regions-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1100px) { .wd-regions-grid { grid-template-columns: repeat(3, 1fr); } }

/* ── Featured country guide card (sits first in its country group) ── */
/* No label/badge — distinguished only by a subtle burgundy top accent. */
.wd-region-card--feature {
  border-top: 3px solid var(--wd-burgundy);
}
/* Front-page Wine Regions: fixed 5-up row, matching the other sections */
.wd-regions-grid--home { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1200px) { .wd-regions-grid--home { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px)  { .wd-regions-grid--home { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .wd-regions-grid--home { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px)  { .wd-regions-grid--home { grid-template-columns: 1fr; } }

/* Region card */
.wd-region-card {
  background: var(--wd-white);
  border-radius: var(--wd-radius-lg);
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.07);
  transition: box-shadow 0.2s, transform 0.2s;
}
.wd-region-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
  transform: translateY(-2px);
}
.wd-region-card__img-link { display: block; }
.wd-region-card__image {
  height: 150px;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}
.wd-region-card__image--placeholder {
  align-items: center;
  justify-content: center;
}
.wd-region-card__flag {
  position: absolute;
  bottom: 0.75rem;
  left: 0.75rem;
  line-height: 1;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.4));
}
.wd-region-card__flag .fi {
  display: block !important;
  border-radius: 2px;
}
.wd-region-card__body {
  padding: 1.25rem;
}
.wd-region-card__parent {
  display: block;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wd-muted);
  margin-bottom: 0.35rem;
  font-family: var(--wd-font-body);
}
.wd-region-card__title {
  font-size: 1.15rem;
  margin: 0 0 0.5rem;
  line-height: 1.2;
}
.wd-region-card__title a {
  color: var(--wd-text);
  text-decoration: none;
}
.wd-region-card__title a:hover { color: var(--wd-green); }
.wd-region-card__best {
  font-size: 0.82rem;
  color: var(--wd-muted);
  margin: 0 0 0.5rem;
  font-style: italic;
}
.wd-region-card__grapes {
  font-size: 0.78rem;
  color: var(--wd-green);
  margin: 0 0 0.85rem;
  font-weight: 500;
}
.wd-region-card__link {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--wd-green);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.wd-region-card__link:hover { color: var(--wd-green-lt); }

/* Responsive */
@media (max-width: 768px) {
  .wd-region-facts-bar__inner { gap: 1rem; }
  .wd-regions-grid { grid-template-columns: 1fr 1fr; }
  .wd-region-hero { min-height: 320px; }
}
@media (max-width: 480px) {
  .wd-regions-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   RECIPE CARD (shared by archive + front page)
   ============================================================ */
.wd-rc-card {
    background: var(--wd-white);
    border: 1px solid var(--wd-border);
    border-radius: var(--wd-radius-lg);
    overflow: hidden;
    box-shadow: var(--wd-shadow);
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s, transform .2s;
}
.wd-rc-card:hover {
    box-shadow: 0 6px 28px rgba(0,0,0,.13);
    transform: translateY(-2px);
}
.wd-rc-card__img-wrap {
    height: 160px;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wd-olive);
}
.wd-rc-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.wd-rc-card__img-placeholder {
    font-size: 3.5rem;
    opacity: .45;
}
.wd-rc-card__body {
    padding: 1rem 1.1rem 1.2rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: .35rem;
}
.wd-rc-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
}
.wd-rc-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--wd-font-sans);
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: .18rem .55rem;
    border-radius: 20px;
    line-height: 1.5;
    text-decoration: none;
}
.wd-rc-badge--cuisine {
    background: #EAF0EB;
    color: var(--wd-green);
    border: 1px solid #C4D6C8;
}
.wd-rc-badge--country {
    background: var(--wd-bg-alt);
    color: var(--wd-muted);
    border: 1px solid var(--wd-border);
}
.wd-rc-badge--country .wd-flag {
    flex: 0 0 auto;
}
.wd-rc-card__title {
    font-family: var(--wd-font-serif);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.3;
    margin: .1rem 0;
    color: var(--wd-text);
}
.wd-rc-card__title a {
    color: inherit;
    text-decoration: none;
}
.wd-rc-card__title a:hover {
    color: var(--wd-burgundy);
}
.wd-rc-card__meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: .5rem;
    border-top: 1px solid var(--wd-border);
    gap: .5rem;
}
.wd-rc-card__prep {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-family: var(--wd-font-sans);
    font-size: .78rem;
    color: var(--wd-muted);
}
.wd-rc-card__prep svg {
    flex-shrink: 0;
    color: var(--wd-olive);
}
.wd-rc-card__course {
    font-family: var(--wd-font-sans);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--wd-olive);
    opacity: .8;
}

/* ============================================================
   UTILITY
   ============================================================ */
.wd-section { padding: 1.25rem 0; }
.wd-section--alt { background: var(--wd-bg-alt); }
.wd-container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
.wd-text-center { text-align: center; }
.wd-muted { color: var(--wd-muted); }
.wd-uppercase { text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8rem; font-weight: 600; }

/* ============================================================
   ARCHIVE LAYOUT — EUAC-style breadcrumb + hero + chip filters
   (shared by recipe / wine_review / winery / region_guide)
   Mirrors euac-theme layout; rendered in WD burgundy/green palette.
   ============================================================ */

/* --- Layout reset: stack archive blocks full-width ---------------
   Astra wraps archive output in a flex .site-content / #primary
   container, which turns our hero + filter + grid into side-by-side
   columns. Force a single full-width column on these archives so the
   blocks stack top-to-bottom like the EUAC layout. */
.post-type-archive-recipe .site-content,
.post-type-archive-wine_review .site-content,
.post-type-archive-winery .site-content,
.post-type-archive-region_guide .site-content,
.post-type-archive-recipe #primary,
.post-type-archive-wine_review #primary,
.post-type-archive-winery #primary,
.post-type-archive-region_guide #primary,
.post-type-archive-recipe .ast-container,
.post-type-archive-wine_review .ast-container,
.post-type-archive-winery .ast-container,
.post-type-archive-region_guide .ast-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Hide the sidebar / secondary column on these archives */
.post-type-archive-recipe #secondary,
.post-type-archive-wine_review #secondary,
.post-type-archive-winery #secondary,
.post-type-archive-region_guide #secondary { display: none !important; }
/* Let hero / breadcrumb / filter bands bleed edge-to-edge */
.post-type-archive-recipe .ast-article-single,
.post-type-archive-wine_review .ast-article-single,
.post-type-archive-winery .ast-article-single,
.post-type-archive-region_guide .ast-article-single {
  padding: 0 !important; border: 0 !important; margin: 0 !important;
}

/* Breadcrumb */
.wd-arch-breadcrumb { background: var(--wd-bg-alt); border-bottom: 1px solid var(--wd-border); }
.wd-arch-breadcrumb__inner {
  max-width: 1200px; margin: 0 auto; padding: 10px 1.5rem;
  display: flex; align-items: center; gap: 8px;
  font-family: var(--wd-font-sans); font-size: .78rem; color: var(--wd-muted);
}
.wd-arch-breadcrumb__inner a { color: var(--wd-burgundy); text-decoration: none; transition: color .2s; }
.wd-arch-breadcrumb__inner a:hover { color: var(--wd-green); }
.wd-arch-breadcrumb__inner .sep { color: var(--wd-border); }
.wd-arch-breadcrumb__search { margin-left: auto; display: inline-flex; }
@media (max-width: 480px) { .wd-arch-breadcrumb__search { display: none; } }

/* Hero band — base (overridden per post type below) */
.wd-arch-hero {
  background: linear-gradient(135deg, var(--wd-green) 0%, var(--wd-olive) 100%);
  padding: 52px 0 48px; position: relative; overflow: hidden;
}
.wd-arch-hero::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--wd-burgundy) 0%, transparent 100%);
}

/* Per-archive hero colours — each matches its single-page signature colour */
/* Recipes — olive */
.post-type-archive-recipe .wd-arch-hero {
  background: linear-gradient(135deg, #4A5240 0%, #3A4032 100%);
}
.post-type-archive-recipe .wd-arch-hero::after {
  background: linear-gradient(90deg, var(--wd-burgundy) 0%, transparent 100%);
}
/* Wine reviews — burgundy */
.post-type-archive-wine_review .wd-arch-hero {
  background: linear-gradient(135deg, #6B1A2A 0%, #4E1220 100%);
}
.post-type-archive-wine_review .wd-arch-hero::after {
  background: linear-gradient(90deg, #B0A030 0%, transparent 100%);
}
/* Wineries — brown / tan */
.post-type-archive-winery .wd-arch-hero {
  background: linear-gradient(135deg, #7A5230 0%, #5A3D22 100%);
}
.post-type-archive-winery .wd-arch-hero::after {
  background: linear-gradient(90deg, #D9B68C 0%, transparent 100%);
}
/* Wine regions — deep forest green */
.post-type-archive-region_guide .wd-arch-hero {
  background: linear-gradient(135deg, #1a2e25 0%, #0E1C16 100%);
}
.post-type-archive-region_guide .wd-arch-hero::after {
  background: linear-gradient(90deg, var(--wd-green-lt) 0%, transparent 100%);
}
.wd-arch-hero__inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 32px; flex-wrap: wrap; position: relative; z-index: 1;
}
.wd-arch-hero__label {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3);
  color: rgba(255,255,255,.92); font-family: var(--wd-font-sans);
  font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
  padding: 4px 12px; border-radius: 20px; margin-bottom: 12px;
}
.wd-arch-hero h1 {
  font-family: var(--wd-font-serif); font-size: clamp(1.9rem, 3.2vw, 2.7rem);
  color: var(--wd-white); font-weight: 700; margin: 0 0 10px; line-height: 1.08;
}
.wd-arch-hero__sub {
  font-family: var(--wd-font-sans); color: rgba(255,255,255,.7);
  font-size: .95rem; max-width: 560px; line-height: 1.7; margin: 0;
}
.wd-arch-hero__count {
  font-family: var(--wd-font-sans); font-size: .72rem; letter-spacing: .09em;
  text-transform: uppercase; color: rgba(255,255,255,.55); margin: 6px 0 0;
}

/* Filter chip bar */
.wd-arch-filterwrap { padding: 28px 0 4px; background: var(--wd-bg); }
.wd-arch-filterwrap__inner {
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem;
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.wd-arch-filter__label {
  font-family: var(--wd-font-sans); font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em; color: var(--wd-muted);
}
.wd-arch-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.wd-arch-filterwrap__inner { justify-content: flex-start; gap: 18px; }
.wd-arch-sort { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-left: auto; font-family: var(--wd-font-sans); }
.wd-arch-sort label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--wd-muted); }
/* 160px fitted the English labels but clipped the longer Georgian ones
   ("შეფასებით (უმაღლესი)"); width stays auto so English is unchanged. */
.wd-arch-sort select { width: auto; min-width: 0; max-width: 220px; font-family: var(--wd-font-sans); font-size: .8rem; padding: 5px 28px 5px 10px; border: 1px solid var(--wd-border); border-radius: 6px; background: var(--wd-white); color: var(--wd-green); cursor: pointer; }
.wd-arch-chip {
  display: inline-block; font-family: var(--wd-font-sans);
  background: var(--wd-bg-alt); color: var(--wd-green);
  font-size: .72rem; font-weight: 600; padding: 5px 14px; border-radius: 20px;
  border: 1px solid var(--wd-border); cursor: pointer; line-height: 1.5;
  transition: background .2s, border-color .2s, color .2s;
}
.wd-arch-chip:hover { background: var(--wd-border); }
.wd-arch-chip.is-active { background: var(--wd-green); color: var(--wd-white); border-color: var(--wd-green); }

/* Active chip colour per archive, matching the hero */
.post-type-archive-recipe .wd-arch-chip.is-active { background: #4A5240; border-color: #4A5240; }
.post-type-archive-recipe .wd-arch-chip { color: #3A4032; }
.post-type-archive-wine_review .wd-arch-chip.is-active { background: #6B1A2A; border-color: #6B1A2A; }
.post-type-archive-wine_review .wd-arch-chip { color: #4E1220; }

/* ============================================================
   STORIES — editorial archive + single
   ============================================================ */
/* Astra makes .site-content .ast-container a flex row on desktop, which puts
   our hero/body/footer side-by-side. Force normal block flow on Story pages,
   and let our sections span the full container width. */
.single-story #content .ast-container,
.post-type-archive-story #content .ast-container,
.tax-story_category #content .ast-container {
  display: block !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.single-story #primary,
.post-type-archive-story #primary,
.tax-story_category #primary {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
/* Astra boxes articles in a white card with padding — remove for stories */
.single-story .ast-article-single,
.single-story .ast-article-inner,
.post-type-archive-story .ast-article-post {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.wd-stories-hero {
  background: linear-gradient(135deg, var(--wd-green) 0%, #1d2b22 100%);
  color: #fff;
  padding: 3rem 0 2.5rem;
}
.wd-stories-hero__title {
  font-family: var(--wd-font-head);
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  margin: 0.4rem 0 0.6rem;
  color: #fff;
}
.wd-stories-hero__sub {
  max-width: 620px;
  font-size: 1.02rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.82);
  margin: 0;
}

/* Filter chips */
.wd-stories-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2rem; }
.wd-chip {
  font-family: var(--wd-font-body);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.4rem 0.9rem;
  border: 1px solid var(--wd-border);
  border-radius: 20px;
  color: var(--wd-burgundy);
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
}
.wd-chip:hover { border-color: var(--wd-burgundy); }
.wd-chip.is-active { background: var(--wd-burgundy); border-color: var(--wd-burgundy); color: #fff; }

/* Category label */
.wd-story-cat {
  display: inline-block;
  font-family: var(--wd-font-body);
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wd-burgundy);
  margin-bottom: 0.4rem;
}
.wd-story-meta { font-size: 0.72rem; color: var(--wd-muted); }

/* Featured lead story */
.wd-story-feature {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 2rem;
  align-items: stretch;
  background: var(--wd-white);
  border: 1px solid var(--wd-border);
  border-radius: var(--wd-radius-lg);
  overflow: hidden;
  box-shadow: var(--wd-shadow);
  text-decoration: none;
  color: inherit;
  margin-bottom: 2.5rem;
  transition: box-shadow .2s, transform .2s;
}
.wd-story-feature:hover { box-shadow: var(--wd-shadow-lg); transform: translateY(-2px); }
.wd-story-feature__image { min-height: 280px; background-size: cover; background-position: center; }
.wd-story-feature__body { padding: 2rem 2.2rem; display: flex; flex-direction: column; justify-content: center; }
.wd-story-feature__title { font-family: var(--wd-font-head); font-size: clamp(1.5rem, 3vw, 2.1rem); line-height: 1.2; margin: 0 0 0.75rem; color: var(--wd-text); }
.wd-story-feature__excerpt { font-size: 0.95rem; line-height: 1.65; color: var(--wd-muted); margin: 0 0 1rem; }
@media (max-width: 800px) { .wd-story-feature { grid-template-columns: 1fr; } .wd-story-feature__image { min-height: 200px; } }

/* Article card grid */
.wd-stories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}
@media (max-width: 1000px) { .wd-stories-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px)  { .wd-stories-grid { grid-template-columns: 1fr; } }
.wd-story-card {
  display: flex;
  flex-direction: column;
  background: var(--wd-white);
  border: 1px solid var(--wd-border);
  border-radius: var(--wd-radius-lg);
  overflow: hidden;
  box-shadow: var(--wd-shadow);
  text-decoration: none;
  color: inherit;
  transition: box-shadow .2s, transform .2s;
}
.wd-story-card:hover { box-shadow: var(--wd-shadow-lg); transform: translateY(-3px); }
.wd-story-card__image { height: 180px; background-size: cover; background-position: center; }
.wd-story-card__body { padding: 1.1rem 1.2rem 1.3rem; display: flex; flex-direction: column; flex: 1; }
.wd-story-card__title { font-family: var(--wd-font-head); font-size: 1.15rem; line-height: 1.3; margin: 0 0 0.5rem; color: var(--wd-text); }
.wd-story-card__excerpt { font-size: 0.82rem; line-height: 1.55; color: var(--wd-muted); margin: 0 0 0.75rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wd-story-card__body .wd-story-meta { margin-top: auto; }

/* ── Single story — full-width 16:9 hero, title overlaid (compact) ── */
.wd-story-hero {
  background-size: cover;
  background-position: center;
  background-color: var(--wd-ink);
  color: #fff;
  display: flex;
  align-items: flex-end;
  aspect-ratio: 16 / 9;
  max-height: 440px;
}
.wd-story-hero--plain { background: linear-gradient(135deg, var(--wd-ink) 0%, var(--wd-ink-dk) 100%); aspect-ratio: auto; min-height: 240px; }
.wd-story-hero__inner { max-width: 760px; margin: 0 auto; width: 100%; padding-bottom: 2.25rem; }
.wd-story-hero__title {
  font-family: var(--wd-font-head);
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: 1.1;
  margin: 0.8rem 0 0.9rem;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0,0,0,0.45);
  max-width: 22ch;
}
.wd-story-hero__meta {
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.9);
  margin: 0;
  text-transform: uppercase;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(255,255,255,0.28);
  display: inline-block;
}
.wd-story-cat--hero {
  display: inline-block;
  color: #fff;
  background: var(--wd-burgundy);
  text-decoration: none;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.32rem 0.72rem;
  border-radius: 3px;
}

/* Reading column */
.wd-story-body {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 1.25rem;
  font-family: var(--wd-font-body);
  font-size: 1.18rem;
  line-height: 1.82;
  color: #2a2a28;
}
.wd-story-body p { margin: 0 0 1.55rem; }
.wd-story-body em { color: inherit; }
.wd-story-body strong { color: var(--wd-text); }
/* Editorial opening: larger lead on the first paragraph */
.wd-story-body > p:first-of-type {
  font-size: 1.32rem;
  line-height: 1.65;
  color: var(--wd-text);
}
/* Drop cap. Applied by hand from the editor Formats menu ("Drop cap"), never
   automatically. The capital sits ON the first line baseline and rises above
   it (a raised initial, not a floated one), so the text always finishes level
   with the bottom of the letter whether the paragraph runs to one line or ten.
   line-height:0 stops the tall glyph stretching the first line box; the top
   margin on the paragraph makes the room for it instead. */
.wd-story-body p.wd-dropcap:first-of-type {
  margin-top: 3.4rem;
}
.wd-story-body p.wd-dropcap::first-letter {
  float: none;
  font-family: var(--wd-font-head);
  font-size: 4.4rem;
  line-height: 0;
  font-weight: 700;
  padding: 0 0.15rem 0 0;
  color: var(--wd-burgundy);
  vertical-align: baseline;
}
/* Georgian letters sit lower and rounder in the em box than Latin capitals,
   so the same size reads larger. Kept at the value used before. */
html[lang^="ka"] .wd-story-body p.wd-dropcap::first-letter {
  font-size: 3.2rem;
}
/* Section ornament. Applied by hand from the editor Formats menu
   ("Ornament break"): the gold leaf is drawn centred UNDER the chosen
   paragraph, so no empty paragraph is needed (the story template strips
   those). Same glyph and colour as the end-mark below. */
.wd-story-body hr.wd-ornament {
  border: 0;
  height: auto;
  background: none;
  margin: 2.2rem 0 1.7rem;
  text-align: center;
}
.wd-story-body hr.wd-ornament::after {
  content: "\2767";
  display: block;
  font-size: 1.4rem;
  color: var(--wd-gold);
}

.wd-story-body p.wd-ornament::after {
  content: "❧";
  display: block;
  margin: 1.9rem 0 0.6rem;
  font-size: 1.4rem;
  color: var(--wd-gold);
  text-align: center;
}

/* Elegant end-mark after the final paragraph */
.wd-story-body > p:last-of-type::after {
  content: "❧";
  display: block;
  margin-top: 1.5rem;
  font-size: 1.4rem;
  color: var(--wd-gold);
  text-align: center;
}
.wd-story-body h2 {
  font-family: var(--wd-font-head);
  font-size: 1.85rem;
  line-height: 1.22;
  margin: 3.25rem 0 1.1rem;
  color: var(--wd-ink);
  position: relative;
  padding-top: 0.4rem;
}
/* Subtle short accent above each section heading — not a full rule */
.wd-story-body h2::before {
  content: "";
  position: absolute;
  top: -0.4rem;
  left: 0;
  width: 40px;
  height: 3px;
  background: var(--wd-gold);
  border-radius: 2px;
}
.wd-story-body h2:first-of-type { margin-top: 2rem; }
.wd-story-body h3 { font-family: var(--wd-font-head); font-size: 1.3rem; margin: 2rem 0 0.8rem; color: var(--wd-text); }
/* Pull-quote: use a Quote block in the editor; it renders large and centred.
   You control the text in the editor — nothing is auto-generated. */
.wd-story-body blockquote {
  margin: 2.75rem 0;
  padding: 1.75rem 0;
  border: 0;
  border-top: 2px solid var(--wd-ink);
  border-bottom: 2px solid var(--wd-ink);
  text-align: center;
  font-family: var(--wd-font-head);
  font-style: italic;
  font-size: clamp(1.4rem, 2.6vw, 1.85rem);
  line-height: 1.35;
  color: var(--wd-ink);
}
.wd-story-body blockquote p { margin: 0; }
.wd-story-body blockquote cite {
  display: block;
  margin-top: 0.9rem;
  font-family: var(--wd-font-body);
  font-style: normal;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wd-muted);
}
.wd-story-body img { max-width: 100%; height: auto; border-radius: 8px; margin: 0.5rem 0; box-shadow: 0 8px 30px rgba(0,0,0,0.12); }
.wd-story-body figure { margin: 2.5rem 0; }
.wd-story-body figure img { display: block; width: 100%; }
.wd-story-body figcaption {
  font-size: 0.82rem;
  font-style: italic;
  color: var(--wd-muted);
  text-align: center;
  margin-top: 0.6rem;
  padding: 0 1rem;
}
/* A wide image can break out slightly beyond the reading column for impact */
.wd-story-body .alignwide,
.wd-story-body figure.alignwide { width: calc(100% + 160px); max-width: none; margin-left: -80px; }
@media (max-width: 860px) { .wd-story-body .alignwide, .wd-story-body figure.alignwide { width: 100%; margin-left: 0; } }
.wd-story-body a { color: var(--wd-burgundy); text-decoration: underline; }
.wd-story-body .alignright { float: right; max-width: 45%; margin: 0.4rem 0 1rem 1.75rem; }
.wd-story-body .alignleft  { float: left;  max-width: 45%; margin: 0.4rem 1.75rem 1rem 0; }
.wd-story-body .aligncenter { display: block; margin: 1.75rem auto; }
@media (max-width: 600px) { .wd-story-body .alignright, .wd-story-body .alignleft { float: none; max-width: 100%; margin: 1.5rem 0; } }
.post-type-archive-winery .wd-arch-chip.is-active { background: #7A5230; border-color: #7A5230; }
.post-type-archive-winery .wd-arch-chip { color: #5A3D22; }
.post-type-archive-region_guide .wd-arch-chip { color: #1a2e25; }

/* Active chip text — light cream/gold for contrast on the dark pill.
   Higher specificity so it wins over the per-archive idle colour above. */
.post-type-archive-recipe .wd-arch-chip.is-active,
.post-type-archive-wine_review .wd-arch-chip.is-active,
.post-type-archive-winery .wd-arch-chip.is-active,
.post-type-archive-region_guide .wd-arch-chip.is-active,
.wd-arch-chip.is-active { color: #F5E6B0 !important; }

@media (max-width: 700px) {
  .wd-arch-hero { padding: 36px 0 32px; }
  .wd-arch-hero h1 { font-size: 1.6rem; }
}


/* ============================================================
   MOBILE FIXES — post-nav, overflow guards (added 2026-06)
   Loaded after the per-template inline <style>, so these win on
   small screens regardless of source order. Scoped to small widths.
   ============================================================ */
@media (max-width: 600px) {
  /* Prev / All / Next nav: stop long wine titles overflowing the cells */
  .wd-post-nav .wd-post-nav__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.85rem;
    line-height: 1.25;
  }
  .wd-post-nav .wd-post-nav__link { gap: 0.4rem; align-items: flex-start; }
  .wd-post-nav .wd-post-nav__arrow { font-size: 1.1rem; }
  .wd-post-nav .wd-post-nav__label { font-size: 0.62rem; }
  .wd-post-nav .wd-container { padding-left: 1rem; padding-right: 1rem; }
  /* Each prev/next cell must be allowed to shrink inside the grid */
  .wd-post-nav .wd-post-nav__prev,
  .wd-post-nav .wd-post-nav__next { min-width: 0; }
  .wd-post-nav .wd-post-nav__text 
/* ============================================================
   FOOTER LEGAL MENU (Legal Notice / Privacy Policy)
   ============================================================ */
.wd-footer-menu { margin: 0 0 .5rem; }
.wd-footer-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem 1.5rem;
}
.wd-footer-menu__list li { margin: 0; }
.wd-footer-menu__list a {
  text-decoration: none;
  opacity: .85;
  font-size: .9rem;
}
.wd-footer-menu__list a:hover { opacity: 1; text-decoration: underline; }
.wd-footer-menu__list a { color: #5c5348; }
.wd-footer-menu__list a:hover { color: #6b2737; }

/* Footer legal menu — override Astra footer specificity */
.ast-footer-copyright .wd-footer-menu { margin: 0 0 .6rem !important; }
.ast-footer-copyright .wd-footer-menu__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: .4rem 1.4rem;
}
.ast-footer-copyright .wd-footer-menu__list li { margin: 0 !important; padding: 0 !important; }
.ast-footer-copyright .wd-footer-menu__list li:before { content: none !important; }
.ast-footer-copyright .wd-footer-menu__list a { color: #5c5348 !important; opacity: 1 !important; font-size: .9rem; text-decoration: none; }
.ast-footer-copyright .wd-footer-menu__list a:hover { color: #6B1A2A !important; text-decoration: underline; }

/* Footer legal menu — unscoped overrides (menu renders in footer bar, not inside .ast-footer-copyright) */
nav.wd-footer-menu ul.wd-footer-menu__list {
  list-style: none !important;
  margin: 0 0 .5rem !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: .4rem 1.4rem !important;
}
nav.wd-footer-menu ul.wd-footer-menu__list li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
nav.wd-footer-menu ul.wd-footer-menu__list li::marker,
nav.wd-footer-menu ul.wd-footer-menu__list li::before { content: "" !important; display: none !important; }
nav.wd-footer-menu ul.wd-footer-menu__list a { color: #5c5348 !important; opacity: 1 !important; font-size: .9rem !important; text-decoration: none !important; }
nav.wd-footer-menu ul.wd-footer-menu__list a:hover { color: #6B1A2A !important; text-decoration: underline !important; }


}

/* ── Video carousel (watch-the-video widget) ────────────────────────────── */
.wd-video-card{
  background: var(--wd-burgundy-dk, #4E1220);
  border-radius: var(--wd-radius, 10px);
  padding: 1.1rem 1.2rem 1.3rem;
  margin: 2.2rem auto;
  max-width: 420px;
  color: var(--wd-white, #fff);
}
.wd-video-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:.7rem;
}
.wd-video-eyebrow{
  font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color: var(--wd-gold, #B8975A);
}
.wd-video-counter{
  font-size:.78rem; color: rgba(255,255,255,.65);
}
.wd-video-stage{
  position:relative;
  width:100%;
  aspect-ratio: 16 / 9;
  border-radius: calc(var(--wd-radius, 10px) - 4px);
  overflow:hidden;
  background: rgba(0,0,0,.25);
}
.wd-video-thumb{
  position:absolute; inset:0;
  display:none;
  background-size:cover; background-position:center;
  align-items:center; justify-content:center;
}
.wd-video-thumb.is-active{ display:flex; }
.wd-video-play{
  width:56px; height:56px; border-radius:50%;
  background: rgba(0,0,0,.55);
  display:flex; align-items:center; justify-content:center;
}
.wd-video-play::before{
  content:''; display:block;
  border-style:solid; border-width:10px 0 10px 16px;
  border-color:transparent transparent transparent var(--wd-white, #fff);
  margin-left:4px;
}
.wd-video-title{
  font-weight:700; font-size:1rem; margin:.8rem 0 0; color: var(--wd-white, #fff);
}
.wd-video-controls{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:.7rem;
}
.wd-video-nav{ display:flex; gap:.5rem; }
.wd-video-prev, .wd-video-next{
  width:32px !important; height:32px !important; border-radius:50% !important;
  padding:0 !important; min-width:0 !important;
  border:1px solid rgba(255,255,255,.3);
  background:transparent; color:var(--wd-white, #fff);
  font-size:1.1rem; line-height:1 !important; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
}
.wd-video-prev:hover, .wd-video-next:hover{ background: rgba(255,255,255,.12); }
.wd-video-toggle{
  background:none; border:none; color: var(--wd-gold, #B8975A);
  font-size:.82rem; font-weight:600; cursor:pointer; text-decoration:underline;
  padding:0;
}
.wd-video-list{
  list-style:none; margin:.8rem 0 0; padding:.8rem 0 0;
  border-top:1px solid rgba(255,255,255,.15);
  display:none;
}
.wd-video-list.is-open{ display:block; }
.wd-video-list li + li{ margin-top:.4rem; }
.wd-video-listitem{
  background:none; border:none; color: rgba(255,255,255,.85);
  font-size:.86rem; text-align:left; cursor:pointer; padding:.2rem 0;
}
.wd-video-listitem:hover{ color: var(--wd-white, #fff); }

/* Video card inside the region-guide Explore section (under the map) */
.wd-rg-travel-cols__map .wd-video-card { max-width: none; margin: 1.5rem 0 0; }
.wd-rg-travel-cols__map > .wd-video-card:first-child { margin-top: 0; }

/* Region guide: map and video side by side */
.wd-rg-travel-cols--media { align-items: stretch; }
.wd-rg-travel-cols--media .wd-rg-travel-cols__wineries { grid-column: 1 / -1; }
.wd-rg-travel-cols__video .wd-video-card { max-width: none; margin: 0; height: 100%; box-sizing: border-box; }
.wd-rg-travel-cols--media .wd-rg-map { height: 100%; }
.wd-video-card .wd-video-title { color: #fff !important; }
