/* Next Masonic — luxury checkout. Billing + card boxes only.
   Payment gateways are unchanged. Scoped to checkout. */

body.woocommerce-checkout:not(.woocommerce-order-received) {
  background: #efeae0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .nm-page {
  background:
    radial-gradient(1200px 420px at 50% -80px, rgba(215, 177, 90, 0.16), transparent 60%),
    #efeae0;
  padding-bottom: 48px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) h1.entry-title {
  margin: 10px auto 18px;
  max-width: 1120px;
  padding: 0 8px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 52px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  color: #10261f;
}

body.woocommerce-checkout:not(.woocommerce-order-received) h1.entry-title::after {
  content: "Secure checkout  ·  Hand-finished Lodge regalia";
  display: block;
  margin-top: 10px;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8d7340;
}

body.woocommerce-checkout .entry-content-no-builder > .woocommerce {
  width: min(1120px, calc(100% - 8px));
  margin: 0 auto;
}

/* Coupon */
body.woocommerce-checkout h4.item-title {
  margin: 0 0 14px;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-align: left;
  color: #3d4a44;
}

body.woocommerce-checkout h4.item-title a,
body.woocommerce-checkout h4.item-title .c-primary {
  color: #10261f !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: #d7b15a;
}

body.woocommerce-checkout form.checkout_coupon {
  display: none;
  gap: 10px;
  align-items: center;
  margin: 0 0 18px;
  padding: 14px;
  background: #fffdf8;
  border: 1px solid #e4d5b0;
  border-radius: 16px;
}

body.woocommerce-checkout form.checkout_coupon.nm-open,
body.woocommerce-checkout .bg-border-color form.checkout_coupon[style*="block"] {
  display: flex !important;
}

body.woocommerce-checkout form.checkout_coupon input.input-text,
body.woocommerce-checkout form.checkout_coupon input[name="coupon_code"] {
  flex: 1 1 auto;
  min-height: 48px;
  margin: 0;
  border-radius: 12px;
}

body.woocommerce-checkout form.checkout_coupon input[type="submit"],
body.woocommerce-checkout form.checkout_coupon .btn {
  flex: 0 0 auto;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid #d7b15a !important;
  border-radius: 12px !important;
  background: #10261f !important;
  color: #f6e7c1 !important;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: none !important;
}

/* Two columns under the express wallets: billing left, one order panel right.
   The heading and payment card are one panel so they cannot split, stick, or overlap. */
body.woocommerce-checkout form.checkout.woocommerce-checkout {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: stretch;
}

body.woocommerce-checkout .nm-checkout-top,
body.woocommerce-checkout .nm-checkout-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
  column-gap: 28px;
  align-items: start;
}

body.woocommerce-checkout .nm-checkout-top > * {
  grid-column: 1;
  min-width: 0;
}

body.woocommerce-checkout .nm-checkout-main {
  grid-column: 1;
  min-width: 0;
}

body.woocommerce-checkout .nm-order-panel {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 0 22px 18px;
  background: #fffdf8;
  border: 1px solid #e4d5b0;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(16, 38, 31, 0.05);
  overflow: visible;
}

body.woocommerce-checkout form.checkout wc-order-attribution-inputs {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

body.woocommerce-checkout #wc-stripe-express-checkout-element {
  margin: 0 !important;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 18px;
  box-shadow: none;
  min-height: 0;
}

/* Card chrome only once Stripe has actually drawn a wallet iframe.
   Do not set display here. Stripe hides this node until the buttons exist,
   and forcing display made the buttons mount at a few pixels then vanish. */
body.woocommerce-checkout #wc-stripe-express-checkout-element:has(iframe) {
  padding: 16px 16px 14px;
  background: #fffdf8;
  border: 1px solid #e4d5b0;
  box-shadow: 0 16px 40px rgba(16, 38, 31, 0.05);
}

body.woocommerce-checkout #wc-stripe-express-checkout-element .StripeElement:has(iframe) {
  min-height: 40px;
}

body.woocommerce-checkout #wc-stripe-express-checkout-element iframe {
  min-height: 40px;
}

body.woocommerce-checkout #wc-stripe-express-checkout-button-separator {
  margin: 4px 0 0 !important;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #8d7340;
}

body.woocommerce-checkout #customer_details {
  display: flex;
  flex-direction: column;
  gap: 16px;
  float: none !important;
  width: 100% !important;
}

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

body.woocommerce-checkout .nm-order-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 22px;
  right: 22px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d7b15a 12%, #f3e2b0 50%, #d7b15a 88%, transparent);
}

body.woocommerce-checkout #order_review_heading {
  position: relative;
  top: auto;
  z-index: 1;
  display: block;
  box-sizing: border-box;
  height: auto;
  float: none !important;
  width: auto !important;
  margin: 0;
  padding: 18px 0 10px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
  color: #10261f;
}

body.woocommerce-checkout #order_review_heading::after {
  content: none;
  display: none;
}

body.woocommerce-checkout #order_review {
  align-self: auto;
  position: static !important;
  top: auto !important;
  z-index: 1;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 4px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Cards */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-shipping-fields:has(.form-row) {
  position: relative;
  margin: 0;
  padding: 22px 22px 20px;
  background: #fffdf8;
  border: 1px solid #e4d5b0;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(16, 38, 31, 0.05);
  overflow: hidden;
}

body.woocommerce-checkout .woocommerce-billing-fields::before,
body.woocommerce-checkout .woocommerce-additional-fields::before,
body.woocommerce-checkout .woocommerce-shipping-fields:has(.form-row)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 22px;
  right: 22px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d7b15a 12%, #f3e2b0 50%, #d7b15a 88%, transparent);
}

body.woocommerce-checkout .woocommerce-shipping-fields:not(:has(.form-row)) {
  display: none;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3 {
  margin: 0 0 16px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
  color: #10261f;
}

/* Field grid — kills the float that crushed "Country / Region" between the names */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 14px 14px;
  width: 100%;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::before,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::before,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-checkout form.checkout .form-row {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper > .form-row {
  grid-column: 1 / -1;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last,
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #billing_postcode_field,
body.woocommerce-checkout #billing_phone_field,
body.woocommerce-checkout #shipping_city_field,
body.woocommerce-checkout #shipping_state_field,
body.woocommerce-checkout #shipping_postcode_field,
body.woocommerce-checkout #shipping_phone_field {
  grid-column: auto;
  min-width: 0;
}

body.woocommerce-checkout form .form-row label {
  display: block;
  margin: 0 0 6px;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: normal;
  color: #6e6250;
}

body.woocommerce-checkout form .form-row label .required {
  color: #a7843c;
  text-decoration: none;
}

body.woocommerce-checkout form .form-row label .optional {
  letter-spacing: 0.06em;
  text-transform: none;
  font-weight: 500;
  color: #9a8d78;
}

body.woocommerce-checkout form .form-row .woocommerce-input-wrapper {
  display: block;
  width: 100%;
}

body.woocommerce-checkout form .input-text,
body.woocommerce-checkout form select,
body.woocommerce-checkout form textarea,
body.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  max-width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 12px 14px;
  background: #fff !important;
  border: 1px solid #e3d3ae !important;
  border-radius: 12px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  color: #1c1915;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.woocommerce-checkout form textarea {
  min-height: 96px;
  resize: vertical;
}

body.woocommerce-checkout form .input-text:focus,
body.woocommerce-checkout form select:focus,
body.woocommerce-checkout form textarea:focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single,
body.woocommerce-checkout .select2-container--focus .select2-selection--single {
  border-color: #c6a15b !important;
  box-shadow: 0 0 0 3px rgba(215, 177, 90, 0.28) !important;
}

body.woocommerce-checkout form .form-row.woocommerce-invalid .input-text,
body.woocommerce-checkout form .form-row.woocommerce-invalid select,
body.woocommerce-checkout form .form-row.woocommerce-invalid .select2-selection {
  border-color: #8f2d2d !important;
  box-shadow: 0 0 0 3px rgba(143, 45, 45, 0.12) !important;
}

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

body.woocommerce-checkout .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
  height: 50px;
  padding: 0;
}

body.woocommerce-checkout .select2-container .select2-selection__rendered {
  padding: 0 36px 0 14px;
  line-height: 48px !important;
  color: #1c1915;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 15px;
}

body.woocommerce-checkout .select2-container .select2-selection__arrow {
  height: 48px !important;
  right: 8px;
}

body.woocommerce-checkout .select2-dropdown {
  border: 1px solid #e3d3ae;
  border-radius: 12px;
  overflow: hidden;
  font-family: Outfit, system-ui, sans-serif;
}

body.woocommerce-checkout .select2-results__option--highlighted {
  background: #10261f !important;
}

/* Order table */
body.woocommerce-checkout table.shop_table {
  display: table !important;
  width: 100%;
  margin: 0 0 8px;
  border: 0;
  border-collapse: collapse;
  overflow: visible;
  background: transparent;
}

body.woocommerce-checkout table.shop_table thead {
  display: table-header-group !important;
}

body.woocommerce-checkout table.shop_table tbody {
  display: table-row-group !important;
}

body.woocommerce-checkout table.shop_table tfoot {
  display: table-footer-group !important;
}

body.woocommerce-checkout table.shop_table tr {
  display: table-row !important;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
  display: table-cell !important;
  float: none !important;
  width: auto;
  padding: 10px 8px;
  border: 0;
  border-bottom: 1px solid #efe4cf;
  background: transparent;
  vertical-align: top;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 14px;
  color: #1c1915;
}

body.woocommerce-checkout table.shop_table thead th {
  padding-top: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8d7340;
}

body.woocommerce-checkout table.shop_table .product-thumbnail {
  width: 62%;
  font-weight: 500;
  line-height: 1.4;
}

body.woocommerce-checkout table.shop_table .product-quantity,
body.woocommerce-checkout table.shop_table .product-total,
body.woocommerce-checkout table.shop_table tfoot td {
  text-align: right;
  white-space: nowrap;
}

body.woocommerce-checkout table.shop_table tfoot th {
  text-align: left;
  font-weight: 500;
  color: #4d463c;
}

body.woocommerce-checkout table.shop_table tr.order-total th,
body.woocommerce-checkout table.shop_table tr.order-total td {
  padding-top: 14px;
  border-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 26px;
  font-weight: 600;
  color: #10261f;
}

body.woocommerce-checkout table.shop_table tr.order-total .woocommerce-Price-amount {
  color: #10261f;
}

/* Payment card — replaces the old lavender Woo box. Gateways stay. */
body.woocommerce-checkout #payment {
  margin: 12px 0 0;
  padding: 0;
  background: transparent !important;
  border: 0;
  border-radius: 0;
}

body.woocommerce-checkout #payment::before {
  content: "Payment";
  display: block;
  margin: 8px 0 12px;
  padding-top: 8px;
  border-top: 1px solid #efe4cf;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
  color: #10261f;
}

body.woocommerce-checkout #payment ul.payment_methods {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  margin: 0;
  padding: 0;
  background: transparent;
  list-style: none;
}

body.woocommerce-checkout #payment ul.payment_methods li label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #10261f;
  cursor: pointer;
}

body.woocommerce-checkout #payment ul.payment_methods li input.input-radio {
  accent-color: #10261f;
  width: 16px;
  height: 16px;
}

body.woocommerce-checkout #payment div.payment_box {
  position: relative;
  margin: 0 0 12px !important;
  padding: 16px !important;
  background: linear-gradient(180deg, #fbf7ef 0%, #f3ead8 100%) !important;
  border: 1px solid #e4d3aa !important;
  border-radius: 14px !important;
  color: #1c1915;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

body.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

body.woocommerce-checkout #payment div.payment_box p {
  margin: 0 0 10px;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.45;
  color: #4d463c;
}

body.woocommerce-checkout #payment fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-inline-size: 0;
}

body.woocommerce-checkout .wc-stripe-upe-element {
  min-height: 48px;
  padding: 6px;
  background: #fff;
  border: 1px solid #e3d3ae;
  border-radius: 12px;
}

body.woocommerce-checkout .woocommerce-SavedPaymentMethods {
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}

body.woocommerce-checkout .woocommerce-SavedPaymentMethods label {
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label,
body.woocommerce-checkout #payment label[for="wc-stripe-new-payment-method"] {
  letter-spacing: 0;
  text-transform: none;
  font-size: 13px;
  font-weight: 500;
  color: #3d4a44;
}

body.woocommerce-checkout #payment .place-order {
  margin: 4px 0 0;
  padding: 0;
}

body.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text p {
  margin: 0 0 12px;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 12px;
  line-height: 1.5;
  color: #6e6250;
}

body.woocommerce-checkout #payment .woocommerce-privacy-policy-text a {
  color: #10261f;
  text-decoration-color: #d7b15a;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout #place_order.btn,
body.woocommerce-checkout button#place_order {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0;
  padding: 14px 18px !important;
  border: 1px solid #d7b15a !important;
  border-radius: 14px !important;
  background: #10261f !important;
  background-image: none !important;
  color: #f6e7c1 !important;
  box-shadow: 0 10px 24px rgba(16, 38, 31, 0.18) !important;
  font-family: Outfit, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer;
  overflow: hidden;
}

body.woocommerce-checkout #place_order .text {
  color: #f6e7c1 !important;
  font-family: Outfit, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

body.woocommerce-checkout #place_order .semicircle,
body.woocommerce-checkout #place_order::before,
body.woocommerce-checkout #place_order::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-checkout #place_order:hover {
  background: #18382c !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #e4d5b0;
  border-left: 3px solid #d7b15a;
  border-radius: 12px;
  background: #fffdf8;
  color: #10261f;
  font-family: Outfit, system-ui, sans-serif;
  list-style: none;
}

body.woocommerce-checkout .woocommerce-error {
  border-left-color: #8f2d2d;
}

@media (max-width: 980px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) h1.entry-title {
    font-size: 40px;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout,
  body.woocommerce-checkout .nm-checkout-top,
  body.woocommerce-checkout .nm-checkout-columns {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout .nm-order-panel {
    position: static;
    top: auto;
    height: auto;
    grid-column: auto;
    grid-row: auto;
  }

  body.woocommerce-checkout .nm-order-panel {
    padding: 0 22px 18px;
  }
}

@media (max-width: 640px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) h1.entry-title {
    font-size: 34px;
  }

  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields:has(.form-row),
  body.woocommerce-checkout .nm-order-panel,
  body.woocommerce-checkout #wc-stripe-express-checkout-element {
    padding-left: 14px;
    padding-right: 14px;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
  body.woocommerce-checkout #billing_city_field,
  body.woocommerce-checkout #billing_state_field,
  body.woocommerce-checkout #billing_postcode_field,
  body.woocommerce-checkout #billing_phone_field,
  body.woocommerce-checkout #shipping_city_field,
  body.woocommerce-checkout #shipping_state_field,
  body.woocommerce-checkout #shipping_postcode_field,
  body.woocommerce-checkout #shipping_phone_field {
    grid-column: 1 / -1;
  }

  body.woocommerce-checkout form.checkout_coupon,
  body.woocommerce-checkout form.checkout_coupon.nm-open,
  body.woocommerce-checkout .bg-border-color form.checkout_coupon[style*="block"] {
    flex-direction: column;
    align-items: stretch;
  }

  body.woocommerce-checkout table.shop_table tr.order-total th,
  body.woocommerce-checkout table.shop_table tr.order-total td {
    font-size: 22px;
  }
}


/* NM_CHECKOUT_CONSENT
   Email offer tick, deal-text tick, invoice tick.
   Checkout only. Panels stay closed until the box is ticked, so the
   first paint does not move. */
body.woocommerce-checkout .nm-opt,
body.woocommerce-checkout .nm-bill-card {
  grid-column: 1 / -1 !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}

body.woocommerce-checkout .nm-bill-card {
  margin: 4px 0 14px !important;
  padding: 14px 14px 12px !important;
  background: #fffdf8;
  border: 1px solid #e4d5b0;
  border-radius: 16px;
}

body.woocommerce-checkout .nm-tick {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  cursor: pointer;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1c1915 !important;
}

body.woocommerce-checkout form .form-row label.nm-tick,
body.woocommerce-checkout .nm-bill-card label.nm-tick {
  display: flex;
  margin: 0;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1c1915 !important;
}

body.woocommerce-checkout .nm-tick input {
  position: absolute;
  width: 22px;
  height: 22px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

body.woocommerce-checkout .nm-tick-ui {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border: 1.5px solid #b89a58;
  border-radius: 6px;
  background: #fff;
  box-sizing: border-box;
  display: grid;
  place-items: center;
}

body.woocommerce-checkout .nm-tick input:checked + .nm-tick-ui {
  background: #10261f;
  border-color: #10261f;
}

body.woocommerce-checkout .nm-tick input:checked + .nm-tick-ui::after {
  content: "";
  width: 5px;
  height: 9px;
  border: solid #f3e2b0;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) translate(-1px, -1px);
}

body.woocommerce-checkout .nm-tick input:focus-visible + .nm-tick-ui {
  box-shadow: 0 0 0 3px rgba(215, 177, 90, 0.45);
}

body.woocommerce-checkout .nm-tick-copy {
  display: block;
  min-width: 0;
}

body.woocommerce-checkout .nm-text-panel,
body.woocommerce-checkout .nm-invoice {
  display: none;
}

body.woocommerce-checkout .nm-text-opt:has(#nm_text_deals:checked) .nm-text-panel,
body.woocommerce-checkout .nm-text-opt.is-open .nm-text-panel,
body.woocommerce-checkout .nm-bill-card:has(#nm_bill_same:not(:checked)) .nm-invoice,
body.woocommerce-checkout .nm-bill-card.is-open .nm-invoice {
  display: block;
}

body.woocommerce-checkout .nm-text-panel {
  margin-top: 12px;
  padding: 12px;
  background: #fff;
  border: 1px solid #e4d5b0;
  border-radius: 12px;
}

body.woocommerce-checkout .nm-panel-label,
body.woocommerce-checkout .nm-invoice label,
body.woocommerce-checkout .nm-text-panel .nm-panel-label {
  display: block;
  margin: 0 0 6px;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6e6250;
}

body.woocommerce-checkout .nm-invoice label span,
body.woocommerce-checkout .nm-panel-note {
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
  font-size: 12.5px;
  line-height: 1.45;
  color: #6e6250;
}

body.woocommerce-checkout .nm-panel-note {
  margin: 8px 0 0;
}

body.woocommerce-checkout .nm-invoice .nm-panel-note {
  margin: 0 0 12px;
}

body.woocommerce-checkout .nm-panel-note a {
  color: #10261f;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: #d7b15a;
}

body.woocommerce-checkout .nm-invoice-title {
  margin: 12px 0 4px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1;
  color: #10261f;
}

body.woocommerce-checkout .nm-invoice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

body.woocommerce-checkout .nm-invoice-grid .nm-inv {
  margin: 0;
  min-width: 0;
}

body.woocommerce-checkout .nm-invoice-grid .wide {
  grid-column: 1 / -1;
}

@media (max-width: 640px) {
  body.woocommerce-checkout .nm-invoice-grid {
    grid-template-columns: 1fr;
  }
  body.woocommerce-checkout .nm-tick {
    font-size: 14px;
  }
}


/* NM_PACK_STABLE
   Order panel must stay open (heading + lines + payment).
   Express wallet visibility is Stripe's. Do not force display on
   #wc-stripe-express-checkout-element — a forced hide during refresh
   mounted the buttons at ~8px and left an empty card. */
body.woocommerce-checkout .nm-order-panel {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review .shop_table,
body.woocommerce-checkout #payment {
  display: block;
  height: auto !important;
  max-height: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.woocommerce-checkout #order_review .shop_table {
  display: table !important;
  width: 100% !important;
}
