:root {
    --rb-promo-height: 33px;
    --rb-mobile-gutter: clamp(1rem, 4vw, 1.5rem);
}

html {
    scroll-padding-top: calc(var(--rb-promo-height) + 84px);
}

.rb-product-price-current {
    color: #e50914 !important;
    opacity: 1 !important;
    text-shadow: none;
}

.rb-product-price-current.is-sold-out {
    color: rgba(255, 255, 255, .46) !important;
}

.rb-product-price-original {
    color: rgba(255, 255, 255, .48) !important;
}

.rb-product-promo-badge {
    background: #e50914 !important;
    color: #fff !important;
}

body.theme-light .rb-product-price-current {
    color: #b0000a !important;
}

body.theme-light .rb-product-price-current.is-sold-out {
    color: rgba(17, 17, 17, .48) !important;
}

body.theme-light .rb-product-price-original {
    color: rgba(17, 17, 17, .58) !important;
}

.rb-order-helper {
    border: 1px solid rgba(229, 9, 20, .55) !important;
    background: rgba(229, 9, 20, .12) !important;
}

.rb-order-helper-title {
    color: #ff2732 !important;
}

.rb-order-helper-copy {
    color: rgba(255, 255, 255, .82) !important;
}

.rb-cart-cta {
    border: 1px solid #fff !important;
    background: #fff !important;
    color: #050505 !important;
}

.rb-cart-cta:hover {
    border-color: #e50914 !important;
    background: #e50914 !important;
    color: #fff !important;
}

.rb-checkout-cta {
    border: 1px solid rgba(255, 255, 255, .5) !important;
    background: #050505 !important;
    color: #fff !important;
}

.rb-checkout-cta:hover {
    border-color: #e50914 !important;
    color: #ff2732 !important;
}

body.theme-light .rb-order-helper {
    border-color: rgba(176, 0, 10, .55) !important;
    background: rgba(229, 9, 20, .09) !important;
}

body.theme-light .rb-order-helper-title {
    color: #a90009 !important;
}

body.theme-light .rb-order-helper-copy {
    color: #252525 !important;
}

body.theme-light .rb-checkout-cta {
    border-color: #333 !important;
    background: #171717 !important;
    color: #fff !important;
}

.rb-store-header {
    top: var(--rb-promo-height) !important;
}

.rb-store-header-inner {
    padding-left: max(var(--rb-mobile-gutter), env(safe-area-inset-left));
    padding-right: max(var(--rb-mobile-gutter), env(safe-area-inset-right));
}

.rb-mobile-action {
    min-width: 44px;
    min-height: 44px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.theme-toggle-floating {
    position: fixed;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 70;
    min-width: 132px;
    justify-content: center;
    border-color: rgba(229, 9, 20, .55) !important;
    background: rgba(5, 5, 5, .88) !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .34);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

body.theme-light .theme-toggle-floating {
    border-color: rgba(229, 9, 20, .5) !important;
    background: rgba(238, 238, 238, .92) !important;
    color: #111 !important;
}

a.rb-mobile-action,
.rb-mobile-menu button.rb-mobile-action {
    display: inline-grid;
    place-items: center;
}

.rb-mobile-menu {
    height: 100vh;
    height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: env(safe-area-inset-bottom);
}

.rb-mobile-menu-head {
    min-height: 68px;
    padding-top: max(1rem, env(safe-area-inset-top));
    padding-left: max(1.25rem, env(safe-area-inset-left));
    padding-right: max(1.25rem, env(safe-area-inset-right));
}

.rb-mobile-menu-links {
    justify-content: center;
    gap: clamp(1rem, 4.2vh, 2.25rem) !important;
    padding: clamp(1.25rem, 5vh, 3rem) max(1.5rem, env(safe-area-inset-left));
}

.rb-mobile-menu-links a {
    width: 100%;
    min-height: 44px;
    align-items: center;
    touch-action: manipulation;
}

.rb-mobile-menu-links a > span:first-child {
    font-size: clamp(2.35rem, 11vw, 4rem) !important;
    line-height: .96;
    overflow-wrap: anywhere;
}

.rb-story-video-frame {
    width: 100%;
    height: clamp(340px, 72vh, 760px);
    height: clamp(340px, 72svh, 760px);
    background: #080808;
}

.rb-story-video {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    object-fit: cover;
    object-position: center;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.rb-story-video-play:not(.hidden) {
    display: inline-flex;
}

.rb-video-caption {
    padding: clamp(1.25rem, 5vw, 3rem) !important;
    padding-bottom: max(clamp(1.25rem, 5vw, 3rem), env(safe-area-inset-bottom)) !important;
}

@media (max-width: 479px) {
    :root {
        --rb-promo-height: 32px;
    }

    .rb-store-header-inner {
        height: 66px !important;
    }

    .rb-store-logo-main {
        font-size: clamp(1.05rem, 5.3vw, 1.5rem) !important;
        letter-spacing: -.08em !important;
    }

    .rb-mobile-menu-links {
        justify-content: flex-start;
    }

    .rb-story-video-frame {
        height: 68vh;
        height: 68svh;
        min-height: 340px;
        max-height: 620px;
    }

    .rb-story-video {
        object-position: 50% 45%;
    }
}

@media (max-width: 768px) {
    .theme-toggle-floating {
        right: 12px;
        top: auto;
        bottom: 92px;
        min-width: 48px;
        padding: 6px !important;
        transform: none;
    }

    .theme-toggle-floating #themeLabel {
        display: none;
    }
}

@media (max-width: 1023px) {
    #main-header .rb-store-header-inner {
        height: clamp(64px, 9vw, 74px) !important;
    }

    #main-header .rb-store-logo-main {
        max-width: 48vw;
        font-size: clamp(1.15rem, 4.2vw, 2rem) !important;
        line-height: 1;
    }

    #main-header .rb-mobile-action {
        min-width: 40px;
        min-height: 40px;
    }

    #main-header svg {
        width: 1.35rem;
        height: 1.35rem;
    }
}

@media (max-height: 650px) {
    .rb-mobile-menu-links {
        justify-content: flex-start;
        gap: .75rem !important;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .rb-mobile-menu-links a > span:first-child {
        font-size: clamp(2rem, 9vh, 3rem) !important;
    }
}

@media (orientation: landscape) and (max-height: 520px) {
    #main-header .rb-store-header-inner {
        height: 58px !important;
    }

    #main-header .rb-store-logo-main {
        font-size: clamp(1.1rem, 3.8vw, 1.65rem) !important;
    }

    .rb-mobile-menu-links {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-content: center;
        column-gap: 1.5rem !important;
    }

    .rb-mobile-menu-links a > span:first-child {
        font-size: clamp(1.8rem, 9vh, 2.75rem) !important;
    }

    .rb-story-video-frame {
        height: calc(100vh - var(--rb-promo-height));
        height: calc(100dvh - var(--rb-promo-height));
        min-height: 260px;
        max-height: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rb-mobile-menu,
    .rb-mobile-menu * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Shared product image swap for category catalogs. */
.catalog-image-frame {
    overflow: hidden;
}

.catalog-primary-image,
.catalog-hover-image {
    transition: opacity .42s ease, transform .7s cubic-bezier(.16, 1, .3, 1);
}

.catalog-hover-image {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.015);
}

@media (hover: hover) and (pointer: fine) {
    .group:hover .catalog-primary-image {
        transform: scale(1.055);
    }

    .group:hover .catalog-primary-image.has-hover-image {
        opacity: 0;
        transform: scale(1.025);
    }

    .group:hover .catalog-hover-image {
        opacity: 1;
        transform: scale(1.055);
    }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-primary-image,
    .catalog-hover-image {
        transition-duration: .01ms !important;
    }
}
