/* Scoped presentation layer. Native WooCommerce forms, fields and error messages remain intact. */
body.bes-storefront-consistency {
  --bes-consistency-ink:#272325;
  --bes-consistency-wine:#60253c;
  --bes-consistency-line:#e7dddd;
  --bes-consistency-soft:#f5f0ee;
}

/* The desktop navigation is visibly separate from the white logo/search row. */
@media(min-width:993px) {
  body.bes-storefront-consistency.bes-visual-refresh.bes-minimal-commerce:not(.woocommerce-checkout) .col-full-nav {
    background:var(--bes-consistency-soft) !important;
    border-top:1px solid #f0e8e5 !important;
    border-bottom:1px solid var(--bes-consistency-line) !important;
    box-shadow:none !important;
  }
  body.bes-storefront-consistency.bes-visual-refresh.bes-minimal-commerce:not(.woocommerce-checkout) #site-navigation,
  body.bes-storefront-consistency.bes-visual-refresh.bes-minimal-commerce:not(.woocommerce-checkout) #site-navigation .primary-navigation {
    background:transparent !important;
  }
  body.bes-storefront-consistency.bes-visual-refresh.bes-minimal-commerce:not(.woocommerce-checkout) #site-navigation #menu-mobile > li > a {
    color:var(--bes-consistency-ink) !important;
    background:transparent !important;
    box-shadow:none !important;
    transition:background-color 160ms ease,color 160ms ease;
  }
  body.bes-storefront-consistency.bes-visual-refresh.bes-minimal-commerce:not(.woocommerce-checkout) #site-navigation #menu-mobile > li:is(.current-menu-item,.current-menu-ancestor,.bes-menu-expanded) > a,
  body.bes-storefront-consistency.bes-visual-refresh.bes-minimal-commerce:not(.woocommerce-checkout) #site-navigation #menu-mobile > li > a:hover {
    color:var(--bes-consistency-wine) !important;
    background:#ede3e3 !important;
    box-shadow:inset 0 -2px 0 var(--bes-consistency-wine) !important;
  }
  body.bes-storefront-consistency.bes-visual-refresh.bes-minimal-commerce:not(.woocommerce-checkout) #site-navigation #menu-mobile > li > a:focus-visible {
    outline-offset:-5px;
  }
}

/* Compact purchase benefits sit directly after copy, rather than beside the buy controls. */
body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary > .bes-product-assurance {
  order:5 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 0 12px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary .bes-product-assurance li {
  box-sizing:border-box;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  aspect-ratio:auto !important;
  width:auto !important;
  height:auto !important;
  min-height:72px !important;
  padding:9px 8px !important;
  border:1px solid #eee5e3 !important;
  border-radius:8px !important;
  background:#faf7f5 !important;
  box-shadow:none !important;
  color:#4d4146 !important;
  font-size:11.5px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
  text-align:center !important;
}
body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary .bes-product-assurance li > span:last-child {
  width:100% !important;
  min-height:0 !important;
  display:block !important;
  margin:0 !important;
  grid-column:auto !important;
  grid-row:auto !important;
}
body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary .bes-product-assurance__icon {
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  flex:0 0 24px !important;
  grid-column:auto !important;
  grid-row:auto !important;
  align-self:center !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--bes-consistency-wine) !important;
}
body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary .bes-product-assurance__icon .bes-icon,
body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary .bes-product-assurance__icon svg {
  width:24px !important;
  height:24px !important;
}

/* The description has a clear reading hierarchy, with saved rich-text alignment preserved. */
body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary .bes-product-description {
  padding:22px !important;
  margin:0 0 12px !important;
  border:1px solid var(--bes-consistency-line) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.bes-storefront-consistency.single-product.bes-visual-refresh .bes-copy-title {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--bes-consistency-ink) !important;
  font-size:19px !important;
  font-weight:600 !important;
  margin:0 0 14px !important;
}
body.bes-storefront-consistency.single-product.bes-visual-refresh .bes-copy-title::before {
  content:"";
  width:3px;
  height:20px;
  border-radius:3px;
  background:var(--bes-consistency-wine);
}
body.bes-storefront-consistency.single-product.bes-visual-refresh .bes-product-description__content {
  max-width:66ch;
  color:#4b4145 !important;
  font-size:15.5px !important;
  line-height:1.8 !important;
  overflow-wrap:anywhere;
}
body.bes-storefront-consistency.single-product.bes-visual-refresh .bes-product-description__content p {
  margin:0 0 14px;
}
body.bes-storefront-consistency.single-product.bes-visual-refresh .bes-product-description__content > :last-child {
  margin-bottom:0;
}
body.bes-storefront-consistency.single-product.bes-visual-refresh .bes-product-description__content :is(strong,b) {
  color:var(--bes-consistency-ink);
  font-weight:700;
}

/* Service pages share the storefront's same type scale and quiet neutral surfaces. */
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.bes-service-page,.error404) .site-content {
  padding-top:24px;
  padding-bottom:32px;
}
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.bes-service-page,.error404) :is(.entry-title,.page-title,.bes-service-heading h1,.bes-current-delivery-info h1) {
  color:var(--bes-consistency-ink) !important;
  font-size:clamp(25px,3vw,37px) !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  letter-spacing:-.02em !important;
}
body.bes-storefront-consistency .bes-service-heading {
  margin:0 auto 24px;
  max-width:1100px;
}
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.bes-service-page,.error404) .site-content :is(.button,button[type=submit],input[type=submit],.elementor-button) {
  box-sizing:border-box;
  min-height:44px;
  padding:12px 20px;
  border:1px solid var(--bes-consistency-wine);
  border-radius:8px !important;
  background:var(--bes-consistency-wine);
  color:#fff;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  text-decoration:none;
  box-shadow:none;
  transition:background-color 160ms ease,border-color 160ms ease;
}
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.bes-service-page,.error404) .site-content :is(.button,button[type=submit],input[type=submit],.elementor-button):hover {
  background:#43202e !important;
  border-color:#43202e;
}
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.bes-service-page) .site-content :is(input.input-text,textarea,select,.select2-selection--single) {
  box-sizing:border-box;
  min-height:46px;
  border:1px solid #d9cdcf;
  border-radius:8px;
  background:#fff;
  color:var(--bes-consistency-ink);
  font-size:15px;
  line-height:1.5;
  box-shadow:none;
}
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.bes-service-page) .site-content :is(input.input-text,textarea,select):not([type=checkbox]):not([type=radio]) {
  padding:11px 13px;
}
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.bes-service-page) .site-content :is(input[type=checkbox],input[type=radio]) {
  accent-color:var(--bes-consistency-wine);
}
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.bes-service-page) .site-content .form-row label {
  color:#4c4046;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  margin-bottom:6px;
}
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.search) :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) {
  padding:18px 20px 18px 50px;
  border:1px solid var(--bes-consistency-line);
  border-radius:10px;
  background:#faf7f5;
  color:var(--bes-consistency-ink);
  font-size:14px;
  line-height:1.7;
  box-shadow:none;
}
body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .woocommerce-error {
  border-color:#d09b9b;
  background:#fff5f4;
  color:#7c2733;
}
body.bes-storefront-consistency.woocommerce-checkout .woocommerce-invalid :is(input.input-text,select,.select2-selection--single) {
  border-color:#9e3b4a;
}
body.bes-storefront-consistency.woocommerce-cart .cart-empty {
  padding:30px 20px;
  text-align:center;
}
body.bes-storefront-consistency.woocommerce-cart .cart-empty::before {
  position:static;
  display:block;
  margin:0 auto 8px;
  font-size:23px;
}
body.bes-storefront-consistency.woocommerce-cart .return-to-shop {
  text-align:center;
  margin:18px 0 28px;
}
body.bes-storefront-consistency.woocommerce-account #customer_login {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  max-width:1080px;
  margin:auto;
}
body.bes-storefront-consistency.woocommerce-account #customer_login > :is(.col-1,.col-2) {
  float:none;
  width:auto;
  padding:24px;
  border:1px solid var(--bes-consistency-line);
  border-radius:12px;
  background:#fff;
}
body.bes-storefront-consistency.woocommerce-account #customer_login h2 {
  margin:0 0 20px;
  color:var(--bes-consistency-ink);
  font-size:23px;
  font-weight:600;
}
body.bes-storefront-consistency.woocommerce-account #customer_login form {
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}
body.bes-storefront-consistency.woocommerce-account .woocommerce-privacy-policy-text {
  color:#65575e;
  font-size:13px;
  line-height:1.7;
}
body.bes-storefront-consistency.woocommerce-account .woocommerce-ResetPassword {
  max-width:600px;
  padding:24px;
  border:1px solid var(--bes-consistency-line);
  border-radius:12px;
  background:#fff;
}
body.bes-storefront-consistency.woocommerce-checkout :is(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields,#order_review),
body.bes-storefront-consistency.woocommerce-cart .cart_totals {
  border-color:var(--bes-consistency-line);
  border-radius:10px;
  box-shadow:none;
}
body.bes-storefront-consistency .bes-current-delivery-info {
  max-width:1100px;
  padding:26px !important;
  border:1px solid var(--bes-consistency-line) !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
body.bes-storefront-consistency .bes-current-delivery-info__grid > div {
  border:1px solid #eee4e2 !important;
  border-radius:9px !important;
  background:#faf7f5 !important;
  box-shadow:none !important;
}
body.bes-storefront-consistency.bes-service-document #main .entry-content {
  max-width:82ch;
  margin:0 auto;
  color:#4b4145;
  font-size:15px;
  line-height:1.85;
}
body.bes-storefront-consistency.bes-service-document #main :is(h2,h3) {
  margin:28px 0 14px;
  color:var(--bes-consistency-ink);
  font-size:22px;
  line-height:1.35;
}
body.bes-storefront-consistency.bes-service-document #main :is(p,li) {
  color:#4b4145;
  font-size:15px;
  line-height:1.85;
}
body.bes-storefront-consistency.page-id-20070 #main .elementor-top-section {
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  padding-top:20px !important;
  padding-bottom:20px !important;
}
body.bes-storefront-consistency.page-id-20070 #main .elementor-heading-title {
  color:var(--bes-consistency-ink) !important;
  font-weight:600 !important;
  font-size:clamp(21px,2.5vw,29px) !important;
  line-height:1.4 !important;
}
body.bes-storefront-consistency.page-id-20070 #main .elementor-widget-text-editor {
  color:#4b4145;
  font-size:15px;
  line-height:1.8;
}
body.bes-storefront-consistency.page-id-20070 #main .elementor-widget-text-editor p {
  margin-bottom:12px;
}
body.bes-storefront-consistency.page-id-22520 #main .elementor-element-76bb9c46 {
  min-height:0 !important;
  padding:36px 20px !important;
  background:var(--bes-consistency-wine) !important;
}
body.bes-storefront-consistency.page-id-22520 #main .elementor-element-76bb9c46 :is(h1,p) {
  color:#fff !important;
  line-height:1.55;
}
body.bes-storefront-consistency.page-id-22520 #main h1 {
  font-size:clamp(25px,3vw,37px) !important;
  font-weight:600 !important;
}
body.bes-storefront-consistency.page-id-22520 .airtable-embed {
  border:1px solid var(--bes-consistency-line) !important;
  border-radius:12px;
  background:#fff !important;
}
body.bes-storefront-consistency.page-id-46529 #main .elementor-form .elementor-field {
  border:1px solid #d9cdcf;
  border-radius:8px;
  background:#fff;
  color:var(--bes-consistency-ink);
}
body.bes-storefront-consistency.error404 #main,
body.bes-storefront-consistency.error404 .site-content .col-full > .site-main {
  max-width:900px;
  margin:0 auto;
}
body.bes-storefront-consistency .bes-service-empty {
  padding:24px;
  border:1px solid var(--bes-consistency-line);
  border-radius:12px;
  background:#faf7f5;
  color:var(--bes-consistency-ink);
  line-height:1.75;
}

@media(max-width:760px) {
  body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary > .bes-product-assurance {
    order:1 !important;
    gap:6px !important;
    margin-bottom:12px !important;
  }
  body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary .bes-product-assurance li {
    min-height:72px !important;
    padding:8px 6px !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }
  body.bes-storefront-consistency.single-product.bes-visual-refresh.bes-minimal-commerce .summary .bes-product-description {
    padding:18px !important;
  }
  body.bes-storefront-consistency.single-product.bes-visual-refresh .bes-product-description__content {
    font-size:15px !important;
    line-height:1.8 !important;
  }
  body.bes-storefront-consistency.woocommerce-account #customer_login {
    grid-template-columns:minmax(0,1fr);
    gap:18px;
  }
  body.bes-storefront-consistency.woocommerce-account #customer_login > :is(.col-1,.col-2) {
    padding:20px;
  }
  body.bes-storefront-consistency:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account,.bes-service-page,.error404) .site-content {
    padding-top:18px;
    padding-bottom:24px;
  }
  body.bes-storefront-consistency .bes-current-delivery-info {
    padding:20px !important;
  }
}
@media(prefers-reduced-motion:reduce) {
  body.bes-storefront-consistency .site-content :is(.button,button[type=submit],input[type=submit]),
  body.bes-storefront-consistency #site-navigation #menu-mobile > li > a {
    transition:none !important;
  }
}
