
.product_revamped_list-breadcrumbs--extra_margin { margin-top: 0 !important; }

.header-banner-stack { display: flex; flex-direction: column; width: 100%; flex: 0 0 100%; background-color: #f0f0f0; }
.header-banner-stack__row { position: relative; width: 100%; flex: 0 0 auto; overflow: hidden; }
.header-banner-stack__row[hidden] { display: none !important; }
.header-banner-stack__row + .header-banner-stack__row:not([hidden]) { border-top: 1px solid #e0e0e0; }
.header-banner-stack__row .owl-stage-outer { overflow: hidden !important; }

.header_banner, .header_banner * { color: #000 !important; }
.header-banner-stack { background-color: #f0f0f0 !important; }

.header_banner-content { display: block !important; width: 100%; }
.header_banner .header_banner-close { display: none !important; }
.header-promotion__link-text { text-decoration: underline; }
.header_banner .header-promotion { margin: 7px 0; padding: 0 34px; font-size: 15px; }

.header_banner { height: auto !important; max-height: none !important; overflow: visible !important; font-size: 15px; }

/* .ckb-x { position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
            width: 22px; height: 22px; padding: 0; border: 0; background: none; cursor: pointer;
            font-size: 18px; line-height: 1; color: #666; z-index: 2; }
.ckb-x:hover { color: #000; } */

.header_banner .ckb-x,
.ckb-x { position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
         display: inline-flex; align-items: center; justify-content: center;
         width: 20px; height: 20px; padding: 0; border: 0; border-radius: 0;
         background: transparent; appearance: none; box-shadow: none; cursor: pointer;
         font-size: 20px; font-weight: 400; line-height: 1; z-index: 2;
         color: #999 !important; }
.header_banner .ckb-x:hover { color: #000 !important; }
.header_banner .ckb-x:focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }
.ckb-x { -webkit-tap-highlight-color: transparent; }

:root { --ckb-h: 66px; }

.js-revamped-list-sortby-filter.had-banner { top: var(--ckb-h) !important; }
.js-revamped-list-sortby-filter.had-nobanner { top: calc(var(--ckb-h) + 50px) !important; }

@media (min-width: 1280px) {
    .cart_sticky_bar.is-stuck { top: var(--ckb-h) !important; }
    .cart_sticky_bar.nav-down { top: calc(var(--ckb-h) + 50px) !important; }
}

/* keyed off the data attribute, NOT the class name - the class name alone
    incorrectly matched SG too, which is what caused the spacing bug there */
@media (max-width: 1279.98px) {
    .page_header--cart-offset[data-dynamic-header="false"] {
        position: static !important;
        margin-top: 0 !important;
    }
}

.js-pdp-product-bar { top: var(--ckb-h) !important; padding-top: 0 !important; }

.shopping_cart-title { margin-top: 20px !important; }
@media (min-width: 1280px) {
    .shopping_cart-title { margin-top: 50px !important; }
}

@media (min-width: 1280px) {
    .page--search .page_header--dynamic { top: -14px; }
    .page--search .page_header--dynamic.nav-down { top: 0; }
    .page--search .page_header--dynamic.nav-up { top: -95px; }

    .page-header_banner_wrapper--empty { height: clamp(0px, calc(80px - var(--ckb-h)), 40px) !important; }
}

@media (min-width: 1280px) {
    .pdp-page-content { padding-top: var(--ckb-h) !important; }
}
@media (max-width: 1279.98px) {
    .pdp-banner-mobile .pdp-product_breadcrumb { margin-top: var(--ckb-h) !important; }
}

@media (min-width: 1280px) {
    .pdp-page-content .page_header--dynamic { top: calc(var(--ckb-h) * -1); }
    .pdp-page-content .page_header--dynamic.nav-down { top: 0; }
    .pdp-page-content .page_header--dynamic.nav-up { top: -95px; }
}
