/* Shared checkout controls and all four native steps. */
body#checkout { --checkout-field-radius:10px; --checkout-field-height:48px; --checkout-surface:#f7f7f7; }
body#checkout section.checkout-step { opacity:1; padding:0; }
body#checkout section.checkout-step .step-title, body#checkout section.checkout-step.-current .step-title { padding:18px 22px; }
body#checkout section.checkout-step:not(.-current) .step-title { opacity:1; color:#606060; }
body#checkout section.checkout-step.-complete .step-number { background:#efefef; color:#333; }
body#checkout section.checkout-step .form-control,
body#checkout section.checkout-step select:not(.select2-hidden-accessible),
body#checkout .select2-search__field { min-height:var(--checkout-field-height); border:1px solid #dcdcdc; border-radius:var(--checkout-field-radius); background-color:#fff; color:#222; font:inherit; font-size:15px; padding:11px 14px; max-width:100%; box-shadow:none; }
body#checkout section.checkout-step textarea.form-control { height:auto; min-height:100px; resize:vertical; }
body#checkout section.checkout-step select:not(.select2-hidden-accessible) { width:100%; padding-right:32px; }
body#checkout section.checkout-step :is(.form-control,select):disabled { background:#f3f3f3; color:#777; cursor:not-allowed; }
body#checkout section.checkout-step .input-group .form-control { border-radius:var(--checkout-field-radius) 0 0 var(--checkout-field-radius); }
body#checkout section.checkout-step button[data-action=show-password] { height:var(--checkout-field-height); border-radius:0 var(--checkout-field-radius) var(--checkout-field-radius) 0; }
body#checkout section.checkout-step .form-group { margin-left:0; margin-right:0; }
body#checkout section.checkout-step .form-group > div { min-width:0; }
body#checkout #checkout-addresses-step .form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; }
body#checkout #checkout-addresses-step .form-fields > * { grid-column:1 / -1; min-width:0; }
body#checkout #checkout-addresses-step .form-fields > .form-group { margin:0; }
body#checkout #checkout-addresses-step .form-fields > .form-group:has([name=firstname], [name=lastname], [name=company], [name=vat_number], [name=postcode], [name=city], [name=id_country], [name=phone]) { grid-column:auto; }
body#checkout #checkout-addresses-step .form-group > div { width:100%; max-width:100%; margin-left:0; padding:0; }
body#checkout #checkout-addresses-step .address-selector { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
body#checkout #checkout-addresses-step .address-item { width:auto; min-width:0; margin:0; border:1px solid var(--checkout-line); border-radius:var(--checkout-radius); background:#fff; box-shadow:none; }
body#checkout #checkout-addresses-step .address-item.selected { border-color:#9a7828; background:#fbfaf7; }
body#checkout #checkout-addresses-step .address-item .radio-block { display:flex; align-items:center; gap:10px; margin:0; padding:16px; }
body#checkout #checkout-addresses-step .address-item .address { padding:14px 16px; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
body#checkout #checkout-addresses-step .address-item hr { margin:0 16px; }
body#checkout #checkout-addresses-step .address-footer { display:flex; gap:20px; padding:10px 16px; }
body#checkout #checkout-addresses-step .address-footer a { display:inline-flex; align-items:center; gap:6px; min-height:36px; font-size:13px; }
body#checkout #checkout-addresses-step .add-address { margin:16px 0; }
body#checkout #checkout-addresses-step .cancel-address { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; margin-top:8px; float:none; }
body#checkout #checkout-delivery-step .delivery-option { display:flex; align-items:center; gap:12px; margin:0 0 12px; padding:16px; border:1px solid var(--checkout-line); border-radius:var(--checkout-radius); background:#fff; }
body#checkout #checkout-delivery-step .delivery-option:has(input:checked) { border-color:#9a7828; background:#fbfaf7; }
body#checkout #checkout-delivery-step .delivery-option > .col-sm-1 { flex:0 0 20px; width:20px; max-width:20px; padding:0; }
body#checkout #checkout-delivery-step .delivery-option-2 { flex:1; min-width:0; max-width:none; margin:0; padding:0; cursor:pointer; }
body#checkout #checkout-delivery-step .delivery-option-2 > .row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; margin:0; align-items:center; }
body#checkout #checkout-delivery-step .delivery-option-2 > .row > div { width:auto; max-width:none; padding:0; }
body#checkout #checkout-delivery-step .delivery-option-2 > .row > .col-sm-4 { grid-column:1; grid-row:2; font-size:12px; color:var(--checkout-muted); }
body#checkout #checkout-delivery-step .delivery-option-2 > .row > .col-sm-3 { grid-column:2; grid-row:1 / 3; font-size:14px; font-weight:600; }
body#checkout #checkout-delivery-step .carrier-hasLogo { display:flex; align-items:center; flex-wrap:nowrap; gap:10px; margin:0; }
body#checkout #checkout-delivery-step .carrier-hasLogo > div { padding:0; width:auto; flex:none; }
body#checkout #checkout-delivery-step .carrier-hasLogo > .carriere-name-container { flex:1; min-width:0; }
body#checkout #checkout-delivery-step .carrier-hasLogo img { max-width:56px; max-height:32px; object-fit:contain; }
body#checkout #checkout-delivery-step .carrier-name { font-size:14px; font-weight:600; }
body#checkout #checkout-delivery-step .carrier-extra-content { margin:0 0 20px; padding:0; max-width:100%; }
body#checkout #checkout-delivery-step .multiparcels_shipping_terminal_select_holder { width:100%; padding:0; }
body#checkout #checkout-delivery-step .select2-container { width:100%!important; max-width:100%; }
body#checkout .select2-selection--single { min-height:48px; height:auto; border:1px solid #dcdcdc; border-radius:var(--checkout-field-radius); padding:9px 10px; }
body#checkout .select2-selection--single .select2-selection__rendered { line-height:28px; padding-right:22px; font-size:14px; }
body#checkout .select2-selection--single .select2-selection__arrow { height:46px; right:10px; }
body#checkout .select2-container--focus .select2-selection, body#checkout .select2-container--open .select2-selection { border-color:#9a7828; outline:2px solid #e7dec8; outline-offset:1px; }
body#checkout .select2-dropdown { border-color:#dcdcdc; border-radius:10px; overflow:hidden; }
body#checkout .select2-search--dropdown { padding:10px; }
body#checkout .select2-results__option { font-size:14px; padding:10px 12px; }
body#checkout #checkout-delivery-step .order-options label { font-size:13px; line-height:1.6; margin-bottom:8px; }
body#checkout #checkout-payment-step .payment-option { display:flex; align-items:center; gap:12px; margin:0 0 12px; padding:16px; border:1px solid var(--checkout-line); border-radius:var(--checkout-radius); background:#fff; }
body#checkout #checkout-payment-step .payment-option:has(input:checked) { background:#fbfaf7; border-color:#9a7828; }
body#checkout #checkout-payment-step .payment-option label { display:flex; align-items:center; justify-content:space-between; gap:12px; flex:1; min-width:0; margin:0; cursor:pointer; font-size:14px; font-weight:600; }
body#checkout #checkout-payment-step .payment-option label img { max-width:90px; max-height:32px; object-fit:contain; }
body#checkout #checkout-payment-step .additional-information { margin:0 0 20px; padding:16px; background:var(--checkout-surface); border-radius:var(--checkout-radius); font-size:13px; line-height:1.6; }
body#checkout #checkout-payment-step .montonio-container { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
body#checkout #checkout-payment-step .montonio-bank { border-radius:10px; margin:0; box-shadow:none; }
body#checkout #checkout-payment-step #conditions-to-approve { margin-top:20px; }
body#checkout #checkout-payment-step #conditions-to-approve ul { padding:0; margin:0; list-style:none; }
body#checkout #payment-confirmation .btn, body#checkout section.checkout-step .continue { min-height:48px; border-radius:var(--checkout-field-radius); background:#111; border-color:#111; color:#fff; font-size:14px; padding:12px 20px; }
body#checkout #payment-confirmation .btn:is(:disabled,.disabled) { opacity:.45; cursor:not-allowed; }
body#checkout #payment-confirmation .btn:not(:disabled):not(.disabled):hover { background:#333; }
body#checkout #main :is(textarea,select):focus-visible { outline:2px solid #9a7828; outline-offset:3px; }
body#checkout #js-checkout-summary :is(input[name=discount_name],.cart-voucher button) { border-radius:var(--checkout-field-radius); }
@media(max-width:575px) {
 body#checkout section.checkout-step .step-title, body#checkout section.checkout-step.-current .step-title { padding:16px 14px; flex-wrap:wrap; }
 body#checkout #checkout-addresses-step :is(.form-fields,.address-selector) { grid-template-columns:minmax(0,1fr); }
 body#checkout section.checkout-step :is(.form-control,select:not(.select2-hidden-accessible)), body#checkout .select2-search__field { font-size:16px; }
 body#checkout #checkout-delivery-step .delivery-option { padding:12px; gap:9px; }
 body#checkout #checkout-delivery-step .delivery-option-2 > .row { grid-template-columns:minmax(0,1fr); gap:6px; }
 body#checkout #checkout-delivery-step .delivery-option-2 > .row > .col-sm-3 { grid-column:1; grid-row:3; }
 body#checkout #checkout-payment-step .additional-information { padding:12px; }
}

/* Override the theme's negative active-title margins and zero mobile form inset. */
body#checkout section.checkout-step.-current .step-title { margin:0; }
body#checkout section.checkout-step .content { padding:20px; }
body#checkout #checkout-payment-step .montonio-target-container { background:transparent; padding:0; }
body#checkout #checkout-payment-step .montonio-bank { border:1px solid #dedede; background:#fff; }
body#checkout #checkout-payment-step .montonio-bank-active { border-color:#9a7828; background:#f4f0e5; }
@media(max-width:575px) { body#checkout section.checkout-step .content { padding:16px 14px; } }
