@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

:root {
  --it-bg: #faf6ef;
  --it-bg-soft: #f3ece0;
  --it-card: #fffdf8;
  --it-card-strong: #ffffff;
  --it-ink: #2b241b;
  --it-ink-soft: #766a5b;
  --it-gold: #c89b53;
  --it-gold-strong: #e3bd82;
  --it-terracotta: #b66f4b;
  --it-sage: #7f8f79;
  --it-border: #eadfce;
  --it-border-strong: #d9c7ad;
  --it-shadow-soft: 0 10px 30px rgba(65, 42, 18, 0.08);
  --it-shadow-card: 0 18px 40px rgba(65, 42, 18, 0.11);
}

html,
body {
  font-family: 'Manrope', sans-serif !important;
  color: var(--it-ink);
  background: var(--it-bg);
  letter-spacing: 0.01em;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: 'Cormorant Garamond', serif;
  color: var(--it-ink);
}

body.custom-background {
  background-color: var(--it-bg);
}

body.custom-background::before {
  content: '';
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(250, 246, 239, 0.89) 0%, rgba(247, 239, 227, 0.95) 100%);
  pointer-events: none;
  z-index: 0;
}

body.custom-background::after {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at 12% 10%, rgba(255, 255, 255, 0.72), transparent 38%),
    radial-gradient(circle at 88% 0%, rgba(233, 217, 196, 0.35), transparent 29%);
  pointer-events: none;
  z-index: 0;
}

body > * {
  position: relative;
  z-index: 1;
}

.top-bar {
  background: rgba(255, 251, 244, 0.9) !important;
  border-bottom: 1px solid var(--it-border);
  color: var(--it-ink-soft) !important;
}

.header,
.bsnav-mobile .navbar {
  background: rgba(255, 253, 249, 0.95) !important;
  border: 0 !important;
  box-shadow: 0 8px 24px rgba(87, 56, 27, 0.08);
  backdrop-filter: blur(8px);
}

.header-center-logo {
  border-bottom: 1px solid var(--it-border);
}

.searchform {
  border-radius: 999px;
  background: #fff !important;
  border: 1px solid var(--it-border-strong) !important;
  color: var(--it-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.searchform::placeholder {
  color: #8f8374;
}

.header .navbar-nav li a,
.bsnav-mobile .navbar-nav li a {
  color: #3d3125 !important;
  font-family: 'Manrope', sans-serif;
  font-size: 0.94rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: transparent !important;
  transition: color 0.25s ease;
}

.header .navbar-nav > li > a:hover,
.header .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: var(--it-terracotta) !important;
  background: transparent !important;
}

.header .navbar-nav > .active > a,
.header .navbar-nav > .active > a:hover,
.header .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: var(--it-terracotta) !important;
  border-bottom: 2px solid var(--it-gold);
  background: transparent !important;
}

.cart-icon i,
.cart-icon span,
.header-cart span,
.header-cart i,
.cart-icon a {
  color: var(--it-terracotta) !important;
}

.header-cart-count {
  background: var(--it-gold);
  color: #2b2117;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.main-inner {
  margin-top: 0;
  padding-bottom: 2.2rem !important;
}

.main-inner > .container {
  margin-top: 1rem;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
}

.main-inner .wrapper,
.home .wrapper,
.archive .wrapper,
.single-post .wrapper {
  border-radius: 16px;
  border: 1px solid var(--it-border);
  background: linear-gradient(180deg, rgba(255, 254, 251, 0.94) 0%, rgba(252, 247, 239, 0.94) 100%);
  box-shadow: var(--it-shadow-soft);
  overflow: hidden;
}

@keyframes italiaFadeUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.woofood-accordion {
  border-radius: 14px;
  border: 1px solid var(--it-border-strong);
  background: var(--it-card-strong);
  box-shadow: 0 8px 22px rgba(76, 53, 31, 0.08);
  margin-bottom: 0.8rem;
  overflow: hidden;
  animation: italiaFadeUp 0.42s ease both;
}

.woofood-accordion:nth-child(2) {
  animation-delay: 0.04s;
}

.woofood-accordion:nth-child(3) {
  animation-delay: 0.08s;
}

.woofood-accordion:nth-child(4) {
  animation-delay: 0.12s;
}

.woofood-accordion .panel-heading {
  min-height: 3.2rem;
  height: auto;
  padding: 0.68rem 1rem;
  border-bottom: 1px solid var(--it-border);
  background: linear-gradient(180deg, #fefcf8 0%, #f8f0e4 100%) !important;
}

.woofood-accordion .panel-heading .panel-title {
  margin: 0;
  margin-right: 1.2rem;
  color: #3a2f24 !important;
  font-family: 'Manrope', sans-serif;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

.woofood-accordion .accordion-plus-icon {
  line-height: 1;
  margin-right: 0;
  padding-top: 0.15rem;
}

.woofood-accordion .accordion-plus-icon i,
.woofood-accordion .accordion-plus-icon i:before {
  color: var(--it-terracotta) !important;
}

.woofood-accordion .panel-body,
.woofood-products-wrapper,
.woofood-products-wrapper ul.woofood-products {
  background: transparent !important;
}

.woofood-products .woofood-product-loop {
  all: unset;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  display: grid;
  grid-template-columns: minmax(0, 64px) minmax(0, 1fr) auto;
  grid-template-areas:
    "img title title"
    "img price action";
  align-items: start;
  row-gap: 0.36rem;
  column-gap: 0.78rem;
  padding: 0.86rem 1rem;
  border-bottom: 1px solid #efe3d4;
  background: #fffdf9;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.woofood-products .woofood-product-loop:hover {
  transform: translateY(-2px);
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(217, 199, 173, 0.45);
}

.woofood-product-loop .product-image {
  grid-area: img;
}

.woofood-product-loop .product-image img {
  width: 62px;
  height: 62px;
  border-radius: 9px;
  border: 1px solid var(--it-border);
  box-shadow: none;
  object-fit: cover;
}

.woofood-product-loop .product-title {
  grid-area: title;
  width: auto;
  margin: 0;
  max-width: none;
  line-height: 1.34;
  color: var(--it-ink) !important;
  -webkit-text-fill-color: var(--it-ink) !important;
  font-family: 'Manrope', sans-serif;
  font-size: 1.01rem;
  font-weight: 600;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.woofood-product-loop .product-title * {
  color: var(--it-ink) !important;
  -webkit-text-fill-color: var(--it-ink) !important;
}

.woofood-product-loop .product-title .product-short-descr span {
  margin-top: 0.18rem;
  display: block;
  color: var(--it-ink-soft) !important;
  -webkit-text-fill-color: var(--it-ink-soft) !important;
  font-size: 0.84rem;
  line-height: 1.3;
  font-weight: 500;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.woofood-product-loop .product-price {
  grid-area: price;
  width: auto;
  margin: 0;
  min-width: 92px;
  max-width: 160px;
  text-align: left;
  font-size: 0.96rem;
  line-height: 1.18;
  color: var(--it-terracotta) !important;
}

.woofood-product-loop .product-price,
.woofood-product-loop .product-price .amount,
.woofood-product-loop .product-price .woocommerce-Price-currencySymbol {
  color: var(--it-terracotta) !important;
  -webkit-text-fill-color: var(--it-terracotta) !important;
  font-weight: 700;
}

.woofood-product-loop .product-button {
  grid-area: action;
  width: auto;
  justify-self: end;
  align-self: center;
}

.button,
button,
.woocommerce a.button,
.woocommerce button.button,
.woofood-product-loop .product-button .button,
.woofood-quickview-button.button,
input[type='submit'],
input[type='button'] {
  border-radius: 999px !important;
  border: 1px solid #cfab75 !important;
  color: #2f2317 !important;
  background: linear-gradient(180deg, #efd3a6 0%, #d7b177 100%) !important;
  font-family: 'Manrope', sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.6rem 1.18rem !important;
  box-shadow: 0 4px 12px rgba(184, 138, 73, 0.22);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.button:hover,
button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woofood-product-loop .product-button .button:hover,
.woofood-quickview-button.button:hover,
input[type='submit']:hover,
input[type='button']:hover {
  transform: translateY(-1px);
  color: #271b10 !important;
  background: linear-gradient(180deg, #f3ddb7 0%, #ddbc88 100%) !important;
  box-shadow: 0 6px 16px rgba(184, 138, 73, 0.3);
}

#secondary .widget {
  background: var(--it-card);
  border-radius: 16px;
  border: 1px solid var(--it-border-strong);
  box-shadow: var(--it-shadow-card);
  padding: 1rem;
  animation: italiaFadeUp 0.45s ease both;
}

#secondary .widget-title {
  background: transparent !important;
  border-bottom: 1px solid var(--it-border);
  color: #3a2f24 !important;
  text-align: center;
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.25rem;
  font-weight: 600;
}

#secondary .widget,
#secondary .widget * {
  color: #6f6456;
}

#secondary .widget .mini_cart_item a,
#secondary .widget .mini_cart_item strong,
#secondary .widget .total strong,
#secondary .widget .woocommerce-mini-cart-item,
#secondary .widget .woocommerce-mini-cart-item .quantity {
  color: var(--it-ink) !important;
}

#secondary .widget .woocommerce-mini-cart-item .amount,
#secondary .widget .woocommerce-mini-cart-item .woocommerce-Price-currencySymbol,
#secondary .widget .total .amount,
#secondary .widget .total .woocommerce-Price-currencySymbol {
  color: var(--it-terracotta) !important;
  font-weight: 700;
}

#secondary .widget .remove {
  color: #d04747 !important;
}

#secondary .widget .button,
#secondary .widget .checkout,
#secondary .widget .wc-forward {
  color: #2f2317 !important;
}

#secondary .widget_shopping_cart .widget_shopping_cart_content {
  background: #fffaf2 !important;
  border: 1px solid var(--it-border);
  border-radius: 12px;
  padding: 0.8rem;
}

#secondary .widget_shopping_cart .cart_list li {
  border-bottom: 1px solid var(--it-border) !important;
  padding: 0.45rem 0;
}

#secondary .widget_shopping_cart .cart_list li:last-child {
  border-bottom: 0 !important;
}

#secondary .widget_shopping_cart .total {
  margin-top: 0.4rem;
  padding-top: 0.6rem;
  border-top: 1px solid var(--it-border);
}

#secondary .widget_shopping_cart .buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

#secondary .widget_shopping_cart .buttons .button {
  flex: 1 1 auto;
  text-align: center;
}

#secondary .woofood-mini-cart {
  width: 100%;
  box-shadow: none !important;
}

#secondary .woofood-mini-cart-title span.cart-title {
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--it-border);
  margin-bottom: 0.6rem;
  padding-bottom: 0.45rem;
  text-align: center;
  color: #3a2f24 !important;
  letter-spacing: 0.05em;
}

#secondary .woofood-mini-cart-contents {
  background: #fffaf2;
  border: 1px solid var(--it-border);
  border-radius: 12px;
  padding: 0.7rem;
  overflow: hidden;
}

#secondary .woofood-mini-cart .cart_list li {
  border-bottom: 1px solid var(--it-border);
  padding: 0.5rem 0 0.55rem 1.7rem;
}

#secondary .woofood-mini-cart .cart_list li:last-child {
  border-bottom: 0;
}

#secondary .woofood-mini-cart .cart_list li a {
  color: var(--it-ink) !important;
  line-height: 1.28;
}

#secondary .woofood-mini-cart .woofood-mini-cart-item .quantity {
  color: #56493b !important;
  font-size: 0.95rem;
  margin-top: 0.15rem;
}

#secondary p.woofood-mini-cart__total.total {
  all: unset;
  display: block;
  width: 100%;
  float: left;
  margin-top: 0.45rem;
  padding-top: 0.55rem;
  border-top: 1px solid var(--it-border);
  color: var(--it-ink) !important;
}

#secondary p.woofood-mini-cart__total.total .amount,
#secondary p.woofood-mini-cart__total.total .woocommerce-Price-currencySymbol {
  color: var(--it-terracotta) !important;
  font-weight: 700;
}

#secondary p.woofood-mini-cart__buttons.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  width: 100%;
  float: left;
  margin: 0.65rem 0 0 0;
}

#secondary p.woofood-mini-cart__buttons.buttons a:first-child {
  display: inline-flex !important;
}

#secondary p.woofood-mini-cart__buttons.buttons a {
  margin: 0 !important;
  float: none !important;
  position: static !important;
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
}

.modal.wf_product_view .modal__overlay,
.modal.wf_category_view .modal__overlay {
  background: rgba(70, 50, 29, 0.26) !important;
  backdrop-filter: blur(2px);
  padding: 2vh 1rem;
}

.modal.wf_product_view .content,
.modal.wf_category_view .content {
  width: min(1080px, calc(100vw - 2rem));
  max-width: 1080px;
  border-radius: 18px;
  border: 1px solid var(--it-border-strong);
  box-shadow: 0 24px 52px rgba(86, 55, 28, 0.2);
  overflow: hidden;
  background: #fffdf8;
}

.modal.wf_product_view .modal__header,
.modal.wf_category_view .modal__header {
  width: 100%;
  display: flex;
  align-items: center;
  background: linear-gradient(180deg, #fffdf9 0%, #f8efe2 100%);
  border-bottom: 1px solid var(--it-border);
  box-shadow: none;
  padding: 0.82rem 1rem;
}

.modal.wf_product_view .modal__title,
.modal.wf_category_view .modal__title {
  color: #352a1f !important;
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1;
}

.modal.wf_product_view .modal__close,
.modal.wf_category_view .modal__close {
  min-width: 42px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid #cfab75 !important;
  background: linear-gradient(180deg, #f0d7b0 0%, #d8b37c 100%) !important;
  color: #2f2317 !important;
  box-shadow: 0 4px 10px rgba(184, 138, 73, 0.24);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.modal.wf_product_view .modal__header .modal__close:before,
.modal.wf_category_view .modal__header .modal__close:before {
  font-size: 16px;
  line-height: 1;
}

.modal.wf_product_view .modal__container,
.modal.wf_category_view .modal__container {
  width: 100%;
  min-width: 0;
  max-height: none;
  background: #fffdf8;
  border: 0;
  border-radius: 0;
  padding: 1rem;
}

.modal.wf_product_view .modal__content,
.modal.wf_category_view .modal__content {
  margin: 0;
  color: var(--it-ink) !important;
}

.modal.wf_product_view .modal__content,
.modal.wf_product_view .modal__content *,
.modal.wf_category_view .modal__content,
.modal.wf_category_view .modal__content * {
  color: var(--it-ink) !important;
}

.wf_product_view .price,
.wf_product_view .price *,
.modal.wf_product_view .price,
.modal.wf_product_view .price * {
  color: var(--it-terracotta) !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 0 !important;
  box-shadow: none !important;
}

.wf_product_view .price,
.modal.wf_product_view .price {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-end;
  float: right !important;
  padding: 0.36rem 0.68rem !important;
  border-radius: 10px;
  background: #f7ebd9 !important;
  border: 1px solid var(--it-border-strong) !important;
  text-align: right !important;
  min-width: 96px;
}

.modal.wf_product_view .column-50-wf {
  width: 50%;
  max-width: 50%;
  padding: 0.42rem;
}

.modal.wf_product_view .column-50-wf.image-column img {
  border-radius: 12px;
  border: 1px solid var(--it-border);
}

.modal.wf_product_view .wf_quickview_upsell_products {
  margin-top: 0.65rem;
}

.modal.wf_product_view .wf_quickview_upsell_products_header {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.85rem;
  text-align: left;
  color: #3d3125 !important;
  border-top: 1px solid var(--it-border);
  padding-top: 0.78rem;
}

.modal.wf_product_view .wf_quickview_upsell_products_content .woofood-products .woofood-product-loop {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  background: #fff;
}

.modal.wf_category_view .woocommerce ul.products {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

.modal.wf_category_view .woocommerce ul.products li.product {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  border-bottom: 1px solid #efe3d4;
  background: #fff;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  gap: 0.2rem;
  padding: 0.75rem 0.8rem;
  box-sizing: border-box;
}

.modal.wf_category_view .woocommerce ul.products li.product img {
  display: none !important;
}

.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-loop-product__title {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  color: var(--it-ink) !important;
  font-family: 'Manrope', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.28;
  white-space: normal !important;
  word-break: normal !important;
  grid-row: 1;
}

/* Description line in modal category products */
.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-loop-product__desc,
.modal.wf_category_view .woocommerce ul.products li.product .product-short-descr,
.modal.wf_category_view .woocommerce ul.products li.product .short-description {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  color: var(--it-ink-soft) !important;
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.32;
  grid-row: 2;
}

/* Price + Button row: side by side */
.modal.wf_category_view .woocommerce ul.products li.product .price {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  color: var(--it-terracotta) !important;
  font-weight: 700;
  background: transparent !important;
  border: 0 !important;
  grid-row: 3;
  justify-self: start;
  align-self: center;
}

.modal.wf_category_view .woocommerce ul.products li.product .button {
  float: none !important;
  margin: 0 !important;
  grid-row: 3;
  justify-self: end;
  align-self: center;
}

/* Make last row (price + button) a flex row */
.modal.wf_category_view .woocommerce ul.products li.product {
  grid-template-columns: 1fr auto !important;
}

.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-loop-product__title {
  grid-column: 1 / -1 !important;
}

.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-loop-product__desc,
.modal.wf_category_view .woocommerce ul.products li.product .product-short-descr,
.modal.wf_category_view .woocommerce ul.products li.product .short-description {
  grid-column: 1 / -1 !important;
}

/* Odd items get right border for column separation */
.modal.wf_category_view .woocommerce ul.products li.product:nth-child(odd) {
  border-right: 1px solid #efe3d4 !important;
}

/* Mobile: single column */
@media (max-width: 768px) {
  .modal.wf_category_view .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
  .modal.wf_category_view .woocommerce ul.products li.product:nth-child(odd) {
    border-right: 0 !important;
  }
}

.modal.wf_product_view textarea,
.modal.wf_product_view input[type='text'],
.modal.wf_product_view select {
  border-radius: 10px;
  border: 1px solid var(--it-border-strong) !important;
  background: #fff !important;
  color: var(--it-ink) !important;
}

.modal.wf_product_view .modal__footer,
.modal.wf_category_view .modal__footer {
  background: #fbf4e7;
  border-top: 1px solid var(--it-border);
  box-shadow: none;
}

.qty-change-button {
  border: 1px solid var(--it-border-strong) !important;
  background: #fff !important;
  color: var(--it-ink) !important;
}

.quantity .qty {
  border: 1px solid var(--it-border-strong) !important;
  background: #fff !important;
  color: var(--it-ink) !important;
}

/* Cart page */
.woocommerce-cart .woocommerce {
  background: transparent;
}

.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart_totals {
  background: var(--it-card-strong) !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 16px;
  padding: 1rem;
  box-shadow: var(--it-shadow-soft);
}

.woocommerce-cart .cart_totals {
  background: linear-gradient(180deg, #fffdf9 0%, #f9f1e5 100%) !important;
}

.woocommerce-cart table.shop_table {
  border: 1px solid var(--it-border) !important;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.woocommerce-cart table.shop_table thead th {
  background: #f7efdf !important;
  color: #3a2f24 !important;
  border-bottom: 1px solid var(--it-border) !important;
}

.woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table th {
  border-color: #efe3d4 !important;
}

.woocommerce-cart table.shop_table td.product-name,
.woocommerce-cart table.shop_table td.product-name a {
  color: var(--it-ink) !important;
  font-weight: 600;
}

.woocommerce-cart table.shop_table td.product-subtotal .amount,
.woocommerce-cart table.shop_table td.product-price .amount {
  color: var(--it-terracotta) !important;
  font-weight: 700;
}

.woocommerce-cart .coupon input,
.woocommerce-cart .coupon .input-text {
  border: 1px solid var(--it-border-strong) !important;
  border-radius: 999px;
  background: #fff !important;
}

.woocommerce-cart .cart_totals h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.05rem;
  color: #3a2f24 !important;
}

/* Checkout page */
.woocommerce-checkout .woocommerce {
  background: transparent;
}

.woocommerce-checkout #customer_details > div,
.woocommerce-checkout #order_review,
.woocommerce-checkout form.checkout_coupon {
  background: var(--it-card-strong);
  border: 1px solid var(--it-border);
  border-radius: 14px;
  padding: 0.95rem;
  box-shadow: var(--it-shadow-soft);
}

.woocommerce-checkout #order_review_heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.05rem;
  color: #3a2f24 !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #ship-to-different-address {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  color: #3a2f24 !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
  border-radius: 10px;
  border: 1px solid var(--it-border-strong) !important;
  background: #fff !important;
  color: var(--it-ink) !important;
}

.woocommerce-checkout #payment {
  background: #fbf4e9 !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 12px;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--it-border) !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: #f3ece2 !important;
  color: #4a3c2f !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #f3ece2 !important;
}

.woocommerce-checkout table.shop_table {
  border: 1px solid var(--it-border) !important;
  border-radius: 10px;
  overflow: hidden;
}

.woocommerce-checkout table.shop_table thead th {
  background: #f7efdf !important;
  color: #3a2f24 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead tr,
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th {
  background: #f7efdf !important;
  color: #3a2f24 !important;
  border-color: var(--it-border) !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th {
  border-color: #efe3d4 !important;
}

.woocommerce-checkout .woofood_order_type,
.woocommerce-checkout #wf-time-to-deliver,
.woocommerce-checkout #wf-date-to-deliver,
.woocommerce-checkout .woofood_store_address_checkout {
  background: #fffaf2 !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 10px;
  padding: 0.6rem;
  margin-bottom: 0.65rem;
}

.woocommerce-checkout .wf_tdlvr_title,
.woocommerce-checkout .delivery_date_title {
  background: #f3e8d6 !important;
  color: #3f3226 !important;
  border: 1px solid var(--it-border-strong) !important;
  border-radius: 8px;
  padding: 0.3rem 0.55rem !important;
  display: inline-block;
  position: static;
  margin: 0 0 0.4rem 0 !important;
  text-transform: none;
}

.woocommerce-checkout #wf-time-to-deliver .wf_tdlvr_title,
.woocommerce-checkout #wf-date-to-deliver .wf_tdlvr_title {
  width: 100% !important;
  float: left;
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.woocommerce-checkout #place_order,
.woocommerce-page #payment #place_order,
.woocommerce-checkout .button.alt {
  border-radius: 999px !important;
}

input[type='text'],
input[type='email'],
input[type='password'],
textarea,
select {
  border-radius: 10px;
  border: 1px solid var(--it-border-strong);
  background: #fff;
  color: var(--it-ink);
}

input::placeholder,
textarea::placeholder {
  color: #8d8071;
}

.woocommerce-message,
.woocommerce-success,
.woocommerce-info {
  border-left-color: var(--it-gold);
  background: #fcf2e4;
  color: #3d3125;
}

.footer {
  background: #f7efe2 !important;
  border-top: 1px solid var(--it-border);
  color: #74695b !important;
}

.footer .footer-bottom {
  background: #f2e8d9;
}

.footer a,
.footer span,
.footer i {
  color: #74695b !important;
}

.footer a:hover {
  color: var(--it-terracotta) !important;
}

/* remove empty area before footer */
html,
body {
  min-height: 0 !important;
  height: auto !important;
}

.main,
#main {
  min-height: 0 !important;
  height: auto !important;
  margin-bottom: 0 !important;
}

.main-inner {
  padding-bottom: 0.8rem !important;
  margin-bottom: 0 !important;
}

.footer {
  margin-top: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  .woofood-accordion,
  #secondary .widget,
  .woofood-products .woofood-product-loop,
  .button,
  button {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 1100px) {
  .woofood-products .woofood-product-loop {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }
}

@media (max-width: 992px) {
  .main-inner > .container {
    margin-top: 0.7rem;
    padding: 0;
  }

  .woofood-accordion .panel-heading .panel-title {
    font-size: 1.06rem;
  }

  .modal.wf_product_view .content,
  .modal.wf_category_view .content {
    width: calc(100vw - 1.2rem);
  }

  .modal.wf_product_view .column-50-wf {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .header {
    box-shadow: none;
  }

  .woofood-accordion .panel-heading {
    padding: 0.62rem 0.75rem;
  }

  .woofood-accordion .panel-heading .panel-title {
    font-size: 1rem;
  }

  .woofood-products .woofood-product-loop {
    grid-template-columns: minmax(0, 52px) minmax(0, 1fr) auto;
    grid-template-areas:
      "img title title"
      "img price action";
    row-gap: 0.46rem;
    column-gap: 0.65rem;
    padding: 0.75rem 0.68rem;
  }

  .woofood-product-loop .product-image {
    grid-area: img;
  }

  .woofood-product-loop .product-title {
    grid-area: title;
    font-size: 0.93rem;
  }

  .woofood-product-loop .product-price {
    grid-area: price;
    min-width: 0;
    max-width: none;
    font-size: 0.9rem;
  }

  .woofood-product-loop .product-button {
    grid-area: action;
    justify-self: end;
  }

  .woofood-product-loop .product-button .button {
    font-size: 0.81rem;
    padding: 0.5rem 0.9rem !important;
  }

  #secondary .widget-title {
    font-size: 1.92rem;
  }

  .modal.wf_product_view .modal__title,
  .modal.wf_category_view .modal__title {
    font-size: 1.7rem;
  }

  .modal.wf_product_view .modal__container,
  .modal.wf_category_view .modal__container {
    padding: 0.75rem;
  }

  .modal.wf_product_view .modal__close,
  .modal.wf_category_view .modal__close {
    min-width: 38px;
    width: 38px;
    height: 38px;
  }
}

/* ---------- Targeted Fixes: modal scroll, sidebar cart, single product, my account ---------- */

/* Keep page behind popup fixed; scroll must happen inside modal */
body.wf-modal-open {
  overflow: hidden !important;
}

.modal.wf_product_view .modal__overlay,
.modal.wf_category_view .modal__overlay {
  align-items: flex-start !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

.modal.wf_product_view .content,
.modal.wf_category_view .content {
  max-height: calc(100vh - 2rem) !important;
  min-height: 0 !important;
  height: auto !important;
  display: flex;
  flex-direction: column;
}

.modal.wf_product_view .modal__container,
.modal.wf_category_view .modal__container {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  max-height: none !important;
  padding-bottom: 1rem;
}

.modal.wf_product_view .modal__footer,
.modal.wf_category_view .modal__footer {
  position: sticky;
  bottom: 0;
  z-index: 8;
}

.modal.wf_product_view .modal__footer .single_add_to_cart_button,
.modal.wf_category_view .modal__footer .single_add_to_cart_button {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  margin: 0 !important;
  border-radius: 999px !important;
  font-size: 0.93rem !important;
}

/* Sidebar mini-cart cleanup */
#secondary .woofood-mini-cart,
#secondary .woofood-mini-cart * {
  box-sizing: border-box;
}

#secondary .woofood-mini-cart ul.cart_list {
  float: none !important;
  clear: both !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

#secondary .woofood-mini-cart .cart_list li {
  float: none !important;
  clear: both !important;
  display: block !important;
  width: 100%;
  position: relative;
  margin: 0 !important;
  padding: 0.56rem 0 0.65rem 1.35rem !important;
}

#secondary .woofood-mini-cart .cart_list li a {
  all: unset;
  display: block;
  cursor: pointer;
  color: var(--it-ink) !important;
  font-weight: 600;
  line-height: 1.28;
}

#secondary .woofood-mini-cart .cart_list li a img {
  float: right !important;
  width: 34px !important;
  margin-top: 0.12rem;
  margin-left: 0.5rem;
}

#secondary .woofood-mini-cart .cart_list li a.remove {
  all: unset;
  position: absolute !important;
  top: 0.56rem !important;
  left: 0 !important;
  width: 1rem;
  height: 1rem;
  text-align: center;
  line-height: 1;
  color: #c25b46 !important;
  font-weight: 800;
  cursor: pointer;
}

#secondary .woofood-mini-cart .woofood-mini-cart-item .quantity {
  display: block;
  clear: both;
  margin-top: 0.22rem;
}

#secondary p.woofood-mini-cart__total.total,
#secondary p.woofood-mini-cart__buttons.buttons {
  float: none !important;
  clear: both !important;
}

#secondary p.woofood-mini-cart__buttons.buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.42rem;
  margin-top: 0.62rem;
}

#secondary p.woofood-mini-cart__buttons.buttons a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  float: none !important;
  position: static !important;
  right: auto !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  min-height: 42px;
}

/* Single product page from search */
.single-product .type-product {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.single-product .woocommerce div.product {
  background: var(--it-card-strong) !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 18px;
  box-shadow: var(--it-shadow-soft);
  padding: 1.1rem;
}

.single-product .woocommerce div.product .product_title {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 0.35rem !important;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4.3vw, 3.1rem);
  line-height: 1.02;
  color: #352a1f !important;
}

.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price {
  display: inline-flex !important;
  float: none !important;
  text-align: left !important;
  background: #f7ebd9 !important;
  border: 1px solid var(--it-border-strong) !important;
  border-left: 1px solid var(--it-border-strong) !important;
  border-radius: 10px;
  color: var(--it-terracotta) !important;
  font-weight: 700;
  padding: 0.34rem 0.72rem !important;
  margin: 0.12rem 0 0.95rem !important;
}

.single-product .woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--it-ink-soft) !important;
  font-size: 1.02rem;
  line-height: 1.58;
}

.single-product .woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.single-product .woocommerce div.product form.cart .variations {
  width: 100%;
  margin-bottom: 0.45rem;
}

.single-product .woocommerce div.product .qty-change-button {
  min-width: 34px;
  width: 34px;
  height: 34px;
}

.single-product .woocommerce div.product .quantity .qty {
  width: 44px;
  height: 34px;
}

.single-product .woocommerce div.product .woocommerce-tabs {
  margin-top: 0.75rem;
  padding-top: 0.85rem !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.45rem;
  margin: 0 0 0.8rem !important;
  padding: 0 !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border: 0 !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px;
  background: #f9f1e5 !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: #42362a !important;
  padding: 0.5rem 0.85rem !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #ead8bd !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #2f2418 !important;
}

.single-product .woocommerce div.product .woocommerce-tabs .panel {
  border: 1px solid var(--it-border);
  border-radius: 12px;
  background: #fffdf9;
  padding: 0.95rem !important;
}

.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
  margin: 0 !important;
}

.single-product .related.products ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  min-height: 0 !important;
  border: 1px solid var(--it-border);
  border-radius: 12px;
  background: #fff;
  padding: 0.65rem;
}

.single-product .related.products ul.products li.product .price {
  background: transparent !important;
  border: 0 !important;
  color: var(--it-terracotta) !important;
  margin-top: 0.25rem !important;
  padding: 0 !important;
}

/* My Account consistency */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  width: 100%;
  float: none !important;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0 0 0.92rem !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
  border: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
  display: block;
  border-radius: 10px;
  border: 1px solid var(--it-border) !important;
  background: #fffdf8 !important;
  color: #3f3327 !important;
  font-weight: 600;
  padding: 0.55rem 0.82rem !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
  border-color: #cfab75 !important;
  background: linear-gradient(180deg, #f2ddb9 0%, #e0c08e 100%) !important;
  color: #2f2317 !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--it-card-strong) !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 14px;
  box-shadow: var(--it-shadow-soft);
  padding: 1rem 1.15rem !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
  border: 1px solid var(--it-border) !important;
  border-radius: 10px;
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
  background: #f7efdf !important;
  color: #3a2f24 !important;
}

@media (max-width: 768px) {
  .modal.wf_product_view .modal__overlay,
  .modal.wf_category_view .modal__overlay {
    padding: 0.45rem !important;
  }

  .modal.wf_product_view .content,
  .modal.wf_category_view .content {
    max-height: calc(100vh - 0.9rem) !important;
    width: calc(100vw - 0.9rem) !important;
  }

  .modal.wf_product_view .modal__footer .single_add_to_cart_button,
  .modal.wf_category_view .modal__footer .single_add_to_cart_button {
    width: 100% !important;
  }

  #secondary p.woofood-mini-cart__buttons.buttons {
    grid-template-columns: 1fr;
  }

  .single-product .related.products ul.products {
    grid-template-columns: 1fr;
  }
}

/* ---------- Follow-up: 2-column desktop product list + global mini-cart fixes ---------- */

/* Desktop/tablet: two products per row like legacy layout, but with stable text flow */
.woofood-accordion .woofood-products-wrapper ul.woofood-products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.woofood-accordion .woofood-products .woofood-product-loop {
  all: unset;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 108px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas: "title price action";
  column-gap: 0.72rem;
  align-items: center;
  padding: 0.82rem 0.92rem;
  border-bottom: 1px solid #efe3d4;
  background: #fffdf9;
}

.woofood-accordion .woofood-products .woofood-product-loop:nth-child(odd) {
  border-right: 1px solid #efe3d4;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-image {
  display: none;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-title {
  grid-area: title;
  margin: 0;
  min-width: 0;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-title > span:first-child {
  display: block;
  color: var(--it-ink) !important;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.14rem;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-short-descr {
  margin: 0;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-short-descr span {
  display: block;
  color: var(--it-ink-soft) !important;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.32;
  margin: 0;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-price {
  grid-area: price;
  width: auto;
  min-width: 86px;
  max-width: 120px;
  margin: 0;
  text-align: right;
  line-height: 1.2;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-button {
  grid-area: action;
  margin: 0;
  justify-self: end;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-button .button {
  margin: 0 !important;
}

/* Global mini-cart (shortcode/sidebar/right column), not only #secondary */
.woofood-mini-cart {
  width: 100%;
  background: var(--it-card) !important;
  border: 1px solid var(--it-border-strong) !important;
  border-radius: 16px;
  box-shadow: var(--it-shadow-card);
  padding: 1rem;
}

.woofood-mini-cart .woofood-mini-cart-title {
  width: 100%;
}

.woofood-mini-cart .woofood-mini-cart-title .cart-title {
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--it-border);
  margin-bottom: 0.6rem;
  padding-bottom: 0.45rem;
  text-align: center;
  color: #3a2f24 !important;
  letter-spacing: 0.05em;
}

.woofood-mini-cart .woofood-mini-cart-contents {
  background: #fffaf2;
  border: 1px solid var(--it-border);
  border-radius: 12px;
  padding: 0.72rem;
  overflow: hidden;
}

.woofood-mini-cart ul.cart_list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  clear: both;
  width: 100%;
}

.woofood-mini-cart .cart_list li {
  position: relative;
  float: none !important;
  clear: both !important;
  width: 100%;
  margin: 0 !important;
  padding: 0.5rem 0 0.6rem 1.35rem !important;
  border-bottom: 1px solid var(--it-border);
}

.woofood-mini-cart .cart_list li:last-child {
  border-bottom: 0;
}

.woofood-mini-cart .cart_list li a:not(.remove) {
  all: unset;
  display: block;
  cursor: pointer;
  color: var(--it-ink) !important;
  font-weight: 600;
  line-height: 1.3;
}

.woofood-mini-cart .cart_list li a.remove {
  all: unset;
  position: absolute !important;
  top: 0.5rem !important;
  left: 0 !important;
  width: 1rem;
  height: 1rem;
  text-align: center;
  line-height: 1;
  color: #c25b46 !important;
  font-weight: 800;
  cursor: pointer;
}

.woofood-mini-cart .cart_list li img {
  float: right !important;
  width: 34px !important;
  margin-top: 0.1rem;
  margin-left: 0.5rem;
}

.woofood-mini-cart .woofood-mini-cart-item .quantity {
  display: block;
  clear: both;
  margin-top: 0.18rem;
  color: #56493b !important;
}

p.woofood-mini-cart__total.total {
  all: unset;
  display: block;
  width: 100%;
  float: none !important;
  clear: both !important;
  margin-top: 0.48rem;
  padding-top: 0.52rem;
  border-top: 1px solid var(--it-border);
  color: var(--it-ink) !important;
}

p.woofood-mini-cart__total.total .amount,
p.woofood-mini-cart__total.total .woocommerce-Price-currencySymbol {
  color: var(--it-terracotta) !important;
  font-weight: 700;
}

p.woofood-mini-cart__buttons.buttons {
  float: none !important;
  clear: both !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0.42rem;
  width: 100%;
  margin: 0.62rem 0 0 0 !important;
}

p.woofood-mini-cart__buttons.buttons a,
p.woofood-mini-cart__buttons.buttons a:first-child {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin: 0 !important;
  float: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  text-align: center;
}

@media (max-width: 768px) {
  .woofood-accordion .woofood-products-wrapper ul.woofood-products {
    grid-template-columns: 1fr;
  }

  .woofood-accordion .woofood-products .woofood-product-loop {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "title"
      "price"
      "action";
    row-gap: 0.42rem;
    min-height: 0;
    border-right: 0 !important;
  }

  .woofood-accordion .woofood-products .woofood-product-loop .product-price,
  .woofood-accordion .woofood-products .woofood-product-loop .product-button {
    justify-self: start;
    text-align: left;
  }

  p.woofood-mini-cart__buttons.buttons {
    grid-template-columns: 1fr;
  }
}

/* ---------- Hard fix pass: single product, sidebar, mobile cart/modal ---------- */

/* remove old floating "message bar/button" under mobile menu */
.welcome-message-header {
  display: none !important;
}

/* single product page: kill legacy red blocks and old tab style */
.woocommerce div.product .summary p.price,
.woocommerce div.product .summary span.price,
.woocommerce .type-product .summary .price,
.woocommerce-page .type-product .summary .price {
  display: inline-flex !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0.2rem 0 0.9rem !important;
  padding: 0.34rem 0.72rem !important;
  border-radius: 10px !important;
  border: 1px solid var(--it-border-strong) !important;
  border-left: 1px solid var(--it-border-strong) !important;
  background: #f7ebd9 !important;
  color: var(--it-terracotta) !important;
  box-shadow: none !important;
  text-align: left !important;
}

.woocommerce div.product .summary p.price *,
.woocommerce div.product .summary span.price *,
.woocommerce .type-product .summary .price *,
.woocommerce-page .type-product .summary .price * {
  color: var(--it-terracotta) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: #f9f1e5 !important;
  border: 0 !important;
  border-radius: 10px !important;
  margin: 0 0.35rem 0.35rem 0 !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: #42362a !important;
  padding: 0.5rem 0.85rem !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #ead8bd !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
  color: #2f2418 !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: #fffdf9 !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 12px !important;
  padding: 0.95rem !important;
}

/* sidebar cart: force stable flow even with plugin hooks/floats */
#secondary .widget .woofood-mini-cart,
#secondary .widget .woofood-mini-cart * {
  box-sizing: border-box !important;
}

#secondary .widget .woofood-mini-cart .address-change-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.45rem;
  overflow: hidden !important;
  clear: both !important;
}

#secondary .widget .woofood-mini-cart .address-change-header .pull-right {
  float: none !important;
  width: 100%;
  text-align: center;
}

#secondary .widget .woofood-mini-cart .address-change-header .edit-address-icon.button {
  display: inline-flex !important;
  margin: 0 !important;
  float: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
}

#secondary .widget .woofood-mini-cart .woofood-mini-cart-contents,
#secondary .widget .woofood-mini-cart ul.cart_list,
#secondary .widget .woofood-mini-cart .cart_list li,
#secondary .widget .woofood-mini-cart p.woofood-mini-cart__total.total,
#secondary .widget .woofood-mini-cart p.woofood-mini-cart__buttons.buttons {
  float: none !important;
  clear: both !important;
  width: 100% !important;
}

#secondary .widget .woofood-mini-cart ul.cart_list {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

#secondary .widget .woofood-mini-cart .cart_list li {
  display: block !important;
  position: relative !important;
  padding: 0.54rem 0 0.62rem 1.35rem !important;
  margin: 0 !important;
}

#secondary .widget .woofood-mini-cart p.woofood-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.42rem !important;
  margin-top: 0.62rem !important;
}

#secondary .widget .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
#secondary .widget .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

/* modal mobile: internal scroll must work, background must not scroll */
@media (max-width: 768px) {
  html.wf-modal-open,
  body.wf-modal-open {
    overflow: hidden !important;
    height: 100% !important;
    touch-action: none;
  }

  .modal.wf_product_view .modal__overlay,
  .modal.wf_category_view .modal__overlay {
    align-items: flex-start !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0.45rem !important;
  }

  .modal.wf_product_view .content,
  .modal.wf_category_view .content {
    width: calc(100vw - 0.9rem) !important;
    max-width: calc(100vw - 0.9rem) !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: calc(100vh - 0.9rem) !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .modal.wf_product_view .modal__header,
  .modal.wf_category_view .modal__header {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 30 !important;
  }

  .modal.wf_product_view .modal__container,
  .modal.wf_category_view .modal__container {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    padding-bottom: 0.75rem !important;
  }

  .modal.wf_product_view .modal__content,
  .modal.wf_category_view .modal__content {
    margin-top: 0 !important;
    margin-bottom: 0.45rem !important;
  }

  .modal.wf_product_view .single_add_to_cart_button.button.alt,
  .modal.wf_category_view .single_add_to_cart_button.button.alt,
  .modal.wf_product_view .single_add_to_cart_button,
  .modal.wf_category_view .single_add_to_cart_button {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 0.95rem !important;
  }

  /* ensure cart page checkout button is visible and not fixed off-screen */
  .woocommerce-cart .wc-proceed-to-checkout,
  .woocommerce .wc-proceed-to-checkout {
    float: none !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
  }

  .woocommerce-cart a.checkout-button.button.alt.wc-forward,
  .woocommerce a.checkout-button.button.alt.wc-forward,
  a.checkout-button.button.alt.wc-forward {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    width: 100% !important;
    display: inline-flex !important;
    justify-content: center !important;
    margin: 0.75rem 0 0 !important;
    font-size: 1.04rem !important;
  }

  .woocommerce-cart .cart_totals table.shop_table,
  .woocommerce-cart .cart_totals table.shop_table tbody,
  .woocommerce-cart .cart_totals table.shop_table tr,
  .woocommerce-cart .cart_totals table.shop_table th,
  .woocommerce-cart .cart_totals table.shop_table td {
    display: table !important;
    width: 100% !important;
  }

  .woocommerce-cart .cart_totals table.shop_table tr {
    display: table-row !important;
  }

  .woocommerce-cart .cart_totals table.shop_table th,
  .woocommerce-cart .cart_totals table.shop_table td {
    display: table-cell !important;
    float: none !important;
    vertical-align: top !important;
  }

  .woocommerce-cart .cart_totals a.shipping-calculator-button {
    position: static !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: 100%;
    padding: 0.34rem 0.6rem !important;
    font-size: 0.86rem !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  #secondary .widget .woofood-mini-cart p.woofood-mini-cart__buttons.buttons {
    grid-template-columns: 1fr !important;
  }
}

/* ---------- Final stabilization pass (must win against late inline/footer styles) ---------- */

/* remove legacy full-height container gap before footer */
.main .container,
.main-inner > .container,
.main .wrapper,
.home .wrapper,
.archive .wrapper,
.single-product .wrapper,
.woocommerce-page .wrapper {
  height: auto !important;
  min-height: 0 !important;
}

/* hard override for single product and quickview pricing */
body.single-product .woocommerce div.product .summary p.price,
body.single-product .woocommerce div.product .summary span.price,
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price,
body.single-product .woocommerce .type-product .summary .price,
.wf_product_view .price,
.modal.wf_product_view .price,
.modal.wf_product_view .modal__container .price,
.wf_product_view .woocommerce-variation-price,
.modal.wf_product_view .woocommerce-variation-price,
.wf_product_view .woocommerce-variation-price .price,
.modal.wf_product_view .woocommerce-variation-price .price,
.woocommerce div.product .woocommerce-variation-price .price {
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0.25rem 0 0.85rem !important;
  padding: 0.35rem 0.74rem !important;
  border: 1px solid var(--it-border-strong) !important;
  border-left: 1px solid var(--it-border-strong) !important;
  border-radius: 10px !important;
  background: #f7ebd9 !important;
  color: var(--it-terracotta) !important;
  text-align: left !important;
  box-shadow: none !important;
}

body.single-product .woocommerce div.product .summary .price *,
body.single-product .woocommerce div.product .price *,
.wf_product_view .price *,
.modal.wf_product_view .price *,
.wf_product_view .woocommerce-variation-price .price * {
  color: var(--it-terracotta) !important;
}

/* single product tabs and related products */
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: #f9f1e5 !important;
  border: 0 !important;
  border-radius: 10px !important;
  margin: 0 0.35rem 0.35rem 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  border: 0 !important;
  box-shadow: none !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: #42362a !important;
  padding: 0.5rem 0.85rem !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:hover,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #ead8bd !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:hover a,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #2f2418 !important;
}

body.single-product .related.products ul.products li.product .price,
body.single-product .related.products ul.products li.product .price *,
body.single-product .woocommerce ul.products li.product .price,
body.single-product .woocommerce ul.products li.product .price * {
  background: transparent !important;
  border: 0 !important;
  color: var(--it-terracotta) !important;
  box-shadow: none !important;
}

/* mini-cart/sidebar: support both woofood-* and woocommerce-* markup variants */
.woofood-mini-cart .woofood-mini-cart-contents,
.woofood-mini-cart .widget_shopping_cart_content,
#secondary .woofood-mini-cart .woofood-mini-cart-contents,
#secondary .woofood-mini-cart .widget_shopping_cart_content {
  display: flow-root !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.woofood-mini-cart ul.cart_list,
.woofood-mini-cart ul.product_list_widget,
#secondary .woofood-mini-cart ul.cart_list,
#secondary .woofood-mini-cart ul.product_list_widget {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woofood-mini-cart li.woofood-mini-cart-item,
.woofood-mini-cart li.woocommerce-mini-cart-item,
.woofood-mini-cart li.mini_cart_item,
#secondary .woofood-mini-cart li.woofood-mini-cart-item,
#secondary .woofood-mini-cart li.woocommerce-mini-cart-item,
#secondary .woofood-mini-cart li.mini_cart_item {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0.54rem 0 0.62rem 1.35rem !important;
}

.woofood-mini-cart li.woofood-mini-cart-item a:not(.remove),
.woofood-mini-cart li.woocommerce-mini-cart-item a:not(.remove),
.woofood-mini-cart li.mini_cart_item a:not(.remove),
#secondary .woofood-mini-cart li.woofood-mini-cart-item a:not(.remove),
#secondary .woofood-mini-cart li.woocommerce-mini-cart-item a:not(.remove),
#secondary .woofood-mini-cart li.mini_cart_item a:not(.remove) {
  display: block !important;
  width: 100% !important;
  float: none !important;
}

.woofood-mini-cart p.woofood-mini-cart__total.total,
.woofood-mini-cart p.woocommerce-mini-cart__total.total,
.woofood-mini-cart p.total,
#secondary .woofood-mini-cart p.woofood-mini-cart__total.total,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__total.total,
#secondary .woofood-mini-cart p.total {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0.55rem 0 0 !important;
  padding-top: 0.5rem !important;
}

.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
.woofood-mini-cart p.buttons,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.42rem !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0.62rem 0 0 !important;
  position: static !important;
}

.woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons a,
.woofood-mini-cart p.buttons a,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons a,
#secondary .woofood-mini-cart p.buttons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  float: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

/* ===== SIDEBAR CART FIX: prevent items/buttons from breaking out of container ===== */

/* The widget container must grow to fit all content */
#secondary .widget,
#secondary .widget_shopping_cart,
#secondary .widget.woocommerce {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* The mini-cart wrapper must be full-width block flow, never clipped */
.woofood-mini-cart,
#secondary .woofood-mini-cart,
#secondary .widget .woofood-mini-cart {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: relative !important;
}

/* Contents area must expand to hold all cart items */
.woofood-mini-cart .woofood-mini-cart-contents,
#secondary .woofood-mini-cart .woofood-mini-cart-contents,
#secondary .widget .woofood-mini-cart .woofood-mini-cart-contents {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Cart list must be normal block flow */
.woofood-mini-cart ul.cart_list,
#secondary .woofood-mini-cart ul.cart_list,
#secondary .widget .woofood-mini-cart ul.cart_list {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Each cart item: block layout, no floating */
.woofood-mini-cart .cart_list li,
#secondary .woofood-mini-cart .cart_list li,
#secondary .widget .woofood-mini-cart .cart_list li {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0.54rem 0.3rem 0.62rem 1.35rem !important;
  box-sizing: border-box !important;
}

/* Total and buttons: must be inside normal flow, not floating off */
.woofood-mini-cart p.woofood-mini-cart__total.total,
.woofood-mini-cart p.total,
#secondary .woofood-mini-cart p.woofood-mini-cart__total.total,
#secondary .woofood-mini-cart p.total,
#secondary .widget .woofood-mini-cart p.woofood-mini-cart__total.total {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  position: static !important;
  margin: 0.48rem 0 0 !important;
  padding-top: 0.52rem !important;
  border-top: 1px solid var(--it-border) !important;
}

/* Buttons container: grid inside the card, not floating outside */
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.buttons,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.buttons,
#secondary .widget .woofood-mini-cart p.woofood-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.42rem !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  position: static !important;
  margin: 0.62rem 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Each button inside: static, centered, no absolute positioning */
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
.woofood-mini-cart p.buttons a,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
#secondary .woofood-mini-cart p.buttons a,
#secondary .widget .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  float: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* Tax/MwSt line: keep it inside the container */
.woofood-mini-cart .includes_tax,
.woofood-mini-cart .tax_label,
.woofood-mini-cart .woocommerce-mini-cart__total .includes_tax,
#secondary .woofood-mini-cart .includes_tax,
#secondary .woofood-mini-cart .tax_label {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  font-size: 0.88rem;
  color: var(--it-ink-soft) !important;
  margin-top: 0.2rem;
}

/* Address section in mini-cart */
.woofood-mini-cart .address-change-header,
#secondary .woofood-mini-cart .address-change-header,
#secondary .widget .woofood-mini-cart .address-change-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.45rem !important;
  width: 100% !important;
  overflow: hidden !important;
  clear: both !important;
  float: none !important;
  box-sizing: border-box !important;
}

.woofood-mini-cart .address-change-header .pull-right,
#secondary .woofood-mini-cart .address-change-header .pull-right {
  float: none !important;
  width: 100% !important;
  text-align: center !important;
}

.woofood-mini-cart .address-change-header .edit-address-icon.button,
#secondary .woofood-mini-cart .address-change-header .edit-address-icon.button {
  display: inline-flex !important;
  margin: 0 auto !important;
  float: none !important;
  position: static !important;
}

/* ===== END SIDEBAR CART FIX ===== */

/* mobile specific: remove legacy bars and fix modal/cart interactions */
@media (max-width: 768px) {
  .welcome-message-header,
  .mini-cart-anchor {
    display: none !important;
  }

  .modal.wf_product_view .modal__overlay,
  .modal.wf_category_view .modal__overlay {
    touch-action: pan-y !important;
  }

  .modal.wf_product_view .modal__container,
  .modal.wf_category_view .modal__container {
    touch-action: pan-y !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
  .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
  .woofood-mini-cart p.buttons,
  #secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
  #secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
  #secondary .woofood-mini-cart p.buttons {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout,
  .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout {
    display: block !important;
    width: 100% !important;
    margin-top: 0.9rem !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button,
  .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button,
  .woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout a.button,
  .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.button {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    display: inline-flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .woocommerce-cart .cart_totals .shipping-calculator-button {
    position: static !important;
    display: inline !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: var(--it-terracotta) !important;
    text-decoration: underline !important;
  }
}

/* ==========================================================================
   NUCLEAR SIDEBAR CART FIX
   Override old woocommerce.css + main.css float-based cart layout.
   These selectors deliberately include body.woocommerce / .woocommerce prefix
   to beat the specificity of the legacy theme stylesheets.
   ========================================================================== */

/* --- Widget container: must auto-size to content --- */
body .widget_shopping_cart,
body.woocommerce .widget_shopping_cart,
#secondary .widget_shopping_cart,
#secondary .widget.woocommerce.widget_shopping_cart {
  box-shadow: var(--it-shadow-card) !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* --- Widget content wrapper --- */
body .widget_shopping_cart_content,
body.woocommerce .widget_shopping_cart_content,
#secondary .widget_shopping_cart_content {
  background: #fffaf2 !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 12px !important;
  padding: 0.72rem !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  display: block !important;
}

/* --- Cart list container: kill all floats --- */
body .widget_shopping_cart ul.cart_list,
body .widget_shopping_cart ul.product_list_widget,
body.woocommerce ul.cart_list,
body.woocommerce ul.product_list_widget,
.woocommerce ul.cart_list,
.woocommerce ul.product_list_widget,
#secondary .widget_shopping_cart ul.cart_list,
#secondary .woofood-mini-cart ul.cart_list,
#secondary .widget ul.cart_list {
  list-style: none outside !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: both !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* --- Individual cart items: BLOCK, no float --- */
body .widget_shopping_cart .cart_list li,
body .widget_shopping_cart .cart_list li.mini_cart_item,
body .widget_shopping_cart .cart_list li.woocommerce-mini-cart-item,
body .widget_shopping_cart .cart_list li.woofood-mini-cart-item,
body.woocommerce .widget_shopping_cart .cart_list li,
body.woocommerce.widget_shopping_cart .cart_list li,
.woocommerce .widget_shopping_cart .cart_list li,
.woocommerce.widget_shopping_cart .cart_list li,
#secondary .widget_shopping_cart .cart_list li,
#secondary .woofood-mini-cart .cart_list li,
#secondary .widget .cart_list li,
#secondary .widget .woofood-mini-cart .cart_list li {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0.54rem 0.3rem 0.62rem 1.35rem !important;
  border-bottom: 1px solid var(--it-border) !important;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body .widget_shopping_cart .cart_list li:last-child,
body.woocommerce .widget_shopping_cart .cart_list li:last-child,
.woocommerce .widget_shopping_cart .cart_list li:last-child,
.woocommerce.widget_shopping_cart .cart_list li:last-child,
#secondary .widget_shopping_cart .cart_list li:last-child,
#secondary .woofood-mini-cart .cart_list li:last-child {
  border-bottom: 0 !important;
}

/* --- Cart item links --- */
body .widget_shopping_cart .cart_list li a:not(.remove),
body.woocommerce .widget_shopping_cart .cart_list li a:not(.remove),
.woocommerce .widget_shopping_cart .cart_list li a:not(.remove),
.woocommerce ul.cart_list li a:not(.remove),
#secondary .widget_shopping_cart .cart_list li a:not(.remove),
#secondary .woofood-mini-cart .cart_list li a:not(.remove) {
  display: block !important;
  float: none !important;
  color: var(--it-ink) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

/* --- Remove button: absolute positioned left --- */
body .widget_shopping_cart .cart_list li a.remove,
body.woocommerce .widget_shopping_cart .cart_list li a.remove,
.woocommerce .widget_shopping_cart .cart_list li a.remove,
#secondary .widget_shopping_cart .cart_list li a.remove,
#secondary .woofood-mini-cart .cart_list li a.remove {
  position: absolute !important;
  top: 0.56rem !important;
  left: 0 !important;
  width: 1rem !important;
  height: 1rem !important;
  text-align: center !important;
  line-height: 1 !important;
  color: #c25b46 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  float: none !important;
  display: block !important;
}

/* --- Thumbnail images in cart items --- */
body .widget_shopping_cart .cart_list li img,
body.woocommerce ul.cart_list li img,
body.woocommerce ul.product_list_widget li img,
.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img,
#secondary .widget_shopping_cart .cart_list li img,
#secondary .woofood-mini-cart .cart_list li img {
  float: right !important;
  width: 34px !important;
  height: auto !important;
  margin-top: 0.1rem !important;
  margin-left: 0.5rem !important;
  box-shadow: none !important;
}

/* --- Quantity line --- */
body .widget_shopping_cart .quantity,
body.woocommerce .widget_shopping_cart .quantity,
.woocommerce .widget_shopping_cart .quantity,
.woocommerce-mini-cart .quantity,
#secondary .widget_shopping_cart .quantity,
#secondary .woofood-mini-cart .woofood-mini-cart-item .quantity {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin-top: 0.18rem !important;
  color: #56493b !important;
}

/* --- Total line --- */
body .widget_shopping_cart .total,
body.woocommerce .widget_shopping_cart .total,
.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total,
#secondary .widget_shopping_cart .total,
#secondary .woofood-mini-cart p.total,
#secondary .woofood-mini-cart p.woofood-mini-cart__total.total,
p.woofood-mini-cart__total.total,
p.woocommerce-mini-cart__total.total {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  position: static !important;
  margin: 0.48rem 0 0 !important;
  padding: 0.52rem 0 0 !important;
  border-top: 1px solid var(--it-border) !important;
  color: var(--it-ink) !important;
}

/* Total amount color */
body .widget_shopping_cart .total .amount,
body .widget_shopping_cart .total .woocommerce-Price-currencySymbol,
#secondary .widget_shopping_cart .total .amount,
#secondary .woofood-mini-cart .total .amount,
p.woofood-mini-cart__total.total .amount,
p.woocommerce-mini-cart__total.total .amount {
  color: var(--it-terracotta) !important;
  font-weight: 700 !important;
}

/* --- Tax/MwSt line --- */
body .widget_shopping_cart .includes_tax,
body .widget_shopping_cart .tax_label,
#secondary .widget_shopping_cart .includes_tax,
#secondary .woofood-mini-cart .includes_tax {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  font-size: 0.88rem !important;
  color: var(--it-ink-soft) !important;
  margin-top: 0.2rem !important;
}

/* --- Buttons container (Warenkorb anzeigen / Kasse) --- */
body .widget_shopping_cart .buttons,
body .widget_shopping_cart p.buttons,
body.woocommerce .widget_shopping_cart .buttons,
.woocommerce .widget_shopping_cart .buttons,
#secondary .widget_shopping_cart .buttons,
#secondary .woofood-mini-cart p.buttons,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
p.woofood-mini-cart__buttons.buttons,
p.woocommerce-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.5rem !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  position: static !important;
  margin: 0.72rem 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* --- Each button inside: equal size, centered --- */
body .widget_shopping_cart .buttons a,
body .widget_shopping_cart p.buttons a,
body.woocommerce .widget_shopping_cart .buttons a,
.woocommerce .widget_shopping_cart .buttons a,
#secondary .widget_shopping_cart .buttons a,
#secondary .woofood-mini-cart p.buttons a,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
p.woofood-mini-cart__buttons.buttons a,
p.woocommerce-mini-cart__buttons.buttons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  float: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
  text-align: center !important;
  font-size: 0.82rem !important;
  padding: 0.55rem 0.5rem !important;
}

/* (button styles already defined above in NUCLEAR fix) */

/* --- Address section in woofood mini-cart --- */
body .woofood-mini-cart .address-change-header,
#secondary .woofood-mini-cart .address-change-header,
#secondary .widget .woofood-mini-cart .address-change-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.45rem !important;
  width: 100% !important;
  overflow: hidden !important;
  clear: both !important;
  float: none !important;
  box-sizing: border-box !important;
}

body .woofood-mini-cart .address-change-header .pull-right,
#secondary .woofood-mini-cart .address-change-header .pull-right {
  float: none !important;
  width: 100% !important;
  text-align: center !important;
}

/* --- Mobile: single column buttons --- */
@media (max-width: 768px) {
  body .widget_shopping_cart .buttons,
  body .widget_shopping_cart p.buttons,
  #secondary .widget_shopping_cart .buttons,
  #secondary .woofood-mini-cart p.buttons,
  #secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
  p.woofood-mini-cart__buttons.buttons,
  p.woocommerce-mini-cart__buttons.buttons {
    grid-template-columns: 1fr !important;
  }
}

/* ========================================================================== 
   END NUCLEAR SIDEBAR CART FIX 
   ========================================================================== */

/* ==========================================================================
   FINAL POLISH – v2 2026-03-02
   Single Product View, Checkout, Sidebar Buttons, Modal Product Layout
   All styles use high-specificity selectors + !important to override
   legacy woocommerce.css and main.css float-based layouts.
   ========================================================================== */

/* ── SIDEBAR CART: Buttons sauber nebeneinander ── */

body .widget_shopping_cart .buttons,
body .widget_shopping_cart p.buttons,
body.woocommerce .widget_shopping_cart .buttons,
.woocommerce .widget_shopping_cart .buttons,
#secondary .widget_shopping_cart .buttons,
#secondary .woofood-mini-cart .buttons,
#secondary .woofood-mini-cart p.buttons,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .widget .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
p.woofood-mini-cart__buttons.buttons,
p.woocommerce-mini-cart__buttons.buttons {
  all: unset !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.5rem !important;
  width: 100% !important;
  margin-top: 0.72rem !important;
  box-sizing: border-box !important;
}

body .widget_shopping_cart .buttons a,
body .widget_shopping_cart p.buttons a,
body.woocommerce .widget_shopping_cart .buttons a,
.woocommerce .widget_shopping_cart .buttons a,
#secondary .widget_shopping_cart .buttons a,
#secondary .woofood-mini-cart .buttons a,
#secondary .woofood-mini-cart p.buttons a,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
#secondary .widget .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
p.woofood-mini-cart__buttons.buttons a,
p.woocommerce-mini-cart__buttons.buttons a {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  text-align: center !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #2f2317 !important;
  border-radius: 999px !important;
  border: 1px solid #cfab75 !important;
  background: linear-gradient(180deg, #efd3a6 0%, #d7b177 100%) !important;
  box-shadow: 0 4px 12px rgba(184, 138, 73, 0.22) !important;
  padding: 0.55rem 0.5rem !important;
}

body .widget_shopping_cart .buttons a:hover,
#secondary .woofood-mini-cart p.buttons a:hover,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a:hover,
p.woofood-mini-cart__buttons.buttons a:hover {
  background: linear-gradient(180deg, #f3ddb7 0%, #ddbc88 100%) !important;
  box-shadow: 0 6px 16px rgba(184, 138, 73, 0.3) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 768px) {
  body .widget_shopping_cart .buttons,
  body .widget_shopping_cart p.buttons,
  #secondary .woofood-mini-cart p.buttons,
  #secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
  p.woofood-mini-cart__buttons.buttons {
    grid-template-columns: 1fr !important;
  }
}

/* ── MODAL CATEGORY VIEW: 3-Zeilen Produktlayout ── */

/* Products grid: 2 columns on desktop */
.modal.wf_category_view .woocommerce ul.products,
body .modal.wf_category_view .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  list-style: none !important;
  float: none !important;
}

/* Each product: 3-row card layout */
.modal.wf_category_view .woocommerce ul.products li.product,
body .modal.wf_category_view .woocommerce ul.products li.product,
body.woocommerce .modal.wf_category_view ul.products li.product {
  all: unset !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto auto !important;
  gap: 0.15rem 0.65rem !important;
  padding: 0.75rem 0.8rem !important;
  border-bottom: 1px solid #efe3d4 !important;
  background: #fff !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
}

/* Odd items: right border between columns */
.modal.wf_category_view .woocommerce ul.products li.product:nth-child(odd) {
  border-right: 1px solid #efe3d4 !important;
}

/* Hide images in category modal */
.modal.wf_category_view .woocommerce ul.products li.product img,
.modal.wf_category_view .woocommerce ul.products li.product a img {
  display: none !important;
}

/* Row 1: Product name – full width */
.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-loop-product__title,
.modal.wf_category_view .woocommerce ul.products li.product h2,
.modal.wf_category_view .woocommerce ul.products li.product h3 {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--it-ink) !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  white-space: normal !important;
  word-break: normal !important;
  float: none !important;
  width: auto !important;
}

/* Row 2: Description – full width */
.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-loop-product__desc,
.modal.wf_category_view .woocommerce ul.products li.product .product-short-descr,
.modal.wf_category_view .woocommerce ul.products li.product .short-description,
.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-product-details__short-description {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--it-ink-soft) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.32 !important;
  float: none !important;
  width: auto !important;
}

/* Row 3: Price left, Button right */
.modal.wf_category_view .woocommerce ul.products li.product .price {
  grid-column: 1 !important;
  grid-row: 3 !important;
  justify-self: start !important;
  align-self: center !important;
  margin: 0.25rem 0 0 !important;
  padding: 0 !important;
  color: var(--it-terracotta) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.modal.wf_category_view .woocommerce ul.products li.product .price * {
  color: var(--it-terracotta) !important;
}

.modal.wf_category_view .woocommerce ul.products li.product .button,
.modal.wf_category_view .woocommerce ul.products li.product a.button {
  grid-column: 2 !important;
  grid-row: 3 !important;
  justify-self: end !important;
  align-self: center !important;
  margin: 0.25rem 0 0 !important;
  float: none !important;
}

/* Mobile: single column */
@media (max-width: 768px) {
  .modal.wf_category_view .woocommerce ul.products,
  body .modal.wf_category_view .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
  .modal.wf_category_view .woocommerce ul.products li.product:nth-child(odd) {
    border-right: 0 !important;
  }
}

/* ── SINGLE PRODUCT VIEW – Clean & Polished ── */

/* Product card container */
body.single-product .woocommerce div.product,
body.single-product .type-product {
  background: var(--it-card-strong) !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--it-shadow-soft) !important;
  padding: 1.2rem !important;
  overflow: hidden !important;
}

/* Product title */
body.single-product .woocommerce div.product .product_title,
body.single-product .woocommerce div.product h1.product_title {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 0.4rem !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  line-height: 1.05 !important;
  color: #352a1f !important;
  text-align: left !important;
  width: 100% !important;
  float: none !important;
  display: block !important;
}

/* Price badge */
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price,
body.single-product .woocommerce div.product .summary p.price,
body.single-product .woocommerce div.product .summary span.price,
body.single-product .woocommerce .type-product .summary .price {
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0.2rem 0 0.85rem !important;
  padding: 0.36rem 0.74rem !important;
  border: 1px solid var(--it-border-strong) !important;
  border-left: 1px solid var(--it-border-strong) !important;
  border-radius: 10px !important;
  background: #f7ebd9 !important;
  color: var(--it-terracotta) !important;
  font-weight: 700 !important;
  text-align: left !important;
  box-shadow: none !important;
}

body.single-product .woocommerce div.product .price *,
body.single-product .woocommerce div.product .summary .price * {
  color: var(--it-terracotta) !important;
  background: transparent !important;
  border: 0 !important;
}

/* Short description */
body.single-product .woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--it-ink-soft) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin-bottom: 0.8rem !important;
  width: 100% !important;
  float: left !important;
}

/* Variation price hidden by default (shown on select) */
body.single-product .woocommerce div.product .woocommerce-variation-price .price {
  background: #f7ebd9 !important;
  border: 1px solid var(--it-border-strong) !important;
  border-radius: 10px !important;
  padding: 0.36rem 0.74rem !important;
  display: inline-flex !important;
  float: none !important;
  width: auto !important;
}

/* Variations table */
body.single-product .woocommerce div.product .variations {
  width: 100% !important;
  margin-bottom: 0.5rem !important;
}

body.single-product .woocommerce div.product .variations .label {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--it-ink) !important;
}

body.single-product .woocommerce div.product .variations select {
  border: 1px solid var(--it-border-strong) !important;
  border-radius: 10px !important;
  padding: 0.5rem 0.75rem !important;
  background: #fff !important;
  color: var(--it-ink) !important;
  font-size: 0.95rem !important;
}

/* Quantity controls */
body.single-product .qty-change-button {
  min-width: 36px !important;
  width: 36px !important;
  height: 36px !important;
  border: 1px solid var(--it-border-strong) !important;
  background: #fff !important;
  color: var(--it-ink) !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

body.single-product .qty-change-button i {
  color: var(--it-ink) !important;
  -webkit-text-fill-color: var(--it-ink) !important;
}

body.single-product .quantity .qty {
  width: 48px !important;
  height: 36px !important;
  border: 1px solid var(--it-border-strong) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--it-ink) !important;
  text-align: center !important;
  font-size: 1rem !important;
}

/* Add to cart button */
body.single-product .single_add_to_cart_button {
  border-radius: 999px !important;
  font-size: 0.95rem !important;
  padding: 0.7rem 1.5rem !important;
}

/* Product tabs */
body.single-product .woocommerce div.product .woocommerce-tabs {
  clear: both !important;
  width: 100% !important;
  float: left !important;
  margin-top: 1rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid var(--it-border) !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.4rem !important;
  margin: 0 0 0.8rem !important;
  padding: 0 !important;
  list-style: none !important;
  justify-content: flex-start !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border: 0 !important;
  display: none !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: #f9f1e5 !important;
  border: 0 !important;
  border-radius: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: #42362a !important;
  padding: 0.5rem 0.85rem !important;
  display: block !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
  background: #ead8bd !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
  color: #2f2418 !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs .panel {
  background: #fffdf9 !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 12px !important;
  padding: 1rem !important;
}

/* Related products */
body.single-product .related.products h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.8rem !important;
  color: #3a2f24 !important;
  margin: 1.2rem 0 0.8rem !important;
}

body.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.72rem !important;
  margin: 0 !important;
  list-style: none !important;
}

body.single-product .related.products ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  padding: 0.65rem !important;
  display: block !important;
}

body.single-product .related.products ul.products li.product img {
  border-radius: 8px !important;
  border: 1px solid var(--it-border) !important;
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
  float: left !important;
  margin-right: 0.6rem !important;
}

body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--it-ink) !important;
  margin: 0 0 0.2rem !important;
}

body.single-product .related.products ul.products li.product .price,
body.single-product .related.products ul.products li.product .price * {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--it-terracotta) !important;
  font-weight: 700 !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  display: inline !important;
  font-size: 0.9rem !important;
}

@media (max-width: 768px) {
  body.single-product .related.products ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ── CHECKOUT PAGE – Polished ── */

/* Main containers */
body.woocommerce-checkout .woocommerce {
  background: transparent !important;
}

body.woocommerce-checkout #customer_details > div,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout form.checkout_coupon {
  background: var(--it-card-strong) !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 14px !important;
  padding: 1rem !important;
  box-shadow: var(--it-shadow-soft) !important;
}

/* Section headings */
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #ship-to-different-address {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.8rem !important;
  color: #3a2f24 !important;
  margin-bottom: 0.8rem !important;
}

/* Form inputs */
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"] {
  border-radius: 10px !important;
  border: 1px solid var(--it-border-strong) !important;
  background: #fff !important;
  color: var(--it-ink) !important;
  padding: 0.6rem 0.8rem !important;
  font-size: 0.95rem !important;
}

body.woocommerce-checkout .form-row label {
  color: var(--it-ink) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
}

/* Payment section */
body.woocommerce-checkout #payment {
  background: #fbf4e9 !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--it-border) !important;
  padding: 0.8rem !important;
  margin: 0 !important;
  list-style: none !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: 0.4rem !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label {
  color: var(--it-ink) !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

body.woocommerce-checkout #payment div.payment_box {
  background: #f3ece2 !important;
  color: #4a3c2f !important;
  border-radius: 8px !important;
  padding: 0.75rem !important;
  margin-top: 0.4rem !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #f3ece2 !important;
}

/* Order review table */
body.woocommerce-checkout table.shop_table {
  border: 1px solid var(--it-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
}

body.woocommerce-checkout table.shop_table thead th {
  background: #f7efdf !important;
  color: #3a2f24 !important;
  font-weight: 700 !important;
  border-bottom: 1px solid var(--it-border) !important;
  padding: 0.7rem 0.8rem !important;
}

body.woocommerce-checkout table.shop_table td,
body.woocommerce-checkout table.shop_table th {
  border-color: #efe3d4 !important;
  padding: 0.6rem 0.8rem !important;
  color: var(--it-ink) !important;
}

body.woocommerce-checkout table.shop_table .product-name {
  color: var(--it-ink) !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout table.shop_table .amount {
  color: var(--it-terracotta) !important;
  font-weight: 700 !important;
}

/* Order review product images */
body.woocommerce-checkout table.shop_table td img {
  border-radius: 6px !important;
  border: 1px solid var(--it-border) !important;
}

/* Place order button */
body.woocommerce-checkout #place_order,
body.woocommerce-page #payment #place_order {
  border-radius: 999px !important;
  font-size: 1.05rem !important;
  padding: 0.8rem 2rem !important;
  width: 100% !important;
  margin-top: 0.8rem !important;
}

/* Delivery/Pickup options */
body.woocommerce-checkout .woofood_order_type,
body.woocommerce-checkout #wf-time-to-deliver,
body.woocommerce-checkout #wf-date-to-deliver,
body.woocommerce-checkout .woofood_store_address_checkout {
  background: #fffaf2 !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 10px !important;
  padding: 0.7rem !important;
  margin-bottom: 0.65rem !important;
}

body.woocommerce-checkout .wf_tdlvr_title,
body.woocommerce-checkout .delivery_date_title {
  background: #f3e8d6 !important;
  color: #3f3226 !important;
  border: 1px solid var(--it-border-strong) !important;
  border-radius: 8px !important;
  padding: 0.35rem 0.6rem !important;
  display: inline-block !important;
  position: static !important;
  margin: 0 0 0.4rem 0 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}

/* Coupon form */
body.woocommerce-checkout form.checkout_coupon {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  align-items: center !important;
}

body.woocommerce-checkout form.checkout_coupon .input-text {
  flex: 1 !important;
  min-width: 150px !important;
}

/* ── CHECKOUT MOBILE ── */
@media (max-width: 768px) {
  body.woocommerce-checkout #customer_details > div {
    margin-bottom: 0.8rem !important;
  }

  body.woocommerce-checkout #place_order,
  body.woocommerce-page #payment #place_order {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    width: 100% !important;
  }
}

/* ==========================================================================
   END FINAL POLISH
   ========================================================================== */

/* ==========================================================================
   FINAL PASS V2 (user request): product rows + single-product clipping + checkout redesign
   ========================================================================== */

/* --- A) Product layout: Name / Description / Price + Select --- */

/* Accordion products (home/category blocks) */
.woofood-accordion .woofood-products .woofood-product-loop {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "title title"
    "price action" !important;
  row-gap: 0.38rem !important;
  column-gap: 0.72rem !important;
  align-items: end !important;
  min-height: 0 !important;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-title {
  grid-area: title !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-title > span:first-child {
  display: block !important;
  margin: 0 0 0.14rem !important;
  font-size: 1.06rem !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-title .product-short-descr {
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-title .product-short-descr span {
  display: block !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  line-height: 1.34 !important;
  color: var(--it-ink-soft) !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-price {
  grid-area: price !important;
  justify-self: start !important;
  align-self: center !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  color: var(--it-terracotta) !important;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-button {
  grid-area: action !important;
  justify-self: end !important;
  align-self: center !important;
  margin: 0 !important;
}

.woofood-accordion .woofood-products .woofood-product-loop .product-button .button {
  margin: 0 !important;
}

/* Category modal products (desktop: 2 columns) */
.modal.wf_category_view .woocommerce ul.products,
body .modal.wf_category_view .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

.modal.wf_category_view .woocommerce ul.products li.product,
body .modal.wf_category_view .woocommerce ul.products li.product {
  all: unset !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "title title"
    "desc desc"
    "price action" !important;
  row-gap: 0.3rem !important;
  column-gap: 0.7rem !important;
  width: 100% !important;
  padding: 0.78rem 0.84rem !important;
  border-bottom: 1px solid #efe3d4 !important;
  background: #fff !important;
}

.modal.wf_category_view .woocommerce ul.products li.product:nth-child(odd) {
  border-right: 1px solid #efe3d4 !important;
}

.modal.wf_category_view .woocommerce ul.products li.product > a:first-of-type {
  grid-area: title !important;
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

.modal.wf_category_view .woocommerce ul.products li.product > a:first-of-type img {
  display: none !important;
}

.modal.wf_category_view .woocommerce ul.products li.product > a:first-of-type .woocommerce-loop-product__title,
.modal.wf_category_view .woocommerce ul.products li.product > a:first-of-type h2,
.modal.wf_category_view .woocommerce ul.products li.product > a:first-of-type h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 1.06rem !important;
  font-weight: 700 !important;
  line-height: 1.24 !important;
  color: var(--it-ink) !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

.modal.wf_category_view .woocommerce ul.products li.product .product-short-descr,
.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-loop-product__desc,
.modal.wf_category_view .woocommerce ul.products li.product .short-description {
  grid-area: desc !important;
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.modal.wf_category_view .woocommerce ul.products li.product .product-short-descr span,
.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-loop-product__desc span,
.modal.wf_category_view .woocommerce ul.products li.product .short-description span,
.modal.wf_category_view .woocommerce ul.products li.product .product-short-descr,
.modal.wf_category_view .woocommerce ul.products li.product .woocommerce-loop-product__desc,
.modal.wf_category_view .woocommerce ul.products li.product .short-description {
  color: var(--it-ink-soft) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  line-height: 1.34 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

.modal.wf_category_view .woocommerce ul.products li.product > .price,
.modal.wf_category_view .woocommerce ul.products li.product .price {
  grid-area: price !important;
  justify-self: start !important;
  align-self: center !important;
  display: inline-flex !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0.22rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
  color: var(--it-terracotta) !important;
  font-weight: 700 !important;
}

.modal.wf_category_view .woocommerce ul.products li.product > .price *,
.modal.wf_category_view .woocommerce ul.products li.product .price * {
  color: var(--it-terracotta) !important;
}

.modal.wf_category_view .woocommerce ul.products li.product > .button,
.modal.wf_category_view .woocommerce ul.products li.product > a.button {
  grid-area: action !important;
  justify-self: end !important;
  align-self: center !important;
  float: none !important;
  margin: 0.22rem 0 0 !important;
}

@media (max-width: 768px) {
  .modal.wf_category_view .woocommerce ul.products,
  body .modal.wf_category_view .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .modal.wf_category_view .woocommerce ul.products li.product:nth-child(odd) {
    border-right: 0 !important;
  }

  .woofood-accordion .woofood-products .woofood-product-loop {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}

/* --- B) Single product clipping + clean content flow --- */

body.single-product .woocommerce div.product,
body.single-product .type-product {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
}

body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product div.summary {
  margin-bottom: 0.8rem !important;
}

body.single-product .woocommerce div.product .summary p.price::before,
body.single-product .woocommerce div.product .summary p.price::after,
body.single-product .woocommerce div.product .summary span.price::before,
body.single-product .woocommerce div.product .summary span.price::after,
body.single-product .woocommerce div.product p.price::before,
body.single-product .woocommerce div.product p.price::after,
body.single-product .woocommerce div.product span.price::before,
body.single-product .woocommerce div.product span.price::after {
  content: none !important;
  display: none !important;
}

body.single-product .woocommerce div.product .summary p.price ins,
body.single-product .woocommerce div.product .summary span.price ins,
body.single-product .woocommerce div.product p.price ins,
body.single-product .woocommerce div.product span.price ins,
body.single-product .woocommerce div.product .summary p.price del,
body.single-product .woocommerce div.product .summary span.price del,
body.single-product .woocommerce div.product p.price del,
body.single-product .woocommerce div.product span.price del {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .related.products {
  clear: both !important;
  width: 100% !important;
  float: left !important;
}

body.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.8rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .related.products ul.products li.product {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 0.55rem !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0.72rem !important;
  border: 1px solid var(--it-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
}

body.single-product .related.products ul.products li.product img {
  width: 58px !important;
  height: 58px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid var(--it-border) !important;
  float: none !important;
  margin: 0 !important;
  flex: 0 0 58px !important;
}

body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  flex: 1 1 calc(100% - 150px) !important;
  margin: 0 !important;
  font-size: 0.96rem !important;
  line-height: 1.24 !important;
}

body.single-product .related.products ul.products li.product .price {
  margin-left: auto !important;
  align-self: center !important;
}

body.single-product .related.products ul.products li.product .button {
  margin-left: auto !important;
}

@media (max-width: 768px) {
  body.single-product .related.products ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* --- C) Checkout redesign: modern 2-column desktop, clean mobile --- */

body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.22fr) minmax(320px, 0.88fr) !important;
  gap: 1rem !important;
  align-items: start !important;
}

body.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

body.woocommerce-checkout #customer_details > .col-1 {
  grid-column: 1 !important;
}

body.woocommerce-checkout #customer_details > .col-2 {
  grid-column: 2 !important;
}

body.woocommerce-checkout #customer_details .woocommerce-additional-fields {
  grid-column: 1 / -1 !important;
}

body.woocommerce-checkout #order_review_heading {
  grid-column: 2 !important;
  margin: 0 0 0.65rem !important;
}

body.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  position: sticky !important;
  top: 1rem !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  padding: 0.45rem 0.1rem !important;
  border-bottom: 1px solid #eadfce !important;
}

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

body.woocommerce-checkout #payment ul.payment_methods li label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

body.woocommerce-checkout #payment div.payment_box {
  border: 1px solid #e2d3bd !important;
}

body.woocommerce-checkout table.shop_table {
  background: #fff !important;
}

body.woocommerce-checkout table.shop_table tfoot tr:last-child th,
body.woocommerce-checkout table.shop_table tfoot tr:last-child td {
  font-size: 1.06rem !important;
  font-weight: 700 !important;
  color: #2f2418 !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-page #payment #place_order {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 1100px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    grid-column: 1 !important;
  }

  body.woocommerce-checkout #customer_details {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout #customer_details > .col-1,
  body.woocommerce-checkout #customer_details > .col-2,
  body.woocommerce-checkout #customer_details .woocommerce-additional-fields {
    grid-column: 1 !important;
  }

  body.woocommerce-checkout #order_review {
    position: static !important;
    top: auto !important;
  }
}

/* ==========================================================================
   FINAL PASS V7: force-priority fixes (must stay last)
   ========================================================================== */

/* Quickview duplicate price guard */
.modal.wf_product_view .summary > p.price,
.modal.wf_product_view .summary > span.price {
  display: inline-flex !important;
}

.modal.wf_product_view .woocommerce-variation-price,
.modal.wf_product_view .woocommerce-variation-price .price,
.modal.wf_product_view .single_variation .woocommerce-variation-price,
.modal.wf_product_view .single_variation .woocommerce-variation-price .price {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Sidebar: keep only the two real anchor actions clickable */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
#secondary .widget_shopping_cart p.buttons,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.55rem !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button,
#secondary .widget_shopping_cart p.buttons > button,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a,
#secondary .widget_shopping_cart p.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a {
  display: none !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 4 !important;
  min-height: 46px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href=""],
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href="#"],
#secondary .widget_shopping_cart p.buttons > a[href=""],
#secondary .widget_shopping_cart p.buttons > a[href="#"],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href=""],
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href="#"] {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2),
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2),
#secondary .widget_shopping_cart p.buttons > a:nth-last-of-type(-n+2),
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2),
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2) {
  display: inline-flex !important;
}

/* ==========================================================================
   FINAL PASS V6: definitive quickview + sidebar button guards
   ========================================================================== */

/* Quickview: always keep only the primary (top) price badge */
.modal.wf_product_view .summary > p.price,
.modal.wf_product_view .summary > span.price {
  display: inline-flex !important;
  align-items: center !important;
}

.modal.wf_product_view .woocommerce-variation-price,
.modal.wf_product_view .woocommerce-variation-price .price,
.modal.wf_product_view .single_variation .woocommerce-variation-price,
.modal.wf_product_view .single_variation .woocommerce-variation-price .price {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.modal.wf_product_view .single_variation {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Sidebar mini-cart: show only real links (last two), never ghost controls */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
#secondary .widget_shopping_cart p.buttons,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.55rem !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button,
#secondary .widget_shopping_cart p.buttons > button,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a,
#secondary .widget_shopping_cart p.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a {
  display: none !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 3 !important;
  min-height: 46px !important;
  margin: 0 !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href=""],
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href="#"],
#secondary .widget_shopping_cart p.buttons > a[href=""],
#secondary .widget_shopping_cart p.buttons > a[href="#"],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href=""],
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href="#"] {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2),
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2),
#secondary .widget_shopping_cart p.buttons > a:nth-last-of-type(-n+2),
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2),
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Hard guard: in quickview keep only the primary price badge */
.modal.wf_product_view .woocommerce-variation-price,
.modal.wf_product_view .woocommerce-variation-price .price {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Hard guard: sidebar action area must use clickable anchors only */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button,
#secondary .widget_shopping_cart p.buttons > button,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a,
#secondary .widget_shopping_cart p.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a {
  pointer-events: auto !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ==========================================================================
   FINAL PASS V3: sidebar empty button + checkout cleanup
   ========================================================================== */

/* Sidebar buttons: remove empty/ghost button visuals and keep clean 2-button layout */
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.5rem !important;
}

.woofood-mini-cart p.woofood-mini-cart__buttons.buttons a:empty,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons a:empty,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a:empty,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons a:empty {
  display: none !important;
}

.woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons a,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons a,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons a {
  min-height: 46px !important;
  white-space: normal !important;
}

/* Checkout: restore clean structure */
body.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.9fr) !important;
  column-gap: 1.15rem !important;
  row-gap: 0.9rem !important;
  align-items: start !important;
}

/* coupon spans full width on top */
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .woocommerce-form-coupon {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* Left column: customer details in one clean flow */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .col2-set#customer_details {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  display: block !important;
}

body.woocommerce-checkout #customer_details > .col-1,
body.woocommerce-checkout #customer_details > .col-2,
body.woocommerce-checkout .col2-set#customer_details .col-1,
body.woocommerce-checkout .col2-set#customer_details .col-2 {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  display: block !important;
  margin: 0 0 0.85rem !important;
}

body.woocommerce-checkout #customer_details .col-2 {
  padding-top: 0 !important;
}

/* prevent giant wrapped heading in shipping section */
body.woocommerce-checkout #ship-to-different-address {
  font-size: clamp(1.7rem, 2.5vw, 2.15rem) !important;
  line-height: 1.12 !important;
  margin-bottom: 0.7rem !important;
}

body.woocommerce-checkout #ship-to-different-address label {
  display: inline !important;
}

/* right column */
body.woocommerce-checkout #order_review_heading {
  grid-column: 2 !important;
  margin: 0 0 0.6rem !important;
}

body.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  width: 100% !important;
  float: none !important;
  position: sticky !important;
  top: 1rem !important;
}

/* tidy payment methods + review table */
body.woocommerce-checkout #payment ul.payment_methods li {
  border-bottom: 1px solid #eadfce !important;
  padding: 0.55rem 0.1rem !important;
}

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

body.woocommerce-checkout table.shop_table {
  table-layout: auto !important;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

body.woocommerce-checkout table.shop_table .product-name {
  min-width: 0 !important;
}

/* keep order button normal and clean */
body.woocommerce-checkout #place_order,
body.woocommerce-page #payment #place_order {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0.85rem !important;
}

@media (max-width: 1100px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    grid-column: 1 !important;
  }

  body.woocommerce-checkout #order_review {
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 768px) {
  .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
  .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
  #secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
  #secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   FINAL PASS V4: mobile quickview CTA clarity + remove duplicate variable price
   ========================================================================== */
@media (max-width: 768px) {
  .modal.wf_product_view .modal__container {
    padding-bottom: calc(1rem + env(safe-area-inset-bottom)) !important;
  }

  .modal.wf_product_view .modal__footer {
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 45 !important;
    background: #fbf7ef !important;
    border-top: 1px solid #eadfce !important;
    padding: 0.6rem 0.75rem calc(0.65rem + env(safe-area-inset-bottom)) !important;
    box-shadow: 0 -8px 18px rgba(51, 36, 23, 0.08) !important;
  }

  .modal.wf_product_view .modal__footer .single_add_to_cart_button,
  .modal.wf_product_view .single_add_to_cart_button.button.alt,
  .modal.wf_product_view .single_add_to_cart_button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    line-height: 1.1 !important;
  }

  /* Variable products in quickview: keep only one price block */
  .modal.wf_product_view .product-type-variable .summary > p.price,
  .modal.wf_product_view .product-type-variable .summary > span.price,
  .modal.wf_product_view .summary:has(form.variations_form) > p.price,
  .modal.wf_product_view .summary:has(form.variations_form) > span.price {
    display: none !important;
  }

  .modal.wf_product_view .product-type-variable .woocommerce-variation-price,
  .modal.wf_product_view .product-type-variable .woocommerce-variation-price .price {
    display: inline-flex !important;
    align-items: center !important;
  }
}

/* ==========================================================================
   FINAL PASS V5: checkout stabilization + sidebar button cleanup
   ========================================================================== */

/* Sidebar mini-cart buttons: always clean two-button layout */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
#secondary .widget_shopping_cart p.buttons,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.55rem !important;
  align-items: stretch !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a,
#secondary .widget_shopping_cart p.buttons > a,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button,
#secondary .widget_shopping_cart p.buttons > button,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button {
  flex: 1 1 calc(50% - 0.3rem) !important;
  min-height: 46px !important;
  max-width: calc(50% - 0.3rem) !important;
  margin: 0 !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:empty,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a:empty,
#secondary .widget_shopping_cart p.buttons > a:empty,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button:empty,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button:empty,
#secondary .widget_shopping_cart p.buttons > button:empty,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:empty,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a:empty,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button:empty,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button:empty,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"] {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons:has(a.wf-mini-cart-btn--cart):has(a.wf-mini-cart-btn--checkout) > a:not(.wf-mini-cart-btn--cart):not(.wf-mini-cart-btn--checkout),
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons:has(a.wf-mini-cart-btn--cart):has(a.wf-mini-cart-btn--checkout) > a:not(.wf-mini-cart-btn--cart):not(.wf-mini-cart-btn--checkout),
#secondary .widget_shopping_cart p.buttons:has(a.wf-mini-cart-btn--cart):has(a.wf-mini-cart-btn--checkout) > a:not(.wf-mini-cart-btn--cart):not(.wf-mini-cart-btn--checkout),
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons:has(a.wf-mini-cart-btn--cart):has(a.wf-mini-cart-btn--checkout) > a:not(.wf-mini-cart-btn--cart):not(.wf-mini-cart-btn--checkout),
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons:has(a.wf-mini-cart-btn--cart):has(a.wf-mini-cart-btn--checkout) > a:not(.wf-mini-cart-btn--cart):not(.wf-mini-cart-btn--checkout) {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button.wf-mini-cart-btn--cart,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button.wf-mini-cart-btn--checkout,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button.wf-mini-cart-btn--cart,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button.wf-mini-cart-btn--checkout,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button.wf-mini-cart-btn--cart,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button.wf-mini-cart-btn--checkout,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button.wf-mini-cart-btn--cart,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button.wf-mini-cart-btn--checkout {
  display: inline-flex !important;
}

/* Remove tiny empty variation price badge in quickview */
.modal.wf_product_view .woocommerce-variation-price:empty,
.modal.wf_product_view .woocommerce-variation-price .price:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.modal.wf_product_view .woocommerce-variation-price:not(:has(.woocommerce-Price-amount)):not(:has(.amount)):not(:has(bdi)),
.modal.wf_product_view .woocommerce-variation-price .price:not(:has(.woocommerce-Price-amount)):not(:has(.amount)):not(:has(bdi)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Checkout: clean 2-column desktop without stretched/empty blocks */
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.95fr) !important;
  column-gap: 1.15rem !important;
  row-gap: 1rem !important;
  align-items: start !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .col2-set#customer_details {
  grid-column: 1 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

body.woocommerce-checkout #customer_details > .col-1,
body.woocommerce-checkout #customer_details > .col-2,
body.woocommerce-checkout .col2-set#customer_details > .col-1,
body.woocommerce-checkout .col2-set#customer_details > .col-2 {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 0 0.9rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
}

body.woocommerce-checkout #customer_details > .col-2:empty {
  display: none !important;
}

body.woocommerce-checkout .form-row {
  clear: both !important;
  float: none !important;
  width: 100% !important;
  margin: 0 0 0.8rem !important;
  padding: 0 !important;
}

body.woocommerce-checkout .form-row label {
  display: block !important;
  margin: 0 0 0.32rem !important;
  line-height: 1.25 !important;
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row .select2-container {
  width: 100% !important;
  max-width: 100% !important;
}

body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

body.woocommerce-checkout #order_review {
  position: sticky !important;
  top: 1rem !important;
}

body.woocommerce-checkout #order_review .woofood_order_type,
body.woocommerce-checkout #order_review #wf-time-to-deliver,
body.woocommerce-checkout #order_review #wf-date-to-deliver,
body.woocommerce-checkout #order_review #payment {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

@media (max-width: 1100px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    grid-column: 1 !important;
  }

  body.woocommerce-checkout #order_review {
    position: static !important;
    top: auto !important;
  }
}

/* ==========================================================================
   FINAL PASS V8: absolute tail overrides (do not move)
   ========================================================================== */

/* Quickview: keep only one visible price badge */
.modal.wf_product_view .summary > p.price,
.modal.wf_product_view .summary > span.price {
  display: inline-flex !important;
  align-items: center !important;
}

.modal.wf_product_view .woocommerce-variation-price,
.modal.wf_product_view .woocommerce-variation-price .price,
.modal.wf_product_view .single_variation .woocommerce-variation-price,
.modal.wf_product_view .single_variation .woocommerce-variation-price .price,
.modal.wf_product_view .single_variation_wrap .woocommerce-variation-price,
.modal.wf_product_view .single_variation_wrap .woocommerce-variation-price .price {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.modal.wf_product_view .single_variation,
.modal.wf_product_view .single_variation_wrap {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Sidebar mini-cart: only last 2 anchor links are shown and clickable */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons,
#secondary .widget_shopping_cart p.buttons,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.55rem !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button,
#secondary .widget_shopping_cart p.buttons > button,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > button {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a,
#secondary .widget_shopping_cart p.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a {
  display: none !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 5 !important;
  min-height: 46px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href=""],
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href="#"],
#secondary .widget_shopping_cart p.buttons > a[href=""],
#secondary .widget_shopping_cart p.buttons > a[href="#"],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href=""],
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a[href="#"] {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2),
#secondary .woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2),
#secondary .widget_shopping_cart p.buttons > a:nth-last-of-type(-n+2),
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2),
.woofood-mini-cart p.woocommerce-mini-cart__buttons.buttons > a:nth-last-of-type(-n+2) {
  display: inline-flex !important;
}

/* ==========================================================================
   FINAL PASS V9: sidebar buttons hard reset + clickability
   ========================================================================== */

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.buttons,
#secondary .widget_shopping_cart p.buttons,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.buttons {
  all: unset;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
  width: 100% !important;
  margin: 0.8rem 0 0 !important;
  position: relative !important;
  z-index: 999 !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.buttons > a,
#secondary .widget_shopping_cart p.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.buttons > a {
  all: unset;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 0.42rem 0.8rem !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  border: 1px solid var(--it-border-strong) !important;
  background: linear-gradient(180deg, #e8c98f 0%, #d9b679 100%) !important;
  color: #2f2418 !important;
  font-weight: 700 !important;
  font-size: 0.98rem !important;
  text-align: center !important;
  text-decoration: none !important;
  line-height: 1.15 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 1000 !important;
  margin: 0 !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
#secondary .woofood-mini-cart p.buttons > a[href=""],
#secondary .woofood-mini-cart p.buttons > a[href="#"],
#secondary .widget_shopping_cart p.buttons > a[href=""],
#secondary .widget_shopping_cart p.buttons > a[href="#"],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
.woofood-mini-cart p.buttons > a[href=""],
.woofood-mini-cart p.buttons > a[href="#"] {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-of-type(n+3),
#secondary .woofood-mini-cart p.buttons > a:nth-of-type(n+3),
#secondary .widget_shopping_cart p.buttons > a:nth-of-type(n+3),
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-of-type(n+3),
.woofood-mini-cart p.buttons > a:nth-of-type(n+3) {
  display: none !important;
}

#secondary .woofood-mini-cart .woofood-mini-cart-contents,
#secondary .widget_shopping_cart .widget_shopping_cart_content,
.woofood-mini-cart .woofood-mini-cart-contents {
  position: relative !important;
  z-index: 2 !important;
}

/* ==========================================================================
   FINAL PASS V10: clickability + full-width checkout + mobile CTA visibility
   ========================================================================== */

/* 1) Sidebar buttons must be clickable and never hidden by href="#" */
#secondary .woofood-mini-cart,
#secondary .widget_shopping_cart,
.woofood-mini-cart {
  position: relative !important;
  z-index: 30 !important;
}

#secondary .woofood-mini-cart .woofood-mini-cart-contents,
#secondary .widget_shopping_cart .widget_shopping_cart_content,
.woofood-mini-cart .woofood-mini-cart-contents {
  overflow: visible !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.buttons,
#secondary .widget_shopping_cart p.buttons,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
  width: 100% !important;
  margin: 0.8rem 0 0 !important;
  pointer-events: auto !important;
  z-index: 1200 !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.buttons > a,
#secondary .widget_shopping_cart p.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.buttons > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  position: relative !important;
  z-index: 1300 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:empty,
#secondary .woofood-mini-cart p.buttons > a:empty,
#secondary .widget_shopping_cart p.buttons > a:empty,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:empty,
.woofood-mini-cart p.buttons > a:empty {
  display: none !important;
}

/* override older hide rules for hash-links used by plugin JS */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
#secondary .woofood-mini-cart p.buttons > a[href="#"],
#secondary .widget_shopping_cart p.buttons > a[href="#"],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href="#"],
.woofood-mini-cart p.buttons > a[href="#"] {
  display: inline-flex !important;
  pointer-events: auto !important;
}

/* 2) Checkout should use available page width */
body.woocommerce-checkout .main .container,
body.woocommerce-checkout .main-inner > .container,
body.woocommerce-checkout .container {
  width: calc(100vw - 24px) !important;
  max-width: calc(100vw - 24px) !important;
}

body.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: none !important;
}

body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.woocommerce-checkout {
  grid-template-columns: minmax(0, 1.65fr) minmax(380px, 1fr) !important;
}

@media (max-width: 1200px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }
}

/* 3) Mobile quickview CTA always visible above browser bottom bar */
@media (max-width: 768px) {
  .modal.wf_product_view .modal__container {
    padding-bottom: calc(9rem + env(safe-area-inset-bottom)) !important;
  }

  .modal.wf_product_view .modal__footer {
    position: fixed !important;
    left: 0.65rem !important;
    right: 0.65rem !important;
    bottom: calc(56px + env(safe-area-inset-bottom)) !important;
    z-index: 9999 !important;
    border-radius: 14px !important;
    box-shadow: 0 -10px 26px rgba(40, 27, 15, 0.18) !important;
  }

  .modal.wf_product_view .modal__footer .single_add_to_cart_button,
  .modal.wf_product_view .single_add_to_cart_button.button.alt {
    min-height: 52px !important;
    font-size: 1rem !important;
  }
}

/* ==========================================================================
   FINAL PASS V11: stability overrides (buttons clickable, checkout balanced)
   ========================================================================== */

/* Sidebar mini-cart: visual only, no functional hiding of real links */
#secondary .woofood-mini-cart .cart_list,
#secondary .widget_shopping_cart .cart_list,
.woofood-mini-cart .cart_list {
  position: relative !important;
  z-index: 1 !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.buttons,
#secondary .widget_shopping_cart p.buttons,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
  width: 100% !important;
  margin: 0.8rem 0 0 !important;
  position: relative !important;
  z-index: 5000 !important;
  pointer-events: auto !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.buttons > a,
#secondary .widget_shopping_cart p.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.buttons > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  position: relative !important;
  z-index: 5100 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:empty,
#secondary .woofood-mini-cart p.buttons > a:empty,
#secondary .widget_shopping_cart p.buttons > a:empty,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:empty,
.woofood-mini-cart p.buttons > a:empty,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
#secondary .woofood-mini-cart p.buttons > a[href=""],
#secondary .widget_shopping_cart p.buttons > a[href=""],
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href=""],
.woofood-mini-cart p.buttons > a[href=""] {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-of-type(n+3),
#secondary .woofood-mini-cart p.buttons > a:nth-of-type(n+3),
#secondary .widget_shopping_cart p.buttons > a:nth-of-type(n+3),
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:nth-of-type(n+3),
.woofood-mini-cart p.buttons > a:nth-of-type(n+3) {
  display: none !important;
}

/* Checkout: use page width but keep balanced readable columns */
body.woocommerce-checkout .main .container,
body.woocommerce-checkout .main-inner > .container,
body.woocommerce-checkout .container {
  width: min(96vw, 1680px) !important;
  max-width: min(96vw, 1680px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.woocommerce-checkout .woocommerce {
  max-width: none !important;
  width: 100% !important;
}

body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(420px, 0.82fr) !important;
  gap: 1.2rem !important;
  align-items: start !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading {
  min-width: 0 !important;
}

body.woocommerce-checkout #order_review {
  position: sticky !important;
  top: 1rem !important;
  width: 100% !important;
  max-width: none !important;
}

@media (max-width: 1280px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    grid-column: 1 !important;
  }

  body.woocommerce-checkout #order_review {
    position: static !important;
    top: auto !important;
  }
}

/* Mobile quickview CTA: keep button fully visible above browser toolbar */
@media (max-width: 768px) {
  .modal.wf_product_view .modal__container {
    padding-bottom: calc(12rem + env(safe-area-inset-bottom)) !important;
  }

  .modal.wf_product_view .modal__footer {
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    padding: 0.6rem 0.7rem calc(1.2rem + env(safe-area-inset-bottom)) !important;
    background: #fbf7ef !important;
    border-top: 1px solid #eadfce !important;
  }

  .modal.wf_product_view .modal__footer .single_add_to_cart_button,
  .modal.wf_product_view .single_add_to_cart_button.button.alt,
  .modal.wf_product_view .single_add_to_cart_button {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 1rem !important;
    position: sticky !important;
    bottom: calc(0.4rem + env(safe-area-inset-bottom)) !important;
    z-index: 10000 !important;
  }
}

/* ==========================================================================
   FINAL PASS V12: always show cart + checkout actions in sidebar
   ========================================================================== */

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.buttons > a,
#secondary .widget_shopping_cart p.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.buttons > a {
  display: none !important;
}

/* Cart action */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a.wc-forward:not(.checkout),
#secondary .woofood-mini-cart p.buttons > a.wc-forward:not(.checkout),
#secondary .widget_shopping_cart p.buttons > a.wc-forward:not(.checkout),
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a.wc-forward:not(.checkout),
.woofood-mini-cart p.buttons > a.wc-forward:not(.checkout),
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href*="warenkorb"],
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href*="cart"] {
  display: inline-flex !important;
  order: 1 !important;
}

/* Checkout action */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a.checkout,
#secondary .woofood-mini-cart p.buttons > a.checkout,
#secondary .widget_shopping_cart p.buttons > a.checkout,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a.checkout,
.woofood-mini-cart p.buttons > a.checkout,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href*="kasse"],
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a[href*="checkout"] {
  display: inline-flex !important;
  order: 2 !important;
}

/* ==========================================================================
   FINAL PASS V13: sidebar action reliability + visible quantity +/- controls
   ========================================================================== */

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.buttons,
#secondary .widget_shopping_cart p.buttons,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.55rem !important;
  width: 100% !important;
  margin-top: 0.8rem !important;
  position: relative !important;
  z-index: 9000 !important;
  pointer-events: auto !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
#secondary .woofood-mini-cart p.buttons > a,
#secondary .woofood-mini-cart p.buttons > button,
#secondary .widget_shopping_cart p.buttons > a,
#secondary .widget_shopping_cart p.buttons > button,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button,
.woofood-mini-cart p.buttons > a,
.woofood-mini-cart p.buttons > button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
  z-index: 9100 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:empty,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button:empty,
#secondary .woofood-mini-cart p.buttons > a:empty,
#secondary .woofood-mini-cart p.buttons > button:empty,
#secondary .widget_shopping_cart p.buttons > a:empty,
#secondary .widget_shopping_cart p.buttons > button:empty,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > a:empty,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > button:empty,
.woofood-mini-cart p.buttons > a:empty,
.woofood-mini-cart p.buttons > button:empty {
  display: none !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--cart,
#secondary .woofood-mini-cart p.buttons > .wf-mini-cart-btn--cart,
#secondary .widget_shopping_cart p.buttons > .wf-mini-cart-btn--cart,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--cart,
.woofood-mini-cart p.buttons > .wf-mini-cart-btn--cart {
  order: 1 !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--checkout,
#secondary .woofood-mini-cart p.buttons > .wf-mini-cart-btn--checkout,
#secondary .widget_shopping_cart p.buttons > .wf-mini-cart-btn--checkout,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--checkout,
.woofood-mini-cart p.buttons > .wf-mini-cart-btn--checkout {
  order: 2 !important;
}

/* Reliable +/- fallback: avoid empty icon boxes when icon font fails */
.quantity .qty-change-button {
  font-size: 0 !important;
}

.quantity .qty-change-button i {
  display: none !important;
}

.quantity .qty-change-button.minus-qty::before,
.quantity .qty-change-button.plus-qty::before {
  font-size: 1.55rem !important;
  line-height: 1 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  color: #2f261d !important;
}

.quantity .qty-change-button.minus-qty::before {
  content: "-" !important;
}

.quantity .qty-change-button.plus-qty::before {
  content: "+" !important;
}

/* ==========================================================================
   FINAL PASS V14: sidebar button polish + desktop checkout in 3 columns
   ========================================================================== */

/* Sidebar actions: stacked full width (avoids cramped two-line labels) */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
#secondary .woofood-mini-cart p.buttons,
#secondary .widget_shopping_cart p.buttons,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons,
.woofood-mini-cart p.buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
}

#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--cart,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--checkout,
#secondary .woofood-mini-cart p.buttons > .wf-mini-cart-btn--cart,
#secondary .woofood-mini-cart p.buttons > .wf-mini-cart-btn--checkout,
#secondary .widget_shopping_cart p.buttons > .wf-mini-cart-btn--cart,
#secondary .widget_shopping_cart p.buttons > .wf-mini-cart-btn--checkout,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--cart,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--checkout,
.woofood-mini-cart p.buttons > .wf-mini-cart-btn--cart,
.woofood-mini-cart p.buttons > .wf-mini-cart-btn--checkout {
  width: 100% !important;
  white-space: nowrap !important;
  text-align: center !important;
  font-size: 0.98rem !important;
  line-height: 1.15 !important;
  letter-spacing: 0.01em !important;
}

/* Desktop checkout: 3-column layout
   col 1 = Rechnungsdetails
   col 2 = Produktzusammenfassung
   col 3 = Lieferzeit + Zahlungsart + Bestellbutton
*/
@media (min-width: 1320px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(520px, 1.15fr) minmax(320px, 0.78fr) minmax(360px, 0.92fr) !important;
    gap: 1.1rem !important;
    align-items: start !important;
  }

  body.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }

  body.woocommerce-checkout #order_review_heading {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    margin: 0 0 0.35rem !important;
    padding-left: 0.15rem !important;
  }

  body.woocommerce-checkout #order_review {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    margin-top: 3.25rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 1rem !important;
    align-items: start !important;
    position: static !important;
    top: auto !important;
  }

  body.woocommerce-checkout #order_review > .woofood_order_type,
  body.woocommerce-checkout #order_review > #wf-time-to-deliver,
  body.woocommerce-checkout #order_review > #wf-date-to-deliver,
  body.woocommerce-checkout #order_review > #payment {
    grid-column: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  body.woocommerce-checkout #order_review > table.shop_table,
  body.woocommerce-checkout #order_review > .shop_table,
  body.woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table {
    grid-column: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  body.woocommerce-checkout #order_review .woofood_order_type {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.4rem 0.8rem !important;
    padding: 0.85rem !important;
  }

  body.woocommerce-checkout #order_review #wf-time-to-deliver,
  body.woocommerce-checkout #order_review #wf-date-to-deliver {
    padding: 0.85rem !important;
  }

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

  body.woocommerce-checkout #payment .place-order,
  body.woocommerce-checkout #payment #place_order {
    width: 100% !important;
    margin-top: 0.85rem !important;
  }
}

/* ==========================================================================
   FINAL PASS V15: hard override for clean sidebar + stable desktop checkout
   ========================================================================== */

/* Sidebar button typography and spacing */
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--cart,
#secondary .woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--checkout,
#secondary .woofood-mini-cart p.buttons > .wf-mini-cart-btn--cart,
#secondary .woofood-mini-cart p.buttons > .wf-mini-cart-btn--checkout,
#secondary .widget_shopping_cart p.buttons > .wf-mini-cart-btn--cart,
#secondary .widget_shopping_cart p.buttons > .wf-mini-cart-btn--checkout,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--cart,
.woofood-mini-cart p.woofood-mini-cart__buttons.buttons > .wf-mini-cart-btn--checkout,
.woofood-mini-cart p.buttons > .wf-mini-cart-btn--cart,
.woofood-mini-cart p.buttons > .wf-mini-cart-btn--checkout {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 0.8rem 1rem !important;
  border-radius: 999px !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (min-width: 1400px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(500px, 1.16fr) minmax(360px, 0.86fr) minmax(380px, 0.98fr) !important;
    gap: 1.15rem !important;
    align-items: start !important;
  }

  body.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }

  body.woocommerce-checkout #order_review_heading {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    margin: 0 0 0.45rem !important;
    align-self: end !important;
  }

  /* flatten order review so children can sit in col 2 / col 3 directly */
  body.woocommerce-checkout #order_review {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: static !important;
  }

  body.woocommerce-checkout #order_review > table.shop_table,
  body.woocommerce-checkout #order_review > .shop_table,
  body.woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-width: 0 !important;
    align-self: start !important;
  }

  body.woocommerce-checkout #order_review > .woofood_order_type,
  body.woocommerce-checkout #order_review > #wf-time-to-deliver,
  body.woocommerce-checkout #order_review > #wf-date-to-deliver,
  body.woocommerce-checkout #order_review > #payment {
    grid-column: 3 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-width: 0 !important;
    align-self: start !important;
  }

  body.woocommerce-checkout #order_review > #payment {
    overflow: hidden !important;
  }

  body.woocommerce-checkout #order_review > #payment .payment_methods,
  body.woocommerce-checkout #order_review > #payment .payment_box {
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-checkout #order_review > #payment #place_order,
  body.woocommerce-checkout #order_review > #payment .place-order {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ==========================================================================
   FINAL PASS V16: checkout redesign (clean cards, no squeezing)
   ========================================================================== */

/* Global checkout polish */
body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout.woocommerce-page #payment #place_order,
body.woocommerce-checkout .woocommerce-page #payment #place_order {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  z-index: auto !important;
  width: 100% !important;
  margin: 0 !important;
}

body.woocommerce-checkout #order_review,
body.woocommerce-checkout #customer_details > .col-1,
body.woocommerce-checkout #customer_details > .col-2,
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .woocommerce-form-coupon {
  background: #fffdfa !important;
  border: 1px solid #e8dbc8 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 26px rgba(71, 49, 28, 0.06) !important;
}

body.woocommerce-checkout #order_review_heading {
  font-size: clamp(1.9rem, 2.4vw, 2.7rem) !important;
  line-height: 1.05 !important;
  margin: 0 0 0.6rem !important;
}

body.woocommerce-checkout #order_review {
  display: block !important;
  position: static !important;
  top: auto !important;
  margin: 0 !important;
  padding: 0.9rem !important;
  min-width: 0 !important;
}

body.woocommerce-checkout #order_review .woofood_order_type,
body.woocommerce-checkout #order_review #wf-time-to-deliver,
body.woocommerce-checkout #order_review #wf-date-to-deliver,
body.woocommerce-checkout #order_review #payment,
body.woocommerce-checkout #order_review table.shop_table,
body.woocommerce-checkout #order_review .shop_table,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 0 0.95rem !important;
}

body.woocommerce-checkout #order_review #payment {
  overflow: hidden !important;
  border: 1px solid #e6d9c8 !important;
  border-radius: 14px !important;
  background: #fdf8ef !important;
}

body.woocommerce-checkout #order_review #payment ul.payment_methods {
  padding: 0.7rem 0.9rem !important;
}

body.woocommerce-checkout #order_review #payment ul.payment_methods li {
  margin: 0 !important;
  padding: 0.6rem 0 !important;
}

body.woocommerce-checkout #order_review #payment ul.payment_methods li label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

body.woocommerce-checkout #order_review #payment div.payment_box {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.6rem 0 0.2rem !important;
  padding: 0.8rem !important;
  border-radius: 10px !important;
  line-height: 1.5 !important;
  word-break: normal !important;
}

body.woocommerce-checkout #order_review #payment .place-order {
  padding: 0.75rem 0.9rem 0.9rem !important;
}

/* Desktop fallback: clean 2-column */
@media (min-width: 1200px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.95fr) !important;
    gap: 1.15rem !important;
    align-items: start !important;
  }

  body.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }

  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    min-width: 0 !important;
  }
}

/* Large desktop: true 3-column composition */
@media (min-width: 1580px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: minmax(520px, 1.15fr) minmax(360px, 0.82fr) minmax(420px, 0.96fr) !important;
    gap: 1.2rem !important;
  }

  body.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-checkout #order_review_heading {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
    margin-bottom: 0.55rem !important;
  }

  body.woocommerce-checkout #order_review {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    margin-top: 3.4rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 1rem !important;
    align-items: start !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout #order_review > table.shop_table,
  body.woocommerce-checkout #order_review > .shop_table,
  body.woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table {
    grid-column: 1 !important;
    margin: 0 !important;
    background: #fffdfa !important;
    border: 1px solid #e8dbc8 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(71, 49, 28, 0.06) !important;
    overflow: hidden !important;
  }

  body.woocommerce-checkout #order_review > .woofood_order_type,
  body.woocommerce-checkout #order_review > #wf-time-to-deliver,
  body.woocommerce-checkout #order_review > #wf-date-to-deliver,
  body.woocommerce-checkout #order_review > #payment {
    grid-column: 2 !important;
    margin: 0 !important;
  }
}

/* ==========================================================================
   FINAL PASS V17: checkout hard stabilization (prevents squeezed columns)
   ========================================================================== */

/* Neutralize legacy fixed/floated checkout behavior */
body.woocommerce-checkout .woocommerce .col2-set:before,
body.woocommerce-checkout .woocommerce .col2-set:after,
body.woocommerce-checkout .woocommerce form.checkout:before,
body.woocommerce-checkout .woocommerce form.checkout:after {
  content: none !important;
  display: none !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
  float: none !important;
  clear: none !important;
  min-width: 0 !important;
}

/* Desktop: clean two-column composition */
@media (min-width: 1200px) {
  body.woocommerce-checkout .woocommerce {
    max-width: 1560px !important;
    margin: 0 auto !important;
  }

  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 1.2rem !important;
  }

  body.woocommerce-checkout #customer_details {
    order: 1 !important;
    flex: 1 1 58% !important;
    max-width: 58% !important;
    width: 58% !important;
  }

  body.woocommerce-checkout #order_review_heading {
    order: 2 !important;
    flex: 1 1 calc(42% - 1.2rem) !important;
    max-width: calc(42% - 1.2rem) !important;
    width: calc(42% - 1.2rem) !important;
    margin: 0 0 0.4rem !important;
    padding: 0 0.1rem !important;
  }

  body.woocommerce-checkout #order_review {
    order: 3 !important;
    flex: 1 1 calc(42% - 1.2rem) !important;
    max-width: calc(42% - 1.2rem) !important;
    width: calc(42% - 1.2rem) !important;
    display: block !important;
    margin: 0 !important;
    padding: 0.95rem !important;
    background: #fffdfa !important;
    border: 1px solid #e8dbc8 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(71, 49, 28, 0.06) !important;
  }

  body.woocommerce-checkout #order_review table.shop_table,
  body.woocommerce-checkout #order_review .shop_table,
  body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table,
  body.woocommerce-checkout #order_review #payment,
  body.woocommerce-checkout #order_review .woofood_order_type,
  body.woocommerce-checkout #order_review #wf-time-to-deliver,
  body.woocommerce-checkout #order_review #wf-date-to-deliver {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-checkout #order_review #payment {
    overflow: hidden !important;
    border: 1px solid #e6d9c8 !important;
    border-radius: 14px !important;
    background: #fdf8ef !important;
  }

  body.woocommerce-checkout #order_review #payment ul.payment_methods li label {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.45rem !important;
    width: 100% !important;
  }

  body.woocommerce-checkout #order_review #payment .payment_box {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  body.woocommerce-checkout #order_review #payment #place_order,
  body.woocommerce-checkout #order_review #payment .place-order,
  body.woocommerce-checkout #order_review #place_order {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    margin-top: 0.8rem !important;
  }
}

/* Tablet/mobile: one column */
@media (max-width: 1199px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    display: block !important;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ==========================================================================
   FINAL PASS V18: absolute checkout layout reset (desktop)
   ========================================================================== */
@media (min-width: 1200px) {
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 520px) !important;
    column-gap: 1.35rem !important;
    row-gap: 0.85rem !important;
    align-items: start !important;
  }

  body.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    order: initial !important;
  }

  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout .woofood_order_type,
  body.woocommerce-checkout div#wf-time-to-deliver,
  body.woocommerce-checkout div#wf-date-to-deliver,
  body.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    order: initial !important;
    float: none !important;
    clear: none !important;
    transform: none !important;
  }

  body.woocommerce-checkout #order_review_heading {
    margin-bottom: 0.35rem !important;
    padding: 0 0.1rem !important;
  }

  body.woocommerce-checkout .woofood_order_type,
  body.woocommerce-checkout div#wf-time-to-deliver,
  body.woocommerce-checkout div#wf-date-to-deliver {
    box-sizing: border-box !important;
    padding: 0.8rem !important;
    border: 1px solid #e8dbc8 !important;
    border-radius: 14px !important;
    background: #fffdfa !important;
    overflow: hidden !important;
    margin-bottom: 0.85rem !important;
  }

  body.woocommerce-checkout #order_review {
    display: block !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    padding: 0.9rem !important;
    border: 1px solid #e8dbc8 !important;
    border-radius: 16px !important;
    background: #fffdfa !important;
    box-shadow: 0 10px 26px rgba(71, 49, 28, 0.06) !important;
  }

  body.woocommerce-checkout #order_review table.shop_table,
  body.woocommerce-checkout #order_review .shop_table,
  body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table,
  body.woocommerce-checkout #order_review #payment {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-checkout #order_review #payment ul.payment_methods li label {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.45rem !important;
    width: 100% !important;
  }

  body.woocommerce-checkout #order_review #payment div.payment_box {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-checkout #order_review #payment #place_order,
  body.woocommerce-checkout #order_review #payment .place-order,
  body.woocommerce-checkout #order_review #place_order {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    margin-top: 0.75rem !important;
  }
}
