/* 4.3.4: reference-inspired checkout UI. Intentionally NO submit/floating-button
 * selectors here: their shape, size, placement, color and loading stay upstream.
 */
body.scc-pro-body { --scc-ui-accent:#0066ff; --scc-ui-tint:#0066ff0a; }
body.scc-pro-body .scc-left-content { max-width:640px; padding:44px 48px 48px 24px !important; }
body.scc-pro-body .scc-right-content { max-width:480px; padding:44px 24px 48px 40px !important; }
body.scc-pro-body .scc-header { margin-bottom:28px; }
body.scc-pro-body .scc-logo { font-size:26px; font-weight:600; letter-spacing:-.5px; }
body.scc-pro-body .scc-section-title,
body.scc-pro-body .scc-shipping-heading {
 font-size:22px; line-height:1.3; font-weight:600; letter-spacing:-.35px;
 color:#111; margin:28px 0 14px; overflow-wrap:anywhere;
}
body.scc-pro-body .scc-contact-section { display:block; width:100%; margin:0 0 24px; }
body.scc-pro-body .scc-contact-section .scc-section-title { margin-top:0; }
body.scc-pro-body .scc-contact-fields { width:100%; }
body.scc-pro-body .scc-contact-fields .form-row { width:100% !important; flex:0 0 100% !important; }
body.scc-pro-body .scc-contact-fields #billing_email_field { position:relative; }
body.scc-pro-body .scc-contact-fields #billing_email_field::after {
 content:"?"; position:absolute; right:17px; top:50%; transform:translateY(-50%);
 display:flex; align-items:center; justify-content:center; width:15px; height:15px;
 border:1.5px solid #777; border-radius:50%; color:#777; font-size:10px;
 font-weight:600; line-height:1; pointer-events:none; z-index:2;
}
body.scc-pro-body .scc-contact-fields #billing_email_field input.input-text { padding-right:38px !important; }

body.scc-pro-body .scc-address-section { display:block; width:100%; min-width:0; }
body.scc-pro-body .scc-address-section > #scc-address-heading { display:block; width:100%; }
body.scc-pro-body .scc-secure-note { font-size:14px; line-height:1.5; color:#707070; margin:0 0 16px; }
body.scc-pro-body .woocommerce-billing-fields__field-wrapper,
body.scc-pro-body .woocommerce-shipping-fields__field-wrapper,
body.scc-pro-body .woocommerce-additional-fields__field-wrapper,
body.scc-pro-body .scc-contact-fields { display:flex !important; flex-wrap:wrap !important; margin:0 -6px !important; }
body.scc-pro-body #customer_details .form-row { position:relative; padding:0 6px !important; margin:0 0 10px !important; min-width:0 !important; }
body.scc-pro-body #customer_details .form-row > label:not(.woocommerce-form__label):not(.checkbox):not(.radio) {
 position:static !important; display:block !important; width:auto !important; height:auto !important;
 margin:0 0 5px !important; padding:0 !important; clip:auto !important; clip-path:none !important;
 white-space:normal !important; overflow:visible !important; font-size:13px; line-height:1.4; color:#707070;
}
body.scc-pro-body #customer_details .form-row input.input-text,
body.scc-pro-body #customer_details .form-row textarea,
body.scc-pro-body #customer_details .form-row select {
 box-sizing:border-box !important; width:100% !important; max-width:100% !important; min-width:0 !important;
 border-radius:11px !important; min-height:48px !important; height:48px !important;
 padding:14px 10px !important; border:1px solid #dcdcdc !important;
 background:#fff !important; color:#171717 !important;
 font-size:16px !important; font-size:max(16px, 1rem) !important; line-height:20px !important; box-shadow:none;
}
body.scc-pro-body #customer_details .form-row select { padding-right:36px !important; }
body.scc-pro-body #customer_details .form-row textarea { min-height:96px !important; }
body.scc-pro-body #customer_details .form-row input.input-text:focus,
body.scc-pro-body #customer_details .form-row textarea:focus,
body.scc-pro-body #customer_details .form-row select:focus {
 border-color:var(--scc-ui-accent) !important; box-shadow:0 0 0 1px var(--scc-ui-accent) !important; outline:none !important;
}
/* Persistent inset labels also work with autofill: no overlapping values and no
 * font/height change on focus. Labels keep their original for/id associations.
 */
body.scc-pro-body #customer_details .form-row.scc-ui-field > label:not(.woocommerce-form__label):not(.checkbox):not(.radio) {
 position:absolute !important; top:50% !important; left:17px !important; z-index:1;
 transform:translateY(-50%) !important; pointer-events:none; margin:0 !important;
 max-width:calc(100% - 36px); font-size:14px !important; line-height:18px !important;
 font-weight:400 !important; color:#737373 !important;
 overflow:hidden !important; text-overflow:ellipsis; white-space:nowrap !important;
 transition:top .12s ease,font-size .12s ease,transform .12s ease;
}
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-floated > label:not(.woocommerce-form__label):not(.checkbox):not(.radio),
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-focused > label:not(.woocommerce-form__label):not(.checkbox):not(.radio) {
 top:6px !important; transform:none !important; font-size:11px !important; line-height:14px !important;
}
/* Empty and invalid fields must still show a centered label, like Shopify.
   Validation remains active; only the visual label position is controlled. */
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-empty > label:not(.woocommerce-form__label):not(.checkbox):not(.radio) {
 top:50% !important; transform:translateY(-50%) !important;
 font-size:14px !important; line-height:18px !important;
}
body.scc-pro-body #customer_details .form-row.scc-ui-field input.input-text,
body.scc-pro-body #customer_details .form-row.scc-ui-field textarea,
body.scc-pro-body #customer_details .form-row.scc-ui-field select {
 padding:13px 10px !important; font-size:16px !important; font-size:max(16px, 1rem) !important; line-height:20px !important;
}
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-floated input.input-text,
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-floated textarea,
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-floated select,
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-focused input.input-text,
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-focused textarea,
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-focused select {
 padding:19px 10px 4px !important;
}
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-empty input.input-text,
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-empty textarea,
body.scc-pro-body #customer_details .form-row.scc-ui-field.scc-ui-field-empty select {
 padding:14px 10px !important;
}
body.scc-pro-body #customer_details .form-row.scc-ui-field input::placeholder,
body.scc-pro-body #customer_details .form-row.scc-ui-field textarea::placeholder { color:transparent; }
body.scc-pro-body #customer_details .form-row .select2-container { min-width:0 !important; max-width:100% !important; width:100% !important; }
body.scc-pro-body #customer_details .select2-container .select2-selection--single {
 box-sizing:border-box !important; height:48px !important; min-height:48px !important;
 border-radius:11px !important; border-color:#dcdcdc !important;
}
body.scc-pro-body #customer_details .scc-ui-field .select2-selection--single .select2-selection__rendered {
 line-height:46px !important; padding:0 34px 0 10px !important; height:48px; font-size:16px !important; font-size:max(16px, 1rem) !important;
}
body.scc-pro-body #customer_details .scc-ui-field.scc-ui-field-floated .select2-selection--single .select2-selection__rendered {
 line-height:19px !important; padding:19px 34px 4px 10px !important;
}
body.scc-pro-body #customer_details .select2-selection__arrow { height:46px !important; }
body.scc-pro-body #customer_details .select2-container--focus .select2-selection,
body.scc-pro-body #customer_details .select2-container--open .select2-selection { border-color:var(--scc-ui-accent) !important; box-shadow:0 0 0 1px var(--scc-ui-accent); }
body.scc-pro-body #customer_details .woocommerce-invalid input.input-text,
body.scc-pro-body #customer_details .woocommerce-invalid select,
body.scc-pro-body #customer_details .woocommerce-invalid textarea { border-color:#c52828 !important; }
body.scc-pro-body .woocommerce-shipping-fields #ship-to-different-address {
 display:block !important; margin:18px 0 !important; font-size:14px; font-weight:400; line-height:1.5;
}
body.scc-pro-body #ship-to-different-address label { display:inline-flex !important; align-items:center; gap:8px; margin:0 !important; }
body.scc-pro-body #ship-to-different-address input { accent-color:var(--scc-ui-accent); margin:0; flex-shrink:0; }
body.scc-pro-body .woocommerce-additional-fields > h3 { font-size:18px; font-weight:600; margin:24px 0 14px; }
body.scc-pro-body .scc-payment-area { margin-top:28px; min-width:0; }
body.scc-pro-body .scc-payment-area > .scc-section-title { font-size:18px; line-height:24px; font-weight:500; margin-top:0; margin-bottom:4px; }
body.scc-pro-body #payment { background:transparent !important; border:0 !important; border-radius:0 !important; padding:0 !important; }
body.scc-pro-body #payment ul.payment_methods {
 border:1px solid #dcdcdc !important; border-radius:14px !important;
 background:#fff; padding:0 !important; margin:0 0 18px !important;
 /* Keep overflow visible for provider SDK menus/3DS rather than clipping them. */
 overflow:visible;
}
body.scc-pro-body #payment ul.payment_methods > li.wc_payment_method {
 position:relative; list-style:none; margin:0 !important; padding:0 !important;
 min-width:0; border:0; border-bottom:1px solid #dcdcdc;
}
body.scc-pro-body #payment ul.payment_methods > li.wc_payment_method:first-child { border-radius:13px 13px 0 0; }
body.scc-pro-body #payment ul.payment_methods > li.wc_payment_method:last-child { border-bottom:0; border-radius:0 0 13px 13px; }
body.scc-pro-body #payment ul.payment_methods > li.wc_payment_method:only-child { border-radius:13px; }
body.scc-pro-body #payment ul.payment_methods > li.scc-is-selected {
 background:#f3f6ff; box-shadow:inset 0 0 0 1px var(--scc-ui-accent); z-index:1;
}
body.scc-pro-body #payment li.wc_payment_method > input.input-radio {
 position:absolute !important; display:block !important; top:17px; left:14px; z-index:2;
 box-sizing:border-box !important; width:18px !important; height:18px !important;
 min-width:18px !important; min-height:18px !important; max-width:18px !important;
 margin:0 !important; padding:0 !important; border:initial !important;
 border-radius:50% !important; background:initial !important;
 appearance:radio !important; -webkit-appearance:radio !important;
 accent-color:var(--scc-ui-accent); cursor:pointer; opacity:1 !important; visibility:visible !important;
}
body.scc-pro-body #payment li.wc_payment_method > input.input-radio:focus-visible { outline:2px solid var(--scc-ui-accent); outline-offset:3px; }
body.scc-pro-body #payment li.wc_payment_method > label {
 display:flex !important; align-items:center; justify-content:space-between; gap:8px 12px;
 min-height:56px; width:100%; margin:0 !important; padding:14px 14px 14px 42px !important;
 font-size:14px; line-height:21px; font-weight:400; color:#111; cursor:pointer;
 white-space:normal; min-width:0; box-sizing:border-box;
}
body.scc-pro-body #payment li.wc_payment_method > label { overflow-wrap:anywhere; }
body.scc-pro-body #payment .scc-payment-marks {
 display:flex; flex:0 1 auto; align-items:center; justify-content:flex-end; flex-wrap:wrap;
 min-width:0; max-width:62%; gap:4px; margin-inline-start:auto; text-align:right;
}
body.scc-pro-body #payment .scc-payment-brand-stack {
 flex:0 1 330px; width:330px; max-width:68%; display:flex; align-items:center;
 justify-content:flex-end; flex-wrap:nowrap; gap:8px;
}
body.scc-pro-body #payment .scc-payment-marks img.scc-shop-pay-logo {
 display:block; flex:0 0 58px; width:58px !important; height:26px !important;
 max-width:58px !important; max-height:26px !important; object-fit:contain;
}
body.scc-pro-body #payment .scc-payment-marks img.scc-payment-brand-strip {
 display:block; flex:1 1 0%; min-width:0 !important; width:0 !important; height:auto !important;
 max-width:100% !important; max-height:28px !important; object-fit:contain;
 object-position:right center;
}
body.scc-pro-body #payment .scc-payment-marks:empty { display:none; }
body.scc-pro-body #payment .scc-payment-marks img,
body.scc-pro-body #payment .scc-payment-marks svg {
 display:inline-block; float:none !important; width:auto; height:auto;
 max-height:24px; max-width:100%; object-fit:contain; vertical-align:middle; margin:0 !important;
}
body.scc-pro-body #payment .scc-payment-badge { color:var(--scc-ui-accent); font-weight:600; font-size:13px; line-height:18px; overflow-wrap:anywhere; }
body.scc-pro-body #payment .scc-payment-marks a { font-size:12px; overflow-wrap:anywhere; }
body.scc-pro-body #payment li.wc_payment_method > div.payment_box {
 box-sizing:border-box; display:block; margin:0 !important; border:0 !important;
 border-top:1px solid #e4e4e4 !important; border-radius:0 0 12px 12px !important;
 padding:14px 16px !important; background:#fff !important; font-size:14px;
 line-height:1.55; color:#535353; width:100% !important; min-width:0 !important; max-width:100% !important;
 overflow-wrap:anywhere;
}
body.scc-pro-body #payment li.wc_payment_method:last-child > div.payment_box { border-radius:0 0 13px 13px !important; }
body.scc-pro-body #payment li.wc_payment_method > div.payment_box::before { content:none !important; display:none !important; }
body.scc-pro-body #payment li.wc_payment_method > div.payment_box > p:last-child { margin-bottom:0; }
body.scc-pro-body .scc-summary-box { color:#303030; }
body.scc-pro-body .scc-row, body.scc-pro-body .scc-prod-name, body.scc-pro-body .scc-prod-price { line-height:1.5; }
body.scc-pro-body .scc-prod-name { min-width:0; overflow-wrap:anywhere; font-weight:400; }
body.scc-pro-body .scc-total-area { padding-top:20px; }
body.scc-pro-body .scc-row.total-grand { font-size:21px; color:#111; }
@media (max-width:991px) {
 body.scc-pro-body .scc-left-content { padding:0 !important; }
 body.scc-pro-body .scc-header { margin-top:24px; margin-bottom:22px; }
 body.scc-pro-body .scc-mobile-toggle { margin:0 0 28px; padding:17px 20px; border-left:0; border-right:0; border-radius:0; }
 body.scc-pro-body #scc-mobile-order-details { margin-top:-28px; margin-bottom:28px; }
 body.scc-pro-body .scc-section-title { font-size:22px; }
 body.scc-pro-body #payment li.wc_payment_method > label { gap:6px 10px; }
}
@media (max-width:991px) {
 body.scc-pro-body .scc-contact-fields .form-row,
 body.scc-pro-body .scc-address-section .form-row,
 body.scc-pro-body .woocommerce-billing-fields__field-wrapper .form-row { width:100% !important; flex:0 0 100% !important; }
 body.scc-pro-body .scc-contact-section { margin-bottom:24px; }
 body.scc-pro-body .scc-address-section > #scc-address-heading { margin-top:26px; }
}
@media (max-width:400px) {
 body.scc-pro-body #payment li.wc_payment_method > label { flex-wrap:wrap; gap:8px 10px; }
 body.scc-pro-body #payment .scc-payment-marks { flex:0 1 100%; max-width:100%; margin-inline-start:0; justify-content:flex-start; }
 body.scc-pro-body #payment .scc-payment-brand-stack { flex:0 1 100%; width:100%; max-width:100%; justify-content:flex-start; }
 body.scc-pro-body #payment .scc-payment-marks img.scc-payment-brand-strip { object-position:left center; }
}
@media (prefers-reduced-motion:reduce) {
 body.scc-pro-body #customer_details input, body.scc-pro-body #customer_details select { transition:none !important; }
}

body.scc-pro-body #customer_details abbr.required {
 display:none !important; visibility:hidden !important; border:0; text-decoration:none;
}



/* v4.3.11 — Shopify-like Select2 dropdown refinement */
body.scc-pro-body #customer_details .form-row .select2-container,
body.scc-pro-body #customer_details .form-row .select2-container .selection,
body.scc-pro-body #customer_details .form-row .select2-container .select2-selection--single {
 width:100% !important; max-width:100% !important;
}
body.scc-pro-body .select2-container {
 font-family:inherit;
}
body.scc-pro-body .select2-container--open {
 z-index:99999 !important;
}
body.scc-pro-body .select2-container--open .select2-dropdown {
 box-sizing:border-box;
 margin-top:8px;
 border:1px solid #d9d9d9 !important;
 border-radius:14px !important;
 background:#fff !important;
 box-shadow:0 12px 30px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.06);
 overflow:hidden;
}
body.scc-pro-body .select2-container--open .select2-dropdown--above {
 margin-top:0;
 margin-bottom:8px;
}
body.scc-pro-body .select2-container--open .select2-search--dropdown {
 position:relative;
 padding:12px 16px;
 background:#fff;
 border-bottom:1px solid #ececec;
}
body.scc-pro-body .select2-container--open .select2-search--dropdown::after {
 content:"";
 position:absolute;
 right:28px;
 top:50%;
 width:16px;
 height:16px;
 transform:translateY(-50%);
 pointer-events:none;
 background-repeat:no-repeat;
 background-position:center;
 background-size:16px 16px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394959a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
}
body.scc-pro-body .select2-container--open .select2-search__field {
 box-sizing:border-box;
 width:100% !important;
 height:40px !important;
 min-height:40px !important;
 margin:0 !important;
 padding:0 40px 0 12px !important;
 border:1px solid #d9d9d9 !important;
 border-radius:10px !important;
 background:#fff !important;
 color:#171717 !important;
 font-size:16px !important;
 line-height:38px !important;
 outline:none !important;
 box-shadow:none !important;
 -webkit-appearance:none;
 appearance:none;
}
body.scc-pro-body .select2-container--open .select2-results > .select2-results__options {
 max-height:min(44vh, 300px) !important;
 padding:6px 0;
 overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
}
body.scc-pro-body .select2-container--open .select2-results__option {
 display:flex;
 align-items:center;
 min-height:44px;
 padding:10px 16px !important;
 font-size:16px !important;
 line-height:22px !important;
 font-weight:400;
 color:#171717 !important;
 background:#fff !important;
 transition:background-color .12s ease, color .12s ease;
}
body.scc-pro-body .select2-container--open .select2-results__option--group {
 min-height:auto;
 padding:8px 16px 4px !important;
 font-size:12px !important;
 line-height:16px !important;
 text-transform:uppercase;
 letter-spacing:.03em;
 color:#737373 !important;
}
body.scc-pro-body .select2-container--open .select2-results__option[aria-disabled=true] {
 color:#9a9a9a !important;
}
body.scc-pro-body .select2-container--open .select2-results__option[aria-selected=true] {
 font-weight:600;
}
body.scc-pro-body .select2-container--open .select2-results__option--highlighted[aria-selected],
body.scc-pro-body .select2-container--open .select2-results__option--highlighted[data-selected] {
 background:#f2f4f5 !important;
 color:#171717 !important;
}
body.scc-pro-body .select2-container--open .select2-results__option[aria-selected=true].select2-results__option--highlighted {
 background:#eef2f5 !important;
}
body.scc-pro-body .select2-container--open .select2-results__option + .select2-results__option {
 border-top:1px solid rgba(0,0,0,.03);
}
body.scc-pro-body .select2-container--open .select2-selection--single {
 border-color:var(--scc-ui-accent) !important;
 box-shadow:0 0 0 1px var(--scc-ui-accent);
}
@media (max-width:767px) {
 body.scc-pro-body .select2-container--open .select2-dropdown {
  margin-top:6px;
  border-radius:12px !important;
 }
 body.scc-pro-body .select2-container--open .select2-search--dropdown {
  padding:10px 12px;
 }
 body.scc-pro-body .select2-container--open .select2-results__option {
  min-height:42px;
  padding:10px 14px !important;
  font-size:15px !important;
  line-height:21px !important;
 }
}

