/* Nike PDP Page Designer critical styles.
   Keeps product image mosaic and add-to-cart UI stable without loading the full globalPageDesigner.css payload. */

.product-detail .columns-layout .region[class*="col-"]:first-child {
    padding: 0;
}

.storepage.product-detail {
    overflow-x: hidden;
}

.columns-layout .region {
    padding: 0;
}

.columns-layout .column-1-container,
.columns-layout .column-2-container,
.columns-layout .column-3-container {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
}

@media (max-width: 991.98px) {
    .product-detail .columns-layout.pdp-columns {
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .product-detail .columns-layout.pdp-columns > .row > .region:first-child {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (min-width: 768px) {
    .columns-layout .column-1-container {
        padding-right: 0.375rem;
    }

    .columns-layout .column-2-container,
    .columns-layout .column-3-container {
        padding-left: 0.375rem;
    }
}

@media (min-width: 576px) {
    .product-detail .experience-columnsComponent {
        margin-top: 0.9375rem;
    }

    .product-detail .experience-columnsComponent .column-1-container.col-12.col-lg-8 {
        padding: 0;
    }

    .product-detail .experience-columnsComponent .column-2-container.col-12.col-lg-4 {
        padding-left: 3rem;
        padding-right: 0.4rem;
        padding-top: 2rem;
    }
}

@media (min-width: 992px) {
    .product-detail .experience-columnsComponent .column-1-container.col-12.col-lg-8 {
        padding-top: 1.625rem;
    }
}

@media screen and (max-width: 767px) {
    .product-detail .product-text-wrapper.container,
    .product-detail .experience-component.experience-productPrice .container {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

@media (max-width: 575.98px) {
    .primary-images {
        margin: 0;
        padding: 0;
    }
}

.experience-mobileSticky .experience-productAddToCart .btn-pdp.show {
    width: 100% !important;
    margin: auto !important;
    transition: width 0.2s ease-in-out !important;
}

.experience-mobileSticky .experience-productAddToCart .btn-pdp.hidden {
    width: 80% !important;
    transition: width 0.2s ease-in-out !important;
}

.experience-productVariation [data-attr="size"] {
    margin-bottom: 1.45rem !important;
}

.experience-productQuantity {
    display: none;
}

.swatchable.red-flag {
    border: 1px solid red;
    border-radius: 8px;
    padding: 2px;
}

.primary-images .zoom-wrapper .gallery-wrapper {
    width: 100% !important;
}

.primary-images .zoom-wrapper .gallery-wrapper .image-wrapper,
.primary-images .zoom-wrapper .gallery-wrapper .video-wrapper {
    margin-bottom: 1.875rem;
}

.primary-images .zoom-wrapper .gallery-wrapper .image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.primary-images .zoom-wrapper .gallery-wrapper .video-wrapper video {
    width: 100%;
    height: 28.625rem;
    object-fit: cover;
}

.primary-images .zoom-wrapper #zoom_gallery_pdp .slick-list {
    margin: 0 -0.3125rem;
}

.primary-images .zoom-wrapper #zoom_gallery_pdp .slick-list .slick-slide {
    margin: 0 1px;
}

@media (min-width: 992px) {
    .primary-images .zoom-wrapper .gallery-wrapper {
        width: 100%;
    }

    .primary-images .zoom-wrapper .gallery-wrapper .image-wrapper,
    .primary-images .zoom-wrapper .gallery-wrapper .video-wrapper {
        margin-bottom: 0.75rem;
        width: 100%;
        height: auto;
    }

    .primary-images .zoom-wrapper .gallery-wrapper .image-wrapper img,
    .primary-images .zoom-wrapper .gallery-wrapper .video-wrapper img {
        height: auto;
    }
}

.primary-images .image-badge {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.125rem;
    border-radius: 4rem;
    padding: 0.625rem 1rem;
    gap: 6px;
    display: flex;
    color: #111;
    background: #fff;
    margin: 1.375rem 1.125rem;
    position: absolute;
    z-index: 1;
}

.primary-images .image-badge span {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

#imagesModal {
    padding-right: 0 !important;
}

#imagesModal .modal-header {
    border-bottom: none;
    position: sticky;
    top: 0.75rem;
    z-index: 1;
    height: 0;
}

#imagesModal .modal-header .close {
    opacity: 1;
}

#imagesModal .modal-header .close span {
    font-size: 1.625rem;
    text-shadow:
        var(--color-secondary) 0.0625rem 0 0,
        var(--color-secondary) -0.0625rem 0 0,
        var(--color-secondary) 0 0.0625rem 0,
        var(--color-secondary) 0 -0.0625rem 0;
}

#imagesModal .modal-dialog {
    height: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

#imagesModal .modal-content {
    height: auto;
    min-height: 100%;
    border-radius: 0;
    width: 100%;
}

#imagesModal .modal-content .modal-body {
    padding: 0;
}

#imagesModal .modal-content .modal-body img,
#imagesModal .modal-content .modal-body video {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0.625rem;
}

.coming-soon-product,
.sold-out-product {
    background: var(--color-light-shades);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 16px;
    padding-bottom: 16px;
    margin-top: 16px;
    margin-bottom: 16px;
}

.sold-out-product {
    padding-left: 16px;
    padding-right: 16px;
}

.coming-soon-product span,
.sold-out-product span {
    font-family: var(--button-primary-font-family);
    font-weight: var(--body-font-weight);
    text-align: center;
}

.coming-soon-date {
    font-size: 15px;
    text-align: center;
}

.row.cart-and-ipay {
    text-align: center;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    margin-bottom: 0.75rem;
}

.product-detail .pdp-columns .row.cart-and-ipay {
    margin-bottom: 0.75rem;
}

@media (max-width: 991.98px) {
    .row.cart-and-ipay {
        margin-left: 1.25rem;
        margin-right: 1.25rem;
    }
}

.row.cart-and-ipay .col-sm-12 {
    padding-left: 0;
    padding-right: 0;
}

.row.cart-and-ipay button.btn-pdp {
    width: 100%;
    min-height: 3.75rem;
    padding: 1.03125rem 1.40625rem;
    border: 0.09375rem solid transparent;
    border-radius: 1.875rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-black);
    color: var(--color-white);
    font-size: var(--base-font-size);
    cursor: pointer;
    font-family: var(--button-primary-font-family);
}

.row.cart-and-ipay button.btn-pdp:hover {
    background: var(--color-grey4);
}

.row.cart-and-ipay button.btn-pdp:disabled {
    background-color: #b0b0b0;
    cursor: not-allowed;
}

.mobile-sticky-container .row .region.col-12 {
    margin-top: 0;
}

@media (min-width: 768px) {
    .mobile-sticky-container {
        display: none;
    }
}

.prices-add-to-cart-actions {
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 50;
    left: 0;
    padding-right: 0;
    padding-left: 0;
    background-color: transparent;
    box-shadow: none;
}

@media (max-width: 575.98px) {
    .prices-add-to-cart-actions {
        background-color: hsla(0, 0%, 100%, 0.95);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    }
}

@media (min-width: 576px) {
    .prices-add-to-cart-actions {
        position: static;
        padding: 0 0.9375em;
    }
}

.prices,
.prices-add-to-cart-actions .price {
    text-align: center;
}

.prices {
    padding-bottom: 0.5em;
    padding-top: 0.5em;
}

.prices-add-to-cart-actions .region {
    padding-left: 0;
    padding-right: 0;
    margin: 0;
}

.prices-add-to-cart-actions .region .cart-and-ipay {
    margin: 0;
}

.prices-add-to-cart-actions .region .cart-and-ipay button.btn-pdp {
    width: 100%;
    min-height: 3.75rem;
    padding: 1.03125rem 1.40625rem;
    border: 0.09375rem solid transparent;
    border-radius: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-black);
    color: var(--color-white);
    font-size: var(--base-font-size);
    cursor: pointer;
}

.prices-add-to-cart-actions .region .cart-and-ipay button.btn-pdp.hidden {
    visibility: hidden;
}

.experience-mobileSticky,
.prices-add-to-cart-actions .region .cart-and-ipay button.btn-pdp.show {
    display: block;
}

@media (max-width: 575.98px) {
    .product-detail .mobile-sticky-container.prices-add-to-cart-actions {
        background-color: transparent;
        box-shadow: none;
    }

    .product-detail .mobile-sticky-container .row.cart-and-ipay {
        margin: 0 !important;
    }

    .product-detail .mobile-sticky-container .region .cart-and-ipay button.btn-pdp.hidden,
    .product-detail .mobile-sticky-container .experience-productAddToCart .add-to-cart.btn-pdp.hidden {
        width: 100% !important;
        visibility: visible !important;
    }
}

@media (min-width: 576px) {
    .experience-mobileSticky {
        display: none;
    }
}
