/* ============================================
   CHECKOUT PAGE — cart-consistent layout
   ============================================ */

/* Neutralize storefront layout wrappers */
.woocommerce-checkout #content .col-full,
.woocommerce-checkout #content #primary.content-area,
.woocommerce-checkout #content #main.site-main {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}
.woocommerce-checkout #content,
.woocommerce-checkout .site-content,
.woocommerce-checkout .entry-content,
.woocommerce-checkout .hentry,
.woocommerce-checkout #main.site-main,
.woocommerce-checkout .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.woocommerce-checkout .woocommerce-notices-wrapper { max-width: 1400px; margin: 0 auto; padding: 0 24px; }
.woocommerce-checkout .page-title,
.woocommerce-checkout .entry-header,
.woocommerce-checkout .woocommerce-breadcrumb,
.woocommerce-checkout .storefront-breadcrumb,
.woocommerce-checkout .post-edit-link { display: none !important; }

/* ============================================
   NUKE STOREFRONT/WOOCOMMERCE CHECKOUT DEFAULTS
   Storefront ships with:
     #order_review { width: 41.17%; float: right; }
     #order_review_heading { width: 41.17%; float: right; }
     #customer_details+#wc_checkout_add_ons { float: right; }
     .col2-set { width: 52.94%; float: left; }
     .col2-set .form-row-first/last { width: 44.44%; float: left/right; }
     .woocommerce-checkout-review-order-table .product-name { word-break: break-word; }
   These break any modern grid layout. Reset them all.
   ============================================ */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #customer_details + #wc_checkout_add_ons,
.woocommerce-checkout .col2-set,
.woocommerce-checkout form.checkout .col2-set,
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2,
.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;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    clear: none !important;
}
/* Kill Storefront float clearing pseudos that leave empty table rows */
.woocommerce-checkout .col2-set::before,
.woocommerce-checkout .col2-set::after,
.woocommerce-checkout .col2-set .woocommerce-billing-fields::before,
.woocommerce-checkout .col2-set .woocommerce-billing-fields::after { display: none !important; content: none !important; }

/* The real killer: Storefront word-breaks product-name into 1-char-per-line.
   Our template doesn't use .product-name, but if anything upstream injects it,
   this neutralizes the per-character wrapping. */
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout .product-name {
    width: auto !important;
    word-break: normal !important;
    -ms-word-break: normal !important;
    overflow-wrap: anywhere;
}

.reis-checkout-page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 24px 80px;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    color: #111;
}

.reis-checkout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 48px;
    align-items: start;
}

/* ----- LEFT / Customer details ----- */
.reis-checkout-main { min-width: 0; }

#customer_details {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-top: 8px;
}
.reis-checkout-block { min-width: 0; }
.reis-checkout-block h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 18px;
    color: #111;
    padding: 0 0 10px;
    border-bottom: 1px solid #eee;
    letter-spacing: -0.01em;
}

/* Grid the field rows inside each block — 2 columns on desktop */
.reis-checkout-block .woocommerce-billing-fields__field-wrapper,
.reis-checkout-block .woocommerce-shipping-fields__field-wrapper,
.reis-checkout-block .woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
    row-gap: 0;
}

/* Fields that must span full width (address lines, company, order notes) */
.reis-checkout-form .form-row#billing_company_field,
.reis-checkout-form .form-row#billing_address_1_field,
.reis-checkout-form .form-row#billing_address_2_field,
.reis-checkout-form .form-row#order_comments_field,
.reis-checkout-form .form-row#shipping_company_field,
.reis-checkout-form .form-row#shipping_address_1_field,
.reis-checkout-form .form-row#shipping_address_2_field {
    grid-column: 1 / -1;
}

/* Pairs that look best side-by-side:
   - first/last name (default half-width)
   - city/postcode (default half-width)
   - country/state (force both half)
   - email/phone (force both half) */
.reis-checkout-form .form-row#billing_country_field,
.reis-checkout-form .form-row#billing_state_field,
.reis-checkout-form .form-row#billing_city_field,
.reis-checkout-form .form-row#billing_postcode_field,
.reis-checkout-form .form-row#billing_email_field,
.reis-checkout-form .form-row#billing_phone_field,
.reis-checkout-form .form-row#shipping_country_field,
.reis-checkout-form .form-row#shipping_state_field,
.reis-checkout-form .form-row#shipping_city_field,
.reis-checkout-form .form-row#shipping_postcode_field {
    grid-column: auto !important;
    width: auto !important;
}

/* Row spacing inside the grid */
.reis-checkout-block .woocommerce-billing-fields__field-wrapper,
.reis-checkout-block .woocommerce-shipping-fields__field-wrapper,
.reis-checkout-block .woocommerce-additional-fields__field-wrapper {
    row-gap: 14px;
}
.reis-checkout-form .form-row { margin: 0 !important; }

/* "Ship to a different address?" toggle — give it breathing room */
.reis-checkout-shipping h3 #ship-to-different-address {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 18px;
    font-weight: 600;
}
.reis-checkout-shipping h3 #ship-to-different-address-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 2px solid #ccc;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s, border-color 0.15s;
}
.reis-checkout-shipping h3 #ship-to-different-address-checkbox:checked {
    background: var(--reis-pink, #ff6e80);
    border-color: var(--reis-pink, #ff6e80);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 10px;
}
.reis-checkout-shipping .shipping_address { margin-top: 18px; }

/* Woo form rows */
.reis-checkout-form .form-row {
    margin: 0 0 14px;
    padding: 0;
}
.reis-checkout-form .form-row label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #111;
    margin-bottom: 6px;
}
.reis-checkout-form .form-row .required { color: var(--reis-pink, #ff6e80); text-decoration: none; }
.reis-checkout-form .form-row input.input-text,
.reis-checkout-form .form-row textarea,
.reis-checkout-form .form-row select,
.reis-checkout-form .select2-selection--single {
    width: 100% !important;
    height: 44px;
    padding: 0 14px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
    transition: border-color 0.15s;
}
.reis-checkout-form .form-row textarea {
    height: auto;
    min-height: 90px;
    padding: 12px 14px !important;
    line-height: 1.5;
}
.reis-checkout-form .form-row input.input-text:focus,
.reis-checkout-form .form-row textarea:focus,
.reis-checkout-form .form-row select:focus {
    border-color: var(--reis-pink, #ff6e80) !important;
    outline: none !important;
}

/* Select2 tweaks */
.reis-checkout-form .select2-selection--single {
    display: flex !important;
    align-items: center !important;
}
.reis-checkout-form .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
    line-height: 42px !important;
    color: #111 !important;
}
.reis-checkout-form .select2-selection--single .select2-selection__arrow { height: 42px !important; }

/* Select2 dropdown panel (open state) — unified with our design system */
.select2-container--default .select2-dropdown {
    border: 1px solid #e5e5e5 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    background: #fff !important;
    margin-top: 4px;
}
.select2-container--default .select2-search--dropdown {
    padding: 10px !important;
    background: #fff !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    height: 38px !important;
    padding: 0 12px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    background: #fff !important;
    color: #111 !important;
    outline: none !important;
    box-shadow: none !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--reis-pink, #ff6e80) !important;
}
.select2-container--default .select2-results {
    background: #fff !important;
}
.select2-container--default .select2-results__options {
    padding: 4px !important;
    max-height: 280px !important;
}
.select2-container--default .select2-results__option {
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #111 !important;
    border-radius: 8px !important;
    margin: 2px 0 !important;
    transition: background 0.12s, color 0.12s;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
    background: #fff5f6 !important;
    color: var(--reis-pink, #ff6e80) !important;
}
.select2-container--default .select2-results__option[aria-selected="true"] {
    background: var(--reis-pink, #ff6e80) !important;
    color: #fff !important;
    font-weight: 500 !important;
}
.select2-container--default .select2-results__option[aria-selected="true"].select2-results__option--highlighted {
    background: var(--reis-pink, #ff6e80) !important;
    color: #fff !important;
}
/* Scrollbar styling inside the list */
.select2-container--default .select2-results__options::-webkit-scrollbar {
    width: 8px;
}
.select2-container--default .select2-results__options::-webkit-scrollbar-thumb {
    background: #e5e5e5;
    border-radius: 8px;
}
.select2-container--default .select2-results__options::-webkit-scrollbar-thumb:hover {
    background: #cfcfcf;
}

/* ----- Promo row in checkout review — grid (input fills, button auto) ----- */
/* HTML disallows nested <form>, so checkout uses a <div class="reis-cart-promo-row">
   wrapper instead of <form class="reis-cart-promo-form">. Apply via AJAX. */
.woocommerce-checkout .reis-checkout-review .reis-cart-promo-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 12px 0 0 !important;
}
.woocommerce-checkout .reis-checkout-review form.reis-cart-promo-form > p,
.woocommerce-checkout .reis-checkout-review form.checkout_coupon > p,
.woocommerce-checkout .reis-checkout-review form.reis-cart-promo-form .form-row {
    display: contents !important;
}
.woocommerce-checkout .reis-checkout-review .reis-cart-promo-input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    height: 40px !important;
    padding: 0 18px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 999px !important;
    background: #f3f3f3 !important;
    font-size: 14px !important;
    box-shadow: none !important;
    outline: none !important;
}
.woocommerce-checkout .reis-checkout-review .reis-cart-promo-apply {
    width: auto !important;
    height: 40px !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: none !important;
}
.woocommerce-checkout .reis-checkout-review .reis-cart-promo-apply:hover,
.woocommerce-checkout .reis-checkout-review .reis-cart-promo-apply:focus,
.woocommerce-checkout .reis-checkout-review .reis-cart-promo-apply:active {
    background: #111 !important;
    color: #fff !important;
}

/* ----- RIGHT / Order summary (matches cart sidebar — transparent) ----- */
.reis-checkout-summary {
    position: sticky;
    top: 24px;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 4px 0 0;
}

.reis-checkout-summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 18px;
}
.reis-checkout-summary .reis-cart-summary-title {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    letter-spacing: -0.01em;
}

/* Secured-by-Stripe badge */
.reis-checkout-secure {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e5e5e5;
    color: #111;
    line-height: 1;
}
.reis-checkout-secure-badge {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #635bff; /* Stripe indigo */
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.reis-checkout-secure-text {
    display: inline-flex;
    flex-direction: column;
    gap: 1px;
}
.reis-checkout-secure-label {
    font-size: 9px;
    font-weight: 600;
    color: #666;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
}
.reis-checkout-secure-brand {
    font-size: 12px;
    font-weight: 700;
    color: #111;
    letter-spacing: -0.01em;
    line-height: 1;
}


/* Line items in summary */
.reis-checkout-review .reis-checkout-items {
    list-style: none !important;
    margin: 0 0 20px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid #e5e5e5;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.reis-checkout-review .reis-checkout-items li::before,
.reis-checkout-review .reis-checkout-items li::marker { display: none; content: none; }
.reis-checkout-review li.reis-checkout-item {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-rows: auto;
    gap: 12px !important;
    align-items: flex-start;
    width: 100%;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    list-style: none !important;
}
.reis-checkout-item-thumb {
    position: relative;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}
.reis-checkout-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px;
    background: #f5f5f5;
    border: 1px solid #eee;
}
.reis-checkout-item-qty {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
}
.reis-checkout-item-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
}
.reis-checkout-item-name {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #111;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: normal;
    white-space: normal;
}
.reis-checkout-item-body dl {
    margin: 2px 0 0;
    padding: 0;
    font-size: 12px;
    color: #757575;
}
.reis-checkout-item-body dl dt,
.reis-checkout-item-body dl dd { display: inline; margin: 0; font-weight: 400; }
.reis-checkout-item-body dl dt::after { content: ':\00a0'; }
.reis-checkout-review .reis-checkout-item-price {
    grid-column: 3;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    white-space: nowrap;
    text-align: right;
    align-self: center;
    padding-left: 8px;
}
.reis-checkout-review .reis-checkout-item-price .amount { color: #111; }

/* Reuse cart summary rows */
.reis-checkout-review .reis-cart-summary-rows {
    gap: 10px;
    padding: 0 0 16px;
}
.reis-checkout-review .reis-cart-summary-row { font-size: 14px; }
.reis-checkout-review .reis-cart-summary-total {
    padding: 14px 0 6px;
    font-size: 15px;
    border-top: 1px solid #e5e5e5;
}
.reis-checkout-review .reis-cart-summary-total-value strong { font-size: 17px; }
.reis-checkout-review .reis-cart-summary-note {
    font-size: 11px;
    margin-bottom: 18px;
}

/* ----- Payment methods ----- */
#payment.reis-checkout-payment,
.woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: 0;
    padding: 0;
    margin-top: 18px;
    border-top: 1px solid #e5e5e5;
    padding-top: 18px;
}
.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 14px 16px;
    list-style: none;
    transition: none !important;
}
.woocommerce-checkout #payment ul.payment_methods > li:hover,
.woocommerce-checkout #payment ul.payment_methods > li:focus,
.woocommerce-checkout #payment ul.payment_methods > li:focus-within,
.woocommerce-checkout #payment ul.payment_methods > li:active {
    background: #fff !important;
    border-color: #e5e5e5 !important;
    box-shadow: none !important;
}
.woocommerce-checkout #payment ul.payment_methods > li > label,
.woocommerce-checkout #payment ul.payment_methods > li > label:hover {
    background: transparent !important;
    cursor: default !important;
}
/* Top-level gateway radio: completely gone — only one payment option */
.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"][name="payment_method"] {
    display: none !important;
}

/* Hide the "Stripe" text and img on the TOP-LEVEL gateway label only */
.woocommerce-checkout #payment ul.payment_methods > li > label {
    display: inline-flex;
    align-items: center;
    gap: 0;
    font-size: 0 !important;
    color: transparent !important;
    cursor: default;
    line-height: 0;
}
.woocommerce-checkout #payment ul.payment_methods > li > label *,
.woocommerce-checkout #payment ul.payment_methods > li > label img,
.woocommerce-checkout #payment ul.payment_methods > li > label span {
    display: none !important;
    font-size: 0 !important;
    color: transparent !important;
}
/* Inject the official Stripe wordmark — top-level label only */
.woocommerce-checkout #payment ul.payment_methods > li > label::before {
    content: '';
    display: inline-block;
    width: 70px;
    height: 30px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 25'%3E%3Cpath d='M59.64 14.28h-8.06c.19 1.93 1.6 2.55 3.2 2.55 1.64 0 2.96-.37 4.05-.95v3.32a8.33 8.33 0 0 1-4.56 1.1c-4.01 0-6.83-2.5-6.83-7.48 0-4.19 2.39-7.52 6.3-7.52 3.92 0 5.96 3.28 5.96 7.5 0 .4-.04 1.26-.06 1.48zm-5.92-5.62c-1.03 0-2.17.73-2.17 2.58h4.23c0-1.85-1.05-2.58-2.06-2.58zM40.95 20.3c-1.44 0-2.32-.6-2.9-1.04l-.02 4.63-4.12.87V5.57h3.76l.08 1.02a4.7 4.7 0 0 1 3.23-1.29c2.9 0 5.62 2.6 5.62 7.4 0 5.23-2.7 7.6-5.65 7.6zM40 8.95c-.95 0-1.54.34-1.97.81l.03 6.26c.4.44.98.78 1.94.78 1.52 0 2.54-1.65 2.54-3.9 0-2.18-1.04-3.95-2.54-3.95zM28.24 5.57h4.13v14.44h-4.13V5.57zm0-4.7L32.37 0v3.36l-4.13.88V.87zm-4.32 9.35v9.79H19.8V5.57h3.7l.12 1.22c1-1.77 3.07-1.41 3.62-1.22v3.79c-.52-.17-2.29-.43-3.32.86zm-8.55 4.72c0 2.43 2.6 1.68 3.12 1.46v3.36c-.55.3-1.54.54-2.89.54a4.15 4.15 0 0 1-4.27-4.24l.01-13.17 4.02-.86v3.54h3.14V9.1h-3.13v5.85zm-4.91.7c0 2.97-2.31 4.66-5.73 4.66a11.2 11.2 0 0 1-4.46-.93v-3.93c1.38.75 3.1 1.31 4.46 1.31.92 0 1.53-.24 1.53-1 0-1.92-6.32-1.2-6.32-6.3 0-2.93 2.31-4.66 5.7-4.66 1.45 0 2.9.28 4.26.82v3.88a9.53 9.53 0 0 0-4.17-1.24c-.86 0-1.44.25-1.44.9 0 1.85 6.17 1.09 6.17 6.49z' fill='%23635bff'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Restore saved-card / payment-box labels to normal */
.woocommerce-checkout #payment ul.payment_methods li label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    cursor: pointer;
}
.woocommerce-checkout #payment ul.payment_methods li label img {
    max-height: 22px;
    width: auto;
    vertical-align: middle;
}

/* Hide stray "save payment method" checkbox that Stripe renders outside the box */
.woocommerce-checkout #payment .wc-saved-payment-methods-save-new-payment-method-wrapper,
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew {
    display: none !important;
}

/* Saved-card / "use new payment method" rows — custom radio style */
.woocommerce-checkout #payment .payment_box input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    min-width: 18px;
    border: 2px solid #ddd;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    margin: 0;
    position: relative;
    transition: border-color 0.15s;
    flex-shrink: 0;
}
.woocommerce-checkout #payment .payment_box input[type="radio"]:checked {
    border: 2px solid var(--reis-pink, #ff6e80) !important;
    background: radial-gradient(circle, var(--reis-pink, #ff6e80) 0 4px, #fff 5px 100%) !important;
    box-shadow: none !important;
    outline: none !important;
}
.woocommerce-checkout #payment .payment_box input[type="radio"]:focus,
.woocommerce-checkout #payment .payment_box input[type="radio"]:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}
.woocommerce-checkout #payment .payment_box label {
    font-size: 14px;
    font-weight: 500;
    color: #111;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.woocommerce-checkout #payment div.payment_box {
    position: relative;
    background: #fafafa;
    margin-top: 10px;
    padding: 18px 18px 16px;
    border-radius: 12px;
    font-size: 13px;
    color: #555;
    line-height: 1.55;
    overflow: visible;
    word-wrap: break-word;
    overflow-wrap: anywhere;
    border: 1px solid #ececec;
}
/* Section heading injected at the top of the box: "Billing information" */
.woocommerce-checkout #payment div.payment_box::before {
    content: 'Billing information' !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111 !important;
    letter-spacing: 0;
    text-align: left;
    position: static !important;
    transform: none !important;
}


/* Stripe card iframe container — let it breathe so the field isn't clipped */
.woocommerce-checkout #payment div.payment_box .form-row {
    padding: 0 !important;
    margin: 10px 0 0 !important;
    width: 100% !important;
    min-width: 0;
}
.woocommerce-checkout #payment .wc-stripe-elements-field,
.woocommerce-checkout #payment .wc-stripe-iban-element-field,
.woocommerce-checkout #payment .StripeElement {
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px 14px !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout #payment .StripeElement iframe { width: 100% !important; }

/* Saved-card rows inside the Stripe box */
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods {
    margin: 10px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods li {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 12px 14px;
    margin: 0;
    list-style: none;
    cursor: pointer;
    transition: border-color 0.15s;
}
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods li:has(input[type="radio"]:checked) {
    border-color: var(--reis-pink, #ff6e80);
    background: #fff;
}
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods li label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    width: 100%;
    cursor: pointer;
}

/* "Use a new payment method" row — same card style as saved methods */
.woocommerce-checkout #payment div.payment_box .wc-saved-payment-methods-add-payment-method-wrapper {
    margin-top: 0 !important;
}
.woocommerce-checkout #payment div.payment_box .wc-saved-payment-methods-add-payment-method-wrapper li,
.woocommerce-checkout #payment div.payment_box li.woocommerce-SavedPaymentMethods-add-payment-method {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 12px 14px;
    list-style: none;
    cursor: pointer;
    transition: border-color 0.15s;
}
.woocommerce-checkout #payment div.payment_box li.woocommerce-SavedPaymentMethods-add-payment-method:has(input[type="radio"]:checked) {
    border-color: var(--reis-pink, #ff6e80);
    background: #fff;
}
/* New card entry panel — clean inset card */
.woocommerce-checkout #payment div.payment_box .wc-stripe-new-payment-method-form,
.woocommerce-checkout #payment div.payment_box .payment_method_stripe_new_card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 16px;
    margin-top: 12px;
}

/* ----- Place Order button — match cart checkout button ----- */
.woocommerce-checkout #payment .place-order {
    margin-top: 18px;
    padding: 0;
    float: none;
    width: 100%;
}
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #payment .button.alt {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--reis-pink, #ff6e80) !important;
    color: #fff !important;
    border: 0 !important;
    padding: 16px 24px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background 0.15s, transform 0.05s !important;
}
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout #payment .button.alt:hover {
    background: var(--reis-pink, #ff6e80) !important;
    color: #fff !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}
.woocommerce-checkout #payment #place_order:focus,
.woocommerce-checkout #payment .button.alt:focus {
    outline: none !important;
    box-shadow: none !important;
}
.woocommerce-checkout #payment #place_order:active { transform: translateY(1px); }

/* Login / coupon toggles at the top */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin-bottom: 18px; }
.woocommerce-checkout .woocommerce-info {
    background: #fafafa;
    border: 1px solid #eee;
    color: #111;
    border-radius: 10px;
    padding: 14px 18px;
    font-size: 13px;
}
.woocommerce-checkout .woocommerce-info::before { display: none; }
.woocommerce-checkout .woocommerce-info a { color: var(--reis-pink, #ff6e80); text-decoration: underline; }

/* ----- RESPONSIVE ----- */
@media (max-width: 960px) {
    .reis-checkout-grid { grid-template-columns: 1fr; gap: 32px; }
    .reis-checkout-summary { position: static; border-top: 1px solid #e5e5e5; padding-top: 24px; }
    .reis-checkout-block .woocommerce-billing-fields__field-wrapper,
    .reis-checkout-block .woocommerce-shipping-fields__field-wrapper,
    .reis-checkout-block .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    .reis-checkout-page { padding: 20px 16px 60px; }
    .reis-checkout-summary { padding-top: 20px; }
}
