.pvv-managed-section{padding:clamp(42px,7vw,90px) 24px;border-bottom:1px solid #ece7e1}.pvv-managed-section:nth-child(odd){background:#faf7f3}.pvv-section-inner{max-width:1200px;margin:auto}.pvv-section-text{max-width:760px;margin-bottom:30px}.pvv-section-text h2{font-size:clamp(29px,3.2vw,46px);line-height:1.15;margin:0 0 18px;color:#292322}.pvv-section-copy{line-height:1.8;color:#544f4c}.pvv-section-link{display:inline-block;color:#782f42;text-decoration:none;font-weight:700;margin-top:14px;border-bottom:1px solid currentColor;padding-bottom:5px}.pvv-layout-split .pvv-section-inner,.pvv-layout-hero .pvv-section-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}.pvv-layout-split .pvv-section-text,.pvv-layout-hero .pvv-section-text{margin:0}.pvv-section-image img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:7px}.pvv-layout-hero{background:#251f21;color:#fff}.pvv-layout-hero .pvv-section-text h2,.pvv-layout-hero .pvv-section-copy{color:#fff}.pvv-layout-hero .pvv-section-link{color:#e9c9a5}.pvv-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pvv-cols-1{grid-template-columns:1fr}.pvv-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pvv-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pvv-product-card{border:1px solid #e8e3dc;background:#fff;overflow:hidden;border-radius:8px;box-shadow:0 6px 22px #1c14100a}.pvv-product-media{aspect-ratio:4/3;background:#f1eeeb}.pvv-product-media img{width:100%;height:100%;object-fit:contain}.pvv-image-placeholder{height:100%;display:grid;place-items:center;color:#a29891;font-size:12px;letter-spacing:.14em}.pvv-product-body{padding:24px}.pvv-product-body h3{font-size:22px;line-height:1.3;margin:8px 0 12px;color:#2a2524}.pvv-product-body p{font-size:15px;line-height:1.7;color:#625b57}.pvv-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:#8d5261}.pvv-product-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.pvv-product-actions a{font-size:13px;font-weight:700;color:#782f42;text-decoration:none;border-bottom:1px solid}.pvv-empty{color:#777;font-style:italic}@media(max-width:900px){.pvv-products-grid,.pvv-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pvv-layout-split .pvv-section-inner,.pvv-layout-hero .pvv-section-inner,.pvv-products-grid,.pvv-cols-2,.pvv-cols-4{grid-template-columns:1fr}.pvv-managed-section{padding:40px 18px}}

.pvv-layout-hero{position:relative;overflow:hidden;color:#fff;min-height:430px;background:#302024}.pvv-layout-hero .pvv-section-inner{position:relative;max-width:1280px;min-height:430px;display:flex;align-items:center}.pvv-hero-image{position:absolute;inset:0}.pvv-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,12,14,.82),rgba(19,12,14,.08))}.pvv-hero-image img{width:100%;height:100%;object-fit:cover}.pvv-layout-hero .pvv-section-text{position:relative;z-index:1;max-width:620px}.pvv-layout-hero h2{color:white;font-size:clamp(36px,5vw,64px);line-height:1.05}.pvv-layout-hero .pvv-section-link{background:#790c2b;color:white;padding:13px 20px;border-radius:4px;display:inline-block}.pvv-section-subtitle{font-weight:600;color:#a17b3c;letter-spacing:.06em}.pvv-layout-hero .pvv-section-subtitle{color:#eed0a0}.pvv-region-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:28px}.pvv-region-card{background:#fff;border:1px solid #ebe7e3;overflow:hidden;border-radius:6px}.pvv-region-photo{aspect-ratio:1.65}.pvv-region-photo img{height:100%;width:100%;object-fit:cover}.pvv-region-info{padding:16px;position:relative}.pvv-region-info h3{font:600 21px Georgia,serif;margin:0 0 6px}.pvv-region-info p{font-size:13px;color:#6b6570;margin:0}.pvv-region-info a{font-size:13px;color:#790c2b;display:inline-block;margin-top:10px}@media(max-width:700px){.pvv-layout-hero .pvv-section-inner{min-height:380px}.pvv-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v2.1 background sections and exact card columns */
.pvv-managed-section.pvv-has-background{background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff}
.pvv-has-background .pvv-section-text h2,.pvv-has-background .pvv-section-copy,.pvv-has-background .pvv-section-subtitle{color:#fff}
.pvv-layout-hero .pvv-section-inner{min-height:440px}.pvv-layout-hero .pvv-section-link{background:#780c2d;color:#fff;border-radius:5px;padding:14px 25px;text-decoration:none;font-weight:700}
.pvv-region-grid.pvv-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.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:760px){.pvv-region-grid.pvv-cols-3,.pvv-region-grid.pvv-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.pvv-region-grid.pvv-cols-1,.pvv-region-grid.pvv-cols-2,.pvv-region-grid.pvv-cols-3,.pvv-region-grid.pvv-cols-4{grid-template-columns:1fr}}


/* PVV 2.3: centered hero as requested by the approved theme design. */
.pvv-managed-section.pvv-layout-hero .pvv-section-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.pvv-managed-section.pvv-layout-hero .pvv-section-text {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}
.pvv-managed-section.pvv-layout-hero .pvv-section-copy,
.pvv-managed-section.pvv-layout-hero .pvv-section-copy p,
.pvv-managed-section.pvv-layout-hero h1,
.pvv-managed-section.pvv-layout-hero h2,
.pvv-managed-section.pvv-layout-hero .pvv-section-subtitle {
  text-align: center;
  margin-inline: auto;
}
.pvv-managed-section:not(.pvv-layout-hero) h1,
.pvv-managed-section:not(.pvv-layout-hero) h2,
.pvv-managed-section:not(.pvv-layout-hero) h3 { font-weight: 400; }


/* PVV v2.4: readable region cards, bold introductory lines and
   natural word boundaries on justified text (no auto hyphenation). */
.pvv-region-card .pvv-region-info{padding:22px 22px 24px}
.pvv-region-card .pvv-region-info p.pvv-region-subtitle{
  font-size:17px;line-height:1.5;font-weight:700;margin:8px 0 10px;color:#4b3f3b;
}
.pvv-region-card .pvv-region-info p.pvv-region-intro{
  font-size:16.5px;line-height:1.72;margin:8px 0 12px;color:#544e4b;
  text-align:justify;text-justify:inter-word;
}
.pvv-managed-section .pvv-section-subtitle{font-weight:700}
.pvv-managed-section, .pvv-region-card,
.pvv-managed-section .pvv-section-copy, .pvv-managed-section .pvv-section-copy p,
.pvv-region-card .pvv-region-info p{
  -webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:normal;
}
.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;
}
@media(max-width:600px){
  .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 2.6 — region cards: bold card title, compact regular supporting copy. */
.pvv-managed-section.pvv-layout-cards .pvv-region-card .pvv-region-info h3 {
  font-size:21px;font-weight:700;line-height:1.35;margin:0 0 8px;
}
.pvv-managed-section.pvv-layout-cards .pvv-region-card .pvv-region-info p.pvv-region-subtitle {
  font-size:14.5px;font-weight:400;line-height:1.55;margin:5px 0 8px;
}
.pvv-managed-section.pvv-layout-cards .pvv-region-card .pvv-region-info p.pvv-region-intro {
  font-size:14.5px;font-weight:400;line-height:1.65;margin:6px 0 10px;
  text-align:justify;text-justify:inter-word;hyphens:none;-webkit-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 v2.7: product card image and title both navigate to the selected page */
.pvv-product-card-link{display:block;color:inherit;text-decoration:none;height:100%}
.pvv-product-card-link:hover,.pvv-product-card-link:focus{color:inherit;text-decoration:none}
.pvv-product-card-link:hover h3,.pvv-product-card-link:focus-visible h3{color:#783344;text-decoration:underline;text-underline-offset:4px}
.pvv-product-card-link:focus-visible{outline:3px solid #783344;outline-offset:-3px}
.pvv-product-card-link .pvv-product-media img{transition:transform .25s ease}
.pvv-product-card-link:hover .pvv-product-media img{transform:scale(1.035)}
.pvv-product-card .pvv-product-actions{padding:0 24px 20px;margin:0}
@media(prefers-reduced-motion:reduce){.pvv-product-card-link .pvv-product-media img{transition:none}}


/* 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.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;}
}

/* v2.9.3 — Text / Editorial is a true editorial banner layout, distinct
   from the side-by-side Image + Text / CTA layouts. */
.pvv-managed-section.pvv-layout-text .pvv-editorial-banner {
  display: block;
  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%;
  height: clamp(180px, 23vw, 270px);
  max-width: 100%;
  object-fit: cover;
  object-position: center;
}
.pvv-managed-section.pvv-layout-text .pvv-editorial-prose {
  width: min(100%, 1080px);
  margin-inline: 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;
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: break-word;
}
/* 40% less vertical padding than the previous 48–70px section spacing. */
.pvv-managed-section:not(.pvv-layout-hero) {
  padding-top: clamp(29px, 3vw, 42px);
  padding-bottom: clamp(29px, 3vw, 42px);
}
@media(max-width:640px) {
  .pvv-managed-section:not(.pvv-layout-hero) {
    padding-top: 24px;
    padding-bottom: 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.6 — Add Links: centered section heading, plain wine-red links
   arranged as one left-aligned link per line. Intentionally not buttons. */
.pvv-managed-section.pvv-layout-links .pvv-section-inner { text-align: center; }
.pvv-managed-section.pvv-layout-links .pvv-multi-links-heading {
  max-width: 920px;
  margin: 0 auto 22px;
  text-align: center;
}
.pvv-managed-section.pvv-layout-links .pvv-multi-links-heading :is(h1,h2) {
  text-align: center;
  margin-bottom: 12px;
}
.pvv-managed-section.pvv-layout-links .pvv-multi-links-heading .pvv-section-subtitle {
  max-width: 850px;
  margin-inline: auto;
  text-align: center;
  font-size: clamp(16px,1.5vw,19px);
  line-height: 1.65;
}
.pvv-managed-section.pvv-layout-links .pvv-links-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: min(100%, 920px);
  max-width: 920px;
  gap: 9px;
  margin: 0 auto;
  text-align: left;
}
.pvv-managed-section.pvv-layout-links .pvv-links-list a.pvv-text-link {
  display: inline;
  width: auto;
  max-width: 100%;
  flex: 0 1 auto;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #781330;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.65;
  text-align: left;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color .15s ease, text-decoration-color .15s ease;
}
.pvv-managed-section.pvv-layout-links .pvv-links-list a.pvv-text-link:hover,
.pvv-managed-section.pvv-layout-links .pvv-links-list a.pvv-text-link:focus-visible {
  color: #a12646;
  text-decoration: underline;
  text-underline-offset: 4px;
}
/* Maintain the existing white-on-image contrast rule for non-hero
   sections using a section background image. */
.pvv-managed-section.pvv-layout-links.pvv-has-background .pvv-links-list a.pvv-text-link,
.pvv-managed-section.pvv-layout-links.pvv-has-background .pvv-links-list a.pvv-text-link:hover,
.pvv-managed-section.pvv-layout-links.pvv-has-background .pvv-links-list a.pvv-text-link:focus-visible {
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.4);
}
.pvv-managed-section.pvv-layout-links.pvv-has-background .pvv-multi-links-heading :is(h1,h2,.pvv-section-subtitle) {color:#fff}
@media(max-width:520px) {
  .pvv-managed-section.pvv-layout-links .pvv-links-list {
    align-items: flex-start;
    width: 100%;
    gap: 10px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .pvv-managed-section.pvv-layout-links .pvv-links-list a.pvv-text-link {transition:none}
}
