/**
 * WooCommerce cart / checkout / account styles.
 */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
  --sr-pd-teal: #2c9e93;
  --sr-pd-coral: var(--sr-color-accent, #f2685c);
  --sr-pd-coral-dark: var(--sr-color-accent-hover, #d94f45);
  --sr-pd-gold: #f4b942;
  --sr-pd-line: #d9eae1;
  --sr-pd-ink: #23324a;
  --sr-pd-ink-soft: #5a6b82;
  --sr-pd-surface: #fff;
  --sr-pd-radius: 18px;
  --sr-pd-shadow: 0 12px 30px -12px rgba(35, 50, 74, 0.18);
  background: #eaf6f0;
}

body.woocommerce-cart .sr-header,
body.woocommerce-checkout .sr-header,
body.woocommerce-account .sr-header {
  background: #fff;
}

.woocommerce .sr-main--woocommerce,
.sr-main--woocommerce {
  padding-block: var(--sr-space-5);
}

.woocommerce .woocommerce-notices-wrapper:empty {
  display: none;
  margin: 0;
  padding: 0;
  min-height: 0;
}

/* Cart / Checkout / Account — demo look, Mollie/DHL-safe markup */
body.woocommerce-cart .sr-main--woocommerce,
body.woocommerce-checkout .sr-main--woocommerce,
body.woocommerce-account .sr-main--woocommerce {
  padding-block: var(--sr-space-6);
}

body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-account .entry-title,
body.woocommerce-cart .woocommerce-products-header__title,
body.woocommerce-cart h1.page-title,
body.woocommerce-checkout h1.page-title,
body.woocommerce-account h1.page-title,
body.woocommerce-cart .sr-page__title,
body.woocommerce-checkout .sr-page__title,
body.woocommerce-account .sr-page__title {
  font-family: var(--sr-font-display);
  font-size: clamp(1.75rem, 2.5vw + 1rem, 2.35rem);
  font-weight: 800;
  color: var(--sr-pd-ink, #23324a);
  margin: 0 0 var(--sr-space-5);
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
  color: var(--sr-pd-ink, #23324a);
}

.woocommerce-cart .woocommerce a,
.woocommerce-checkout .woocommerce a,
.woocommerce-account .woocommerce a {
  text-decoration: none;
  color: var(--sr-pd-teal, #2c9e93);
  font-weight: 700;
}

.woocommerce-cart .woocommerce a:hover,
.woocommerce-checkout .woocommerce a:hover,
.woocommerce-account .woocommerce a:hover {
  color: var(--sr-pd-coral, #f2685c);
}

/* Shared white surface cards — cart totals left to WooCommerce defaults */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-checkout #customer_details,
.woocommerce-checkout .sr-checkout-sidebar,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--sr-pd-surface, #fff);
  border: 1px solid var(--sr-pd-line, #d9eae1);
  border-radius: var(--sr-pd-radius, 18px);
  box-shadow: var(--sr-pd-shadow, 0 12px 30px -12px rgba(35, 50, 74, 0.18));
}

.woocommerce-cart .woocommerce-cart-form {
  padding: var(--sr-space-4);
  margin-bottom: var(--sr-space-5);
  overflow-x: auto;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-Address-title h3 {
  font-family: var(--sr-font-display);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--sr-pd-ink, #23324a);
  margin: 0 0 var(--sr-space-4);
}

/*
 * Cart totals: Woo markup/labels unchanged — table columns only.
 * (Avoid all:revert; it drops display:table-cell and piles label+price left.)
 */
.woocommerce-cart .cart_totals table.shop_table {
  width: 100%;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  border: 0;
  border-bottom: 0;
  vertical-align: top;
}

.woocommerce-cart .cart_totals table.shop_table th {
  text-align: left;
}

.woocommerce-cart .cart_totals table.shop_table td {
  text-align: right;
}

.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-cart .cart_totals ul#shipping_method li,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-cart table.cart,
.woocommerce-checkout .woocommerce {
  width: 100%;
}

.woocommerce-cart table.cart {
  table-layout: auto;
}

/* Keep remove / thumb / money columns tight; title takes the rest */
.woocommerce-cart table.cart .product-remove {
  width: 2.75rem;
}

.woocommerce-cart table.cart .product-thumbnail {
  width: 88px;
  min-width: 88px;
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-quantity,
.woocommerce-cart table.cart .product-subtotal {
  width: 1%;
  white-space: nowrap;
}

.woocommerce table.shop_table {
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  background: transparent;
}

.woocommerce table.shop_table thead th {
  font-family: var(--sr-font-display);
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--sr-pd-ink-soft, #5a6b82);
  border: 0;
  border-bottom: 1px solid var(--sr-pd-line, #d9eae1);
  padding: 0.65rem 0.85rem;
  background: transparent;
}

.woocommerce table.shop_table td {
  border: 0;
  border-bottom: 1px solid var(--sr-pd-line, #d9eae1);
  padding: 1rem 0.85rem;
  vertical-align: middle;
  background: transparent;
}

.woocommerce table.shop_table tr:last-child td {
  border-bottom: 0;
}

.woocommerce-cart table.cart .product-thumbnail a {
  display: block;
  width: 72px;
  line-height: 0;
}

.woocommerce-cart table.cart .product-thumbnail img,
.woocommerce-cart table.cart img {
  width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--sr-pd-line, #d9eae1);
  display: block;
}

.woocommerce-cart table.cart .product-name a {
  font-family: var(--sr-font-display);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--sr-pd-ink, #23324a);
  text-decoration: none;
}

.woocommerce-cart table.cart .product-name a:hover {
  color: var(--sr-pd-coral, #f2685c);
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
  font-family: var(--sr-font-display);
  font-weight: 800;
  color: var(--sr-pd-coral-dark, #d94f45);
}

.woocommerce-cart table.cart .product-remove .remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #fce7e5;
  color: var(--sr-pd-coral-dark, #d94f45) !important;
  font-size: 1.25rem;
  line-height: 1;
  text-decoration: none !important;
}

.woocommerce-cart table.cart .product-remove .remove:hover {
  background: var(--sr-pd-coral, #f2685c);
  color: #fff !important;
}

.woocommerce-cart table.cart .quantity {
  display: inline-flex;
  align-items: center;
  border: 2px solid var(--sr-pd-line, #d9eae1);
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
  min-height: 2.5rem;
}

.woocommerce-cart table.cart .quantity .qty,
.woocommerce .quantity .qty {
  width: 2.25rem;
  border: 0;
  border-radius: 0;
  text-align: center;
  font-weight: 800;
  font-family: var(--sr-font-display);
  padding: 0.35rem 0;
  background: transparent;
  color: var(--sr-pd-ink, #23324a);
  -moz-appearance: textfield;
  appearance: textfield;
}

.woocommerce-cart table.cart .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart table.cart .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Cart does not load PDP CSS — reset +/- so they are not native buttons */
.woocommerce-cart table.cart .quantity .sr-qty__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  min-height: 2.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--sr-pd-ink, #23324a);
  font-family: var(--sr-font-display);
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.woocommerce-cart table.cart .quantity .sr-qty__btn:hover {
  color: var(--sr-pd-coral, #f2685c);
  background: transparent;
}

.woocommerce-cart table.cart .quantity .sr-qty__btn:focus-visible {
  outline: 2px solid var(--sr-pd-coral, #f2685c);
  outline-offset: -2px;
}

/* Hide broken Woo star-font text everywhere; theme uses .sr-stars */
.woocommerce .star-rating {
  display: none !important;
}

.sr-rating {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.sr-rating__avg {
  font-family: var(--sr-font-display);
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--sr-pd-ink, #23324a);
}

.woocommerce ul.products .sr-rating,
.sr-product-card .sr-rating {
  margin: 0 var(--sr-space-4) 0.35rem;
}

/* Keep td as table-cell — display:flex on td collapses product-name width */
.woocommerce-cart table.cart td.actions {
  padding-top: var(--sr-space-5);
}

.woocommerce-cart .sr-cart-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sr-space-3);
  align-items: center;
  justify-content: space-between;
}

.woocommerce-cart .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sr-space-2);
  align-items: center;
  margin-bottom: 0;
  flex: 1 1 14rem;
}

/* Auto-updated via quantity.js; keep in DOM for Woo AJAX, hide from UI. */
.woocommerce-cart .sr-cart-actions > .button[name="update_cart"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.woocommerce-cart .coupon .input-text {
  flex: 1 1 10rem;
  min-height: 2.75rem;
  border: 2px solid var(--sr-pd-line, #d9eae1);
  border-radius: 999px;
  padding: 0.55rem 1rem;
  font-family: var(--sr-font-body);
  font-weight: 700;
  background: #fff;
}

.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: var(--sr-space-4);
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  font-family: var(--sr-font-display);
  font-weight: 700;
  font-size: var(--sr-btn-fs, 1.25rem);
  background: var(--sr-pd-coral, #f2685c) !important;
  color: #fff !important;
  border: 0;
  border-radius: 999px;
  padding: var(--sr-btn-pad-y, 0.55rem) var(--sr-btn-pad-x, 1.25rem);
  min-height: var(--sr-btn-min-h, 2.65rem);
  box-shadow: 0 10px 22px -8px rgba(242, 104, 92, 0.55);
  text-decoration: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--sr-pd-coral-dark, #d94f45) !important;
  transform: translateY(-1px);
}

.woocommerce-notices-wrapper {
  display: grid;
  gap: var(--sr-space-4);
  margin: 0 0 var(--sr-space-5);
  width: min(100%, 40rem);
  margin-inline: auto;
}

.woocommerce-notices-wrapper:empty {
  display: none;
  margin: 0;
  min-height: 0;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border-radius: 16px;
  border: 2px solid var(--sr-pd-line, #d9eae1);
  border-left-width: 5px;
  background: #fff;
  color: var(--sr-pd-ink, #23324a);
  padding: 1.1rem 1.35rem;
  margin: 0 0 var(--sr-space-5);
  box-shadow: 0 8px 20px -14px rgba(35, 50, 74, 0.18);
  font-family: var(--sr-font-body);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.5;
}

.woocommerce-info a,
.woocommerce-message a,
.woocommerce-error a {
  color: var(--sr-pd-teal, #2c9e93);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.woocommerce-info a:hover,
.woocommerce-message a:hover,
.woocommerce-error a:hover {
  color: var(--sr-pd-coral, #f2685c);
}

.woocommerce-message {
  border-color: #7bc9a0;
  border-left-color: #2c9e93;
  background: #eef9f3;
  color: #1d4d3a;
}

.woocommerce-info {
  border-color: #b7d5ee;
  border-left-color: #3b82c4;
  background: #f3f8fc;
  color: #1e3a5f;
}

.woocommerce-error {
  border-color: #f0b4af;
  border-left-color: var(--sr-pd-coral, var(--sr-color-accent));
  background: #fff5f4;
  color: #8a2e28;
  list-style: none;
}

.woocommerce-error li {
  margin: 0;
}

/* Avoid box-in-box: notices inside the account content card stay flat */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper .woocommerce-error {
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button {
  margin-left: 0.75rem;
  background: var(--sr-pd-coral, #f2685c);
}

/* Empty-cart status is a panel, not a notice chip */
body.woocommerce-cart .wc-empty-cart-message .cart-empty.woocommerce-info,
body.woocommerce-cart .wc-empty-cart-message .woocommerce-info {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
}

/* Empty cart / auth panels + CTAs: assets/css/components.css */

/* Shared Woo buttons on cart/account/checkout */
.woocommerce-cart .button,
.woocommerce-checkout .button,
.woocommerce-account .button,
.woocommerce-cart button.button,
.woocommerce-checkout button.button,
.woocommerce-account button.button {
  font-family: var(--sr-font-display);
  font-weight: 700;
  border-radius: 999px;
  border: 0;
  background: var(--sr-pd-ink, #23324a);
  color: #fff !important;
  padding: 0.75rem 1.35rem;
  min-height: 2.75rem;
  text-decoration: none !important;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.woocommerce-cart .button:hover,
.woocommerce-checkout .button:hover,
.woocommerce-account .button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-checkout button.button:hover,
.woocommerce-account button.button:hover {
  background: var(--sr-pd-coral, #f2685c);
  color: #fff !important;
  transform: translateY(-1px);
}

.woocommerce-cart .coupon .button {
  background: var(--sr-pd-teal, #2c9e93);
}

.woocommerce form .form-row {
  margin-bottom: var(--sr-space-4);
}

body.woocommerce-checkout .woocommerce form .form-row {
  margin-bottom: var(--sr-space-3);
}

/* Pair Woo first/last fields (name, postcode/city, etc.) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 var(--sr-space-4);
}

@media (min-width: 600px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr 1fr;
  }

  .woocommerce-checkout .form-row-wide {
    grid-column: 1 / -1;
  }

  .woocommerce-checkout .form-row-first {
    grid-column: 1;
  }

  .woocommerce-checkout .form-row-last {
    grid-column: 2;
  }
}

.woocommerce form .form-row label {
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--sr-pd-ink, #23324a);
  margin-bottom: 0.35rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-account .woocommerce-Input,
.woocommerce-account input.input-text,
.woocommerce-account select,
.woocommerce-account textarea {
  border: 2px solid var(--sr-pd-line, #d9eae1);
  border-radius: 999px;
  background: #fff;
  padding: 0.7rem 1rem;
  font-family: var(--sr-font-body);
  font-weight: 600;
  color: var(--sr-pd-ink, #23324a);
  width: 100%;
}

.woocommerce form .form-row textarea,
.woocommerce-account textarea {
  border-radius: 16px;
  min-height: 7rem;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-account .woocommerce-Input:focus,
.woocommerce-account input.input-text:focus,
.woocommerce-account select:focus {
  outline: 2px solid var(--sr-pd-teal, #2c9e93);
  outline-offset: 1px;
  border-color: var(--sr-pd-teal, #2c9e93);
}

/* Country / state use Select2 — style the widget, not the hidden native select */
.woocommerce-cart .select2-container,
.woocommerce-checkout .select2-container,
.woocommerce-account .select2-container {
  display: block;
  width: 100% !important;
}

.woocommerce-cart .select2-container .select2-selection--single,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-account .select2-container .select2-selection--single {
  height: auto;
  min-height: 2.75rem;
  border: 2px solid var(--sr-pd-line, #d9eae1);
  border-radius: 999px;
  background: #fff;
  font-family: var(--sr-font-body);
  font-weight: 600;
  font-size: 1rem;
  color: var(--sr-pd-ink, #23324a);
  transition: border-color 0.15s ease, outline-color 0.15s ease;
}

.woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0.7rem 2rem 0.7rem 1rem;
  line-height: 1.35;
  color: inherit;
}

.woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__arrow,
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow,
.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 0;
  right: 0.85rem;
  width: 1.25rem;
  height: 100%;
}

.woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__arrow b,
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b,
.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--sr-pd-ink-soft, #5a6b82) transparent transparent transparent;
  border-width: 6px 5px 0;
  margin-left: -5px;
  margin-top: -3px;
}

.woocommerce-cart .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-account .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-cart .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-account .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--sr-pd-teal, #2c9e93);
  outline: 2px solid var(--sr-pd-teal, #2c9e93);
  outline-offset: 1px;
}

.woocommerce-cart .select2-dropdown,
.woocommerce-checkout .select2-dropdown,
.woocommerce-account .select2-dropdown {
  border: 2px solid var(--sr-pd-line, #d9eae1);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--sr-pd-shadow, 0 12px 30px -12px rgba(35, 50, 74, 0.18));
}

.woocommerce-cart .select2-container--default .select2-results__option--highlighted[aria-selected],
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
.woocommerce-account .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--sr-pd-teal, #2c9e93);
}

.woocommerce-checkout #customer_details {
  padding: var(--sr-space-5);
  margin-bottom: var(--sr-space-5);
}

/* Billing + shipping stack (avoid empty half-column beside notes) */
.woocommerce-checkout .col2-set {
  display: flex;
  flex-direction: column;
  gap: var(--sr-space-5);
}

.woocommerce-checkout .col2-set::before,
.woocommerce-checkout .col2-set::after {
  display: none;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  float: none;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.woocommerce-checkout .sr-checkout-sidebar {
  margin-bottom: var(--sr-space-5);
  padding: var(--sr-space-5);
  display: flex;
  flex-direction: column;
  gap: 0;
}

.woocommerce-checkout #order_review_heading {
  display: block;
  padding: 0 0 var(--sr-space-4);
  margin: 0 0 var(--sr-space-4);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--sr-pd-line, #d9eae1);
  border-radius: 0;
  box-shadow: none;
}

.woocommerce-checkout #order_review {
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.woocommerce-checkout #place_order {
  width: 100%;
  background: var(--sr-pd-coral, #f2685c) !important;
  box-shadow: 0 10px 22px -8px rgba(242, 104, 92, 0.55);
  font-size: 1.05rem;
}

/* Checkout polish — CSS only; #payment / #order_review IDs unchanged */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  margin: 0 0 var(--sr-space-4);
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  margin: 0;
  text-align: center;
  padding: 0.9rem 1.15rem;
  font-size: 0.95rem;
}

.woocommerce-checkout form.checkout_coupon {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sr-space-2);
  align-items: center;
  margin: 0 0 var(--sr-space-5);
  padding: var(--sr-space-4);
  background: var(--sr-pd-surface, #fff);
  border: 1px solid var(--sr-pd-line, #d9eae1);
  border-radius: var(--sr-pd-radius, 18px);
  box-shadow: var(--sr-pd-shadow, 0 12px 30px -12px rgba(35, 50, 74, 0.18));
}

.woocommerce-checkout form.checkout_coupon .form-row-first,
.woocommerce-checkout form.checkout_coupon .form-row-last {
  flex: 1 1 12rem;
  margin: 0;
  float: none;
  width: auto;
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
  font-family: var(--sr-font-display);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--sr-pd-ink, #23324a);
  margin: 0 0 var(--sr-space-4);
  padding-bottom: var(--sr-space-3);
  border-bottom: 1px solid var(--sr-pd-line, #d9eae1);
}

.woocommerce-checkout #ship-to-different-address {
  margin: 0 0 var(--sr-space-4);
  padding-top: var(--sr-space-2);
  border-top: 1px dashed var(--sr-pd-line, #d9eae1);
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-weight: 700;
  color: var(--sr-pd-ink-soft, #5a6b82);
  cursor: pointer;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0.15rem 0 0;
  accent-color: var(--sr-pd-teal, #2c9e93);
  flex-shrink: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
  font-family: var(--sr-font-display);
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--sr-pd-ink-soft, #5a6b82);
  padding: 0 0 0.65rem;
  border: 0;
  border-bottom: 1px solid var(--sr-pd-line, #d9eae1);
  vertical-align: bottom;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th:first-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
  text-align: left;
  padding-right: var(--sr-space-3);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  padding: 0.9rem 0;
  border: 0;
  border-bottom: 1px solid var(--sr-pd-line, #d9eae1);
  vertical-align: top;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
  font-family: var(--sr-font-display);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--sr-pd-ink, #23324a);
  overflow-wrap: break-word;
  word-break: normal;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .product-quantity {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.12rem 0.5rem;
  border-radius: 999px;
  background: #e8f5ee;
  color: var(--sr-pd-teal, #2c9e93);
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.3;
  white-space: nowrap;
  vertical-align: middle;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  font-family: var(--sr-font-display);
  font-weight: 800;
  color: var(--sr-pd-ink, #23324a);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total {
  white-space: nowrap;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
  font-weight: 800;
  color: var(--sr-pd-ink, #23324a);
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.95rem;
  font-family: var(--sr-font-body);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total {
  border-top: 1px dashed var(--sr-pd-line, #d9eae1);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  border-bottom: 0;
  padding-top: var(--sr-space-3);
  font-size: 1.1rem;
  color: var(--sr-pd-ink, #23324a);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  white-space: nowrap;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method,
.woocommerce-checkout .woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li,
.woocommerce-checkout .woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li input[type="radio"],
.woocommerce-checkout .woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li input[type="radio"] {
  margin: 0.2rem 0 0;
  flex-shrink: 0;
  accent-color: var(--sr-pd-teal, #2c9e93);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li label,
.woocommerce-checkout .woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li label {
  margin: 0;
  font-family: var(--sr-font-display);
  font-weight: 800;
  font-size: 0.9rem;
  line-height: 1.35;
  text-align: left;
  color: var(--sr-pd-ink, #23324a);
  cursor: pointer;
}

/* Shipping label above methods (same idea as cart totals) */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals {
  display: grid;
  grid-template-columns: 1fr;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
  width: 100%;
  display: block;
  text-align: left;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
  padding-top: 0.35rem;
}

/* Checkout order summary: readable stacked rows on phones. */
@media (max-width: 899px) {
  .woocommerce-checkout .sr-checkout-sidebar {
    padding: var(--sr-space-4);
  }

  .woocommerce-checkout #order_review_heading {
    font-size: 1.2rem;
    padding-bottom: var(--sr-space-3);
    margin-bottom: var(--sr-space-3);
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table thead {
    display: none;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot {
    display: block;
    width: 100%;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.4rem;
    width: 100%;
    box-sizing: border-box;
    padding: 0.95rem 0;
    border-bottom: 1px solid var(--sr-pd-line, #d9eae1);
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
    font-size: 0.95rem;
    line-height: 1.4;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table .product-total {
    text-align: left;
    font-size: 1.05rem;
    color: var(--sr-pd-coral-dark, #d94f45);
    white-space: normal;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem 1rem;
    width: 100%;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--sr-pd-line, #d9eae1);
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    margin-left: auto;
    text-align: right;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th {
    width: 100%;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
    width: 100%;
    margin-left: 0;
    text-align: left;
    padding-top: 0.4rem;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li,
  .woocommerce-checkout .woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li {
    justify-content: flex-start;
    width: 100%;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li label,
  .woocommerce-checkout .woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li label {
    text-align: left;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total {
    border-top: 0;
    border-bottom: 0;
    padding-top: 1rem;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td {
    padding-top: 0;
    font-size: 1.2rem;
  }
}

.woocommerce-checkout #order_review #payment {
  background: transparent;
  border: 0;
  border-radius: 0;
  border-top: 1px dashed var(--sr-pd-line, #d9eae1);
  margin-top: var(--sr-space-4);
  padding-top: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
  padding: var(--sr-space-4) 0 0;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin: 0 0 var(--sr-space-2);
  padding: 0.7rem 0.85rem;
  list-style: none;
  border: 1px solid transparent;
  border-radius: 14px;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
  background: #f7fcf9;
  border-color: var(--sr-pd-line, #d9eae1);
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:last-child {
  margin-bottom: 0;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
  margin: 0;
  flex: 0 0 auto;
  accent-color: var(--sr-pd-teal, #2c9e93);
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
  display: flex;
  align-items: center;
  flex: 1 1 0;
  gap: 0.65rem;
  min-width: 0;
  margin: 0;
  font-weight: 700;
  color: var(--sr-pd-ink, #23324a);
  cursor: pointer;
  line-height: 1.35;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label img {
  order: 99;
  max-height: 1.35rem;
  width: auto;
  margin-left: auto;
  flex-shrink: 0;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > .payment_box {
  flex: 1 1 100%;
  width: 100%;
  margin: var(--sr-space-3) 0 0;
  padding: var(--sr-space-3) 0 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  border-top: 1px dashed var(--sr-pd-line, #d9eae1);
}

.woocommerce-checkout #payment .payment_box::before {
  display: none;
}

.woocommerce-checkout #payment .payment_box p {
  margin: 0 0 var(--sr-space-3);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--sr-pd-ink-soft, #5a6b82);
  line-height: 1.5;
}

.woocommerce-checkout #payment .payment_box p:last-child {
  margin-bottom: 0;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--sr-pd-ink-soft, #5a6b82);
  font-weight: 600;
  margin-bottom: var(--sr-space-3);
}

.woocommerce-checkout #payment div.form-row {
  padding: var(--sr-space-4) 0 0;
}

/* Mollie Components — container styling only (iframe text is plugin-controlled) */
.woocommerce-checkout .mollie-components {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sr-space-3);
  margin-top: var(--sr-space-2);
}

.woocommerce-checkout .mollie-components > div {
  flex: 1 1 100%;
}

.woocommerce-checkout .mollie-components .mollie-component-label {
  display: block;
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--sr-pd-ink, #23324a);
  margin: 0 0 0.35rem;
}

.woocommerce-checkout .mollie-components .mollie-component {
  min-height: 2.75rem;
  border: 2px solid var(--sr-pd-line, #d9eae1) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  background: #fff !important;
  transition: border-color 0.15s ease, outline-color 0.15s ease;
}

.woocommerce-checkout .mollie-components .mollie-component.has-focus,
.woocommerce-checkout .mollie-components .mollie-component:focus-within {
  border-color: var(--sr-pd-teal, #2c9e93) !important;
  outline: 2px solid var(--sr-pd-teal, #2c9e93);
  outline-offset: 1px;
}

.woocommerce-checkout .mollie-components .mollie-component.is-invalid {
  border-color: var(--sr-pd-coral, #f2685c) !important;
}

.woocommerce-checkout .mollie-components #expiryDate,
.woocommerce-checkout .mollie-components #verificationCode {
  border-radius: 16px !important;
}

.woocommerce-checkout #payment .payment_method_mollie_wc_gateway_creditcard .mollie-gateway-icon,
.woocommerce-checkout #payment .mollie-gateway-icon {
  margin: var(--sr-space-2) 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--sr-pd-ink-soft, #5a6b82);
  line-height: 1.4;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  width: 100%;
  float: none;
}

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100%;
  float: none;
  margin-bottom: var(--sr-space-5);
  padding: var(--sr-space-3);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0;
  margin: 0;
  border: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 0.7rem 1rem;
  text-decoration: none !important;
  font-family: var(--sr-font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--sr-pd-ink-soft, #5a6b82);
  border-radius: 999px;
  border: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--sr-pd-coral, #f2685c);
  background: #fce7e5;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--sr-pd-coral, #f2685c);
  color: #fff;
  border: 0;
}

.woocommerce-account .woocommerce-MyAccount-content {
  width: 100%;
  float: none;
  padding: var(--sr-space-5);
}

.woocommerce-account .woocommerce-MyAccount-content p {
  color: var(--sr-pd-ink-soft, #5a6b82);
  font-weight: 600;
  line-height: 1.6;
}

.woocommerce-account .woocommerce-Addresses {
  display: grid;
  gap: var(--sr-space-4);
}

.woocommerce-account .woocommerce-Address {
  background: #f7fcf9;
  border: 1px solid var(--sr-pd-line, #d9eae1);
  border-radius: 16px;
  padding: var(--sr-space-4);
}

.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-orders {
  border: 0;
}

.woocommerce-account .woocommerce-orders-table a.button,
.woocommerce-account .woocommerce-MyAccount-orders a.button {
  font-size: 0.85rem;
  min-height: 2.25rem;
  padding: 0.45rem 0.95rem;
  background: var(--sr-pd-teal, #2c9e93);
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  /* Panel chrome: components.css */
  margin-bottom: var(--sr-space-5);
}

.woocommerce-account .u-columns {
  padding: 0;
  display: grid;
  gap: var(--sr-space-5);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.woocommerce-account .u-columns .col-1,
.woocommerce-account .u-columns .col-2 {
  width: 100%;
  float: none;
}

.woocommerce-account .woocommerce-form__label-for-checkbox {
  font-weight: 700;
  color: var(--sr-pd-ink-soft, #5a6b82);
}

.woocommerce-account .lost_password a {
  color: var(--sr-pd-teal, #2c9e93);
}

/* Auth layout chrome beyond shared panel (components.css) */
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper,
body.woocommerce-account:not(.logged-in) .woocommerce-error,
body.woocommerce-account:not(.logged-in) .woocommerce-message,
body.woocommerce-account:not(.logged-in) .woocommerce-info {
  margin-bottom: var(--sr-space-4);
}

body.woocommerce-account:not(.logged-in) form.lost_reset_password > p:first-child {
  color: var(--sr-pd-ink-soft, #5a6b82);
  font-weight: 600;
  line-height: 1.55;
  margin: 0 0 var(--sr-space-4);
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register .form-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sr-space-3);
  float: none;
  width: 100%;
}

body.woocommerce-account:not(.logged-in) .form-row-first,
body.woocommerce-account:not(.logged-in) .form-row-last,
body.woocommerce-account:not(.logged-in) .form-row-wide {
  float: none;
  width: 100%;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
  margin: 0;
}

body.woocommerce-account:not(.logged-in) .lost_password {
  margin: 0;
  text-align: center;
}

/* Password reveal — styles were in dequeued woocommerce-layout.css */
.woocommerce .password-input {
  display: block;
  position: relative;
}

.woocommerce .password-input input[type="password"],
.woocommerce .password-input input[type="text"] {
  padding-right: 3rem;
  width: 100%;
}

.woocommerce .password-input input::-ms-reveal {
  display: none;
}

.woocommerce .show-password-input {
  position: absolute;
  top: 50%;
  right: 0.85rem;
  transform: translateY(-50%);
  z-index: 2;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--sr-pd-ink-soft, #5a6b82);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  min-height: 0;
  box-shadow: none;
}

.woocommerce .show-password-input:hover {
  background: #f3f7f5;
  color: var(--sr-pd-teal, #2c9e93);
  transform: translateY(-50%);
}

.woocommerce .show-password-input::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z' fill='%235A6B82'/%3E%3C/svg%3E");
}

.woocommerce .show-password-input.display-password::before {
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.3 9.5C15 4.9 8.5 3.8 3.9 7.2C2.7 8.1 1.7 9.3 0.9 10.6C1.1 11 1.4 11.4 1.7 11.8C5 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.8 18.3 9.5ZM10.1 7.2C10.6 6.7 11.4 6.7 11.9 7.2C12.4 7.7 12.4 8.5 11.9 9C11.4 9.5 10.6 9.5 10.1 9C9.6 8.5 9.6 7.7 10.1 7.2ZM10 14.9C6.9 14.9 4 13.3 2.3 10.7C3.5 9 5.1 7.8 7 7.2C6.3 8 6 8.9 6 9.9C6 12.1 7.7 14 10 14C12.2 14 14.1 12.3 14.1 10V9.9C14.1 8.9 13.7 7.9 13 7.2C14.9 7.8 16.5 9 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z' fill='%232C9E93'/%3E%3C/svg%3E");
}

/* Cart: stack line items as cards (Woo smallscreen CSS is dequeued). */
@media (max-width: 899px) {
  body.woocommerce-cart .sr-main--woocommerce {
    padding-block: var(--sr-space-4);
    overflow-x: clip;
  }

  .woocommerce-cart .woocommerce,
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart table.cart,
  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart_totals {
    min-width: 0;
    max-width: 100%;
  }

  .woocommerce-cart .woocommerce-cart-form {
    overflow-x: visible;
    padding: var(--sr-space-3);
    margin-bottom: var(--sr-space-4);
  }

  .woocommerce-cart table.cart {
    table-layout: fixed;
    width: 100%;
    border-spacing: 0;
  }

  .woocommerce-cart table.cart thead {
    display: none;
  }

  .woocommerce-cart table.cart tbody,
  .woocommerce-cart table.cart tbody > tr:not(.cart_item) {
    display: block;
    width: 100%;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item {
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr) 2.25rem;
    grid-template-areas:
      "thumb name remove"
      "thumb price remove"
      "qty qty qty"
      "subtotal subtotal subtotal";
    gap: 0.35rem 0.85rem;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 0.85rem;
    padding: 0.9rem;
    background: #f7fbf9;
    border: 1px solid var(--sr-pd-line, #d9eae1);
    border-radius: 16px;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item:last-of-type {
    margin-bottom: 0;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item td {
    display: block;
    width: auto;
    min-width: 0;
    max-width: 100%;
    padding: 0;
    border: 0;
    white-space: normal;
    vertical-align: top;
    background: transparent;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-thumbnail {
    grid-area: thumb;
    width: auto;
    min-width: 0;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-name {
    grid-area: name;
    padding-top: 0.1rem;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-remove {
    grid-area: remove;
    width: auto;
    justify-self: end;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-price {
    grid-area: price;
    align-self: start;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-quantity {
    grid-area: qty;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-subtotal {
    grid-area: subtotal;
  }

  .woocommerce-cart table.cart .product-thumbnail a,
  .woocommerce-cart table.cart .product-thumbnail img,
  .woocommerce-cart table.cart img {
    width: 4.75rem !important;
    max-width: 4.75rem !important;
    height: 4.75rem !important;
  }

  .woocommerce-cart table.cart .product-name a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-size: 0.95rem;
    line-height: 1.35;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-price {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--sr-pd-coral-dark, #d94f45);
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-price del,
  .woocommerce-cart table.cart tbody > tr.cart_item .product-price del .amount {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--sr-pd-ink-soft, #5a6b82);
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-quantity,
  .woocommerce-cart table.cart tbody > tr.cart_item .product-subtotal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 -0.15rem;
    padding: 0.7rem 0.15rem 0;
    border-top: 1px dashed var(--sr-pd-line, #d9eae1);
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-quantity {
    margin-top: 0.55rem;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-subtotal {
    padding-top: 0.65rem;
    font-size: 1.05rem;
  }

  .woocommerce-cart table.cart tbody > tr.cart_item .product-quantity::before,
  .woocommerce-cart table.cart tbody > tr.cart_item .product-subtotal::before {
    content: attr(data-title);
    font-family: var(--sr-font-body);
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--sr-pd-ink-soft, #5a6b82);
    text-transform: none;
    letter-spacing: 0;
    flex: 0 0 auto;
  }

  .woocommerce-cart table.cart td.actions {
    display: block;
    width: 100%;
    padding: 0.35rem 0 0;
  }

  .woocommerce-cart .sr-cart-actions,
  .woocommerce-cart .coupon {
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    flex: 1 1 auto;
    width: 100%;
    gap: 0.65rem;
  }

  .woocommerce-cart .coupon .input-text,
  .woocommerce-cart .coupon .button {
    width: 100%;
    flex: 1 1 auto;
  }

}

@media (min-width: 900px) {
  /* Cart: line items left, totals right — only when cart has items */
  .woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
    gap: var(--sr-space-5);
    align-items: start;
  }

  .woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .woocommerce-info,
  .woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .woocommerce-message,
  .woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .woocommerce-error {
    grid-column: 1 / -1;
  }

  .woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
    margin-bottom: 0;
  }

  .woocommerce-cart .cart-collaterals {
    grid-column: 2;
    display: block;
  }

  .woocommerce-cart .cart-collaterals .cross-sells {
    grid-column: auto;
    margin-top: var(--sr-space-5);
  }

  /* Empty cart stays single column / full width */
  .woocommerce-cart .woocommerce:has(.sr-empty-cart-products),
  .woocommerce-cart .woocommerce:has(.wc-empty-cart-message),
  .woocommerce-cart .woocommerce:has(.cart-empty) {
    display: block;
  }

  /* Checkout: address left, order + pay sticky right */
  .woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(17rem, 24rem);
    gap: var(--sr-space-5);
    align-items: start;
  }

  .woocommerce-checkout form.checkout > #customer_details {
    grid-column: 1;
    margin-bottom: 0;
  }

  .woocommerce-checkout form.checkout > .sr-checkout-sidebar {
    grid-column: 2;
    position: sticky;
    top: 5.5rem;
    margin-bottom: 0;
  }

  .woocommerce-checkout .col2-set {
    display: flex;
    flex-direction: column;
    gap: var(--sr-space-5);
  }

  /* Sidebar nav only when logged in */
  body.logged-in.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 15rem 1fr;
    gap: var(--sr-space-5);
    align-items: start;
  }

  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 0;
  }

  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
  }

  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr 1fr;
  }

  body.woocommerce-account:not(.logged-in) .u-columns {
    width: min(100%, 52rem);
    margin-inline: auto;
    grid-template-columns: 1fr 1fr;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce:has(.u-columns) {
    width: min(100%, 52rem);
  }
}

/* Order received / pay — keep Woo markup, quiet the chrome */
body.woocommerce-order-received .entry-title,
body.woocommerce-order-received h1.page-title,
body.woocommerce-order-received .sr-page__title,
body.woocommerce-order-pay .entry-title,
body.woocommerce-order-pay h1.page-title,
body.woocommerce-order-pay .sr-page__title {
  max-width: 40rem;
  margin-inline: auto;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
}

body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-pay #order_review {
  width: min(100%, 40rem);
  margin-inline: auto;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-thankyou-order-failed,
body.woocommerce-order-received .woocommerce-thankyou-order-failed-actions {
  margin: 0 0 1.5rem;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  font-size: 1.125rem;
  line-height: 1.55;
}

body.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  gap: 0.65rem 2rem;
  list-style: none;
  margin: 0 0 2.5rem;
  padding: 0;
}

@media (min-width: 520px) {
  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr 1fr;
  }
}

body.woocommerce-order-received .woocommerce-order-overview li {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--sr-pd-ink-soft, #5a6b82);
}

body.woocommerce-order-received .woocommerce-order-overview strong {
  display: block;
  margin-top: 0.15rem;
  font-weight: 600;
  color: var(--sr-pd-ink, #23324a);
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  margin-top: 2.5rem;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 700;
}

body.woocommerce-order-received table.shop_table {
  width: 100%;
  border-collapse: collapse;
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
  padding: 0.6rem 0;
  border: 0;
  border-bottom: 1px solid var(--sr-color-line, #e4ddd3);
  background: none;
  text-align: left;
  vertical-align: top;
}

body.woocommerce-order-received table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table tfoot tr:last-child td {
  border-bottom: 0;
  font-weight: 700;
}

body.woocommerce-order-received address {
  margin: 0;
  font-style: normal;
  line-height: 1.55;
}

@media (min-width: 700px) {
  body.woocommerce-order-received .woocommerce-columns--addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}

body.woocommerce-order-pay #place_order {
  width: 100%;
  margin-top: var(--sr-space-4);
}
