/* ONE PAGE CHECKOUT. ADDRESS */

commerce_unified_checkout-input-address lightning-input-address fieldset .slds-form-element__group .slds-form-element__row {
    display: flex !important;
    align-items: flex-start;
}

commerce_unified_checkout-input-address lightning-input-address label.slds-form-element__label {
    display: inline-block !important;
}

commerce_unified_checkout-address-visual-picker .address-stretch {
    row-gap: 1rem;
}

commerce_unified_checkout-address-visual-picker .card-address-height {
    width: 100%;
}

commerce_unified_checkout-address-visual-picker lightning-badge.slds-badge {
    padding: 0.25rem 0.75rem;
    border-color: var(--d2c-color-light-gray);
    background-color: var(--d2c-color-light-gray);
    border-radius: 2.5rem;
}

commerce_unified_checkout-address-visual-picker lightning-button {
    display: block;
    margin: 1rem 0;
}

commerce_builder-checkout-delivery-address .buttons {
    margin-top: 1.5rem;
}

commerce_builder-checkout-delivery-address .buttons .slds-button,
commerce_unified_checkout-address-visual-picker lightning-button .slds-button {
    padding: 0;
    line-height: 1;
    color: var(--d2c-color-dark-blue) !important;
    text-decoration: underline;
    text-underline-offset: 0.375rem;
    text-decoration-thickness: 0.125rem !important;
    outline: 0 !important;
    box-shadow: unset !important;
    border: 0 !important;
    background-color: transparent !important;
    transition: text-decoration-color 0.1s;

    &:hover, &:focus {
        text-decoration-color: transparent !important;
    }
}

/* ONE PAGE CHECKOUT. CONTACT INFO FORM */

commerce_unified_checkout-multi-country-phone-field .slds-form-element__control > div > div:first-child {
    display: flex;
    align-items: flex-end;
}

commerce_unified_checkout-multi-country-phone-field .slds-combobox_container {
    top: -0.25rem !important;
}

commerce_unified_checkout-multi-country-phone-field .slds-combobox__form-element > button {
    height: 2.875rem;
}

/* ONE PAGE CHECKOUT. SECTION TEXT BLOCK */

.checkout-page__contact-information-text-block,
.checkout-page__shipping-address-text-block,
.checkout-page__shipping-method-text-block,
.checkout-page__payment-text-block {
    display: flex !important;
    align-items: center;
    column-gap: 1rem;
}

.checkout-page__contact-information-text-block::before {
    content: "1";
}

.checkout-page__shipping-address-text-block::before {
    content: "1";
}

.checkout-page__shipping-method-text-block::before {
    content: "2";
}

.checkout-page__payment-text-block::before {
    content: "3";
}

commerce_builder-checkout-layout-one-page:has(commerce_unified_checkout-checkout-section-contact-information) .checkout-page__shipping-address-text-block::before {
    content: "2";
}

commerce_builder-checkout-layout-one-page:has(commerce_unified_checkout-checkout-section-contact-information) .checkout-page__shipping-method-text-block::before {
    content: "3";
}

commerce_builder-checkout-layout-one-page:has(commerce_unified_checkout-checkout-section-contact-information) .checkout-page__payment-text-block::before {
    content: "4";
}

.checkout-page__contact-information-text-block::before,
.checkout-page__shipping-address-text-block::before,
.checkout-page__shipping-method-text-block::before,
.checkout-page__payment-text-block::before {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 500;
    color: var(--d2c-color-new-black);
    background-color: var(--d2c-color-light-gray);
    border-radius: 50%;
}

/* ONE PAGE CHECKOUT. SECTION HEADER */

commerce_unified_checkout-checkout-section-one-page > fieldset > header {
    align-items: center;
    margin-bottom: 1rem;
}

/* COMMERCE ACTION BUTTON */

commerce_unified_checkout-checkout-section-contact-information commerce-action-button .slds-button,
commerce_unified_checkout-checkout-section-shipping commerce-action-button .slds-button,
commerce_unified_checkout-checkout-section-delivery commerce-action-button .slds-button {
    padding: 0;
    line-height: 1;
    color: var(--d2c-color-dark-blue) !important;
    text-underline-offset: 0.375rem;
    text-decoration-thickness: 0.125rem !important;
    outline: 0 !important;
    box-shadow: unset !important;
    transition: text-decoration-color 0.1s;

    &:hover, &:focus {
        text-decoration-color: transparent !important;
    }
}
/* CHECKOUT CONTACT INFO */

commerce_builder-checkout-contact-info commerce_unified_checkout-multi-country-phone-field {
    display: block;
    margin-top: 1rem;
}

commerce_builder-checkout-contact-info commerce_unified_checkout-multi-country-phone-field .slds-grid {
    align-items: flex-start;
}

commerce_builder-checkout-contact-info commerce_unified_checkout-multi-country-phone-field .slds-grid > .slds-no-flex {
    padding-top: 2.0625rem;
}

commerce_builder-checkout-contact-info commerce_unified_checkout-multi-country-phone-field .slds-grid > .slds-col {
    margin-left: 1rem;
}

commerce_builder-checkout-contact-info commerce_unified_checkout-multi-country-phone-field lightning-input .slds-form-element__label {
    left: -6.125rem !important;
}

@media (max-width: 767.98px) {

    commerce_builder-checkout-contact-info commerce_unified_checkout-multi-country-phone-field lightning-input .slds-form-element__label {
        left: -98px !important;
    }

}

commerce_builder-checkout-contact-info commerce_unified_checkout-multi-country-phone-field .slds-combobox__input {
    line-height: 3rem;
    height: 3.125rem;
    box-shadow: unset !important;
    border-color: rgb(203, 214, 223) !important;
}

commerce_builder-checkout-contact-info commerce_unified_checkout-multi-country-phone-field .slds-combobox__form-element + .slds-dropdown {
    min-width: 20rem;
}

/* CHECKOUT INPUT ADDRESS */

commerce_unified_checkout-input-address .address-header:has(span:empty) {
    padding: 0;
}

commerce_unified_checkout-input-address .name-fields {
    display: flex;
    flex-wrap: wrap;
}

commerce_unified_checkout-input-address .name-fields lightning-input:first-child:not(:last-child) {
    padding-right: 0.5rem !important;
}

commerce_unified_checkout-input-address .name-fields lightning-input:last-child:not(:first-child) {
    padding-left: 0.5rem !important;
}

commerce_unified_checkout-input-address lightning-input-address .slds-form-element__row {
    margin-top: 1rem;
    margin-bottom: 0;
}

commerce_unified_checkout-input-address lightning-input-address .slds-form-element__row lightning-input:first-child:not(:last-child) {
    padding-right: 0.5rem !important;
}

commerce_unified_checkout-input-address lightning-input-address .slds-form-element__row lightning-picklist:last-child:not(:first-child) {
    padding-left: 0.5rem !important;
}

commerce_unified_checkout-input-address lightning-input-address + lightning-input[data-default-address-checkbox] {
    margin-top: 1rem;
}

/* CHECKOUT DELIVERY METHOD */

commerce_builder-checkout-delivery-method .empty-message {
    margin: 2rem 0 1.5rem 0;
    padding: 1rem 2rem;
    border-radius: 2.5rem;
    background-color: var(--d2c-color-light-gray) !important;
}

/* ONE PAGE CHECKOUT. SALESFORCE PAYMENTS */

experience-payment-sheet-form .sfpp-payment-method-radio {
    display: none;
}

experience-payment-sheet-form .sfpp-accordion__summary-action {
    padding-left: 0 !important;
}

experience-payment-sheet-form .sfpp-payment-method-body-card {
    margin-left: 0 !important;
}

experience-payment-sheet-form .sfpp-form-element_compound {
    margin-top: 1rem;
}

experience-payment-sheet-form .sfpp-form-element .sfpp-form-element__label {
    font-family: var(--dxp-s-body-font-family);
}

experience-payment-sheet-form .sfpp-stripe-element-wrapper {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    height: 2.875rem;
    border-radius: 0;
    font-size: 1rem;
    display: flex;
    align-items: center;
    border-color: rgba(0, 0, 0, 0.26);
}

experience-payment-sheet-form .sfpp-stripe-element-wrapper:hover {
    border-color: var(--d2c-color-dark-blue) !important;
}

experience-payment-sheet-form .sfpp-stripe-element-wrapper > div {
    flex-grow: 1;
}

commerce_builder-checkout-billing-info lightning-input-address {
    margin-top: 1rem;
}

/* COMMERCE CHECKOUT STENCIL */

commerce-checkout-stencil .stencil-item-container-payment .stencil-item.line-box-payment {
    border-radius: 2.5rem;
    background-color: var(--d2c-color-light-gray);
}

/* CHECKOUT BILLING INFO */

commerce_builder-checkout-billing-info commerce_unified_checkout-input-address {
    display: block;
    margin-top: 1rem;
}

/* PLACE ORDER */

commerce_builder-checkout-place-order {
    display: block !important;
}

/* CHECKOUT SUMMARY */

.checkout-page__summary commerce_cart-summary > div {
    padding: 1.5rem 2rem 2rem 2rem;
    border-radius: 2.5rem;
    background-color: var(--d2c-color-light-gray);
}


/* CHECKOUT */

commerce_builder-cart-summary.checkout-page__summary {
    margin: 0 !important;
}

commerce_builder-cart-summary.checkout-page__summary commerce_cart-summary header dxp_base-text-block > * {
    font-size: 1.5rem;
    font-weight: 400;
}

experience-payment-sheet-form ul.slds-accordion li.slds-accordion__list-item {
    padding: 0;
    margin-bottom: 0.5rem;
    border: 1px solid var(--d2c-color-blue-gray);
    border-radius: 1.5rem;
}

experience-payment-sheet-form ul.slds-accordion li.slds-accordion__list-item.sfpp-payment-method-expanded {
    outline: 2px solid var(--d2c-color-dark-blue);
    outline-offset: -2px;
}

experience-payment-sheet-form ul.slds-accordion .slds-accordion__summary {
    padding: 0 1rem;
    background-color: transparent;
}

experience-payment-sheet-form ul.slds-accordion .slds-accordion__content {
    padding: 0 1rem;
}

@media (max-width: 1023.98px) {

    experience-payment-sheet-form ul.slds-accordion .slds-accordion__content .sfpp-payment-method-body-card {
        padding-bottom: 1rem;
    }

}

experience-payment-sheet-form ul.slds-accordion .slds-accordion__content .sfpp-payment-method-body-klarna {
    margin: 0;
    padding: 0 0 0.75rem 0;
}

experience-payment-sheet-form ul.slds-accordion .slds-accordion__content .sfpp-payment-method-body-klarna .sfpp-payment-method-klarna-redirect {
    margin: 0;
}

commerce_builder-payment-by-express experience-payment-by-express-container > div {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

commerce_builder-payment-by-express experience-payment-by-express-container > div .heading {
    display: none;
}

commerce_builder-checkout-layout-one-page .checkout-column {
    display: block !important;
    padding: 0 !important;
}

commerce_builder-payment-by-express {
    display: block;
    margin-top: 0.5rem;
}

commerce_builder-payment-by-express .sfpp-component {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-column-gap: 0.5rem !important;
}

@media (max-width: 767.98px) {

    commerce_builder-payment-by-express .sfpp-component {
        grid-template-columns: 1fr !important;
    }

}

commerce_builder-payment-by-express .sfpp-component > div[class*="sfpp-payment-method-"]{
    max-width: 100% !important;
    border-radius: 3rem;
    /* overflow: hidden; */
}