@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,500&family=Karla:wght@400;500;700&display=swap"); :root{ --ink:#221F3C; --vine:#6B84BE; --olive:#5B7A3C; --gold:#CDA82C; --peach:#E3B080; --paper:#FEFDFB; } html{ overflow-x:hidden; }
#place_order{ background:var(--ink) !important; border-color:var(--ink) !important; }
#place_order:hover{ background:var(--vine) !important; border-color:var(--vine) !important; }
.wc_payment_methods input.input-radio,
#payment input.input-radio{ accent-color:var(--ink) !important; }
body.woocommerce-cart #wc-stripe-express-checkout-element{ display:none !important; }
.wc-proceed-to-checkout .checkout-button{ background:var(--ink) !important; border-color:var(--ink) !important; }
.wc-proceed-to-checkout .checkout-button:hover{ background:var(--vine) !important; border-color:var(--vine) !important; }
.woocommerce-cart-form table.shop_table th.product-remove,
.woocommerce-cart-form table.shop_table td.product-remove{ width:48px !important; text-align:center; }
body.woocommerce-cart .main-navigation .main-menu>li>.sub-menu>li.woocommerce-cart-widget,
body.woocommerce-checkout .main-navigation .main-menu>li>.sub-menu>li.woocommerce-cart-widget{ display:none !important; }
.entry-content .vce-row-container:has(.woocommerce){ max-width:75% !important; width:75% !important; margin-left:auto !important; margin-right:auto !important; }
.entry-content .vce-row-container:has(.woocommerce) .vce-row-content{ width:100% !important; max-width:100% !important; }
.entry-content .vce-row-container:has(.woocommerce) .vce-col:has(.woocommerce){ width:100% !important; max-width:100% !important; flex:1 1 100% !important; }
.entry-content .vce-row-container:has(.woocommerce) .vce-col:not(:has(.woocommerce)){ display:none !important; } body{ background-color:var(--paper) !important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.133 0 0 0 0 0.122 0 0 0 0 0.235 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") !important; background-repeat:repeat !important; font-family: "Karla", -apple-system, BlinkMacSystemFont, sans-serif; color:var(--ink); } h1,h2,h3,h4, .wp-block-heading{ font-family:"Fraunces","Georgia",serif; font-weight:600; letter-spacing:-0.01em; } .vs-eyebrow{ display:block; font-family:"Karla",sans-serif; font-weight:700; font-size:0.8rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold) !important; margin-bottom:4px !important; } .vs-eyebrow + h2.wp-block-heading, .vs-eyebrow + .wp-block-heading{ margin-top:4px !important; } h2.wp-block-heading{ margin-bottom:0 !important; }
h2.wp-block-heading + p{ margin-top:4px !important; } a:not(.wp-block-button__link):not(.button):not(.add_to_cart_button),
a:not(.wp-block-button__link):not(.button):not(.add_to_cart_button):link,
a:not(.wp-block-button__link):not(.button):not(.add_to_cart_button):visited,
.main-navigation a:not(.wp-block-button__link),
.main-navigation a:not(.wp-block-button__link):link,
.main-navigation a:not(.wp-block-button__link):visited{ color:var(--vine) !important; transition:color .2s ease; }

/* Crisper, lighter nav text */
#site-navigation .main-menu > li > a{
  font-family:"Karla",sans-serif !important;
  font-weight:500 !important;
  font-size:16px !important;
  letter-spacing:0.01em;
}

/* Mini-cart dropdown: shares markup with the wine mega-menu (.sub-menu > li),
   so it needs its own box/sizing instead of the generic mega-menu column rules */
.main-navigation .main-menu > li > .sub-menu:has(> li.woocommerce-cart-widget){
  display:block !important;
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}
.main-navigation .main-menu > li > .sub-menu > li.woocommerce-cart-widget{
  width:360px !important;
  flex:none !important;
  padding:22px !important;
  box-sizing:border-box;
  background:var(--paper);
  border:1px solid rgba(34,31,60,0.12);
  box-shadow:0 16px 32px rgba(34,31,60,0.14);
}
.woocommerce-mini-cart{ list-style:none; margin:0 0 12px 0 !important; padding:0 !important; }
.woocommerce-mini-cart-item{
  display:flex !important;
  align-items:center;
  gap:8px;
  padding:10px 0 !important;
  border-bottom:1px solid rgba(34,31,60,0.1);
  font-size:0.85rem !important;
  position:relative;
}
.woocommerce-mini-cart-item img{
  display:none !important;
}
.woocommerce-mini-cart-item a:not(.remove){
  font-size:13px !important;
  line-height:1.3;
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  padding:0 !important;
}
.woocommerce-mini-cart-item .quantity{
  display:block !important;
  font-size:12px !important;
  color:#7a7568;
  flex:0 0 auto !important;
  width:auto !important;
  white-space:nowrap;
}
.woocommerce-mini-cart-item .remove{
  position:static !important;
  order:2;
  font-size:1rem !important;
  width:20px; height:20px;
  display:flex !important; align-items:center; justify-content:center;
  flex:0 0 auto;
  color:var(--ink) !important;
  text-decoration:none;
}
.woocommerce-mini-cart__total{
  font-size:0.85rem !important;
  margin:0 0 12px 0 !important;
  padding-top:10px;
  border-top:2px solid var(--gold);
}
.woocommerce-mini-cart__buttons{
  display:flex !important;
  flex-direction:column;
  gap:8px;
  margin:0 !important;
}
.main-navigation .woocommerce-mini-cart__buttons a.button{
  display:block !important;
  text-align:center;
  font-size:0.82rem !important;
  padding:10px !important;
  margin:0 !important;
  background:var(--vine);
  color:#fff !important;
  border-radius:3px;
}
.main-navigation .woocommerce-mini-cart__buttons a.checkout{
  background:var(--ink);
}

 a:hover{ color:var(--gold) !important; } a:focus-visible, button:focus-visible, .wp-block-button__link:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; } .wp-block-button__link{ transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease; padding:14px 34px !important; border-radius:3px !important; }
.wp-block-button.is-style-outline .wp-block-button__link{ background:transparent !important; }
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color){ color:var(--ink) !important; }
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-border-color){ border:2px solid var(--ink) !important; } .wp-block-button__link:hover{ transform:translateY(-2px); } .wp-block-button.is-style-outline .wp-block-button__link:hover{ background-color:var(--gold) !important; border-color:var(--gold) !important; color:var(--ink) !important; } .vs-trellis{ height:64px; background-repeat:no-repeat; background-position:center; background-size:220px 64px; background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 220 64%27%3E%3Cpath d=%27M4 56 C 40 8, 70 8, 108 40 C 146 8, 176 8, 216 56%27 fill=%27none%27 stroke=%27%235B7A3C%27 stroke-width=%272.5%27 stroke-linecap=%27round%27/%3E%3Ccircle cx=%27108%27 cy=%2740%27 r=%274%27 fill=%27%23CDA82C%27/%3E%3C/svg%3E"); margin:0 auto; } .vs-tilt{ transform:rotate(-3deg); transition:transform .3s ease; border:10px solid var(--paper); background-color:var(--paper); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.133 0 0 0 0 0.122 0 0 0 0 0.235 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); box-shadow:0 14px 30px rgba(34,31,60,0.25); } .vs-tilt:hover{ transform:rotate(0deg) scale(1.02); } .vs-diagonal-top{ clip-path: polygon(0 6%, 100% 0, 100% 100%, 0% 100%); margin-top:-40px; position:relative; } .woocommerce ul.products li.product{ background-color:var(--paper); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n2'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.133 0 0 0 0 0.122 0 0 0 0 0.235 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n2)'/%3E%3C/svg%3E"); background-repeat:repeat; border-radius:6px; padding-bottom:12px; transition:transform .2s ease, box-shadow .2s ease; } .woocommerce ul.products li.product:hover{ transform:translateY(-4px); box-shadow:0 12px 24px rgba(34,31,60,0.12); } .woocommerce ul.products li.product .price{ border-top:2px solid var(--gold); display:inline-block; padding-top:6px; margin-top:6px; } .woocommerce span.onsale{ background:none !important; box-shadow:none !important; padding:0 !important; }
.woocommerce span.onsale img{ display:block; width:100%; height:100%; object-fit:contain; } .woocommerce ul.products li.product a.button, .woocommerce ul.products li.product a.add_to_cart_button{ background-color:var(--vine) !important; border-radius:3px; transition:background-color .2s ease, transform .2s ease; } .woocommerce ul.products li.product a.button:hover{ background-color:var(--ink) !important; transform:translateY(-2px); } .vs-hero-copy{ max-width:42rem; }
.vs-hero-copy .wp-block-buttons{ justify-content:flex-start !important; }

.vs-tile-label{ transition:color .2s ease; }
.vs-tile-label a{ text-decoration:none; border-bottom:2px solid transparent; padding-bottom:2px; }
.vs-tile-label a:hover{ border-bottom-color:var(--gold); }

.vs-band-copy{ max-width:36rem; margin-left:auto; margin-right:auto; }

#masthead.site-header{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}

.site-main{ padding-top:0 !important; }
.site-branding{
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  flex:0 0 auto !important;
  order:0 !important;
}
.site-logo{ margin:0; line-height:0; }
.site-logo img.custom-logo{
  max-height:92px !important;
  width:auto !important;
  height:auto !important;
}
#site-navigation.main-navigation{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:16px 24px !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  justify-content:flex-end !important;
  order:1 !important;
}
#site-navigation .menu-main-menu-container,
#site-navigation .woocommerce-menu-container{
  display:flex !important;
  align-items:center !important;
}
#site-navigation ul.main-menu{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  flex-wrap:wrap !important;
}
#site-navigation #toggle-menu{ display:none !important; }

/* Dropdown redesign: remove depth-indicator dashes */
.main-navigation .sub-menu li > a::before,
.main-navigation .sub-menu li > a::after{ content:none !important; }

/* Prevent a closed/closing dropdown panel (which may still be mid-fade-out) from
   intercepting clicks meant for page content underneath it — pointer-events
   follows the real :hover/:focus state instantly, unlike any opacity transition. */
.main-navigation .main-menu > li > .sub-menu{ pointer-events:none; }
.main-navigation .main-menu > li:hover > .sub-menu,
.main-navigation .main-menu > li:focus-within > .sub-menu{ pointer-events:auto; }

/* Level-2 dropdown panel becomes a row of columns */
.main-navigation .main-menu > li > .sub-menu{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:8px 36px !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:min(760px, calc(100vw - 32px)) !important;
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  transform:none !important;
  padding:26px 30px !important;
  background:var(--paper) !important;
  border:1px solid rgba(34,31,60,0.12) !important;
  box-shadow:0 16px 32px rgba(34,31,60,0.14) !important;
}

/* Flip to right-aligned when JS detects the panel would overflow the viewport */
.main-navigation .main-menu > li.sub-menu-align-right > .sub-menu{
  left:auto !important;
  right:0 !important;
}

/* Each column */
.main-navigation .main-menu > li > .sub-menu > li{
  display:block !important;
  flex:0 0 auto !important;
  width:160px !important;
  margin:0 !important;
}

/* Column header (Reds / Whites / Roses ...) */
.main-navigation .main-menu > li > .sub-menu > li > a{
  display:block;
  font-family:"Karla",sans-serif !important;
  font-weight:700 !important;
  font-size:0.76rem !important;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink) !important;
  border-bottom:2px solid var(--gold);
  padding-bottom:9px;
  margin-bottom:10px;
}

/* Level-3 list (grape names) unflyouts into a plain stack under its column header */
.main-navigation .main-menu > li > .sub-menu > li > .sub-menu{
  position:static !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  box-shadow:none !important;
  background:none !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  transform:none !important;
}
.main-navigation .main-menu > li > .sub-menu > li > .sub-menu li{
  margin:0 !important;
}
.main-navigation .main-menu > li > .sub-menu > li > .sub-menu a{
  display:block;
  font-family:"Karla",sans-serif !important;
  font-size:0.88rem !important;
  font-weight:400 !important;
  color:var(--vine) !important;
  padding:5px 0 !important;
  line-height:1.4;
}
.main-navigation .main-menu > li > .sub-menu > li > .sub-menu a:hover{
  color:var(--gold) !important;
}
#site-navigation #toggle-cart{ display:none !important; }
#site-navigation .woocommerce-menu-container{ display:flex !important; }

.single-product .cart .button,
.single-product a.single_add_to_cart_button,
.single-product button.single_add_to_cart_button{
  background-color:var(--vine) !important;
  border-color:var(--vine) !important;
  color:#fff !important;
  border-radius:3px !important;
}
.single-product a.single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:hover{
  background-color:var(--ink) !important;
  border-color:var(--ink) !important;
}
.single-product .price ins{ text-decoration:none; color:var(--vine); }
.single-product .price del{ color:#9a9488; opacity:.8; }
.single-product .price{ font-size:1.4rem; font-weight:700; }
.single-product .product.type-product{
  display:flow-root;
}
.single-product article.responsive-max-width{
  max-width:1100px !important;
}
@media (max-width:680px){
  #masthead.site-header{ flex-wrap:wrap !important; }
  #site-navigation #toggle-menu{ display:inline-flex !important; }
  #site-navigation .menu-main-menu-container{ display:none !important; }
  #toggle:checked ~ .menu-main-menu-container{ display:flex !important; }
}

.entry-content .woocommerce{
  max-width:1360px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}

/* Shop filter sidebar layout (scoped to shop/category pages only) */
.post-type-archive-product .site-content,
.tax-product_cat .site-content{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:32px !important;
  max-width:1360px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
  box-sizing:border-box !important;
}
.post-type-archive-product .site-content .content-area,
.tax-product_cat .site-content .content-area{
  flex:1 1 640px !important;
  min-width:0 !important;
}

/* Non-hero full-bleed sections: constrain to 75% width, keep hero edge-to-edge */
.entry-content > .alignfull:not(.wp-block-cover){
  max-width:75% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.entry-content > .alignfull[style*="E3B080"]{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.site-content .shop-filter-sidebar{
  order:-1;
  flex:0 0 250px !important;
  width:250px !important;
  box-sizing:border-box;
}
.site-content .shop-filter-sidebar .widget{
  background:var(--paper);
  border:1px solid rgba(34,31,60,0.12);
  border-radius:6px;
  padding:18px;
  margin-bottom:20px;
}
.site-content .shop-filter-sidebar .widget-title{
  font-family:"Karla",sans-serif;
  font-weight:700;
  font-size:0.78rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink);
  border-bottom:2px solid var(--gold);
  padding-bottom:10px;
  margin:0 0 12px 0;
}
.site-content .shop-filter-sidebar ul{
  list-style:none;
  margin:0;
  padding:0;
}
.site-content .shop-filter-sidebar li{
  margin:0 0 8px 0;
}
.site-content .shop-filter-sidebar a{
  font-size:0.9rem;
}

/* Price slider: theme gold */
.price_slider_wrapper .ui-slider{ background:rgba(34,31,60,0.15) !important; border:none !important; }
.price_slider_wrapper .ui-slider .ui-slider-range{ background:var(--gold) !important; }
.price_slider_wrapper .ui-slider .ui-slider-handle{
  background:var(--gold) !important;
  border:2px solid #fff !important;
  box-shadow:0 0 0 1px var(--gold);
}
.price_slider_amount .button{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
  color:var(--ink) !important;
}
.price_slider_amount .button:hover{
  background:var(--ink) !important;
  color:#fff !important;
}
.entry-content .woocommerce{ max-width:none !important; padding-left:0 !important; padding-right:0 !important; }
@media (max-width:782px){
  .site-content{ flex-direction:column !important; }
  .site-content .shop-filter-sidebar{ order:0; width:100% !important; }
}
.woocommerce ul.products li.product{
  display:flex !important;
  flex-direction:column !important;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button{
  margin-top:auto !important;
  min-height:48px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price span,
.woocommerce ul.products li.product .price bdi,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins span,
.woocommerce ul.products li.product .price ins bdi{
  font-size:1.2rem !important;
  font-weight:700 !important;
  color:var(--vine) !important;
  text-decoration:none !important;
}
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del span,
.woocommerce ul.products li.product .price del bdi{
  color:#9a9488 !important;
  font-size:0.85rem !important;
  font-weight:400 !important;
  opacity:.85;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link::after{ content:none !important; }

.woocommerce ul.products li.product .woocommerce_more_info_button{
  margin-top:auto;
  padding-top:14px;
  margin-bottom:8px;
}
.woocommerce ul.products li.product .woocommerce_more_info_button p{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:10px 14px;
  min-height:44px;
  border:2px solid var(--ink);
  border-radius:3px;
  font-weight:700;
  font-size:0.9rem;
  font-family:"Karla",sans-serif;
  color:var(--ink);
  transition:background-color .18s ease, color .18s ease;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .woocommerce_more_info_button p{
  background-color:var(--ink);
  color:#fff;
}

/* Row alignment: fixed-height title + details so price/buttons line up across a row */
.woocommerce ul.products li.product h2.woocommerce-loop-product__title{
  height:2.6em !important;
  max-height:2.6em !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  box-sizing:border-box;
}
.woocommerce ul.products li.product .woocommerce-loop-product_details{
  height:2.4em !important;
  max-height:2.4em !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  box-sizing:border-box;
  color:#7a7568;
  font-size:0.85rem;
  line-height:1.2em;
}

/* Logo flush left */
.site-branding{ margin-left:0 !important; padding-left:0 !important; }
.site-logo{ margin-left:0 !important; padding-left:0 !important; }

/* More breathing room before the cart */
#site-navigation .woocommerce-menu-container{ margin-left:28px !important; }

/* Social icons: brand-colored circles */
.social-navigation{ display:flex !important; align-items:center; gap:10px; margin-left:20px; }
.social-navigation ul{ display:flex; align-items:center; gap:10px; list-style:none; margin:0; padding:0; }
.social-navigation a{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--vine);
  transition:opacity .18s ease, transform .18s ease;
}
.social-navigation a:hover{ opacity:0.85; transform:translateY(-2px); }
.social-navigation svg{ width:16px; height:16px; fill:#fff !important; }

/* Brand-accurate colors, sampled from the old site's icons */
.social-navigation a[href*="facebook.com"]{ background:var(--vine) !important; }
.social-navigation a[href*="instagram.com"]{ background:var(--vine) !important; }

.wp-block-columns:has(.vs-tile-img){ gap:16px !important; max-width:none !important; width:100% !important; margin-left:0 !important; margin-right:0 !important; }
.wp-block-columns:has(.vs-tile-img) > .wp-block-column{ flex-basis:0 !important; flex-grow:1 !important; }
.vs-tile-img{ margin:0; }
.vs-tile-img img{
  aspect-ratio:4/3;
  object-fit:cover;
  width:100%;
  height:auto;
  display:block;
}

@media (min-width:782px){
  .responsive-max-width{ max-width:1320px !important; }
}
@media (min-width:1440px){
  .responsive-max-width{ max-width:1400px !important; }
}

/* Reusable "story page" template (About Us pilot; reusable for Trade, Retreats and
   other content pages being rebuilt in Gutenberg to replace the deactivated VCE
   builder). Built from standard core blocks (group/columns/image/buttons) plus a
   small set of shared classes below. */
.vs-band-copy-wide{
  max-width:none !important;
  width:75% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center;
  padding:0 24px;
}
.vs-band-copy-wide .vs-eyebrow{ text-align:center; }
.vs-band-copy-wide .wp-block-heading{ margin-top:4px !important; }
.vs-band-copy-wide .wp-block-buttons{ margin-top:24px !important; justify-content:center !important; }

/* Left-aligned prose column (same 75% width as vs-band-copy-wide, for longer
   narrative sections where centred text would be hard to read) */
.vs-content-col{
  max-width:none !important;
  width:75% !important;
  margin:32px auto !important;
  padding:0 24px;
}
.vs-content-col h3{ margin-top:40px !important; margin-bottom:6px !important; }
.vs-content-col ul{ margin:0; }
.vs-content-col .wp-block-columns{ gap:48px !important; }

/* Blog post grids (Articles / Vine Blog / Soul Blog): built with the core Query
   Loop block instead of the old VCE posts-grid shortcode, which prints as raw
   unrendered text now that VCE is inactive. */
.vs-post-grid{
  max-width:none !important;
  width:75% !important;
  margin:8px auto 56px !important;
  padding:0 24px;
}
.vs-post-grid ul.wp-block-post-template{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:40px;
  list-style:none;
  margin:0;
  padding:0;
}
.vs-post-card{
  display:flex;
  flex-direction:column;
}
.vs-post-card-image{
  margin:0 0 16px !important;
  border-radius:6px;
  overflow:hidden;
  aspect-ratio:4/3;
}
.vs-post-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.vs-post-card .wp-block-post-title{
  font-size:1.15rem !important;
  margin:0 0 8px !important;
}
.vs-post-card .wp-block-post-title a{
  color:var(--ink) !important;
}
.vs-post-card .wp-block-post-excerpt{
  color:var(--ink);
  opacity:0.8;
  font-size:0.92rem;
  line-height:1.5;
  margin:0 0 10px !important;
}
.vs-post-card .wp-block-read-more{
  color:var(--vine) !important;
  font-weight:700;
  font-size:0.85rem;
  text-transform:uppercase;
  letter-spacing:0.06em;
  margin-top:auto;
}
@media (max-width:960px){
  .vs-post-grid ul.wp-block-post-template{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:600px){
  .vs-post-grid ul.wp-block-post-template{ grid-template-columns:1fr; }
}

.vs-story-row{
  max-width:none !important;
  width:75% !important;
  margin:40px auto !important;
  padding:0 24px;
  align-items:center !important;
  gap:64px !important;
}
.vs-story-row-reverse{ flex-direction:row-reverse; }
.vs-story-photo{
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 16px 32px rgba(34,31,60,0.14);
  margin:0 !important;
}
.vs-story-photo img{ display:block; width:100%; height:auto; }

.vs-section-divider{
  max-width:none !important;
  width:75% !important;
  margin:8px auto !important;
  border-top-color:rgba(34,31,60,0.1) !important;
}

.vs-pillars-grid{
  max-width:none !important;
  width:75% !important;
  margin:8px auto 48px !important;
  padding:0 24px;
}
.vs-pillars-grid > .wp-block-group__inner-container{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  align-items:start;
  gap:36px 40px;
}
.vs-pillars-grid .vs-pillar{
  margin:0 !important;
}
.vs-pillars-grid .vs-pillar > .wp-block-group__inner-container{
  display:block;
}
@media (max-width:960px){
  .vs-pillars-grid > .wp-block-group__inner-container{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:600px){
  .vs-pillars-grid > .wp-block-group__inner-container{ grid-template-columns:1fr; }
}
.vs-pillar-index{
  display:block;
  font-family:"Fraunces",Georgia,serif;
  font-size:1.6rem;
  font-weight:600;
  color:var(--gold);
  margin-bottom:6px;
  line-height:1;
}
h3.vs-pillar-title{
  margin:0 0 8px !important;
  font-size:1.1rem !important;
}
p.vs-pillar-text{
  color:var(--ink);
  opacity:0.85;
  font-size:0.92rem;
  line-height:1.55;
  margin:0 !important;
}

.vs-cta-band{
  text-align:center;
  max-width:none !important;
  width:100% !important;
  padding:56px 24px;
  margin:56px 0 0 !important;
  background:var(--paper);
  border-top:1px solid rgba(34,31,60,0.1);
  border-bottom:1px solid rgba(34,31,60,0.1);
}
.vs-cta-band .wp-block-buttons{ justify-content:center !important; margin-top:16px !important; }

@media (max-width:781px){
  .vs-story-row,
  .vs-story-row-reverse{ flex-direction:column !important; }
  .vs-story-row .wp-block-column,
  .vs-story-row-reverse .wp-block-column{ flex-basis:100% !important; }
}

/* Visual Composer is deactivated site-wide, so none of its .vce-row-content/.vce-col
   grid classes have any effect and every VCE-built page (About Us, Trade, T&Cs, Shop
   Front, and likely others) collapses into one stacked column. Restore the grid
   mechanics generically — row flex + the standard percentage-width classes — without
   touching whatever decorative styling VCE used to add. */
.entry-content .vce-row-content{
  display:flex !important;
  flex-wrap:wrap;
}
.entry-content .vce-col{
  box-sizing:border-box;
  width:100%;
  min-width:0;
}
.entry-content .vce-single-image-inner img,
.entry-content img.vce-single-image{
  max-width:100%;
  height:auto;
}

/* VCE background-image/gradient overlays (.vce-content-background-container etc.):
   restore the positioning mechanics generically so any element carrying one of
   these (site-wide) actually paints its background behind its content instead of
   collapsing to nothing or covering the text. The specific colour/gradient values
   are per-element and get added as I verify them against the live reference site. */
.entry-content .vce-col-inner,
.entry-content .vce-row{ position:relative; }
.entry-content .vce-content-background-container{ position:absolute; inset:0; pointer-events:none; }
.entry-content .vce-asset-color-gradient-container,
.entry-content .vce-asset-background-simple-container{ position:absolute; inset:0; }
.entry-content .vce-col-content,
.entry-content .vce-row-content{ position:relative; z-index:1; }
/* Legacy Visual Composer post (Tintilia article): VC's own grid CSS is gone now
   that the plugin is deactivated, so its multi-column rows lost their side-by-side
   widths and started overlapping. Force every VC column to stack full-width in
   document order instead — not a pixel-perfect recreation of the old layout, but a
   clean, non-overlapping reading order. */
.postid-1695 .vce-row-content{ display:flex !important; flex-wrap:wrap !important; height:auto !important; }
.postid-1695 .vce-col{ width:100% !important; max-width:100% !important; flex:1 1 100% !important; position:static !important; height:auto !important; }
.postid-1695 .vce-row, .postid-1695 .vce-row-container, .postid-1695 .vce-col-inner, .postid-1695 .vce-col-content{ height:auto !important; position:static !important; }
.postid-1695 .vce-single-image-inner{ position:relative !important; padding-bottom:0 !important; width:100% !important; height:auto !important; }
.postid-1695 .vce-single-image{ position:static !important; width:100% !important; height:auto !important; }
/* Legacy Visual Composer posts: the plugin's compiled grid CSS (which dynamically
   generated one rule per vce-col--{breakpoint}-{N}p class, per-page, at runtime)
   is gone now the plugin is deactivated, so those columns lost their intended
   width entirely and started overlapping. Rebuilt here as static rules instead,
   reading each class name literally, using the plugin's own breakpoints (found in
   its compiled front.bundle.css: sm/md/lg/xl = 576/768/992/1200px, Bootstrap's
   standard scale) so old articles lay out the same as the original site. */
:is(.single-post,.page) .vce-row-content{ display:flex !important; flex-wrap:wrap !important; height:auto !important; }
:is(.single-post,.page) .vce-col{ position:static !important; height:auto !important; box-sizing:border-box; width:100%; max-width:100%; flex:0 0 100%; }
:is(.single-post,.page) .vce-row, :is(.single-post,.page) .vce-row-container, :is(.single-post,.page) .vce-col-inner, :is(.single-post,.page) .vce-col-content{ height:auto !important; position:static !important; }

:is(.single-post,.page) .vce-row-content .vce-col--xs-hide{ display:none !important; }
:is(.single-post,.page) .vce-row-content .vce-col--xs-first{ order:-1; }
:is(.single-post,.page) .vce-row-content .vce-col--xs-last{ order:1; }
@media (min-width:576px){
  :is(.single-post,.page) .vce-row-content .vce-col--sm-hide{ display:none !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--sm-visible{ display:block !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--sm-first{ order:-1; }
  :is(.single-post,.page) .vce-row-content .vce-col--sm-last{ order:1; }
}
@media (min-width:768px){
  :is(.single-post,.page) .vce-row-content .vce-col--md-10p{ width:10% !important; max-width:10% !important; flex:0 0 10% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--md-80p{ width:80% !important; max-width:80% !important; flex:0 0 80% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--md-100p{ width:100% !important; max-width:100% !important; flex:0 0 100% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--md-auto{ width:auto !important; max-width:none !important; flex:1 1 auto !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--md-hide{ display:none !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--md-visible{ display:block !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--md-first{ order:-1; }
  :is(.single-post,.page) .vce-row-content .vce-col--md-last{ order:1; }
}
@media (min-width:992px){
  :is(.single-post,.page) .vce-row-content .vce-col--lg-10p{ width:10% !important; max-width:10% !important; flex:0 0 10% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--lg-80p{ width:80% !important; max-width:80% !important; flex:0 0 80% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--lg-100p{ width:100% !important; max-width:100% !important; flex:0 0 100% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--lg-auto{ width:auto !important; max-width:none !important; flex:1 1 auto !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--lg-hide{ display:none !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--lg-visible{ display:block !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--lg-first{ order:-1; }
  :is(.single-post,.page) .vce-row-content .vce-col--lg-last{ order:1; }
}
@media (min-width:1200px){
  :is(.single-post,.page) .vce-row-content .vce-col--xl-5p{ width:5% !important; max-width:5% !important; flex:0 0 5% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-10p{ width:10% !important; max-width:10% !important; flex:0 0 10% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-40p{ width:40% !important; max-width:40% !important; flex:0 0 40% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-55p{ width:55% !important; max-width:55% !important; flex:0 0 55% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-80p{ width:80% !important; max-width:80% !important; flex:0 0 80% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-95p{ width:95% !important; max-width:95% !important; flex:0 0 95% !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-auto{ width:auto !important; max-width:none !important; flex:1 1 auto !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-hide{ display:none !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-visible{ display:block !important; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-first{ order:-1; }
  :is(.single-post,.page) .vce-row-content .vce-col--xl-last{ order:1; }
}

:is(.single-post,.page) .vce-single-image-inner{ position:relative !important; padding-bottom:0 !important; width:100% !important; height:auto !important; }
:is(.single-post,.page) .vce-single-image{ position:static !important; width:100% !important; height:auto !important; }

/* Visual Composer generates a dedicated per-post <style id="vcv:assets:front:style:{ID}-inline-css">
   at runtime, which is where each row's "only show on mobile" / "only show on desktop"
   toggle actually lives — as a rule scoped to that one row's unique #el-xxxxxxxx id, not
   a reusable class. That generator doesn't run with the plugin deactivated, so both the
   mobile-formatted and desktop-formatted copy of several rows were rendering at once
   (the "duplicated images"). These rules were read directly off production (where VC is
   still active) and copied verbatim, so the show/hide behaviour matches the original
   site exactly, breakpoint for breakpoint, row for row.
   Tintilia (1695): el-a730ce7e,076199ae,a40e2765,79e748ec,dc5b60a5,2fc12764,569e5185,7a0e0a07,cda185f4
   Molise Rosso (12911): el-cd1b23d1,caf94bea,a4cd37ad,30bee99b,759b8e7d,ee909d24,cad9420d,0b3dad02
   Yoga at Home (10466): el-55616d43,9020bbfe,cfd81ac1,0c26dc00 */
@media (max-width:543px){
  #el-2fc12764,#el-569e5185,#el-7a0e0a07,#el-cda185f4,#el-cd1b23d1,#el-caf94bea,#el-a4cd37ad,#el-30bee99b,#el-9020bbfe,#el-cfd81ac1{ display:none !important; }
}
@media (min-width:544px) and (max-width:767px){
  #el-2fc12764,#el-569e5185,#el-7a0e0a07,#el-cda185f4,#el-cd1b23d1,#el-caf94bea,#el-a4cd37ad,#el-30bee99b,#el-9020bbfe,#el-cfd81ac1{ display:none !important; }
}
@media (min-width:768px) and (max-width:991px){
  #el-2fc12764,#el-569e5185,#el-7a0e0a07,#el-cda185f4,#el-cd1b23d1,#el-caf94bea,#el-a4cd37ad,#el-30bee99b,#el-9020bbfe,#el-cfd81ac1{ display:none !important; }
}
@media (min-width:992px) and (max-width:1199px){
  #el-7a0e0a07,#el-cda185f4,#el-cd1b23d1,#el-caf94bea,#el-a4cd37ad,#el-30bee99b,#el-55616d43,#el-9020bbfe{ display:none !important; }
}
@media (min-width:1200px){
  #el-a730ce7e,#el-076199ae,#el-a40e2765,#el-79e748ec,#el-dc5b60a5,#el-759b8e7d,#el-ee909d24,#el-cad9420d,#el-0b3dad02,#el-55616d43,#el-0c26dc00{ display:none !important; }
}

/* Match the site's established 75%-width convention for the article body. */
:is(.single-post,.page) .entry-content > .vce-row-container{ max-width:75% !important; margin-left:auto !important; margin-right:auto !important; }
:is(.single-post,.page) .entry-content > .vce-row-container:has(.woocommerce){ width:auto !important; }

/* These VC rows have zero column gap by design (vce-row--col-gap-0), so images sit
   flush against adjacent text. Give them breathing room and a light frame matching
   the site's paper-bordered photo treatment used elsewhere (Retreats page tilt photos). */
:is(.single-post,.page) .vce-single-image-container{ margin:16px auto 28px !important; max-width:600px !important; }
:is(.single-post,.page) .vce-single-image-container.vce-single-image--align-left{ margin-left:0 !important; }

/* Biferno Rosso article (postid 14989): Tintilia-style alternating image/text.
   Force every in-column image into a consistent 3:2 frame so the varied source
   shapes read as one set; wide data graphics use contain so nothing is cropped. */
.postid-14989 .entry-content > .vce-row-container{ max-width:75% !important; }
.postid-14989 .vce-row-content{ align-items:stretch; }
.postid-14989 .vs-imgcell .vce-single-image-container{ margin:14px 0 24px !important; max-width:none !important; }
.postid-14989 .vs-imgcell .vce-single-image-inner{ aspect-ratio:3 / 2 !important; padding-bottom:0 !important; width:100% !important; height:auto !important; overflow:hidden !important; }
.postid-14989 .vs-imgcell .vce-single-image{ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.postid-14989 .vs-imgcell--contain .vce-single-image{ object-fit:contain !important; background:#ffffff !important; }
.postid-14989 .vs-featimg .vce-single-image-container{ max-width:680px !important; margin:10px auto 34px !important; }
@media (max-width:1199px){ .postid-14989 .vs-imgcell .vce-single-image-inner{ aspect-ratio:16 / 10 !important; } }
/* Match Tintilia's section-heading scale (was 45px/900, Tintilia is ~23px/600). */
.postid-14989 .vce-google-fonts-heading-inner{ font-size:1.3rem !important; font-weight:600 !important; line-height:1.2 !important; margin-bottom:6px !important; }
/* Breathing room between the framed images and the adjacent text column. */
.postid-14989 .vs-imgcell .vce-col-content{ padding:6px 26px !important; }
.postid-14989 .vs-imgcell .vce-single-image-container{ margin:20px 0 26px !important; }
.postid-14989 .vs-featimg .vce-single-image-container{ margin:14px auto 40px !important; }

/* Biferno Rosso: bring the alternating image/text layout in from 1200px down to
   900px so it shows on normal laptop widths, not only very wide screens. */
@media (min-width:900px){
  :is(.postid-14989,.postid-12911,.postid-1695,.postid-10466) .vce-row-content{ display:flex !important; flex-wrap:nowrap !important; align-items:stretch !important; }
  :is(.postid-14989,.postid-12911,.postid-1695,.postid-10466) .vce-row-content .vce-col--xl-5p{ flex:0 0 5% !important; width:5% !important; max-width:5% !important; }
  :is(.postid-14989,.postid-12911,.postid-1695,.postid-10466) .vce-row-content .vce-col--xl-40p{ flex:0 0 40% !important; width:40% !important; max-width:40% !important; }
  :is(.postid-14989,.postid-12911,.postid-1695,.postid-10466) .vce-row-content .vce-col--xl-55p{ flex:0 0 55% !important; width:55% !important; max-width:55% !important; }
  :is(.postid-14989,.postid-12911,.postid-1695,.postid-10466) .vce-row-content .vce-col--xl-70p{ flex:0 0 70% !important; width:70% !important; max-width:70% !important; }
  :is(.postid-14989,.postid-12911,.postid-1695,.postid-10466) .vce-row-content .vce-col--xl-hide{ display:none !important; }
  :is(.postid-14989,.postid-12911,.postid-1695,.postid-10466) .vce-row-content .vce-col--xl-first{ order:-1 !important; }
  :is(.postid-14989,.postid-12911,.postid-1695,.postid-10466) .vce-row-content .vce-col--xl-last{ order:1 !important; }
  :is(.postid-12911,.postid-1695,.postid-10466) .vce-row-content .vce-col--xl-40p .vce-col-content{ padding-left:24px !important; padding-right:24px !important; }
  :is(.postid-12911,.postid-1695,.postid-10466) .vce-row-content .vce-col--xl-55p .vce-col-content{ padding-left:6px !important; padding-right:6px !important; }
}
/* Tintilia (1695): rows 2/4/6 hold their desktop image in a column VC only reveals
   at >=1200px, with separate standalone "mobile" image rows shown below 1200. In the
   900-1199 band, reproduce the same wide arrangement the >=1200 rules give: hide the
   standalone rows, re-show the desktop image columns and their desktop image, and
   keep the mobile-copy images hidden. */
@media (min-width:900px) and (max-width:1199px){
  #el-79e748ec, #el-a730ce7e, #el-076199ae{ display:none !important; }
  .postid-1695 .vce-row-content .vce-col--xl-visible{ display:block !important; }
  #el-7a0e0a07, #el-2fc12764, #el-cda185f4, #el-569e5185{ display:block !important; }
  #el-dc5b60a5, #el-a40e2765{ display:none !important; }
}
:is(.single-post,.page) .vce-single-image-inner{ border:6px solid var(--paper) !important; box-shadow:0 6px 18px rgba(34,31,60,0.15) !important; box-sizing:border-box !important; }
:is(.single-post,.page) .vce-multiple-image-collage{ margin:8px 24px 24px !important; }
:is(.single-post,.page) .vce-multiple-image-collage-item{ border:4px solid var(--paper) !important; box-sizing:border-box !important; background-clip:padding-box !important; box-shadow:0 4px 14px rgba(34,31,60,0.12) !important; }
/* Pre-existing bug, unrelated to the border/spacing above: this collage's inner
   layer was never absolutely positioned to fill its aspect-ratio (padding-bottom%)
   wrapper, so it collapsed to near-zero height and the percentage-sized items inside
   it collapsed with it. */
:is(.single-post,.page) .vce-multiple-image-collage-wrapper{ position:relative !important; }
:is(.single-post,.page) .vce-multiple-image-collage-inner{ position:absolute !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important; height:auto !important; }

/* Wider VC responsive column-width coverage: pages beyond the 4 original posts use
   percentage values (15/20/25/30/45/50/60/65/70/75/85/90) the posts never needed.
   Filling in every 5% step once rather than discovering gaps page by page. */
:is(.single-post,.page) .vce-row-content .vce-col--xs-15p{ width:15% !important; max-width:15% !important; flex:0 0 15% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-20p{ width:20% !important; max-width:20% !important; flex:0 0 20% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-25p{ width:25% !important; max-width:25% !important; flex:0 0 25% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-30p{ width:30% !important; max-width:30% !important; flex:0 0 30% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-35p{ width:35% !important; max-width:35% !important; flex:0 0 35% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-45p{ width:45% !important; max-width:45% !important; flex:0 0 45% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-50p{ width:50% !important; max-width:50% !important; flex:0 0 50% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-60p{ width:60% !important; max-width:60% !important; flex:0 0 60% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-65p{ width:65% !important; max-width:65% !important; flex:0 0 65% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-75p{ width:75% !important; max-width:75% !important; flex:0 0 75% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-85p{ width:85% !important; max-width:85% !important; flex:0 0 85% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xs-90p{ width:90% !important; max-width:90% !important; flex:0 0 90% !important; }
@media (min-width:576px){
:is(.single-post,.page) .vce-row-content .vce-col--sm-15p{ width:15% !important; max-width:15% !important; flex:0 0 15% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-20p{ width:20% !important; max-width:20% !important; flex:0 0 20% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-25p{ width:25% !important; max-width:25% !important; flex:0 0 25% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-30p{ width:30% !important; max-width:30% !important; flex:0 0 30% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-35p{ width:35% !important; max-width:35% !important; flex:0 0 35% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-40p{ width:40% !important; max-width:40% !important; flex:0 0 40% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-45p{ width:45% !important; max-width:45% !important; flex:0 0 45% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-50p{ width:50% !important; max-width:50% !important; flex:0 0 50% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-55p{ width:55% !important; max-width:55% !important; flex:0 0 55% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-60p{ width:60% !important; max-width:60% !important; flex:0 0 60% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-65p{ width:65% !important; max-width:65% !important; flex:0 0 65% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-70p{ width:70% !important; max-width:70% !important; flex:0 0 70% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-75p{ width:75% !important; max-width:75% !important; flex:0 0 75% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-85p{ width:85% !important; max-width:85% !important; flex:0 0 85% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-90p{ width:90% !important; max-width:90% !important; flex:0 0 90% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-95p{ width:95% !important; max-width:95% !important; flex:0 0 95% !important; } :is(.single-post,.page) .vce-row-content .vce-col--sm-auto{ width:auto !important; max-width:none !important; flex:1 1 auto !important; }
}
@media (min-width:768px){
:is(.single-post,.page) .vce-row-content .vce-col--md-15p{ width:15% !important; max-width:15% !important; flex:0 0 15% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-20p{ width:20% !important; max-width:20% !important; flex:0 0 20% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-25p{ width:25% !important; max-width:25% !important; flex:0 0 25% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-30p{ width:30% !important; max-width:30% !important; flex:0 0 30% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-35p{ width:35% !important; max-width:35% !important; flex:0 0 35% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-40p{ width:40% !important; max-width:40% !important; flex:0 0 40% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-45p{ width:45% !important; max-width:45% !important; flex:0 0 45% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-50p{ width:50% !important; max-width:50% !important; flex:0 0 50% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-55p{ width:55% !important; max-width:55% !important; flex:0 0 55% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-60p{ width:60% !important; max-width:60% !important; flex:0 0 60% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-65p{ width:65% !important; max-width:65% !important; flex:0 0 65% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-70p{ width:70% !important; max-width:70% !important; flex:0 0 70% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-75p{ width:75% !important; max-width:75% !important; flex:0 0 75% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-85p{ width:85% !important; max-width:85% !important; flex:0 0 85% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-90p{ width:90% !important; max-width:90% !important; flex:0 0 90% !important; } :is(.single-post,.page) .vce-row-content .vce-col--md-95p{ width:95% !important; max-width:95% !important; flex:0 0 95% !important; }
}
@media (min-width:992px){
:is(.single-post,.page) .vce-row-content .vce-col--lg-15p{ width:15% !important; max-width:15% !important; flex:0 0 15% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-20p{ width:20% !important; max-width:20% !important; flex:0 0 20% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-25p{ width:25% !important; max-width:25% !important; flex:0 0 25% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-45p{ width:45% !important; max-width:45% !important; flex:0 0 45% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-50p{ width:50% !important; max-width:50% !important; flex:0 0 50% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-60p{ width:60% !important; max-width:60% !important; flex:0 0 60% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-65p{ width:65% !important; max-width:65% !important; flex:0 0 65% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-70p{ width:70% !important; max-width:70% !important; flex:0 0 70% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-75p{ width:75% !important; max-width:75% !important; flex:0 0 75% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-85p{ width:85% !important; max-width:85% !important; flex:0 0 85% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-90p{ width:90% !important; max-width:90% !important; flex:0 0 90% !important; } :is(.single-post,.page) .vce-row-content .vce-col--lg-95p{ width:95% !important; max-width:95% !important; flex:0 0 95% !important; }
}
@media (min-width:1200px){
:is(.single-post,.page) .vce-row-content .vce-col--xl-15p{ width:15% !important; max-width:15% !important; flex:0 0 15% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-20p{ width:20% !important; max-width:20% !important; flex:0 0 20% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-25p{ width:25% !important; max-width:25% !important; flex:0 0 25% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-30p{ width:30% !important; max-width:30% !important; flex:0 0 30% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-35p{ width:35% !important; max-width:35% !important; flex:0 0 35% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-45p{ width:45% !important; max-width:45% !important; flex:0 0 45% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-50p{ width:50% !important; max-width:50% !important; flex:0 0 50% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-60p{ width:60% !important; max-width:60% !important; flex:0 0 60% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-65p{ width:65% !important; max-width:65% !important; flex:0 0 65% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-70p{ width:70% !important; max-width:70% !important; flex:0 0 70% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-75p{ width:75% !important; max-width:75% !important; flex:0 0 75% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-85p{ width:85% !important; max-width:85% !important; flex:0 0 85% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-90p{ width:90% !important; max-width:90% !important; flex:0 0 90% !important; } :is(.single-post,.page) .vce-row-content .vce-col--xl-100p{ width:100% !important; max-width:100% !important; flex:0 0 100% !important; }
}

/* About Us – "Our History" panel: verified gradient/colour from the live site */
#el-da49c1a7 .vce-asset-color-gradient-container{
  background-image:linear-gradient(270deg, rgba(0,0,0,0.2), rgb(8,75,104));
}
#el-bae05593{
  background-color:rgb(8,75,104);
}
.entry-content .vce-col--xs-hide{ display:none; }
.entry-content .vce-col--xs-1{ flex:1 1 0%; width:auto; min-width:0; }
.entry-content .vce-col--xs-5p{ width:5%; } .entry-content .vce-col--xs-10p{ width:10%; } .entry-content .vce-col--xs-15p{ width:15%; } .entry-content .vce-col--xs-20p{ width:20%; } .entry-content .vce-col--xs-25p{ width:25%; } .entry-content .vce-col--xs-30p{ width:30%; } .entry-content .vce-col--xs-33p{ width:33.33%; } .entry-content .vce-col--xs-35p{ width:35%; } .entry-content .vce-col--xs-40p{ width:40%; } .entry-content .vce-col--xs-45p{ width:45%; } .entry-content .vce-col--xs-50p{ width:50%; } .entry-content .vce-col--xs-55p{ width:55%; } .entry-content .vce-col--xs-60p{ width:60%; } .entry-content .vce-col--xs-65p{ width:65%; } .entry-content .vce-col--xs-66p{ width:66.67%; } .entry-content .vce-col--xs-70p{ width:70%; } .entry-content .vce-col--xs-75p{ width:75%; } .entry-content .vce-col--xs-80p{ width:80%; } .entry-content .vce-col--xs-85p{ width:85%; } .entry-content .vce-col--xs-90p{ width:90%; } .entry-content .vce-col--xs-95p{ width:95%; } .entry-content .vce-col--xs-100p{ width:100%; } .entry-content .vce-col--xs-auto{ width:auto; flex:1 1 0%; }
@media (min-width:576px){
  .entry-content .vce-col--sm-hide{ display:none !important; }
  .entry-content .vce-col--sm-visible{ display:block !important; }
  .entry-content .vce-col--sm-5p{ width:5%; } .entry-content .vce-col--sm-10p{ width:10%; } .entry-content .vce-col--sm-15p{ width:15%; } .entry-content .vce-col--sm-20p{ width:20%; } .entry-content .vce-col--sm-25p{ width:25%; } .entry-content .vce-col--sm-30p{ width:30%; } .entry-content .vce-col--sm-33p{ width:33.33%; } .entry-content .vce-col--sm-35p{ width:35%; } .entry-content .vce-col--sm-40p{ width:40%; } .entry-content .vce-col--sm-45p{ width:45%; } .entry-content .vce-col--sm-50p{ width:50%; } .entry-content .vce-col--sm-55p{ width:55%; } .entry-content .vce-col--sm-60p{ width:60%; } .entry-content .vce-col--sm-65p{ width:65%; } .entry-content .vce-col--sm-66p{ width:66.67%; } .entry-content .vce-col--sm-70p{ width:70%; } .entry-content .vce-col--sm-75p{ width:75%; } .entry-content .vce-col--sm-80p{ width:80%; } .entry-content .vce-col--sm-85p{ width:85%; } .entry-content .vce-col--sm-90p{ width:90%; } .entry-content .vce-col--sm-95p{ width:95%; } .entry-content .vce-col--sm-100p{ width:100%; } .entry-content .vce-col--sm-auto{ width:auto; flex:1 1 0%; }
}
@media (min-width:768px){
  .entry-content .vce-col--md-hide{ display:none !important; }
  .entry-content .vce-col--md-visible{ display:block !important; }
  .entry-content .vce-col--md-5p{ width:5%; } .entry-content .vce-col--md-10p{ width:10%; } .entry-content .vce-col--md-11-27p{ width:11.27%; } .entry-content .vce-col--md-15p{ width:15%; } .entry-content .vce-col--md-20p{ width:20%; } .entry-content .vce-col--md-25p{ width:25%; } .entry-content .vce-col--md-30p{ width:30%; } .entry-content .vce-col--md-33p{ width:33.33%; } .entry-content .vce-col--md-35p{ width:35%; } .entry-content .vce-col--md-40p{ width:40%; } .entry-content .vce-col--md-45p{ width:45%; } .entry-content .vce-col--md-50p{ width:50%; } .entry-content .vce-col--md-55p{ width:55%; } .entry-content .vce-col--md-60p{ width:60%; } .entry-content .vce-col--md-65p{ width:65%; } .entry-content .vce-col--md-66p{ width:66.67%; } .entry-content .vce-col--md-70p{ width:70%; } .entry-content .vce-col--md-75p{ width:75%; } .entry-content .vce-col--md-78-73p{ width:78.73%; } .entry-content .vce-col--md-80p{ width:80%; } .entry-content .vce-col--md-85p{ width:85%; } .entry-content .vce-col--md-90p{ width:90%; } .entry-content .vce-col--md-95p{ width:95%; } .entry-content .vce-col--md-100p{ width:100%; } .entry-content .vce-col--md-auto{ width:auto; flex:1 1 0%; }
}
@media (min-width:992px){
  .entry-content .vce-col--lg-hide{ display:none !important; }
  .entry-content .vce-col--lg-visible{ display:block !important; }
  .entry-content .vce-col--lg-5p{ width:5%; } .entry-content .vce-col--lg-10p{ width:10%; } .entry-content .vce-col--lg-11-27p{ width:11.27%; } .entry-content .vce-col--lg-15p{ width:15%; } .entry-content .vce-col--lg-20p{ width:20%; } .entry-content .vce-col--lg-25p{ width:25%; } .entry-content .vce-col--lg-30p{ width:30%; } .entry-content .vce-col--lg-33p{ width:33.33%; } .entry-content .vce-col--lg-35p{ width:35%; } .entry-content .vce-col--lg-40p{ width:40%; } .entry-content .vce-col--lg-45p{ width:45%; } .entry-content .vce-col--lg-50p{ width:50%; } .entry-content .vce-col--lg-55p{ width:55%; } .entry-content .vce-col--lg-60p{ width:60%; } .entry-content .vce-col--lg-65p{ width:65%; } .entry-content .vce-col--lg-66p{ width:66.67%; } .entry-content .vce-col--lg-70p{ width:70%; } .entry-content .vce-col--lg-75p{ width:75%; } .entry-content .vce-col--lg-78-73p{ width:78.73%; } .entry-content .vce-col--lg-80p{ width:80%; } .entry-content .vce-col--lg-85p{ width:85%; } .entry-content .vce-col--lg-90p{ width:90%; } .entry-content .vce-col--lg-95p{ width:95%; } .entry-content .vce-col--lg-100p{ width:100%; } .entry-content .vce-col--lg-auto{ width:auto; flex:1 1 0%; }
}
@media (min-width:1200px){
  .entry-content .vce-col--xl-hide{ display:none !important; }
  .entry-content .vce-col--xl-visible{ display:block !important; }
  .entry-content .vce-col--xl-5p{ width:5%; } .entry-content .vce-col--xl-10p{ width:10%; } .entry-content .vce-col--xl-11-27p{ width:11.27%; } .entry-content .vce-col--xl-15p{ width:15%; } .entry-content .vce-col--xl-20p{ width:20%; } .entry-content .vce-col--xl-25p{ width:25%; } .entry-content .vce-col--xl-30p{ width:30%; } .entry-content .vce-col--xl-33p{ width:33.33%; } .entry-content .vce-col--xl-35p{ width:35%; } .entry-content .vce-col--xl-40p{ width:40%; } .entry-content .vce-col--xl-45p{ width:45%; } .entry-content .vce-col--xl-50p{ width:50%; } .entry-content .vce-col--xl-55p{ width:55%; } .entry-content .vce-col--xl-60p{ width:60%; } .entry-content .vce-col--xl-65p{ width:65%; } .entry-content .vce-col--xl-66p{ width:66.67%; } .entry-content .vce-col--xl-70p{ width:70%; } .entry-content .vce-col--xl-75p{ width:75%; } .entry-content .vce-col--xl-78-73p{ width:78.73%; } .entry-content .vce-col--xl-80p{ width:80%; } .entry-content .vce-col--xl-85p{ width:85%; } .entry-content .vce-col--xl-90p{ width:90%; } .entry-content .vce-col--xl-95p{ width:95%; } .entry-content .vce-col--xl-100p{ width:100%; } .entry-content .vce-col--xl-auto{ width:auto; flex:1 1 0%; }
}
.entry-content .vce-col--xs-first,
.entry-content .vce-col--sm-first,
.entry-content .vce-col--md-first,
.entry-content .vce-col--lg-first,
.entry-content .vce-col--xl-first{ order:-1; }
.entry-content .vce-col--xs-last,
.entry-content .vce-col--sm-last,
.entry-content .vce-col--md-last,
.entry-content .vce-col--lg-last,
.entry-content .vce-col--xl-last{ order:999; }

/* Delivery banner table ("Order Any 6 Bottles for FREE DELIVERY") on the product
   page: was picking up the theme's default table-cell borders. */
.delivery_table,
.delivery_table td{
  border:none !important;
}

/* Product page wine data (Colour/ABV/Vintage/Grape): label + value were each
   their own block-level div, forcing every attribute onto two lines. */
.woo_wine_data_entry{
  display:flex !important;
  align-items:baseline;
  gap:4px;
}
.woo_wine_data_label,
.woo_wine_data_value{
  display:inline !important;
}

/* Trade page "Request Trade List" button: its background color depended on a
   WPBakery-generated per-instance stylesheet that never loads on this site,
   so restore the background/text colors the class name itself encodes. */
.vce-button--style-basic--color-b-8-75-104--fff{
  background:#084a68 !important;
  color:#fff !important;
  transition:opacity .18s ease, transform .18s ease;
}
.vce-button--style-basic--color-b-8-75-104--fff:hover{
  opacity:0.85;
  color:#fff !important;
}

/* Footer links: Contact / Delivery & Returns / T&C / Drinkaware */
.vs-footer-links{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px 24px;
  max-width:1320px;
  margin:0 auto;
  padding:16px 24px 28px;
  border-top:1px solid rgba(34,31,60,0.1);
  font-family:"Karla",sans-serif;
  font-size:0.8rem;
}
.vs-footer-links a{
  color:var(--vine) !important;
}
.vs-footer-links .vs-footer-links-home{
  font-weight:700;
  color:var(--ink) !important;
}
.vs-footer-links a:hover{
  color:var(--gold) !important;
}

@media (prefers-reduced-motion: reduce){ *{ transition:none !important; animation:none !important; } .vs-tilt{ transform:none; } .wp-block-button__link:hover{ transform:none; } }
.mc4wp-form-fields p{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:0 !important; }
.mc4wp-form-fields label{ display:flex; align-items:center; gap:10px; font-family:'Karla',sans-serif; color:var(--ink); font-weight:500; }
.mc4wp-form input.email_field{ padding:12px 16px; border:2px solid var(--ink); border-radius:3px; font-family:'Karla',sans-serif; font-size:1rem; background:var(--paper); color:var(--ink); min-width:280px; }
.mc4wp-form input.email_field:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.mc4wp-form input.subscribe_button{ background:var(--ink) !important; color:#fff !important; border:none !important; padding:14px 34px !important; border-radius:3px !important; font-family:'Karla',sans-serif; font-weight:700; cursor:pointer; transition:transform .18s ease, background-color .18s ease, color .18s ease; }
.mc4wp-form input.subscribe_button:hover{ background:var(--gold) !important; color:var(--ink) !important; transform:translateY(-2px); }
@media (prefers-reduced-motion: reduce){ .mc4wp-form input.subscribe_button:hover{ transform:none; } }
.vs-icon-row{ gap:16px!important; max-width:560px!important; margin:0 auto 8px!important; }
.vs-icon-row .wp-block-column{ display:flex; justify-content:center; flex-basis:0!important; }
.vs-icon-row img{ opacity:.88; }
.page-id-918 .entry-header{ display:none!important; }
.vs-hero-heading{ font-family:'Fraunces',serif; font-weight:600; font-size:clamp(2.2rem,5vw,3.6rem); line-height:1.15; color:#fff!important; text-shadow:0 2px 18px rgba(0,0,0,0.45); margin:0!important; }
.page-id-918 .vs-band-copy-wide,
.page-id-918 .wp-block-columns.vs-content-col,
.page-id-918 .wp-block-group.vs-content-col,
.page-id-918 .vs-cta-band{ width:75%!important; max-width:75%!important; margin-left:auto!important; margin-right:auto!important; }
.wpcf7-form input.wpcf7-submit{ background:var(--ink)!important; color:#fff!important; border:none!important; padding:14px 34px!important; border-radius:3px!important; font-family:'Karla',sans-serif!important; font-weight:700!important; font-size:1rem!important; cursor:pointer; transition:transform .18s ease, background-color .18s ease, color .18s ease; }
.wpcf7-form input.wpcf7-submit:hover{ background:var(--gold)!important; color:var(--ink)!important; transform:translateY(-2px); }
@media (prefers-reduced-motion: reduce){ .wpcf7-form input.wpcf7-submit:hover{ transform:none; } }
html.vs-age-gate-lock, html.vs-age-gate-lock body{ overflow:hidden !important; height:100%; }
.vs-age-gate{ display:none; position:fixed; inset:0; z-index:99999; align-items:center; justify-content:center; padding:24px; background:rgba(34,31,60,0.92); }
.vs-age-gate.is-visible{ display:flex; }
.vs-age-gate__panel{ background:var(--paper); border-radius:6px; padding:44px 40px; max-width:440px; width:100%; text-align:center; box-shadow:0 24px 60px rgba(0,0,0,0.35); }
.vs-age-gate__eyebrow{ font-family:'Karla',sans-serif; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:700; color:var(--gold); margin:0 0 12px; }
.vs-age-gate__panel h2{ font-family:'Fraunces',serif; font-size:1.7rem; color:var(--ink); margin:0 0 14px; line-height:1.2; }
.vs-age-gate__copy{ font-family:'Karla',sans-serif; color:var(--ink); font-size:1rem; line-height:1.5; margin:0 0 26px; }
.vs-age-gate__actions{ display:flex; flex-direction:column; gap:12px; margin-bottom:22px; }
.vs-age-gate__btn{ font-family:'Karla',sans-serif; font-weight:700; font-size:1rem; padding:14px 28px; border-radius:3px; cursor:pointer; border:2px solid var(--ink); transition:transform .18s ease, background-color .18s ease, color .18s ease; }
.vs-age-gate__btn--yes{ background:var(--ink); color:#fff; }
.vs-age-gate__btn--yes:hover{ background:var(--gold); border-color:var(--gold); color:var(--ink); transform:translateY(-2px); }
.vs-age-gate__btn--no{ background:transparent; color:var(--ink); }
.vs-age-gate__btn--no:hover{ background:var(--ink); color:#fff; }
.vs-age-gate__footnote{ font-family:'Karla',sans-serif; font-size:.8rem; color:var(--ink); opacity:.75; margin:0; line-height:1.5; }
.vs-age-gate__footnote a{ color:var(--vine) !important; }
@media (max-width:480px){ .vs-age-gate__panel{ padding:32px 24px; } .vs-age-gate__panel h2{ font-size:1.4rem; } }
@media (prefers-reduced-motion: reduce){ .vs-age-gate__btn--yes:hover{ transform:none; } }

/* Delivery page (772): the intro "Delivery FAQ" / "Returns FAQ" sections sit in a
   flex:1 1 auto column that grows to the full row width, so they run edge-to-edge
   while every Q&A row below is inset 10% each side (label 20% + answer 60%). Pin
   the intro column to 80% so its edges land on the Q&A heading/answer edges, and
   add breathing room between each label and its answer, and each heading and its
   paragraph, since the row has zero column gap. */
@media (min-width:768px){
  #el-3b585320 .vce-col--md-auto, #el-d940390b .vce-col--md-auto{ width:80% !important; max-width:80% !important; flex:0 0 80% !important; }
  .page-id-772 .vce-col--md-20p .vce-col-content{ box-sizing:border-box !important; padding-right:24px !important; padding-top:8px !important; padding-bottom:8px !important; }
  .page-id-772 .vce-col--md-60p .vce-col-content{ box-sizing:border-box !important; padding-left:24px !important; padding-top:8px !important; padding-bottom:8px !important; }
}
.page-id-772 .vce-google-fonts-heading{ margin-bottom:16px !important; }

/* Terms & Conditions page (87): every row is one text column flanked by two spacer
   columns whose widths don't match row to row (10/80/10 on some rows, 11.27/78.73/10
   on others), so the body text drifts left and its width varies down the page. Hide
   the (always-empty) spacer columns and let the text column fill the row, which is
   already capped to 75% width and centered by the site-wide VC row-container rule. */
.page-id-87 .vce-row-content > .vce-col:not(:has(.vce-text-block, .vce-google-fonts-heading, h1, h2, h3)){ display:none !important; }
.page-id-87 .vce-row-content > .vce-col:has(.vce-text-block, .vce-google-fonts-heading, h1, h2, h3){ width:100% !important; max-width:100% !important; flex:0 0 100% !important; }

/* Homepage "Pick Your Path" colour tiles: tighten the gap between each tile image
   and its label (was a full default paragraph margin, ~21px) and make sure the
   image itself reads as clickable now that it links out too. */
.home .vs-tile-img{ margin-bottom:10px !important; }
.home .vs-tile-label{ margin-top:0 !important; }
.home .vs-tile-img a{ display:block; }
.home .vs-tile-img a:hover img{ opacity:0.85; }

/* Hero copy: tighten the vertical rhythm now that the eyebrow line above the
   heading is gone — the default paragraph margins (~21px) left it feeling loose. */
.vs-hero-copy h1{ margin-top:0 !important; margin-bottom:14px !important; }
.vs-hero-copy p{ margin-top:0 !important; margin-bottom:18px !important; }
.vs-hero-copy .wp-block-buttons{ margin-top:0 !important; }

/* "Stay in the loop" eyebrow sits on the peach (#E3B080) newsletter band, where the
   site-wide gold eyebrow colour (#CDA82C) has almost no contrast against it (~1.2:1).
   Every other eyebrow is on a dark or light-neutral background where gold reads fine,
   so only override this one instance back to the dark ink colour (~8:1 contrast). */
.vs-eyebrow--onpeach{ color:#221F3C !important; }

/* Pre-existing bug on narrow screens (found while fixing the Delivery page): a
   <ul> inside a .vce-text-block shrinks to its content width instead of filling
   the column, so list items overflow the page on mobile. */
:is(.single-post,.page) .entry-content .vce-text-block ul,
:is(.single-post,.page) .entry-content .vce-text-block ol{ width:100% !important; }
:is(.single-post,.page) .entry-content li{ overflow-wrap:break-word !important; }

/* Angelo D'Uva producer page (106): brought up to the site's established style —
   the page predates the redesign and still carries a one-off teal palette, a
   hero band that collapsed to almost nothing, and a couple of "shadow" classes
   that were named but never actually implemented. */

/* Site-wide: VC's "row background image" component positions its outer wrapper
   correctly (see the .vce-content-background-container fix above) but the inner
   two layers that actually carry the image never get a size, so nothing paints.
   Also, the generic VC-grid repair forces .vce-row to position:static !important
   for ordinary rows, which fights the relative positioning a background-image row
   needs — so pull just those rows back to relative here. */
.vce-row:has(> .vce-content-background-container){ position:relative !important; }
:is(.single-post,.page) .vce-asset-background-simple,
:is(.single-post,.page) .vce-asset-background-simple-item{ position:absolute; inset:0; width:100%; height:100%; }
:is(.single-post,.page) .vce-asset-background-simple-item{ background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; }

/* Hero band: it was collapsing to the height of its one small logo image. Give it
   a real height and a dim overlay so the white logo reads over the harvest photo,
   matching the dim-overlay treatment the homepage hero uses. */
.page-id-106 .vce-row.heroRow{ min-height:56vh; }
.page-id-106 .vce-row.heroRow .vce-row-content{ align-items:center; }
.page-id-106 .vce-row.heroRow .vce-asset-color-gradient-container{ background:linear-gradient(115deg, rgba(34,31,60,0.6), rgba(34,31,60,0.15)); }
.page-id-106 #el-1fc61673 img.vce-single-image{ width:200px !important; max-width:70% !important; margin:0 auto !important; display:block; }
/* The logo is a transparent PNG overlaid on the hero photo -- exclude it from the
   generic paper-border/shadow/margin framing every other VC image on the site gets. */
.page-id-106 #el-1fc61673 .vce-single-image-inner{ border:none !important; box-shadow:none !important; background:transparent !important; }
.page-id-106 #el-1fc61673 .vce-single-image-container{ margin:0 !important; max-width:none !important; }
/* Full-bleed hero, matching the homepage hero and the History/How-we-met bands. */
.page-id-106 .vce-row-container:has(> .vce-row.heroRow){ width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; }

/* "Quick Facts" list and the History column both carried class names for a card
   shadow / bottom shadow that was never actually defined. */
.page-id-106 .vce-text-block.borderShadow{ background:var(--paper); padding:28px 32px; border-radius:6px; box-shadow:0 10px 28px rgba(34,31,60,0.12); }
.page-id-106 .borderShadowBottom{ box-shadow:0 10px 28px rgba(34,31,60,0.15); }

/* Circular portrait — the border-round class had no radius rule. */
.page-id-106 .vce-single-image--border-round{ border-radius:50%; overflow:hidden; }

/* Breathing room inside the two full-bleed bands and around the facts card. */
.page-id-106 #el-68dbe49e .vce-col-content, .page-id-106 #el-0533bf3f .vce-col-content{ padding:8px 0 !important; }
.page-id-106 #el-bec33230 .vce-col-content{ display:flex; align-items:center; }

/* Same producer-page template repairs as Angelo D'Uva (106), applied to Colle Sereno
   (653), Cianfagna (603), Catabbo (622) and Campi Valerio (1373). */
:is(.page-id-653,.page-id-603,.page-id-622,.page-id-1373) .vce-row.heroRow{ min-height:56vh; }
:is(.page-id-653,.page-id-603,.page-id-622,.page-id-1373) .vce-row.heroRow .vce-row-content{ align-items:center; }
:is(.page-id-653,.page-id-603,.page-id-622,.page-id-1373) .vce-row.heroRow .vce-asset-color-gradient-container{ background:linear-gradient(115deg, rgba(34,31,60,0.6), rgba(34,31,60,0.15)); }
:is(.page-id-653,.page-id-603,.page-id-622,.page-id-1373) .vce-row-container:has(> .vce-row.heroRow){ width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; }
:is(.page-id-653,.page-id-603,.page-id-622,.page-id-1373) .vce-text-block.borderShadow{ background:var(--paper); padding:28px 32px; border-radius:6px; box-shadow:0 10px 28px rgba(34,31,60,0.12); }
:is(.page-id-653,.page-id-603,.page-id-622,.page-id-1373) .borderShadowBottom{ box-shadow:0 10px 28px rgba(34,31,60,0.15); }
:is(.page-id-653,.page-id-603,.page-id-622,.page-id-1373) .vce-single-image--border-round{ border-radius:50%; overflow:hidden; }

/* Band background colours -- these rows carry no colour of their own in the source,
   so their white text would otherwise sit invisible on a white page. */
#el-74418c23, #el-9209b4aa, #el-780ad5db, #el-0ac48556, #el-d57adbef, #el-ac21530e, #el-f1787dfb{ background-color:#221F3C !important; }

/* Logo images: exclude from the generic paper-border/shadow framing and cap size. */
#el-4f883aea .vce-single-image-inner, #el-8543d724 .vce-single-image-inner, #el-be48dc64 .vce-single-image-inner, #el-da35305e .vce-single-image-inner{ border:none !important; box-shadow:none !important; background:transparent !important; }
#el-4f883aea .vce-single-image-container, #el-8543d724 .vce-single-image-container, #el-be48dc64 .vce-single-image-container, #el-da35305e .vce-single-image-container{ margin:0 auto !important; max-width:none !important; }
#el-8543d724 img.vce-single-image{ width:160px !important; max-width:60% !important; margin:0 auto !important; display:block; }
#el-be48dc64 img.vce-single-image{ width:280px !important; max-width:70% !important; margin:0 !important; display:block; }
#el-4f883aea img.vce-single-image, #el-da35305e img.vce-single-image{ width:220px !important; max-width:100% !important; margin:0 auto !important; display:block; }