/* =======================================================
   Aletta Nutrition - WooCommerce Styling
   Product / Cart / Checkout / Thank You / Account
======================================================= */

/* -------------------------------------------------------
   WooCommerce Global Page Base
------------------------------------------------------- */

.woocommerce-page,
.woocommerce {
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  color: var(--aletta-text, #425b54);
}

.woocommerce-page .site-content,
.woocommerce .site-content,
.woocommerce-page main,
.woocommerce main {
  background: var(--aletta-cream, #fbf8f2) !important;
}

.woocommerce-page .ast-container,
.woocommerce .ast-container {
  max-width: 1420px;
}

.woocommerce-page .entry-content,
.woocommerce .entry-content {
  padding-top: 36px;
  padding-bottom: 80px;
}

.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3,
.woocommerce-page h4,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce h4 {
  color: var(--aletta-dark, #17372f);
  letter-spacing: -0.035em;
}

.woocommerce-page p,
.woocommerce p {
  color: var(--aletta-text, #425b54);
  line-height: 1.75;
}

/* -------------------------------------------------------
   WooCommerce Notices
------------------------------------------------------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  max-width: 1180px;
  margin: 0 auto 26px !important;
  padding: 18px 22px 18px 58px !important;
  border-radius: 20px;
  border-top: 0 !important;
  background: #ffffff !important;
  color: var(--aletta-text, #425b54) !important;
  box-shadow: 0 18px 55px rgba(23, 55, 47, 0.08);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  top: 18px;
  color: var(--aletta-green, #557565) !important;
}

.woocommerce-error {
  border-left: 4px solid #b95454 !important;
}

.woocommerce-info {
  border-left: 4px solid var(--aletta-green, #557565) !important;
}

.woocommerce-message {
  border-left: 4px solid var(--aletta-dark, #17372f) !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  color: var(--aletta-dark, #17372f);
  font-weight: 700;
}

/* -------------------------------------------------------
   WooCommerce Buttons
------------------------------------------------------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce-page #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page a.button.alt,
.woocommerce-page button.button.alt,
.woocommerce-page input.button.alt,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  border-radius: 999px !important;
  background: var(--aletta-dark, #17372f) !important;
  color: #ffffff !important;
  border: 1px solid var(--aletta-dark, #17372f) !important;
  padding: 15px 28px !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(23, 55, 47, 0.14);
  transition: 0.2s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.woocommerce-page #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-page a.button.alt:hover,
.woocommerce-page button.button.alt:hover,
.woocommerce-page input.button.alt:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover {
  background: var(--aletta-green, #557565) !important;
  border-color: var(--aletta-green, #557565) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}

.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
  opacity: 0.55 !important;
  padding: 15px 28px !important;
}

/* -------------------------------------------------------
   WooCommerce Forms
------------------------------------------------------- */

.woocommerce form .form-row {
  padding: 0;
  margin: 0 0 18px;
}

.woocommerce form .form-row label {
  margin-bottom: 8px;
  color: var(--aletta-dark, #17372f);
  font-size: 14px;
  font-weight: 700;
}

.woocommerce form .form-row .required {
  color: var(--aletta-green, #557565);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
  min-height: 52px;
  border-radius: 18px !important;
  border: 1px solid rgba(95, 127, 111, 0.22) !important;
  background: #ffffff !important;
  color: var(--aletta-dark, #17372f) !important;
  padding: 13px 16px !important;
  font-size: 15px;
  box-shadow: none !important;
}

.woocommerce form .form-row textarea {
  min-height: 130px;
  resize: vertical;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page form .form-row input.input-text:focus,
.woocommerce-page form .form-row textarea:focus,
.woocommerce-page form .form-row select:focus {
  outline: none !important;
  border-color: var(--aletta-green, #557565) !important;
  box-shadow: 0 0 0 4px rgba(95, 127, 111, 0.12) !important;
}

.select2-container--default .select2-selection--single {
  height: 52px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(95, 127, 111, 0.22) !important;
  background: #ffffff !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 52px !important;
  color: var(--aletta-dark, #17372f) !important;
  padding-left: 16px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 52px !important;
  right: 10px !important;
}

.select2-dropdown {
  border-radius: 18px !important;
  border-color: rgba(95, 127, 111, 0.22) !important;
  overflow: hidden;
}

/* -------------------------------------------------------
   Product Page
------------------------------------------------------- */

.single-product .site-content {
  background:
    radial-gradient(circle at 90% 8%, rgba(226, 238, 232, 0.75), transparent 30%),
    var(--aletta-cream, #fbf8f2) !important;
}

.single-product div.product {
  max-width: 1220px;
  margin: 34px auto 80px;
  padding: 54px;
  border-radius: 34px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(23, 55, 47, 0.08);
}

.single-product div.product div.images {
  width: 43%;
}

.single-product div.product div.summary {
  width: 51%;
  padding-left: 28px;
}

.single-product div.product .product_title {
  margin-bottom: 18px;
  font-size: clamp(38px, 4vw, 62px);
  line-height: 1.02;
  font-weight: 650;
  letter-spacing: -0.06em;
  color: var(--aletta-dark, #17372f);
}

.single-product div.product .price {
  margin: 0 0 24px;
  color: var(--aletta-dark, #17372f) !important;
  font-size: 28px !important;
  font-weight: 750;
}

.single-product div.product .woocommerce-product-details__short-description {
  margin: 0 0 30px;
  padding: 24px 26px;
  border-radius: 26px;
  background: var(--aletta-soft-green, #e2eee8);
}

.single-product div.product .woocommerce-product-details__short-description p {
  margin-bottom: 0;
  font-size: 16.5px;
  line-height: 1.8;
  color: var(--aletta-text, #425b54);
}

.single-product div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin: 0 0 28px;
  padding: 24px;
  border-radius: 26px;
  background: #fbf8f2;
  border: 1px solid rgba(95, 127, 111, 0.14);
}

.single-product div.product form.cart .quantity {
  margin: 0 !important;
}

.single-product div.product form.cart input.qty {
  width: 86px;
  min-height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(95, 127, 111, 0.24);
  color: var(--aletta-dark, #17372f);
  font-weight: 700;
}

.single-product div.product form.cart .single_add_to_cart_button {
  min-height: 52px;
  padding-left: 34px !important;
  padding-right: 34px !important;
}

.single-product div.product .product_meta {
  display: none;
}

.single-product div.product .woocommerce-tabs {
  clear: both;
  padding-top: 44px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--aletta-soft-green, #e2eee8) !important;
  margin: 0 8px 12px 0 !important;
  padding: 0 !important;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 13px 22px !important;
  color: var(--aletta-dark, #17372f) !important;
  font-weight: 750 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--aletta-dark, #17372f) !important;
}

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

.woocommerce div.product .woocommerce-tabs .panel {
  margin: 18px 0 0 !important;
  padding: 34px !important;
  border-radius: 28px;
  background: #fbf8f2;
  border: 1px solid rgba(95, 127, 111, 0.14);
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
  margin-top: 0;
  font-size: clamp(28px, 3vw, 42px);
}

.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel li {
  font-size: 16px;
  line-height: 1.8;
}

.related.products,
.upsells.products {
  max-width: 1220px;
  margin: 0 auto 80px;
}

.related.products h2,
.upsells.products h2 {
  margin-bottom: 28px;
  font-size: clamp(32px, 3vw, 48px);
}

/* -------------------------------------------------------
   Product Archive / Shop Cards
------------------------------------------------------- */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  padding: 22px;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 18px 55px rgba(23, 55, 47, 0.07);
  transition: 0.2s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 70px rgba(23, 55, 47, 0.1);
}

.woocommerce ul.products li.product a img {
  border-radius: 22px;
  margin-bottom: 18px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0;
  margin: 0 0 10px;
  color: var(--aletta-dark, #17372f);
  font-size: 20px;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -0.03em;
}

.woocommerce ul.products li.product .price {
  color: var(--aletta-green, #557565) !important;
  font-size: 17px !important;
  font-weight: 800;
}

.woocommerce ul.products li.product .button {
  margin-top: 16px;
}

/* -------------------------------------------------------
   Cart Page
------------------------------------------------------- */

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
  max-width: 1180px;
  margin: 20px auto 24px;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1;
  font-weight: 650;
  letter-spacing: -0.06em;
  color: var(--aletta-dark, #17372f);
}

.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-checkout form.checkout,
.woocommerce-order,
.woocommerce-account .woocommerce {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.woocommerce-cart-form {
  padding: 34px;
  border-radius: 32px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(23, 55, 47, 0.08);
}

.woocommerce table.shop_table {
  border: 0 !important;
  border-radius: 24px !important;
  overflow: hidden;
  background: #ffffff;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.woocommerce table.shop_table th {
  padding: 18px 16px !important;
  background: var(--aletta-soft-green, #e2eee8);
  color: var(--aletta-dark, #17372f);
  font-size: 14px;
  font-weight: 800;
  text-transform: none;
}

.woocommerce table.shop_table td {
  padding: 20px 16px !important;
  border-top: 1px solid rgba(95, 127, 111, 0.14) !important;
  color: var(--aletta-text, #425b54);
}

.woocommerce table.shop_table .product-name a {
  color: var(--aletta-dark, #17372f);
  font-weight: 750;
  text-decoration: none;
}

.woocommerce table.shop_table .product-name a:hover {
  color: var(--aletta-green, #557565);
}

.woocommerce table.shop_table .product-thumbnail img {
  width: 74px;
  border-radius: 16px;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
  width: 220px !important;
  min-height: 50px;
  border-radius: 999px !important;
  border: 1px solid rgba(95, 127, 111, 0.22) !important;
  padding: 0 18px !important;
}

.cart-collaterals {
  margin-top: 30px;
}

.cart-collaterals .cart_totals {
  width: 100% !important;
  padding: 34px;
  border-radius: 32px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(23, 55, 47, 0.08);
}

.cart-collaterals .cart_totals h2 {
  margin: 0 0 22px;
  font-size: clamp(30px, 3vw, 46px);
}

.cart-collaterals .wc-proceed-to-checkout {
  padding-bottom: 0;
}

.cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  text-align: center;
  padding: 18px 30px !important;
  font-size: 16px !important;
}

/* -------------------------------------------------------
   Checkout Page
------------------------------------------------------- */

.woocommerce-checkout .woocommerce {
  max-width: 1180px;
  margin: 0 auto;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle {
  max-width: 1180px;
  margin: 0 auto;
}

.woocommerce form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
  gap: 34px;
  align-items: start;
}

.woocommerce-checkout #customer_details {
  padding: 34px;
  border-radius: 32px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(23, 55, 47, 0.08);
}

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

.woocommerce-checkout #customer_details .col-2 {
  margin-top: 34px;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-checkout h3#order_review_heading {
  margin: 0 0 24px;
  font-size: clamp(26px, 2.4vw, 38px);
  line-height: 1.08;
  font-weight: 650;
  color: var(--aletta-dark, #17372f);
}

.woocommerce-checkout h3#order_review_heading {
  display: none;
}

.woocommerce-checkout #order_review {
  padding: 34px;
  border-radius: 32px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(23, 55, 47, 0.08);
  position: sticky;
  top: 110px;
}

.woocommerce-checkout #order_review::before {
  content: "Order Summary";
  display: block;
  margin-bottom: 24px;
  font-size: clamp(26px, 2.4vw, 38px);
  line-height: 1.08;
  font-weight: 650;
  letter-spacing: -0.035em;
  color: var(--aletta-dark, #17372f);
}

.woocommerce-checkout-review-order-table {
  margin-bottom: 26px !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  font-size: 15px;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  color: var(--aletta-dark, #17372f);
  font-size: 19px;
  font-weight: 850;
}

.woocommerce-checkout #payment {
  border-radius: 26px !important;
  background: var(--aletta-soft-green, #e2eee8) !important;
  overflow: hidden;
}

.woocommerce-checkout #payment ul.payment_methods {
  padding: 24px !important;
  border-bottom: 1px solid rgba(95, 127, 111, 0.16) !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  color: var(--aletta-dark, #17372f);
  font-weight: 700;
}

.woocommerce-checkout #payment div.payment_box {
  border-radius: 20px;
  background: #ffffff !important;
  color: var(--aletta-text, #425b54) !important;
}

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

.woocommerce-checkout #payment div.form-row {
  padding: 24px !important;
}

.woocommerce-privacy-policy-text p {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--aletta-muted, #60716b);
}

.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 20px;
}

.woocommerce-checkout #place_order {
  width: 100%;
  min-height: 56px;
  font-size: 16px !important;
}

/* -------------------------------------------------------
   Order Received / Thank You Page
------------------------------------------------------- */

.woocommerce-order {
  padding: 42px;
  border-radius: 34px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(23, 55, 47, 0.08);
}

.woocommerce-order .woocommerce-notice {
  margin: 0 0 26px;
  padding: 28px 30px;
  border-radius: 26px;
  background: var(--aletta-soft-green, #e2eee8);
  color: var(--aletta-dark, #17372f);
  font-size: 20px;
  font-weight: 750;
}

.woocommerce ul.order_details {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 0 0 34px !important;
  padding: 0 !important;
}

.woocommerce ul.order_details li {
  margin: 0 !important;
  padding: 18px !important;
  border-right: 0 !important;
  border-radius: 20px;
  background: #fbf8f2;
  color: var(--aletta-muted, #60716b);
  font-size: 12px;
}

.woocommerce ul.order_details li strong {
  display: block;
  margin-top: 8px;
  color: var(--aletta-dark, #17372f);
  font-size: 15px;
  line-height: 1.35;
}

.woocommerce-order-details,
.woocommerce-customer-details {
  margin-top: 34px;
}

.woocommerce-order-details h2,
.woocommerce-customer-details h2 {
  margin-bottom: 20px;
  font-size: clamp(28px, 3vw, 42px);
}

.woocommerce .woocommerce-customer-details address {
  border: 0;
  border-radius: 24px;
  padding: 24px;
  background: #fbf8f2;
  color: var(--aletta-text, #425b54);
}

/* Thank you page booking next step */
.aletta-wc-booking-next-step {
  max-width: 920px;
  margin: 42px auto;
  padding: 56px 60px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 18%, rgba(185, 211, 198, 0.28), transparent 32%),
    var(--aletta-soft-green, #e2eee8);
  color: var(--aletta-dark, #17372f);
  box-shadow: 0 22px 70px rgba(23, 55, 47, 0.08);
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
}

.aletta-wc-booking-next-step__eyebrow {
  margin: 0 0 15px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--aletta-green, #557565);
}

.aletta-wc-booking-next-step h2 {
  margin: 0 0 22px;
  font-size: clamp(34px, 3.8vw, 56px);
  line-height: 1.02;
  font-weight: 650;
  letter-spacing: -0.05em;
  color: var(--aletta-dark, #17372f);
}

.aletta-wc-booking-next-step p {
  max-width: 760px;
  margin: 0 0 30px;
  font-size: 17px;
  line-height: 1.75;
  color: var(--aletta-text, #425b54);
}

.aletta-wc-booking-next-step__button {
  display: inline-block;
  padding: 16px 34px;
  border-radius: 999px;
  background: var(--aletta-dark, #17372f);
  color: #ffffff !important;
  font-size: 15.5px;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 16px 38px rgba(23, 55, 47, 0.16);
  transition: 0.2s ease;
}

.aletta-wc-booking-next-step__button:hover {
  transform: translateY(-2px);
  background: var(--aletta-green, #557565);
  color: #ffffff !important;
}

/* -------------------------------------------------------
   My Account Page
------------------------------------------------------- */

.woocommerce-account .woocommerce {
  padding: 34px;
  border-radius: 34px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(23, 55, 47, 0.08);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 27%;
}

.woocommerce-account .woocommerce-MyAccount-content {
  width: 69%;
}

.woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-MyAccount-navigation ul li {
  margin-bottom: 10px;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 14px 18px;
  border-radius: 999px;
  background: #fbf8f2;
  color: var(--aletta-dark, #17372f);
  font-weight: 750;
  text-decoration: none;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--aletta-dark, #17372f);
  color: #ffffff;
}

/* -------------------------------------------------------
   WooCommerce Responsive
------------------------------------------------------- */

@media (max-width: 1100px) {
  .single-product div.product {
    padding: 36px;
  }

  .single-product div.product div.images,
  .single-product div.product div.summary {
    width: 100% !important;
    float: none !important;
    padding-left: 0;
  }

  .single-product div.product div.summary {
    margin-top: 34px;
  }

  .woocommerce form.checkout {
    grid-template-columns: 1fr;
  }

  .woocommerce-checkout #order_review {
    position: static;
  }

  .woocommerce ul.order_details {
    grid-template-columns: repeat(2, 1fr);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    width: 100%;
    float: none;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    margin-top: 30px;
  }
}

@media (max-width: 768px) {
  .woocommerce-page .entry-content,
  .woocommerce .entry-content {
    padding-top: 24px;
    padding-bottom: 56px;
  }

  .woocommerce-cart .entry-title,
  .woocommerce-checkout .entry-title,
  .woocommerce-account .entry-title {
    margin-left: 18px;
    margin-right: 18px;
  }

  .single-product div.product,
  .woocommerce-cart-form,
  .cart-collaterals .cart_totals,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-order,
  .woocommerce-account .woocommerce {
    margin-left: 18px;
    margin-right: 18px;
    padding: 26px 20px;
    border-radius: 28px;
  }

  .single-product div.product .product_title {
    font-size: 38px;
  }

  .single-product div.product .price {
    font-size: 24px !important;
  }

  .single-product div.product form.cart {
    display: block;
    padding: 20px;
  }

  .single-product div.product form.cart .quantity {
    margin-bottom: 14px !important;
  }

  .single-product div.product form.cart .single_add_to_cart_button {
    width: 100%;
  }

  .woocommerce div.product .woocommerce-tabs .panel {
    padding: 24px !important;
  }

  .woocommerce-cart table.cart td.actions .coupon {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

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

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    margin-bottom: 14px;
    border-radius: 20px;
    background: #ffffff;
    overflow: hidden;
  }


  .woocommerce ul.order_details {
    grid-template-columns: 1fr;
  }

  .aletta-wc-booking-next-step {
    margin: 34px 18px;
    padding: 42px 24px;
    border-radius: 28px;
  }

  .aletta-wc-booking-next-step__button {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce a.button.alt,
  .woocommerce button.button.alt,
  .woocommerce input.button.alt,
  .woocommerce #payment #place_order {
    width: 100%;
    text-align: center;
  }

  .woocommerce-page .entry-content,
  .woocommerce .entry-content {
    padding-bottom: 44px;
  }
}

/* -------------------------------------------------------
   Sticky Footer Fix for Short WooCommerce Pages
------------------------------------------------------- */

html,
body {
  min-height: 100%;
}

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
  min-height: 100vh;
}

body.woocommerce-cart #page,
body.woocommerce-checkout #page,
body.woocommerce-account #page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-account .site-content {
  flex: 1 0 auto;
}

body.woocommerce-cart .site-footer,
body.woocommerce-checkout .site-footer,
body.woocommerce-account .site-footer,
body.woocommerce-cart footer,
body.woocommerce-checkout footer,
body.woocommerce-account footer {
  margin-top: auto !important;
}

/* =======================================================
   WooCommerce surface hierarchy (v1.3.2)
   The page canvas follows the site's white background; the
   actual cart and product content is the cream section surface.
======================================================= */

.woocommerce-page .site-content,
.woocommerce-page main,
.woocommerce .site-content,
.woocommerce main,
.single-product .site-content {
  background: #ffffff !important;
}

.single-product div.product,
.woocommerce-cart-form,
.cart-collaterals .cart_totals {
  background: var(--aletta-cream, #fbf8f2) !important;
}

.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error {
  background: var(--aletta-cream, #fbf8f2) !important;
}

/* -------------------------------------------------------
   WooCommerce Service Product Page - Hide Product Image
------------------------------------------------------- */

.single-product div.product div.images {
  display: none !important;
}

.single-product div.product div.summary {
  float: none !important;
  width: 100% !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
}

.single-product div.product {
  max-width: 980px !important;
}

.single-product div.product .product_title,
.single-product div.product .woocommerce-product-details__short-description,
.single-product div.product form.cart {
  max-width: 760px;
}

/* -------------------------------------------------------
   WooCommerce Product Page - Hide Related Products
------------------------------------------------------- */

.single-product .related.products,
.single-product .upsells.products,
.single-product section.related,
.single-product section.upsells {
  display: none !important;
}

/* -------------------------------------------------------
   WooCommerce Checkout Layout Fix
------------------------------------------------------- */

/* Prevent Astra/WooCommerce from squeezing checkout columns */
.woocommerce-checkout .site-content,
.woocommerce-checkout #content,
.woocommerce-checkout .ast-container,
.woocommerce-checkout .content-area,
.woocommerce-checkout .site-main,
.woocommerce-checkout article,
.woocommerce-checkout .entry-content {
  width: 100% !important;
  max-width: none !important;
}

.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
  box-sizing: border-box !important;
}

/* Force checkout into two clean columns on desktop */
.woocommerce-checkout form.checkout {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
  gap: 34px !important;
  align-items: start !important;
  box-sizing: border-box !important;
}

/* Billing details column */
.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout .col2-set {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  box-sizing: border-box !important;
}

/* Order summary column */
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  box-sizing: border-box !important;
}

/* Keep order summary heading hidden because we add our own heading */
.woocommerce-checkout form.checkout #order_review_heading {
  display: none !important;
}

/* Make the two checkout cards properly sized */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  margin: 0 !important;
  padding: 34px !important;
  border-radius: 32px !important;
  background: #ffffff !important;
  box-shadow: 0 24px 80px rgba(23, 55, 47, 0.08) !important;
}

/* Prevent billing card from becoming a skinny column */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* Restore normal field widths */
.woocommerce-checkout form.checkout .form-row,
.woocommerce-checkout form.checkout .form-row-first,
.woocommerce-checkout form.checkout .form-row-last,
.woocommerce-checkout form.checkout .form-row-wide {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout form.checkout .form-row-first,
.woocommerce-checkout form.checkout .form-row-last {
  display: inline-block !important;
  width: calc(50% - 8px) !important;
  clear: none !important;
  vertical-align: top !important;
}

.woocommerce-checkout form.checkout .form-row-first {
  margin-right: 16px !important;
}

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

/* Order table should not collapse */
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table table,
.woocommerce-checkout #payment {
  width: 100% !important;
  max-width: 100% !important;
}

/* Make the checkout page breathe */
.woocommerce-checkout .entry-content {
  padding-top: 50px !important;
  padding-bottom: 90px !important;
}

/* Tablet and mobile: one column */
@media (max-width: 1100px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    max-width: 760px !important;
  }

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

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

@media (max-width: 700px) {
  .woocommerce-checkout .woocommerce {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review {
    padding: 26px 20px !important;
    border-radius: 28px !important;
  }

  .woocommerce-checkout form.checkout .form-row-first,
  .woocommerce-checkout form.checkout .form-row-last {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
}

/* Inner product cards stay distinct from the cream product section. */
.single-product div.product form.cart,
.single-product div.product .woocommerce-tabs .panel {
  background: #ffffff !important;
}

/* The purchase action needs only the button, not a second white card. */
.single-product div.product form.cart {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product div.product .woocommerce-product-details__short-description {
  background: #ffffff !important;
  border: 1px solid rgba(95, 127, 111, 0.14);
}

/* =======================================================
   CHECKOUT SUMMARY REFINEMENT (v1.3.4)
======================================================= */

.woocommerce-checkout form.checkout {
  padding: 42px !important;
  border: 1px solid rgba(23, 55, 47, 0.07) !important;
  border-radius: 38px !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(226, 238, 232, 0.72), transparent 30%),
    var(--aletta-cream, #fbf8f2) !important;
  box-shadow: 0 22px 70px rgba(23, 55, 47, 0.07) !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  border: 1px solid rgba(23, 55, 47, 0.08) !important;
  box-shadow: 0 16px 42px rgba(23, 55, 47, 0.06) !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  background: #ffffff !important;
}

.woocommerce-checkout #order_review::before {
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(23, 55, 47, 0.10);
}

.woocommerce-checkout #payment {
  margin-top: 26px !important;
}

/* =======================================================
   Consultation Cart + Checkout refinement (v1.5.5)
======================================================= */

/* Remove the unused image column; the service name identifies the item. */
.woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail {
  display: none !important;
}

/* Cream totals surface containing a clean white totals table. */
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals .cart_totals {
  border: 0 !important;
  border-radius: 32px !important;
  background: var(--aletta-cream, #fbf8f2) !important;
  overflow: hidden;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  padding: 34px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
  background: var(--aletta-cream, #fbf8f2) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tbody,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
  background: #ffffff !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
  border-radius: 22px !important;
}

/* Payment is now a sibling directly below customer details. */
.woocommerce-checkout form.checkout > #payment,
.woocommerce-checkout form.checkout > .woocommerce-checkout-payment {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(23, 55, 47, 0.08) !important;
  border-radius: 32px !important;
  background: var(--aletta-soft-green, #e2eee8) !important;
  box-shadow: 0 16px 42px rgba(23, 55, 47, 0.06) !important;
  overflow: hidden;
  box-sizing: border-box !important;
}

.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout .col2-set {
  grid-row: 1 !important;
}

.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review {
  grid-row: 1 / span 2 !important;
}

@media (max-width: 1100px) {
  .woocommerce-checkout form.checkout {
    max-width: 760px !important;
  }

  .woocommerce-checkout form.checkout > #payment,
  .woocommerce-checkout form.checkout > .woocommerce-checkout-payment {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review {
    grid-row: 3 !important;
  }
}

@media (max-width: 700px) {
  .woocommerce-checkout form.checkout {
    padding: 14px !important;
    border-radius: 30px !important;
  }

  .woocommerce-checkout form.checkout > #payment,
  .woocommerce-checkout form.checkout > .woocommerce-checkout-payment {
    border-radius: 28px !important;
  }
}

/* -------------------------------------------------------
   Mobile Final Pass - Header + Thank You Page
------------------------------------------------------- */

/* Wider thank-you page content on small screens */
@media (max-width: 700px) {
  .woocommerce-order {
    width: auto !important;
    max-width: none !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding: 24px 18px !important;
    border-radius: 28px !important;
  }

  .woocommerce-order .aletta-wc-booking-next-step,
  .aletta-wc-booking-next-step {
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 34px 24px !important;
    border-radius: 26px !important;
  }

  .aletta-wc-booking-next-step h2 {
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
  }

  .aletta-wc-booking-next-step p {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }

  .aletta-wc-booking-next-step__button {
    width: 100% !important;
    text-align: center !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .woocommerce ul.order_details {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .woocommerce ul.order_details li {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-order-details,
  .woocommerce-customer-details {
    width: 100% !important;
  }

  .woocommerce-order-details table.shop_table {
    width: 100% !important;
    table-layout: auto !important;
  }

  .woocommerce .woocommerce-customer-details address {
    padding: 22px 18px !important;
  }
}

/* Extra small iPhone width */
@media (max-width: 390px) {
  .woocommerce-order {
    margin-left: 8px !important;
    margin-right: 8px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .woocommerce-order .aletta-wc-booking-next-step,
  .aletta-wc-booking-next-step {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .aletta-wc-booking-next-step h2 {
    font-size: 32px !important;
  }
}
