/*
Theme Name: P V Vintners Editorial
Author: P V Vintners
Description: Responsive editorial B2B wine merchant theme with independent navigation, editable four-column footer builder, and catalogue compatibility.
Version: 2.9.8
Requires PHP: 7.4
Text Domain: pvv-editorial
*/
:root{--wine:#783344;--dark:#282021;--cream:#f8f5f0;--muted:#625c58;--line:#e5dfd8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--dark);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:var(--wine)}a:hover{color:#a25362}img{max-width:100%;height:auto}.site-container{max-width:1200px;margin:0 auto;padding:0 24px}.site-header{background:#fff;border-bottom:1px solid var(--line);z-index:50}.site-header.is-sticky{position:sticky;top:0}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:26px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--dark)}.brand img{max-height:65px;width:auto}.brand-title{font-family:Georgia,serif;font-size:27px;letter-spacing:.08em;font-weight:600}.brand-subtitle{font-size:10px;color:#836b69;letter-spacing:.17em;text-transform:uppercase}.site-nav .menu{display:flex;align-items:center;list-style:none;padding:0;margin:0;gap:24px}.site-nav li{position:relative;list-style:none}.site-nav a{font-size:12px;letter-spacing:.07em;font-weight:650;color:#3c3030;text-transform:uppercase;text-decoration:none}.site-nav ul ul{display:none;position:absolute;left:0;top:100%;min-width:220px;background:#fff;box-shadow:0 10px 30px #211b1b20;padding:16px;z-index:100}.site-nav li:hover>ul,.site-nav li:focus-within>ul{display:block}.site-nav ul ul li{padding:5px 0}.nav-toggle{display:none;border:1px solid #ddd;background:#fff;color:#3c3030;padding:8px 12px}.site-hero{background:linear-gradient(120deg,#2c2527 0%,#5b2939 85%);color:#fff;padding:92px 0}.site-hero h1{font:normal clamp(38px,5vw,64px)/1.1 Georgia,serif;max-width:850px;margin:0 0 20px}.site-hero p{max-width:720px;font-size:18px;color:#eee5e4}.hero-eyebrow{text-transform:uppercase;color:#e2c09b;letter-spacing:.2em;font-size:12px;font-weight:700;margin-bottom:16px}.site-main{min-height:55vh}.page-heading{background:var(--cream);padding:65px 0 54px}.page-heading h1{font:normal clamp(34px,4vw,53px)/1.2 Georgia,serif;margin:0}.entry-content{max-width:900px;margin:52px auto 68px;padding:0 24px}.entry-content h2,.entry-content h3{font-family:Georgia,serif;line-height:1.3}.entry-content h2{font-size:30px}.entry-content p{margin-bottom:1.5em}.entry-content a{text-underline-offset:3px}.entry-content img{border-radius:5px}.site-footer{background:#282324;color:#e7dfdc;padding:65px 0 24px}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}.footer-columns h2,.footer-columns .widget-title{font-size:14px;text-transform:uppercase;letter-spacing:.09em;color:#fff;margin:0 0 16px}.footer-columns p,.footer-columns li{font-size:14px;color:#c9c1be}.site-footer a{color:#e7dfdc;text-decoration:none}.site-footer a:hover{color:#ecc5a4}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:8px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #514a4b;margin-top:55px;padding-top:20px;font-size:12px;color:#bcb1b1}.footer-bottom a{font-size:12px}.single-product-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;padding:68px 24px}.single-product-wrap h1{font:normal 44px/1.2 Georgia,serif}.single-product-wrap img{width:100%;height:auto;object-fit:contain}.product-specs{border-collapse:collapse;width:100%;margin:24px 0}.product-specs td{padding:12px;border-bottom:1px solid var(--line)}.product-specs td:first-child{font-weight:700;width:38%}.button-pvv{display:inline-block;padding:11px 23px;background:var(--wine);color:#fff;text-decoration:none;border-radius:3px;font-weight:700}.site-notice{padding:20px;background:var(--cream)}@media(max-width:1000px){.header-inner{flex-wrap:wrap}.nav-toggle{display:block}.site-nav{display:none;flex-basis:100%;width:100%;padding-bottom:16px}.site-nav.is-open{display:block}.site-nav .menu{display:block}.site-nav .menu>li{padding:10px 0;border-bottom:1px solid var(--line)}.site-nav ul ul{display:block;position:static;min-width:0;box-shadow:none;padding:8px 20px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.site-container{padding:0 18px}.footer-columns,.single-product-wrap{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.site-hero{padding:65px 0}.header-inner{min-height:74px}.brand-title{font-size:21px}}
/* Page-level managed sections break out of the editorial reading column. */
.entry-content>.pvv-managed-section{width:100vw;max-width:none;position:relative;left:50%;transform:translateX(-50%)}

/* Dedicated Homepage Builder: full-width sections without the editorial column constraint */
.pvv-home-main .pvv-home-content>.pvv-managed-section{width:100%;max-width:none;left:auto;transform:none}
.pvv-home-main .pvv-home-content{margin:0;padding:0;max-width:none}
.pvv-home-main .pvv-home-content>.entry-content{max-width:900px}

/* PVV 2.0 refined page architecture */
body{background:#fff;color:#242127} .site-header{box-shadow:0 2px 18px rgba(20,13,15,.05)}.site-footer{background:#1e2022}.pvv-managed-section{padding-top:48px;padding-bottom:48px}.pvv-managed-section:nth-of-type(even):not(.pvv-layout-hero){background:#faf8f6}.pvv-managed-section .pvv-section-inner{max-width:1220px;margin:auto;padding-left:28px;padding-right:28px}.pvv-managed-section h2{font-family:Georgia,serif;letter-spacing:-.025em}.site-container{max-width:1240px}.pvv-layout-hero{padding:0}.pvv-layout-hero .pvv-section-inner{max-width:100%}.pvv-layout-cards .pvv-section-text{text-align:center}.pvv-layout-text .pvv-section-text{max-width:880px;margin:auto;text-align:center}.pvv-layout-text .pvv-section-image{max-width:1040px;margin:22px auto}.pvv-layout-text .pvv-section-image img{width:100%;max-height:260px;object-fit:cover;border-radius:18px}.pvv-layout-products .pvv-section-text{text-align:center}.pvv-layout-split .pvv-section-inner{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.pvv-layout-split img{border-radius:10px}.pvv-section-link{font-weight:700;color:#790c2b}.pvv-layout-hero .pvv-section-text{text-align:left}@media(max-width:720px){.pvv-layout-split .pvv-section-inner{grid-template-columns:1fr}}

/* ===========================================================
   P V Vintners v2.2 — layout, header, hero and typography fixes.
   This stylesheet retains prior Customizer settings and menu IDs.
   =========================================================== */
:root{--wine:#783344;--wine-hover:#a04561;--pvv-page-width:1240px}
body{line-height:1.7}
.site-header{position:relative;margin:0;padding:0}
.site-header.is-sticky{position:sticky;top:0}
body.admin-bar .site-header.is-sticky{top:32px}
.site-header .site-container{max-width:1480px;padding-left:clamp(20px,3vw,38px);padding-right:clamp(20px,3vw,38px)}
.header-inner{min-height:152px;justify-content:space-between;gap:20px;flex-wrap:nowrap}
.brand{flex:0 0 auto;max-width:290px;min-width:0}
.brand img{display:block;width:auto;height:auto;max-height:130px;max-width:280px;object-fit:contain} /* Exactly twice the former 65px logo height */
.site-nav{flex:0 1 auto;margin-left:auto;min-width:0}
.site-nav .menu{gap:clamp(12px,1.5vw,22px);justify-content:flex-end}
.site-nav a{font-size:12px;letter-spacing:.035em;white-space:nowrap;text-align:justify;line-height:1.35}
.site-nav .menu>li>a{display:block;padding:15px 0}
.site-nav ul ul{min-width:max-content;width:max-content;max-width:min(440px,calc(100vw - 32px));padding:12px 18px;top:100%;left:0;border:1px solid #eee5e4;border-radius:4px;box-shadow:0 12px 30px #211b1b20}
.site-nav ul ul a{display:block;white-space:nowrap;line-height:1.35;text-align:justify;letter-spacing:.02em}
.site-nav ul ul li{padding:0}.site-nav ul ul li>a{padding:11px 8px}
.site-nav ul ul li>a:hover,.site-nav ul ul li>a:focus{background:#f8f1f3;color:var(--wine)}
.site-main,.pvv-home-main,.pvv-inner-main,.pvv-home-content,.pvv-inner-content{margin:0;padding:0;border:0}
.pvv-home-content>p:empty,.pvv-inner-content>p:empty{display:none}
/* Sections render outside .entry-content, eliminating its former 52px top margin. */
.pvv-home-content>.pvv-managed-section:first-child,.pvv-inner-content>.pvv-managed-section:first-child{margin-top:0}
.pvv-managed-section{margin:0;padding:clamp(48px,5vw,70px) 22px}
.pvv-managed-section .pvv-section-inner{width:100%;max-width:var(--pvv-page-width);margin:0 auto;padding:0 28px}
/* Hero content starts on the same page grid as the first content section. */
.pvv-layout-hero{padding:0!important;margin:0;background-color:#2c2527}
.pvv-layout-hero .pvv-section-inner{max-width:var(--pvv-page-width)!important;min-height:clamp(430px,40vw,570px);padding:60px 28px;display:flex;align-items:center;justify-content:flex-start}
.pvv-layout-hero .pvv-section-text{margin:0;max-width:700px;width:100%;text-align:left}
.pvv-layout-hero h1,.pvv-layout-hero h2{font:normal clamp(38px,4.6vw,62px)/1.08 Georgia,serif;color:white;margin:0 0 24px}
.pvv-layout-hero .pvv-section-copy{max-width:690px;color:#fff;text-align:justify;line-height:1.75}
.pvv-layout-hero .pvv-section-copy p{margin:0 0 18px}
.pvv-layout-hero .pvv-section-subtitle{color:#eed7ae;font-size:13px;letter-spacing:.13em;text-transform:uppercase}
.pvv-layout-hero .pvv-section-link{display:inline-flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:5px;background:var(--wine);color:#fff;padding:13px 24px;font-weight:700;text-decoration:none;box-shadow:0 3px 9px #16050b26;transition:background .2s ease,box-shadow .2s ease,transform .2s ease;cursor:pointer}
.pvv-layout-hero .pvv-section-link:hover,.pvv-layout-hero .pvv-section-link:focus-visible{background:var(--wine-hover);color:#fff;box-shadow:0 8px 24px #18020955;transform:translateY(-2px)}
.pvv-layout-hero .pvv-section-link:focus-visible{outline:3px solid #efcbb8;outline-offset:3px}
/* Page headings come from Page Studio sections; no repeated WP page-name banners. */
.pvv-managed-section h1,.pvv-managed-section h2{font-family:Georgia,serif;letter-spacing:-.025em}
.pvv-section-copy,.pvv-section-copy p,.entry-content p,.pvv-product-body p,.pvv-region-intro,.pvv-region-info p{text-align:justify;text-justify:inter-word;hyphens:auto}
.entry-content{max-width:990px;margin:34px auto 56px}
/* Text-only/CTA: use available width and centre headings while justifying body text. */
.pvv-layout-text:not(.pvv-has-inline-image) .pvv-section-text,
.pvv-layout-cta:not(.pvv-has-inline-image) .pvv-section-text{width:100%;max-width:1010px;margin:0 auto;text-align:center}
.pvv-layout-text:not(.pvv-has-inline-image) .pvv-section-text h1,
.pvv-layout-text:not(.pvv-has-inline-image) .pvv-section-text h2,
.pvv-layout-cta:not(.pvv-has-inline-image) .pvv-section-text h1,
.pvv-layout-cta:not(.pvv-has-inline-image) .pvv-section-text h2{text-align:center}
.pvv-layout-text:not(.pvv-has-inline-image) .pvv-section-copy,
.pvv-layout-cta:not(.pvv-has-inline-image) .pvv-section-copy{max-width:990px;text-align:justify;margin:0 auto}
.pvv-layout-text .pvv-section-text,.pvv-layout-cta .pvv-section-text{text-align:center}
.pvv-layout-text.pvv-has-inline-image .pvv-section-inner,.pvv-layout-cta.pvv-has-inline-image .pvv-section-inner{display:block}
.pvv-layout-text.pvv-has-inline-image .pvv-section-text,.pvv-layout-cta.pvv-has-inline-image .pvv-section-text{width:100%;max-width:1010px;margin:0 auto 24px}
.pvv-layout-split .pvv-section-text{text-align:left}.pvv-layout-split .pvv-section-copy{text-align:justify}
.pvv-layout-cards .pvv-section-text,.pvv-layout-products .pvv-section-text{width:100%;max-width:1010px;margin:0 auto 32px;text-align:center}
.pvv-layout-cards .pvv-section-copy,.pvv-layout-products .pvv-section-copy{text-align:justify;max-width:1010px;margin:0 auto}
.pvv-layout-cards .pvv-region-grid{width:100%;margin-top:24px}
.pvv-region-card.pvv-region-no-image{display:flex;justify-content:center;align-items:center;min-height:230px;text-align:center}
.pvv-region-no-image .pvv-region-info{width:100%;padding:28px 23px;text-align:center}
.pvv-region-no-image .pvv-region-info h3,.pvv-region-no-image .pvv-region-subtitle{text-align:center}
.pvv-region-no-image .pvv-region-intro{text-align:justify}
.pvv-region-info .pvv-region-intro{margin:10px 0 8px;font-size:14px;line-height:1.6}
.pvv-region-info .pvv-region-subtitle{margin:6px 0;font-weight:500}
.pvv-region-info a{font-weight:650;text-decoration:none}
.pvv-region-grid.pvv-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pvv-region-grid.pvv-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pvv-region-grid.pvv-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1350px){.header-inner{gap:16px}.site-nav .menu{gap:12px}.site-nav a{font-size:11.5px}.brand img{max-width:260px}}
@media(max-width:1160px){.header-inner{min-height:114px;flex-wrap:wrap}.brand img{max-height:105px;max-width:240px}.nav-toggle{display:block;margin-left:auto}.site-nav{display:none;width:100%;flex-basis:100%;margin-left:0;padding:8px 0 18px}.site-nav.is-open{display:block}.site-nav .menu{display:block}.site-nav .menu>li{padding:0;border-bottom:1px solid #ede7e2}.site-nav .menu>li>a{padding:12px 3px}.site-nav ul ul{position:static;display:block;box-shadow:none;border:none;max-width:100%;width:100%;min-width:0;padding:0 12px}.site-nav ul ul a{white-space:normal}}
@media(max-width:782px){body.admin-bar .site-header.is-sticky{top:46px}.pvv-layout-hero .pvv-section-inner{padding:55px 22px}.pvv-managed-section .pvv-section-inner{padding:0 12px}.pvv-region-grid.pvv-cols-3,.pvv-region-grid.pvv-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.header-inner{min-height:90px}.brand img{max-height:90px;max-width:205px}.pvv-layout-hero .pvv-section-inner{min-height:420px;padding:46px 16px}.pvv-region-grid.pvv-cols-2,.pvv-region-grid.pvv-cols-3,.pvv-region-grid.pvv-cols-4{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pvv-layout-hero .pvv-section-link{transition:none}}

/* Force the supplied logo to display at approximately twice the previous visual size. */
.site-header .brand img{width:260px;max-width:260px;height:auto;max-height:130px;object-fit:contain}
@media(max-width:1160px){.site-header .brand img{width:220px;max-width:220px;max-height:110px}}
@media(max-width:540px){.site-header .brand img{width:185px;max-width:185px;max-height:95px}}
/* A split section without an inline picture becomes a full-width editorial section. */
.pvv-layout-split.pvv-no-inline-image .pvv-section-inner{display:block}
.pvv-layout-split.pvv-no-inline-image .pvv-section-text{max-width:1010px;width:100%;margin:0 auto;text-align:center}
.pvv-layout-split.pvv-no-inline-image .pvv-section-copy{text-align:justify;max-width:990px;margin:auto}


/* =============================================================
   PVV 2.3 — requested hero / header / typography refinements.
   Both header and hero use --pvv-page-width as one alignment grid.
   All Page Studio content and existing product metadata are untouched.
   ============================================================= */

/* A compact header; preserve the enlarged existing logo. */
.site-header .site-container.header-inner {
  width: 100%;
  max-width: var(--pvv-page-width);
  padding-inline: 28px;
  min-height: 102px;
  gap: 16px;
  justify-content: space-between;
}
.site-header .brand {
  flex: 0 0 auto;
  max-width: 260px;
  margin: 0;
}
.site-header .brand img {
  display: block;
  width: 260px;
  max-width: 260px;
  max-height: 94px;
  height: auto;
  object-fit: contain;
}
/* Larger navigation without the previous semi-bold uppercase treatment. */
.site-header .site-nav {
  flex: 0 1 auto;
  margin-left: auto;
}
.site-header .site-nav .menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(12px, 1.4vw, 20px);
}
.site-header .site-nav a,
.site-header .site-nav .menu > li > a,
.site-header .site-nav ul ul a {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .018em;
  line-height: 1.35;
  text-transform: uppercase;
}
.site-header .site-nav .menu > li > a { padding-block: 10px; }

/* Center all elements of every Page Studio hero, including prose and CTA. */
.pvv-managed-section.pvv-layout-hero .pvv-section-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  max-width: var(--pvv-page-width) !important;
  padding-inline: 28px;
}
.pvv-managed-section.pvv-layout-hero .pvv-section-text {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.pvv-managed-section.pvv-layout-hero .pvv-section-text h1,
.pvv-managed-section.pvv-layout-hero .pvv-section-text h2,
.pvv-managed-section.pvv-layout-hero .pvv-section-subtitle {
  text-align: center;
  margin-inline: auto;
}
.pvv-managed-section.pvv-layout-hero .pvv-section-copy,
.pvv-managed-section.pvv-layout-hero .pvv-section-copy p {
  width: 100%;
  max-width: 860px;
  margin-inline: auto;
  text-align: center;
  text-justify: auto;
  hyphens: none;
}
.pvv-managed-section.pvv-layout-hero .pvv-section-link {
  margin: 20px auto 0;
  justify-content: center;
  text-align: center;
}
/* The theme's fallback hero follows the same centered treatment. */
.site-hero .site-container { text-align: center; }
.site-hero h1, .site-hero p { margin-inline: auto; text-align: center; }

/* Body-section headings (including image/text layouts) are regular-weight. */
.pvv-managed-section:not(.pvv-layout-hero) h1,
.pvv-managed-section:not(.pvv-layout-hero) h2,
.pvv-managed-section:not(.pvv-layout-hero) h3,
.entry-content h1, .entry-content h2, .entry-content h3 {
  font-weight: 400;
}

/* Respect the existing mobile nav and layout; avoid overflowing labels. */
@media (max-width: 1160px) {
  .site-header .site-container.header-inner { min-height: 88px; }
  .site-header .brand img { width: 220px; max-width: 220px; max-height: 86px; }
  .site-header .site-nav { display: none; flex-basis: 100%; width: 100%; margin-left: 0; }
  .site-header .site-nav.is-open { display: block; }
  .site-header .site-nav .menu { display: block; }
  .site-header .site-nav .menu > li > a { padding-block: 12px; }
  .site-header .site-nav a, .site-header .site-nav ul ul a {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 600px) {
  .site-header .site-container.header-inner { padding-inline: 18px; min-height: 76px; }
  .site-header .brand img { width: 185px; max-width: 185px; max-height: 74px; }
  .pvv-managed-section.pvv-layout-hero .pvv-section-inner { padding-inline: 18px; }
  .pvv-managed-section.pvv-layout-hero .pvv-section-text h1,
  .pvv-managed-section.pvv-layout-hero .pvv-section-text h2 {
    font-size: clamp(33px, 8vw, 43px);
  }
}


/* =============================================================
   PVV 2.4 — larger logo, improved wine-region readability,
   manual-only hyphens, and wider, larger hero introduction.
   ============================================================= */
/* +75% on the desktop 260px logo in v2.3. The full-width logo is
   allowed to keep its natural ratio so it does not look squashed. */
.site-header .brand{flex:0 0 auto;max-width:455px}
.site-header .brand img{width:455px;max-width:455px;height:auto;max-height:164.5px;object-fit:contain}
.site-header .site-container.header-inner{height:auto;min-height:112px}
/* Ensure the navigation may shrink gracefully instead of colliding
   with the expanded brand on medium desktop widths. */
.site-header .site-nav{min-width:0}
/* Prevent software hyphenation of justified copy. Explicit hyphens
   in the source text remain; words are justified at spaces only. */
body, body p, body li, body h1, body h2, body h3, body h4,
.entry-content, .entry-content p,
.pvv-managed-section, .pvv-managed-section .pvv-section-text,
.pvv-section-copy, .pvv-section-copy p,
.pvv-region-card, .pvv-region-card .pvv-region-info,
.pvv-region-card .pvv-region-subtitle, .pvv-region-card .pvv-region-intro,
.pvv-product-body, .pvv-product-body p {
  -webkit-hyphens:none;
  -ms-hyphens:none;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.pvv-section-copy, .pvv-section-copy p,
.pvv-region-card .pvv-region-intro,
.entry-content p, .pvv-product-body p {text-align:justify;text-justify:inter-word}
/* Prominent subheadings across section layouts and region cards. */
.pvv-managed-section .pvv-section-subtitle{font-weight:700}
.pvv-region-card .pvv-region-info{padding:22px 22px 24px}
.pvv-region-card .pvv-region-info p.pvv-region-subtitle{
  font-size:17px;
  font-weight:700;
  line-height:1.5;
  margin:8px 0 10px;
  color:#4b3f3b;
}
.pvv-region-card .pvv-region-info p.pvv-region-intro{
  font-size:16.5px;
  font-weight:400;
  line-height:1.72;
  margin:8px 0 12px;
  color:#544e4b;
}
/* v2.3 hero copy was 16px, maximum line width 860px.
   Increase font size and available line width by precisely 25% / 10%. */
.pvv-managed-section.pvv-layout-hero .pvv-section-text{max-width:990px}
.pvv-managed-section.pvv-layout-hero .pvv-section-copy,
.pvv-managed-section.pvv-layout-hero .pvv-section-copy p{
  max-width:946px;
  font-size:20px;
  line-height:1.65;
  text-align:center;
  margin-inline:auto;
}
/* More room for the large logo and full-sized desktop nav. The
   existing alignment grid remains the default at wide widths. */
@media (min-width:1161px) and (max-width:1480px){
  .site-header .site-container.header-inner{max-width:calc(100% - 40px);padding-inline:20px}
  .site-header .site-nav .menu{gap:clamp(8px,1vw,14px)}
  .site-header .site-nav .menu>li>a{font-size:clamp(12px,1.01vw,15px)}
}
/* Preserve the existing hamburger navigation below the breakpoint.
   Tablet and small screens get appropriately scaled logos. */
@media(max-width:1160px){
  .site-header .brand{max-width:min(385px,calc(100vw - 125px))}
  .site-header .brand img{width:385px;max-width:100%;max-height:151px}
  .site-header .site-container.header-inner{min-height:96px}
}
@media(max-width:600px){
  .site-header .brand{max-width:min(324px,calc(100vw - 152px))}
  .site-header .brand img{width:324px;max-width:100%;max-height:130px}
  .site-header .site-container.header-inner{min-height:80px;gap:12px}
  .pvv-managed-section.pvv-layout-hero .pvv-section-copy,
  .pvv-managed-section.pvv-layout-hero .pvv-section-copy p{
    font-size:clamp(18px,4.5vw,20px);
    line-height:1.6;
  }
  .pvv-region-card .pvv-region-info p.pvv-region-intro{font-size:16px}
}


/* =============================================================
   PVV v2.6.0 — balanced header and refined typography.
   Keep the logo at its existing desktop display width (455px).
   Broaden only the header alignment grid so its visible artwork
   starts closer to the left edge of the editorial content.
   ============================================================= */
@media (min-width: 1321px) {
  .site-header .site-container.header-inner {
    width: 100%;
    max-width: 1480px;
    padding: 0 clamp(32px, 3.7vw, 62px) 0 28px;
    min-height: 116px;
    height: 116px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }
  .site-header .brand {
    flex: 0 0 455px;
    width: 455px;
    max-width: 455px;
    height: 116px;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden; /* Crop only blank canvas outside the logo artwork. */
    line-height: 0;
  }
  .site-header .brand img {
    display: block;
    flex: 0 0 455px;
    width: 455px;
    max-width: 455px;
    height: auto;
    max-height: 164.5px;
    object-fit: contain;
    transform: none;
  }
  .site-header .site-nav {
    flex: 0 1 auto;
    min-width: 0;
    margin-left: auto;
  }
  .site-header .site-nav .menu {
    display: flex;
    gap: clamp(12px, 1.3vw, 20px);
    align-items: center;
    justify-content: flex-end;
  }
  .site-header .site-nav .menu > li > a {
    padding-block: 8px;
  }
}
/* At narrow desktop / tablet widths, expose navigation with the
   existing accessible toggle instead of squeezing a large logo
   and long navigation labels into a single line. */
@media (min-width: 601px) and (max-width: 1320px) {
  .site-header .site-container.header-inner {
    width: 100%;
    max-width: 100%;
    padding-inline: 24px;
    min-height: 104px;
    height: 104px;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }
  .site-header .brand {
    max-width: min(400px, calc(100vw - 124px));
    width: min(400px, calc(100vw - 124px));
    height: 104px;
    display: flex;
    align-items: center;
    overflow: hidden;
    line-height: 0;
  }
  .site-header .brand img {
    width: 400px;
    max-width: 100%;
    max-height: 145px;
    height: auto;
    object-fit: contain;
    transform: none;
  }
  .site-header .nav-toggle {display: block;margin-left: auto;}
  .site-header .site-nav {
    display: none;
    flex-basis: 100%;
    width: 100%;
    margin-left: 0;
    padding: 0 0 14px;
  }
  .site-header .site-nav.is-open {display: block;}
  .site-header .site-nav .menu {display: block;}
  .site-header .site-nav .menu > li {border-bottom: 1px solid #ede7e2;}
  .site-header .site-nav .menu > li > a {padding-block: 11px;}
  .site-header .site-nav ul ul {position: static;display: block;width: 100%;max-width: 100%;box-shadow: none;padding: 4px 12px;}
  .site-header .site-nav ul ul a {white-space: normal;overflow-wrap: anywhere;}
  .site-header .site-container.header-inner:has(.site-nav.is-open){height:auto;}
}
@media (max-width: 600px) {
  .site-header .site-container.header-inner {
    height: 82px;
    min-height: 82px;
    padding-inline: 18px;
    gap: 10px;
    align-items: center;
  }
  .site-header .brand {
    flex: 0 1 auto;
    width: min(324px, calc(100vw - 110px));
    max-width: min(324px, calc(100vw - 110px));
    height: 82px;
    display: flex;
    align-items: center;
    overflow: hidden;
    line-height: 0;
  }
  .site-header .brand img {
    width: 324px;
    max-width: 100%;
    height: auto;
    max-height: 130px;
    transform: none;
  }
  .site-header .site-container.header-inner:has(.site-nav.is-open){height:auto;}
}

/* Consistent body typography for pages, cards and footer. */
body { font-size: 16px; line-height: 1.7; }
.entry-content, .pvv-managed-section .pvv-section-copy {
  font-size: 16px;
  line-height: 1.75;
}
.pvv-managed-section:not(.pvv-layout-hero) .pvv-section-text > h1,
.pvv-managed-section:not(.pvv-layout-hero) .pvv-section-text > h2 {
  font-weight: 400;
  line-height: 1.2;
}
/* Preserve the previously requested 20px centered hero description. */
.pvv-managed-section.pvv-layout-hero .pvv-section-copy,
.pvv-managed-section.pvv-layout-hero .pvv-section-copy p {
  font-size: 20px;
  line-height: 1.65;
}
.site-header .site-nav a,
.site-header .site-nav .menu > li > a,
.site-header .site-nav ul ul a {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .012em;
  text-align: left;
}
/* The region title is bold; supporting lines are deliberately
   smaller and regular weight, unlike main section subtitles. */
.pvv-managed-section.pvv-layout-cards .pvv-region-card .pvv-region-info h3 {
  font-size: 21px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0 0 8px;
}
.pvv-managed-section.pvv-layout-cards .pvv-region-card .pvv-region-info p.pvv-region-subtitle {
  font-size: 14.5px;
  line-height: 1.55;
  font-weight: 400;
  margin: 5px 0 8px;
}
.pvv-managed-section.pvv-layout-cards .pvv-region-card .pvv-region-info p.pvv-region-intro {
  font-size: 14.5px;
  line-height: 1.65;
  font-weight: 400;
  margin: 6px 0 10px;
  text-align: justify;
  text-justify: inter-word;
  -webkit-hyphens: none;
  hyphens: none;
  word-break: normal;
}
@media (max-width: 600px) {
  .pvv-managed-section.pvv-layout-cards .pvv-region-card .pvv-region-info p.pvv-region-subtitle,
  .pvv-managed-section.pvv-layout-cards .pvv-region-card .pvv-region-info p.pvv-region-intro {font-size: 14px;}
  .pvv-managed-section.pvv-layout-hero .pvv-section-copy,
  .pvv-managed-section.pvv-layout-hero .pvv-section-copy p {font-size: clamp(18px,4.5vw,20px);}
}

/* PVV v2.7 — compact, structured B2B wine product details. */
.pvv-wine-detail-main{background:#fff}
.pvv-wine-detail{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.4fr);column-gap:clamp(36px,5vw,84px);padding-top:clamp(38px,5vw,70px);padding-bottom:clamp(65px,7vw,110px);align-items:start}
.pvv-wine-detail-media{display:flex;justify-content:center}
.pvv-wine-image-frame{display:flex;align-items:center;justify-content:center;width:min(100%,360px);height:460px;padding:22px 34px;border:1px solid #ece6e0;border-radius:12px;background:linear-gradient(160deg,#fdfbf9,#f8f5f1)}
.pvv-wine-image-frame img.pvv-wine-bottle{display:block;width:auto!important;max-width:100%;max-height:410px!important;height:auto!important;object-fit:contain;object-position:center;filter:drop-shadow(0 10px 12px #291d1c15)}
.pvv-wine-no-image{text-align:center;color:#8f7777;letter-spacing:.2em;font-size:15px}.pvv-wine-no-image small{letter-spacing:.06em}
.pvv-wine-detail-content{min-width:0}.pvv-wine-eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--wine);font-weight:650;margin:3px 0 12px}
.pvv-wine-detail-content>h1{font-family:var(--pvv-font-head,Georgia,serif);font-size:clamp(33px,3.3vw,47px);font-weight:400;line-height:1.18;letter-spacing:-.018em;margin:0 0 36px;color:#252020}
.pvv-wine-detail-group{padding:0 0 29px;margin:0 0 31px;border-bottom:1px solid #e9e2dc}
.pvv-wine-detail-group h2{display:flex;align-items:baseline;gap:15px;font-family:var(--pvv-font-head,Georgia,serif);font-size:clamp(23px,2.15vw,30px);font-weight:400;line-height:1.2;color:#302626;margin:0 0 18px}
.pvv-wine-step{font-family:var(--pvv-font-body,Arial,sans-serif);font-size:12px;letter-spacing:.14em;font-weight:750;color:var(--wine);min-width:22px}
.pvv-wine-facts{margin:0;padding:0}.pvv-wine-fact{display:grid;grid-template-columns:minmax(150px,40%) 1fr;gap:18px;padding:11px 4px;border-bottom:1px solid #f0ebe7;font-size:15px;line-height:1.55}
.pvv-wine-fact:last-child{border-bottom:0}.pvv-wine-fact dt{color:#473b3a;font-weight:650}.pvv-wine-fact dd{margin:0;color:#403b39;overflow-wrap:anywhere}
.pvv-wine-description{border-bottom:0;margin-bottom:10px}.pvv-wine-richtext{max-width:68ch}.pvv-wine-richtext p,.pvv-wine-description>p{font-size:16px;line-height:1.85;color:#554b46;text-align:justify;text-justify:inter-word;hyphens:none;overflow-wrap:normal;word-break:normal}
.pvv-wine-description h3{font-size:18px;font-weight:650;margin:22px 0 8px}.pvv-wine-empty{color:#756c67;font-style:italic}.pvv-wine-enquire{margin-top:4px;transition:background .2s ease,transform .2s ease}.pvv-wine-enquire:hover{background:#572132;color:#fff;transform:translateY(-1px)}
@media(max-width:920px){.pvv-wine-detail{grid-template-columns:minmax(195px,.7fr) minmax(0,1.3fr);gap:28px}.pvv-wine-image-frame{height:380px;padding:18px}.pvv-wine-image-frame img.pvv-wine-bottle{max-height:340px!important}}
@media(max-width:680px){.pvv-wine-detail{grid-template-columns:1fr;gap:27px;padding-top:32px}.pvv-wine-image-frame{height:330px;width:min(100%,330px)}.pvv-wine-image-frame img.pvv-wine-bottle{max-height:285px!important}.pvv-wine-detail-content>h1{margin-bottom:25px}.pvv-wine-fact{grid-template-columns:minmax(125px,40%) 1fr;gap:10px}.pvv-wine-detail-group{margin-bottom:23px;padding-bottom:23px}}

/* ===============================================================
   P V Vintners v2.8 — wine detail grid + editorial page banners.
   The numbered detail labels were intentionally removed in markup.
   =============================================================== */

/* A compact, consistent two-row product story on desktop:
   photo | Origin & Classification
   specs | Product Description
*/
.pvv-wine-detail-main {background:#fff;}
.pvv-wine-detail-main .pvv-wine-detail {
  display:grid;
  grid-template-columns:minmax(285px, .92fr) minmax(0, 1.3fr);
  grid-template-areas:
    "heading heading"
    "media origin"
    "specs description";
  gap:clamp(22px,3.4vw,48px) clamp(28px,4.4vw,66px);
  max-width:1280px;
  padding:clamp(34px,4vw,58px) 28px clamp(68px,6vw,110px);
  align-items:start;
}
.pvv-wine-detail-main .pvv-wine-detail-heading{grid-area:heading;max-width:100%;border-bottom:1px solid #eee5e0;padding-bottom:23px}
.pvv-wine-detail-main .pvv-wine-detail-heading h1{font-family:var(--pvv-font-head,Georgia,serif);font-size:clamp(34px,3.5vw,49px);line-height:1.16;font-weight:400;letter-spacing:-.025em;margin:0;color:#262025;text-align:left}
.pvv-wine-detail-main .pvv-wine-eyebrow{margin:0 0 10px;font-size:11px;letter-spacing:.17em;font-weight:700;text-transform:uppercase;color:#873c55}
.pvv-wine-eyebrow span{color:#bfa4ae;padding:0 5px}
.pvv-wine-detail-main .pvv-wine-detail-media{grid-area:media;display:flex;justify-content:center;min-width:0}
.pvv-wine-detail-main .pvv-wine-image-frame{width:100%;max-width:435px;height:410px;padding:24px 38px;border:1px solid #ece5df;border-radius:16px;background:linear-gradient(155deg,#fffdfa,#f7f3ed);box-shadow:0 14px 36px rgba(58,32,41,.045);display:flex;align-items:center;justify-content:center}
.pvv-wine-detail-main .pvv-wine-image-frame img.pvv-wine-bottle{display:block;max-width:100%;max-height:360px!important;width:auto!important;height:auto!important;object-fit:contain;filter:drop-shadow(0 12px 10px rgba(39,21,23,.1))}
.pvv-wine-detail-main .pvv-wine-origin{grid-area:origin}
.pvv-wine-detail-main .pvv-wine-specifications{grid-area:specs}
.pvv-wine-detail-main .pvv-wine-description{grid-area:description}
.pvv-wine-detail-main .pvv-wine-detail-group{
  margin:0;
  min-width:0;
  padding:25px clamp(20px,2.5vw,32px) 26px;
  background:#fff;
  border:1px solid #ece6e1;
  border-radius:14px;
  box-shadow:0 9px 28px rgba(60,35,30,.025);
}
.pvv-wine-detail-main .pvv-wine-specifications{background:#fbf9f6}
.pvv-wine-detail-main .pvv-wine-detail-group h2{
  display:block;
  font-family:var(--pvv-font-head,Georgia,serif);
  font-size:clamp(22px,2vw,27px);
  line-height:1.25;
  font-weight:400;
  letter-spacing:-.012em;
  margin:0 0 18px;
  color:#30262a;
  text-align:left;
}
.pvv-wine-detail-main .pvv-wine-detail-group h2::after{content:"";display:block;width:43px;height:2px;background:#8a3a53;margin-top:13px}
.pvv-wine-detail-main .pvv-wine-facts{margin:0}
.pvv-wine-detail-main .pvv-wine-fact{display:grid;grid-template-columns:minmax(108px,40%) minmax(0,1fr);gap:13px;padding:11px 0;font-size:14.5px;line-height:1.55;border-bottom:1px solid #ece8e4}
.pvv-wine-detail-main .pvv-wine-fact dt{font-weight:650;color:#51454a}
.pvv-wine-detail-main .pvv-wine-fact dd{font-weight:400;color:#302d2d;margin:0;overflow-wrap:break-word;word-break:normal}
.pvv-wine-detail-main .pvv-wine-fact:last-child{border:0}
.pvv-wine-detail-main .pvv-wine-description .pvv-wine-richtext{max-width:100%}
.pvv-wine-detail-main .pvv-wine-description .pvv-wine-richtext p,
.pvv-wine-detail-main .pvv-wine-description>p,
.pvv-wine-detail-main .pvv-wine-description li{
  font-family:var(--pvv-font-body,system-ui,sans-serif);
  font-size:16px;
  line-height:1.88;
  color:#534b48;
  text-align:justify;
  text-justify:inter-word;
  hyphens:none;
  -webkit-hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.pvv-wine-detail-main .pvv-wine-description h3{font-size:17px;font-weight:650;line-height:1.4;color:#372a30;margin:26px 0 7px}
.pvv-wine-detail-main .pvv-wine-enquire{margin-top:20px;border-radius:5px;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s}
.pvv-wine-detail-main .pvv-wine-enquire:hover{background:#5c243a;box-shadow:0 7px 22px #77334440;transform:translateY(-2px)}

/* All main WordPress pages: image-led editorial design without the
   unwanted automatic page-title banner. Supports Page Studio and plain content. */
.pvv-inner-main{background:#fff;min-height:56vh}
.pvv-featured-banner-wrap{width:100%;max-width:1390px;margin:0 auto;padding:clamp(20px,3vw,36px) clamp(18px,3vw,34px) 0}
.pvv-featured-banner{position:relative;display:block;margin:0;width:100%;height:clamp(230px,28vw,435px);overflow:hidden;border-radius:17px;background:#f1ebe6;box-shadow:0 13px 30px rgba(48,27,28,.07)}
.pvv-featured-banner:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(13,12,13,0) 65%,rgba(25,19,19,.16));}
.pvv-featured-banner .pvv-featured-banner-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none;}
.pvv-inner-main .pvv-inner-prose{max-width:1040px;margin:0 auto;padding:clamp(38px,5vw,70px) clamp(20px,3.8vw,52px) clamp(60px,6vw,98px);}
.pvv-inner-main .pvv-inner-prose :is(h1,h2,h3,h4,h5,h6){font-family:var(--pvv-font-head,Georgia,serif);font-weight:400;color:#2c2627;line-height:1.25;text-align:left;hyphens:none;word-break:normal;}
.pvv-inner-main .pvv-inner-prose h2{font-size:clamp(26px,2.4vw,34px);margin:1.4em 0 .65em}
.pvv-inner-main .pvv-inner-prose h3{font-size:clamp(21px,1.85vw,26px);margin:1.35em 0 .55em}
.pvv-inner-main .pvv-inner-prose :is(p,li,blockquote),
.pvv-inner-main .pvv-managed-section .pvv-section-copy :is(p,li,blockquote){
  text-align:justify;
  text-justify:inter-word;
  hyphens:none;
  -webkit-hyphens:none;
  word-break:normal;
  overflow-wrap:break-word;
  font-size:16px;
  line-height:1.82;
}
.pvv-inner-main .pvv-inner-prose :is(ul,ol){padding-left:1.35em;margin:1em 0 1.5em}
.pvv-inner-main .pvv-inner-prose img{height:auto;max-width:100%;border-radius:12px}
.pvv-inner-main .pvv-inner-prose blockquote{border-left:3px solid var(--wine);margin:30px 0;padding:8px 0 8px 22px;color:#63575b}
.pvv-inner-main .pvv-inner-prose a{text-underline-offset:4px}
.pvv-inner-main .pvv-inner-content>.pvv-managed-section{width:100%;margin:0}
.pvv-inner-main .pvv-inner-content>.pvv-managed-section:not(.pvv-layout-hero):first-child{padding-top:clamp(44px,5vw,70px)}
.pvv-featured-banner-wrap + .pvv-inner-content>.pvv-managed-section:first-child{padding-top:clamp(36px,4.5vw,62px)}
/* Do not justify short labels/subheadings or buttons. */
.pvv-inner-main .pvv-section-subtitle,
.pvv-inner-main .pvv-section-link,
.pvv-inner-main .pvv-region-card .pvv-region-subtitle{text-align:inherit}

@media(max-width:900px){
 .pvv-wine-detail-main .pvv-wine-detail{grid-template-columns:minmax(225px,.9fr) minmax(0,1.1fr);column-gap:22px;row-gap:24px;padding:32px 20px 72px}
 .pvv-wine-detail-main .pvv-wine-image-frame{height:355px;max-width:100%;padding:15px 22px}
 .pvv-wine-detail-main .pvv-wine-image-frame img.pvv-wine-bottle{max-height:310px!important}
 .pvv-wine-detail-main .pvv-wine-detail-group{padding:20px 18px 22px}
 .pvv-wine-detail-main .pvv-wine-fact{grid-template-columns:1fr;gap:3px;padding:9px 0}
}
@media(max-width:680px){
 .pvv-wine-detail-main .pvv-wine-detail{
  grid-template-columns:1fr;
  grid-template-areas:"heading" "media" "origin" "specs" "description";
  gap:20px;
  padding:29px 18px 68px;
 }
 .pvv-wine-detail-main .pvv-wine-detail-heading{padding-bottom:20px}
 .pvv-wine-detail-main .pvv-wine-detail-heading h1{font-size:clamp(30px,7.5vw,41px)}
 .pvv-wine-detail-main .pvv-wine-image-frame{width:min(100%,355px);height:340px;padding:18px}
 .pvv-wine-detail-main .pvv-wine-image-frame img.pvv-wine-bottle{max-height:300px!important}
 .pvv-wine-detail-main .pvv-wine-fact{grid-template-columns:minmax(120px,41%) minmax(0,1fr);gap:10px}
 .pvv-featured-banner-wrap{padding:18px 14px 0}
 .pvv-featured-banner{height:clamp(205px,55vw,310px);border-radius:12px}
 .pvv-inner-main .pvv-inner-prose{padding:33px 22px 66px}
}


/* PVV 2.9 — standard-size product showcase cards, 1–4 per row. */

/* PVV 2.9: product-card dimensions are independent of the number of columns.
   A single wine must never stretch across the entire page. */
.pvv-products-grid,
.pvv-products-grid.pvv-cols-1,
.pvv-products-grid.pvv-cols-2,
.pvv-products-grid.pvv-cols-3,
.pvv-products-grid.pvv-cols-4 {
  --pvv-product-card-width: 272px;
  display: grid;
  gap: 22px;
  justify-content: center;
  align-items: stretch;
  max-width: 1200px;
  width: 100%;
  margin-inline: auto;
}
.pvv-products-grid.pvv-cols-1 {grid-template-columns: repeat(1, minmax(0, var(--pvv-product-card-width)));}
.pvv-products-grid.pvv-cols-2 {grid-template-columns: repeat(2, minmax(0, var(--pvv-product-card-width)));}
.pvv-products-grid:not([class*="pvv-cols-"]),
.pvv-products-grid.pvv-cols-3 {grid-template-columns: repeat(3, minmax(0, var(--pvv-product-card-width)));}
.pvv-products-grid.pvv-cols-4 {grid-template-columns: repeat(4, minmax(0, var(--pvv-product-card-width)));}
.pvv-products-grid .pvv-product-card {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  max-width: var(--pvv-product-card-width);
}
.pvv-products-grid .pvv-product-media {
  height: 218px;
  aspect-ratio: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f9f7f5;
  overflow: hidden;
}
.pvv-products-grid .pvv-product-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 1150px) {
  .pvv-products-grid.pvv-cols-4 {grid-template-columns: repeat(3, minmax(0, var(--pvv-product-card-width)));}
}
@media (max-width: 900px) {
  .pvv-products-grid.pvv-cols-3,
  .pvv-products-grid.pvv-cols-4,
  .pvv-products-grid:not([class*="pvv-cols-"]) {
    grid-template-columns: repeat(2, minmax(0, var(--pvv-product-card-width)));
  }
}
@media (max-width: 610px) {
  .pvv-products-grid,
  .pvv-products-grid.pvv-cols-1,
  .pvv-products-grid.pvv-cols-2,
  .pvv-products-grid.pvv-cols-3,
  .pvv-products-grid.pvv-cols-4 {
    grid-template-columns: minmax(0, min(100%, var(--pvv-product-card-width)));
  }
}

/* PVV 2.9 — half-height inner-page hero and Featured Image banner.
   Homepage hero dimensions remain unchanged. Content may grow naturally
   if an editor enters more copy than the reduced banner can hold. */
.pvv-inner-main .pvv-managed-section.pvv-layout-hero {
  min-height: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-inner {
  min-height: clamp(215px, 20vw, 285px) !important;
  padding: clamp(22px, 2.6vw, 35px) 28px !important;
  box-sizing: border-box;
}
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-text h1,
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-text h2 {
  font-size: clamp(29px, 3vw, 43px);
  line-height: 1.13;
  margin-bottom: 12px;
}
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-copy,
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-copy p {
  font-size: clamp(14px, 1.32vw, 17px) !important;
  line-height: 1.5;
  margin-bottom: 9px;
}
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-link {
  margin-top: 9px;
  padding: 10px 18px;
}
.pvv-inner-main .pvv-featured-banner {
  height: clamp(115px, 14vw, 217.5px);
}
@media (max-width: 640px) {
  .pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-inner {
    min-height: 210px !important;
    padding: 24px 18px !important;
  }
  .pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-text h1,
  .pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-text h2 {
    font-size: clamp(28px, 7vw, 37px);
  }
  .pvv-inner-main .pvv-featured-banner {height: clamp(102px, 27.5vw, 155px);}
}


/* PVV 2.9.2 — image placement and readable links on background sections. */
.pvv-managed-section.pvv-has-inline-image:is(.pvv-layout-text,.pvv-layout-split,.pvv-layout-cta) .pvv-section-inner{
  display:block;
}
.pvv-managed-section .pvv-editorial-heading{
  text-align:center;
  width:100%;
  max-width:1050px;
  margin:0 auto 28px;
}
.pvv-managed-section .pvv-editorial-heading :is(h1,h2){
  margin:0 0 14px;
  text-align:center;
  font-size:clamp(30px,3.1vw,43px);
  font-weight:400;
  line-height:1.18;
}
.pvv-managed-section .pvv-editorial-heading .pvv-section-subtitle{margin:0 auto;text-align:center;}
.pvv-managed-section .pvv-editorial-content{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:clamp(24px,4vw,52px);
  max-width:1110px;
  margin:0 auto;
}
/* Image comes directly after the section heading in the HTML, ahead of the copy. */
.pvv-managed-section .pvv-editorial-content>.pvv-section-image{
  grid-row:1;
  grid-column:1;
  margin:0;
  max-width:none;
  min-width:0;
}
.pvv-managed-section .pvv-editorial-content>.pvv-section-details{
  grid-row:1;
  grid-column:2;
  min-width:0;
}
.pvv-managed-section.pvv-image-side-right .pvv-editorial-content>.pvv-section-image{grid-column:2;}
.pvv-managed-section.pvv-image-side-right .pvv-editorial-content>.pvv-section-details{grid-column:1;}
.pvv-managed-section .pvv-editorial-content>.pvv-section-image img{
  display:block;
  width:100%;
  max-width:100%;
  max-height:390px;
  height:auto;
  object-fit:cover;
  border-radius:14px;
}
.pvv-managed-section .pvv-editorial-content .pvv-section-copy,
.pvv-managed-section .pvv-editorial-content .pvv-section-copy p{
  text-align:justify;
  text-justify:inter-word;
  -webkit-hyphens:none;
  hyphens:none;
  overflow-wrap:break-word;
  margin-top:0;
}
/* A background section uses white copy links, on inner pages and on the homepage.
   The normal burgundy homepage Hero CTA is deliberately excluded. */
.pvv-managed-section.pvv-has-background:not(.pvv-layout-hero) :is(.pvv-section-link,.pvv-section-copy a),
.pvv-inner-main .pvv-managed-section.pvv-has-background.pvv-layout-hero :is(.pvv-section-link,.pvv-section-copy a){
  color:#fff !important;
  border-color:currentColor;
  text-decoration-color:currentColor;
  text-shadow:0 1px 3px rgba(0,0,0,.35);
}
.pvv-managed-section.pvv-has-background:not(.pvv-layout-hero) :is(.pvv-section-link,.pvv-section-copy a):is(:hover,:focus-visible),
.pvv-inner-main .pvv-managed-section.pvv-has-background.pvv-layout-hero :is(.pvv-section-link,.pvv-section-copy a):is(:hover,:focus-visible){
  color:#fff !important;
  text-decoration:underline;
}
@media(max-width:760px){
  .pvv-managed-section .pvv-editorial-content{grid-template-columns:minmax(0,1fr);gap:18px;}
  .pvv-managed-section .pvv-editorial-content>.pvv-section-image,
  .pvv-managed-section.pvv-image-side-right .pvv-editorial-content>.pvv-section-image{
    grid-column:1;
    grid-row:1;
  }
  .pvv-managed-section .pvv-editorial-content>.pvv-section-details,
  .pvv-managed-section.pvv-image-side-right .pvv-editorial-content>.pvv-section-details{
    grid-column:1;
    grid-row:2;
  }
  .pvv-managed-section .pvv-editorial-heading{margin-bottom:18px;}
  .pvv-managed-section .pvv-editorial-content>.pvv-section-image img{max-height:260px;}
}

/* PVV 2.9.3 — 40% tighter between-section rhythm, without changing the hero.
   The earlier standard section padding was 48–70px (mobile 40px). */
:root { --pvv-section-vertical-space: clamp(29px, 3vw, 42px); }
.pvv-home-main .pvv-managed-section:not(.pvv-layout-hero),
.pvv-inner-main .pvv-managed-section:not(.pvv-layout-hero) {
  padding-top: var(--pvv-section-vertical-space);
  padding-bottom: var(--pvv-section-vertical-space);
}
/* Override the older high-specificity inner-page first-section padding. */
.pvv-inner-main .pvv-inner-content > .pvv-managed-section:not(.pvv-layout-hero):first-child,
.pvv-featured-banner-wrap + .pvv-inner-content > .pvv-managed-section:not(.pvv-layout-hero):first-child {
  padding-top: var(--pvv-section-vertical-space);
}
/* WordPress editor content is shown together with Page Studio sections. */
.pvv-inner-main .pvv-inner-editorial .pvv-inner-prose,
.pvv-home-main .pvv-home-editorial .pvv-inner-prose {
  max-width: 1080px;
  margin: 0 auto;
  padding: var(--pvv-section-vertical-space) clamp(20px, 3vw, 38px);
  font-family: var(--pvv-font-body, system-ui, sans-serif);
  line-height: 1.82;
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: break-word;
}
.pvv-inner-main .pvv-inner-editorial .pvv-inner-prose :is(p,li),
.pvv-home-main .pvv-home-editorial .pvv-inner-prose :is(p,li) {
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: break-word;
}
/* Text / Editorial = centered heading, wide image, then full-width justified prose.
   Image + Text and CTA are deliberately kept as their own two-column designs. */
.pvv-managed-section.pvv-layout-text .pvv-editorial-heading {
  margin-bottom: 22px;
}
.pvv-managed-section.pvv-layout-text .pvv-editorial-banner {
  width: min(100%, 1080px);
  margin: 0 auto 24px;
  overflow: hidden;
  border-radius: 14px;
  background: #f4f0eb;
}
.pvv-managed-section.pvv-layout-text .pvv-editorial-banner img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: clamp(180px, 23vw, 270px);
  object-fit: cover;
  object-position: center;
}
.pvv-managed-section.pvv-layout-text .pvv-editorial-prose {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
.pvv-managed-section.pvv-layout-text .pvv-editorial-prose .pvv-section-copy,
.pvv-managed-section.pvv-layout-text .pvv-editorial-prose .pvv-section-copy p {
  text-align: justify;
  text-justify: inter-word;
  overflow-wrap: break-word;
  hyphens: none;
  -webkit-hyphens: none;
}
@media(max-width:640px) {
  :root { --pvv-section-vertical-space: 24px; }
  .pvv-managed-section.pvv-layout-text .pvv-editorial-banner {margin-bottom:18px;}
  .pvv-managed-section.pvv-layout-text .pvv-editorial-banner img {height: clamp(150px, 51vw, 210px);}
}

/* ============================================================
   PVV 2.9.5 — fully editable corporate footer, 4 columns below
   an independent company introduction. Headings alone are bold.
   ============================================================ */
.site-footer.pvv-footer-v3 {
  background: #323232;
  color: #f5f3f2;
  padding: clamp(30px,3vw,42px) 0 18px;
  font-family: var(--pvv-font-body, system-ui, sans-serif);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 400;
}
.site-footer.pvv-footer-v3 .pvv-footer-container {
  width: 100%;
  max-width: 1420px;
  padding-inline: clamp(24px,4.2vw,65px);
}
.site-footer.pvv-footer-v3 .pvv-footer-intro { margin-bottom: 30px; }
body .site-footer.pvv-footer-v3 .pvv-footer-company-heading,
body .site-footer.pvv-footer-v3 .pvv-footer-group-title {
  color: #fff;
  font-family: var(--pvv-font-body, system-ui, sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: 0;
  text-transform: none;
}
body .site-footer.pvv-footer-v3 .pvv-footer-company-heading {
  font-size: clamp(19px,1.5vw,21px);
  line-height: 1.3;
  margin: 0 0 4px;
}
body .site-footer.pvv-footer-v3 .pvv-footer-company-copy {
  font-size: clamp(15px,1.05vw,17px);
  line-height: 1.52;
  margin: 0;
  color: #ededed;
  max-width: 1380px;
  font-weight: 400 !important;
  text-align: left;
  hyphens: none;
}
.site-footer.pvv-footer-v3 .pvv-footer-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  column-gap: clamp(25px,3vw,56px);
  row-gap: 22px;
  padding: 6px 0 28px;
}
.site-footer.pvv-footer-v3 .pvv-footer-column { min-width:0; }
.site-footer.pvv-footer-v3 .pvv-footer-group + .pvv-footer-group { margin-top: 29px; }
body .site-footer.pvv-footer-v3 .pvv-footer-group-title {
  font-size: clamp(15px,1.12vw,17px);
  line-height: 1.4;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.site-footer.pvv-footer-v3 .pvv-footer-links {
  list-style: disc;
  list-style-position: outside;
  padding-left: 29px;
  margin: 0;
}
.site-footer.pvv-footer-v3 .pvv-footer-links li {
  display: list-item;
  margin: 0 0 3px;
  padding: 0;
  font-size: clamp(15px,1.02vw,17px);
  line-height: 1.35;
  color: #f0eeee;
  font-weight: 400 !important;
  overflow-wrap: break-word;
}
.site-footer.pvv-footer-v3 .pvv-footer-links a,
.site-footer.pvv-footer-v3 .pvv-footer-links span {
  color: #f0eeee;
  text-decoration: none;
  font-weight: 400 !important;
  font-size: inherit;
  line-height: inherit;
}
.site-footer.pvv-footer-v3 .pvv-footer-links a:hover,
.site-footer.pvv-footer-v3 .pvv-footer-links a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-footer.pvv-footer-v3 .pvv-footer-bottomline {
  border-top: 1px solid rgba(255,255,255,.14);
  padding-top: 20px;
  margin-top: 2px;
  text-align: center;
}
body .site-footer.pvv-footer-v3 .pvv-footer-bottomline p {
  color: #ededed;
  font-size: 15px;
  font-weight: 400 !important;
  line-height: 1.45;
  text-align: center;
  margin: 0;
}
@media (max-width:1050px) {
  .site-footer.pvv-footer-v3 .pvv-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
}
@media (max-width:600px) {
  .site-footer.pvv-footer-v3 .pvv-footer-grid {grid-template-columns:minmax(0,1fr);gap:23px;}
  .site-footer.pvv-footer-v3 .pvv-footer-intro {margin-bottom:25px;}
  .site-footer.pvv-footer-v3 .pvv-footer-container {padding-inline:25px;}
  .site-footer.pvv-footer-v3 .pvv-footer-group + .pvv-footer-group {margin-top:20px;}
  .site-footer.pvv-footer-v3 .pvv-footer-links {padding-left:24px;}
}


/* =============================================================
   PVV 2.9.6 — precise brand and footer sizing
   ============================================================= */
/* Match requested logo image width on the desktop without scaling
   it beyond the space available on narrow/mobile viewports. */
.site-header .brand {
  flex: 0 0 241px;
  width: 241px;
  max-width: 241px;
  min-width: 0;
  height: auto;
  min-height: 0;
  overflow: visible;
}
.site-header .brand img {
  display: block;
  flex: 0 0 241px;
  width: 241px;
  max-width: 241px;
  height: auto;
  max-height: none;
  object-fit: contain;
  transform: none;
}
@media (min-width: 1321px) {
  .site-header .site-container.header-inner {
    height: auto;
    min-height: 92px;
  }
}
@media (min-width: 601px) and (max-width: 1320px) {
  .site-header .site-container.header-inner {
    height: auto;
    min-height: 88px;
  }
}
@media (max-width: 600px) {
  .site-header .brand {
    flex: 0 1 auto;
    width: min(241px, calc(100vw - 118px));
    max-width: min(241px, calc(100vw - 118px));
  }
  .site-header .brand img {
    flex: 0 1 auto;
    width: min(241px, calc(100vw - 118px));
    max-width: 100%;
  }
}
/* All footer copy, navigation links, labels and copyright use 14px;
   headings remain bold as requested previously. */
.site-footer.pvv-footer-v3 {
  background-color: #353535;
  font-size: 14px;
}
body .site-footer.pvv-footer-v3 .pvv-footer-company-heading,
body .site-footer.pvv-footer-v3 .pvv-footer-group-title,
body .site-footer.pvv-footer-v3 .pvv-footer-company-copy,
.site-footer.pvv-footer-v3 .pvv-footer-links li,
.site-footer.pvv-footer-v3 .pvv-footer-links a,
.site-footer.pvv-footer-v3 .pvv-footer-links span,
body .site-footer.pvv-footer-v3 .pvv-footer-bottomline p {
  font-size: 14px;
}


/* =============================================================
   PVV 2.9.7 — refined header/footer spacing to match the
   established pvvintners.com layout without changing logo width.
   ============================================================= */
/* Shared desktop alignment grid: logo left and last nav link right. */
@media (min-width: 1121px) {
  .site-header .site-container.header-inner {
    width: calc(100% - 48px);
    max-width: 1360px;
    margin-inline: auto;
    padding: 8px 0;
    min-height: 94px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: clamp(26px,3vw,52px);
  }
  .site-header .brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 241px;
    width: 241px;
    max-width: 241px;
    min-height: 0;
    height: auto;
    overflow: visible;
  }
  .site-header .brand img {
    display: block;
    width: 241px;
    max-width: 241px;
    height: auto;
    max-height: 94px;
    transform: none;
    object-fit: contain;
  }
  .site-header .nav-toggle { display: none; }
  .site-header .site-nav {
    display: block;
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    margin-left: auto;
    padding: 0;
  }
  .site-header .site-nav .menu {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(13px,1.55vw,25px);
  }
  .site-header .site-nav .menu > li > a {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 400;
    white-space: nowrap;
    padding: 12px 0;
  }
  .site-header .site-nav ul ul { display: none; }
  .site-header .site-nav li:hover > ul,
  .site-header .site-nav li:focus-within > ul { display: block; }
}
/* At the tablet breakpoint, show the accessible collapsed navigation
   instead of allowing the full menu to compete with the logo. */
@media (min-width: 601px) and (max-width: 1120px) {
  .site-header .site-container.header-inner {
    width: calc(100% - 48px);
    max-width: 100%;
    margin-inline: auto;
    padding: 8px 0;
    min-height: 82px;
    height: auto;
    gap: 14px;
    flex-wrap: wrap;
  }
  .site-header .brand { flex: 0 0 241px; width: 241px; max-width: 241px; height: auto; overflow: visible; }
  .site-header .brand img { width: 241px; max-width: 241px; height: auto; max-height: 92px; transform: none; }
  .site-header .nav-toggle { display: block; margin-left: auto; }
  .site-header .site-nav { display: none; flex-basis: 100%; width: 100%; margin-left: 0; padding-bottom: 10px; }
  .site-header .site-nav.is-open { display: block; }
  .site-header .site-nav .menu { display: block; }
  .site-header .site-nav .menu > li > a { padding-block: 11px; }
  .site-header .site-nav ul ul { position: static; display: block; width: 100%; max-width: 100%; box-shadow: none; }
}
@media (max-width: 600px) {
  .site-header .site-container.header-inner {
    width: calc(100% - 36px);
    margin-inline: auto;
    padding: 7px 0;
    min-height: 70px;
    height: auto;
    gap: 10px;
    flex-wrap: wrap;
  }
  .site-header .brand { height: auto; overflow: visible; }
  .site-header .brand img { height: auto; max-height: 78px; }
  .site-header .nav-toggle { display: block; margin-left: auto; }
  .site-header .site-nav { display: none; flex-basis: 100%; width: 100%; padding: 0 0 8px; }
  .site-header .site-nav.is-open { display: block; }
  .site-header .site-nav .menu { display: block; }
}
/* Compact, balanced footer, still managed through Appearance > Footer Builder. */
.site-footer.pvv-footer-v3 {
  background: #353535;
  padding: 32px 0 14px;
  font-size: 14px;
  line-height: 1.5;
}
.site-footer.pvv-footer-v3 .pvv-footer-container {
  width: calc(100% - 48px);
  max-width: 1360px;
  margin-inline: auto;
  padding: 0;
}
.site-footer.pvv-footer-v3 .pvv-footer-intro { margin-bottom: 23px; }
.site-footer.pvv-footer-v3 .pvv-footer-company-heading { margin-bottom: 4px; }
.site-footer.pvv-footer-v3 .pvv-footer-company-copy {
  max-width: 100%;
  font-size: 14px;
  line-height: 1.55;
}
.site-footer.pvv-footer-v3 .pvv-footer-grid {
  column-gap: clamp(24px,2.3vw,36px);
  row-gap: 18px;
  padding: 0 0 18px;
}
.site-footer.pvv-footer-v3 .pvv-footer-group + .pvv-footer-group { margin-top: 24px; }
.site-footer.pvv-footer-v3 .pvv-footer-group-title { margin-bottom: 8px; }
.site-footer.pvv-footer-v3 .pvv-footer-links { padding-left: 22px; }
.site-footer.pvv-footer-v3 .pvv-footer-links li {
  margin-bottom: 2px;
  font-size: 14px;
  line-height: 1.5;
}
.site-footer.pvv-footer-v3 .pvv-footer-bottomline {
  border-top: 0;
  margin-top: 19px;
  padding-top: 2px;
}
.site-footer.pvv-footer-v3 .pvv-footer-bottomline p { font-size: 14px; }
@media (max-width: 1050px) {
  .site-footer.pvv-footer-v3 .pvv-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .site-footer.pvv-footer-v3 { padding: 28px 0 16px; }
  .site-footer.pvv-footer-v3 .pvv-footer-container { width: calc(100% - 36px); padding: 0; }
  .site-footer.pvv-footer-v3 .pvv-footer-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .site-footer.pvv-footer-v3 .pvv-footer-intro { margin-bottom: 22px; }
  .site-footer.pvv-footer-v3 .pvv-footer-group + .pvv-footer-group { margin-top: 20px; }
}
/* Inner-page hero / page header description is centered; substantive
   editorial copy in all following sections stays justified. */
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-inner {
  justify-content: center;
  text-align: center;
}
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-text {
  margin-inline: auto;
  max-width: min(100%, 990px);
  text-align: center;
}
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-text > :is(h1,h2),
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-subtitle,
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-copy,
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-copy :is(p,li) {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
  text-justify: auto;
  hyphens: none;
}
.pvv-inner-main .pvv-managed-section.pvv-layout-hero .pvv-section-link {
  margin-left: auto;
  margin-right: auto;
}


/* ============================================================
   PVV 2.9.8 — header/footer gutters aligned with main section
   content. No typography, heights, menus, or section changes.
   Main section grid: 1240px width with 28px inner padding,
   and 22px side padding at narrower desktop widths.
   ============================================================ */
@media (min-width: 1121px) {
  .site-header .site-container.header-inner,
  .site-footer.pvv-footer-v3 .pvv-footer-container {
    width: calc(100% - 100px);
    max-width: 1184px;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 601px) and (max-width: 1120px) {
  .site-header .site-container.header-inner,
  .site-footer.pvv-footer-v3 .pvv-footer-container {
    width: calc(100% - 100px);
    max-width: 1184px;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
  }
}
/* Preserve the requested exact desktop logo width. */
@media (min-width: 601px) {
  .site-header .brand,
  .site-header .brand img {
    width: 241px;
    max-width: 241px;
  }
}
