/*
 * Zirbewinkel AWCC huisstijl.
 * Alleen overrides voor awcc-plugin-specifieke elementen. Pro Woo cart/checkout
 * widget-styling wordt native via widget-controls afgehandeld
 * (widget 6fdfd4e = cart, widget 214214d = checkout).
 */

/* --- Base scope + tokens ------------------------------------------------ */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.awcc-checkout-steps,
.woocommerce-cart .awwcc-full-cart,
.woocommerce-cart .cart_totals {
  --z-primary:        #C1272D;
  --z-primary-hover:  #a01e23;
  /* CTA-kleur voor "Ga naar afrekenen" — groen, geldt voor alle winkel-CTA's (zie global_styling).
     Bewust los van --z-primary, zodat de rode huisstijl elders ongemoeid blijft. */
  --z-cta:            #3d7a3d;
  --z-cta-hover:      #316231;
  --z-secondary:      #5E2E1C;
  --z-text:           #3A2317;
  --z-text-muted:     #5A4736;
  --z-text-subtle:    #8a6f56;
  --z-card:           #FFFDF9;
  --z-section:        #F1E6D3;
  --z-fallback:       #F3E4C8;
  --z-border:         #E9DCC4;
  --z-radius-sm:      3px;
  --z-radius:         6px;
  --z-shadow:         0 6px 16px rgba(94, 46, 28, 0.08);
  font-family: "Ubuntu", sans-serif;
  color: var(--z-text);
}

/* --- Notices (added-to-cart, empty-cart) — WC-native, geen widget-control */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message {
  background: var(--z-card) !important;
  border: 1.5px solid var(--z-primary) !important;
  border-radius: var(--z-radius) !important;
  color: var(--z-text) !important;
  padding: 16px 20px !important;
  font-family: "Ubuntu", sans-serif !important;
  font-size: 15px !important;
  box-shadow: var(--z-shadow) !important;
}
.woocommerce-cart .woocommerce-message a.button.wc-forward,
.woocommerce-notices-wrapper .woocommerce-message a.button.wc-forward {
  background: var(--z-primary) !important;
  color: var(--z-card) !important;
  border: none !important;
  border-radius: var(--z-radius-sm) !important;
  padding: 10px 18px !important;
  font-weight: 700 !important;
  transition: background .15s ease !important;
}
.woocommerce-cart .woocommerce-message a.button.wc-forward:hover,
.woocommerce-notices-wrapper .woocommerce-message a.button.wc-forward:hover {
  background: var(--z-primary-hover) !important;
}
.woocommerce-info,
.woocommerce-error {
  background: var(--z-card) !important;
  border: 1px solid var(--z-border) !important;
  border-left: 4px solid var(--z-primary) !important;
  color: var(--z-text) !important;
  border-radius: var(--z-radius) !important;
  padding: 14px 18px !important;
}

/* --- AWCC-specifiek: cart-wrapper Bootstrap-grid tweaks ---------------- */
.woocommerce-cart .awwcc-full-cart {
  padding: 0 !important;
  max-width: none !important;
}
.woocommerce-cart .awwcc-full-cart > .row {
  --bs-gutter-x: 24px !important;
}

/* --- AWCC-specifiek: cart-header (Bootstrap flex table-header) --------- */
.woocommerce-cart .cart-header {
  border-bottom: 1px solid var(--z-border);
  padding: 0 0 12px 0;
  margin-bottom: 12px;
  font-family: "Ubuntu", sans-serif;
  font-weight: 700;
  font-size: 12.5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--z-text-subtle);
}
.woocommerce-cart .cart-header .cart-item-price > div {
  padding: 4px 0;
  display: inline-block;
  min-width: 80px;
}

/* --- AWCC-specifiek: cart-item rijen + product naam + remove icon ----- */
.woocommerce-cart .cart-item-row {
  padding: 16px 0;
  border-bottom: 1px solid var(--z-border);
  align-items: center;
  gap: 12px;
}
.woocommerce-cart .cart-item-row:last-of-type {
  border-bottom: none;
}
.woocommerce-cart .cart-item-name a {
  color: var(--z-secondary) !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-decoration: none !important;
}
.woocommerce-cart .cart-item-name a:hover {
  color: var(--z-primary) !important;
}
.woocommerce-cart .awcc-remove-link-wrapper a.remove {
  display: inline-flex !important;
  width: 32px !important;
  height: 32px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--z-radius-sm) !important;
  transition: background .15s ease !important;
}
.woocommerce-cart .awcc-remove-link-wrapper a.remove:hover {
  background: rgba(193, 39, 45, 0.08) !important;
}
.woocommerce-cart .awcc-remove-link-wrapper a.remove svg {
  fill: var(--z-secondary) !important;
  width: 20px !important;
  height: 20px !important;
  transition: fill .15s ease;
}
.woocommerce-cart .awcc-remove-link-wrapper a.remove:hover svg {
  fill: var(--z-primary) !important;
}

/* Prices in cart-items */
.woocommerce-cart .cart-item-price .amount,
.woocommerce-cart .cart-item-price bdi,
.woocommerce-cart .product-subtotal .amount {
  color: var(--z-primary) !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
}

/* --- AWCC-specifiek: totals-sidebar flex-column-row overlap fix ------- */
.woocommerce-cart .cart_totals,
.woocommerce-cart .awcc-cart-totals-wrapper {
  background: var(--z-card) !important;
  border: 1px solid var(--z-border) !important;
  border-radius: var(--z-radius) !important;
  padding: 24px !important;
  box-shadow: var(--z-shadow);
}
.woocommerce-cart .cart-totals-container .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--z-border);
  gap: 12px;
  --bs-gutter-x: 0 !important;
  min-width: 0 !important;
}
.woocommerce-cart .cart-totals-container .row.awcc-cart-flex-column {
  flex-direction: row !important;
}
.woocommerce-cart .cart-totals-container .row:last-of-type,
.woocommerce-cart .cart-totals-container .wc-proceed-to-checkout {
  border-bottom: none;
}
.woocommerce-cart .cart-totals-container .row > div {
  padding: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
}
/* Shipping-row: content-cel bevat naast bedrag ook de destination-notice
   en shipping-calculator-link. Zonder shrink loopt die tekst buiten de
   .cart_totals-container. Sta krimpen toe en reset min-width. */
.woocommerce-cart .cart-totals-container .row.shipping > div[data-title] {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
.woocommerce-cart .cart-totals-container .row .amount,
.woocommerce-cart .cart-totals-container .row bdi {
  white-space: nowrap !important;
}
.woocommerce-cart .cart-totals-container .row > .text-start,
.woocommerce-cart .cart-totals-container .row [data-title] {
  color: var(--z-text) !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* Totaal-rij: rood + Bitter accent */
.woocommerce-cart .cart-totals-container .order-total {
  border-top: 1px solid var(--z-secondary) !important;
  padding-top: 14px !important;
  margin-top: 6px !important;
}
.woocommerce-cart .cart-totals-container .order-total > .text-start strong,
.woocommerce-cart .cart-totals-container .order-total [data-title] {
  font-family: "Ubuntu", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--z-secondary) !important;
}
.woocommerce-cart .cart-totals-container .order-total [data-title] .amount,
.woocommerce-cart .cart-totals-container .order-total [data-title] bdi {
  color: var(--z-primary) !important;
  font-weight: 800 !important;
}

/* Proceed-to-checkout row: full-width block */
.woocommerce-cart .cart-totals-container .wc-proceed-to-checkout {
  display: block !important;
  padding-top: 18px !important;
}
.woocommerce-cart .cart-totals-container .wc-proceed-to-checkout .col-12 {
  padding: 0 !important;
  width: 100% !important;
}

/* Bootstrap .btn.btn-primary in cart (awcc's proceed-button uses this) */
.woocommerce-cart .btn.btn-primary,
.woocommerce-cart .wc-proceed-to-checkout .btn-primary {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 14px 20px !important;
  border-radius: var(--z-radius-sm) !important;
  text-decoration: none !important;
}

/* Payment icons row under totals */
.woocommerce-cart .awcc-payment-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--z-border) !important;
  margin-top: 14px !important;
}
.woocommerce-cart .awcc-payment-icons img {
  max-height: 20px !important;
  width: auto !important;
}

/* --- Elementor Pro cart-widget grid fix (widget wrapt in .e-cart__container) */
.e-cart__container {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
}
@media (min-width: 901px) {
  .e-cart__container {
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr) !important;
    align-items: start !important;
  }
}
.e-cart__column,
.e-cart__column-start,
.e-cart__column-end,
.e-cart__column-inner {
  padding: 0 !important;
  background: transparent !important;
  min-width: 0 !important;
}
.e-cart__column-inner.e-sticky-right-column {
  position: sticky !important;
  top: 96px !important;
}
.e-shop-table,
.e-cart-section,
.e-cart-totals {
  padding: 0 !important;
  background: transparent !important;
  margin: 0 !important;
}

/* Wrap cart form in card (awcc doesn't; widget-control voor coupon-section niet
 * geldig voor cart-form wrapper). */
.woocommerce-cart .awwcc-full-cart .woocommerce-cart-form {
  background: var(--z-card);
  border: 1px solid var(--z-border);
  border-radius: var(--z-radius);
  padding: 24px;
  box-shadow: var(--z-shadow);
}

/* --- AWCC checkout multistep progress-bar (100% awcc-eigen) ------------ */
.awcc-checkout-steps {
  display: flex !important;
  gap: 8px !important;
  padding: 8px !important;
  background: var(--z-card) !important;
  border: 1px solid var(--z-border) !important;
  border-radius: var(--z-radius) !important;
  margin-bottom: 24px !important;
  box-shadow: var(--z-shadow);
}
.awcc-checkout-steps .awcc-step {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  color: var(--z-text-subtle) !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  background: transparent !important;
  border-radius: var(--z-radius-sm) !important;
  transition: background .15s ease, color .15s ease;
}
.awcc-checkout-steps .awcc-step-circle {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: var(--z-fallback) !important;
  color: var(--z-text-subtle) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  flex: 0 0 26px !important;
}
.awcc-checkout-steps .awcc-step-arrow {
  color: var(--z-text-subtle) !important;
  opacity: 0.6 !important;
}
.awcc-checkout-steps .awcc-step.is-active,
.awcc-checkout-steps .awcc-step.awcc-step-active,
.awcc-checkout-steps .awcc-step[aria-current="step"],
.awcc-checkout-steps .awcc-step.active {
  background: var(--z-primary) !important;
  color: var(--z-card) !important;
}
.awcc-checkout-steps .awcc-step.is-active .awcc-step-circle,
.awcc-checkout-steps .awcc-step.awcc-step-active .awcc-step-circle,
.awcc-checkout-steps .awcc-step[aria-current="step"] .awcc-step-circle,
.awcc-checkout-steps .awcc-step.active .awcc-step-circle {
  background: var(--z-card) !important;
  color: var(--z-primary) !important;
}
.awcc-checkout-steps .awcc-step.is-complete,
.awcc-checkout-steps .awcc-step.awcc-step-complete,
.awcc-checkout-steps .awcc-step.completed {
  color: var(--z-secondary) !important;
}
.awcc-checkout-steps .awcc-step.is-complete .awcc-step-circle,
.awcc-checkout-steps .awcc-step.awcc-step-complete .awcc-step-circle,
.awcc-checkout-steps .awcc-step.completed .awcc-step-circle {
  background: var(--z-secondary) !important;
  color: var(--z-card) !important;
}

/* --- AWCC checkout step-panels ---------------------------------------- */
.woocommerce-checkout .awcc-checkout-step-wrapper {
  background: var(--z-card) !important;
  border: 1px solid var(--z-border) !important;
  border-radius: var(--z-radius) !important;
  padding: 24px !important;
  box-shadow: var(--z-shadow);
  margin-bottom: 20px !important;
}
.woocommerce-checkout .awcc-checkout-step-wrapper h2,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
  color: var(--z-secondary) !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  margin: 0 0 18px 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--z-border) !important;
}

/* --- AWCC step navigatie buttons -------------------------------------- */
.woocommerce-checkout button.awcc-next-step {
  background: var(--z-primary) !important;
  color: var(--z-card) !important;
  border: none !important;
  border-radius: var(--z-radius) !important;
  padding: 20px 24px !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background .15s ease !important;
  width: 100% !important;
  min-height: 60px !important;
}
.woocommerce-checkout button.awcc-next-step:hover {
  background: var(--z-primary-hover) !important;
}
.woocommerce-checkout button.awcc-prev-step {
  background: transparent !important;
  color: var(--z-secondary) !important;
  border: 1.5px solid var(--z-secondary) !important;
  border-radius: var(--z-radius-sm) !important;
  padding: 12px 22px !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  transition: background .15s ease, color .15s ease !important;
  margin-right: 10px !important;
}
.woocommerce-checkout button.awcc-prev-step:hover {
  background: var(--z-secondary) !important;
  color: var(--z-card) !important;
}

/* --- Return to shop button ------------------------------------------- */
.woocommerce-cart .return-to-shop a.button,
.woocommerce a.wc-backward {
  background: var(--z-primary) !important;
  color: var(--z-card) !important;
  border: none !important;
  border-radius: var(--z-radius-sm) !important;
  padding: 12px 22px !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background .15s ease !important;
}
.woocommerce-cart .return-to-shop a.button:hover,
.woocommerce a.wc-backward:hover {
  background: var(--z-primary-hover) !important;
}

/* --- Responsive tweaks ---------------------------------------------- */
@media (max-width: 900px) {
  .woocommerce-cart .awwcc-full-cart .woocommerce-cart-form,
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout .awcc-checkout-step-wrapper {
    padding: 18px !important;
  }
  .awcc-checkout-steps {
    overflow-x: auto !important;
    scrollbar-width: none !important;
    padding: 6px !important;
  }
  .awcc-checkout-steps::-webkit-scrollbar { display: none !important; }
  .awcc-checkout-steps .awcc-step {
    padding: 6px 10px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
  .awcc-checkout-steps .awcc-step-circle {
    width: 22px !important;
    height: 22px !important;
    flex-basis: 22px !important;
    font-size: 12px !important;
  }
  .woocommerce-cart .cart-header { display: none !important; }
  .woocommerce-cart .cart-item-row { flex-wrap: wrap !important; gap: 8px !important; }
  .woocommerce-cart .cart-totals-container .order-total > .text-start strong,
  .woocommerce-cart .cart-totals-container .order-total [data-title] {
    font-size: 18px !important;
  }
}

/* AWCC vervangt WC-default a.checkout-button door Bootstrap a.btn.btn-primary
   → Elementor Pro checkout_button_* widget-controls missen dan target */
.woocommerce-cart .wc-proceed-to-checkout a.btn-primary,
.woocommerce-cart .wc-proceed-to-checkout a.btn.btn-primary {
  background: var(--z-cta) !important;
  background-color: var(--z-cta) !important;
  color: var(--z-card) !important;
  border: none !important;
  border-color: var(--z-cta) !important;
  border-radius: var(--z-radius-sm) !important;
  padding: 14px 20px !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 15.5px !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition: background .15s ease !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.btn-primary:hover,
.woocommerce-cart .wc-proceed-to-checkout a.btn.btn-primary:hover {
  background: var(--z-cta-hover) !important;
  background-color: var(--z-cta-hover) !important;
}

/* Widget-controls voor forms_fields background renderen niet altijd
   (Elementor Pro selector-scope-quirk); expliciete white bg als vangnet */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-cart .coupon input[type="text"],
.woocommerce-cart .quantity input.qty {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* --- My Account (page 9, widget woocommerce-my-account) -----------------
 * Aanvullingen boven de Pro-widget-controls voor nav-menu en form fallback. */
.woocommerce-account .woocommerce {
  --z-primary:        #C1272D;
  --z-primary-hover:  #a01e23;
  /* CTA-kleur voor "Ga naar afrekenen" — groen, geldt voor alle winkel-CTA's (zie global_styling).
     Bewust los van --z-primary, zodat de rode huisstijl elders ongemoeid blijft. */
  --z-cta:            #3d7a3d;
  --z-cta-hover:      #316231;
  --z-secondary:      #5E2E1C;
  --z-text:           #3A2317;
  --z-text-muted:     #5A4736;
  --z-text-subtle:    #8a6f56;
  --z-card:           #FFFDF9;
  --z-section:        #F1E6D3;
  --z-border:         #E9DCC4;
  --z-radius-sm:      3px;
  --z-radius:         6px;
  --z-shadow:         0 6px 16px rgba(94, 46, 28, 0.08);
  color: var(--z-text);
  font-family: "Ubuntu", sans-serif;
}

/* Notices */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  background: var(--z-card) !important;
  border: 1px solid var(--z-border) !important;
  border-left: 4px solid var(--z-primary) !important;
  color: var(--z-text) !important;
  border-radius: var(--z-radius) !important;
  padding: 14px 18px !important;
}
.woocommerce-account .woocommerce-message {
  border: 1.5px solid var(--z-primary) !important;
}
.woocommerce-account .woocommerce-message a.button {
  background: var(--z-primary) !important;
  color: var(--z-card) !important;
  border: none !important;
  border-radius: var(--z-radius-sm) !important;
  padding: 10px 18px !important;
  font-weight: 700 !important;
}
.woocommerce-account .woocommerce-message a.button:hover {
  background: var(--z-primary-hover) !important;
}

/* Inputs white-bg fallback (widget-control renders niet altijd) */
.woocommerce-account .woocommerce-form-row input.input-text,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account textarea,
.woocommerce-account select {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* Login button bg via forms_buttons_background_color (widget-control) doet dit,
   maar Woo laadt eigen .button.woocommerce-button CSS die het overschrijft; fallback: */
.woocommerce-account .woocommerce-form button.woocommerce-button,
.woocommerce-account button.woocommerce-button.button,
.woocommerce-account button[name="login"],
.woocommerce-account button[name="register"] {
  background: var(--z-primary) !important;
  color: var(--z-card) !important;
  border: none !important;
  border-radius: var(--z-radius-sm) !important;
  padding: 12px 24px !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  transition: background .15s ease !important;
  cursor: pointer !important;
}
.woocommerce-account .woocommerce-form button.woocommerce-button:hover,
.woocommerce-account button.woocommerce-button.button:hover,
.woocommerce-account button[name="login"]:hover,
.woocommerce-account button[name="register"]:hover {
  background: var(--z-primary-hover) !important;
}

/* Lost password link (widget links_normal_color dekt dit meestal wel) */
.woocommerce-account .lost_password a,
.woocommerce-account .woocommerce-LostPassword a {
  color: var(--z-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.woocommerce-account .lost_password a:hover,
.woocommerce-account .woocommerce-LostPassword a:hover {
  color: var(--z-primary-hover) !important;
  text-decoration: underline !important;
}

/* Login form-card wrapper */
.woocommerce-account .woocommerce > .u-columns,
.woocommerce-account .woocommerce > form.woocommerce-form-login,
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
  background: var(--z-card);
  border: 1px solid var(--z-border);
  border-radius: var(--z-radius);
  padding: 24px;
  box-shadow: var(--z-shadow);
}
.woocommerce-account .u-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
@media (max-width: 700px) {
  .woocommerce-account .u-columns {
    grid-template-columns: 1fr !important;
  }
}

/* Ingelogde staat: nav-menu links */
.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: 20px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--z-border) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block !important;
  padding: 12px 8px !important;
  color: var(--z-text) !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--z-section) !important;
  color: var(--z-primary) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a {
  color: var(--z-primary) !important;
  font-weight: 700 !important;
}

/* Ingelogde staat: content-heading */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  color: var(--z-secondary) !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  border-bottom: 1px solid var(--z-border) !important;
  padding-bottom: 10px !important;
  margin: 0 0 18px !important;
}

/* Order table refinements */
.woocommerce-account table.shop_table,
.woocommerce-account table.woocommerce-orders-table {
  border: 1px solid var(--z-border) !important;
  border-radius: var(--z-radius) !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--z-border) !important;
  font-family: "Ubuntu", sans-serif !important;
}
.woocommerce-account table.shop_table thead th {
  background: var(--z-section) !important;
  color: var(--z-secondary) !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Center login on empty-container layout */
.woocommerce-account .woocommerce {
  max-width: 480px;
  margin: 0 auto;
}
.woocommerce-account.logged-in .woocommerce {
  max-width: 1100px;
}

/* ==========================================================================
   Route-A cart layout fixes (post shortcode-switch 2026-09-18)
   - .cart-actions flex-wrap + .update-cart height:auto zodat button binnen card blijft
   - SUBTOTAAL-header + kolom rechts wat lucht i.p.v. tegen card-rand
   ========================================================================== */
.awwcc-full-cart form.woocommerce-cart-form .cart-actions {
    flex-wrap: wrap !important;
    align-items: stretch !important;
    row-gap: 12px !important;
    column-gap: 12px !important;
    width: 100%;
}
.awwcc-full-cart form.woocommerce-cart-form .cart-actions .update-cart {
    height: auto !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
}
.awwcc-full-cart form.woocommerce-cart-form .cart-actions button.button,
.awwcc-full-cart form.woocommerce-cart-form .update-cart button.button {
    flex: 0 0 auto;
    margin: 0 !important;
}
/* Coupon input + Apply button + Update button on one row when there's space; wrap on narrow */
.awwcc-full-cart form.woocommerce-cart-form .update-cart input.input-text {
    flex: 1 1 200px;
    height: auto !important;
    min-height: 40px;
}

/* SUBTOTAAL column: give it right-side breathing room so header doesn't touch card border */
.awwcc-full-cart form.woocommerce-cart-form .cart-header .awcc-cart-totals-and-qty-head,
.awwcc-full-cart form.woocommerce-cart-form .cart-item-row .awcc-cart-totals-and-qty-body {
    padding-right: 4px !important;
}
.awwcc-full-cart form.woocommerce-cart-form .cart-header .awcc-cart-totals-and-qty-head > div:last-child,
.awwcc-full-cart form.woocommerce-cart-form .cart-item-row .awcc-cart-totals-and-qty-body > div:last-child {
    text-align: right;
    padding-right: 6px;
}

/* ==========================================================================
   MINI-CART / SIDE-CART (Elementor Pro menu-cart widget, side-cart mode)
   Renders WC's widget_shopping_cart_content in a lightbox-panel on the right.
   ========================================================================== */

/* Panel background + close button */
.elementor-menu-cart__container.elementor-lightbox {
    background-color: rgba(58, 35, 23, 0.35) !important;
}
.elementor-menu-cart__main {
    background: #FFFDF9 !important;
    border-left: 1px solid #E9DCC4 !important;
    box-shadow: -6px 0 24px rgba(94, 46, 28, 0.10) !important;
    padding: 24px 20px !important;
    max-width: 380px !important;
    width: 100% !important;
}
.elementor-menu-cart__close-button {
    color: #5E2E1C !important;
    font-size: 26px !important;
    padding: 4px !important;
    background: transparent !important;
}
.elementor-menu-cart__close-button:hover {
    color: #C1272D !important;
}

/* Mini-cart wrapper */
.widget_shopping_cart_content {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    font-family: 'Ubuntu', sans-serif !important;
    color: #3A2317 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Item list */
.woocommerce-mini-cart {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.woocommerce-mini-cart-item.mini_cart_item {
    display: grid !important;
    grid-template-columns: 60px 1fr auto !important;
    grid-template-areas: "img title remove" "img price price" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #F1E6D3 !important;
    list-style: none !important;
    margin: 0 !important;
}
.woocommerce-mini-cart-item.mini_cart_item:last-child {
    border-bottom: none !important;
}
.woocommerce-mini-cart-item.mini_cart_item > a:not(.remove) {
    grid-area: title !important;
    display: block !important;
    color: #3A2317 !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    padding: 0 !important;
}
.woocommerce-mini-cart-item.mini_cart_item > a:not(.remove):hover {
    color: #C1272D !important;
}
/* Image */
.woocommerce-mini-cart-item.mini_cart_item > a:not(.remove) img {
    grid-area: img !important;
    width: 60px !important;
    height: 60px !important;
    object-fit: contain !important;
    background: #F3E4C8 !important;
    border-radius: 4px !important;
    padding: 4px !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
}
/* Adjust grid: WC renders image INSIDE the title link so we need a different approach */
.woocommerce-mini-cart-item.mini_cart_item {
    position: relative !important;
    padding-left: 72px !important;
    display: block !important;
    min-height: 60px !important;
}
.woocommerce-mini-cart-item.mini_cart_item > a:not(.remove) {
    display: block !important;
    padding-right: 24px !important;
}
/* Remove button ("×") */
.woocommerce-mini-cart-item .remove.remove_from_cart_button {
    position: absolute !important;
    top: 12px !important;
    right: 0 !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
    text-align: center !important;
    color: #8a6f56 !important;
    background: transparent !important;
    border: 1px solid #E9DCC4 !important;
    border-radius: 50% !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    padding: 0 !important;
}
.woocommerce-mini-cart-item .remove.remove_from_cart_button:hover {
    color: #FFFDF9 !important;
    background: #C1272D !important;
    border-color: #C1272D !important;
}
/* Quantity + price line */
.woocommerce-mini-cart-item .quantity {
    display: block !important;
    color: #5A4736 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-top: 6px !important;
}
.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
    color: #C1272D !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    margin-left: 4px !important;
}

/* Subtotal line */
.woocommerce-mini-cart__total.total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    border-top: 1px solid #E9DCC4 !important;
    border-bottom: 1px solid #E9DCC4 !important;
    font-family: 'Ubuntu', sans-serif !important;
}
.woocommerce-mini-cart__total.total strong {
    color: #3A2317 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}
.woocommerce-mini-cart__total.total .woocommerce-Price-amount {
    color: #C1272D !important;
    font-weight: 800 !important;
    font-size: 17px !important;
    font-family: 'Ubuntu', sans-serif !important;
}

/* Buttons */
.woocommerce-mini-cart__buttons.buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-mini-cart__buttons.buttons a.button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 12px 16px !important;
    font-family: 'Ubuntu', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    width: 100% !important;
    box-shadow: none !important;
    border-width: 1.5px !important;
    border-style: solid !important;
    height: auto !important;
    min-height: 0 !important;
    text-align: center !important;
}
/* View cart = secondary outline */
.woocommerce-mini-cart__buttons.buttons a.button:not(.checkout) {
    background: #FFFDF9 !important;
    color: #5E2E1C !important;
    border-color: #5E2E1C !important;
}
.woocommerce-mini-cart__buttons.buttons a.button:not(.checkout):hover {
    background: #5E2E1C !important;
    color: #FFFDF9 !important;
    border-color: #5E2E1C !important;
}
/* Checkout-knop mini-cart = groene CTA.
   Kleuren hier hardcoded, niet via var(--z-cta): de mini-cart hangt in de header
   en valt buiten de .woocommerce-cart scope waar de tokens gedefinieerd zijn. */
.woocommerce-mini-cart__buttons.buttons a.button.checkout {
    background: #3d7a3d !important;
    color: #FFFDF9 !important;
    border-color: #3d7a3d !important;
}
.woocommerce-mini-cart__buttons.buttons a.button.checkout:hover {
    background: #316231 !important;
    border-color: #316231 !important;
    color: #FFFDF9 !important;
}

/* Empty cart message */
.widget_shopping_cart_content .woocommerce-mini-cart__empty-message {
    padding: 40px 0 !important;
    text-align: center !important;
    color: #5A4736 !important;
    font-family: 'Ubuntu', sans-serif !important;
    font-size: 14.5px !important;
}

/* Mobile: full-width side-cart */
@media (max-width: 520px) {
    .elementor-menu-cart__main {
        max-width: 92% !important;
    }
}

/* MyAccount address-tab: layout 2-col */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .woocommerce-Addresses.col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin: 20px 0 0 0 !important;
}
.woocommerce-account .woocommerce-Address {
  background: var(--z-card) !important;
  border: 1px solid var(--z-border) !important;
  border-radius: var(--z-radius) !important;
  padding: 22px !important;
  margin: 0 !important;
  box-shadow: var(--z-shadow);
}
.woocommerce-account .woocommerce-Address .woocommerce-Address-title {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-bottom: 1px solid var(--z-border) !important;
  padding-bottom: 10px !important;
  margin: 0 0 12px 0 !important;
}
.woocommerce-account .woocommerce-Address .woocommerce-Address-title h3 {
  color: var(--z-secondary) !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-account .woocommerce-Address .woocommerce-Address-title .edit {
  color: var(--z-primary) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-decoration: none !important;
}
.woocommerce-account .woocommerce-Address address {
  color: var(--z-text) !important;
  line-height: 1.6 !important;
  font-style: normal !important;
}
@media (max-width: 700px) {
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .woocommerce-Addresses.col2-set {
    grid-template-columns: 1fr !important;
  }
}

/* MyAccount address-tab v2: robuustere selectors, ook zonder .woocommerce-account body-class */
.woocommerce-Addresses,
.woocommerce-Addresses.col2-set,
.u-columns.woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin: 20px 0 0 0 !important;
  float: none !important;
  width: 100% !important;
}
.woocommerce-Addresses .woocommerce-Address,
.woocommerce-Addresses > .u-column1,
.woocommerce-Addresses > .u-column2 {
  background: #FFFDF9 !important;
  border: 1px solid #E9DCC4 !important;
  border-radius: 6px !important;
  padding: 22px !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  box-shadow: 0 6px 16px rgba(94,46,28,0.08) !important;
}
.woocommerce-Addresses .woocommerce-Address .title,
.woocommerce-Addresses .woocommerce-Address-title {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-bottom: 1px solid #E9DCC4 !important;
  padding-bottom: 10px !important;
  margin: 0 0 14px 0 !important;
}
.woocommerce-Addresses .woocommerce-Address .title h2,
.woocommerce-Addresses .woocommerce-Address .title h3,
.woocommerce-Addresses .woocommerce-Address-title h2,
.woocommerce-Addresses .woocommerce-Address-title h3 {
  color: #5E2E1C !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.woocommerce-Addresses .woocommerce-Address .title a.edit,
.woocommerce-Addresses .woocommerce-Address-title a.edit {
  color: #C1272D !important;
  font-family: "Ubuntu", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.woocommerce-Addresses address {
  color: #3A2317 !important;
  font-family: "Ubuntu", sans-serif !important;
  line-height: 1.6 !important;
  font-style: normal !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  display: block !important;
  width: 100% !important;
}
@media (max-width: 700px) {
  .woocommerce-Addresses,
  .woocommerce-Addresses.col2-set {
    grid-template-columns: 1fr !important;
  }
}

/* Address grid v3: force column positions + header-flex specificity */
.woocommerce-Addresses > .u-column1,
.woocommerce-Addresses > div.u-column1 {
  grid-column: 1 / 2 !important;
  grid-row: 1 !important;
}
.woocommerce-Addresses > .u-column2,
.woocommerce-Addresses > div.u-column2 {
  grid-column: 2 / 3 !important;
  grid-row: 1 !important;
}
.woocommerce .woocommerce-Address header.woocommerce-Address-title,
.woocommerce-account .woocommerce-Address header.woocommerce-Address-title,
.woocommerce-Address header.title {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-bottom: 1px solid #E9DCC4 !important;
  padding-bottom: 10px !important;
  margin: 0 0 14px 0 !important;
  width: 100% !important;
}
.woocommerce-Address header.woocommerce-Address-title > h2,
.woocommerce-Address header.woocommerce-Address-title > h3 {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.woocommerce-Address header.woocommerce-Address-title > a.edit {
  flex: 0 0 auto !important;
}

/* Elementor Pro Woo My Account widget zet .edit op position:absolute → uit flex-flow */
.woocommerce-Address header a.edit,
.woocommerce-Address-title a.edit,
.woocommerce-Address .title a.edit {
  position: static !important;
  float: none !important;
  right: auto !important;
  top: auto !important;
}


/* Vangnet: als AWCC de Bootstrap-knop niet levert valt WC terug op a.checkout-button.
   Ook die CTA in de winkelwagen groen (feedback 3.3). */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--z-cta) !important;
  background-color: var(--z-cta) !important;
  border-color: var(--z-cta) !important;
  color: var(--z-card) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--z-cta-hover) !important;
  background-color: var(--z-cta-hover) !important;
}

/* Checkout: AWCC-plugin kleurt élke button op de checkout groen (#55a355).
   Overschrijven naar de rode huisstijl (#3d7a3d / hover #316231). */
body.woocommerce-checkout .btn,
body.woocommerce-checkout .btn-primary,
body.woocommerce-checkout button:not(.awcc-prev-step):not(.aw-qty-btn):not(.elementor-button),
body.woocommerce-checkout #place_order {
    background-color: #3d7a3d !important;
    border-color: #3d7a3d !important;
    color: #FFFDF9 !important;
}
body.woocommerce-checkout .btn:hover,
body.woocommerce-checkout .btn-primary:hover,
body.woocommerce-checkout button:not(.awcc-prev-step):not(.aw-qty-btn):not(.elementor-button):hover,
body.woocommerce-checkout #place_order:hover {
    background-color: #316231 !important;
    border-color: #316231 !important;
    color: #FFFDF9 !important;
}
/* Nieuwsbrief-"Aanmelden" (Elementor-form in footer) blijft in de rode huisstijl, ook op de checkout. */
body.woocommerce-checkout .elementor-widget-form button.elementor-button {
    background-color: #C1272D !important;
    border-color: #C1272D !important;
    color: #FFFDF9 !important;
}
body.woocommerce-checkout .elementor-widget-form button.elementor-button:hover {
    background-color: #a01e23 !important;
    border-color: #a01e23 !important;
}
