/* Checkout steps only; the cart and add-to-cart modal use the native PS9 theme. */
body#checkout .wrapper { padding:0 0 50px; background:#f9f9fc; color:#5d5d5d; font:13px/20px 'Macinfo Inter',Arial,sans-serif; }
body#checkout .columns-container { width:100%; max-width:1200px; padding-inline:15px; }
body#checkout .columns-container > .row, body#checkout .checkout-grid { --bs-gutter-x:30px; }
body#checkout .cart-summary__line { margin:0 0 10px; padding:0; gap:12px; color:#435160; font-size:13px; line-height:20px; }
body#checkout .cart-summary__line:last-child { margin-bottom:0; }
body#checkout .cart-summary__value { white-space:nowrap; }
body#checkout .cart-summary__line--bold { font-weight:700; }
body#checkout .cart-summary__total .cart-summary__line:first-child { font-size:17px; }
body#checkout .cart-voucher { margin:10px 0 0; padding:0 18px; border:0; background:transparent; }
body#checkout .cart-voucher :is(.accordion-item,.accordion-button,.accordion-body) { border:0; background:transparent; box-shadow:none; }
body#checkout .cart-voucher__accordion-button { display:block; padding:10px 0; color:#258dcc; font:inherit; text-align:center; }
body#checkout .cart-voucher__accordion-button::after { display:none; }
body#checkout .cart-voucher .accordion-body { padding:0 0 10px; }
body#checkout .cart-voucher__form { display:flex; flex-wrap:nowrap; width:min(100%,270px); margin:0 auto; gap:0; }
body#checkout .cart-voucher__form .form-control { min-width:0; height:40px; padding:0 14px; border:1px solid #d8e1ec; border-right:0; border-radius:20px 0 0 20px; font-size:14px; }
body#checkout .cart-voucher__form .btn { min-width:0; min-height:40px; padding:0 16px; border:1px solid #258dcc; border-radius:0 20px 20px 0; background:#258dcc; color:#fff; font-size:14px; }
body#checkout .buttons-wrapper > .btn-primary { display:inline-flex; align-items:center; justify-content:center; min-width:220px; min-height:44px; padding:0 22px; border:1px solid #2f8fcb; border-radius:999px; background:linear-gradient(180deg,#48a8e4,#2f8fcb); color:#fff; font-size:13px; font-weight:600; box-shadow:0 10px 24px rgb(47 143 203 / 18%); }
body#checkout .buttons-wrapper > .btn-primary { gap:.5rem; }
body#checkout :is(a,button,input):focus-visible { outline:2px solid #258dcc; outline-offset:3px; }
body#checkout .columns-container { padding-top:30px; }
body#checkout .checkout-grid__aside-wrapper { position:static; padding:0; }
body#checkout .checkout-steps { margin:0 0 28px; padding:0; border:0; background:transparent; }
body#checkout .checkout-steps__list { padding:0; margin:0; }
body#checkout .checkout-steps__btn { color:#506272; font-size:12px; }
body#checkout .checkout-steps__desktop { display:block; }
body#checkout .checkout-steps__mobile { display:none; }
body#checkout .step__title { margin:0 0 20px; }
body#checkout .step__title .page-title-section { margin:0; color:#435160; font-size:20px; line-height:1.3; }
body#checkout .step__title hr { display:none; }
body#checkout .step__content { font-size:13px; }
body#checkout #personal-information-tabs { margin:0 0 24px; gap:14px; border:0; }
body#checkout #personal-information-tabs .nav-link { padding:9px 16px; border:1px solid #d8e1ea; border-radius:10px; background:#eef2f6; color:#4f6477; font-size:12px; font-weight:700; }
body#checkout #personal-information-tabs .nav-link.active { border-color:#258dcc; background:#eaf7fc; color:#247eaa; }
body#checkout :is(#login-form,#customer-form) { max-width:680px; }
body#checkout .form-control { min-height:40px; padding:8px 14px; border:1px solid #d8e1ea; border-radius:10px; background:#fff; color:#435160; font:13px/20px 'Macinfo Inter',Arial,sans-serif; }
body#checkout .form-label { margin-bottom:8px; color:#435160; font-size:13px; font-weight:600; }
body#checkout .form-text, body#checkout .form-control-comment { font-size:11px; }
body#checkout .buttons-wrapper { gap:12px; }
body#checkout .buttons-wrapper > .btn-basic { padding:10px 14px; border:1px solid #d8e1ea; border-radius:10px; background:#eef2f6; color:#4f6477; font-size:12px; }
body#checkout .checkout__summary-accordion { overflow:hidden; margin:0; border:1px solid rgb(37 141 204 / 18%); border-radius:22px; background:#f2f4f8; }
body#checkout .checkout__summary-accordion-item { border:0; background:transparent; }
body#checkout .checkout__summary-accordion-header { display:none; }
body#checkout #js-checkout-summary { padding:0; }
body#checkout .cart-summary__products-number { min-height:50px; margin:0; padding:15px 18px; background:linear-gradient(180deg,#d7eff5,#c7e7ef); color:#1d5f72; font-weight:700; text-align:center; }
body#checkout .cart-summary :is(hr,.cart-summary__top:empty) { display:none; }
body#checkout .cart-summary__products { margin:0; }
body#checkout .cart-summary__products-accordion { padding:10px 18px; background:transparent; }
body#checkout .cart-summary__products-accordion .accordion-button { padding:8px 0; background:transparent; color:#258dcc; font:inherit; box-shadow:none; }
body#checkout .cart-summary__subtotals, body#checkout .cart-summary__total { margin:0; padding:14px 18px; border:0; }
body#checkout .cart-summary__product { font-size:12px; }
body#checkout .address__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin-bottom:24px; }
body#checkout .address-card { display:flex; flex-direction:column; min-width:0; margin:0; overflow:hidden; border:1px solid rgb(37 141 204 / 22%); border-radius:18px; background:#f2f4f8; box-shadow:none; }
body#checkout .address-card:has(input:checked) { border-color:rgb(37 141 204 / 56%); }
body#checkout .address-card__container { display:block; height:auto; margin:0; padding:16px 28px 20px; background:transparent; cursor:pointer; }
body#checkout .address-card__header { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:start; gap:20px; margin:0 0 18px; padding:0; }
body#checkout .address-card__header .form-check-input { width:24px; height:24px; margin:0; }
body#checkout .address-card__alias { min-width:0; margin:2px 0 0; color:#435160; font-size:14px; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
body#checkout .address-card__content { margin:0; padding-left:44px; color:#5d5d5d; font:13px/20px 'Macinfo Inter',Arial,sans-serif; overflow-wrap:anywhere; }
body#checkout .address-card__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 36px; margin:auto 0 0; padding:14px 28px; border-top:1px solid rgb(163 177 191 / 45%); }
body#checkout .address-card__actions a { color:#258dcc; font-size:13px; text-decoration:none; }
body#checkout #checkout-addresses-step .btn-outline-primary, body#checkout [data-link-action=different-invoice-address], body#checkout .js-cancel-address, body#checkout .buttons-wrapper > .js-back { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 20px; border:1px solid #d8e1ea; border-radius:12px; background:#eef2f6; color:#4f6477; font-size:13px; font-weight:600; line-height:1.4; text-decoration:none; }
body#checkout #checkout-addresses-step .form-select { min-height:40px; border:1px solid #d8e1ea; border-radius:10px; color:#435160; font:13px/20px 'Macinfo Inter',Arial,sans-serif; }
body#checkout .mi-checkout-shipping-note { margin:0 0 14px; color:#6f7f8e; font-size:13px; line-height:1.5; }
body#checkout .delivery-options__list { display:grid; gap:0; margin:0; padding:0; border:0; }
body#checkout .delivery-option__item { margin:0; padding:0; overflow:hidden; border:1px solid #d8e1ec; border-radius:16px; background:#fff; box-shadow:none; }
body#checkout .delivery-option__item:has(input:checked) { border-color:rgb(37 141 204 / 56%); background:linear-gradient(180deg,#fff,#f3f9fd); }
body#checkout .delivery-option__label { display:grid; grid-template-columns:24px minmax(0,1fr) auto; grid-template-areas:'check name price' 'check delay price'; align-items:center; gap:3px 14px; width:100%; margin:0; padding:13px 16px 13px 15px; cursor:pointer; }
body#checkout .delivery-option__left { display:contents; }
body#checkout .delivery-option__check { grid-area:check; margin:0; padding:0; }
body#checkout .delivery-option__check .form-check-input { float:none; width:20px; height:20px; margin:0; }
body#checkout .delivery-option__carrier { display:contents; }
body#checkout .delivery-option__label:has(.delivery-option__carrier-logo) { grid-template-columns:24px 44px minmax(0,1fr) auto; grid-template-areas:'check logo name price' 'check logo delay price'; }
body#checkout .delivery-option__carrier-logo { grid-area:logo; width:44px; max-height:32px; object-fit:contain; }
body#checkout .delivery-option__carrier-name { grid-area:name; min-width:0; color:#435160; font-size:14px; font-weight:700; overflow-wrap:anywhere; }
body#checkout .delivery-option__content { grid-area:delay; min-width:0; color:#6f7f8e; font-size:12px; font-weight:500; line-height:1.3; overflow-wrap:anywhere; }
body#checkout .delivery-option__price { grid-area:price; color:#435160; font-size:14px; font-weight:700; text-align:right; white-space:nowrap; }
body#checkout .delivery-option__extra-content { margin:0; padding:0 16px 14px; }
body#checkout .order-options #delivery { margin:18px 0 0; padding:16px; border:1px solid #d8e1ec; border-radius:16px; background:#fff; }
body#checkout .order-options #delivery > label { display:block; margin:0 0 10px; color:#435160; font-size:14px; font-weight:600; line-height:1.45; }
body#checkout #delivery_message { min-height:94px; padding:12px 14px; border:1px solid #d8e1ec; border-radius:12px; background:#f9fbfd; color:#435160; font-size:14px; line-height:1.45; resize:vertical; }
body#checkout #delivery_message:focus { border-color:#258dcc; background:#fff; box-shadow:0 0 0 3px rgb(37 141 204 / 12%); }
@media (max-width:1199.98px) {
body#checkout .columns-container { max-width:960px; }
}
@media (max-width:991.98px) {
body#checkout .columns-container { max-width:720px; }
body#checkout .checkout-grid__aside { margin-top:28px; }
}
@media (max-width:767.98px) {
body#checkout .columns-container { max-width:100%; }
body#checkout .checkout-steps__btn { padding-inline:4px; font-size:10px; line-height:1.3; }
body#checkout .checkout-steps__step { min-width:0; }
body#checkout .buttons-wrapper { flex-wrap:wrap; }
body#checkout #personal-information-tabs { gap:8px; }
body#checkout #personal-information-tabs .nav-link { padding:9px 12px; font-size:11px; }
body#checkout .address__list { grid-template-columns:minmax(0,1fr); }
body#checkout .delivery-option__label { column-gap:8px; padding-right:12px; }
body#checkout .delivery-option__carrier-name, body#checkout .delivery-option__price { font-size:13px; }
body#checkout .order-options #delivery { padding:14px; }
}

/* MI_CHECKOUT_ADDRESS_RADIO_START */
/* Compact Macinfo radio control for every checkout address card. */
body#checkout .address-card__header { grid-template-columns:18px minmax(0,1fr); gap:14px; }
body#checkout .address-card__header .form-check-input { appearance:none; width:18px; height:18px; margin:0; border:2px solid #cbd7e1; border-radius:50%; background:#fff; box-shadow:none; }
body#checkout .address-card__header .form-check-input:checked { border:5px solid #258dcc; background:#fff; }
body#checkout .address-card__header .form-check-input:focus { border-color:#258dcc; box-shadow:0 0 0 3px rgb(37 141 204 / 18%); }
body#checkout .address-card__alias { margin-top:0; }
body#checkout .address-card__content { padding-left:32px; }
/* MI_CHECKOUT_ADDRESS_RADIO_END */

/* MI_CHECKOUT_PAYMENT_CARDS_START */
/* Payment choices reuse the delivery-card hierarchy and selected state. */
body#checkout .payment-options__list { display:grid; gap:10px; margin:0; }
body#checkout .payment-option { margin:0; overflow:hidden; border:1px solid #d8e1ec; border-radius:16px; background:#fff; box-shadow:none; transition:border-color .16s ease,background-color .16s ease; }
body#checkout .payment-option:has(.payment-option__input:checked) { border-color:rgb(37 141 204 / 56%); background:linear-gradient(180deg,#fff,#f3f9fd); }
body#checkout .payment-option__form-check { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; column-gap:14px; margin:0; padding:0 18px; }
body#checkout .payment-option__input { float:none; grid-column:1; width:18px; height:18px; margin:0; appearance:none; -webkit-appearance:none; border:2px solid #cbd7e1; border-radius:50%; background:#fff; box-shadow:none; }
body#checkout .payment-option__input:checked { border:5px solid #258dcc; background:#fff; }
body#checkout .payment-option__input:focus { outline:0; box-shadow:none; }
body#checkout .payment-option__input:focus-visible { outline:2px solid rgb(37 141 204 / 38%); outline-offset:3px; }
body#checkout .payment-option__label { display:grid; grid-column:2; grid-template-columns:minmax(0,1fr); align-items:center; gap:14px; width:100%; min-height:72px; margin:0; padding:15px 0; color:#435160; cursor:pointer; }
body#checkout .payment-option__label:has(.payment-option__logo), body#checkout .payment-option__label:has(.payment-option__stripe-logos) { grid-template-columns:minmax(0,1fr) auto; }
body#checkout .payment-option__call-to-action { grid-column:1; min-width:0; color:#435160; font-size:14px; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
body#checkout .payment-option__logo { grid-column:2; width:auto; max-width:150px; max-height:32px; object-fit:contain; }
body#checkout .payment-option__stripe-logos { display:flex; grid-column:2; align-items:center; justify-content:flex-end; gap:7px; }
body#checkout .payment-option__stripe-logo { display:flex; align-items:center; justify-content:center; min-width:44px; height:26px; padding:3px 7px; border:1px solid #e3e9ef; border-radius:9px; background:#fff; box-shadow:0 6px 16px rgb(20 45 76 / 4.5%); }
body#checkout .payment-option__stripe-logo img { display:block; width:auto; max-width:58px; height:auto; max-height:18px; object-fit:contain; }
body#checkout .payment-option__systempay-logos { display:flex; grid-column:2; align-items:center; justify-content:flex-end; gap:7px; }
body#checkout .payment-option__systempay-logo { display:flex; align-items:center; justify-content:center; min-width:44px; height:26px; padding:3px 7px; border:1px solid #e3e9ef; border-radius:9px; background:#fff; box-shadow:0 6px 16px rgb(20 45 76 / 4.5%); }
body#checkout .payment-option__systempay-logo img { display:block; width:auto; max-width:58px; height:auto; max-height:18px; object-fit:contain; }
body#checkout .payment-option__additional-information { margin:0; padding:0 18px 15px 52px; border-top:1px solid rgb(216 225 236 / 78%); color:#6f7f8e; font-size:12px; line-height:1.45; }
body#checkout .payment-option__additional-information > :first-child { margin-top:12px; }
@media (max-width:767.98px) {
  body#checkout .payment-option__form-check { column-gap:10px; padding:0 14px; }
  body#checkout .payment-option__label { gap:10px; min-height:64px; padding:13px 0; }
  body#checkout .payment-option__call-to-action { font-size:13px; }
  body#checkout .payment-option__logo { max-width:112px; max-height:28px; }
  body#checkout .payment-option__stripe-logos { gap:5px; }
  body#checkout .payment-option__stripe-logo { min-width:36px; height:23px; padding:3px 5px; border-radius:8px; }
  body#checkout .payment-option__stripe-logo img { max-width:45px; max-height:16px; }
  body#checkout .payment-option__systempay-logos { gap:5px; }
  body#checkout .payment-option__systempay-logo { min-width:36px; height:23px; padding:3px 5px; border-radius:8px; }
  body#checkout .payment-option__systempay-logo img { max-width:45px; max-height:16px; }
  body#checkout .payment-option__additional-information { padding-right:14px; padding-bottom:13px; padding-left:44px; }
}
/* MI_CHECKOUT_PAYMENT_CARDS_END */
