/* Gaudendo Enoteca 2026 — contemporary visual layer */
:root {
  --gd-ink: #211c1a;
  --gd-muted: #756d68;
  --gd-wine: #6e1f2a;
  --gd-wine-dark: #4e121b;
  --gd-olive: #6f7452;
  --gd-cream: #f7f3ed;
  --gd-paper: #fffdf9;
  --gd-line: #e8e0d7;
  --gd-white: #fff;
  --gd-shadow: 0 14px 44px rgba(44, 31, 25, .08);
  --gd-radius: 18px;
  --gd-container: 1280px;
}

html { scroll-behavior: smooth; }
body {
  background: var(--gd-paper);
  color: var(--gd-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body, button, input, select, textarea { color: var(--gd-ink); }
a { color: var(--gd-wine); transition: color .2s ease, opacity .2s ease, transform .2s ease; }
a:hover { color: var(--gd-wine-dark); }
img { height: auto; }

h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .widget-title,
.woocommerce div.product .product_title {
  color: var(--gd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.12;
}
h1, .page-title, .woocommerce div.product .product_title { font-size: clamp(2.15rem, 4.5vw, 4rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.65rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }

#page { background: var(--gd-paper); overflow: clip; }
.site-main,
.full-width .content-main,
.full-width .custom-content-main .wpb_wrapper,
.full-width .wpb_row .wpb_wrapper,
.full-width .site-main,
.header-main,
.top_main,
.footer-main-inner,
.footer-main-inner-last {
  width: min(calc(100% - 48px), var(--gd-container)) !important;
  max-width: var(--gd-container) !important;
}

/* Header */
.site-header {
  background: rgba(255,253,249,.96);
  border-bottom: 1px solid var(--gd-line);
  margin: 0;
  position: relative;
  z-index: 120;
}
.header-main { margin: 0 auto; }
.header-top {
  align-items: center;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  min-height: 106px;
  padding: 16px 0;
}
.site-header .home-link,
.site-header .logo {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  width: auto !important;
}
.site-header .logo img { max-height: 74px; max-width: 250px; width: auto; }
.header-link-left, .header-link-right { float: none !important; width: auto !important; }
.header-link-right { justify-self: end; }
.header-link-left { justify-self: start; }
.header-link-left a, .header-link-right a {
  color: var(--gd-muted) !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.header-link-left a:hover, .header-link-right a:hover { color: var(--gd-wine) !important; }

.site-top {
  background: var(--gd-paper);
  border-bottom: 1px solid var(--gd-line);
  position: sticky;
  top: 0;
  z-index: 110;
}
.top_main { margin: 0 auto; position: relative; }
.navbar-outer { float: none !important; width: 100% !important; }
.header-bottom, #navbar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  float: none !important;
  min-height: 64px;
  width: 100% !important;
}
.main-navigation { float: none !important; text-align: left; }
.main-navigation ul.nav-menu { align-items: center; display: flex; gap: 30px; margin: 0; min-height: 64px; }
.main-navigation li { background: none !important; border: 0 !important; }
.main-navigation li a {
  color: var(--gd-ink) !important;
  font-size: 14px !important;
  font-weight: 650;
  letter-spacing: .055em;
  line-height: 64px !important;
  padding: 0 !important;
  text-transform: uppercase;
}
.main-navigation li.current-menu-item > a,
.main-navigation li.current-menu-ancestor > a,
.main-navigation li a:hover { color: var(--gd-wine) !important; }
.main-navigation ul ul {
  background: var(--gd-white) !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 14px;
  box-shadow: var(--gd-shadow);
  min-width: 230px;
  padding: 10px !important;
}
.main-navigation ul ul a { border: 0 !important; line-height: 1.3 !important; padding: 11px 12px !important; text-transform: none; }
.header-middle { position: absolute; right: 0; top: 0; }
.header_cart { margin-top: 13px !important; }
.header_cart .cart { background: transparent !important; border: 0 !important; }
.header_cart .cart-contents {
  background: var(--gd-wine) !important;
  border-radius: 999px;
  color: var(--gd-white) !important;
  display: inline-flex !important;
  font-size: 13px;
  font-weight: 650;
  min-height: 38px;
  align-items: center;
  padding: 0 16px !important;
}

/* Hero / old slider */
#top-area { background: var(--gd-cream); margin: 0 calc(50% - 50vw); width: 100vw; }
#top-area .top-area-inner { margin: 0 auto; max-width: 1600px; }
.rev_slider_wrapper, .rev_slider { overflow: hidden; }

/* Main content */
.site-main { margin-left: auto !important; margin-right: auto !important; padding-top: 54px; padding-bottom: 80px; }
.homepage .site-main { padding-top: 68px; }
.entry-content { font-size: 1.02rem; }
.entry-content p { margin-bottom: 1.25em; }
.page-title, .entry-header { margin-bottom: 28px; }
.breadcrumbs, .woocommerce-breadcrumb {
  color: var(--gd-muted) !important;
  font-size: 13px !important;
  letter-spacing: .02em;
  margin-bottom: 22px !important;
}

/* Homepage headings */
.homepage h1, .homepage h2, .homepage .wpb_heading {
  margin-bottom: 30px;
  position: relative;
}
.homepage h2:after, .homepage .wpb_heading:after {
  background: var(--gd-wine);
  content: "";
  display: block;
  height: 2px;
  margin-top: 14px;
  width: 48px;
}

/* Products */
.woocommerce ul.products,
.woocommerce-page ul.products { margin: 0 !important; }
.woocommerce ul.products:before, .woocommerce ul.products:after { display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--gd-white);
  border: 1px solid var(--gd-line) !important;
  border-radius: var(--gd-radius);
  box-shadow: none;
  float: none !important;
  margin: 0 !important;
  min-width: 0;
  overflow: hidden;
  padding: 0 0 22px !important;
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  width: 100% !important;
}
.woocommerce ul.products li.product:hover {
  border-color: #d9cec3 !important;
  box-shadow: var(--gd-shadow);
  transform: translateY(-5px);
}
.woocommerce ul.products li.product a img {
  aspect-ratio: 4 / 5;
  background: #faf7f2;
  margin: 0 0 20px !important;
  object-fit: contain;
  padding: 18px;
  transition: transform .35s ease;
  width: 100% !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3,
.woocommerce-page ul.products li.product h3 {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.32 !important;
  min-height: 2.65em;
  padding: 0 18px !important;
}
.woocommerce ul.products li.product .price {
  color: var(--gd-wine) !important;
  display: block;
  font-size: 16px !important;
  font-weight: 700;
  margin: 12px 18px 16px !important;
}
.woocommerce ul.products li.product .price del { color: var(--gd-muted); opacity: .65; }
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  margin: 0 18px !important;
  width: calc(100% - 36px);
}
.woocommerce span.onsale {
  background: var(--gd-wine) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--gd-white) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  left: 14px !important;
  letter-spacing: .07em;
  line-height: 1 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 9px 11px !important;
  right: auto !important;
  text-transform: uppercase;
  top: 14px !important;
}

/* Buttons / inputs */
button:not(.wcc-btn):not(.gaudendo-menu-toggle):not(.gaudendo-menu-backdrop):not(.wcc-btn-revisit-wrapper button):not(.wcc-modal button):not(.wcc-consent-container button):not(.wcc-preference-center button),
input[type="button"]:not(.wcc-btn):not(.wcc-modal input):not(.wcc-consent-container input):not(.wcc-preference-center input),
input[type="reset"]:not(.wcc-btn):not(.wcc-modal input):not(.wcc-consent-container input):not(.wcc-preference-center input),
input[type="submit"]:not(.wcc-btn):not(.wcc-modal input):not(.wcc-consent-container input):not(.wcc-preference-center input),
.button:not(.wcc-btn):not(.wcc-modal .button):not(.wcc-consent-container .button):not(.wcc-preference-center .button),
.woocommerce a.button:not(.wcc-btn):not(.wcc-modal .button):not(.wcc-consent-container .button):not(.wcc-preference-center .button),
.woocommerce button.button:not(.wcc-btn):not(.wcc-modal .button):not(.wcc-consent-container .button):not(.wcc-preference-center .button),
.woocommerce input.button:not(.wcc-btn):not(.wcc-modal .button):not(.wcc-consent-container .button):not(.wcc-preference-center .button),
.woocommerce #respond input#submit:not(.wcc-btn) {
  background: var(--gd-wine) !important;
  border: 1px solid var(--gd-wine) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--gd-white) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .045em;
  line-height: 1 !important;
  padding: 14px 20px !important;
  text-shadow: none !important;
  text-transform: uppercase;
  transition: background .2s ease, border-color .2s ease, transform .2s ease !important;
}
button:not(.wcc-btn):not(.wcc-btn-revisit-wrapper button):hover,
input[type="submit"]:not(.wcc-btn):hover,
.button:not(.wcc-btn):hover,
.woocommerce a.button:not(.wcc-btn):hover,
.woocommerce button.button:not(.wcc-btn):hover,
.woocommerce input.button:not(.wcc-btn):hover {
  background: var(--gd-wine-dark) !important;
  border-color: var(--gd-wine-dark) !important;
  color: var(--gd-white) !important;
  transform: translateY(-1px);
}
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], textarea, select {
  background: var(--gd-white) !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--gd-ink) !important;
  min-height: 48px;
  padding: 11px 14px !important;
}
textarea { min-height: 140px; }
input:focus, textarea:focus, select:focus { border-color: var(--gd-wine) !important; outline: 3px solid rgba(110,31,42,.08); }

/* Shop controls */
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 28px; }
.woocommerce .woocommerce-ordering select { min-width: 220px; }
.woocommerce nav.woocommerce-pagination { margin-top: 44px; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; margin: 0 3px; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  align-items: center; border: 1px solid var(--gd-line); border-radius: 999px; color: var(--gd-ink) !important; display: inline-flex; height: 42px; justify-content: center; min-width: 42px; padding: 0 12px !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--gd-wine); border-color: var(--gd-wine); color: white !important; }

/* Product detail */
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom: 60px; }
.woocommerce div.product div.images img { background: var(--gd-white); border-radius: var(--gd-radius); }
.woocommerce div.product .summary { padding-top: 10px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--gd-wine) !important; font-size: 1.55rem !important; font-weight: 700; }
.woocommerce div.product form.cart { border-top: 1px solid var(--gd-line); margin-top: 24px; padding-top: 24px; }
.woocommerce .quantity .qty { border-radius: 999px !important; min-height: 45px; width: 74px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--gd-line); padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs:before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent !important; border: 0 !important; border-radius: 0 !important; margin: 0 24px 0 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs ul.tabs li:after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { border-bottom: 2px solid transparent; color: var(--gd-muted) !important; padding: 14px 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-color: var(--gd-wine); color: var(--gd-ink) !important; }

/* Tables/cart/checkout */
.woocommerce table.shop_table { background: var(--gd-white); border: 1px solid var(--gd-line) !important; border-radius: 16px !important; overflow: hidden; }
.woocommerce table.shop_table th { color: var(--gd-ink); font-weight: 700; padding: 16px !important; }
.woocommerce table.shop_table td { border-top-color: var(--gd-line) !important; padding: 16px !important; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review { background: var(--gd-cream); border-radius: var(--gd-radius); padding: 24px; }

/* Content cards / widgets */
.widget, article.post, article.page:not(.homepage article.page) { border-color: var(--gd-line); }
.widget-title { font-size: 21px !important; }
.widget ul li { border-bottom-color: var(--gd-line) !important; }

/* Footer */
.site-footer {
  background: #231d1a !important;
  border: 0 !important;
  color: rgba(255,255,255,.72) !important;
  margin-top: 40px;
  padding-top: 62px;
}
.footer-main { background: transparent !important; margin: 0 auto; }
.site-footer .widget-title, .site-footer .widget-title a { color: var(--gd-white) !important; font-size: 20px !important; }
.site-footer a { color: rgba(255,255,255,.76) !important; }
.site-footer a:hover { color: #fff !important; }
.footer-bottom-border-outer { border-top: 1px solid rgba(255,255,255,.12) !important; margin-top: 42px; }
.footer-bottom-border { padding: 22px 0 !important; }
.site-info { color: rgba(255,255,255,.55) !important; font-size: 13px; }
.footer-menu a { font-size: 13px; }

/* Remove dated decorative assets where possible */
.entry-title:before, .entry-title:after,
.widget-title:before, .widget-title:after,
.page-title:before, .page-title:after { background-image: none !important; }

@media (max-width: 1100px) {

  .main-navigation ul.nav-menu { gap: 20px; }
}
@media (max-width: 800px) {
  .site-main, .full-width .content-main, .full-width .site-main, .header-main, .top_main, .footer-main-inner, .footer-main-inner-last { width: min(calc(100% - 30px), var(--gd-container)) !important; }
  .header-top { grid-template-columns: 1fr auto; min-height: 82px; }
  .header-link-left { display: none; }
  .home-link.logo { justify-self: start; }
  .site-header .logo img { max-height: 58px; max-width: 190px; }
  .header-link-right { justify-self: end; }
  .site-top { position: relative; }
  .header-middle { right: 58px; }
  .menu-toggle { background: var(--gd-wine) !important; border-radius: 999px; color: white !important; cursor: pointer; display: inline-flex !important; font-family: inherit; font-size: 12px !important; letter-spacing: .05em; margin: 10px 0 !important; padding: 10px 16px !important; text-transform: uppercase; }
  .main-navigation ul.nav-menu { align-items: stretch; background: var(--gd-white); border: 1px solid var(--gd-line); border-radius: 14px; box-shadow: var(--gd-shadow); display: none; flex-direction: column; gap: 0; min-height: 0; padding: 10px; }
  .main-navigation.toggled-on ul.nav-menu, .main-navigation ul.nav-menu.toggled-on { display: flex; }
  .main-navigation li a { line-height: 1.35 !important; padding: 12px 10px !important; }

  .homepage .site-main, .site-main { padding-top: 38px; }
}
@media (max-width: 520px) {
  .header-link-right .header_login { display: none; }

  .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3, .woocommerce-page ul.products li.product h3 { font-size: 15px !important; min-height: 0; padding: 0 12px !important; }
  .woocommerce ul.products li.product .price { font-size: 14px !important; margin: 10px 12px 12px !important; }
  .woocommerce ul.products li.product .button, .woocommerce-page ul.products li.product .button { font-size: 10px !important; margin: 0 12px !important; padding: 12px 10px !important; width: calc(100% - 24px); }
  .woocommerce ul.products li.product a img { margin-bottom: 14px !important; padding: 10px; }
  .site-footer { padding-top: 44px; }
}

/* -------------------------------------------------------------------------
 * 3.0.2 — Homepage / WooCommerce loop correction
 * The legacy theme used Owl Carousel 1. The general CSS grid introduced in
 * 3.0.0 must never be applied after Owl has initialised the product list.
 * ---------------------------------------------------------------------- */

/* Normal product grids */
.woocommerce ul.products:not(.owl-carousel),
.woocommerce-page ul.products:not(.owl-carousel) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 22px;
  float: none !important;
  width: 100% !important;
}

/* Owl product carousels: let Owl calculate the wrapper/item widths. */
.woocommerce ul.products.owl-carousel,
.woocommerce-page ul.products.owl-carousel {
  display: block !important;
  float: none !important;
  gap: 0 !important;
  grid-template-columns: none !important;
  overflow: visible;
  width: 100% !important;
}
.woocommerce ul.products.owl-carousel .owl-wrapper-outer,
.woocommerce-page ul.products.owl-carousel .owl-wrapper-outer {
  overflow: hidden;
  width: 100%;
}
.woocommerce ul.products.owl-carousel .owl-wrapper,
.woocommerce-page ul.products.owl-carousel .owl-wrapper {
  display: block;
}
.woocommerce ul.products.owl-carousel .owl-item,
.woocommerce-page ul.products.owl-carousel .owl-item {
  box-sizing: border-box;
  padding: 8px 11px 22px;
}
.woocommerce ul.products.owl-carousel li.product,
.woocommerce-page ul.products.owl-carousel li.product {
  display: block !important;
  width: 100% !important;
}

/* New, valid product-card markup. */
.woocommerce ul.products li.product.gaudendo-product-card,
.woocommerce-page ul.products li.product.gaudendo-product-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  padding: 0 !important;
}
.gaudendo-product-card__inner {
  background: var(--gd-white);
  border: 1px solid var(--gd-line);
  border-radius: var(--gd-radius);
  box-shadow: 0 4px 18px rgba(44,31,25,.035);
  height: 100%;
  overflow: hidden;
  padding: 0 0 20px;
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.gaudendo-product-card:hover .gaudendo-product-card__inner {
  border-color: #d8ccc1;
  box-shadow: var(--gd-shadow);
  transform: translateY(-5px);
}
.gaudendo-product-card__media {
  background: #faf7f2;
  min-height: 320px;
  overflow: hidden;
  position: relative;
}
.woocommerce ul.products li.product .gaudendo-product-card__media a img,
.woocommerce-page ul.products li.product .gaudendo-product-card__media a img,
.woocommerce ul.products li.product .gaudendo-product-card__media img,
.woocommerce-page ul.products li.product .gaudendo-product-card__media img {
  aspect-ratio: 4 / 5;
  background: transparent;
  display: block;
  height: 320px !important;
  margin: 0 !important;
  object-fit: contain;
  padding: 24px 28px;
  width: 100% !important;
}
.gaudendo-product-card__content {
  padding: 18px 20px 4px;
  text-align: left;
}
.woocommerce ul.products li.product .gaudendo-product-card__content .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .gaudendo-product-card__content .woocommerce-loop-product__title {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  min-height: 2.7em;
  padding: 0 !important;
  text-align: left;
  text-transform: none !important;
}
.woocommerce ul.products li.product .gaudendo-product-card__content .price,
.woocommerce-page ul.products li.product .gaudendo-product-card__content .price {
  color: var(--gd-wine) !important;
  font-size: 16px !important;
  font-weight: 700;
  margin: 12px 0 0 !important;
  text-align: left;
}
.woocommerce ul.products li.product.gaudendo-product-card > .gaudendo-product-card__inner > .button,
.woocommerce-page ul.products li.product.gaudendo-product-card > .gaudendo-product-card__inner > .button,
.woocommerce ul.products li.product.gaudendo-product-card > .gaudendo-product-card__inner > .added_to_cart {
  display: inline-flex !important;
  margin: 14px 20px 0 !important;
  width: auto !important;
}

/* Homepage product sections */
.homepage .woo-content,
.homepage .woo-carousel,
.homepage .woocommerce {
  width: 100%;
}
.homepage .woo-content {
  margin-bottom: 76px;
}
.homepage .wpb_heading,
.homepage .widget-title,
.homepage .woocommerce > h2,
.homepage .woocommerce > h3 {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2rem, 3.4vw, 3.15rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
  margin: 0 0 34px !important;
  text-align: left !important;
  text-transform: none !important;
}
.homepage .wpb_heading:after,
.homepage .widget-title:after,
.homepage .woocommerce > h2:after,
.homepage .woocommerce > h3:after {
  background: var(--gd-wine) !important;
  content: "";
  display: block !important;
  height: 2px;
  margin: 16px 0 0 !important;
  width: 52px;
}

/* Owl navigation: compact arrows at the top right instead of tiny old icons. */
.woo-carousel { position: relative; }
.woo-carousel .owl-controls {
  height: 0;
  margin: 0 !important;
  position: absolute;
  right: 0;
  top: -70px;
  width: auto;
}
.woo-carousel .owl-theme .owl-controls .owl-buttons,
.woo-carousel .owl-controls .owl-buttons {
  display: flex;
  gap: 8px;
  position: static !important;
  width: auto !important;
}
.woo-carousel .owl-controls .owl-buttons div {
  align-items: center;
  background: var(--gd-white) !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 999px !important;
  color: transparent !important;
  display: inline-flex !important;
  float: none !important;
  height: 42px !important;
  justify-content: center;
  margin: 0 !important;
  opacity: 1 !important;
  padding: 0 !important;
  position: relative;
  width: 42px !important;
}
.woo-carousel .owl-controls .owl-buttons div:before {
  color: var(--gd-ink);
  font-family: Arial, sans-serif;
  font-size: 20px;
  line-height: 1;
  position: absolute;
  top: 9px;
}
.woo-carousel .owl-controls .owl-buttons .owl-prev:before { content: "‹"; }
.woo-carousel .owl-controls .owl-buttons .owl-next:before { content: "›"; }
.woo-carousel .owl-controls .owl-buttons div:hover {
  background: var(--gd-wine) !important;
  border-color: var(--gd-wine) !important;
}
.woo-carousel .owl-controls .owl-buttons div:hover:before { color: #fff; }

/* Header correction: the legacy responsive stylesheet adds side offsets around
 * 1150px. Keep the new navigation safely inside the modern container. */
.site-top .top_main {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.site-top .navbar-outer {
  margin: 0 !important;
  padding-right: 74px;
  width: 100% !important;
}
.main-navigation ul.nav-menu {
  overflow: visible;
  padding-left: 0 !important;
}

/* Avoid a large empty footer when the old footer widget areas are unused. */
.site-footer { min-height: 0 !important; }
.footer-main-inner { min-height: 0 !important; }
.footer-widget-outer:empty,
#footer-widget-area:empty { display: none !important; }
.footer-bottom-border-outer { margin-top: 18px !important; }

@media (max-width: 1100px) {
  .woocommerce ul.products:not(.owl-carousel),
  .woocommerce-page ul.products:not(.owl-carousel) {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}
@media (max-width: 800px) {
  .site-top .navbar-outer { padding-right: 0; }
  .woocommerce ul.products:not(.owl-carousel),
  .woocommerce-page ul.products:not(.owl-carousel) {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .gaudendo-product-card__media { min-height: 260px; }
  .woocommerce ul.products li.product .gaudendo-product-card__media img,
  .woocommerce-page ul.products li.product .gaudendo-product-card__media img {
    height: 260px !important;
  }
  .woo-carousel .owl-controls { top: -62px; }
}
@media (max-width: 520px) {
  .homepage .wpb_heading,
  .homepage .widget-title,
  .homepage .woocommerce > h2,
  .homepage .woocommerce > h3 { font-size: 2rem !important; padding-right: 84px; }
  .gaudendo-product-card__media { min-height: 210px; }
  .woocommerce ul.products li.product .gaudendo-product-card__media img,
  .woocommerce-page ul.products li.product .gaudendo-product-card__media img {
    height: 210px !important;
    padding: 16px;
  }
  .gaudendo-product-card__content { padding: 14px 14px 2px; }
  .woocommerce ul.products li.product.gaudendo-product-card > .gaudendo-product-card__inner > .button,
  .woocommerce-page ul.products li.product.gaudendo-product-card > .gaudendo-product-card__inner > .button,
  .woocommerce ul.products li.product.gaudendo-product-card > .gaudendo-product-card__inner > .added_to_cart {
    margin-left: 14px !important;
    margin-right: 14px !important;
  }
}

/* -------------------------------------------------------------------------
 * 3.0.4 — Gaudendo 2026 homepage + archive refinement
 * ---------------------------------------------------------------------- */

/* Header: one confident, airy bar. */
.gaudendo-header {
  position: sticky;
  top: 0;
  z-index: 200;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.gaudendo-header__inner {
  align-items: center;
  display: grid;
  gap: 32px;
  grid-template-columns: 180px minmax(0,1fr) auto;
  margin: 0 auto;
  min-height: 92px;
  width: min(calc(100% - 64px), var(--gd-container));
}
.gaudendo-header__brand img { max-height: 62px !important; max-width: 170px !important; width: auto !important; }
.gaudendo-header__nav .gaudendo-primary-menu { justify-content: center; }
.gaudendo-header__actions { align-items: center; display: flex; gap: 18px; justify-content: flex-end; white-space: nowrap; }
.gaudendo-account-link { align-items:center; color:var(--gd-ink)!important; display:inline-flex; font-size:13px; font-weight:650; gap:7px; }
.gaudendo-action-icon { color:var(--gd-olive); font-size:16px; }
.gaudendo-cart-link { align-items:center; background:var(--gd-wine); border-radius:999px; color:#fff!important; display:inline-flex; font-size:13px; font-weight:700; gap:8px; padding:11px 15px; }
.gaudendo-cart-link:hover { background:var(--gd-wine-dark); color:#fff!important; transform:translateY(-1px); }
.gaudendo-cart-count { align-items:center; background:#fff; border-radius:999px; color:var(--gd-wine); display:inline-flex; font-size:11px; height:22px; justify-content:center; min-width:22px; padding:0 5px; }
.gaudendo-header__utility { display:none; }

/* The dedicated homepage owns its spacing; no legacy page padding. */
body.page-template-home .site-main { max-width:none!important; padding:0!important; width:100%!important; }
body.page-template-home .content-area,
body.page-template-home .site-content { float:none!important; margin:0!important; max-width:none!important; padding:0!important; width:100%!important; }
.gaudendo-home-2026 { overflow:hidden; }
.gd-home-hero,
.gd-trust-strip,
.gd-home-section,
.gd-story-band,
.gd-home-cta {
  margin-left:auto;
  margin-right:auto;
  width:min(calc(100% - 64px), var(--gd-container));
}
.gd-eyebrow { color:var(--gd-wine); display:block; font-size:12px; font-weight:800; letter-spacing:.16em; margin-bottom:14px; text-transform:uppercase; }

/* Hero */
.gd-home-hero {
  align-items:stretch;
  display:grid;
  gap:0;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  min-height:620px;
  padding:46px 0 64px;
}
.gd-home-hero__copy {
  align-items:flex-start;
  background:#f2ece3;
  border-radius:30px 0 0 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:72px clamp(42px,6vw,92px);
}
.gd-home-hero__copy h1 { font-size:clamp(3.4rem,6.4vw,6rem); letter-spacing:-.055em; line-height:.94; margin:0 0 30px; max-width:760px; }
.gd-home-hero__copy p { color:#5e5651; font-size:18px; line-height:1.7; margin:0 0 34px; max-width:610px; }
.gd-home-actions { display:flex; flex-wrap:wrap; gap:12px; }
.gd-btn { align-items:center; border:1px solid transparent; border-radius:999px; display:inline-flex; font-size:13px; font-weight:800; justify-content:center; letter-spacing:.04em; min-height:50px; padding:0 23px; text-transform:uppercase; }
.gd-btn--primary { background:var(--gd-wine); color:#fff!important; }
.gd-btn--primary:hover { background:var(--gd-wine-dark); color:#fff!important; transform:translateY(-2px); }
.gd-btn--ghost { border-color:#cfc3b6; color:var(--gd-ink)!important; }
.gd-btn--ghost:hover { background:#fff; border-color:#fff; }
.gd-home-hero__visual { background:#213f35; border-radius:0 30px 30px 0; min-height:100%; overflow:hidden; position:relative; }
.gd-home-hero__halo { background:radial-gradient(circle,rgba(236,223,194,.22),rgba(236,223,194,0) 68%); height:620px; left:50%; position:absolute; top:48%; transform:translate(-50%,-50%); width:620px; }
.gd-hero-product { align-items:center; color:#fff!important; display:flex; flex-direction:column; height:100%; justify-content:center; padding:46px 50px; position:relative; text-align:center; z-index:2; }
.gd-hero-product__image { align-items:center; display:flex; height:390px; justify-content:center; width:100%; }
.gd-hero-product__image img { filter:drop-shadow(0 28px 28px rgba(0,0,0,.2)); height:100%!important; max-height:390px!important; max-width:82%!important; object-fit:contain; width:auto!important; }
.gd-hero-product__meta { align-items:center; display:flex; flex-direction:column; margin-top:8px; max-width:420px; }
.gd-hero-product__meta span { color:rgba(255,255,255,.66); font-size:11px; font-style:normal; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.gd-hero-product__meta strong { color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:22px; font-weight:500; line-height:1.25; margin:8px 0; }
.gd-hero-product__meta em { color:#fff; font-size:15px; font-style:normal; font-weight:800; }
.gd-hero-product__meta del { color:rgba(255,255,255,.55); }
.gd-hero-monogram { color:rgba(255,255,255,.12); font-family:Georgia,serif; font-size:390px; line-height:1; position:absolute; right:10%; top:10%; }

/* Trust / USP strip */
.gd-trust-strip { border-bottom:1px solid var(--gd-line); border-top:1px solid var(--gd-line); display:grid; grid-template-columns:repeat(3,1fr); margin-top:6px; }
.gd-trust-strip > div { display:grid; gap:4px; grid-template-columns:42px 1fr; padding:26px 32px; }
.gd-trust-strip > div + div { border-left:1px solid var(--gd-line); }
.gd-trust-strip span { color:var(--gd-wine); font-family:Georgia,serif; font-size:18px; grid-row:1 / span 2; }
.gd-trust-strip strong { font-size:14px; line-height:1.3; }
.gd-trust-strip small { color:var(--gd-muted); font-size:12px; line-height:1.5; }

/* Common homepage section */
.gd-home-section { padding:112px 0 0; }
.gd-section-head { align-items:flex-end; display:flex; gap:30px; justify-content:space-between; margin-bottom:38px; }
.gd-section-head h2 { font-size:clamp(2.4rem,4vw,4rem); letter-spacing:-.045em; margin:0; }
.gd-section-head > a { border-bottom:1px solid #bbaea2; color:var(--gd-ink)!important; font-size:13px; font-weight:750; margin-bottom:7px; padding-bottom:5px; }
.gd-section-head > a:hover { border-color:var(--gd-wine); color:var(--gd-wine)!important; }

/* Categories */
.gd-category-grid { display:grid; gap:18px; grid-template-columns:repeat(4,1fr); }
.gd-category-card { background:#f4efe8; border-radius:22px; color:var(--gd-ink)!important; display:flex; flex-direction:column; min-height:420px; overflow:hidden; position:relative; }
.gd-category-card__image { height:245px; overflow:hidden; }
.gd-category-card__image img { height:100%!important; object-fit:cover; transition:transform .5s ease; width:100%!important; }
.gd-category-card:hover .gd-category-card__image img { transform:scale(1.04); }
.gd-category-card__placeholder { align-items:center; background:linear-gradient(135deg,#e8ded0,#d9c9b6); display:flex; height:245px; justify-content:center; overflow:hidden; }
.gd-category-card--2 .gd-category-card__placeholder { background:linear-gradient(135deg,#dce5d9,#b8c4af); }
.gd-category-card--3 .gd-category-card__placeholder { background:linear-gradient(135deg,#ead9da,#d0b7b7); }
.gd-category-card--4 .gd-category-card__placeholder { background:linear-gradient(135deg,#ebe1bd,#cfbd80); }
.gd-category-card__placeholder span { color:rgba(255,255,255,.55); font-family:Georgia,serif; font-size:180px; line-height:1; transform:translateY(-8px); }
.gd-category-card__body { display:flex; flex:1; flex-direction:column; padding:24px; }
.gd-category-card__body span { color:var(--gd-muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.gd-category-card__body strong { font-family:Georgia,"Times New Roman",serif; font-size:27px; font-weight:500; line-height:1.1; margin:8px 0 24px; }
.gd-category-card__body em { color:var(--gd-wine); font-size:12px; font-style:normal; font-weight:800; margin-top:auto; }

/* Native product sections: no Owl, no legacy clone/hover layers. */
.gd-native-products .woocommerce { width:100%; }
.gd-native-products ul.products { display:grid!important; gap:22px!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; }
.gd-native-products .owl-wrapper-outer,
.gd-native-products .owl-controls { display:none!important; }
.gd-native-products li.product { display:block!important; width:auto!important; }
.gd-native-products .block_hover,
.gd-native-products .product-block-hover,
.gd-native-products .gridlist-buttonwrap { display:none!important; }

/* Story band */
.gd-story-band { align-items:center; background:#213f35; border-radius:30px; color:#fff; display:grid; gap:50px; grid-template-columns:.8fr 1.2fr; margin-top:118px; min-height:520px; overflow:hidden; padding:60px clamp(42px,7vw,100px); position:relative; }
.gd-story-band__mark { color:rgba(255,255,255,.08); font-family:Georgia,serif; font-size:470px; left:5%; line-height:.8; position:absolute; top:42%; transform:translateY(-50%); }
.gd-story-band__copy { grid-column:2; max-width:680px; position:relative; z-index:2; }
.gd-story-band .gd-eyebrow { color:#d7c99c; }
.gd-story-band h2 { color:#fff; font-size:clamp(2.7rem,4.5vw,4.7rem); letter-spacing:-.05em; margin:0 0 25px; }
.gd-story-band p { color:rgba(255,255,255,.75); font-size:16px; line-height:1.8; margin:0 0 26px; }
.gd-text-link { border-bottom:1px solid rgba(255,255,255,.45); color:#fff!important; display:inline-block; font-size:13px; font-weight:800; padding-bottom:4px; }

/* CTA */
.gd-home-cta { align-items:center; background:var(--gd-wine); border-radius:28px; display:flex; justify-content:space-between; margin-bottom:110px; margin-top:112px; padding:54px clamp(34px,6vw,78px); }
.gd-home-cta .gd-eyebrow { color:#dbc9b1; }
.gd-home-cta h2 { color:#fff; font-size:clamp(2.2rem,3.5vw,3.7rem); margin:0; }
.gd-btn--light { background:#fff; color:var(--gd-wine)!important; flex:none; margin-left:35px; }

/* Shop archive: eliminate old Grid/List helper remnants that created clipped
 * duplicate-looking rows between the actual product rows. */
.woocommerce-page.archive ul.products:not(.owl-carousel),
.post-type-archive-product ul.products:not(.owl-carousel),
.tax-product_cat ul.products:not(.owl-carousel),
.tax-product_tag ul.products:not(.owl-carousel) { align-items:stretch!important; grid-auto-rows:1fr; }
.woocommerce-page.archive ul.products:not(.owl-carousel) > li.product,
.post-type-archive-product ul.products:not(.owl-carousel) > li.product,
.tax-product_cat ul.products:not(.owl-carousel) > li.product,
.tax-product_tag ul.products:not(.owl-carousel) > li.product { display:block!important; float:none!important; height:100%!important; margin:0!important; overflow:visible!important; width:auto!important; }
.woocommerce-page.archive ul.products .block_hover,
.post-type-archive-product ul.products .block_hover,
.tax-product_cat ul.products .block_hover,
.tax-product_tag ul.products .block_hover,
.woocommerce-page.archive ul.products .product-block-hover,
.post-type-archive-product ul.products .product-block-hover,
.tax-product_cat ul.products .product-block-hover,
.tax-product_tag ul.products .product-block-hover,
.woocommerce-page.archive ul.products .gridlist-buttonwrap,
.post-type-archive-product ul.products .gridlist-buttonwrap,
.tax-product_cat ul.products .gridlist-buttonwrap,
.tax-product_tag ul.products .gridlist-buttonwrap { display:none!important; }

/* Cleaner archive header / sorting. */
.woocommerce .woocommerce-result-count { color:var(--gd-muted); font-size:13px; padding-top:13px; }
.woocommerce .woocommerce-ordering select { background:#fff!important; border-radius:999px!important; font-size:13px; min-width:230px; padding-left:18px!important; }

/* Product detail balance. */
.single-product .woocommerce div.product .product_title { font-size:clamp(2.7rem,4.7vw,4.9rem); line-height:.98; }
.single-product .woocommerce-product-details__short-description { color:#655d58; font-size:15px; max-width:640px; }
.single-product .woocommerce-Tabs-panel table { background:#fff; border:1px solid var(--gd-line); border-radius:16px; overflow:hidden; }
.single-product .woocommerce-Tabs-panel table td,
.single-product .woocommerce-Tabs-panel table th { border-bottom:1px solid var(--gd-line); padding:12px 16px; }

/* Footer 4-column layout */
.gaudendo-footer { margin-top:0!important; padding-top:0!important; }
.gaudendo-footer__inner { display:grid; gap:50px; grid-template-columns:1.4fr .8fr .8fr 1fr; margin:0 auto; padding:78px 0 64px; width:min(calc(100% - 64px),var(--gd-container)); }
.gaudendo-footer__brand p { color:rgba(255,255,255,.58); font-size:14px; line-height:1.75; margin:22px 0 0; max-width:300px; }
.gaudendo-footer__logo img { filter:brightness(0) invert(1); max-height:72px!important; max-width:190px!important; opacity:.9; width:auto!important; }
.gaudendo-footer__column h3 { color:#fff; font-family:inherit; font-size:12px!important; font-weight:800; letter-spacing:.14em; margin:7px 0 22px; text-transform:uppercase; }
.gaudendo-footer-menu { list-style:none; margin:0!important; padding:0!important; }
.gaudendo-footer-menu li { margin:0 0 9px; }
.gaudendo-footer-menu a { color:rgba(255,255,255,.66)!important; font-size:13px; }
.gaudendo-footer-menu a:hover { color:#fff!important; }
.gaudendo-footer__service p { color:rgba(255,255,255,.58); font-size:13px; line-height:1.7; margin:0 0 19px; }
.gd-footer-contact { border-bottom:1px solid rgba(255,255,255,.3); color:#fff!important; display:inline-block; font-size:13px; font-weight:750; padding-bottom:3px; }
.gd-footer-account { color:rgba(255,255,255,.58)!important; display:block; font-size:12px; margin-top:16px; }
.gaudendo-footer__bottom { border-top:1px solid rgba(255,255,255,.1); }
.gaudendo-footer__bottom-inner { color:rgba(255,255,255,.42); display:flex; font-size:11px; justify-content:space-between; margin:0 auto; padding:21px 0; width:min(calc(100% - 64px),var(--gd-container)); }

@media (max-width: 1050px) {
  .gaudendo-header__inner { grid-template-columns:140px minmax(0,1fr) auto; gap:20px; }
  .gaudendo-header__brand img { max-width:135px!important; }
  .gaudendo-primary-menu { gap:18px!important; }
  .gaudendo-primary-menu a { font-size:12px!important; }
  .gd-home-hero { grid-template-columns:1fr 42%; min-height:560px; }
  .gd-home-hero__copy { padding:55px; }
  .gd-category-grid { grid-template-columns:repeat(2,1fr); }
  .gd-native-products ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .gaudendo-footer__inner { grid-template-columns:1.3fr 1fr 1fr; }
  .gaudendo-footer__service { grid-column:2 / span 2; }
}

@media (max-width: 800px) {
  .gaudendo-header__inner { grid-template-columns:1fr auto; min-height:76px; width:min(calc(100% - 30px),var(--gd-container)); }
  .gaudendo-header__brand img { max-height:54px!important; max-width:145px!important; }
  .gaudendo-header__nav { grid-column:1 / -1; grid-row:2; }
  .gaudendo-header__actions { grid-column:2; grid-row:1; }
  .gaudendo-account-link { display:none; }
  .gaudendo-action-label { display:none; }
  .gaudendo-cart-link { padding:9px 11px; }
  .gaudendo-menu-toggle { position:absolute; right:64px; top:19px; }
  .gaudendo-header__nav .gaudendo-primary-menu { justify-content:flex-start; }
  .gd-home-hero,.gd-trust-strip,.gd-home-section,.gd-story-band,.gd-home-cta { width:min(calc(100% - 30px),var(--gd-container)); }
  .gd-home-hero { display:flex; flex-direction:column; padding-top:22px; }
  .gd-home-hero__copy { border-radius:24px 24px 0 0; padding:52px 32px; }
  .gd-home-hero__copy h1 { font-size:clamp(3.1rem,13vw,5rem); }
  .gd-home-hero__visual { border-radius:0 0 24px 24px; min-height:480px; }
  .gd-trust-strip { grid-template-columns:1fr; }
  .gd-trust-strip > div + div { border-left:0; border-top:1px solid var(--gd-line); }
  .gd-section-head { align-items:flex-start; flex-direction:column; }
  .gd-home-section { padding-top:78px; }
  .gd-story-band { display:block; margin-top:80px; min-height:auto; padding:72px 38px; }
  .gd-story-band__copy { max-width:100%; }
  .gd-home-cta { align-items:flex-start; flex-direction:column; margin-bottom:78px; margin-top:78px; }
  .gd-btn--light { margin:28px 0 0; }
  .gaudendo-footer__inner { grid-template-columns:1fr 1fr; padding-top:58px; width:min(calc(100% - 30px),var(--gd-container)); }
  .gaudendo-footer__brand { grid-column:1 / -1; }
  .gaudendo-footer__service { grid-column:1 / -1; }
  .gaudendo-footer__bottom-inner { width:min(calc(100% - 30px),var(--gd-container)); }
}

@media (max-width: 520px) {
  .gd-home-hero__copy { padding:44px 24px; }
  .gd-home-hero__copy p { font-size:16px; }
  .gd-home-hero__visual { min-height:410px; }
  .gd-hero-product { padding:28px 24px; }
  .gd-hero-product__image { height:300px; }
  .gd-hero-product__image img { max-height:300px!important; }
  .gd-category-grid { grid-template-columns:1fr; }
  .gd-category-card { min-height:360px; }
  .gd-native-products ul.products { gap:14px!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .gd-native-products .gaudendo-product-card__media { min-height:210px; }
  .gd-native-products .gaudendo-product-card__content .woocommerce-loop-product__title { font-size:14px!important; }
  .gd-story-band { padding:56px 24px; }
  .gd-home-cta { padding:42px 25px; }
  .gaudendo-footer__inner { grid-template-columns:1fr; gap:34px; }
  .gaudendo-footer__brand,.gaudendo-footer__service { grid-column:auto; }
  .gaudendo-footer__bottom-inner { flex-direction:column; gap:5px; }
}


/* -------------------------------------------------------------------------
 * 3.0.5 — product image/title refinement + 18+ age gate
 * ---------------------------------------------------------------------- */

/* Product names: preserve the capitalization entered in WooCommerce.
   This also overrides old Lookz rules such as text-transform: capitalize. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.gaudendo-product-card__content .woocommerce-loop-product__title,
.gd-native-products .woocommerce-loop-product__title {
  text-transform: none !important;
}

/* Keep the complete product-photo area white so white-background bottle
   photography visually flows into the card instead of looking cropped. */
.gaudendo-product-card__media,
.woocommerce ul.products li.product .gaudendo-product-card__media,
.woocommerce-page ul.products li.product .gaudendo-product-card__media {
  background: #fff !important;
}
.gaudendo-product-card__media img {
  background: #fff !important;
}

/* 18+ age confirmation */
body.gaudendo-age-gate-open { overflow: hidden !important; }
.gaudendo-age-gate[hidden] { display: none !important; }
.gaudendo-age-gate {
  align-items: center;
  background: rgba(24,20,18,.86);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 999999;
}
.gaudendo-age-gate__dialog {
  background: #fffdf9;
  border: 1px solid #e4d9ce;
  border-radius: 26px;
  box-shadow: 0 28px 90px rgba(0,0,0,.28);
  max-width: 540px;
  padding: clamp(34px,5vw,58px);
  text-align: center;
  width: 100%;
}
.gaudendo-age-gate__logo { margin: 0 auto 28px; max-height: 72px; max-width: 190px; width: auto; }
.gaudendo-age-gate__eyebrow {
  color: var(--gd-wine);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.gaudendo-age-gate__dialog h2 {
  color: var(--gd-ink);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(2rem,5vw,3rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.05;
  margin: 0 0 18px;
  text-transform: none;
}
.gaudendo-age-gate__dialog p {
  color: var(--gd-muted);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 auto 28px;
  max-width: 420px;
}
.gaudendo-age-gate__actions { display: flex; gap: 10px; justify-content: center; }
.gaudendo-age-gate__button {
  border: 1px solid var(--gd-wine);
  border-radius: 999px;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  min-height: 48px;
  padding: 0 23px;
}
.gaudendo-age-gate__button--yes { background: var(--gd-wine); color: #fff; }
.gaudendo-age-gate__button--yes:hover { background: var(--gd-wine-dark); }
.gaudendo-age-gate__button--no { background: transparent; color: var(--gd-wine); }
.gaudendo-age-gate__message {
  color: var(--gd-wine) !important;
  font-size: 12px !important;
  margin: 18px 0 0 !important;
}
@media (max-width: 520px) {
  .gaudendo-age-gate { padding: 15px; }
  .gaudendo-age-gate__dialog { border-radius: 20px; padding: 34px 24px; }
  .gaudendo-age-gate__actions { flex-direction: column; }
  .gaudendo-age-gate__button { width: 100%; }
}


/* -------------------------------------------------------------------------
 * 3.0.6 — typography, dropdown refinement and header icons
 * ---------------------------------------------------------------------- */

/* Preserve the exact capitalization entered in WordPress/WooCommerce.
   The legacy Lookz stylesheet applies capitalize to several heading levels. */
.site-main h1,
.site-main h2,
.site-main h3,
.site-main h4,
.site-main h5,
.site-main h6,
.entry-title,
.page-title,
.woocommerce-products-header__title,
.woocommerce div.product .product_title,
.gd-home-hero__copy h1,
.gd-home-section h2,
.gd-story-band h2,
.gd-home-cta h2,
.woocommerce-loop-product__title {
  text-transform: none !important;
}

/* Remove the legacy inset shadow that appeared as a second top border
   inside desktop dropdown menus. */
.gaudendo-header__nav .nav-menu li ul,
.gaudendo-header__nav .nav-menu li.main-li ul.sub-menu,
.gaudendo-header__nav .nav-menu .sub-menu {
  box-shadow: none !important;
}
.gaudendo-header__nav .nav-menu li.main-li > ul.sub-menu {
  border: 1px solid var(--gd-line) !important;
  padding-top: 0 !important;
}

/* Clear, semantic account/cart icons. */
.gaudendo-action-icon,
.gaudendo-cart-icon {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  height: 19px;
  justify-content: center;
  width: 19px;
}
.gaudendo-action-icon svg,
.gaudendo-cart-icon svg {
  display: block;
  fill: none;
  height: 100%;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 100%;
}
.gaudendo-account-link .gaudendo-action-icon {
  color: var(--gd-olive);
}
.gaudendo-cart-link .gaudendo-cart-icon {
  color: #fff;
  font-size: inherit;
  transform: none !important;
}


/* -------------------------------------------------------------------------
 * 3.0.7 — homepage proportions, interaction states and legacy page polish
 * ---------------------------------------------------------------------- */

/* A slightly calmer, shorter desktop hero. */
@media (min-width: 901px) {
  .gd-home-hero {
    min-height: 540px;
    padding-top: 30px;
    padding-bottom: 46px;
  }
  .gd-home-hero__copy {
    padding: 54px clamp(38px,5vw,76px);
  }
  .gd-home-hero__copy h1 {
    font-size: clamp(3.1rem,5.15vw,5rem);
    line-height: .96;
    margin-bottom: 24px;
    max-width: 690px;
  }
  .gd-home-hero__copy p {
    font-size: 17px;
    margin-bottom: 28px;
  }
  .gd-hero-product {
    padding-top: 34px;
    padding-bottom: 34px;
  }
  .gd-hero-product__image {
    height: 330px;
  }
  .gd-hero-product__image img {
    max-height: 330px !important;
  }
}

/* Category cards should visibly react as one clickable object. */
.gd-category-card {
  border: 1px solid transparent;
  box-shadow: 0 0 0 rgba(39,29,24,0);
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease;
}
.gd-category-card:hover,
.gd-category-card:focus-visible {
  background: #fff;
  border-color: #ded2c5;
  box-shadow: 0 18px 42px rgba(45,35,29,.10);
  color: var(--gd-ink) !important;
  transform: translateY(-6px);
}
.gd-category-card__placeholder {
  transition: filter .3s ease, transform .35s ease;
}
.gd-category-card:hover .gd-category-card__placeholder,
.gd-category-card:focus-visible .gd-category-card__placeholder {
  filter: saturate(1.08) contrast(1.02);
}
.gd-category-card__body em {
  display: inline-block;
  transition: color .2s ease, transform .25s ease;
}
.gd-category-card:hover .gd-category-card__body em,
.gd-category-card:focus-visible .gd-category-card__body em {
  color: var(--gd-wine-dark);
  transform: translateX(4px);
}

/* Consistent interaction states for homepage/footer links and buttons. */
.gd-btn,
.gd-text-link,
.gd-section-head > a,
.gd-footer-contact,
.gaudendo-footer-menu a,
.gd-footer-account {
  transition:
    color .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    transform .2s ease,
    opacity .2s ease;
}
.gd-btn--ghost:hover,
.gd-btn--ghost:focus-visible {
  background: #fff;
  border-color: #bdaea0;
  color: var(--gd-wine) !important;
  transform: translateY(-2px);
}
.gd-btn--light:hover,
.gd-btn--light:focus-visible {
  background: #f4ede5;
  color: var(--gd-wine-dark) !important;
  transform: translateY(-2px);
}
.gd-text-link:hover,
.gd-text-link:focus-visible {
  border-color: #fff;
  opacity: .78;
  transform: translateX(4px);
}
.gd-footer-contact:hover,
.gd-footer-contact:focus-visible {
  border-color: #fff;
  transform: translateX(3px);
}
.gd-footer-account:hover,
.gd-footer-account:focus-visible {
  color: #fff !important;
}
.gd-section-head > a:hover,
.gd-section-head > a:focus-visible {
  transform: translateX(3px);
}

/* The old parent theme can constrain #page/footer on single-product views.
   Break only the modern footer out to the actual viewport width. */
body.single-product .gaudendo-footer {
  box-sizing: border-box;
  left: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: none !important;
  position: relative;
  right: 50%;
  width: 100vw !important;
}

/* Legacy producer CTA: make the existing Silvano Nizza product-category link
   look like the rest of the Gaudendo 2026 buttons. */
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content a[href*="/product-categorie/silvano-nizza"] {
  align-items: center;
  background: var(--gd-wine) !important;
  border: 1px solid var(--gd-wine) !important;
  border-radius: 999px;
  box-shadow: none !important;
  color: #fff !important;
  display: inline-flex;
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: .035em;
  line-height: 1.2;
  margin-top: 6px;
  min-height: 48px;
  padding: 0 22px !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content a[href*="/product-categorie/silvano-nizza"]:hover,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content a[href*="/product-categorie/silvano-nizza"]:focus-visible {
  background: var(--gd-wine-dark) !important;
  border-color: var(--gd-wine-dark) !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* "SVEN" is content written in capitals. Render this first section heading as
   an editorial name heading instead of the old bright-green all-caps label. */
body.post-slug-medewerkers-wie-is-gaudendo .entry-content > h2:first-of-type {
  color: var(--gd-wine) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.25rem,3.2vw,3.4rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.05 !important;
  margin: 0 0 20px !important;
  text-transform: capitalize !important;
}
body.post-slug-medewerkers-wie-is-gaudendo .entry-content > h2:first-of-type + h2 {
  margin-top: 0 !important;
}

/* Keep compact hero proportions on medium screens as well. */
@media (max-width: 1200px) and (min-width: 901px) {
  .gd-home-hero {
    min-height: 510px;
  }
  .gd-home-hero__copy {
    padding: 46px;
  }
  .gd-home-hero__copy h1 {
    font-size: clamp(3rem,5.2vw,4.35rem);
  }
  .gd-hero-product__image {
    height: 300px;
  }
  .gd-hero-product__image img {
    max-height: 300px !important;
  }
}
\n\n/* -------------------------------------------------------------------------\n * 3.0.9 — shop category navigation, footer menu locations, Sven refinement\n * ---------------------------------------------------------------------- */\n\n/* Product archive with a real category navigation column. */\n.gd-shop-layout {\n  display: grid !important;\n  gap: clamp(28px,4vw,58px);\n  grid-template-columns: 220px minmax(0,1fr);\n  align-items: start;\n}\n.gd-shop-main { min-width: 0; }\n.gd-shop-sidebar { padding-top: 4px; }\n.gd-shop-sidebar__inner {\n  position: sticky;\n  top: 92px;\n}\n.gd-shop-sidebar h2 {\n  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;\n  font-size: 12px !important;\n  font-weight: 800 !important;\n  letter-spacing: .14em !important;\n  margin: 0 0 18px !important;\n  text-transform: uppercase !important;\n}\n.gd-shop-sidebar__all,\n.gd-shop-sidebar__list a {\n  align-items: center;\n  border-bottom: 1px solid var(--gd-line);\n  color: var(--gd-ink) !important;\n  display: flex;\n  font-size: 14px;\n  justify-content: space-between;\n  line-height: 1.35;\n  padding: 12px 0;\n  text-decoration: none !important;\n  transition: color .2s ease, padding-left .2s ease;\n}\n.gd-shop-sidebar__list { list-style: none; margin: 0; padding: 0; }\n.gd-shop-sidebar__list a span { color: var(--gd-muted); font-size: 11px; margin-left: 12px; }\n.gd-shop-sidebar__all:hover,\n.gd-shop-sidebar__list a:hover { color: var(--gd-wine) !important; padding-left: 5px; }\n.gd-shop-sidebar__all.is-active,\n.gd-shop-sidebar__list a.is-active { color: var(--gd-wine) !important; font-weight: 750; }\n.gd-shop-sidebar__all.is-active::before,\n.gd-shop-sidebar__list a.is-active::before {\n  background: var(--gd-wine);\n  border-radius: 50%;\n  content: "";\n  height: 6px;\n  margin-right: 9px;\n  width: 6px;\n}\n.gd-shop-sidebar__list a.is-active span { margin-left: auto; }\n\n/* The name heading should feel contemporary and understated, not decorative. */\nbody.post-slug-medewerkers-wie-is-gaudendo .entry-content > h2:first-of-type {\n  color: var(--gd-wine) !important;\n  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;\n  font-size: clamp(1.55rem,2.1vw,2rem) !important;\n  font-weight: 750 !important;\n  letter-spacing: .08em !important;\n  line-height: 1.15 !important;\n  margin: 0 0 22px !important;\n  text-transform: none !important;\n}\n\n/* Footer menus assigned by WordPress should stay clean and column-like. */\n.gaudendo-footer-menu { list-style: none; margin: 0; padding: 0; }\n.gaudendo-footer-menu li { margin: 0 0 12px; }\n.gaudendo-footer-menu a { display: inline-block; }\n\n@media (max-width: 900px) {\n  .gd-shop-layout { grid-template-columns: 1fr; }\n  .gd-shop-sidebar__inner { position: static; }\n  .gd-shop-sidebar {\n    border-bottom: 1px solid var(--gd-line);\n    overflow-x: auto;\n    padding-bottom: 16px;\n  }\n  .gd-shop-sidebar h2 { margin-bottom: 10px !important; }\n  .gd-shop-sidebar__list { display: flex; gap: 8px; width: max-content; }\n  .gd-shop-sidebar__all, .gd-shop-sidebar__list a {\n    border: 1px solid var(--gd-line);\n    border-radius: 999px;\n    padding: 9px 13px;\n    white-space: nowrap;\n  }\n  .gd-shop-sidebar__all { display: inline-flex; margin-bottom: 8px; }\n  .gd-shop-sidebar__all:hover, .gd-shop-sidebar__list a:hover { padding-left: 13px; }\n}\n

/* -------------------------------------------------------------------------
 * 3.0.10 — compact archive category filter
 * ---------------------------------------------------------------------- */

/* v3.0.9 used a left category column. Archives are full width again. */
.gd-shop-layout {
  display: block !important;
  width: 100% !important;
}
.gd-shop-main {
  min-width: 0;
  width: 100% !important;
}
.gd-shop-sidebar { display: none !important; }

/* Keep result count, category selector and ordering in one clean toolbar. */
.woocommerce .woocommerce-result-count {
  float: left;
  margin: 0 !important;
  padding-top: 13px;
}
.woocommerce .gd-shop-category-filter,
.woocommerce .woocommerce-ordering {
  float: right;
  margin: 0 0 28px 10px !important;
}
.woocommerce .gd-shop-category-filter select,
.woocommerce .woocommerce-ordering select {
  background: #fff !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 999px !important;
  color: var(--gd-ink);
  font-size: 13px;
  min-height: 44px;
  padding: 0 42px 0 17px !important;
}
.woocommerce .gd-shop-category-filter select { min-width: 205px; }
.woocommerce .woocommerce-ordering select { min-width: 210px; }

/* Clear the toolbar before the product loop starts. */
.woocommerce .products {
  clear: both;
}

@media (max-width: 760px) {
  .woocommerce .woocommerce-result-count,
  .woocommerce .gd-shop-category-filter,
  .woocommerce .woocommerce-ordering {
    float: none;
    width: 100%;
  }
  .woocommerce .woocommerce-result-count {
    margin-bottom: 12px !important;
    padding-top: 0;
  }
  .woocommerce .gd-shop-category-filter,
  .woocommerce .woocommerce-ordering {
    margin: 0 0 10px !important;
  }
  .woocommerce .gd-shop-category-filter select,
  .woocommerce .woocommerce-ordering select {
    min-width: 0;
    width: 100%;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.11 — unified WooCommerce archive toolbar
 * ---------------------------------------------------------------------- */

/* Hide any legacy standalone controls from v3.0.10. */
.woocommerce .gd-shop-category-filter { display: none !important; }

/* Remove the old Lookz/WooCommerce bar background completely. */
.woocommerce .gd-shop-toolbar,
.woocommerce .gd-shop-toolbar * {
  box-sizing: border-box;
}
.woocommerce .gd-shop-toolbar {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  clear: both;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin: 18px 0 28px;
  padding: 0 !important;
  width: 100%;
}
.woocommerce .gd-shop-toolbar__result {
  color: var(--gd-muted);
  flex: 1 1 auto;
  font-size: 13px;
  min-width: 220px;
}
.woocommerce .gd-shop-toolbar__result .woocommerce-result-count {
  background: transparent !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce .gd-shop-toolbar__controls {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  margin-left: auto;
}
.woocommerce .gd-shop-toolbar__field,
.woocommerce .gd-shop-toolbar__ordering,
.woocommerce .gd-shop-toolbar__ordering .woocommerce-ordering {
  display: block;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce .gd-shop-toolbar select,
.woocommerce .gd-shop-toolbar__ordering select {
  appearance: auto;
  -webkit-appearance: auto;
  background-color: #fff !important;
  border: 1px solid #d8cec4 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--gd-ink) !important;
  font-family: inherit;
  font-size: 13px !important;
  font-weight: 500;
  height: 46px;
  line-height: 44px;
  margin: 0 !important;
  min-width: 220px;
  outline: 0;
  padding: 0 38px 0 15px !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.woocommerce .gd-shop-toolbar select:hover,
.woocommerce .gd-shop-toolbar select:focus {
  border-color: var(--gd-wine) !important;
  box-shadow: 0 0 0 3px rgba(126,31,45,.08) !important;
}
.woocommerce .gd-shop-toolbar__field--category select { min-width: 210px; }
.woocommerce .gd-shop-toolbar__ordering select { min-width: 215px; }

/* Parent-theme rules sometimes paint result/order wrappers; neutralize them. */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-result-count,
.woocommerce-page .woocommerce-ordering {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.woocommerce .products { clear: both; }

@media (max-width: 760px) {
  .woocommerce .gd-shop-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .woocommerce .gd-shop-toolbar__result { min-width: 0; }
  .woocommerce .gd-shop-toolbar__controls {
    align-items: stretch;
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr;
    margin-left: 0;
    width: 100%;
  }
  .woocommerce .gd-shop-toolbar select,
  .woocommerce .gd-shop-toolbar__ordering select {
    min-width: 0 !important;
    width: 100%;
  }
}
@media (max-width: 520px) {
  .woocommerce .gd-shop-toolbar__controls { grid-template-columns: 1fr; }
}


/* -------------------------------------------------------------------------
 * 3.0.12 — definitive single-line WooCommerce toolbar
 * ---------------------------------------------------------------------- */
body.woocommerce .gd-shop-toolbar,
body.woocommerce-page .gd-shop-toolbar {
  align-items: center !important;
  background: transparent !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 24px !important;
  margin: 18px 0 28px !important;
  padding: 0 !important;
  width: 100% !important;
}

body.woocommerce .gd-shop-toolbar__result,
body.woocommerce-page .gd-shop-toolbar__result {
  align-self: center !important;
  color: var(--gd-muted) !important;
  float: none !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

body.woocommerce .gd-shop-toolbar__controls,
body.woocommerce-page .gd-shop-toolbar__controls {
  align-items: center !important;
  display: grid !important;
  float: none !important;
  gap: 10px !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(215px, 240px) !important;
  justify-content: end !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce .gd-shop-toolbar__field,
body.woocommerce-page .gd-shop-toolbar__field,
body.woocommerce .gd-shop-toolbar__ordering-form,
body.woocommerce-page .gd-shop-toolbar__ordering-form {
  display: block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.woocommerce .gd-shop-toolbar select,
body.woocommerce-page .gd-shop-toolbar select {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  background-color: #fff !important;
  border: 1px solid #d8cec4 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--gd-ink) !important;
  display: block !important;
  float: none !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  height: 46px !important;
  line-height: normal !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 38px 0 15px !important;
  width: 100% !important;
}

body.woocommerce .gd-shop-toolbar select:hover,
body.woocommerce .gd-shop-toolbar select:focus,
body.woocommerce-page .gd-shop-toolbar select:hover,
body.woocommerce-page .gd-shop-toolbar select:focus {
  border-color: var(--gd-wine) !important;
  box-shadow: 0 0 0 3px rgba(126,31,45,.08) !important;
}

@media (max-width: 900px) {
  body.woocommerce .gd-shop-toolbar,
  body.woocommerce-page .gd-shop-toolbar {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body.woocommerce .gd-shop-toolbar__controls,
  body.woocommerce-page .gd-shop-toolbar__controls {
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    justify-content: stretch !important;
  }
}
@media (max-width: 560px) {
  body.woocommerce .gd-shop-toolbar__controls,
  body.woocommerce-page .gd-shop-toolbar__controls {
    grid-template-columns: 1fr !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.14 — modern FAQ
 * ---------------------------------------------------------------------- */

body.post-slug-faq .content-main-other {
  padding-top: 0 !important;
}
body.post-slug-faq #primary,
body.post-slug-faq .site-content,
body.post-slug-faq article,
body.post-slug-faq .entry-content {
  max-width: none !important;
  width: 100% !important;
}
body.post-slug-faq .entry-content {
  box-sizing: border-box;
  margin: 0 auto !important;
  max-width: 1240px !important;
  padding: clamp(42px,6vw,84px) 28px clamp(70px,8vw,110px) !important;
}
body.post-slug-faq .entry-meta {
  display: none;
}

.gd-faq {
  margin: 0 auto;
  max-width: 1040px;
}
.gd-faq__hero {
  margin-bottom: clamp(34px,5vw,58px);
  max-width: 760px;
}
.gd-faq__eyebrow {
  color: var(--gd-wine);
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  margin-bottom: 14px;
  text-transform: uppercase;
}
.gd-faq__hero h1 {
  color: var(--gd-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem,6vw,5.4rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .98;
  margin: 0 0 20px;
  text-transform: none !important;
}
.gd-faq__hero p {
  color: var(--gd-muted);
  font-size: clamp(16px,1.5vw,19px);
  line-height: 1.65;
  margin: 0;
  max-width: 690px;
}

.gd-faq__list {
  border-top: 1px solid var(--gd-line);
}
.gd-faq__item {
  border-bottom: 1px solid var(--gd-line);
  margin: 0;
}
.gd-faq__question {
  align-items: center;
  color: var(--gd-ink);
  cursor: pointer;
  display: flex;
  font-size: clamp(18px,1.7vw,22px);
  font-weight: 700;
  gap: 22px;
  justify-content: space-between;
  list-style: none;
  padding: 26px 4px;
  transition: color .2s ease;
}
.gd-faq__question::-webkit-details-marker {
  display: none;
}
.gd-faq__question:hover,
.gd-faq__question:focus-visible {
  color: var(--gd-wine);
}
.gd-faq__icon {
  align-items: center;
  border: 1px solid #d8cec4;
  border-radius: 50%;
  color: var(--gd-wine);
  display: inline-flex;
  flex: 0 0 38px;
  height: 38px;
  justify-content: center;
  transition: background-color .2s ease, border-color .2s ease, transform .25s ease;
  width: 38px;
}
.gd-faq__icon svg {
  fill: none;
  height: 16px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.7;
  width: 16px;
}
.gd-faq__item[open] .gd-faq__icon {
  background: var(--gd-wine);
  border-color: var(--gd-wine);
  color: #fff;
  transform: rotate(45deg);
}
.gd-faq__answer {
  color: var(--gd-muted);
  font-size: 16px;
  line-height: 1.75;
  max-width: 850px;
  padding: 0 72px 28px 4px;
}
.gd-faq__answer p {
  margin: 0 0 14px !important;
}
.gd-faq__answer p:last-child {
  margin-bottom: 0 !important;
}
.gd-faq__answer a {
  color: var(--gd-wine);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.gd-faq__answer a:hover {
  color: var(--gd-wine-dark);
}

@media (max-width: 650px) {
  body.post-slug-faq .entry-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .gd-faq__question {
    gap: 14px;
    padding: 21px 0;
  }
  .gd-faq__icon {
    flex-basis: 34px;
    height: 34px;
    width: 34px;
  }
  .gd-faq__answer {
    padding: 0 48px 24px 0;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.16 — robust responsive homepage product grids
 * ---------------------------------------------------------------------- */

/* Native home product sections are grids, never carousels. */
body .gd-native-products,
body .gd-native-products .woocommerce,
body .gd-native-products ul.products {
  box-sizing: border-box !important;
  max-width: 100% !important;
  width: 100% !important;
}
body .gd-native-products ul.products {
  display: grid !important;
  gap: 22px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}
body .gd-native-products ul.products > li.product,
body .gd-native-products li.product.gaudendo-product-card {
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
}
body .gd-native-products .gaudendo-product-card__inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
}
body .gd-native-products .gaudendo-product-card__media {
  align-items: center !important;
  display: flex !important;
  justify-content: center !important;
  min-height: 280px !important;
  padding: 24px !important;
}
body .gd-native-products .gaudendo-product-card__media img {
  height: 235px !important;
  max-height: 235px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  width: auto !important;
}
body .gd-native-products .gaudendo-product-card__content {
  min-width: 0 !important;
}
body .gd-native-products .woocommerce-loop-product__title {
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Desktop/laptop: keep cards wide enough instead of squeezing 4 into tiny slots. */
@media (max-width: 1280px) {
  body .gd-native-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Tablet. */
@media (max-width: 900px) {
  body .gd-native-products ul.products {
    gap: 16px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .gd-native-products .gaudendo-product-card__media {
    min-height: 235px !important;
    padding: 18px !important;
  }
  body .gd-native-products .gaudendo-product-card__media img {
    height: 195px !important;
    max-height: 195px !important;
  }
}

/* Narrow phones: one readable card per row. */
@media (max-width: 520px) {
  body .gd-native-products ul.products {
    grid-template-columns: 1fr !important;
  }
  body .gd-native-products .gaudendo-product-card__media {
    min-height: 270px !important;
  }
  body .gd-native-products .gaudendo-product-card__media img {
    height: 230px !important;
    max-height: 230px !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.17 — WebToffee buttons: plugin owns all visual styling
 * ---------------------------------------------------------------------- */

/*
 * Important: no background, color, border, radius or padding is declared here.
 * Those properties must come entirely from WebToffee's own settings/CSS.
 */
.wcc-btn,
.wcc-btn-revisit-wrapper,
.wcc-btn-revisit-wrapper .wcc-btn {
  text-transform: none;
  transform: none;
}


/* -------------------------------------------------------------------------
 * 3.0.18 — complete WebToffee modal isolation
 * ---------------------------------------------------------------------- */

/*
 * Buttons inside WebToffee's modal are not always marked with .wcc-btn.
 * Exclude every interactive button-like element inside known WCC containers
 * from Gaudendo's generic CTA styling.
 */
.wcc-modal button,
.wcc-modal input[type="button"],
.wcc-modal input[type="submit"],
.wcc-modal input[type="reset"],
.wcc-modal a.button,
.wcc-consent-container button,
.wcc-consent-container input[type="button"],
.wcc-consent-container input[type="submit"],
.wcc-consent-container input[type="reset"],
.wcc-consent-container a.button,
.wcc-preference-center button,
.wcc-preference-center input[type="button"],
.wcc-preference-center input[type="submit"],
.wcc-preference-center input[type="reset"],
.wcc-preference-center a.button {
  text-transform: none;
  transform: none;
}


/* -------------------------------------------------------------------------
 * 3.0.19 — clean responsive header / off-canvas navigation
 * ---------------------------------------------------------------------- */

/* Desktop: menu button must never be visible. */
@media (min-width: 1200px) {
  .gaudendo-menu-toggle {
    display: none !important;
  }
  .gaudendo-menu-backdrop {
    display: none !important;
  }
  .gaudendo-header__nav .gaudendo-primary-menu {
    display: flex !important;
  }
}

/* Tablet + mobile header starts before the desktop menu becomes cramped. */
@media (max-width: 1199px) {
  body.gaudendo-mobile-menu-open {
    overflow: hidden !important;
  }

  .gaudendo-header {
    position: sticky !important;
    top: 0;
    z-index: 10000;
  }

  body.admin-bar .gaudendo-header {
    top: 32px;
  }

  .gaudendo-header__inner {
    align-items: center !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(130px, 1fr) auto auto !important;
    min-height: 78px !important;
    position: relative !important;
    width: min(calc(100% - 36px), var(--gd-container)) !important;
  }

  .gaudendo-header__brand {
    align-items: center !important;
    display: flex !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0;
  }

  .gaudendo-header__brand img {
    max-height: 58px !important;
    max-width: 160px !important;
    width: auto !important;
  }

  .gaudendo-header__nav {
    align-items: center !important;
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-content: flex-end !important;
    position: static !important;
    width: auto !important;
  }

  .gaudendo-header__actions {
    align-items: center !important;
    display: flex !important;
    gap: 12px !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-content: flex-end !important;
    min-width: 0;
  }

  /* Compact, correctly positioned menu trigger. */
  .gaudendo-menu-toggle {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid var(--gd-line) !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: var(--gd-ink) !important;
    display: inline-flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    height: 46px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 46px !important;
    padding: 0 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 46px !important;
    z-index: 10003 !important;
  }

  .gaudendo-menu-toggle:hover,
  .gaudendo-menu-toggle:focus-visible {
    background: var(--gd-cream) !important;
    border-color: #cdbfb2 !important;
  }

  .gaudendo-menu-toggle > span:not(.screen-reader-text) {
    background: currentColor !important;
    border: 0 !important;
    display: block !important;
    height: 2px !important;
    margin: 0 !important;
    opacity: 1 !important;
    padding: 0 !important;
    transform-origin: center !important;
    transition: transform .22s ease, opacity .18s ease !important;
    width: 19px !important;
  }

  .gaudendo-menu-toggle.is-open > span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }
  .gaudendo-menu-toggle.is-open > span:nth-child(2) {
    opacity: 0 !important;
  }
  .gaudendo-menu-toggle.is-open > span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  /* Off-canvas menu instead of the old giant dropdown box. */
  .gaudendo-header__nav .gaudendo-primary-menu,
  .gaudendo-header__nav.main-navigation ul.nav-menu {
    align-items: stretch !important;
    background: #fffdf9 !important;
    border: 0 !important;
    border-radius: 24px 0 0 24px !important;
    box-shadow: -18px 0 55px rgba(30,24,20,.16) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    height: 100dvh !important;
    justify-content: flex-start !important;
    left: auto !important;
    margin: 0 !important;
    max-height: none !important;
    min-height: 0 !important;
    opacity: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 105px 30px 42px !important;
    pointer-events: none !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    transform: translateX(102%) !important;
    transition: transform .3s ease, opacity .25s ease !important;
    visibility: hidden !important;
    width: min(420px, calc(100vw - 28px)) !important;
    z-index: 10001 !important;
  }

  body.admin-bar .gaudendo-header__nav .gaudendo-primary-menu,
  body.admin-bar .gaudendo-header__nav.main-navigation ul.nav-menu {
    height: calc(100dvh - 32px) !important;
    top: 32px !important;
  }

  .gaudendo-header__nav.toggled .gaudendo-primary-menu,
  .gaudendo-header__nav.toggled-on .gaudendo-primary-menu,
  .gaudendo-header__nav .gaudendo-primary-menu.toggled-on {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
    visibility: visible !important;
  }

  .gaudendo-primary-menu > li {
    border-bottom: 1px solid var(--gd-line) !important;
    display: block !important;
    margin: 0 !important;
    position: relative !important;
    width: 100% !important;
  }

  .gaudendo-primary-menu > li > a {
    align-items: center !important;
    color: var(--gd-ink) !important;
    display: flex !important;
    font-size: 17px !important;
    font-weight: 750 !important;
    justify-content: space-between !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    padding: 18px 2px !important;
    text-transform: none !important;
  }

  .gaudendo-primary-menu > li.current-menu-item > a,
  .gaudendo-primary-menu > li.current-menu-ancestor > a,
  .gaudendo-primary-menu > li > a:hover {
    color: var(--gd-wine) !important;
  }

  /* Nested menu items become a readable indented list in the drawer. */
  .gaudendo-header__nav .gaudendo-primary-menu .sub-menu {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
    left: auto !important;
    margin: -5px 0 10px !important;
    max-width: none !important;
    min-width: 0 !important;
    opacity: 1 !important;
    padding: 0 0 5px 16px !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
    visibility: visible !important;
    width: auto !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu .sub-menu li {
    border: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu .sub-menu a {
    color: var(--gd-muted) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    padding: 9px 0 !important;
    text-transform: none !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu .sub-menu a:hover {
    color: var(--gd-wine) !important;
  }

  .gaudendo-menu-backdrop {
    background: rgba(29,23,20,.42) !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: block !important;
    height: 100% !important;
    inset: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    position: fixed !important;
    transition: opacity .25s ease !important;
    visibility: hidden !important;
    width: 100% !important;
    z-index: 9999 !important;
  }

  .gaudendo-menu-backdrop.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }
}

/* Tighter action area on tablets. */
@media (max-width: 900px) {
  .gaudendo-account-link {
    display: none !important;
  }

  .gaudendo-cart-link {
    min-height: 46px !important;
    padding: 9px 12px !important;
  }

  .gaudendo-cart-link .gaudendo-action-label {
    display: none !important;
  }

  .gaudendo-header__inner {
    grid-template-columns: minmax(120px, 1fr) auto auto !important;
  }
}

@media (max-width: 560px) {
  .gaudendo-header__inner {
    gap: 9px !important;
    min-height: 70px !important;
    width: calc(100% - 24px) !important;
  }

  .gaudendo-header__brand img {
    max-height: 48px !important;
    max-width: 135px !important;
  }

  .gaudendo-menu-toggle {
    height: 42px !important;
    min-height: 42px !important;
    width: 42px !important;
  }

  .gaudendo-cart-link {
    height: 42px !important;
    min-height: 42px !important;
    padding: 7px 9px !important;
  }

  .gaudendo-cart-count {
    min-width: 24px !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu,
  .gaudendo-header__nav.main-navigation ul.nav-menu {
    border-radius: 20px 0 0 20px !important;
    padding: 88px 24px 34px !important;
    width: min(360px, calc(100vw - 18px)) !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar .gaudendo-header {
    top: 46px;
  }
  body.admin-bar .gaudendo-header__nav .gaudendo-primary-menu,
  body.admin-bar .gaudendo-header__nav.main-navigation ul.nav-menu {
    height: calc(100dvh - 46px) !important;
    top: 46px !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.20 — mobile menu conflict fix
 * ---------------------------------------------------------------------- */

/* Old Lookz theme uses .menu-toggle:after for a sprite icon. Never use it on
   the Gaudendo 2026 hamburger. */
button.gaudendo-menu-toggle::before,
button.gaudendo-menu-toggle::after {
  background: none !important;
  border: 0 !important;
  content: none !important;
  display: none !important;
  float: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
}

@media (max-width: 1199px) {
  /* Repeat the critical trigger properties with high specificity because the
     legacy responsive.css styles `.menu-toggle` as a 100%-wide control. */
  body .gaudendo-header button.gaudendo-menu-toggle {
    appearance: none !important;
    -webkit-appearance: none !important;
    align-items: center !important;
    background: #fffdf9 !important;
    background-image: none !important;
    border: 1px solid #ded3c8 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: var(--gd-ink) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    flex: 0 0 46px !important;
    flex-direction: column !important;
    gap: 5px !important;
    height: 46px !important;
    justify-content: center !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    max-width: 46px !important;
    min-height: 46px !important;
    min-width: 46px !important;
    padding: 0 !important;
    position: relative !important;
    text-indent: 0 !important;
    text-transform: none !important;
    width: 46px !important;
  }

  body .gaudendo-header button.gaudendo-menu-toggle > span:not(.screen-reader-text) {
    background: var(--gd-ink) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
    flex: 0 0 2px !important;
    height: 2px !important;
    margin: 0 !important;
    max-height: 2px !important;
    max-width: 19px !important;
    min-height: 2px !important;
    min-width: 19px !important;
    padding: 0 !important;
    position: static !important;
    width: 19px !important;
  }

  body .gaudendo-header button.gaudendo-menu-toggle.is-open {
    background: var(--gd-wine) !important;
    border-color: var(--gd-wine) !important;
  }
  body .gaudendo-header button.gaudendo-menu-toggle.is-open > span:not(.screen-reader-text) {
    background: #fff !important;
  }

  /* This is now a plain DIV and therefore cannot inherit button CTA styling. */
  body .gaudendo-menu-backdrop {
    background: rgba(29,23,20,.46) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    inset: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    position: fixed !important;
    transform: none !important;
    transition: opacity .25s ease !important;
    visibility: hidden !important;
    z-index: 9999 !important;
  }
  body .gaudendo-menu-backdrop.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }
}

@media (min-width: 1200px) {
  body .gaudendo-header button.gaudendo-menu-toggle,
  body .gaudendo-menu-backdrop {
    display: none !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.21 — mobile menu reliability, refined FAQ and footer credits
 * ---------------------------------------------------------------------- */

/* Body-class fallback makes the drawer independent from legacy nav classes. */
@media (max-width: 1199px) {
  body.gaudendo-mobile-menu-open .gaudendo-header__nav .gaudendo-primary-menu,
  body.gaudendo-mobile-menu-open .gaudendo-header__nav.main-navigation ul.nav-menu {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
    visibility: visible !important;
  }

  body.gaudendo-mobile-menu-open .gaudendo-menu-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }

  body.gaudendo-mobile-menu-open .gaudendo-menu-toggle {
    background: var(--gd-wine) !important;
    border-color: var(--gd-wine) !important;
    color: #fff !important;
  }
}

/* FAQ: style the actual legacy [faqs] shortcode output used by this site. */
body.post-slug-faq .site-content {
  background: #fffdf9;
}

body.post-slug-faq .entry-header,
body.post-slug-faq .entry-title {
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.post-slug-faq .entry-title {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(3rem, 6vw, 5.25rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
  line-height: .98 !important;
  margin-bottom: 44px !important;
  text-transform: none !important;
}

body.post-slug-faq .faqs-container,
body.post-slug-faq .faqs-content {
  float: none !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.post-slug-faq .faqs-content > .small-title {
  color: var(--gd-wine) !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  margin: 0 0 16px !important;
  text-transform: uppercase !important;
}

body.post-slug-faq .faqs-category-container {
  border-top: 1px solid var(--gd-line) !important;
  margin-bottom: 42px !important;
}

body.post-slug-faq .single-faq.toogle_div {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gd-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.post-slug-faq .single-faq.toogle_div > a.tog {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--gd-ink) !important;
  display: flex !important;
  float: none !important;
  font-family: inherit !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  font-weight: 700 !important;
  justify-content: space-between !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 25px 58px 25px 2px !important;
  position: relative !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: 100% !important;
}

body.post-slug-faq .single-faq.toogle_div > a.tog:hover,
body.post-slug-faq .single-faq.toogle_div > a.tog.current {
  color: var(--gd-wine) !important;
}

body.post-slug-faq .single-faq.toogle_div > a.tog::after {
  align-items: center;
  border: 1px solid #d8cec4;
  border-radius: 50%;
  color: var(--gd-wine);
  content: "+";
  display: flex;
  font-size: 22px;
  font-weight: 400;
  height: 38px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: .2s ease;
  width: 38px;
}

body.post-slug-faq .single-faq.toogle_div > a.tog.current::after {
  background: var(--gd-wine);
  border-color: var(--gd-wine);
  color: #fff;
  content: "−";
}

body.post-slug-faq .single-faq .faq_title,
body.post-slug-faq .faqs-content.style-1 .toogle_div span.faq_title {
  background: none !important;
  color: inherit !important;
  display: block !important;
  float: none !important;
  font: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.post-slug-faq .faqs-content.style-1 .toogle_div span.faq_title::after {
  display: none !important;
  content: none !important;
}

body.post-slug-faq .single-faq .tab_content {
  background: transparent !important;
  border: 0 !important;
  color: var(--gd-muted) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  margin: 0 !important;
  max-width: 860px !important;
  padding: 0 64px 26px 2px !important;
}

body.post-slug-faq .single-faq .tab_content p {
  margin: 0 0 14px !important;
}

body.post-slug-faq .single-faq .tab_content p:last-child {
  margin-bottom: 0 !important;
}

/* Hide the old JS-generated FAQ shell when the actual shortcode exists. */
body.post-slug-faq .entry-content:has(.faqs-container) > .gd-faq {
  display: none !important;
}

@media (max-width: 650px) {
  body.post-slug-faq .entry-title {
    margin-bottom: 30px !important;
  }
  body.post-slug-faq .single-faq.toogle_div > a.tog {
    padding: 20px 48px 20px 0 !important;
  }
  body.post-slug-faq .single-faq.toogle_div > a.tog::after {
    height: 34px;
    width: 34px;
  }
  body.post-slug-faq .single-faq .tab_content {
    padding: 0 44px 22px 0 !important;
  }
}

/* Footer legal links + Ruben Vaes credit. */
.gaudendo-footer__legal {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.gaudendo-footer__bottom a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color .2s ease, opacity .2s ease;
}

.gaudendo-footer__bottom a:hover {
  color: #fff !important;
}

.gaudendo-footer__bottom .author {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  white-space: nowrap;
}

.gaudendo-footer__bottom .author img {
  display: block;
  height: 20px;
  object-fit: contain;
  opacity: .9;
  width: 20px;
}

@media (max-width: 700px) {
  .gaudendo-footer__bottom-inner {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.22 — true vertical mobile menu + legal page typography
 * ---------------------------------------------------------------------- */

@media (max-width: 1199px) {
  /*
   * Completely neutralise old Lookz desktop/mega-menu geometry inside the
   * off-canvas drawer. Only the root menu itself remains position:fixed.
   */
  .gaudendo-header__nav .gaudendo-primary-menu li,
  .gaudendo-header__nav .gaudendo-primary-menu li.main-li,
  .gaudendo-header__nav .gaudendo-primary-menu li.menu-item {
    box-sizing: border-box !important;
    clear: both !important;
    float: none !important;
    left: auto !important;
    max-width: 100% !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu > li {
    border-bottom: 1px solid var(--gd-line) !important;
    position: relative !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu li > a,
  .gaudendo-header__nav .gaudendo-primary-menu ul a,
  .gaudendo-header__nav .gaudendo-primary-menu ul ul a {
    box-sizing: border-box !important;
    float: none !important;
    left: auto !important;
    max-width: 100% !important;
    right: auto !important;
    white-space: normal !important;
    width: 100% !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu > li > a {
    padding-right: 54px !important;
  }

  /* All nested menus are collapsed by default. */
  .gaudendo-header__nav .gaudendo-primary-menu ul.sub-menu,
  .gaudendo-header__nav .gaudendo-primary-menu li.main-li > ul.sub-menu,
  .gaudendo-header__nav .gaudendo-primary-menu .sub-menu ul {
    background: #f8f4ee !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: none !important;
    float: none !important;
    left: auto !important;
    margin: 0 0 14px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    opacity: 1 !important;
    padding: 8px 14px !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    visibility: visible !important;
    width: 100% !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu li.submenu-open > ul.sub-menu {
    display: block !important;
  }

  /* Override legacy hover rule that forces every submenu open. */
  .gaudendo-header__nav .gaudendo-primary-menu li:hover > ul.sub-menu,
  .gaudendo-header__nav .gaudendo-primary-menu ul li:hover > ul {
    display: none !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu li.submenu-open:hover > ul.sub-menu {
    display: block !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu .sub-menu li {
    border-bottom: 1px solid rgba(216,206,196,.6) !important;
    padding: 0 !important;
  }
  .gaudendo-header__nav .gaudendo-primary-menu .sub-menu li:last-child {
    border-bottom: 0 !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu .sub-menu a {
    color: var(--gd-muted) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    padding: 12px 2px !important;
  }

  .gaudendo-header__nav .gaudendo-primary-menu .sub-menu .sub-menu {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 0 0 14px !important;
  }

  .gaudendo-submenu-toggle {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: var(--gd-wine) !important;
    display: inline-flex !important;
    height: 40px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 40px !important;
    padding: 0 !important;
    position: absolute !important;
    right: 0 !important;
    top: 8px !important;
    width: 40px !important;
    z-index: 3 !important;
  }

  .gaudendo-submenu-toggle:hover,
  .gaudendo-submenu-toggle:focus-visible {
    background: #f3ece4 !important;
  }

  .gaudendo-submenu-toggle svg {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    transition: transform .2s ease;
    width: 18px;
  }

  .submenu-open > .gaudendo-submenu-toggle svg {
    transform: rotate(180deg);
  }

  /* Hide all old menu arrows/triangles/pseudo controls from Lookz. */
  .gaudendo-header__nav .gaudendo-primary-menu li::before,
  .gaudendo-header__nav .gaudendo-primary-menu li::after,
  .gaudendo-header__nav .gaudendo-primary-menu a::before,
  .gaudendo-header__nav .gaudendo-primary-menu a::after {
    box-shadow: none !important;
  }
}

/* General terms — comfortable editorial reading width. */
body.post-slug-algemene-voorwaarden .site-content,
body.post-slug-algemene-voorwaarden .content-main-other,
body.post-slug-algemene-voorwaarden #primary,
body.post-slug-algemene-voorwaarden article {
  box-sizing: border-box !important;
  max-width: none !important;
  width: 100% !important;
}

body.post-slug-algemene-voorwaarden .entry-content {
  box-sizing: border-box !important;
  margin: 0 auto !important;
  max-width: 1120px !important;
  padding: clamp(54px, 7vw, 96px) 28px clamp(80px, 9vw, 120px) !important;
}

body.post-slug-algemene-voorwaarden .entry-content > h1:first-child,
body.post-slug-algemene-voorwaarden .entry-title {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(3.1rem, 6vw, 5.6rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.05em !important;
  line-height: .98 !important;
  margin: 0 0 clamp(42px, 6vw, 72px) !important;
  max-width: 850px !important;
  text-transform: none !important;
}

body.post-slug-algemene-voorwaarden .entry-content h2 {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2rem, 3vw, 2.75rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.08 !important;
  margin: clamp(52px, 7vw, 76px) 0 18px !important;
  max-width: 900px !important;
  text-transform: none !important;
}

body.post-slug-algemene-voorwaarden .entry-content h3 {
  color: var(--gd-wine) !important;
  font-size: 18px !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  margin: 34px 0 12px !important;
  text-transform: none !important;
}

body.post-slug-algemene-voorwaarden .entry-content p,
body.post-slug-algemene-voorwaarden .entry-content ul,
body.post-slug-algemene-voorwaarden .entry-content ol {
  color: #59534f !important;
  font-size: clamp(16px, 1.25vw, 18px) !important;
  line-height: 1.78 !important;
  max-width: 900px !important;
}

body.post-slug-algemene-voorwaarden .entry-content p {
  margin: 0 0 20px !important;
}

body.post-slug-algemene-voorwaarden .entry-content ul,
body.post-slug-algemene-voorwaarden .entry-content ol {
  margin: 0 0 24px 1.2em !important;
  padding-left: 1em !important;
}

body.post-slug-algemene-voorwaarden .entry-content a {
  color: var(--gd-wine) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

body.post-slug-algemene-voorwaarden .entry-content a:hover {
  color: var(--gd-wine-dark) !important;
}

@media (max-width: 650px) {
  body.post-slug-algemene-voorwaarden .entry-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.23 — separate desktop/mobile navigation systems
 * ---------------------------------------------------------------------- */

/* Any submenu toggle accidentally left from previous cached JS is never shown
   in the desktop navigation. This removes the red circles immediately. */
.gaudenndo-submenu-toggle,
.gaudendo-submenu-toggle {
  display: none !important;
}

/* Desktop */
@media (min-width: 1200px) {
  .gaudendo-header__nav--desktop {
    display: flex !important;
  }
  .gaudendo-menu-toggle,
  .gaudendo-mobile-panel,
  .gaudendo-mobile-backdrop {
    display: none !important;
  }
}

/* Mobile / tablet */
@media (max-width: 1199px) {
  body.gaudendo-mobile-menu-open {
    overflow: hidden !important;
  }

  .gaudendo-header__nav--desktop {
    display: none !important;
  }

  .gaudendo-header__inner {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: minmax(120px,1fr) auto auto !important;
    gap: 12px !important;
    min-height: 76px !important;
  }

  .gaudendo-header__brand {
    grid-column: 1 !important;
  }

  .gaudendo-menu-toggle {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid var(--gd-line) !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: var(--gd-ink) !important;
    display: inline-flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    grid-column: 2 !important;
    height: 46px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 46px !important;
    padding: 0 !important;
    position: static !important;
    width: 46px !important;
  }

  .gaudendo-menu-toggle > span:not(.screen-reader-text) {
    background: currentColor !important;
    display: block !important;
    height: 2px !important;
    transition: transform .2s ease, opacity .2s ease !important;
    width: 19px !important;
  }

  .gaudendo-menu-toggle.is-open {
    background: var(--gd-wine) !important;
    border-color: var(--gd-wine) !important;
    color: #fff !important;
  }

  .gaudendo-menu-toggle.is-open > span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }
  .gaudendo-menu-toggle.is-open > span:nth-child(2) {
    opacity: 0 !important;
  }
  .gaudendo-menu-toggle.is-open > span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  .gaudendo-header__actions {
    grid-column: 3 !important;
  }

  .gaudendo-mobile-backdrop {
    background: rgba(26,21,18,.44) !important;
    display: block !important;
    inset: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: fixed !important;
    transition: opacity .25s ease !important;
    visibility: hidden !important;
    z-index: 10020 !important;
  }

  .gaudendo-mobile-backdrop.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }

  .gaudendo-mobile-panel {
    background: #fffdf9 !important;
    box-shadow: -18px 0 55px rgba(30,24,20,.16) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100dvh !important;
    max-width: 430px !important;
    overflow-y: auto !important;
    padding: 0 28px 30px !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    transform: translateX(105%) !important;
    transition: transform .28s ease !important;
    width: min(430px, calc(100vw - 24px)) !important;
    z-index: 10030 !important;
  }

  body.admin-bar .gaudendo-mobile-panel {
    height: calc(100dvh - 32px) !important;
    top: 32px !important;
  }

  .gaudendo-mobile-panel.is-open {
    transform: translateX(0) !important;
  }

  .gaudendo-mobile-panel__head {
    align-items: center !important;
    border-bottom: 1px solid var(--gd-line) !important;
    display: flex !important;
    justify-content: space-between !important;
    min-height: 82px !important;
  }

  .gaudendo-mobile-panel__title {
    color: var(--gd-ink) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
  }

  .gaudendo-mobile-panel__close,
  .gaudendo-mobile-submenu-toggle {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--gd-wine) !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    transform: none !important;
  }

  .gaudendo-mobile-panel__close {
    height: 42px !important;
    position: relative !important;
    width: 42px !important;
  }

  .gaudendo-mobile-panel__close span {
    background: currentColor !important;
    height: 2px !important;
    left: 11px !important;
    position: absolute !important;
    top: 20px !important;
    width: 20px !important;
  }
  .gaudendo-mobile-panel__close span:first-child { transform: rotate(45deg) !important; }
  .gaudendo-mobile-panel__close span:last-child { transform: rotate(-45deg) !important; }

  .gaudendo-mobile-menu,
  .gaudendo-mobile-menu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .gaudendo-mobile-menu {
    flex: 1 0 auto !important;
    padding: 18px 0 !important;
  }

  .gaudendo-mobile-menu > li {
    border-bottom: 1px solid var(--gd-line) !important;
    float: none !important;
    margin: 0 !important;
    position: relative !important;
    width: 100% !important;
  }

  .gaudendo-mobile-menu > li > a {
    color: var(--gd-ink) !important;
    display: block !important;
    font-size: 17px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    padding: 17px 52px 17px 0 !important;
    text-transform: none !important;
    width: 100% !important;
  }

  .gaudendo-mobile-menu a:hover,
  .gaudendo-mobile-menu .current-menu-item > a,
  .gaudendo-mobile-menu .current-menu-ancestor > a {
    color: var(--gd-wine) !important;
  }

  .gaudendo-mobile-menu .sub-menu {
    background: #f7f1ea !important;
    border-radius: 12px !important;
    display: none !important;
    margin: 0 0 14px !important;
    padding: 6px 14px !important;
  }

  .gaudendo-mobile-menu li.submenu-open > .sub-menu {
    display: block !important;
  }

  .gaudendo-mobile-menu .sub-menu li {
    border-bottom: 1px solid rgba(216,206,196,.6) !important;
    float: none !important;
    margin: 0 !important;
    width: 100% !important;
  }
  .gaudendo-mobile-menu .sub-menu li:last-child {
    border-bottom: 0 !important;
  }

  .gaudendo-mobile-menu .sub-menu a {
    color: var(--gd-muted) !important;
    display: block !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    padding: 11px 0 !important;
    text-transform: none !important;
    white-space: normal !important;
  }

  .gaudendo-mobile-submenu-toggle {
    align-items: center !important;
    display: flex !important;
    height: 40px !important;
    justify-content: center !important;
    position: absolute !important;
    right: 0 !important;
    top: 7px !important;
    width: 40px !important;
    z-index: 3 !important;
  }

  .gaudendo-mobile-submenu-toggle svg {
    fill: none !important;
    height: 18px !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.8 !important;
    transition: transform .2s ease !important;
    width: 18px !important;
  }

  .gaudendo-mobile-menu li.submenu-open > .gaudendo-mobile-submenu-toggle svg {
    transform: rotate(180deg) !important;
  }

  .gaudendo-mobile-panel__actions {
    border-top: 1px solid var(--gd-line) !important;
    display: grid !important;
    gap: 8px !important;
    padding-top: 18px !important;
  }

  .gaudendo-mobile-panel__actions a {
    align-items: center !important;
    border: 1px solid var(--gd-line) !important;
    border-radius: 999px !important;
    color: var(--gd-ink) !important;
    display: flex !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    justify-content: space-between !important;
    min-height: 46px !important;
    padding: 0 16px !important;
  }

  .gaudendo-mobile-cart-count {
    align-items: center !important;
    background: var(--gd-wine) !important;
    border-radius: 50% !important;
    color: #fff !important;
    display: inline-flex !important;
    height: 26px !important;
    justify-content: center !important;
    min-width: 26px !important;
  }
}

@media (max-width: 900px) {
  .gaudendo-account-link {
    display: none !important;
  }
  .gaudendo-cart-link .gaudendo-action-label {
    display: none !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar .gaudendo-mobile-panel {
    height: calc(100dvh - 46px) !important;
    top: 46px !important;
  }
}

@media (max-width: 560px) {
  .gaudendo-header__inner {
    grid-template-columns: minmax(110px,1fr) auto auto !important;
    gap: 8px !important;
    min-height: 70px !important;
  }

  .gaudendo-menu-toggle {
    height: 42px !important;
    min-height: 42px !important;
    width: 42px !important;
  }

  .gaudendo-mobile-panel {
    padding-left: 22px !important;
    padding-right: 22px !important;
    width: calc(100vw - 14px) !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.24 — mobile menu stacking + clean submenu controls
 * ---------------------------------------------------------------------- */

@media (max-width: 1199px) {
  /*
   * The panel is inside the sticky header, so the backdrop must sit BELOW the
   * header stacking context. Otherwise it visually dims the panel and captures
   * every click.
   */
  .gaudendo-header {
    z-index: 10000 !important;
  }

  .gaudendo-mobile-backdrop {
    z-index: 9990 !important;
  }

  .gaudendo-mobile-panel {
    pointer-events: auto !important;
    z-index: 10030 !important;
  }

  .gaudendo-mobile-panel.is-open {
    pointer-events: auto !important;
  }

  /* Only the close button inside the drawer is shown while open. */
  body.gaudendo-mobile-menu-open .gaudendo-menu-toggle {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }

  .gaudendo-mobile-panel__close {
    align-items: center !important;
    background: transparent !important;
    background-image: none !important;
    border: 1px solid var(--gd-line) !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: var(--gd-wine) !important;
    display: inline-flex !important;
    justify-content: center !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .gaudendo-mobile-panel__close:hover,
  .gaudendo-mobile-panel__close:focus-visible {
    background: #f5eee7 !important;
    border-color: #d0c2b6 !important;
    color: var(--gd-wine-dark) !important;
  }

  /* Submenu toggles are controls, not CTA buttons. */
  body .gaudendo-mobile-panel .gaudendo-mobile-submenu-toggle,
  body .gaudendo-mobile-panel .gaudendo-mobile-submenu-toggle:hover,
  body .gaudendo-mobile-panel .gaudendo-mobile-submenu-toggle:focus,
  body .gaudendo-mobile-panel .gaudendo-mobile-submenu-toggle:active {
    align-items: center !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--gd-wine) !important;
    display: flex !important;
    height: 40px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    transform: none !important;
    width: 40px !important;
  }

  body .gaudendo-mobile-panel .gaudendo-mobile-submenu-toggle svg {
    display: block !important;
    fill: none !important;
    height: 18px !important;
    opacity: 1 !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    width: 18px !important;
  }

  /* Guard against legacy button pseudo-elements. */
  .gaudendo-mobile-panel__close::before,
  .gaudendo-mobile-panel__close::after,
  .gaudendo-mobile-submenu-toggle::before,
  .gaudendo-mobile-submenu-toggle::after {
    background: none !important;
    box-shadow: none !important;
  }
}

/* Desktop remains completely untouched by mobile overlay layers. */
@media (min-width: 1200px) {
  .gaudendo-mobile-backdrop,
  .gaudendo-mobile-panel {
    pointer-events: none !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.25 — submenu toggles: no button skin, pure CSS chevron
 * ---------------------------------------------------------------------- */

@media (max-width: 1199px) {
  /*
   * Maximum-specificity reset for the mobile submenu controls.
   * They are interaction controls only, not CTA buttons.
   */
  html body .gaudendo-mobile-panel .gaudendo-mobile-menu button.gaudendo-mobile-submenu-toggle,
  html body .gaudendo-mobile-panel .gaudendo-mobile-menu button.gaudendo-mobile-submenu-toggle:hover,
  html body .gaudendo-mobile-panel .gaudendo-mobile-menu button.gaudendo-mobile-submenu-toggle:focus,
  html body .gaudendo-mobile-panel .gaudendo-mobile-menu button.gaudendo-mobile-submenu-toggle:active {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--gd-wine) !important;
    display: flex !important;
    height: 40px !important;
    justify-content: center !important;
    min-height: 40px !important;
    min-width: 40px !important;
    outline: 0 !important;
    padding: 0 !important;
    width: 40px !important;
  }

  html body .gaudendo-mobile-panel .gaudendo-mobile-menu button.gaudendo-mobile-submenu-toggle:hover,
  html body .gaudendo-mobile-panel .gaudendo-mobile-menu button.gaudendo-mobile-submenu-toggle:focus-visible {
    background: #f4ede6 !important;
    border-radius: 50% !important;
  }

  /* Hide any stale SVG from a cached JS version. */
  .gaudendo-mobile-submenu-toggle svg {
    display: none !important;
  }

  .gaudendo-mobile-submenu-icon {
    border-bottom: 2px solid currentColor !important;
    border-right: 2px solid currentColor !important;
    box-sizing: border-box !important;
    display: block !important;
    height: 9px !important;
    transform: rotate(45deg) translate(-1px, -1px) !important;
    transition: transform .2s ease !important;
    width: 9px !important;
  }

  .gaudendo-mobile-menu li.submenu-open > .gaudendo-mobile-submenu-toggle .gaudendo-mobile-submenu-icon {
    transform: rotate(225deg) translate(-1px, -1px) !important;
  }

  /* Ensure no legacy pseudo-element can become a coloured circle. */
  html body .gaudendo-mobile-panel .gaudendo-mobile-submenu-toggle::before,
  html body .gaudendo-mobile-panel .gaudendo-mobile-submenu-toggle::after {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    content: none !important;
    display: none !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.26 — submenu control is no longer a <button>
 * ---------------------------------------------------------------------- */

@media (max-width: 1199px) {
  html body .gaudendo-mobile-panel span.gaudendo-mobile-submenu-toggle {
    -webkit-appearance: none !important;
    align-items: center !important;
    appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: var(--gd-wine) !important;
    cursor: pointer !important;
    display: flex !important;
    height: 40px !important;
    justify-content: center !important;
    margin: 0 !important;
    opacity: 1 !important;
    padding: 0 !important;
    position: absolute !important;
    right: 0 !important;
    top: 7px !important;
    transform: none !important;
    width: 40px !important;
    z-index: 3 !important;
  }

  html body .gaudendo-mobile-panel span.gaudendo-mobile-submenu-toggle:hover,
  html body .gaudendo-mobile-panel span.gaudendo-mobile-submenu-toggle:focus-visible {
    background: #f4ede6 !important;
    outline: none !important;
  }

  html body .gaudendo-mobile-panel span.gaudendo-mobile-submenu-toggle::before,
  html body .gaudendo-mobile-panel span.gaudendo-mobile-submenu-toggle::after {
    content: none !important;
    display: none !important;
  }

  .gaudendo-mobile-submenu-icon {
    border-bottom: 2px solid currentColor !important;
    border-right: 2px solid currentColor !important;
    box-sizing: border-box !important;
    display: block !important;
    height: 9px !important;
    width: 9px !important;
    transform: rotate(45deg) translate(-1px, -1px) !important;
    transition: transform .2s ease !important;
  }

  .gaudendo-mobile-menu li.submenu-open > span.gaudendo-mobile-submenu-toggle .gaudendo-mobile-submenu-icon {
    transform: rotate(225deg) translate(-1px, -1px) !important;
  }
}


/* ==========================================================================
   3.0.27 — Editorial content pages + producer story
   ========================================================================== */

/* Shared editorial canvas */
body.post-slug-algemene-voorwaarden .content-main-other,
body.post-slug-verzending .content-main-other,
body.post-slug-privacybeleid .content-main-other,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .content-main-other {
  background: var(--gd-paper) !important;
}

body.post-slug-algemene-voorwaarden #primary,
body.post-slug-verzending #primary,
body.post-slug-privacybeleid #primary,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta #primary,
body.post-slug-algemene-voorwaarden .site-content,
body.post-slug-verzending .site-content,
body.post-slug-privacybeleid .site-content,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .site-content,
body.post-slug-algemene-voorwaarden article,
body.post-slug-verzending article,
body.post-slug-privacybeleid article,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta article {
  float: none !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.post-slug-algemene-voorwaarden .entry-content,
body.post-slug-verzending .entry-content,
body.post-slug-privacybeleid .entry-content {
  box-sizing: border-box !important;
  margin: 0 auto !important;
  max-width: 1180px !important;
  padding: clamp(52px, 7vw, 100px) 32px clamp(82px, 9vw, 130px) !important;
}

/* Page title */
body.post-slug-algemene-voorwaarden .entry-content > h1:first-child,
body.post-slug-verzending .entry-content > h1:first-child,
body.post-slug-privacybeleid .entry-content > h1:first-child {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(3.2rem, 6.2vw, 6rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.055em !important;
  line-height: .96 !important;
  margin: 0 0 clamp(48px, 6vw, 76px) !important;
  max-width: 980px !important;
  text-transform: none !important;
}

/* Sections: subtle editorial rhythm instead of huge empty gaps */
body.post-slug-algemene-voorwaarden .entry-content h2,
body.post-slug-verzending .entry-content h2,
body.post-slug-privacybeleid .entry-content h2 {
  border-top: 1px solid var(--gd-line) !important;
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.85rem, 3vw, 2.7rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.03em !important;
  line-height: 1.08 !important;
  margin: clamp(42px, 6vw, 68px) 0 18px !important;
  max-width: 900px !important;
  padding-top: clamp(28px, 4vw, 42px) !important;
  text-transform: none !important;
}

body.post-slug-algemene-voorwaarden .entry-content > h1:first-child + h2,
body.post-slug-verzending .entry-content > h1:first-child + h2,
body.post-slug-privacybeleid .entry-content > h1:first-child + h2 {
  border-top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.post-slug-algemene-voorwaarden .entry-content h3,
body.post-slug-verzending .entry-content h3,
body.post-slug-privacybeleid .entry-content h3 {
  color: var(--gd-wine) !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 750 !important;
  letter-spacing: .01em !important;
  line-height: 1.35 !important;
  margin: 30px 0 10px !important;
  text-transform: none !important;
}

body.post-slug-algemene-voorwaarden .entry-content p,
body.post-slug-verzending .entry-content p,
body.post-slug-privacybeleid .entry-content p,
body.post-slug-algemene-voorwaarden .entry-content li,
body.post-slug-verzending .entry-content li,
body.post-slug-privacybeleid .entry-content li {
  color: #625c57 !important;
  font-size: clamp(16px, 1.15vw, 18px) !important;
  line-height: 1.78 !important;
}

body.post-slug-algemene-voorwaarden .entry-content p,
body.post-slug-verzending .entry-content p,
body.post-slug-privacybeleid .entry-content p,
body.post-slug-algemene-voorwaarden .entry-content ul,
body.post-slug-verzending .entry-content ul,
body.post-slug-privacybeleid .entry-content ul,
body.post-slug-algemene-voorwaarden .entry-content ol,
body.post-slug-verzending .entry-content ol,
body.post-slug-privacybeleid .entry-content ol {
  max-width: 900px !important;
}

body.post-slug-algemene-voorwaarden .entry-content p,
body.post-slug-verzending .entry-content p,
body.post-slug-privacybeleid .entry-content p {
  margin: 0 0 18px !important;
}

body.post-slug-algemene-voorwaarden .entry-content ul,
body.post-slug-verzending .entry-content ul,
body.post-slug-privacybeleid .entry-content ul,
body.post-slug-algemene-voorwaarden .entry-content ol,
body.post-slug-verzending .entry-content ol,
body.post-slug-privacybeleid .entry-content ol {
  margin: 16px 0 24px !important;
  padding-left: 24px !important;
}

body.post-slug-algemene-voorwaarden .entry-content li,
body.post-slug-verzending .entry-content li,
body.post-slug-privacybeleid .entry-content li {
  margin-bottom: 8px !important;
  padding-left: 5px !important;
}

body.post-slug-algemene-voorwaarden .entry-content a,
body.post-slug-verzending .entry-content a,
body.post-slug-privacybeleid .entry-content a {
  color: var(--gd-wine) !important;
  text-decoration-color: rgba(126, 30, 46, .35) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  transition: color .2s ease, text-decoration-color .2s ease !important;
}

body.post-slug-algemene-voorwaarden .entry-content a:hover,
body.post-slug-verzending .entry-content a:hover,
body.post-slug-privacybeleid .entry-content a:hover {
  color: var(--gd-green) !important;
  text-decoration-color: currentColor !important;
}

/* Producer article */
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content {
  box-sizing: border-box !important;
  margin: 0 auto !important;
  max-width: 1180px !important;
  padding: clamp(54px, 7vw, 100px) 32px clamp(82px, 9vw, 130px) !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content blockquote {
  background: var(--gd-green) !important;
  border: 0 !important;
  border-radius: 28px !important;
  box-sizing: border-box !important;
  color: #fff !important;
  float: none !important;
  margin: 0 0 clamp(48px, 6vw, 72px) !important;
  max-width: 920px !important;
  min-height: 0 !important;
  padding: clamp(38px, 5vw, 64px) clamp(38px, 6vw, 72px) !important;
  position: relative !important;
  text-align: left !important;
  width: 100% !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content blockquote::before {
  color: rgba(255,255,255,.22) !important;
  content: "“" !important;
  display: block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 96px !important;
  height: 52px !important;
  left: auto !important;
  line-height: .8 !important;
  margin: 0 0 12px !important;
  position: static !important;
  top: auto !important;
  width: auto !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content blockquote::after {
  content: none !important;
  display: none !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content blockquote,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content blockquote p {
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.15rem, 4.5vw, 4.25rem) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.04 !important;
  text-transform: none !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content blockquote p {
  margin: 0 !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content > p {
  color: #5e5854 !important;
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.82 !important;
  margin: 0 0 20px !important;
  max-width: 820px !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content > p img {
  border-radius: 22px !important;
  box-shadow: 0 18px 50px rgba(45, 35, 28, .08) !important;
  height: auto !important;
  margin: 0 0 28px 42px !important;
  max-width: min(38%, 420px) !important;
}

/* Existing producer CTA — keep it theme-like and compact. */
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content a[href*="/product-category/"],
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content a[href*="/product-categorie/"] {
  align-items: center !important;
  background: var(--gd-wine) !important;
  border: 1px solid var(--gd-wine) !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  letter-spacing: .035em !important;
  margin-top: 12px !important;
  padding: 15px 22px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content a[href*="/product-category/"]:hover,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content a[href*="/product-categorie/"]:hover {
  background: var(--gd-green) !important;
  border-color: var(--gd-green) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 700px) {
  body.post-slug-algemene-voorwaarden .entry-content,
  body.post-slug-verzending .entry-content,
  body.post-slug-privacybeleid .entry-content,
  body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.post-slug-algemene-voorwaarden .entry-content > h1:first-child,
  body.post-slug-verzending .entry-content > h1:first-child,
  body.post-slug-privacybeleid .entry-content > h1:first-child {
    font-size: clamp(2.7rem, 13vw, 4rem) !important;
    margin-bottom: 40px !important;
  }

  body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content blockquote {
    border-radius: 20px !important;
    padding: 32px 26px 36px !important;
  }

  body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content > p img {
    display: block !important;
    float: none !important;
    margin: 0 0 30px !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}


/* -------------------------------------------------------------------------
 * 3.0.28 — one unified H2 style across editorial pages
 * ---------------------------------------------------------------------- */

body.post-slug-algemene-voorwaarden .entry-content h2,
body.post-slug-verzending .entry-content h2,
body.post-slug-privacybeleid .entry-content h2,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content h2 {
  border-top: 1px solid var(--gd-line) !important;
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.85rem, 3vw, 2.7rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.03em !important;
  line-height: 1.08 !important;
  margin: clamp(42px, 6vw, 68px) 0 18px !important;
  max-width: 900px !important;
  padding-top: clamp(28px, 4vw, 42px) !important;
  text-transform: none !important;
}

body.post-slug-algemene-voorwaarden .entry-content > h1:first-child + h2,
body.post-slug-verzending .entry-content > h1:first-child + h2,
body.post-slug-privacybeleid .entry-content > h1:first-child + h2,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content > h1:first-child + h2 {
  border-top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* -------------------------------------------------------------------------
 * 3.0.29 — producer content uses the normal page container
 * ---------------------------------------------------------------------- */

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: auto !important;
}

@media (max-width: 700px) {
  body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content {
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
  }
}


/* ==========================================================================
   3.0.30 — Cart + checkout refresh / full-width producer content
   ========================================================================== */

/* Silvano Nizza: use the same usable width as the other producer stories. */
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .content-main-other {
  box-sizing: border-box !important;
  max-width: 1150px !important;
  width: calc(100% - 40px) !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta #primary,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .site-content,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta article,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content > p,
body.post-slug-silvano-nizza-la-qualita-e-una-scelta .entry-content blockquote {
  max-width: none !important;
}

/* --------------------------------------------------------------------------
   WooCommerce cart + checkout: shared canvas
   -------------------------------------------------------------------------- */

body.woocommerce-cart .content-main-other,
body.woocommerce-checkout .content-main-other {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1180px !important;
  padding: clamp(46px, 6vw, 86px) 24px clamp(80px, 8vw, 120px) !important;
  width: 100% !important;
}

body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-cart article,
body.woocommerce-checkout article,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body.woocommerce-cart #secondary,
body.woocommerce-cart #tertiary,
body.woocommerce-checkout #secondary,
body.woocommerce-checkout #tertiary {
  display: none !important;
}

body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-cart .woocommerce > h2:first-child,
body.woocommerce-checkout .woocommerce > h2:first-child {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.8rem, 5vw, 5.1rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.05em !important;
  line-height: .98 !important;
  margin: 0 0 clamp(36px, 5vw, 58px) !important;
  text-transform: none !important;
}

/* Notices */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error {
  background: #f6f1eb !important;
  border: 1px solid var(--gd-line) !important;
  border-left: 4px solid var(--gd-wine) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  color: var(--gd-ink) !important;
  line-height: 1.55 !important;
  margin: 0 0 24px !important;
  padding: 17px 20px 17px 24px !important;
}

body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error {
  border-left-color: #a33737 !important;
}

/* Buttons belonging to cart and checkout. */
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce input.button,
body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce input.button,
body.woocommerce-checkout #place_order {
  align-items: center !important;
  background: var(--gd-wine) !important;
  border: 1px solid var(--gd-wine) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  justify-content: center !important;
  letter-spacing: .035em !important;
  line-height: 1.2 !important;
  min-height: 48px !important;
  padding: 14px 22px !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease !important;
}

body.woocommerce-cart .woocommerce a.button:hover,
body.woocommerce-cart .woocommerce button.button:hover,
body.woocommerce-cart .woocommerce input.button:hover,
body.woocommerce-checkout .woocommerce a.button:hover,
body.woocommerce-checkout .woocommerce button.button:hover,
body.woocommerce-checkout .woocommerce input.button:hover,
body.woocommerce-checkout #place_order:hover {
  background: var(--gd-green) !important;
  border-color: var(--gd-green) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* --------------------------------------------------------------------------
   Cart — classic shortcode
   -------------------------------------------------------------------------- */

body.woocommerce-cart .woocommerce-cart-form {
  margin: 0 0 42px !important;
}

body.woocommerce-cart table.shop_table.cart {
  background: #fff !important;
  border: 1px solid var(--gd-line) !important;
  border-collapse: separate !important;
  border-radius: 22px !important;
  border-spacing: 0 !important;
  box-shadow: 0 12px 38px rgba(46, 36, 29, .045) !important;
  overflow: hidden !important;
}

body.woocommerce-cart table.shop_table.cart thead th {
  background: #f6f1eb !important;
  border: 0 !important;
  color: #746c65 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .09em !important;
  padding: 15px 18px !important;
  text-transform: uppercase !important;
}

body.woocommerce-cart table.shop_table.cart tbody td {
  border: 0 !important;
  border-top: 1px solid var(--gd-line) !important;
  color: var(--gd-ink) !important;
  padding: 20px 18px !important;
  vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table.cart tbody tr:first-child td {
  border-top: 0 !important;
}

body.woocommerce-cart td.product-thumbnail {
  width: 92px !important;
}

body.woocommerce-cart td.product-thumbnail img {
  background: #f7f4ef !important;
  border-radius: 12px !important;
  height: 78px !important;
  margin: 0 !important;
  object-fit: contain !important;
  padding: 6px !important;
  width: 64px !important;
}

body.woocommerce-cart td.product-name a {
  color: var(--gd-ink) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

body.woocommerce-cart td.product-name a:hover {
  color: var(--gd-wine) !important;
}

body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal {
  font-weight: 700 !important;
  white-space: nowrap !important;
}

body.woocommerce-cart td.product-remove {
  width: 46px !important;
}

body.woocommerce-cart td.product-remove a.remove {
  align-items: center !important;
  background: transparent !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 50% !important;
  color: #8b8179 !important;
  display: inline-flex !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  height: 34px !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-decoration: none !important;
  width: 34px !important;
}

body.woocommerce-cart td.product-remove a.remove:hover {
  background: #fff1f0 !important;
  border-color: #e7cbc8 !important;
  color: #9e3434 !important;
}

body.woocommerce-cart .quantity .qty {
  background: #fff !important;
  border: 1px solid #d9d0c7 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  color: var(--gd-ink) !important;
  font-size: 15px !important;
  height: 44px !important;
  min-width: 68px !important;
  padding: 8px 10px !important;
  text-align: center !important;
}

body.woocommerce-cart table.shop_table.cart td.actions {
  background: #fbf9f6 !important;
  padding: 18px !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon {
  align-items: center !important;
  display: flex !important;
  gap: 10px !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon label {
  display: none !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
  background: #fff !important;
  border: 1px solid #d9d0c7 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  height: 48px !important;
  min-width: 220px !important;
  padding: 0 18px !important;
}

/* Totals */
body.woocommerce-cart .cart-collaterals {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 0 !important;
  width: 100% !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  background: #f6f1eb !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
  float: none !important;
  padding: 28px !important;
  width: min(100%, 470px) !important;
}

body.woocommerce-cart .cart_totals h2 {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  margin: 0 0 18px !important;
  text-transform: none !important;
}

body.woocommerce-cart .cart_totals table.shop_table {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 0 22px !important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(77,67,59,.12) !important;
  padding: 14px 0 !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr:first-child th,
body.woocommerce-cart .cart_totals table.shop_table tr:first-child td {
  border-top: 0 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  font-size: 14px !important;
  margin: 0 !important;
  min-height: 54px !important;
  width: 100% !important;
}

/* Empty cart */
body.woocommerce-cart .cart-empty {
  background: transparent !important;
  border: 0 !important;
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  margin: 0 !important;
  padding: 18px 0 24px !important;
  text-align: center !important;
}

body.woocommerce-cart .return-to-shop {
  margin: 0 0 72px !important;
  text-align: center !important;
}

/* Cross-sells / new products beneath cart */
body.woocommerce-cart .cross-sells,
body.woocommerce-cart .cart-collaterals + section,
body.woocommerce-cart .woocommerce > section {
  border-top: 1px solid var(--gd-line) !important;
  margin-top: 64px !important;
  padding-top: 48px !important;
}

body.woocommerce-cart .cross-sells > h2,
body.woocommerce-cart .woocommerce > section > h2 {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2rem, 3.2vw, 3.2rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.04em !important;
  margin-bottom: 30px !important;
  text-align: left !important;
  text-transform: none !important;
}

/* --------------------------------------------------------------------------
   Checkout — classic shortcode
   -------------------------------------------------------------------------- */

body.woocommerce-checkout form.checkout {
  display: grid !important;
  gap: clamp(34px, 5vw, 64px) !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr) !important;
  position: relative !important;
}

body.woocommerce-checkout form.checkout #customer_details {
  display: block !important;
  grid-column: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.woocommerce-checkout form.checkout #customer_details .col-1,
body.woocommerce-checkout form.checkout #customer_details .col-2 {
  float: none !important;
  margin: 0 !important;
  width: 100% !important;
}

body.woocommerce-checkout form.checkout #customer_details .col-2 {
  margin-top: 30px !important;
}

body.woocommerce-checkout #order_review_heading {
  align-self: start !important;
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  letter-spacing: -.035em !important;
  margin: 0 0 -44px !important;
  padding: 28px 28px 0 !important;
  position: relative !important;
  text-transform: none !important;
  z-index: 2 !important;
}

body.woocommerce-checkout #order_review {
  align-self: start !important;
  background: #f6f1eb !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  margin: 0 !important;
  padding: 78px 28px 28px !important;
  position: sticky !important;
  top: 110px !important;
  width: 100% !important;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3 {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.8rem, 2.8vw, 2.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.1 !important;
  margin: 0 0 24px !important;
  text-transform: none !important;
}

body.woocommerce-checkout .form-row {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

body.woocommerce-checkout .form-row label {
  color: #544e49 !important;
  display: block !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  margin: 0 0 7px !important;
}

body.woocommerce-checkout .form-row .required {
  color: var(--gd-wine) !important;
}

body.woocommerce-checkout .input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single {
  background: #fff !important;
  border: 1px solid #d9d0c7 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--gd-ink) !important;
  font-size: 15px !important;
  min-height: 50px !important;
  padding: 12px 14px !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
  width: 100% !important;
}

body.woocommerce-checkout textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

body.woocommerce-checkout .select2-container {
  width: 100% !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single {
  padding: 10px 40px 10px 14px !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  color: var(--gd-ink) !important;
  line-height: 28px !important;
  padding: 0 !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 48px !important;
  right: 10px !important;
}

body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout input:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection {
  border-color: var(--gd-wine) !important;
  box-shadow: 0 0 0 3px rgba(126,30,46,.08) !important;
  outline: 0 !important;
}

/* Order review table */
body.woocommerce-checkout #order_review table.shop_table {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(77,67,59,.12) !important;
  padding: 14px 0 !important;
}

body.woocommerce-checkout #order_review table.shop_table th {
  color: #716961 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

body.woocommerce-checkout #order_review table.shop_table .product-name {
  color: var(--gd-ink) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}

body.woocommerce-checkout #order_review .order-total th,
body.woocommerce-checkout #order_review .order-total td {
  color: var(--gd-ink) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  padding-top: 18px !important;
}

/* Payment */
body.woocommerce-checkout #payment {
  background: transparent !important;
  border-radius: 0 !important;
  margin: 22px 0 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  border-top: 1px solid rgba(77,67,59,.12) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 15px 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li:first-child {
  border-top: 0 !important;
}

body.woocommerce-checkout #payment div.payment_box {
  background: #fff !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 12px !important;
  color: #625c57 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  margin: 12px 0 0 !important;
  padding: 14px 16px !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

body.woocommerce-checkout #payment .place-order {
  border-top: 1px solid rgba(77,67,59,.12) !important;
  margin-top: 10px !important;
  padding: 22px 0 0 !important;
}

body.woocommerce-checkout #place_order {
  float: none !important;
  font-size: 14px !important;
  min-height: 54px !important;
  width: 100% !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  color: #756d66 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
}

/* Login/coupon bars above checkout */
body.woocommerce-checkout .woocommerce-form-login,
body.woocommerce-checkout .checkout_coupon {
  background: #f6f1eb !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 16px !important;
  margin: 0 0 28px !important;
  padding: 22px !important;
}

/* --------------------------------------------------------------------------
   WooCommerce Blocks fallback/current checkout and cart
   -------------------------------------------------------------------------- */

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout {
  margin: 0 !important;
  max-width: none !important;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-checkout .wc-block-checkout__main {
  padding-right: clamp(24px, 4vw, 54px) !important;
}

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar {
  background: #f6f1eb !important;
  border: 1px solid var(--gd-line) !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
  padding: 26px !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name {
  color: var(--gd-ink) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
  border: 1px solid #d9d0c7 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button {
  background: var(--gd-wine) !important;
  border: 1px solid var(--gd-wine) !important;
  border-radius: 999px !important;
  color: #fff !important;
  min-height: 52px !important;
}

body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-button:hover {
  background: var(--gd-green) !important;
  border-color: var(--gd-green) !important;
}

/* Responsive cart / checkout */
@media (max-width: 900px) {
  body.woocommerce-cart .content-main-other,
  body.woocommerce-checkout .content-main-other {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.woocommerce-checkout form.checkout {
    display: block !important;
  }

  body.woocommerce-checkout #order_review_heading {
    margin: 42px 0 -44px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.woocommerce-checkout #order_review {
    margin-top: 42px !important;
    padding: 78px 22px 22px !important;
    position: static !important;
  }

  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-checkout .wc-block-checkout__main {
    padding-right: 0 !important;
  }
}

@media (max-width: 680px) {
  body.woocommerce-cart table.shop_table.cart,
  body.woocommerce-cart table.shop_table.cart tbody,
  body.woocommerce-cart table.shop_table.cart tr,
  body.woocommerce-cart table.shop_table.cart td {
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item {
    border-top: 1px solid var(--gd-line) !important;
    padding: 18px 18px 12px !important;
    position: relative !important;
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item:first-child {
    border-top: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td {
    border: 0 !important;
    box-sizing: border-box !important;
    min-height: 0 !important;
    padding: 7px 0 7px 42% !important;
    position: relative !important;
    text-align: right !important;
  }

  body.woocommerce-cart table.shop_table.cart td::before {
    color: #7c746d !important;
    float: none !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    left: 0 !important;
    letter-spacing: .06em !important;
    position: absolute !important;
    text-transform: uppercase !important;
    top: 10px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove {
    padding: 0 !important;
    position: absolute !important;
    right: 12px !important;
    top: 12px !important;
    width: auto !important;
    z-index: 3 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name {
    padding: 6px 46px 15px 0 !important;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    padding: 18px !important;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > button.button {
    margin-top: 10px !important;
    width: 100% !important;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals {
    padding: 22px !important;
    width: 100% !important;
  }
}


/* ==========================================================================
   3.1.0 — checkout/cart hardening + clean-theme compatibility
   ========================================================================== */

/* CART BLOCK: keep quantity controls compact and prevent inherited CTA skins. */
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector {
  align-items: stretch !important;
  background: #fff !important;
  border: 1px solid #d8cfc7 !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  height: 46px !important;
  overflow: hidden !important;
  width: 132px !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector::after {
  border: 0 !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__button,
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__button:hover,
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__button:focus {
  appearance: none !important;
  background: #f6f1eb !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--gd-ink) !important;
  display: flex !important;
  flex: 0 0 42px !important;
  font-size: 18px !important;
  height: 44px !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  transform: none !important;
  width: 42px !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__input {
  appearance: textfield !important;
  background: #fff !important;
  border: 0 !important;
  border-left: 1px solid #e3dad2 !important;
  border-radius: 0 !important;
  border-right: 1px solid #e3dad2 !important;
  box-shadow: none !important;
  color: var(--gd-ink) !important;
  flex: 1 1 auto !important;
  font-size: 14px !important;
  height: 44px !important;
  margin: 0 !important;
  min-width: 44px !important;
  padding: 0 !important;
  text-align: center !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__remove-link:hover {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--gd-wine) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  min-height: 0 !important;
  padding: 5px 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transform: none !important;
}

body.woocommerce-cart .wc-block-cart-items {
  border-collapse: collapse !important;
}

body.woocommerce-cart .wc-block-cart-items th {
  border-bottom: 1px solid var(--gd-line) !important;
  color: #756e68 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .07em !important;
  padding-bottom: 14px !important;
  text-transform: uppercase !important;
}

body.woocommerce-cart .wc-block-cart-items td {
  border-bottom: 1px solid var(--gd-line) !important;
  padding-bottom: 26px !important;
  padding-top: 26px !important;
  vertical-align: top !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
  background: #f6f2ed !important;
  border-radius: 10px !important;
  object-fit: contain !important;
}

body.woocommerce-cart .wc-block-cart-item__prices {
  margin: 5px 0 !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-product-metadata {
  color: #6e6761 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  max-width: 620px !important;
}

body.woocommerce-cart .wc-block-cart__sidebar {
  align-self: start !important;
  position: sticky !important;
  top: 110px !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper {
  border-top: 1px solid var(--gd-line) !important;
  padding: 18px 0 !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper:first-child {
  border-top: 0 !important;
}

body.woocommerce-cart .wc-block-cart__submit-button {
  font-size: 15px !important;
  text-decoration: none !important;
}

/* CHECKOUT BLOCK: stop the order summary from overlaying the address/payment form. */
body.woocommerce-checkout .wc-block-checkout {
  align-items: start !important;
  display: grid !important;
  gap: clamp(38px, 5vw, 72px) !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(350px, .75fr) !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-checkout__main {
  box-sizing: border-box !important;
  grid-column: 1 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar {
  align-self: start !important;
  box-sizing: border-box !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  position: sticky !important;
  top: 110px !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step {
  border-bottom: 1px solid var(--gd-line) !important;
  margin: 0 0 34px !important;
  padding: 0 0 34px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step:last-child {
  border-bottom: 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading {
  margin-bottom: 18px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
  color: var(--gd-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.03em !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-radio-control {
  background: #fff !important;
  border: 1px solid #d9d0c7 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option {
  border: 0 !important;
  border-top: 1px solid var(--gd-line) !important;
  min-height: 66px !important;
  padding: 18px !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option:first-child {
  border-top: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option-checked {
  background: #f7f2ec !important;
  box-shadow: inset 3px 0 0 var(--gd-wine) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: var(--gd-wine) !important;
  border: 1px solid var(--gd-wine) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 15px !important;
  min-height: 56px !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: var(--gd-green) !important;
  border-color: var(--gd-green) !important;
}

/* Checkout sidebar internals: no fixed/absolute legacy positioning. */
body.woocommerce-checkout .wc-block-checkout__sidebar *,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-order-summary__content {
  max-width: 100% !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary {
  position: static !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
  border-bottom: 1px solid var(--gd-line) !important;
  padding: 16px 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  width: 62px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  background: #fff !important;
  border-radius: 8px !important;
  height: 70px !important;
  object-fit: contain !important;
  width: 54px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  font-size: 13px !important;
  line-height: 1.4 !important;
  padding-left: 12px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-product-metadata {
  color: #756d66 !important;
  display: none !important;
}

body.woocommerce-checkout .wc-block-components-totals-item {
  padding: 10px 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item {
  border-top: 1px solid var(--gd-line) !important;
  margin-top: 8px !important;
  padding-top: 18px !important;
}

@media (max-width: 900px) {
  body.woocommerce-checkout .wc-block-checkout {
    display: block !important;
  }

  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-cart .wc-block-cart__sidebar {
    margin-top: 38px !important;
    position: static !important;
    width: 100% !important;
  }
}


/* ==========================================================================
   3.1.1 — WooCommerce Blocks: real full-width cart/checkout layout
   ========================================================================== */

body.woocommerce-cart .main-container,
body.woocommerce-checkout .main-container,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart .content-main-other,
body.woocommerce-checkout .content-main-other,
body.woocommerce-cart .content-main-other > .content-main,
body.woocommerce-checkout .content-main-other > .content-main,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-cart article,
body.woocommerce-checkout article,
body.woocommerce-cart article > .content-main,
body.woocommerce-checkout article > .content-main,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
  box-sizing: border-box !important;
  float: none !important;
  max-width: none !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.woocommerce-cart .content-main-other,
body.woocommerce-checkout .content-main-other {
  margin: 0 auto !important;
  max-width: 1240px !important;
  padding: 42px 28px 90px !important;
}

body.woocommerce-cart .content-main-other > .content-main,
body.woocommerce-checkout .content-main-other > .content-main,
body.woocommerce-cart article > .content-main,
body.woocommerce-checkout article > .content-main {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-cart .entry-content > *,
body.woocommerce-checkout .entry-content > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.woocommerce-cart .wc-block-cart {
  align-items: start !important;
  display: grid !important;
  gap: 54px !important;
  grid-template-columns: minmax(0, 1fr) 390px !important;
}

body.woocommerce-cart .wc-block-cart__main {
  box-sizing: border-box !important;
  grid-column: 1 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body.woocommerce-cart .wc-block-cart__sidebar {
  box-sizing: border-box !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 28px !important;
  position: sticky !important;
  top: 112px !important;
  width: 100% !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image {
  padding-right: 20px !important;
  width: 90px !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product {
  padding-right: 26px !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__total {
  min-width: 110px !important;
  text-align: right !important;
  width: 110px !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
  margin-top: 16px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
  border: 1px solid #d9d0c7 !important;
  border-radius: 10px !important;
  height: 42px !important;
  overflow: hidden !important;
  width: 126px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.woocommerce-cart .wc-block-components-quantity-selector__button:hover,
body.woocommerce-cart .wc-block-components-quantity-selector__button:focus {
  background: #f7f3ee !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #433d38 !important;
  flex: 0 0 38px !important;
  font-size: 16px !important;
  height: 40px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  transform: none !important;
  width: 38px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input {
  background: #fff !important;
  border: 0 !important;
  border-left: 1px solid #e0d8d0 !important;
  border-right: 1px solid #e0d8d0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  height: 40px !important;
  min-width: 48px !important;
  padding: 0 !important;
}

body.woocommerce-cart button.wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart button.wc-block-cart-item__remove-link:hover,
body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--gd-wine) !important;
  display: inline !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  height: auto !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transform: none !important;
  width: auto !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout {
  display: block !important;
}

body.woocommerce-checkout .wc-block-checkout {
  align-items: start !important;
  display: grid !important;
  gap: 64px !important;
  grid-template-columns: minmax(0, 1fr) 410px !important;
}

body.woocommerce-checkout .wc-block-checkout__main {
  box-sizing: border-box !important;
  grid-column: 1 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar {
  box-sizing: border-box !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 28px !important;
  position: sticky !important;
  top: 112px !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step {
  border-bottom: 1px solid var(--gd-line) !important;
  margin: 0 0 36px !important;
  padding: 0 0 36px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__container,
body.woocommerce-checkout .wc-block-components-checkout-step__content {
  max-width: none !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
  font-size: clamp(1.8rem, 2.3vw, 2.45rem) !important;
  line-height: 1.08 !important;
  max-width: none !important;
  white-space: normal !important;
}

body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
body.woocommerce-checkout .wc-block-components-checkout-step__content > div {
  box-sizing: border-box !important;
  max-width: none !important;
}

body.woocommerce-checkout .wc-block-components-text-input {
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-address-card {
  padding: 18px !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-address-card__edit {
  white-space: nowrap !important;
}

body.woocommerce-checkout .wc-block-components-radio-control {
  overflow: hidden !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option {
  box-sizing: border-box !important;
  min-height: 64px !important;
  padding: 18px 20px !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 58px minmax(0, 1fr) auto !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  grid-column: 1 !important;
  width: 58px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  grid-column: 3 !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  overflow-wrap: anywhere !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step label,
body.woocommerce-checkout .wc-block-components-checkout-step input,
body.woocommerce-checkout .wc-block-components-checkout-step textarea,
body.woocommerce-checkout .wc-block-components-checkout-step select {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

@media (max-width: 980px) {
  body.woocommerce-cart .wc-block-cart,
  body.woocommerce-checkout .wc-block-checkout {
    display: block !important;
  }

  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar {
    margin-top: 42px !important;
    position: static !important;
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  body.woocommerce-cart .content-main-other,
  body.woocommerce-checkout .content-main-other {
    padding: 28px 16px 70px !important;
  }

  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar {
    border-radius: 18px !important;
    padding: 20px !important;
  }
}


/* ==========================================================================
   3.1.2 — Checkout width correction based on live screenshot
   ========================================================================== */

/* The actual checkout wrapper is still inheriting a narrow legacy max-width.
   Break that constraint at every relevant block level. */
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-checkout-step__container,
body.woocommerce-checkout .wc-block-components-checkout-step__content {
  max-width: none !important;
}

body.woocommerce-checkout .content-main-other {
  max-width: 1320px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

/* Force the checkout itself to occupy the complete inner canvas. */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout {
  width: 100% !important;
}

/* Give the form column substantially more room than before. */
body.woocommerce-checkout .wc-block-checkout {
  grid-template-columns: minmax(0, 1fr) 440px !important;
  gap: 72px !important;
}

/* Some Woo Blocks versions set inline-ish flex-basis/width values.
   Override those specifically. */
body.woocommerce-checkout .wc-block-checkout__main {
  flex: 1 1 auto !important;
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar {
  flex: 0 0 440px !important;
  max-width: 440px !important;
  min-width: 440px !important;
  width: 440px !important;
}

/* Ensure the form controls actually fill the available left column. */
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-combobox-control,
body.woocommerce-checkout .wc-block-components-address-form,
body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-components-checkout-step__content > * {
  width: 100% !important;
  max-width: none !important;
}

/* Prevent title wrapping caused by narrow inherited widths. */
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-checkout-step__title {
  max-width: none !important;
  width: 100% !important;
}

/* Contactgegevens should stay on one line at normal desktop widths. */
@media (min-width: 981px) {
  body.woocommerce-checkout .wc-block-components-checkout-step__title {
    white-space: nowrap !important;
  }
}

/* Slightly more balanced widths on medium desktop screens. */
@media (min-width: 981px) and (max-width: 1180px) {
  body.woocommerce-checkout .content-main-other {
    max-width: 1160px !important;
  }

  body.woocommerce-checkout .wc-block-checkout {
    grid-template-columns: minmax(0, 1fr) 390px !important;
    gap: 46px !important;
  }

  body.woocommerce-checkout .wc-block-checkout__sidebar {
    flex-basis: 390px !important;
    max-width: 390px !important;
    min-width: 390px !important;
    width: 390px !important;
  }
}

@media (max-width: 980px) {
  body.woocommerce-checkout .wc-block-checkout__sidebar {
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step__title {
    white-space: normal !important;
  }
}


/* ==========================================================================
   3.1.3 — Fix nested WooCommerce Checkout Block layout
   ========================================================================== */

/*
 * WooCommerce renders two elements carrying .wc-block-checkout:
 * 1) outer editor block: .wp-block-woocommerce-checkout.wc-block-checkout
 * 2) inner actual layout: .wc-block-components-sidebar-layout.wc-block-checkout
 *
 * Previous versions applied the grid to both. That made the inner checkout
 * layout itself occupy only the first grid column, leaving a large empty area.
 */

/* Outer checkout block is only a wrapper. Never make this element the grid. */
body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* Notices / scroll anchor must not take up grid columns. */
body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-notices,
body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-notices__snackbar,
body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout
  > .with-scroll-to-top__scroll-point {
  width: 100% !important;
}

/* This is the actual two-column WooCommerce checkout layout. */
body.woocommerce-checkout
.wp-block-woocommerce-checkout.wc-block-checkout
> .wc-block-components-sidebar-layout.wc-block-checkout {
  align-items: start !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: 64px !important;
  grid-template-columns: minmax(0, 1fr) 440px !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Left checkout form. */
body.woocommerce-checkout
.wp-block-woocommerce-checkout.wc-block-checkout
> .wc-block-components-sidebar-layout.wc-block-checkout
> .wc-block-checkout__main,
body.woocommerce-checkout
.wp-block-woocommerce-checkout.wc-block-checkout
> .wc-block-components-sidebar-layout.wc-block-checkout
> .wc-block-components-main {
  box-sizing: border-box !important;
  float: none !important;
  grid-column: 1 !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Right order summary. */
body.woocommerce-checkout
.wp-block-woocommerce-checkout.wc-block-checkout
> .wc-block-components-sidebar-layout.wc-block-checkout
> .wc-block-checkout__sidebar,
body.woocommerce-checkout
.wp-block-woocommerce-checkout.wc-block-checkout
> .wc-block-components-sidebar-layout.wc-block-checkout
> .wc-block-components-sidebar {
  box-sizing: border-box !important;
  float: none !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  max-width: 440px !important;
  min-width: 0 !important;
  padding: 28px !important;
  position: sticky !important;
  top: 112px !important;
  width: 440px !important;
}

/* The left-side steps may not keep Woo/legacy percentage widths. */
body.woocommerce-checkout
.wc-block-components-sidebar-layout.wc-block-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step,
body.woocommerce-checkout
.wc-block-components-sidebar-layout.wc-block-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step__container,
body.woocommerce-checkout
.wc-block-components-sidebar-layout.wc-block-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step__content {
  box-sizing: border-box !important;
  max-width: none !important;
  width: 100% !important;
}

/* Normal desktop title sizing; no forced wrapping. */
body.woocommerce-checkout
.wc-block-components-sidebar-layout.wc-block-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step__title {
  max-width: none !important;
  white-space: normal !important;
  width: 100% !important;
}

/* Medium screens: slightly narrower summary, still two columns. */
@media (min-width: 981px) and (max-width: 1180px) {
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout {
    gap: 42px !important;
    grid-template-columns: minmax(0, 1fr) 380px !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout
  > .wc-block-checkout__sidebar,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout
  > .wc-block-components-sidebar {
    max-width: 380px !important;
    width: 380px !important;
  }
}

/* Stack only when the viewport is genuinely narrow. */
@media (max-width: 980px) {
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout {
    display: block !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout
  > .wc-block-checkout__sidebar,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout
  > .wc-block-components-sidebar {
    margin-top: 42px !important;
    max-width: none !important;
    position: static !important;
    width: 100% !important;
  }
}


/* ==========================================================================
   3.1.4 — Checkout spacing / padding refinement
   ========================================================================== */

/* Make the left-side checkout rhythm more compact and consistent. */
body.woocommerce-checkout
.wc-block-components-sidebar-layout.wc-block-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step {
  margin: 0 0 28px !important;
  padding: 0 0 28px !important;
}

body.woocommerce-checkout
.wc-block-components-sidebar-layout.wc-block-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step__heading {
  margin: 0 0 18px !important;
}

body.woocommerce-checkout
.wc-block-components-sidebar-layout.wc-block-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step__title {
  margin: 0 !important;
}

/* Address cards: balanced inner spacing, no excessive height. */
body.woocommerce-checkout .wc-block-components-address-card {
  min-height: 0 !important;
  padding: 18px 20px !important;
}

body.woocommerce-checkout .wc-block-components-address-card address,
body.woocommerce-checkout .wc-block-components-address-card p {
  margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-address-card__edit {
  margin: 0 !important;
}

/* Shipping rows: consistent vertical padding. */
body.woocommerce-checkout
.wc-block-checkout__shipping-option
.wc-block-components-radio-control__option,
body.woocommerce-checkout
.wc-block-checkout__pickup-options
.wc-block-components-radio-control__option {
  min-height: 0 !important;
  padding: 18px 22px !important;
}

/* Payment method accordion: remove inherited cramped/overlapping spacing. */
body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control-accordion-option {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control-accordion-option
> label {
  box-sizing: border-box !important;
  margin: 0 !important;
  min-height: 64px !important;
  padding: 20px 22px 20px 54px !important;
  width: 100% !important;
}

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control-accordion-option
.wc-block-components-radio-control__input {
  left: 20px !important;
  margin: 0 !important;
  top: 22px !important;
}

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control-accordion-content {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 22px 20px 54px !important;
  width: 100% !important;
}

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control-accordion-content p {
  margin: 0 !important;
}

/* Right order summary: reduce oversized vertical gaps between totals. */
body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-wrapper,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-totals-wrapper {
  margin: 0 !important;
  padding: 14px 0 !important;
}

body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-item,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-totals-item {
  min-height: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-footer-item,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-totals-footer-item {
  margin-top: 0 !important;
  padding-top: 18px !important;
}

body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-order-summary,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-order-summary {
  margin-bottom: 0 !important;
}

/* Slightly tighter sidebar card itself. */
body.woocommerce-checkout
.wp-block-woocommerce-checkout.wc-block-checkout
> .wc-block-components-sidebar-layout.wc-block-checkout
> .wc-block-checkout__sidebar,
body.woocommerce-checkout
.wp-block-woocommerce-checkout.wc-block-checkout
> .wc-block-components-sidebar-layout.wc-block-checkout
> .wc-block-components-sidebar {
  padding: 24px !important;
}

@media (max-width: 980px) {
  body.woocommerce-checkout
  .wc-block-checkout__payment-method
  .wc-block-components-radio-control-accordion-option
  > label {
    padding-left: 50px !important;
  }

  body.woocommerce-checkout
  .wc-block-checkout__payment-method
  .wc-block-components-radio-control-accordion-content {
    padding-left: 50px !important;
  }
}


/* ==========================================================================
   3.1.5 — Checkout controls: checkbox + payment alignment + final spacing
   ========================================================================== */

/* Woo checkbox: the SVG checkmark must only be visible when the real input
   is actually checked. This prevents the legacy theme from showing a tick
   on unchecked WooCommerce Blocks checkboxes. */
body.woocommerce-checkout .wc-block-components-checkbox__input:not(:checked)
+ .wc-block-components-checkbox__mark {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__input:checked
+ .wc-block-components-checkbox__mark {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__input {
  margin: 0 !important;
}

/* Keep checkbox text vertically aligned with the actual box. */
body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout label.wc-block-components-checkbox {
  align-items: center !important;
  column-gap: 10px !important;
  display: flex !important;
  line-height: 1.45 !important;
}

/* Payment option: place radio and label on one clean row. */
body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control__option,
body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control-accordion-option {
  box-sizing: border-box !important;
  min-height: 0 !important;
  position: relative !important;
}

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control__option {
  padding: 18px 20px 18px 54px !important;
}

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control__input {
  left: 20px !important;
  margin: 0 !important;
  position: absolute !important;
  top: 20px !important;
  transform: none !important;
}

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control__label,
body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control__option label {
  display: block !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Payment description belongs below the title, aligned with the title text,
   not underneath the radio button. */
body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control-accordion-content {
  box-sizing: border-box !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  padding: 0 20px 18px 54px !important;
}

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control-accordion-content > * {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

/* Notes checkbox and terms area: cleaner breathing room. */
body.woocommerce-checkout .wc-block-checkout__add-note,
body.woocommerce-checkout .wc-block-checkout__terms {
  margin: 0 !important;
  padding: 18px 0 !important;
}

body.woocommerce-checkout
.wc-block-components-sidebar-layout.wc-block-checkout
.wc-block-checkout__main
> .wc-block-components-checkout-step:last-of-type {
  margin-bottom: 18px !important;
}

/* Order summary: remove unnecessary empty vertical padding at the bottom. */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
  padding-bottom: 22px !important;
}

body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-footer-item:last-child,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-totals-footer-item:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Address cards should never visually overlap adjacent checkout blocks. */
body.woocommerce-checkout .wc-block-components-address-card {
  clear: both !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step + .wc-block-components-checkout-step {
  clear: both !important;
}


/* ==========================================================================
   3.1.6 — Checkout micro-layout fixes from close-up screenshots
   ========================================================================== */

/* 1. WooCommerce Blocks checkboxes:
   fully neutralize native/legacy checks and show exactly one SVG tick. */
body.woocommerce-checkout input.wc-block-components-checkbox__input {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #fff !important;
  background-image: none !important;
  border: 1.5px solid #8d8985 !important;
  border-radius: 1px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  display: inline-block !important;
  flex: 0 0 18px !important;
  height: 18px !important;
  margin: 0 !important;
  min-height: 18px !important;
  min-width: 18px !important;
  padding: 0 !important;
  position: relative !important;
  width: 18px !important;
}

body.woocommerce-checkout input.wc-block-components-checkbox__input::before,
body.woocommerce-checkout input.wc-block-components-checkbox__input::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-checkout input.wc-block-components-checkbox__input
~ .wc-block-components-checkbox__mark {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

body.woocommerce-checkout input.wc-block-components-checkbox__input:checked
~ .wc-block-components-checkbox__mark {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* In case Woo renders the SVG inside another immediate wrapper. */
body.woocommerce-checkout .wc-block-components-checkbox__mark {
  background: none !important;
  color: var(--gd-ink) !important;
}

body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout label.wc-block-components-checkbox {
  align-items: center !important;
  display: flex !important;
  gap: 11px !important;
}

/* 2. Address cards: reserve room for "Bewerken" so it can never collide
   with the address text. */
body.woocommerce-checkout .wc-block-components-address-card {
  box-sizing: border-box !important;
  min-height: 82px !important;
  padding: 18px 118px 18px 20px !important;
  position: relative !important;
}

body.woocommerce-checkout .wc-block-components-address-card__address-section,
body.woocommerce-checkout .wc-block-components-address-card address {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-address-card__edit {
  margin: 0 !important;
  position: absolute !important;
  right: 20px !important;
  top: 18px !important;
  white-space: nowrap !important;
}

/* 3. Coupon input: floating label and entered value need their own vertical space. */
body.woocommerce-checkout
.wc-block-components-totals-coupon__form
.wc-block-components-text-input {
  min-width: 0 !important;
  position: relative !important;
}

body.woocommerce-checkout
.wc-block-components-totals-coupon__form
.wc-block-components-text-input input {
  box-sizing: border-box !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  min-height: 54px !important;
  padding: 22px 14px 8px !important;
}

body.woocommerce-checkout
.wc-block-components-totals-coupon__form
.wc-block-components-text-input label {
  font-size: 11px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  top: 8px !important;
  transform: none !important;
}

body.woocommerce-checkout
.wc-block-components-totals-coupon__form {
  align-items: stretch !important;
  gap: 10px !important;
}

body.woocommerce-checkout
.wc-block-components-totals-coupon__form
.wc-block-components-button {
  min-height: 54px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  white-space: nowrap !important;
}

/* 4. Checkout main separators:
   remove duplicate inherited borders and draw one separator only. */
body.woocommerce-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step {
  border: 0 !important;
  margin: 0 0 28px !important;
  padding: 0 0 28px !important;
  position: relative !important;
}

body.woocommerce-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step:not(:last-of-type)::after {
  background: var(--gd-line) !important;
  bottom: 0 !important;
  content: "" !important;
  display: block !important;
  height: 1px !important;
  left: 0 !important;
  position: absolute !important;
  right: 0 !important;
}

body.woocommerce-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step hr,
body.woocommerce-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step + hr {
  display: none !important;
}

/* 5. Order summary totals: give all labels proper inset from the left/right edge
   and avoid giant vertical gaps from inherited minimum heights. */
body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-wrapper,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-totals-wrapper {
  box-sizing: border-box !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 16px 18px !important;
}

body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-item,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-totals-item {
  align-items: flex-start !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-item__label,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-totals-item__label {
  padding-left: 0 !important;
}

body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-item__value,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-totals-item__value {
  padding-right: 0 !important;
}

/* Shipping sublabel has a small controlled offset, not edge-to-edge. */
body.woocommerce-checkout
.wc-block-components-totals-shipping
.wc-block-components-totals-item__description {
  margin: 4px 0 0 !important;
  padding: 0 !important;
}

/* Footer total: same horizontal inset as the rows above. */
body.woocommerce-checkout
.wc-block-components-totals-footer-item {
  box-sizing: border-box !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 18px !important;
}

/* Avoid two adjacent rules around total/footer sections. */
body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper,
body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper {
  border-top: 0 !important;
}

@media (max-width: 640px) {
  body.woocommerce-checkout .wc-block-components-address-card {
    padding-right: 96px !important;
  }

  body.woocommerce-checkout .wc-block-components-address-card__edit {
    right: 14px !important;
  }
}


/* ==========================================================================
   3.1.7 — Checkout final control reset: checkboxes, floating labels, separators
   ========================================================================== */

/* CHECKBOXES
   Hide Woo's own SVG mark completely and draw exactly one check on the input.
   This avoids the legacy/native + Woo SVG double-check problem. */
body.woocommerce-checkout .wc-block-components-checkbox__mark {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.woocommerce-checkout input.wc-block-components-checkbox__input {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #fff !important;
  background-image: none !important;
  border: 1.5px solid #8d8985 !important;
  border-radius: 1px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  flex: 0 0 18px !important;
  height: 18px !important;
  margin: 0 !important;
  min-height: 18px !important;
  min-width: 18px !important;
  padding: 0 !important;
  position: relative !important;
  width: 18px !important;
}

body.woocommerce-checkout input.wc-block-components-checkbox__input::before {
  content: "" !important;
  display: none !important;
}

body.woocommerce-checkout input.wc-block-components-checkbox__input:checked::before {
  border-bottom: 2px solid #222 !important;
  border-right: 2px solid #222 !important;
  display: block !important;
  height: 9px !important;
  left: 5px !important;
  position: absolute !important;
  top: 1px !important;
  transform: rotate(45deg) !important;
  width: 5px !important;
}

body.woocommerce-checkout input.wc-block-components-checkbox__input::after {
  content: none !important;
  display: none !important;
}

/* FLOATING LABELS
   Woo Blocks adds .is-active when the field contains a value / has focus.
   Give the label and value separate vertical zones. */
body.woocommerce-checkout .wc-block-components-text-input {
  position: relative !important;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox-control input {
  box-sizing: border-box !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  min-height: 56px !important;
  padding: 22px 16px 8px !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox-control label {
  box-sizing: border-box !important;
  font-size: 12px !important;
  line-height: 1 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-text-input input:focus + label,
body.woocommerce-checkout .wc-block-components-combobox-control .is-active label {
  top: 8px !important;
  transform: none !important;
}

/* Country/region combobox gets the same breathing room. */
body.woocommerce-checkout .wc-block-components-combobox-control .components-combobox-control__input {
  padding-top: 22px !important;
  padding-bottom: 8px !important;
}

/* SEPARATORS IN MAIN CHECKOUT
   Remove all historic pseudo-rules and keep one single divider per step. */
body.woocommerce-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step {
  border: 0 !important;
  border-bottom: 1px solid var(--gd-line) !important;
  margin: 0 0 28px !important;
  padding: 0 0 28px !important;
}

body.woocommerce-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step::before,
body.woocommerce-checkout
.wc-block-checkout__main
.wc-block-components-checkout-step::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-checkout .wc-block-checkout__add-note,
body.woocommerce-checkout .wc-block-checkout__terms {
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 18px 0 !important;
}

body.woocommerce-checkout .wc-block-checkout__add-note::before,
body.woocommerce-checkout .wc-block-checkout__add-note::after,
body.woocommerce-checkout .wc-block-checkout__terms::before,
body.woocommerce-checkout .wc-block-checkout__terms::after {
  content: none !important;
  display: none !important;
}

/* Remove standalone HR rules inside checkout content to prevent doubles. */
body.woocommerce-checkout .wc-block-checkout__main hr,
body.woocommerce-checkout .wc-block-checkout__main .wp-block-separator {
  display: none !important;
}

/* ORDER SUMMARY SEPARATORS
   One divider between logical rows only; no stacked top/bottom borders. */
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper {
  border: 0 !important;
  border-top: 1px solid var(--gd-line) !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper:first-of-type,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper:first-of-type {
  border-top: 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item {
  border: 0 !important;
  border-top: 1px solid var(--gd-line) !important;
}

/* If Woo nests footer total inside an already separated wrapper, don't add a second line. */
body.woocommerce-checkout .wc-block-components-totals-wrapper .wc-block-components-totals-footer-item {
  border-top: 0 !important;
}


/* ==========================================================================
   3.1.8 — mobile cart/checkout/contact + truly fixed mobile drawer
   ========================================================================== */

@media (max-width: 980px) {

  /* Mobile drawer must stay pinned to the viewport at every scroll position. */
  body > .gaudendo-mobile-panel {
    bottom: 0 !important;
    height: 100dvh !important;
    inset: 0 0 0 auto !important;
    max-height: 100dvh !important;
    position: fixed !important;
    top: 0 !important;
    transform: translate3d(105%,0,0) !important;
    width: min(390px, calc(100vw - 18px)) !important;
    z-index: 10030 !important;
  }

  body > .gaudendo-mobile-panel.is-open {
    transform: translate3d(0,0,0) !important;
  }

  body.admin-bar > .gaudendo-mobile-panel {
    bottom: 0 !important;
    height: calc(100dvh - 46px) !important;
    top: 46px !important;
  }

  body.gaudendo-mobile-menu-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  /* Cart/checkout should start much closer to the header on mobile. */
  body.woocommerce-cart .content-main-other,
  body.woocommerce-checkout .content-main-other {
    padding-top: 20px !important;
    padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
  }

  /* -----------------------------------------------------------------------
     MOBILE CART
     -------------------------------------------------------------------- */

  body.woocommerce-cart .wc-block-cart {
    display: block !important;
  }

  body.woocommerce-cart .wc-block-cart__main {
    overflow: hidden !important;
    width: 100% !important;
  }

  body.woocommerce-cart table.wc-block-cart-items,
  body.woocommerce-cart .wc-block-cart-items {
    table-layout: fixed !important;
    width: 100% !important;
  }

  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image {
    box-sizing: border-box !important;
    padding-right: 12px !important;
    width: 82px !important;
  }

  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product {
    box-sizing: border-box !important;
    min-width: 0 !important;
    padding-right: 6px !important;
    width: auto !important;
  }

  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__total {
    box-sizing: border-box !important;
    min-width: 76px !important;
    padding-left: 6px !important;
    text-align: right !important;
    width: 76px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__wrap,
  body.woocommerce-cart .wc-block-cart-item__product {
    min-width: 0 !important;
  }

  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-cart .wc-block-components-product-metadata {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.woocommerce-cart .wc-block-cart-item__quantity {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector {
    max-width: 138px !important;
    width: 138px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__remove-link,
  body.woocommerce-cart button.wc-block-cart-item__remove-link {
    display: inline-block !important;
    margin-top: 2px !important;
  }

  body.woocommerce-cart .wc-block-cart__sidebar {
    margin-top: 30px !important;
    padding: 20px !important;
    position: static !important;
  }

  /* Woo's mobile proceed-to-checkout bar: leave room for iOS Safari controls. */
  body.woocommerce-cart .wc-block-cart__submit-container {
    background: rgba(255,253,249,.96) !important;
    bottom: 0 !important;
    box-sizing: border-box !important;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom)) !important;
    z-index: 120 !important;
  }

  body.woocommerce-cart .wc-block-cart__submit-button {
    min-height: 52px !important;
  }

  /* -----------------------------------------------------------------------
     MOBILE CHECKOUT
     -------------------------------------------------------------------- */

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  /* Put the compact order summary first, then the form. */
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout
  > .wc-block-checkout__sidebar,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout
  > .wc-block-components-sidebar {
    order: -1 !important;
    margin: 0 0 10px !important;
    max-width: none !important;
    padding: 18px !important;
    position: static !important;
    width: 100% !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step {
    margin-bottom: 22px !important;
    padding-bottom: 22px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step__title,
  body.woocommerce-checkout .wc-block-components-title {
    font-size: clamp(1.7rem, 8vw, 2.25rem) !important;
  }

  body.woocommerce-checkout .wc-block-components-text-input input,
  body.woocommerce-checkout .wc-block-components-combobox-control input {
    min-height: 54px !important;
  }

  /* Compact totals on mobile; previous inherited rules created huge blank gaps. */
  body.woocommerce-checkout
  .wc-block-checkout__sidebar
  .wc-block-components-totals-wrapper,
  body.woocommerce-checkout
  .wc-block-components-sidebar
  .wc-block-components-totals-wrapper {
    min-height: 0 !important;
    padding: 14px 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-components-totals-shipping {
    min-height: 0 !important;
    padding-bottom: 14px !important;
    padding-top: 14px !important;
  }

  body.woocommerce-checkout .wc-block-components-totals-footer-item {
    min-height: 0 !important;
    padding: 18px 0 6px !important;
  }

  body.woocommerce-checkout .wc-block-components-order-summary-item {
    grid-template-columns: 54px minmax(0, 1fr) auto !important;
  }

  body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    width: 54px !important;
  }

  body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    height: 64px !important;
    width: 48px !important;
  }

  body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    font-size: 12px !important;
  }

  body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    font-size: 13px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    margin-bottom: env(safe-area-inset-bottom) !important;
  }

  /* -----------------------------------------------------------------------
     CONTACT PAGE
     -------------------------------------------------------------------- */

  body.post-slug-contact .content-main-other,
  body.post-slug-contact .content-main,
  body.post-slug-contact #primary,
  body.post-slug-contact .site-content,
  body.post-slug-contact article,
  body.post-slug-contact .entry-content {
    box-sizing: border-box !important;
    float: none !important;
    max-width: none !important;
    width: 100% !important;
  }

  body.post-slug-contact .content-main-other {
    padding: 34px 18px 60px !important;
  }

  body.post-slug-contact .entry-content {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.post-slug-contact .entry-content > *:first-child {
    margin-top: 0 !important;
  }

  body.post-slug-contact input[type="text"],
  body.post-slug-contact input[type="email"],
  body.post-slug-contact input[type="tel"],
  body.post-slug-contact textarea,
  body.post-slug-contact .wpcf7-form-control-wrap,
  body.post-slug-contact .wpcf7-form-control {
    box-sizing: border-box !important;
    max-width: none !important;
    width: 100% !important;
  }

  body.post-slug-contact textarea {
    min-height: 180px !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-cart .content-main-other,
  body.woocommerce-checkout .content-main-other {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image {
    width: 72px !important;
  }

  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__total {
    min-width: 68px !important;
    width: 68px !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector {
    width: 132px !important;
  }

  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar {
    border-radius: 18px !important;
  }
}


/* ==========================================================================
   3.1.9 — mobile checkout polish
   ========================================================================== */

@media (max-width: 980px) {

  /* Order summary: no inherited fixed/min heights. */
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-checkout-order-summary-block,
  body.woocommerce-checkout .wc-block-components-order-summary,
  body.woocommerce-checkout .wc-block-components-order-summary__content {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  /* When the mobile order summary is collapsed, remove the hidden content
     from layout as well. Woo otherwise keeps a large empty panel. */
  body.woocommerce-checkout
  .wc-block-checkout__sidebar:has(.wc-block-components-checkout-order-summary-button[aria-expanded="false"])
  .wc-block-components-order-summary,
  body.woocommerce-checkout
  .wc-block-checkout__sidebar:has(.wc-block-components-checkout-order-summary-button[aria-expanded="false"])
  .wc-block-components-totals-wrapper,
  body.woocommerce-checkout
  .wc-block-checkout__sidebar:has(.wc-block-components-checkout-order-summary-button[aria-expanded="false"])
  .wc-block-components-totals-footer-item,
  body.woocommerce-checkout
  .wc-block-components-sidebar:has(.wc-block-components-checkout-order-summary-button[aria-expanded="false"])
  .wc-block-components-order-summary,
  body.woocommerce-checkout
  .wc-block-components-sidebar:has(.wc-block-components-checkout-order-summary-button[aria-expanded="false"])
  .wc-block-components-totals-wrapper,
  body.woocommerce-checkout
  .wc-block-components-sidebar:has(.wc-block-components-checkout-order-summary-button[aria-expanded="false"])
  .wc-block-components-totals-footer-item {
    display: none !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-order-summary-button {
    box-sizing: border-box !important;
    min-height: 72px !important;
    padding: 18px 0 !important;
  }

  /* Expanded summary: compact product/totals spacing. */
  body.woocommerce-checkout .wc-block-components-order-summary {
    padding-bottom: 0 !important;
  }

  body.woocommerce-checkout .wc-block-components-order-summary-item {
    margin: 0 !important;
    padding: 14px 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-checkout__sidebar
  .wc-block-components-totals-wrapper,
  body.woocommerce-checkout
  .wc-block-components-sidebar
  .wc-block-components-totals-wrapper {
    margin: 0 !important;
    padding: 12px 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-components-totals-shipping,
  body.woocommerce-checkout
  .wc-block-components-totals-footer-item {
    margin: 0 !important;
    min-height: 0 !important;
    padding: 14px 0 !important;
  }

  /* Shipping + payment options: reserve enough room for radio button. */
  body.woocommerce-checkout
  .wc-block-components-radio-control__option {
    box-sizing: border-box !important;
    min-height: 64px !important;
    padding: 18px 18px 18px 58px !important;
    position: relative !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__input {
    left: 20px !important;
    margin: 0 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__label,
  body.woocommerce-checkout
  .wc-block-components-radio-control__option label {
    box-sizing: border-box !important;
    display: block !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Payment explanation starts underneath the label, not underneath radio. */
  body.woocommerce-checkout
  .wc-block-checkout__payment-method
  .wc-block-components-radio-control-accordion-content {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px 18px 18px 58px !important;
  }

  body.woocommerce-checkout
  .wc-block-checkout__payment-method
  .wc-block-components-radio-control-accordion-content p {
    line-height: 1.55 !important;
    margin: 0 !important;
  }

  /* Keep checkout action in normal document flow on mobile and leave enough
     room above iOS Safari's bottom chrome. */
  body.woocommerce-checkout .wc-block-checkout__actions,
  body.woocommerce-checkout .wc-block-checkout__actions_row {
    bottom: auto !important;
    position: static !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    bottom: auto !important;
    margin: 24px 0 calc(110px + env(safe-area-inset-bottom)) !important;
    position: static !important;
    width: 100% !important;
  }

  /* Slightly reduce the very large visual gap below the mobile header. */
  body.woocommerce-checkout .content-main-other {
    padding-top: 8px !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar {
    padding: 16px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-order-summary-button {
    min-height: 66px !important;
  }
}


/* ==========================================================================
   3.2.0 — exact Woo Blocks mobile checkout DOM fixes
   ========================================================================== */

@media (max-width: 980px) {

  /* -------------------------------------------------------------
     ORDER SUMMARY: exact DOM from live checkout
     ------------------------------------------------------------- */

  body.woocommerce-checkout
  .wc-block-components-sidebar.wc-block-checkout__sidebar,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block,
  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  > .wc-block-components-checkout-order-summary__title {
    align-items: center !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) auto 24px !important;
    margin: 0 !important;
    min-height: 68px !important;
    padding: 18px 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__title-text {
    margin: 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__title-price {
    white-space: nowrap !important;
  }

  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__title-icon {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* This is the real collapsed-state relationship in the DOM. */
  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__title[aria-expanded="false"]
  + .wc-block-components-checkout-order-summary__content {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__title[aria-expanded="true"]
  + .wc-block-components-checkout-order-summary__content {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  /* Empty fee/discount wrappers must take up no space. */
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-fee-block:empty,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-discount-block:empty {
    border: 0 !important;
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  /* Compact exact totals wrappers. */
  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__content
  > .wc-block-components-totals-wrapper,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-totals-block
  > .wc-block-components-totals-wrapper {
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 14px 0 !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-subtotal-block
  .wc-block-components-totals-item,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-shipping-block
  .wc-block-components-totals-item,
  body.woocommerce-checkout
  .wc-block-components-totals-footer-item {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-subtotal-block
  .wc-block-components-totals-item,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-shipping-block
  .wc-block-components-totals-item,
  body.woocommerce-checkout
  .wc-block-components-totals-footer-item {
    align-items: start !important;
    display: grid !important;
    gap: 4px 16px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-shipping-block
  .wc-block-components-totals-item__description,
  body.woocommerce-checkout
  .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__description {
    grid-column: 1 / -1 !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-components-order-summary-item {
    margin: 0 !important;
    padding: 14px 0 !important;
  }

  /* -------------------------------------------------------------
     SHIPPING / PAYMENT RADIOS: exact TemplateMela + Woo DOM
     ------------------------------------------------------------- */

  body.woocommerce-checkout
  .wc-block-components-radio-control__option {
    align-items: center !important;
    box-sizing: border-box !important;
    display: block !important;
    min-height: 68px !important;
    padding: 18px 18px 18px 58px !important;
    position: relative !important;
  }

  /* Neutralise old TemplateMela radio wrapper/pseudo styling. */
  body.woocommerce-checkout
  .wc-block-components-radio-control__option > .tm-radio {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    height: 22px !important;
    justify-content: center !important;
    left: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__option > .tm-radio::before,
  body.woocommerce-checkout
  .wc-block-components-radio-control__option > .tm-radio::after {
    content: none !important;
    display: none !important;
  }

  /* Re-show the real Woo radio input; legacy .tm-hide was hiding it. */
  body.woocommerce-checkout
  .wc-block-components-radio-control__input.tm-hide {
    -webkit-appearance: radio !important;
    appearance: radio !important;
    clip: auto !important;
    clip-path: none !important;
    display: block !important;
    height: 20px !important;
    inset: auto !important;
    margin: 0 !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    visibility: visible !important;
    width: 20px !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__option-layout {
    display: block !important;
    margin: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__label-group {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__label,
  body.woocommerce-checkout
  .wc-block-components-radio-control__secondary-label {
    line-height: 1.35 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__secondary-label {
    text-align: right !important;
    white-space: nowrap !important;
  }

  /* Payment accordion text starts on the same left line as the label. */
  body.woocommerce-checkout
  .wc-block-checkout__payment-method
  .wc-block-components-radio-control-accordion-content {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 12px 18px 18px 58px !important;
  }

  body.woocommerce-checkout
  .wc-block-checkout__payment-method
  .wc-block-components-radio-control-accordion-content p {
    line-height: 1.55 !important;
    margin: 0 !important;
  }

  /* Keep final action fully visible above iOS Safari chrome. */
  body.woocommerce-checkout
  .wc-block-components-checkout-place-order-button {
    margin-bottom: calc(120px + env(safe-area-inset-bottom)) !important;
    position: static !important;
    width: 100% !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-checkout
  .wc-block-components-sidebar.wc-block-checkout__sidebar {
    padding: 14px !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__option {
    padding-left: 54px !important;
    padding-right: 14px !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__option > .tm-radio {
    left: 17px !important;
  }
}


/* ==========================================================================
   3.2.1 — actual mobile checkout root-cause fixes
   ========================================================================== */

@media (max-width: 980px) {

  /* ROOT CAUSE #1:
     v3.1.2 gave the desktop sidebar flex: 0 0 440px. In the mobile column
     layout that 440px flex-basis becomes HEIGHT. Reset it completely. */
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout.wc-block-checkout
  > .wc-block-components-sidebar-layout.wc-block-checkout
  > .wc-block-components-sidebar.wc-block-checkout__sidebar {
    align-self: auto !important;
    flex: 0 0 auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  /* Collapsed order summary = title only, no inherited flex size. */
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block {
    display: block !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__title[aria-expanded="false"]
  + .wc-block-components-checkout-order-summary__content {
    display: none !important;
  }

  /* ROOT CAUSE #2:
     Woo's totals blocks can inherit flex sizing from the sidebar layout.
     Force the whole totals tree back to natural document flow. */
  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__content,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-totals-block,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-subtotal-block,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-shipping-block,
  body.woocommerce-checkout
  .wc-block-components-totals-wrapper,
  body.woocommerce-checkout
  .wc-block-components-totals-shipping,
  body.woocommerce-checkout
  .wc-block-components-totals-item {
    flex: none !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-totals-block {
    display: block !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-subtotal-block,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-shipping-block,
  body.woocommerce-checkout
  .wc-block-components-checkout-order-summary__content
  > .wc-block-components-totals-wrapper {
    display: block !important;
    margin: 0 !important;
    padding: 16px 0 !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-subtotal-block
  .wc-block-components-totals-item,
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-shipping-block
  .wc-block-components-totals-item,
  body.woocommerce-checkout
  .wc-block-components-totals-footer-item {
    align-items: start !important;
    display: grid !important;
    gap: 5px 16px !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-shipping-block
  .wc-block-components-totals-item__description,
  body.woocommerce-checkout
  .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__description {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout
  .wc-block-components-totals-footer-item {
    padding: 18px 0 8px !important;
  }

  /* ROOT CAUSE #3:
     The old theme wraps Woo's radio in .tm-radio and hides the real input.
     Use that wrapper as our custom radio instead of exposing Safari's native
     blue radio control. */
  body.woocommerce-checkout
  .wc-block-components-radio-control__option > .tm-radio {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: #fff !important;
    background-image: none !important;
    border: 1.5px solid #8b8986 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: block !important;
    height: 22px !important;
    left: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__option > .tm-radio::before {
    content: "" !important;
    display: none !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__option > .tm-radio:has(input:checked)::before {
    background: #1f1f1f !important;
    border-radius: 50% !important;
    display: block !important;
    height: 10px !important;
    left: 50% !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%,-50%) !important;
    width: 10px !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__option > .tm-radio::after {
    content: none !important;
    display: none !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__input.tm-hide {
    -webkit-appearance: none !important;
    appearance: none !important;
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__option-layout {
    width: 100% !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__label-group {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.woocommerce-checkout
  .wc-block-components-radio-control__secondary-label {
    text-align: right !important;
    white-space: nowrap !important;
  }
}
