/* Migrated from Stencil optimized-checkout custom section.
   This file is plain CSS because public assets are copied directly into dist. */

#consent-manager-update-banner {
    display: none !important;
}

#micro-app-ng-checkout {
    position: relative;
}

#micro-app-ng-checkout .hidden {
    display: none !important;
}

#micro-app-ng-checkout .customMessage {
    position: absolute;
    width: 100%;
    top: 0;
    text-align: center;
    background-color: #fcf8e3;
    border-color: #faebcc;
    color: #8a6d3b;
    font-size: 12px;
    padding: 4px 6px 6px;
}

#micro-app-ng-checkout.hasCustomMessage {
    padding-top: 40px;
}

@media (max-width: 800px) {
    #micro-app-ng-checkout.hasCustomMessage {
        padding-top: 60px;
    }
}

#micro-app-ng-checkout.hasCustomMessage:has(.customMessageNewLine) {
    padding-top: 60px;
}

@media (max-width: 800px) {
    #micro-app-ng-checkout.hasCustomMessage:has(.customMessageNewLine) {
        padding-top: 100px;
    }
}

#micro-app-ng-checkout.continue-disabled #checkout-shipping-continue,
#micro-app-ng-checkout.continue-disabled #checkout-billing-continue {
    cursor: not-allowed !important;
    opacity: 0.1 !important;
    pointer-events: none !important;
}

#micro-app-ng-checkout.shipping-2nd-Opt-disabled #checkout-shipping-options .form-checklist > li:nth-child(2):not(.form-checklist-item--selected, .optimizedCheckout-form-checklist-item--selected),
#micro-app-ng-checkout.shipping-2nd-Opt-disabled #checkout-shipping-options .form-checklist > li:nth-child(3):not(.form-checklist-item--selected, .optimizedCheckout-form-checklist-item--selected) {
    display: none !important;
}

#micro-app-ng-checkout #checkout-shipping-options {
    position: relative;
}

#micro-app-ng-checkout #checkout-shipping-options .form-legend {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

#micro-app-ng-checkout #checkout-shipping-options .optimizedCheckout-form-checklist .form-checklist-item:last-child .shippingOption-desc::after {
    content: "Order by 2:00 p.m. ET Monday through Friday Excluding Holidays.";
    display: block;
    font-weight: normal;
    font-size: 1rem;
    color: #5f5f5f;
}

.checkoutHeader {
    min-height: unset;
    padding: 20px 0;
}

@media (max-width: 800px) {
    .checkoutHeader {
        padding: 10px 0;
    }
}

.checkoutHeader img#logoImage {
    height: 50px;
    max-height: 50px;
    object-fit: contain;
    width: auto;
}

.checkoutHeader .checkoutHeader-content {
    padding: 0;
    text-align: center;
}

.checkoutHeader .checkoutHeader-content .checkoutHeader-logoLink {
    color: inherit;
    display: inline-flex;
    justify-content: center;
    text-decoration: none;
    width: auto;
}

.checkoutHeader .checkoutHeader-content .checkoutHeader-heading {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    margin: 0;
    min-height: 50px;
    min-width: 220px;
    padding: 0;
    text-align: center;
}

@media (max-width: 800px) {
    #checkout-page-container .layout.optimizedCheckout-contentPrimary {
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 800px) {
    #checkout-page-container .layout.optimizedCheckout-contentPrimary .layout-main {
        padding-bottom: 100px;
    }
}

@media (max-width: 800px) {
    #checkout-page-container h2 {
        font-size: 1.6rem;
        margin: 0 0 0 8px;
    }
}

#checkout-page-container .stepHeader-counter {
    transform: scale(0.9);
}

#checkout-page-container .stepHeader-counter.stepHeader-counter--complete svg {
    padding: 6px;
}

@media (max-width: 800px) {
    #checkout-page-container .cartDrawer {
        margin: 0 10px 10px;
    }
}

#checkout-page-container .alert-danger {
    display: block;
    margin: 20px 0;
    width: 100%;
    text-align: left;
}

#checkout-page-container .alert-danger span {
    display: block;
}

#checkout-page-container .alert-danger span::before {
    content: "\2022 ";
    margin-right: 5px;
}

#checkout-page-container .form-actions:has(#pfas_error) #checkout-shipping-continue {
    cursor: not-allowed;
    opacity: 0.1;
    pointer-events: none;
}

#checkout-page-container .customerView-actions button[data-test="sign-out-link"] {
    display: none !important;
}

#checkout-page-container .form-fieldset[data-test="checkout-shipping-comments"] {
    display: none !important;
}

#checkout-page-container .productList-item .product-column.product-body .product-title {
    font-weight: bold;
}

#checkout-page-container .productList-item .product-column.product-body .product-option:not(.stockMessage) {
    color: #616161;
}

@media (max-width: 800px) {
    .modal.optimizedCheckout-contentPrimary.modal--afterOpen {
        justify-content: flex-start;
        max-width: 94%;
        left: 3%;
        padding: 0;
        border-radius: 0;
    }

    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body {
        padding: 0;
        box-shadow: unset;
        height: 100%;
    }

    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body .cart-section {
        padding: 20px;
    }

    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body .cart-section:first-child {
        padding: 30px 20px;
    }

    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body .cart-section h3 {
        font-weight: bold;
        margin-bottom: 30px;
    }

    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body .cart-section .productList-item .product-figure {
        width: 30%;
        padding-bottom: 10px;
    }

    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body .cart-section .productList-item .product-column.product-body .product-title {
        font-weight: bold;
        margin-bottom: 10px;
    }

    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body .cart-section .productList-item .product-column.product-body .product-option:not(.stockMessage) {
        color: #616161;
    }

    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body .cart-section .productList-item .product-column.product-body .redeemable-entry {
        margin-bottom: 20px;
    }

    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body .cart-section .cart-priceItem-label,
    .modal.optimizedCheckout-contentPrimary.modal--afterOpen .modal-body .cart-section .cart-priceItem-value {
        font-weight: bold;
    }
}

#modal_SuggestionAddress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

#modal_SuggestionAddress.hidden {
    display: none;
}

#modal_SuggestionAddress .mSA-content {
    background: #fff;
    padding: 20px 20px 30px;
    border-radius: 12px;
    width: 540px;
}

@media (max-width: 600px) {
    #modal_SuggestionAddress .mSA-content {
        width: calc(100% - 60px);
    }
}

#modal_SuggestionAddress .mSA-content h3 {
    margin-bottom: 20px;
}

#modal_SuggestionAddress .mSA-content .mSA-compare {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

@media (max-width: 600px) {
    #modal_SuggestionAddress .mSA-content .mSA-compare {
        display: block;
    }
}

#modal_SuggestionAddress .mSA-content .mSA-compare .mSA-block {
    background: #f7f7f7;
    padding: 10px 10px 30px;
    width: 50%;
}

@media (max-width: 600px) {
    #modal_SuggestionAddress .mSA-content .mSA-compare .mSA-block {
        width: 100%;
        margin-bottom: 10px;
    }
}

#modal_SuggestionAddress .mSA-content .mSA-compare .mSA-block h4 {
    margin-bottom: 20px;
}

#modal_SuggestionAddress .mSA-content .mSA-actions {
    display: flex;
    gap: 10px;
}

@media (max-width: 600px) {
    #modal_SuggestionAddress .mSA-content .mSA-actions {
        display: block;
    }
}

#modal_SuggestionAddress .mSA-content .mSA-actions button {
    padding: 8px 12px;
    width: 100%;
    text-align: center;
    font-weight: bold;
    border: 1px solid #f7f7f7;
}

@media (max-width: 600px) {
    #modal_SuggestionAddress .mSA-content .mSA-actions button {
        margin-bottom: 10px;
    }
}

#modal_SuggestionAddress .mSA-content .mSA-actions button#btn_DenyChanges {
    color: #000;
}

#modal_SuggestionAddress .mSA-content .mSA-actions button#btn_AcceptChanges {
    background-color: #000;
    border: 1px solid #000;
    color: #fff;
}

.alert {
    padding: 9px;
    border-radius: 3px;
    border: 1px solid transparent;
    width: fit-content;
    background-color: #fcf8e3;
    color: #8a6d3b;
    border-color: #faebcc;
}

.alert.hidden {
    display: none;
}

.alert.alert-danger {
    color: #bf1e1d;
    margin: 10px 0 20px;
    font-weight: bold;
}

.alert.alert-warning {
    background-color: #fcf8e3;
    border-color: #faebcc;
    color: #8a6d3b;
}

.attentive-form-field {
    margin-bottom: 1rem;
}

.attentive-form-field .attentive-box {
    padding: 12px;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
}

.attentive-form-field .attentive-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.attentive-form-field .attentive-row .form-checkbox,
.attentive-form-field .attentive-row .optimizedCheckout-form-label {
    margin-bottom: 0;
}

.attentive-form-field .attentive-panel {
    overflow: hidden;
    height: 0;
    opacity: 0;
    transition: height 220ms ease, opacity 220ms ease;
    display: none;
    margin-top: 12px;
    border-top: 1px solid #eee;
    padding-top: 12px;
}

.attentive-form-field .attentive-input {
    width: 100%;
    margin-bottom: 8px;
}

.attentive-form-field .attentive-hint {
    font-size: 12px;
    line-height: 1.3;
    color: #555;
}

@media (prefers-reduced-motion: reduce) {
    #micro-app-ng-checkout .attentive-form-field .attentive-panel {
        transition: none;
    }
}

.disabled {
    cursor: not-allowed;
    opacity: 0.1;
    pointer-events: none;
}

.hasSale {
    color: #bf1e1d;
}

.checkout-button-container {
    display: none !important;
}

.checkout-step--customer #checkout-customer-guest .form-body p:not(.customer-login-link),
.checkout-step--customer #checkout-customer-guest .form-body #applepayCheckoutButton,
.checkout-step--customer #checkout-customer-guest .form-body #paypalcommerceCheckoutButton {
    display: none !important;
}

.stockMessage {
    width: fit-content;
    background-color: unset;
    padding: 4px 0;
    display: flex;
    align-items: center;
    min-height: 28px;
    font-size: 1rem;
    line-height: 1.25;
    color: #000;
}

.stockMessage::before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    margin-right: 10px;
}

.stockMessage[data-title=""]:not(.stockMessage--loading) {
    display: none;
}

.stockMessage--loading {
    width: 100%;
    max-width: 280px;
}

.stockMessage--loading::before {
    background-color: #d1d5db;
}

.stockMessage-placeholder {
    display: block;
    width: min(220px, 100%);
    height: 14px;
    border-radius: 999px;
    background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
    background-size: 200% 100%;
    animation: stockMessageShimmer 1.2s ease-in-out infinite;
}

@keyframes stockMessageShimmer {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.stockMessage[data-title*="ready to ship" i] {
    color: green;
}

.stockMessage[data-title*="ready to ship" i]::before {
    background-color: green;
}

.stockMessage[data-title*="out of stock" i]::before,
.stockMessage[data-title*="left in stock" i]::before {
    background-color: red;
}

.stockMessage[data-title*="due to high demand" i]::before,
.stockMessage[data-title*="ships directly from our trusted partner" i]::before {
    display: none;
}

.slide-up-drawer__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    z-index: 1000;
}

.slide-up-drawer__backdrop--open {
    opacity: 1;
    pointer-events: auto;
}

.slide-up-drawer__prelayers {
    position: fixed;
    z-index: 1001;
    pointer-events: none;
}

.slide-up-drawer__prelayers[data-position="bottom"] {
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--drawer-height, 70vh);
    max-height: var(--drawer-max-height, 100vh);
}

.slide-up-drawer__prelayers[data-position="top"] {
    left: 0;
    right: 0;
    top: 0;
    height: var(--drawer-height, 70vh);
    max-height: var(--drawer-max-height, 100vh);
}

.slide-up-drawer__prelayers[data-position="right"] {
    top: 0;
    right: 0;
    height: 100vh;
    width: var(--drawer-width, 420px);
    max-width: var(--drawer-max-width, 100vw);
}

.slide-up-drawer__prelayers[data-position="left"] {
    top: 0;
    left: 0;
    height: 100vh;
    width: var(--drawer-width, 420px);
    max-width: var(--drawer-max-width, 100vw);
}

.slide-up-drawer__prelayer {
    position: absolute;
    inset: 0;
    will-change: transform;
}

.slide-up-drawer {
    --drawer-width: 420px;
    --drawer-height: 70vh;
    --drawer-max-width: 100vw;
    --drawer-max-height: 100vh;

    position: fixed;
    z-index: 1002;
    background: #fff;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    will-change: transform;
    visibility: hidden;
}

.slide-up-drawer--open {
    visibility: visible;
}

.slide-up-drawer--animating {
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.slide-up-drawer[data-position="bottom"] {
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--drawer-height);
    max-height: var(--drawer-max-height);
}

.slide-up-drawer[data-position="top"] {
    left: 0;
    right: 0;
    top: 0;
    height: var(--drawer-height);
    max-height: var(--drawer-max-height);
}

.slide-up-drawer[data-position="right"] {
    top: 0;
    right: 0;
    height: 100vh;
    width: var(--drawer-width);
    max-width: var(--drawer-max-width);
}

.slide-up-drawer[data-position="left"] {
    top: 0;
    left: 0;
    height: 100vh;
    width: var(--drawer-width);
    max-width: var(--drawer-max-width);
}

.slide-up-drawer__body {
    padding: 46px 20px 15px 15px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    flex: 1;
}

.slide-up-drawer__close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.slide-up-drawer__close:hover {
    opacity: 0.7;
}

.slide-up-drawer__close:focus {
    outline: 2px solid #000 !important;
    outline-offset: 1px;
}

.slide-up-drawer__close-icon {
    width: 18px;
    height: 18px;
    stroke: #333;
}

.slide-up-drawer-no-scroll {
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .slide-up-drawer,
    .slide-up-drawer__backdrop {
        transition: none;
    }
}

.slide-up-drawer-no-scroll,
html:has(.slide-up-drawer__backdrop--open),
body:has(.slide-up-drawer__backdrop--open) {
    scrollbar-gutter: stable;
}

.shippingPolicyEmbedHost .breadcrumbs {
    display: none !important;
}

#checkout-payment-continue {
    background: #000;
    color: #fff;
}
