.se-pay.se-pay {
    --pay-ink: #1f2024;
    --pay-muted: #50535b;
    --pay-pink: #d42e6a;
    --pay-line: #ececee;
    --pay-field: #d9d9de;
    --pay-blush: #fff0f5;
    color: var(--pay-ink);
    font: 400 15px/1.45 Inter, system-ui, sans-serif;
}
.se-pay.se-pay * { box-sizing: border-box; }
.se-pay.se-pay :is(h1,h2,h3,p,ol) { margin: 0; }
.se-pay.se-pay h1 { font: 800 36px/1.08 "Barlow Condensed", sans-serif; color: var(--pay-ink); }
.se-pay.se-pay h2 { font: 700 18px/1.25 Inter, sans-serif; color: var(--pay-ink); }
.se-pay.se-pay :is(a,button,input,textarea,summary):focus-visible { outline: 2px solid var(--pay-pink); outline-offset: 3px; }
.se-pay.se-pay a { color: var(--pay-pink); }
.se-pay.se-pay [hidden] { display: none !important; }

.se-pay.se-pay-checkout, .se-pay.se-pay-received { background: #f7f7f8; padding: 20px max(20px, calc((100% - 1120px)/2)) 64px; }
.se-pay.se-pay-checkout .se-pay-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; gap: 12px; }
.se-pay.se-pay-checkout .se-pay-heading a { color: var(--pay-muted); font-size: 14px; font-weight: 600; text-decoration: none; text-align: right; }
.se-pay.se-pay .se-pay-grid { display: grid; grid-template-columns: minmax(0,1fr) 400px; align-items: start; gap: 32px; }
.se-pay.se-pay .se-pay-left, .se-pay.se-pay .se-pay-right { min-width: 0; }
.se-pay.se-pay .se-pay-card, .se-pay.se-pay .woocommerce-account-fields,
.se-pay.se-pay .woocommerce-shipping-fields:has(#ship-to-different-address),
.se-pay.se-pay #payment .payment_methods, .se-pay.se-pay #payment .place-order,
.se-pay.se-pay #order_review, .se-pay.se-pay .se-pay-note {
    padding: 22px 24px;
    background: white;
    border: 1px solid var(--pay-line);
    border-radius: 16px;
    margin: 0 0 16px;
}
.se-pay.se-pay .se-pay-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px 12px; flex-wrap: wrap; }
.se-pay.se-pay .se-pay-section-head a { font-size: 14px; font-weight: 600; text-decoration: none; }
.se-pay.se-pay .se-pay-email > p { margin: 8px 0 14px; color: var(--pay-muted); }
.se-pay.se-pay #customer_details { width: auto !important; float: none !important; }
.se-pay.se-pay .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; margin-top: 10px; }
.se-pay.se-pay .woocommerce-billing-fields__field-wrapper > :not(#billing_first_name_field):not(#billing_last_name_field) { grid-column: 1 / -1; }
.se-pay.se-pay .se-pay-grid .form-row { float: none; width: 100%; padding: 0; margin: 0 0 12px; }
.se-pay.se-pay .se-pay-grid .se-pay-email .form-row:last-child { margin-bottom: 0; }
.se-pay.se-pay .se-pay-grid label:not(.checkbox) { color: var(--pay-ink); font-size: 14px; font-weight: 600; line-height: 1.5; }
.se-pay.se-pay .se-pay-grid .required { color: var(--pay-pink); text-decoration: none; }
.se-pay.se-pay .se-pay-grid :is(.input-text, select, #se-checkout-coupon) {
    width: 100%; min-width: 0; max-width: 100%; min-height: 46px;
    padding: 10px 12px !important; border: 1px solid var(--pay-field) !important; border-radius: 10px !important;
    color: var(--pay-ink) !important; background: white !important; font: 400 16px/1.35 Inter, sans-serif !important;
}
.se-pay.se-pay .se-pay-grid .select2-container { max-width: 100%; }
.se-pay.se-pay .se-pay-grid .select2-selection { display: flex; align-items: center; height: 46px; border: 1px solid var(--pay-field); border-radius: 10px; font-size: 16px; }
.se-pay.se-pay .se-pay-grid .select2-selection__arrow { top: 9px; right: 8px; }
.se-pay.se-pay .se-pay-grid .select2-selection__rendered { padding-left: 12px; }
.se-pay.se-pay .se-pay-note summary { color: var(--pay-pink); font-weight: 600; cursor: pointer; list-style: none; }
.se-pay.se-pay .se-pay-note summary::-webkit-details-marker { display: none; }
.se-pay.se-pay .se-pay-note summary::before { content: "+ "; }
.se-pay.se-pay .se-pay-note[open] summary::before { content: "− "; }
.se-pay.se-pay .se-pay-note[open] summary { margin-bottom: 10px; }

.se-pay.se-pay :is(#order_review,#order_review_heading) { float: none !important; width: auto !important; }
.se-pay.se-pay #order_review { padding: 18px 20px; }
.se-pay.se-pay table:is(.woocommerce-checkout-review-order-table,.order_details) { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-spacing: 0; background: white; }
.se-pay.se-pay table:is(.woocommerce-checkout-review-order-table,.order_details) :is(th,td) { border: 0; padding: 5px 0; background: transparent; color: var(--pay-ink); font-size: 14px; }
.se-pay.se-pay table:is(.woocommerce-checkout-review-order-table,.order_details) :is(th,td):last-child:not([colspan]) { text-align: right; }
.se-pay.se-pay .woocommerce-checkout-review-order-table .cart_item td { padding: 14px 0 16px; border-bottom: 1px solid var(--pay-line); vertical-align: top; }
.se-pay.se-pay .woocommerce-checkout-review-order-table .cart_item td.product-total { padding-left: 10px; font-size: 15px; font-weight: 700; white-space: nowrap; }
.se-pay.se-pay .se-pay-line { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; }
.se-pay.se-pay .se-pay-line > div { min-width: 0; overflow-wrap: anywhere; }
.se-pay.se-pay .se-pay-tile {
    display: flex; align-items: flex-end; flex: 0 0 60px; width: 60px; height: 60px;
    overflow: hidden; padding: 5px; border-radius: 10px; background: var(--se-tile); color: white;
    font: italic 800 13px/1 "Barlow Condensed", sans-serif;
}
.se-pay.se-pay .se-pay-tile > span { overflow: hidden; text-overflow: ellipsis; }
.se-pay.se-pay .se-pay-remove { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--pay-muted); }
.se-pay.se-pay .se-pay-coupon td { padding-block: 12px 8px !important; }
.se-pay.se-pay .se-pay-coupon label { display: block; margin-bottom: 4px; }
.se-pay.se-pay .se-pay-coupon td > div { display: flex; gap: 8px; }
.se-pay.se-pay .se-pay-coupon button { padding-inline: 18px; flex: none; background: white; border: 1px solid var(--pay-ink); border-radius: 9px; color: var(--pay-ink); font: 700 14px Inter, sans-serif; cursor: pointer; }
.se-pay.se-pay .se-pay-coupon button:disabled { opacity: .65; cursor: wait; }
.se-pay.se-pay .se-pay-coupon [role="status"] { margin-top: 6px; color: #1d7a46; font-size: 13px; }
.se-pay.se-pay .se-pay-coupon [role="status"].is-error { color: #a4223b; }
.se-pay.se-pay .woocommerce-checkout-review-order-table .cart-subtotal th { font-weight: 400; color: var(--pay-muted); }
.se-pay.se-pay .woocommerce-checkout-review-order-table .order-total :is(th,td) { padding-top: 10px; border-top: 1px solid var(--pay-line); }
.se-pay.se-pay .woocommerce-checkout-review-order-table .order-total td { font: 800 29px/1 "Barlow Condensed", sans-serif; }
.se-pay.se-pay .se-pay-promises { padding: 0 4px; color: var(--pay-muted); font-size: 14px; }
.se-pay.se-pay .se-pay-promises p { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.se-pay.se-pay :is(.se-pay-promises,.se-pay-email-note) svg { color: var(--pay-pink); flex: none; }
.se-pay.se-pay .se-pay-stars { letter-spacing: 1px; color: #ad6c00; }

.se-pay.se-pay #payment { background: none !important; border: 0 !important; }
.se-pay.se-pay #payment .payment_methods { list-style: none; }
.se-pay.se-pay #payment .payment_methods::before { display: block; content: "3. Payment"; margin-bottom: 12px; color: var(--pay-ink); font: 700 18px/1.25 Inter, sans-serif; }
.se-pay.se-pay #payment .payment_methods > li { margin: 0 0 10px; padding: 14px 16px; border: 1px solid var(--pay-field); border-radius: 12px; background: white; }
.se-pay.se-pay #payment .payment_methods > li:last-child { margin-bottom: 0; }
.se-pay.se-pay #payment .payment_methods > li:has(input[name="payment_method"]:checked) { border-color: var(--pay-pink); box-shadow: inset 0 0 0 1px var(--pay-pink); background: #fffafd; }
.se-pay.se-pay #payment input[type="radio"], .se-pay.se-pay #payment input[type="checkbox"] { accent-color: var(--pay-pink); }
.se-pay.se-pay #payment .payment_box { margin: 12px 0 0; padding: 0; background: transparent; color: var(--pay-muted); }
.se-pay.se-pay #payment .payment_box::before { display: none; }
.se-pay.se-pay #payment .place-order { margin: 0 0 16px; padding: 22px 24px; }
.se-pay.se-pay #payment #place_order {
    display: block; float: none; width: 100%; min-height: 54px; margin: 12px 0 0;
    padding: 12px 18px; border: 0; border-radius: 12px; background: var(--pay-pink); color: white;
    text-transform: none; letter-spacing: normal; font: 700 17px/1.25 Inter, sans-serif; cursor: pointer;
}
.se-pay.se-pay .woocommerce-terms-and-conditions-wrapper p { margin-bottom: 8px; font-size: 14px; }
.se-pay.se-pay :is(#wc-stripe-express-checkout-element,#wc-stripe-payment-request-wrapper) { margin-bottom: 12px; }

.se-pay.se-pay-received { padding: 32px max(20px, calc((100% - 880px)/2)) 64px; min-height: 65vh; }
.se-pay.se-pay .se-pay-receipt { display: flex; flex-direction: column; gap: 16px; }
.se-pay.se-pay .se-pay-receipt .se-pay-card { margin: 0; padding: 22px 24px; }
.se-pay.se-pay .se-pay-receipt .se-pay-confirmation { text-align: center; padding: 30px 24px 28px; }
.se-pay.se-pay .se-pay-mascot { position: relative; width: 124px; margin: 0 auto 18px; }
.se-pay.se-pay .se-pay-mascot img { display: block; width: 124px; height: 124px; object-fit: contain; }
.se-pay.se-pay .se-pay-mascot > span { position: absolute; right: 0; bottom: 3px; display: grid; place-items: center; width: 36px; height: 36px; border: 3px solid white; border-radius: 50%; color: white; background: #1d7a46; }
.se-pay.se-pay .se-pay-order-id { margin-top: 10px; font-size: 18px; }
.se-pay.se-pay .se-pay-order-id strong { color: var(--pay-pink); font-size: 22px; }
.se-pay.se-pay .se-pay-order-meta { margin-top: 4px; color: var(--pay-muted); font-size: 14px; }
.se-pay.se-pay .se-pay-email-note { display: flex; gap: 12px; max-width: 560px; margin: 24px auto 0; padding: 14px 16px; border: 1px solid #f8d3e1; border-radius: 12px; background: var(--pay-blush); text-align: left; overflow-wrap: anywhere; }
.se-pay.se-pay .se-pay-confirmation .se-pay-button { margin-top: 16px; }
.se-pay.se-pay .se-pay-delivery .se-pay-line { padding: 12px 0; border-top: 1px solid var(--pay-line); }
.se-pay.se-pay .se-pay-delivery h2 { margin-bottom: 10px; }
.se-pay.se-pay .se-pay-delivery .se-pay-tile { width: 52px; height: 52px; flex-basis: 52px; }
.se-pay.se-pay .se-pay-status { display: inline-block; margin-top: 6px; padding: 3px 10px; border-radius: 999px; background: #fff4df; color: #854a00; font-size: 13px; font-weight: 700; }
.se-pay.se-pay .se-pay-status.is-complete { background: #e8f5ee; color: #1d7a46; }
.se-pay.se-pay .se-pay-next h2 { margin: 8px 0 10px; font: 800 27px/1.1 "Barlow Condensed", sans-serif; }
.se-pay.se-pay .se-pay-next ol { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.se-pay.se-pay .se-pay-next li { display: flex; flex-direction: column; gap: 8px; padding: 18px; border: 1px solid var(--pay-line); border-radius: 14px; background: white; }
.se-pay.se-pay .se-pay-next li > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--pay-pink); color: white; font-weight: 800; }
.se-pay.se-pay .se-pay-next li p, .se-pay.se-pay .se-pay-order-help { color: var(--pay-muted); font-size: 14px; }
.se-pay.se-pay .se-pay-order-summary h2 { margin-bottom: 8px; }
.se-pay.se-pay .se-pay-order-summary .order_details tbody { border-bottom: 1px solid var(--pay-line); }
.se-pay.se-pay .se-pay-order-summary .order_details th { font-weight: 400; color: var(--pay-muted); text-align: left; }
.se-pay.se-pay .se-pay-order-summary .order_details td { padding-left: 12px; }
.se-pay.se-pay .se-pay-order-summary .order_details tbody td:first-child { padding-left: 0; }
.se-pay.se-pay .se-pay-order-summary .order_details .se-pay-total-order_total :is(th,td) { font-size: 17px; font-weight: 700; color: var(--pay-ink); }
.se-pay.se-pay .se-pay-order-summary .order_details .se-pay-total-discount :is(th,td) { color: #1d7a46; }
.se-pay.se-pay .se-pay-order-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 4px; }
.se-pay.se-pay .se-pay-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 22px; border: 1px solid var(--pay-ink); border-radius: 10px; background: white; color: var(--pay-ink); font-weight: 700; text-decoration: none; text-align: center; }
.se-pay.se-pay .se-pay-button.se-pay-primary { background: var(--pay-pink); border-color: var(--pay-pink); color: white; }
.se-pay.se-pay .se-pay-order-help { text-align: center; }

@media (max-width: 900px) {
    .se-pay.se-pay .se-pay-grid { grid-template-columns: minmax(0,1fr); gap: 8px; }
    .se-pay.se-pay .se-pay-right { grid-row: 1; }
    .se-pay.se-pay .se-pay-promises { display: none; }
}
@media (max-width: 600px) {
    .se-pay.se-pay-checkout, .se-pay.se-pay-received { padding-inline: 14px; }
    .se-pay.se-pay h1 { font-size: 32px; }
    .se-pay.se-pay .se-pay-card, .se-pay.se-pay #order_review, .se-pay.se-pay #payment .payment_methods, .se-pay.se-pay #payment .place-order { padding-inline: 16px; }
    .se-pay.se-pay .se-pay-next ol { grid-template-columns: 1fr; }
    .se-pay.se-pay .se-pay-order-actions > a { flex: 1 1 100%; }
    .se-pay.se-pay .se-pay-order-summary .order_details td { overflow-wrap: anywhere; }
}
@media (max-width: 520px) {
    .se-pay.se-pay-checkout { padding-inline: 0; }
    .se-pay.se-pay-checkout .se-pay-heading { padding-inline: 16px; }
    .se-pay.se-pay-checkout :is(.se-pay-card, #order_review, #payment .payment_methods, #payment .place-order) { border-radius: 0; }
    .se-pay.se-pay .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
    .se-pay.se-pay .se-pay-tile { width: 48px; height: 48px; flex-basis: 48px; }
}

.se-pay.se-pay .se-pay-summary-toggle { display: none; }
@media (max-width: 900px) {
    .se-pay.se-pay .se-pay-summary-ready #order_review_heading { display: none; }
    .se-pay.se-pay .se-pay-summary-ready .se-pay-summary-toggle {
        display: flex; align-items: center; justify-content: space-between; gap: 8px;
        width: 100%; border: 0; padding: 0; background: transparent;
        color: var(--pay-ink); font: 600 15px/1.45 Inter,sans-serif; text-align: left; cursor: pointer;
    }
    .se-pay.se-pay .se-pay-summary-toggle > span { display: flex; align-items: center; gap: 6px; }
    .se-pay.se-pay .se-pay-summary-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
    .se-pay.se-pay .se-pay-summary-ready:not(.se-pay-summary-open) #se-checkout-summary-items,
    .se-pay.se-pay .se-pay-summary-ready:not(.se-pay-summary-open) .woocommerce-checkout-review-order-table tfoot tr:not(.se-pay-coupon) { display: none; }
}

.se-pay.se-pay .woocommerce-checkout-review-order-table th { text-align: left; }
.se-pay.se-pay .se-pay-remove { display: table; }
