/* Lumelle custom checkout */
body.woocommerce-checkout {
  background: var(--lm-bg, #f8f3ee);
}

body.woocommerce-checkout .woocommerce {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  background-color: white;
}

/* body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info {
  border-radius: 1rem;
  border: 1px solid rgba(106, 77, 103, 0.16);
  background: #fff;
  color: var(--color-text, #310f3b);
  box-shadow: var(--lm-shadow-soft, 0 14px 34px rgba(72, 46, 62, 0.08));
} */

.lumelle-checkout-form {
  margin-top: 1.5rem;
}

.lumelle-checkout-shell {
  display: grid;
  grid-template-columns: 0.6fr 0.4fr;
  gap: clamp(1rem, 2vw, 2rem);
  align-items: start;
}

.lumelle-checkout-main {
  display: grid;
  gap: 1rem;
}

.lumelle-checkout-card,
.lumelle-checkout-summary__inner {
  border: 1px solid rgba(106, 77, 103, 0.14);
  border-radius: var(--lm-radius-xl, 2rem);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: var(--lm-shadow-soft, 0 14px 34px rgba(72, 46, 62, 0.08));
  backdrop-filter: blur(12px);
}

.lumelle-checkout-card {
  padding: clamp(1rem, 2vw, 1.5rem);
}

.lumelle-checkout-card__head,
.lumelle-checkout-summary__head {
  display: flex;
  gap: 0.875rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.lumelle-checkout-card__head h2,
.lumelle-checkout-summary__head h2 {
  margin: 0;
  color: var(--color-text, #310f3b);
  font-size: clamp(1.125rem, 1.6vw, 1.5rem);
  line-height: 1.15;
  font-weight: 700;
}

.lumelle-checkout-card__head p,
.lumelle-checkout-summary__head p,
.lumelle-checkout-muted {
  margin: 0.3rem 0 0;
  color: var(--lm-muted, #7e727a);
  font-size: 0.875rem;
  line-height: 1.45;
}

.lumelle-checkout-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background: var(--lm-accent-soft, #efe5ec);
  color: var(--lm-accent-dark, #4f354c);
  font-size: 0.8125rem;
  font-weight: 800;
}

.woocommerce-checkout .form-row {
  margin: 0 0 0.875rem;
  width: 100% !important;
}

.woocommerce-checkout .form-row label {
  display: block;
  margin-bottom: 0.4rem;
  color: var(--color-text, #310f3b);
  font-size: 0.875rem;
  font-weight: 600;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout .select2-container .select2-selection--multiple {
  min-height: 3.125rem;
  border: 1px solid rgba(106, 77, 103, 0.18) !important;
  border-radius: 1rem !important;
  background: #fbf7f2 !important;
  color: var(--color-text, #310f3b) !important;
  box-shadow: none !important;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
  width: 100%;
  padding: 0.85rem 1rem;
}

.woocommerce-checkout textarea {
  min-height: 6rem;
  resize: vertical;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: rgba(106, 77, 103, 0.62) !important;
  background: #fff !important;
  outline: none;
  box-shadow: 0 0 0 4px rgba(106, 77, 103, 0.09) !important;
}

.woocommerce-checkout
  .select2-container
  .select2-selection--single
  .select2-selection__rendered {
  padding-left: 1rem;
  padding-right: 2.4rem;
  line-height: 3.125rem;
  color: var(--color-text, #310f3b);
}

.woocommerce-checkout
  .select2-container
  .select2-selection--single
  .select2-selection__arrow {
  height: 3.125rem;
  right: 0.75rem;
}

.lumelle-checkout-fields--billing .woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1rem;
}

/* .lumelle-checkout-fields--billing .form-row-wide,
.lumelle-checkout-fields--billing #billing_email_field,
.lumelle-checkout-fields--billing #billing_phone_field {
  grid-column: span 2;
} */

.lumelle-shipping-methods #shipping_method {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}

.lumelle-shipping-methods #shipping_method li {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(106, 77, 103, 0.14);
  border-radius: 1.125rem;
  background: #fbf7f2;
  overflow: hidden;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease,
    background 0.2s ease;
}

.lumelle-shipping-methods #shipping_method li:hover {
  transform: translateY(-1px);
  border-color: rgba(106, 77, 103, 0.36);
  background: #fff;
}

.lumelle-shipping-methods #shipping_method input {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--lm-accent, #6a4d67);
}

.lumelle-shipping-methods #shipping_method label {
  display: flex !important;
  min-height: 4.75rem;
  align-items: center;
  gap: 0.75rem;
  margin: 0 !important;
  padding: 1rem 3rem 1rem 1rem !important;
  color: var(--color-text, #310f3b);
  font-weight: 700;
  line-height: 1.25;
  cursor: pointer;
}

.lumelle-shipping-methods #shipping_method li:has(input:checked) {
  border-color: var(--lm-accent, #6a4d67);
  background: var(--lm-accent-soft, #efe5ec);
}

.lumelle-shipping-methods .amount,
.lumelle-shipping-methods label small,
.lumelle-shipping-methods label .woocommerce-Price-amount {
  display: block;
  margin-top: 0.25rem;
  color: var(--lm-muted, #7e727a);
  font-size: 0.8125rem;
  font-weight: 600;
}

.lumelle-shipping-fields .woocommerce-shipping-fields h3,
.lumelle-shipping-fields #ship-to-different-address,
.lumelle-shipping-fields .shipping_address > h3,
.lumelle-shipping-fields .woocommerce-additional-fields > h3 {
  display: none;
}

.lumelle-shipping-fields .shipping_address,
.lumelle-shipping-fields .woocommerce-shipping-fields__field-wrapper,
.lumelle-shipping-fields .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1rem;
}

.lumelle-shipping-fields .form-row-wide,
.lumelle-shipping-fields #order_comments_field,
.lumelle-shipping-fields textarea {
  grid-column: span 2;
}

.lumelle-checkout-tools {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.lumelle-checkout-tool {
  padding: 1rem;
  border: 1px solid rgba(106, 77, 103, 0.12);
  border-radius: 1.25rem;
  background: #fbf7f2;
}

.lumelle-checkout-tool h3 {
  margin: 0 0 0.75rem;
  color: var(--color-text, #310f3b);
  font-size: 1rem;
}

.woocommerce-checkout .checkout_coupon,
.lumelle-lumestar-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.woocommerce-checkout .checkout_coupon p {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .checkout_coupon .form-row-first,
.woocommerce-checkout .checkout_coupon .form-row-last {
  width: auto !important;
  float: none !important;
}

.woocommerce-checkout .button,
.lumelle-lumestar-form button,
.lumelle-payment-area #place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.125rem;
  border: 1px solid var(--lm-accent, #6a4d67) !important;
  border-radius: 999px !important;
  background: var(--lm-accent, #6a4d67) !important;
  color: #fff !important;
  padding: 0.75rem 1.25rem !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition:
    background 0.2s ease,
    transform 0.2s ease,
    border-color 0.2s ease;
}

.woocommerce-checkout .button:hover,
.lumelle-lumestar-form button:hover,
.lumelle-payment-area #place_order:hover {
  transform: translateY(-1px);
  background: var(--lm-accent-dark, #4f354c) !important;
  border-color: var(--lm-accent-dark, #4f354c) !important;
}

.lumelle-lumestar-balance {
  grid-column: span 2;
  color: var(--lm-muted, #7e727a);
  font-size: 0.875rem;
}

.lumelle-lumestar-message {
  grid-column: span 2;
  margin: 0;
  font-size: 0.875rem;
}

.lumelle-lumestar-message.is-error {
  color: var(--lm-red, #a64646);
}

.lumelle-lumestar-message.is-success {
  color: var(--lm-green, #3f8f61);
}

.lumelle-payment-area .payment_box {
  margin: 0 !important;
  padding: 0 1rem 1rem !important;
  color: var(--lm-muted, #7e727a);
  font-size: 0.875rem;
  background: transparent !important;
}

.lumelle-payment-area #place_order {
  width: 100%;
  margin-top: 1rem;
  min-height: 3.5rem;
  font-size: 1rem !important;
}

.lumelle-payment-area .woocommerce-terms-and-conditions-wrapper {
  margin-top: 1rem;
  color: var(--lm-muted, #7e727a);
  font-size: 0.875rem;
  line-height: 1.5;
}

.lumelle-checkout-summary {
  position: sticky;
  top: calc(
    var(--header-height, 70px) + var(--header-categories-height) + 1rem
  );
}

.lumelle-checkout-summary__inner {
  padding: clamp(1rem, 2vw, 1.5rem);
}

.lumelle-review-products {
  display: grid;
  gap: 0.875rem;
  max-height: 36rem;
  overflow: auto;
  padding-right: 0.25rem;
}

.lumelle-review-product {
  display: grid;
  grid-template-columns: 5.25rem minmax(0, 1fr);
  gap: 0.875rem;
  padding: 0.875rem;
  border: 1px solid rgba(106, 77, 103, 0.12);
  border-radius: 1.25rem;
  background: #fbf7f2;
}

.lumelle-review-product__image {
  display: block;
  width: 5.25rem;
  height: 5.25rem;
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
}

.lumelle-review-product__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lumelle-review-product__title {
  display: -webkit-box;
  color: var(--color-text, #310f3b);
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lumelle-review-product__title:hover {
  color: var(--lm-accent, #6a4d67);
}

.lumelle-review-product__meta {
  margin-top: 0.35rem;
  color: var(--lm-muted, #7e727a);
  font-size: 0.8125rem;
  line-height: 1.35;
}

.lumelle-review-product__meta dl,
.lumelle-review-product__meta p {
  margin: 0;
}

.lumelle-review-product__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.lumelle-review-product__qty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.6rem;
  border-radius: 999px;
  background: #fff;
  color: var(--lm-muted, #7e727a);
  font-weight: 700;
}

.lumelle-review-product__price {
  color: var(--color-text, #310f3b);
  font-size: 0.9375rem;
}

.lumelle-review-totals {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(106, 77, 103, 0.14);
}

.lumelle-review-row,
.lumelle-review-totals .woocommerce-shipping-totals {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  color: var(--lm-muted, #7e727a);
  font-size: 0.9375rem;
}

.lumelle-review-totals .woocommerce-shipping-totals th,
.lumelle-review-totals .woocommerce-shipping-totals td {
  display: block;
  padding: 0;
  border: 0;
}

.lumelle-review-totals .woocommerce-shipping-totals ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.lumelle-review-row strong,
.lumelle-review-totals .woocommerce-shipping-totals td {
  color: var(--color-text, #310f3b);
  font-weight: 800;
  text-align: right;
}

.lumelle-review-row--total {
  margin-top: 0.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(106, 77, 103, 0.14);
  color: var(--color-text, #310f3b);
  font-size: 1.25rem;
  font-weight: 800;
}

.lumelle-review-row--total strong {
  font-size: 1.35rem;
}
/* Checkout discount remove buttons */

.lumelle-review-discount-value {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  white-space: nowrap;
}

.lumelle-remove-discount,
.lumelle-remove-coupon,
.lumelle-lumestar-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 1.35rem;
  height: 1.35rem;
  min-width: 1.35rem;
  padding: 0;

  border: 0;
  border-radius: 999px;

  background: rgba(122, 78, 114, 0.12);
  color: #7a4e72;

  font-size: 1rem;
  font-weight: 800;
  line-height: 1;

  text-decoration: none;
  cursor: pointer;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    opacity 0.2s ease;
}

.lumelle-remove-discount:hover,
.lumelle-remove-coupon:hover,
.lumelle-lumestar-remove:hover {
  background: rgba(122, 78, 114, 0.22);
  color: #3a103c;
  transform: rotate(90deg);
}

.lumelle-remove-discount.is-loading,
.lumelle-remove-coupon.is-loading,
.lumelle-lumestar-remove.is-loading {
  opacity: 0.55;
  pointer-events: none;
}

.lumelle-lumestar-remove:not(.js-lumelle-remove-lumestar) {
  display: none;
}
/* Lumelle checkout: compact remove buttons for coupon / Lumestar */
.lumelle-review-discount-value {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  white-space: nowrap;
}

.lumelle-remove-discount,
.lumelle-remove-coupon,
.lumelle-lumestar-remove,
.js-lumelle-remove-coupon,
.js-lumelle-remove-lumestar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  min-width: 1.35rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(122, 78, 114, 0.12);
  color: #7a4e72;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    opacity 0.2s ease;
}

.lumelle-remove-discount:hover,
.lumelle-remove-coupon:hover,
.lumelle-lumestar-remove:hover,
.js-lumelle-remove-coupon:hover,
.js-lumelle-remove-lumestar:hover {
  background: rgba(122, 78, 114, 0.22);
  color: #3a103c;
  transform: rotate(90deg);
}

.lumelle-remove-discount.is-loading,
.lumelle-remove-coupon.is-loading,
.lumelle-lumestar-remove.is-loading,
.js-lumelle-remove-coupon.is-loading,
.js-lumelle-remove-lumestar.is-loading {
  opacity: 0.55;
  pointer-events: none;
}

/* Hide old text remove button if it remains in cached markup */
.lumelle-lumestar-box
  > .lumelle-lumestar-remove:not(.js-lumelle-remove-lumestar) {
  display: none !important;
}

@media (max-width: 1180px) {
  .lumelle-checkout-shell {
    grid-template-columns: 1fr;
  }

  .lumelle-checkout-summary {
    position: static;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .lumelle-checkout-summary__head .lumelle-checkout-step:first-of-type {
    display: none;
  }
}

@media (max-width: 768px) {
  body.woocommerce-checkout .woocommerce {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .lumelle-checkout-fields--billing .woocommerce-billing-fields__field-wrapper,
  .lumelle-shipping-fields .shipping_address,
  .lumelle-shipping-fields .woocommerce-shipping-fields__field-wrapper,
  .lumelle-shipping-fields .woocommerce-additional-fields__field-wrapper,
  .lumelle-checkout-tools {
    grid-template-columns: 1fr;
  }

  .lumelle-checkout-fields--billing .form-row-wide,
  .lumelle-checkout-fields--billing #billing_email_field,
  .lumelle-checkout-fields--billing #billing_phone_field,
  .lumelle-shipping-fields .form-row-wide,
  .lumelle-shipping-fields #order_comments_field,
  .lumelle-shipping-fields textarea,
  .lumelle-lumestar-balance,
  .lumelle-lumestar-message {
    grid-column: auto;
  }

  .lumelle-shipping-methods #shipping_method,
  .lumelle-payment-area .wc_payment_methods {
    grid-template-columns: 1fr;
  }

  .woocommerce-checkout .checkout_coupon,
  .lumelle-lumestar-form {
    grid-template-columns: 1fr;
  }
}

/* Right summary discounts */
.lumelle-review-discounts {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid rgba(76, 32, 74, 0.12);
  border-radius: 22px;
  background: rgba(255, 250, 247, 0.78);
}

.lumelle-review-discounts__head h3,
.lumelle-summary-lumestar h3 {
  margin: 0 0 4px;
  font-size: 16px;
  line-height: 1.2;
  color: var(--lumelle-purple, #3a103c);
}

.lumelle-review-discounts__head p,
.lumelle-lumestar-balance,
.lumelle-checkout-muted {
  margin: 0 0 12px;
  font-size: 13px;
  color: rgba(58, 16, 60, 0.62);
}

.lumelle-summary-coupon,
.lumelle-summary-lumestar {
  display: grid;
  gap: 10px;
}

.lumelle-summary-lumestar {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(76, 32, 74, 0.1);
}

.lumelle-summary-coupon label {
  font-weight: 700;
  color: var(--lumelle-purple, #3a103c);
}

.lumelle-summary-action-row,
.lumelle-lumestar-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.lumelle-summary-action-row input,
.lumelle-lumestar-actions input {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(76, 32, 74, 0.14);
  border-radius: 16px;
  background: #fff;
  padding: 0 14px;
  color: var(--lumelle-purple, #3a103c);
}

.lumelle-summary-action-row .firanka-btn,
.lumelle-lumestar-actions .firanka-btn {
  min-height: 46px;
  padding-inline: 18px;
  white-space: nowrap;
}

.lumelle-lumestar-remove,
.lumelle-remove-coupon {
  border: 0;
  background: transparent;
  color: rgba(58, 16, 60, 0.55);
  cursor: pointer;
  text-decoration: underline;
}

.lumelle-remove-coupon {
  margin-left: 8px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(76, 32, 74, 0.08);
  text-decoration: none;
  line-height: 1;
}

.lumelle-coupon-message,
.lumelle-lumestar-message {
  min-height: 18px;
  margin: 0;
  font-size: 12px;
}

.lumelle-coupon-message.is-success,
.lumelle-lumestar-message.is-success {
  color: #2f7a3d;
}

.lumelle-coupon-message.is-error,
.lumelle-lumestar-message.is-error {
  color: #b43a3a;
}

.lumelle-review-row.fee strong,
.lumelle-review-row.cart-discount strong {
  color: #2f7a3d;
}
/* Прибираємо стандартні стрілочки в number input для Lumestar */
.lumelle-lumestar-actions input[type="number"],
.cart-drawer-discounts input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.lumelle-lumestar-actions input[type="number"]::-webkit-outer-spin-button,
.lumelle-lumestar-actions input[type="number"]::-webkit-inner-spin-button,
.cart-drawer-discounts input[type="number"]::-webkit-outer-spin-button,
.cart-drawer-discounts input[type="number"]::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}
.lumelle-lumestar-actions input[type="number"],
.cart-drawer-discounts input[type="number"] {
  padding-right: 1.25rem;
}
.lumelle-review-product__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.lumelle-checkout-qty {
  transform: scale(0.9);
  transform-origin: left center;
}

.lumelle-review-product__stock {
  margin: 0.45rem 0 0;
  color: rgba(58, 16, 60, 0.56);
  font-size: 0.78rem;
  line-height: 1.25;
}

.lumelle-review-product__price {
  color: #3a103c;
  font-size: 0.95rem;
  font-weight: 800;
  white-space: nowrap;
}
/* Shipping method cards */

.lumelle-shipping-methods #shipping_method {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.875rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lumelle-shipping-methods #shipping_method li {
  position: relative;
  min-height: 5.125rem;
  margin: 0 !important;
  padding: 0;
}

.lumelle-shipping-methods #shipping_method input[type="radio"] {
  position: absolute;
  top: 50%;
  right: 1.125rem;
  z-index: 2;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  transform: translateY(-50%);
  accent-color: var(--lm-accent, #6d4673);
  cursor: pointer;
}

/* .lumelle-shipping-methods #shipping_method label {
  display: flex;
  align-items: center;
  gap: 0.875rem;

  width: 100%;
  min-height: 5.125rem;
  padding: 1rem 3.25rem 1rem 1rem;

  border: 1px solid rgba(122, 78, 114, 0.18);
  border-radius: 1.25rem;
  background: rgba(250, 246, 243, 0.78);

  color: #310f3b;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.25;

  cursor: pointer;
  transition:
    border-color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
} */

.lumelle-shipping-methods #shipping_method label:hover {
  border-color: rgba(122, 78, 114, 0.38);
  /* background: #fff;
  box-shadow: 0 0.875rem 1.75rem rgba(58, 16, 60, 0.06); */
  transform: translateY(-1px);
}
.lumelle-shipping-fields {
  display: grid;
  gap: 1rem;
  margin-top: 1.25rem;
}

.lumelle-shipping-fields.is-empty {
  display: none;
}

.lumelle-shipping-fields .form-row,
.lumelle-shipping-fields .lumelle-shipping-field {
  width: 100%;
  margin: 0 !important;
}

.lumelle-shipping-fields label {
  display: block;
  margin-bottom: 0.45rem;
  color: #310f3b;
  font-size: 0.9rem;
  font-weight: 700;
}

.lumelle-shipping-fields input,
.lumelle-shipping-fields select,
.lumelle-shipping-fields textarea,
.lumelle-shipping-fields .select2-container {
  width: 100% !important;
}

.lumelle-shipping-fields .select2-container {
  display: block;
}
/* .lumelle-shipping-methods #shipping_method input[type="radio"]:checked + label,
.lumelle-shipping-methods
  #shipping_method
  li:has(input[type="radio"]:checked)
  label {
  border-color: rgba(122, 78, 114, 0.82);
  background: rgba(122, 78, 114, 0.1);
  box-shadow: 0 1rem 2rem rgba(58, 16, 60, 0.08);
} */

.lumelle-shipping-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 2.625rem;
  height: 2.625rem;
  min-width: 2.625rem;

  border-radius: 0.875rem;
  background: #fff;

  font-size: 0.8rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(122, 78, 114, 0.08);
}

.lumelle-shipping-method--nova .lumelle-shipping-icon {
  background: rgba(237, 28, 36, 0.1);
  color: #ed1c24;
}

.lumelle-shipping-method--nova .lumelle-shipping-icon::before {
  content: "НП";
}

.lumelle-shipping-method--ukr .lumelle-shipping-icon {
  background: rgba(255, 205, 0, 0.22);
  color: #5b4200;
}

.lumelle-shipping-method--ukr .lumelle-shipping-icon::before {
  content: "УП";
}

.lumelle-shipping-method--rozetka .lumelle-shipping-icon {
  background: rgba(0, 160, 70, 0.12);
  color: #008a3d;
}

.lumelle-shipping-method--rozetka .lumelle-shipping-icon::before {
  content: "RZ";
}

/* Select2 delivery fields */

.lumelle-checkout-card .select2-container {
  width: 100% !important;
  display: block;
}

.lumelle-checkout-card .select2-container--default .select2-selection--single {
  height: 3.5rem;
  display: flex;
  align-items: center;

  border: 1px solid rgba(122, 78, 114, 0.18);
  border-radius: 1.125rem;
  background: rgba(250, 246, 243, 0.72);

  transition:
    border-color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.lumelle-checkout-card
  .select2-container--default
  .select2-selection--single:hover {
  border-color: rgba(122, 78, 114, 0.35);
  background: #fff;
}

.lumelle-checkout-card
  .select2-container--default.select2-container--focus
  .select2-selection--single,
.lumelle-checkout-card
  .select2-container--default.select2-container--open
  .select2-selection--single {
  border-color: rgba(122, 78, 114, 0.72);
  background: #fff;
  box-shadow: 0 0.875rem 1.75rem rgba(58, 16, 60, 0.06);
}

.lumelle-checkout-card
  .select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  width: 100%;
  padding: 0 3.25rem 0 1.125rem;

  color: #310f3b;
  font-family: var(--font-main);
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 3.5rem;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lumelle-checkout-card
  .select2-container--default
  .select2-selection--single
  .select2-selection__placeholder {
  color: rgba(58, 16, 60, 0.46);
}

.lumelle-checkout-card
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  top: 50%;
  right: 1rem;

  width: 2rem;
  height: 2rem;

  border-radius: 999px;
  background: rgba(122, 78, 114, 0.1);

  transform: translateY(-50%);
  transition:
    background-color 0.25s ease,
    transform 0.25s ease;
}

.lumelle-checkout-card
  .select2-container--default.select2-container--open
  .select2-selection--single
  .select2-selection__arrow {
  background: rgba(122, 78, 114, 0.18);
  transform: translateY(-50%) rotate(180deg);
}

.lumelle-checkout-card
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow
  b {
  display: none;
}

.lumelle-checkout-card
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;

  width: 0.5rem;
  height: 0.5rem;

  border-right: 2px solid #7a4e72;
  border-bottom: 2px solid #7a4e72;

  transform: translate(-50%, -62%) rotate(45deg);
}
/* Select2 dropdown */

.select2-container--default .select2-dropdown {
  overflow: hidden;

  border: 1px solid rgba(122, 78, 114, 0.22);
  border-radius: 1rem;
  background: #fff;

  box-shadow: 0 1.25rem 2.75rem rgba(58, 16, 60, 0.14);
}

.select2-container--default .select2-search--dropdown {
  padding: 0.75rem;
  background: #fff;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  min-height: 2.75rem;
  padding: 0 1rem;

  border: 1px solid rgba(122, 78, 114, 0.18);
  border-radius: 0.875rem;
  outline: none;

  color: #310f3b;
  font-family: var(--font-main);
  font-size: 0.95rem;
}

.select2-container--default
  .select2-search--dropdown
  .select2-search__field:focus {
  border-color: rgba(122, 78, 114, 0.65);
}

.select2-container--default .select2-results > .select2-results__options {
  max-height: 14rem;
  padding: 0.375rem;
}

.select2-container--default .select2-results__option {
  margin: 0.125rem 0;
  padding: 0.75rem 0.875rem;

  border-radius: 0.75rem;

  color: #310f3b;
  font-family: var(--font-main);
  font-size: 0.92rem;
  line-height: 1.25;

  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background: rgba(122, 78, 114, 0.12);
  color: #310f3b;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  background: #7a4e72;
  color: #fff;
}
@media (max-width: 640px) {
  .lumelle-summary-action-row,
  .lumelle-lumestar-actions {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .lumelle-shipping-methods #shipping_method {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .lumelle-shipping-methods #shipping_method {
    grid-template-columns: 1fr;
  }

  .lumelle-shipping-methods #shipping_method label {
    min-height: 4.625rem;
    padding: 0.875rem 3rem 0.875rem 0.875rem;
  }

  .lumelle-shipping-icon {
    width: 2.375rem;
    height: 2.375rem;
    min-width: 2.375rem;
  }
}
@media (max-width: 520px) {
  .lumelle-checkout-card
    .select2-container--default
    .select2-selection--single {
    height: 3.25rem;
    border-radius: 1rem;
  }

  .lumelle-checkout-card
    .select2-container--default
    .select2-selection--single
    .select2-selection__rendered {
    padding-left: 1rem;
    padding-right: 3rem;
    font-size: 0.9rem;
    line-height: 3.25rem;
  }

  .lumelle-checkout-card
    .select2-container--default
    .select2-selection--single
    .select2-selection__arrow {
    right: 0.75rem;
    width: 1.875rem;
    height: 1.875rem;
  }
}
/* Delivery fields cleanup */

.lumelle-shipping-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.25rem;
}

.lumelle-shipping-fields .form-row,
.lumelle-shipping-fields .lumelle-shipping-field {
  width: 100%;
  margin: 0 !important;
  grid-column: 1 / -1;
}

.lumelle-shipping-fields .lumelle-shipping-field--duplicate,
.lumelle-shipping-fields [hidden] {
  display: none !important;
}

/* Ховаємо стандартні Woo shipping-поля, щоб не дублювали Morkva */
.lumelle-shipping-fields [id^="shipping_"][id$="_field"] {
  display: none !important;
}

/* Але коментар до замовлення залишаємо */
.lumelle-shipping-fields #order_comments_field {
  display: block !important;
}

/* Select2 і поля Morkva завжди на всю ширину */
.lumelle-shipping-fields input,
.lumelle-shipping-fields select,
.lumelle-shipping-fields textarea,
.lumelle-shipping-fields .select2-container {
  width: 100% !important;
}

.lumelle-shipping-fields .select2-container {
  display: block;
}

.lumelle-shipping-fields label {
  display: block;
  margin-bottom: 0.45rem;
  color: #310f3b;
  font-size: 0.9rem;
  font-weight: 700;
}
/* Final shipping fields order / cleanup */

.lumelle-shipping-fields {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1rem !important;
  margin-top: 1.25rem !important;
}

.lumelle-shipping-fields.is-empty {
  display: none !important;
}

.lumelle-shipping-fields .woocommerce-shipping-fields,
.lumelle-shipping-fields .woocommerce-additional-fields {
  display: contents;
}

.lumelle-shipping-fields .form-row,
.lumelle-shipping-fields .lumelle-shipping-field {
  width: 100% !important;
  margin: 0 !important;
  grid-column: 1 / -1 !important;
}

.lumelle-shipping-fields [data-lumelle-hidden-by="shipping-filter"],
.lumelle-shipping-fields .lumelle-shipping-field[hidden],
.lumelle-shipping-fields .form-row[hidden] {
  display: none !important;
}

/* Прибираємо стандартні Woo shipping-поля, якщо вони просочились */
.lumelle-shipping-fields [id^="shipping_"][id$="_field"] {
  display: none !important;
}

/* Коментар завжди останній і видимий */
.lumelle-shipping-fields #order_comments_field {
  display: block !important;
  order: 999 !important;
}

.lumelle-shipping-fields #order_comments_field textarea {
  width: 100% !important;
  min-height: 6rem;
}

/* Якщо wrapper лишився пустим, не займає місце */
.lumelle-shipping-fields .woocommerce-shipping-fields:empty,
.lumelle-shipping-fields .woocommerce-additional-fields:empty {
  display: none !important;
}

/* ================================
   Lumelle checkout payment cards fix
================================ */

.lumelle-payment-area #payment {
  background: transparent;
}

.lumelle-payment-area #payment ul.payment_methods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  padding: 0;
  margin: 0;
  border: 0;
}

.lumelle-payment-area #payment ul.payment_methods::before,
.lumelle-payment-area #payment ul.payment_methods::after {
  display: none;
}

.lumelle-payment-area #payment ul.payment_methods li.wc_payment_method {
  position: relative;
  min-height: 8.75rem;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(74, 43, 80, 0.14);
  border-radius: 1.25rem;
  background: #fffaf7;
  overflow: hidden;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.lumelle-payment-area #payment ul.payment_methods li.wc_payment_method:hover {
  border-color: rgba(74, 43, 80, 0.35);
  box-shadow: 0 0.9rem 2rem rgba(58, 23, 63, 0.08);
}

.lumelle-payment-area
  #payment
  ul.payment_methods
  li.wc_payment_method.is-selected,
.lumelle-payment-area
  #payment
  ul.payment_methods
  li.wc_payment_method:has(input.input-radio:checked) {
  border-color: #744e7b;
  background: rgba(116, 78, 123, 0.08);
  box-shadow: 0 0.9rem 2.25rem rgba(58, 23, 63, 0.1);
}

.lumelle-payment-area
  #payment
  ul.payment_methods
  li.wc_payment_method
  > input.input-radio {
  position: absolute;
  top: 1.05rem;
  right: 1.05rem;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  accent-color: #744e7b;
  z-index: 3;
}

.lumelle-payment-area #payment ul.payment_methods li.wc_payment_method > label {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: center;
  gap: 0.65rem !important;
  width: 100%;
  /* min-height: 8.75rem; */
  margin: 0 !important;
  padding: 1rem 3.2rem 1rem 1rem !important;
  color: #3a173f !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  cursor: pointer;
}

.lumelle-payment-area
  #payment
  ul.payment_methods
  li.wc_payment_method
  > label
  img {
  display: block;
  width: 100% !important;
  height: 3.5rem !important;
  max-height: 3.5rem !important;
  margin: 0 !important;
  padding: 0.55rem !important;
  object-fit: contain;
  border-radius: 0.85rem;
  background: #fff;
  box-shadow: 0 0.45rem 1.1rem rgba(74, 43, 80, 0.06);
}

/* Якщо в label є тільки текст без картинки */
.lumelle-payment-area
  #payment
  ul.payment_methods
  li.wc_payment_method
  > label:not(:has(img)) {
  justify-content: center;
  padding-top: 1.25rem !important;
  height: -webkit-fill-available;
}

/* Payment box під активним способом */
.lumelle-payment-area #payment div.payment_box {
  grid-column: 1 / -1;

  padding: 0 1rem 1rem 1rem !important;
  border-radius: 1rem;
  background: rgba(116, 78, 123, 0.07);
  color: #6f5f72;
  font-size: 0.9rem;
  line-height: 1.45;
}

.lumelle-payment-area #payment div.payment_box::before {
  display: none;
}

@media (max-width: 640px) {
  .lumelle-payment-area #payment ul.payment_methods {
    grid-template-columns: 1fr;
  }

  .lumelle-payment-area #payment ul.payment_methods li.wc_payment_method {
    min-height: 6.5rem;
  }

  .lumelle-payment-area
    #payment
    ul.payment_methods
    li.wc_payment_method
    > label {
    min-height: 6.5rem;
    flex-direction: row;
    align-items: center !important;
    padding: 0.9rem 3rem 0.9rem 0.9rem !important;
    font-size: 0.95rem !important;
  }

  .lumelle-payment-area
    #payment
    ul.payment_methods
    li.wc_payment_method
    > label
    img {
    width: 3.25rem !important;
    height: 3.25rem !important;
    max-width: 3.25rem !important;
    max-height: 3.25rem !important;
    flex: 0 0 3.25rem;
  }
}
/* =========================
   COD: іконка + опис в картці
========================= */

.lumelle-payment-area #payment ul.payment_methods li.payment_method_cod label {
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 0.65rem !important;
}

.lumelle-payment-area
  #payment
  ul.payment_methods
  li.payment_method_cod
  label
  .lumelle-payment-icon--cod {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3.5rem;
  padding: 0.25rem 0.85rem;
  border-radius: 0.8rem;
  background: #ffffff;
  color: #744e7b;
  box-shadow: 0 0.5rem 1.2rem rgba(74, 43, 80, 0.06);
}

.lumelle-payment-area
  #payment
  ul.payment_methods
  li.payment_method_cod
  label
  .lumelle-payment-icon--cod
  svg {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
}

.lumelle-payment-area
  #payment
  ul.payment_methods
  li.payment_method_cod
  label
  .lumelle-payment-preview {
  display: block;
  width: 100%;
  margin-top: auto;
  color: #7d7080;
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.4;
}

/* Щоб не було дублювання прихованого стандартного опису */
.lumelle-payment-area
  #payment
  ul.payment_methods
  li.payment_method_cod
  .payment_box {
  display: none !important;
}
/* ================================
   Lumelle breadcrumbs
================================ */

.lm-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  width: min(100% - 2rem, var(--container, 1200px));
  margin: 1.25rem auto 0.9rem;
  color: rgba(58, 23, 63, 0.58);
  font-size: 0.875rem;
  line-height: 1.4;
}

.lm-breadcrumbs__item {
  display: inline-flex;
  align-items: center;
}

.lm-breadcrumbs__item a {
  color: rgba(58, 23, 63, 0.62);
  text-decoration: none;
  transition: color 0.2s ease;
}

.lm-breadcrumbs__item a:hover {
  color: #744e7b;
}

.lm-breadcrumbs__item.is-current span {
  color: #3a173f;
  font-weight: 600;
}

.lm-breadcrumbs__separator {
  color: rgba(58, 23, 63, 0.28);
  user-select: none;
}

@media (max-width: 640px) {
  .lm-breadcrumbs {
    width: calc(100% - 2rem);
    margin-top: 1rem;
    font-size: 0.8125rem;
  }
}

/* Прибираємо стандартний заголовок WooCommerce "Платіжні дані" */
.lumelle-checkout-fields--billing .woocommerce-billing-fields > h3 {
  display: none !important;
}
