/* ================================
Version: 1.0.1
================================ */
/* ================================
Utils
================================ */

html {
    scroll-behavior: smooth;
}

.rev-section a:hover,
button:hover {
    cursor: pointer;
}



/* ================================
Common Components
================================ */

/* ================================
Sections
================================ */

/* ================================
Spacing & Sizing
================================ */

.rev-section {
    padding-top: var(--rev-spacing-section);
    padding-bottom: var(--rev-spacing-section);
}

.rev-container {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 var(--rev-gutter-mob);
}

.rev-container-stacked {
    flex-direction: column;
}

@media (max-width: 768px) {
    .rev-section {
        padding-top: var(--rev-spacing-section-mob);
        padding-bottom: var(--rev-spacing-section-mob);
    }
}

.rev-section.rev-no-padding {
    padding-top: 0;
    padding-bottom: 0;
}

@media (min-width: 769px) {
    .rev-container {
        margin: 0 max(var(--rev-gutter-min), calc((100vw - var(--rev-max-width))/2));
    }
}

/* ================================
Buttons
================================ */

.rev-button-container {
    display: block;
}

.rev-link {
    color: var(--rev-color);
    width: fit-content;
    min-height: fit-content;
    cursor: pointer;
    box-sizing: border-box;
    line-height: normal;
    font-size: var(--rev-font-size);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 6px;
}

.rev-button {
    background: var(--rev-background);
    color: var(--rev-color);
    width: 100%;
    display: inline-flex;
    flex-direction: column;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    white-space: nowrap;
    border-radius: var(--rev-border-radius, var(--rev-button-border-radius));
    padding: var(--rev-vertical-padding, var(--rev-button-padding-vertical)) 20px;
    min-height: fit-content;
    box-sizing: border-box;
    line-height: normal;
    gap: 4px;
    font-size: var(--rev-font-size, var(--rev-button-font-size));
    font-weight: var(--rev-font-weight, var(--rev-button-font-weight));
    text-align: center;
    text-decoration: none;
}

.rev-button-primary {
    --rev-background: var(--rev-button-primary-bg);
    --rev-color: var(--rev-button-primary-color);
    --rev-spin-color: var(--rev-button-primary-spin);
    --rev-background-preorder: var(--rev-button-preorder-bg);
    --rev-color-preorder: var(--rev-button-preorder-color);
    --rev-spin-preorder: var(--rev-button-preorder-spin);
}

.rev-button-secondary {
    --rev-background: var(--rev-button-secondary-bg);
    --rev-color: var(--rev-button-secondary-color);
    --rev-spin-color: var(--rev-button-secondary-spin);
    --rev-background-preorder: var(--rev-button-preorder-bg);
    --rev-color-preorder: var(--rev-button-preorder-color);
    --rev-spin-preorder: var(--rev-button-preorder-spin);
}

.rev-button-link {
    --rev-background: transparent;
    --rev-color: var(--rev-link-color);
    font-size: var(--rev-font-size, var(--rev-link-font-size));
    font-weight: var(--rev-font-weight, var(--rev-link-font-weight));
    text-decoration: underline;
    text-underline-offset: 2px;
    padding: 0;
    border-radius: 0;
}

.rev-btn-static-shine {
    position: relative;
    overflow: hidden;
}

.rev-btn-static-shine::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    animation: static_shine 3s linear infinite;
}

@keyframes static_shine {
    to {
        left: 100%;
    }
}

[class*="rev-btn-hover-"] {
    position: relative;
    overflow: hidden;
    display: flex;
}

[class*="rev-btn-hover-"]:has(.rev-button-link),
[class*="rev-btn-static-"]:has(.rev-button-link) {
    overflow: visible;
    transform: none;
    box-shadow: none;
    transition: none;
}

[class*="rev-btn-hover-"]:has(.rev-button-link)::before {
    display: none;
}

[class*="rev-btn-hover-"]::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}

[class*="rev-btn-hover-"] .rev-button span {
    position: relative;
    z-index: 2;
}

.rev-btn-hover-swipe::before {
    background: rgba(255, 255, 255, 0.15);
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.rev-btn-hover-swipe:hover::before {
    transform: translateX(0);
}

.rev-btn-hover-shine::before {
    top: -50%;
    left: -75%;
    right: auto;
    bottom: auto;
    width: 50%;
    height: 200%;
    background: linear-gradient(105deg,
            transparent 40%,
            rgba(255, 255, 255, 0.25) 45%,
            rgba(255, 255, 255, 0.35) 50%,
            rgba(255, 255, 255, 0.25) 55%,
            transparent 60%);
    transform: skewX(-15deg);
    transition: left 1.0s cubic-bezier(0.22, 1, 0.36, 1);
}

.rev-btn-hover-shine:hover::before {
    left: 125%;
}

.rev-btn-hover-lift {
    overflow: visible;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rev-btn-hover-lift::before {
    display: none;
}

.rev-btn-hover-lift:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.rev-btn-hover-prestige .rev-button {
    border: 2px solid var(--rev-background);
    position: relative;
    display: flex;
}

.rev-btn-hover-prestige .rev-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .45s;
    background-color: var(--rev-background);
}

.rev-btn-hover-prestige .rev-button:hover::before {
    transform: translateX(100%);
}

.rev-btn-hover-prestige .rev-button:hover span {
    color: var(--rev-background);
    z-index: 1;
    position: relative;
}

.rev-btn-hover-prestige .rev-button {
    background: transparent !important;
    position: relative;
}

.rev-button span {
    text-box: trim-end cap text;
    position: relative;
}

.rev-button-subtext {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    font-size: var(--rev-font-size, var(--rev-button-subtext-size));
    letter-spacing: .2px;
    margin-top: calc(var(--rev-font-size, var(--rev-button-subtext-size)) * .25);
}

.rev-button-subtext .rev-icon {
    color: var(--rev-color);
}

.rev-button-subtext .rev-icon svg {
    width: 12px;
}

@media (min-width: 769px) {
    .rev-button {
        max-width: fit-content;
    }
}

/* ================================
Common Text
================================ */

.rev-section-header {
    text-align: center;
    margin-bottom: 20px;
    line-height: normal;
}

.rev-heading,
.rev-subheading,
.rev-text {
    color: inherit;
}

.rev-heading {
    margin-bottom: 16px;
    line-height: normal;
}

.rev-subheading {
    margin-bottom: 4px;
    line-height: normal;
}

/* ================================
Icons & Media
================================ */

.rev-icon {
    height: auto;
    display: flex;
    align-items: center;
    color: var(--rev-icon-color);
}

.rev-icon svg {
    width: var(--rev-icon-size);
    height: auto;
    aspect-ratio: 1/1;
    object-fit: contain;
}

.rev-play {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent;
    border: 0;
}

.rev-play-button {
    pointer-events: all;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    height: 100px;
    width: 100px;
    border-radius: 100px;
    transition: all 200ms;
}

.rev-play:hover .rev-play-button {
    transform: scale(1.1);
}

.rev-icon-play {
    height: 34px;
    width: 34px;
}

.rev-icon-play path {
    fill: #151515;
}

.rev-media {
    height: 100%;
    width: 100%;
    object-fit: var(--rev-object-fit, cover);
    display: flex;
    position: relative;
    aspect-ratio: var(--rev-aspect-ratio);
}

.rev-media img,
.rev-media video {
    height: 100%;
    width: 100%;
    object-fit: var(--rev-object-fit, cover);
    aspect-ratio: var(--rev-aspect-ratio);
}

.rev-adaptable-media-content .rev-media img,
.rev-adaptable-media-content .rev-media video {
    min-height: -webkit-fill-available;
}

.rev-media video {
    display: flex;
    min-height: -webkit-fill-available;
}

@media (max-width: 768px) {
    .rev-play-button {
        transform: scale(.75);
    }

    .rev-media-desk {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .rev-media-flip {
        flex-direction: row-reverse;
    }

    .rev-media-mob {
        display: none !important;
    }
}

/* ================================
Lander Header
================================ */

.rev-lander-header-main {
    padding: 0 !important;
}

.rev-lander-header-container .rev-button-container {
    min-width: fit-content;
    max-width: fit-content;
}

.rev-lander-header {
    width: 100%;
    background-color: var(--rev-background);
    color: var(--rev-color);
    border-bottom: 1px solid var(--rev-border);
    transition: none;
    z-index: 10;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.rev-lander-header-placeholder {
    width: 100%;
    height: 0;
}

.rev-lander-header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    gap: 30px;
}

.rev-head-logo {
    display: block;
    height: calc(80px - 2rem);
    width: fit-content;
    min-width: fit-content;
    max-height: 35px;
}

.rev-head-logo img {
    height: 100%;
    width: auto;
}

.rev-lander-offer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: -webkit-fill-available;
}

.rev-lander-offer .rev-pill-wrap {
    margin-left: .5em;
}

.rev-lander-offer h3 {
    margin: 0;
    font-size: var(--rev-font-size) !important;
    color: inherit;
    line-height: normal;
}

.rev-head-timer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rev-countdown {
    background: var(--rev-background);
    color: var(--rev-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 10px 7px;
    border-radius: 9px;
    min-width: 90px;
    height: 100%;
    font-weight: 600;
    font-size: 16px;
}

.rev-lander-header .rev-button {
    display: inline-flex;
    width: fit-content;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .rev-lander-header-container {
        padding: 0;
        min-height: 40px;
        gap: 14px;
        justify-content: flex-start;
        padding: 8px 10px;
        max-width: calc(100% - 1px);
        overflow: auto !important;
    }

    .rev-head-timer h3,
    .rev-lander-header .rev-button {
        display: none;
    }

    .rev-head-logo {
        max-width: 15vw;
        min-width: unset;
        display: flex;
        align-items: center;
        object-fit: contain;
    }

    .rev-head-logo img {
        width: 100%;
        height: auto;
    }

    .rev-lander-offer {
        display: flex;
        align-items: center;
        justify-content: center;
        width: -webkit-fill-available;
        gap: 14px;
    }

    .rev-lander-offer h3 {
        font-size: calc(var(--rev-font-size) * 0.8);
    }

    .rev-countdown {
        padding: 4px 10px 4px;
    }
}

@media (min-width: 769px) {
    .rev-head-timer h3 {
        margin-left: 2rem;
        padding-left: 2rem;
        border-left: 2px solid;
    }
}

/* ================================
Adaptable Media Content
================================ */

[data-rev-adapt-block]:not(:has(*)) {
    display: none;
}

[data-rev-adapt-block]+[data-rev-adapt-block] {
    margin-top: var(--rev-spacing-element);
}

[data-rev-adapt-block="subheading"]+[data-rev-adapt-block="heading"],
[data-rev-adapt-block="heading"]+[data-rev-adapt-block="text"],
[data-rev-adapt-block="text"]+[data-rev-adapt-block="button"],
[data-rev-adapt-block="review-stars"]+[data-rev-adapt-block="button"],
[data-rev-adapt-block="button"]+[data-rev-adapt-block="review-stars"] {
    margin-top: var(--rev-spacing-tight);
}

[data-rev-adapt-block="value-prop-list"]+[data-rev-adapt-block="value-prop-list"],
[data-rev-adapt-block="highlight-row"]+[data-rev-adapt-block="highlight-row"] {
    margin-top: 0;
}

@media (max-width: 768px) {
    [data-rev-adapt-block]+[data-rev-adapt-block] {
        margin-top: var(--rev-spacing-element-mob);
    }

    [data-rev-adapt-block="subheading"]+[data-rev-adapt-block="heading"],
    [data-rev-adapt-block="heading"]+[data-rev-adapt-block="text"],
    [data-rev-adapt-block="text"]+[data-rev-adapt-block="button"],
    [data-rev-adapt-block="review-stars"]+[data-rev-adapt-block="button"],
    [data-rev-adapt-block="button"]+[data-rev-adapt-block="review-stars"] {
        margin-top: var(--rev-spacing-tight-mob);
    }
}

.rev-adapt-content {
    width: 100%;
    min-width: 0;
    height: fit-content;
    position: relative;
    padding: 20px;
    z-index: 1;
    text-align: var(--rev-text-align);
}

.rev-adapt-content .rev-button-container {
    display: flex;
    justify-content: var(--rev-text-align);
}

.rev-adapt-content a:not(.rev-button) {
    color: inherit;
}

.rev-adapt-heading,
.rev-adapt-subheading,
.rev-adapt-content p {
    color: var(--rev-color);
    margin-top: 0;
    margin-bottom: 20px;
    width: 100%;
    text-align: inherit;
    line-height: normal;
}

.rev-adapt-subheading {
    font-size: var(--rev-font-size);
    margin-bottom: 10px;
}

.rev-adapt-card {
    background: var(--rev-background);
    border-radius: var(--rev-radius-lg);
    overflow: hidden;
    padding: 0;
}

.rev-adapt-section {
    margin: 0;
}

.rev-media-banner {
    padding: 0;
}

.rev-container.rev-adapt-banner {
    margin: 0;
    padding: 20px;
    min-width: 100%;
}

.rev-adapt-banner {
    height: var(--rev-height-mobile);
    max-height: calc(100vh - 60px);
    align-items: var(--rev-vertical-align-mobile);
}

.rev-adapt-banner .rev-media {
    position: absolute;
    top: 0;
    left: 0;
}

.rev-overlay-gradient:after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(to top, var(--rev-background), transparent);
}

.rev-adapt-content.rev-overlay-glass {
    border-radius: var(--rev-border-radius);
    background: var(--rev-background);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.rev-value-prop-list,
.rev-highlight-row {
    list-style: none;
    display: inline-flex;
    margin: 0;
    max-width: 100%;
    overflow: hidden;
    margin-bottom: 16px;
}

.rev-highlight-row {
    padding: 0;
    margin-bottom: 0;
}

.rev-value-prop-list {
    flex-direction: column;
    gap: 16px;
}

.rev-value-prop-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: var(--rev-font-size);
}

.rev-highlight-item {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
}

.rev-highlight-img-wrap {
    padding: 0;
}

.rev-highlight-img {
    width: var(--rev-icon-size);
    height: auto;
}

.rev-highlight-item h3 {
    font-size: var(--rev-label-font-size);
    margin-bottom: 8px;
    line-height: normal;
    color: var(--rev-color);
}

.rev-adapt-icon {
    width: var(--rev-icon-size);
    height: var(--rev-icon-size);
    max-height: var(--rev-icon-size);
    aspect-ratio: 1/1;
}

.rev-value-prop-item p {
    margin: 0 !important;
}

.rev-highlight-item p {
    font-size: var(--rev-value-font-size);
    line-height: normal;
    color: var(--rev-icon-color);
    margin-bottom: 0 !important;
}

.review-stars {
    margin-right: .25em;
    font-size: 20px;
}

.rev-review-stars-block {
    margin-top: 1rem;
}

.rev-review-star-text,
.rev-review-star-after {
    margin: 0 !important;
}

@media (max-width: 768px) {

    .rev-review-stars-block,
    .rev-adapt-subheading {
        text-align: var(--rev-text-align);
    }

    .rev-adapt-section {
        flex-direction: column;
    }

    .rev-adapt-card {
        flex-direction: column;
    }

    .rev-highlight-row {
        justify-content: center;
        width: 100%;
    }
}

@media (min-width: 769px) {
    .rev-overlay-gradient:after {
        background: var(--rev-background-desktop);
    }

    .rev-adapt-content {
        padding: 32px;
    }

    .rev-adapt-card .rev-media,
    .rev-adapt-section .rev-media {
        max-width: 50%;
        min-width: 50%;
        min-height: -webkit-fill-available;
    }

    .rev-adapt-card {
        margin: 0 max((var(--rev-gutter-min) * 2), calc((100vw - var(--rev-max-width))));
    }

    .rev-adapt-card .rev-adapt-content {
        padding: 48px 68px;
    }

    .rev-container.rev-adapt-banner {
        padding: 32px max(50px, 8.5%);
    }

    .rev-adapt-banner {
        height: var(--rev-height-desktop);
        max-height: 100vh;
        align-items: var(--rev-vertical-align-desktop);
        justify-content: var(--rev-horizontal-align-desktop);
        aspect-ratio: var(--rev-aspect-ratio-desktop);
    }

    .rev-adapt-banner .rev-adapt-content {
        width: var(--rev-width);
        max-width: fit-content;
    }

    .rev-adapt-section .rev-adapt-content {
        padding-right: max(50px, 8.5%);
        padding-left: min(50px, 8.5%);
    }

    .rev-adapt-section.rev-media-second .rev-adapt-content {
        padding-left: max(50px, 8.5%);
        padding-right: min(50px, 8.5%);
    }
}

@media (min-width: 769px) {
    .rev-media-content .rev-media--angle {
        clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
    }

    .rev-media-content .rev-media--curve {
        clip-path: polygon(0% 0%, 100% 0%,
                99.3% 5%, 98.6% 10%, 98% 15%, 97.4% 20%, 96.8% 25%,
                96.4% 30%, 96% 35%, 95.7% 40%, 95.6% 45%, 95.5% 50%,
                95.6% 55%, 95.7% 60%, 96% 65%, 96.4% 70%, 96.8% 75%,
                97.4% 80%, 98% 85%, 98.6% 90%, 99.3% 95%, 100% 100%,
                0% 100%);
    }

    .rev-media-content .rev-media--wave {
        clip-path: polygon(0% 0%, 97.5% 0%,
                98.3% 5%, 99% 10%, 99.5% 15%, 99.9% 20%, 100% 25%,
                99.9% 30%, 99.5% 35%, 99% 40%, 98.3% 45%, 97.5% 50%,
                96.7% 55%, 96% 60%, 95.5% 65%, 95.1% 70%, 95% 75%,
                95.1% 80%, 95.5% 85%, 96% 90%, 96.7% 95%, 97.5% 100%,
                0% 100%);
    }

    .rev-media-content .rev-media-flip .rev-media--angle {
        clip-path: polygon(7% 0, 100% 0, 100% 100%, 0 100%);
    }

    .rev-media-content .rev-media-flip .rev-media--curve {
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%,
                0.7% 95%, 1.4% 90%, 2% 85%, 2.6% 80%, 3.2% 75%,
                3.6% 70%, 4% 65%, 4.3% 60%, 4.4% 55%, 4.5% 50%,
                4.4% 45%, 4.3% 40%, 4% 35%, 3.6% 30%, 3.2% 25%,
                2.6% 20%, 2% 15%, 1.4% 10%, 0.7% 5%);
    }

    .rev-media-content .rev-media-flip .rev-media--wave {
        clip-path: polygon(2.5% 0%, 100% 0%, 100% 100%, 2.5% 100%,
                3.3% 95%, 4% 90%, 4.5% 85%, 4.9% 80%, 5% 75%,
                4.9% 70%, 4.5% 65%, 4% 60%, 3.3% 55%, 2.5% 50%,
                1.7% 45%, 1% 40%, 0.5% 35%, 0.1% 30%, 0% 25%,
                0.1% 20%, 0.5% 15%, 1% 10%, 1.7% 5%);
    }
}

@media (max-width: 768px) {
    .rev-media-content .rev-media--angle {
        clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
    }

    .rev-media-content .rev-media--curve {
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%,
                95% 99.3%, 90% 98.6%, 85% 98%, 80% 97.4%, 75% 96.8%,
                70% 96.4%, 65% 96%, 60% 95.7%, 55% 95.6%, 50% 95.5%,
                45% 95.6%, 40% 95.7%, 35% 96%, 30% 96.4%, 25% 96.8%,
                20% 97.4%, 15% 98%, 10% 98.6%, 5% 99.3%,
                0% 100%);
    }

    .rev-media-content .rev-media--wave {
        clip-path: polygon(0% 0%, 100% 0%, 100% 97.5%,
                95% 96.7%, 90% 96%, 85% 95.5%, 80% 95.1%, 75% 95%,
                70% 95.1%, 65% 95.5%, 60% 96%, 55% 96.7%, 50% 97.5%,
                45% 98.3%, 40% 99%, 35% 99.5%, 30% 99.9%, 25% 100%,
                20% 99.9%, 15% 99.5%, 10% 99%, 5% 98.3%,
                0% 97.5%);
    }
}

/* ================================
Reasons Why
================================ */
.rev-reasons-heading {
    margin-bottom: 24px;
    color: var(--rev-color);
}

.rev-reasons-list {
    list-style: none;
    display: grid;
    margin: 0;
    padding: 0;
    gap: 8px;
}

.rev-reason-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.rev-reasons-icon {
    height: fit-content;
    margin-top: 4px;
}

.rev-reason-title {
    color: var(--rev-color);
    font-size: var(--rev-subheading-font-size);
    line-height: normal;
    margin-top: 0;
    margin-bottom: 4px;
}

.rev-reason-text {
    font-size: var(--rev-text-font-size);
    margin: 0;
    line-height: normal;
}

.rev-reason-item.rev-media {
    margin: 20px 0;
    border-radius: var(--rev-radius-lg);
    overflow: hidden;
    width: 100%;
    height: auto;
    position: relative;
}

.rev-reason-media-main {
    display: flex;
    border-radius: var(--rev-radius-lg);
    overflow: hidden;
    position: relative;
    height: 100%;
    width: 100%;
    max-width: 50%;
    min-height: -webkit-fill-available;
}

.rev-reason-media-main .rev-media,
.rev-reason-media-main .rev-media video,
.rev-reason-media-main .rev-media img {
    min-height: -webkit-fill-available;
}

@media (max-width: 768px) {
    .rev-reason-media-main {
        display: none;
    }
}

@media (min-width: 769px) {
    .rev-reasons-wrap {
        display: flex;
        gap: 32px;
    }

    .rev-reasons-list {
        gap: 20px;
    }

    .rev-reason-item.rev-media {
        display: none;
    }
}

/* ================================
Comparison Table
================================ */

.rev-comparison .rev-container {
    flex-direction: column;
}

.rev-comparison-table {
    border-spacing: 0;
    border: 0;
    margin: 40px auto 75px;
    width: 100%;
    max-width: 850px;
    font-size: var(--rev-font-size);
    color: var(--rev-color);
    border-collapse: separate;
    position: relative;
    filter: drop-shadow(14px 18px 16px #d5dbe0);
}

.rev-comparison-table th {
    font-size: var(--rev-font-size);
}

.rev-comparison-table th img {
    display: block;
    height: auto;
    width: 100%;
    margin: auto;
    max-width: 100px;
    position: relative;
    z-index: 1;
}

.rev-comparison-table tbody tr {
    position: relative;
}

.rev-comparison-table th,
.rev-comparison-table td {
    border: 0;
}

.rev-comparison-table tbody tr:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .1px;
    background: var(--rev-border-color);
    opacity: .25;
}

.rev-comparison-table tbody tr:first-child:after {
    left: var(--rev-column-width-main);
    width: calc(100% - var(--rev-column-width-main));
}

.rev-comparison-table th,
.rev-comparison-table td {
    width: var(--rev-column-width);
    background: var(--rev-background);
    padding: 10px;
    text-align: center;
    font-weight: 600;
    position: relative;
}

.rev-comparison-table .rev-inverse {
    background: var(--rev-inverse-background);
    color: var(--rev-inverse-color);
}

.rev-comparison-table .rev-icon {
    height: -webkit-fill-available;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rev-comparison-table .rev-icon svg {
    width: 32px;
    height: 32px;
}

.rev-comparison-table th:last-child {
    border-top-right-radius: var(--rev-radius-lg);
}

.rev-comparison-table tbody tr:first-child td:first-child {
    border-top-left-radius: var(--rev-radius-lg);
}

.rev-comparison-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: var(--rev-radius-lg);
}

.rev-comparison-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: var(--rev-radius-lg);
}

.rev-comparison-table th:first-child {
    background: transparent;
    border: 0;
}

.rev-comparison-table th:first-child,
.rev-comparison-table td:first-child {
    width: var(--rev-column-width-main);
}

.rev-comparison-table th:nth-child(2):after,
.rev-comparison-table tbody tr:last-of-type td:nth-child(2):after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    background: inherit;
}

.rev-comparison-table th:nth-child(2):after {
    height: 30px;
    top: -25px;
    border-top-left-radius: var(--rev-radius-lg);
    border-top-right-radius: var(--rev-radius-lg);
}

.rev-comparison-table tbody tr:last-of-type td:nth-child(2):after {
    height: 35px;
    bottom: -35px;
    border-bottom-left-radius: var(--rev-radius-lg);
    border-bottom-right-radius: var(--rev-radius-lg);
}

@media (min-width: 901px) {

    .rev-comparison-table th,
    .rev-comparison-table {
        font-size: var(--rev-font-size-desktop);
    }

    .rev-comparison-table th,
    .rev-comparison-table td {
        padding: 15px 10px;
    }
}

/* ================================
Features With Media
================================ */
.rev-feature-media .rev-container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rev-feature-media {
    inset: 0;
    will-change: transform;
    border-radius: 0;
}

.rev-feature-media .rev-button {
    margin: auto;
}

.rev-feature-media-grid .rev-media {
    position: relative;
    border-radius: var(--rev-radius-lg);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: rgba(0, 0, 0, .2);
    border: 1px solid rgba(255, 255, 255, .16);
    margin-bottom: 24px;
    height: auto;
}

.rev-feature-media-item {
    display: flex;
    gap: 14px;
    margin-top: 20px;
}

.rev-feature-media-icon {
    margin-bottom: 10px;
    justify-content: center;
}

.rev-feature-media-title {
    color: var(--rev-color);
    font-size: var(--rev-subheading-font-size);
    line-height: normal;
    margin-bottom: 6px;
}

.rev-feature-media-text {
    font-size: var(--rev-text-font-size);
    margin: 0;
    line-height: normal;
}

@media (min-width: 769px) {
    .rev-feature-media .rev-container {
        margin: 0 max(30px, 4%);
    }
}

@media (min-width: 992px) {
    .rev-feature-media-grid {
        display: grid;
        grid-template-columns: 1fr 60% 1fr;
        align-items: center;
        gap: 24px;
    }

    .rev-feature-media-grid .rev-media {
        grid-row: 1 / span 2;
        grid-column: 2 / span 1;
        margin-bottom: 0;
    }

    .rev-feature-media-item {
        padding: 16px;
        display: block;
        text-align: center;
        margin-top: 0;
        grid-row: auto;
        grid-column: auto;
    }

    .rev-feature-media .rev-button-container {
        grid-row: 3;
        grid-column: 2;
        margin: auto;
    }
}

/* ================================
Popup Upsell
================================ */
.rev-popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    z-index: 9999999999;
    opacity: 0;
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1),
        backdrop-filter 0.5s cubic-bezier(0.16, 1, 0.3, 1),
        background 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    align-items: center;
    justify-content: center;
}

.rev-popup-overlay.active {
    display: flex;
    opacity: 1;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.rev-popup-overlay.closing {
    opacity: 0;
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
}

.rev-popup {
    background: var(--rev-background);
    border-radius: var(--rev-radius-lg);
    max-width: 90%;
    width: var(--rev-width);
    max-height: 90vh;
    overflow: hidden;
    position: relative;
    transform: scale(0.92) translateY(20px);
    opacity: 0;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
        opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    will-change: transform, opacity;
}

.rev-popup-overlay.active .rev-popup {
    transform: scale(1) translateY(0);
    opacity: 1;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.25),
        0 15px 40px rgba(0, 0, 0, 0.15),
        0 5px 15px rgba(0, 0, 0, 0.1);
}

.rev-popup-overlay.closing .rev-popup {
    transform: scale(0.95) translateY(10px);
    opacity: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.rev-popup-close {
    position: absolute;
    top: var(--rev-spacing);
    right: var(--rev-spacing);
    left: auto;
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
    z-index: 10;
    transition: all 0.2s ease;
    box-shadow: 0 0px 22px rgba(0, 0, 0, 0.25);
    background: canvas;
    color: currentColor;
}

.rev-popup-close:hover {
    transform: rotate(90deg);
}

.rev-popup-content {
    padding: var(--rev-padding-desk);
    height: inherit;
    overflow-y: auto;
    max-height: 90vh;
    background: canvas;
}

.rev-popup-products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 24px;
}

@media (max-width: 768px) {
    .rev-popup {
        width: 95%;
        max-height: 85vh;
        overflow-y: auto;
    }

    .rev-popup-close {
        top: var(--rev-spacing-mob);
        right: var(--rev-spacing-mob);
    }

    .rev-popup-content {
        padding: var(--rev-padding-mob);
    }

    .rev-popup-products {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@keyframes rev-pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

.rev-popup-product-add.adding {
    animation: rev-pulse 0.3s ease;
    pointer-events: none;
    opacity: 0.7;
}

.rev-popup-content::-webkit-scrollbar {
    width: 8px;
}

.rev-popup-content::-webkit-scrollbar-track {
    background: transparent;
}

.rev-popup-content::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
}

/* ================================
Product Card
================================ */
.rev-product-card {
    background: var(--rev-card-background);
    border-radius: var(--rev-card-radius);
    text-align: center;
    transition: all 0.2s ease;
    border: 1px solid transparent;
    height: fit-content;
}

.rev-product-card:hover {
    border-color: var(--rev-card-hover-border);
    cursor: pointer;
}

.rev-card-hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.rev-card-hover-shimmer .rev-card-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.3) 50%, transparent 60%);
    background-size: 200% 100%;
    background-position: 100% 0;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 5;
}

.rev-card-hover-shimmer:hover .rev-card-media::after {
    opacity: 1;
    animation: rev-card-shimmer 0.8s ease forwards;
}

@keyframes rev-card-shimmer {
    from {
        background-position: 100% 0;
    }

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

.rev-product-card .rev-media {
    overflow: hidden;
}

.rev-card-media {
    display: block;
    position: relative;
    overflow: hidden;
    border-top-left-radius: var(--rev-card-radius);
    border-top-right-radius: var(--rev-card-radius);
    aspect-ratio: var(--rev-prod-media-aspect-ratio, 1/1);
}

.rev-card-media img,
.rev-card-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rev-media-card-1 {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.35s ease;
    z-index: 1;
}

.rev-card-media:hover .rev-media-card-1 {
    opacity: 1;
}

.rev-card-swatch-media {
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 2;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.rev-card-swatch-media.active {
    opacity: 1;
}

.rev-card-swatch-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rev-swatch-hover {
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 3;
    transition: opacity 0.35s ease;
}

.rev-card-media:hover .rev-card-swatch-media.active .rev-swatch-hover {
    opacity: 1;
}

.rev-product-card .rev-card-gallery .rev-product-gallery {
    padding-bottom: 0;
}

.rev-product-card .rev-gallery-main-wrap {
    overflow: visible;
}

.rev-gallery-main {
    border-top-left-radius: var(--rev-border-radius);
    border-top-right-radius: var(--rev-border-radius);
}

.rev-card-badge {
    position: absolute;
    top: 16px;
    right: 16px;
}

.rev-product-card-info {
    display: flex;
    flex-direction: column;
    align-items: var(--rev-card-justify, center);
    padding: var(--rev-spacing-element-mob);
}

.rev-product-card__item {
    display: inline-flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: var(--rev-card-justify, center);
    min-width: 0;
    text-decoration: none;
}

[data-rev-card-item]+[data-rev-card-item] {
    margin-top: var(--rev-spacing-tight);
}

[data-rev-card-item="swatches"]+[data-rev-card-item="title"] {
    margin-top: var(--rev-spacing-tight);
}

[data-rev-card-item="title"]+[data-rev-card-item="price"],
[data-rev-card-item="price"]+[data-rev-card-item="rating"],
[data-rev-card-item="rating"]+[data-rev-card-item="price"] {
    margin-top: var(--rev-spacing-tight);
}

[data-rev-card-item="rating"]+[data-rev-card-item="add-button"],
[data-rev-card-item="price"]+[data-rev-card-item="add-button"] {
    margin-top: var(--rev-spacing-element);
}

@media (max-width: 768px) {
    [data-rev-card-item]+[data-rev-card-item] {
        margin-top: var(--rev-spacing-tight-mob);
    }

    [data-rev-card-item="rating"]+[data-rev-card-item="add-button"],
    [data-rev-card-item="price"]+[data-rev-card-item="add-button"] {
        margin-top: var(--rev-spacing-element-mob);
    }
}

.rev-product-card__item .rev-option {
    margin-bottom: 0;
}

.rev-card-swatches {
    gap: 6px;
    margin-bottom: var(--rev-spacing-tight);
}

.rev-card-swatch {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--rev-card-swatch-size, 18px);
    height: var(--rev-card-swatch-size, 18px);
    border-radius: var(--rev-radius-sm);
    border: 0;
    padding: 0;
    cursor: pointer;
    overflow: hidden;
    outline: 2px solid transparent;
    outline-offset: 1px;
    transition: outline-color 0.15s ease, opacity 0.15s ease;
    background: transparent;
}

.rev-card-swatch--color {
    outline: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.rev-card-swatch span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.rev-card-swatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.rev-card-swatch-active,
.rev-card-swatch:hover {
    outline: 2px solid var(--rev-swatch-accent);
}

.rev-card-swatch-more {
    display: flex;
    align-items: center;
    font-size: 0.65em;
    color: inherit;
    opacity: 0.6;
    text-decoration: none;
}

.rev-card-quick-add {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--rev-radius-icons);
    border: 0;
    background: var(--rev-quickview-background, #151515);
    color: var(--rev-quickview-color, #fff);
    cursor: pointer;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.15s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.rev-card-quick-add svg {
    width: 18px;
    height: 18px;
}

.rev-product-card:hover .rev-card-quick-add {
    opacity: 1;
    transform: translateY(0);
}

.rev-card-quick-add:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    transform: scale(1.08);
}

@media (max-width: 749px) {
    .rev-card-quick-add {
        opacity: 1;
        transform: translateY(0);
    }
}

.rev-card-quick-add.loading svg {
    visibility: hidden;
}

.rev-card-quick-add.loading::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: rev-spin 0.6s linear infinite;
}

@keyframes rev-spin {
    to {
        transform: rotate(360deg);
    }
}

.rev-product-card-title {
    color: inherit;
    font-size: inherit;
    text-align: var(--rev-text-align);
    margin: 0 !important;
    line-height: 1.2 !important;
    font-weight: 400;
    line-clamp: var(--rev-line-clamp, 2);
    -webkit-line-clamp: var(--rev-line-clamp, 2);
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    text-box: auto !important;
}

.rev-price-wrapper {
    font-size: var(--rev-price-size);
    color: var(--rev-color);
    display: inline-flex;
    gap: .25em;
    align-items: center;
}

.rev-price-wrapper * {
    height: fit-content;
}

.rev-price-from {
    font-size: clamp(10px, calc(var(--rev-price-size) * 0.75), var(--rev-price-size));
}

.rev-price-slash {
    text-decoration: line-through;
    transform: scale(.85);
    opacity: .5;
}

.rev-price-sale {
    color: var(--rev-price-sale-color);
}

.rev-product-card .rev-price-wrapper {
    font-size: clamp(12px, calc(var(--rev-price-size) * 0.75), var(--rev-price-size));
}

.rev-product-card .rev-savings {
    font-size: clamp(11px, calc(var(--rev-price-size) * 0.7), var(--rev-price-size));
}

.rev-checkbox__content-inner .rev-price-wrapper,
.rev-subscription-selector__content-inner .rev-price-wrapper {
    font-size: clamp(12px, calc(var(--rev-price-size) * 0.8), var(--rev-price-size));
}

.rev-product-card .rev-button {
    max-width: 100%;
}

@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

.rev-button.loading {
    position: relative;
    color: transparent;
}

.rev-atc-button.loading span {
    opacity: 0;
}

.rev-button.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1em;
    height: 1em;
    margin: -0.5em 0 0 -0.5em;
    border: 2px solid rgba(var(--rev-spin-color), 0.3);
    border-top-color: rgba(var(--rev-spin-color), 0.8);
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    box-sizing: border-box;
}

.rev-product-card .rev-card-media .rev-badge__wrapper {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
}

@media (min-width: 769px) {
    .rev-product-card .rev-gallery-carousel-controls {
        width: calc(100% + 18px);
        left: -9px;
        right: -9px;
        bottom: 12px;
        justify-content: space-between;
    }

    .rev-product-card .rev-gallery-slide-indicator {
        display: flex;
        background: transparent;
        bottom: -16px;
        position: absolute;
        left: 0;
        right: 0;
        overflow: hidden;
    }

    .rev-product-card .rev-gallery-button-prev,
    .rev-product-card .rev-gallery-button-next {
        opacity: 0;
        transform: scale(.25);
        transition: opacity 0.5s ease-in-out, transform 0.25s ease-in-out;
        will-change: opacity, transform;
    }

    .rev-product-card:hover .rev-gallery-button-prev,
    .rev-product-card:hover .rev-gallery-button-next {
        opacity: 1;
        transform: scale(1);
    }

    .rev-product-card-info {
        padding: var(--rev-spacing-element) calc(var(--rev-spacing-element) / 2);
    }
}

/* ================================
Variant Selector
================================ */
.rev-variant-selector {
    margin: 0;
    width: 100%;
}

.rev-variant-selector {
    gap: calc(var(--rev-spacing-tight) * 0.75);
}


.rev-option {
    margin: 0 0 var(--rev-margin-bottom, 12px);
    position: relative;
}

.rev-option:last-of-type {
    margin: 0;
}

.rev-option__single {
    display: none;
}

.rev-legend {
    font-size: inherit;
    color: inherit;
    text-transform: capitalize;
    text-align: left;
    width: fit-content;
    line-clamp: var(--rev-line-clamp, 2);
    -webkit-line-clamp: var(--rev-line-clamp, 2);
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 8px;
}

.rev-legend span {
    font-weight: 600;
    font-size: inherit;
}

.rev-swatch-wrapper {
    display: flex;
    gap: calc(var(--rev-spacing-tight) * 0.75);
    flex-wrap: wrap;
}

.rev-swatch-option {
    width: fit-content;
    min-width: fit-content;
}

.rev-swatch-option input {
    display: none;
}

.rev-swatch-block {
    display: block;
    border-radius: var(--rev-radius-sm);
    border: 2px solid color-mix(in srgb, currentColor 25%, transparent);
    padding: .4375em .875em;
    min-width: var(--rev-swatch-size);
    text-align: center;
}

.rev-swatch-option a,
.rev-swatch-option label {
    display: flex;
    align-items: center;
    flex-direction: column;
    line-height: normal;
    gap: 8px;
}

.rev-swatch-option label:hover {
    cursor: pointer;
}

.rev-swatch {
    display: block;
    aspect-ratio: 1/1;
    width: calc(var(--rev-swatch-size) - 6px);
    height: auto;
    border-radius: var(--rev-radius-sm);
    background: var(--rev-background);
    position: relative;
    overflow: hidden;
    margin: 3px;
    outline-offset: 2px;
}

.rev-swatch-image .rev-swatch {
    width: calc(var(--rev-swatch-image-size) - 6px);
}

.rev-option-active .rev-swatch-block,
.rev-swatch-block:hover {
    border-color: var(--rev-swatch-accent);
}

.rev-option-active-fill.rev-option-active .rev-swatch-block,
.rev-option-active-fill .rev-swatch-block:hover {
    background: var(--rev-swatch-accent);
    color: var(--rev-swatch-color);
}

.rev-swatch-image .rev-swatch {
    outline: 2px solid color-mix(in srgb, currentColor 25%, transparent);
    margin: 2px;
    outline-offset: 0px;
}

.rev-option-active .rev-swatch,
.rev-swatch:hover {
    outline: 2px solid var(--rev-swatch-accent);
}

.rev-swatch image {
    height: 100%;
    width: 100%;
    object-fit: cover;
    overflow: hidden;
}

.rev-swatch-gradient:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
    background: linear-gradient(to bottom right, transparent 0%, transparent 25%, rgba(0, 0, 0, .5) 100%);
}

.rev-label {
    font-size: inherit;
    color: inherit;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
}

.rev-swatch+.rev-label {
    display: none;
}

.rev-select {
    position: relative;
}

.rev-select select {
    cursor: pointer;
    background: transparent;
    border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
    border-radius: var(--rev-radius-sm);
    color: inherit;
    font-size: inherit;
    width: 100%;
    padding: var(--rev-spacing-tight) 30px var(--rev-spacing-tight) 10px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    margin: 0;
}

.rev-select select:hover {
    border-color: color-mix(in srgb, currentColor 50%, transparent);
}

.rev-select:after {
    content: "";
    position: absolute;
    right: 16px;
    top: calc(50% - 2px);
    transform: translateY(-50%);
    pointer-events: none;
    width: 6px;
    height: 6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 768px) {
    .rev-option {
        margin: 0 0 var(--rev-margin-bottom-mob, 12px);
        position: relative;
    }
}

/* ================================
Scrolling Content 
================================ */
.rev-scrolling-content {
    padding-top: var(--rev-padding-top-mob) !important;
    padding-bottom: var(--rev-padding-bottom-mob) !important;
    background: var(--rev-background);
}

.rev-scrolling-narrow {
    position: relative;
}

.rev-scrolling-narrow:before,
.rev-scrolling-narrow:after {
    content: '';
    position: absolute;
    top: 0;
    height: 100%;
    width: 40px;
    z-index: 2;
    pointer-events: none;
}

.rev-scrolling-narrow:before {
    left: 0;
    background: linear-gradient(to right, var(--rev-background), rgba(0, 0, 0, 0));
}

.rev-scrolling-narrow:after {
    right: 0;
    background: linear-gradient(to left, var(--rev-background), rgba(0, 0, 0, 0));
}

.rev-scroll-viewport {
    overflow: hidden;
    padding: var(--rev-pad-y) var(--rev-pad-x);
}

@keyframes rev-scrolling-content {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.rev-scroll-viewport {
    overflow: hidden;
}

.rev-scroll-track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: rev-scrolling-content var(--rev-speed-mob) linear infinite;
}

.rev-scroll-pause:hover .rev-scroll-track {
    animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
    .rev-scroll-track {
        animation: none;
        transform: none;
    }
}

.rev-scroll-group {
    display: flex;
    align-items: center;
    gap: var(--rev-gap-mob);
    list-style: none;
    margin: 0;
    padding: 0;
    padding-right: var(--rev-gap-mob);
    flex: 0 0 auto;
}

.rev-scroll-item {
    font-size: var(--rev-font-size);
    line-height: 1.2;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    color: var(--rev-color);
}

.rev-scroll-short-review {
    gap: var(--rev-review-gap);
    align-items: center;
    display: inline-flex;
    align-items: center;
    min-width: 300px;
    max-width: 400px;
    width: max-content;
}

.rev-scroll-short-review img {
    width: var(--rev-review-image-width);
    height: auto;
    border-radius: var(--rev-review-border-radius);
    aspect-ratio: var(--rev-review-aspect-ratio);
    object-fit: cover;
}

.rev-short-review-text {
    font-size: var(--rev-review-size);
    margin: 0;
    line-height: normal;
    white-space: normal;
    word-wrap: break-word;
    text-wrap: auto;
}

.rev-short-review-name {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    font-size: var(--rev-name-size);
    margin: 0;
    line-height: normal;
}

.rev-review-stars {
    font-size: var(--rev-stars-size);
    color: var(--rev-stars-color);
    line-height: normal;
}

.rev-scroll-text {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rev-scroll-text p {
    margin: 0;
}

.rev-scroll-image img {
    width: var(--rev-image-width-mob);
    height: auto;
    aspect-ratio: var(--rev-aspect-ratio);
    object-fit: cover;
    border-radius: var(--rev-border-radius);
    overflow: hidden;
}

@media (min-width: 769px) {
    .rev-scrolling-content {
        padding-top: var(--rev-padding-top) !important;
        padding-bottom: var(--rev-padding-bottom) !important;
    }

    .rev-scroll-image img {
        width: var(--rev-image-width-desk);
    }

    .rev-scroll-group {
        gap: var(--rev-gap);
        padding-right: var(--rev-gap);
    }
}

@media (min-width: 990px) {
    .rev-scroll-track {
        animation-duration: var(--rev-speed-desk);
    }
}

/* ================================
Product Gallery
================================ */
.rev-product-gallery {
    display: grid;
    gap: 16px;
    --rev-autoswipe-thickness: 4px;
    --rev-autoswipe-offset: 4px;
    --rev-autoswipe-thickness-mob: 3px;
}

.rev-gallery-thumbnails {
    position: relative;
    scrollbar-width: none;
    display: flex;
    width: 100%;
    max-width: 100%;
    flex-direction: column;
    overflow: auto;
    gap: 8px;
    padding: 0 4px;
    min-height: 0px;
    max-height: 0px;
    opacity: 0;
    transform: translateY(6px);
    overflow: hidden;
    transition: max-height .28s ease, opacity .22s ease, transform .22s ease;
    will-change: max-height, opacity, transform;
}

.rev-gallery-thumbnails.is-ready {
    max-height: var(--rev-thumbs-h);
    opacity: 1;
    transform: translateY(0);
    overflow: auto;
}

.rev-gallery-thumbnails:not(.is-ready) {
    pointer-events: none;
}

.rev-gallery-thumbnails::-webkit-scrollbar {
    display: none;
}

.rev-gallery-thumbnails::after,
.rev-gallery-thumbnails::before {
    content: "";
    position: sticky;
    left: 0;
    margin-left: -4px;
    width: calc(100% + 8px);
    height: 36px;
    min-height: 36px;
    pointer-events: none;
    z-index: 1;
}

.rev-gallery-thumbnails::after {
    bottom: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
}

.rev-gallery-thumbnails::before {
    top: 0;
    background: linear-gradient(to top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
}

.rev-gallery-thumbnail-item {
    cursor: pointer;
    border-radius: var(--rev-radius-sm);
    aspect-ratio: var(--rev-prod-media-aspect-ratio);
    overflow: hidden;
    min-height: fit-content;
    height: auto;
    outline: 1px solid rgba(0, 0, 0, 0.2);
}

.rev-gallery-thumbnail-item.is-active {
    outline: 2px solid currentColor;
}

.rev-gallery-thumbnail-item:hover:after,
.rev-gallery-thumbnail-item.is-active:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(17, 17, 17, 0.15);
}

.rev-gallery-thumbnail-item .rev-play-button {
    position: absolute;
    top: min(10%, 4px);
    right: min(10%, 4px);
    height: min(30%, 24px);
    width: min(30%, 24px);
    z-index: 1;
}

.rev-gallery-thumbnail-item .rev-play-button .rev-icon-play {
    width: 70%;
    height: 70%;
}

.rev-gallery-main-wrap {
    position: relative;
    height: fit-content;
    max-height: fit-content;
    overflow: hidden;
    min-height: 0;
}

.rev-gallery-main {
    position: relative;
    overflow: hidden;
    height: fit-content;
    max-height: fit-content;
}

.rev-gallery-main[data-rev-main] {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.rev-gallery-main[data-rev-main]::-webkit-scrollbar {
    display: none;
}

.rev-gallery-track {
    display: flex;
    width: max-content;
    width: 100%;
}

.rev-gallery-track>.rev-media {
    scroll-snap-align: start;
    flex: 0 0 100%;
}

.rev-gallery-carousel-controls {
    position: absolute;
    bottom: 24px;
    right: 24px;
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
}

.rev-gallery-button-zoom,
.rev-gallery-button-prev,
.rev-gallery-button-next {
    padding: 12px;
    background: var(--rev-slider-arrows-background);
    border-radius: var(--rev-radius-icons);
    height: 36px;
    width: 36px;
    min-height: 36px;
    min-width: 36px;
    border: none;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0px 22px rgba(0, 0, 0, 0.25);
    transition: transform .125s ease-in-out;
}

.rev-gallery-button-zoom {
    position: absolute;
    top: var(--rev-spacing, 24px);
    right: var(--rev-spacing, 24px);
}

.rev-gallery-button-zoom svg {
    stroke: var(--rev-slider-arrows-color);
}

.rev-gallery-button-zoom:hover,
.rev-gallery-button-prev:hover,
.rev-gallery-button-next:hover {
    transform: scale(1.25) !important;
}

.rev-gallery-button-prev:after,
.rev-gallery-button-next:after {
    content: '';
    border-right: 1px solid var(--rev-slider-arrows-color);
    border-top: 1px solid var(--rev-slider-arrows-color);
    height: 6px;
    width: 6px;
}

.rev-gallery-button-prev:after {
    transform: rotate(225deg) translateX(-1px) translateY(1px);
}

.rev-gallery-button-next:after {
    transform: rotate(45deg) translateX(-1px) translateY(1px);
}

.rev-gallery-slide-indicator {
    border-radius: var(--rev-radius-sm);
    background: #FFFFFF;
    color: var(--rev-slider-indicators-color);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 15px;
    transition: all .5s ease-in-out;
    gap: 6px;
    transform: scale(0.8);
}

.rev-gallery-slide-bullet {
    width: 4px;
    min-width: 4px;
    height: 4px;
    border-radius: var(--rev-radius-sm);
    background: color-mix(in srgb, currentColor 20%, transparent);
    transition: width 0.35s ease, background-color 0.25s ease;
    padding: 0;
    border: none;
    cursor: pointer;
}

.rev-gallery-slide-bullet-active {
    width: 20px;
    background: color-mix(in srgb, currentColor 80%, transparent);
}

.rev-indicator-squares .rev-gallery-slide-bullet {
    border-radius: 0;
}

.rev-indicator-squares .rev-gallery-slide-indicator {
    border-radius: 0;
}

.rev-gallery-slide-indicator-lines {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 10;
    display: flex;
    gap: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    transform: none;
}

.rev-gallery-slide-indicator-lines .rev-gallery-slide-bullet {
    flex: 1;
    height: 3px;
    min-width: 0;
    width: auto;
    border-radius: 0;
    background: color-mix(in srgb, currentColor 20%, transparent);
    transition: background-color 0.3s ease;
}

.rev-gallery-slide-indicator-lines .rev-gallery-slide-bullet-active {
    width: auto;
    background: color-mix(in srgb, currentColor 70%, transparent);
}

.rev-gallery-slide-indicator-counter {
    position: absolute;
    bottom: 28px;
    right: 24px;
    z-index: 2;
    font-size: 13px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    opacity: 0.7;
    background: none;
    padding: 0;
    border-radius: 0;
    transform: none;
    display: none;
}

.rev-gallery-slide-indicator-counter.rev-gallery-slide-indicator-mob {
    display: block;
}

@media (min-width: 990px) {
    .rev-gallery-slide-indicator-counter {
        display: none;
    }

    .rev-gallery-slide-indicator-counter.rev-gallery-slide-indicator-desktop {
        display: block !important;
        right: 116px;
    }
}

.rev-gallery-zoom-modal {
    border: 0;
    background: #fff;
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .15s ease, transform .15s ease;
    inset: 0;
    margin: 0;
    padding: 0;
}

.rev-gallery-zoom-modal:popover-open {
    opacity: 1;
    transform: translateY(0);
}

body:has(.rev-gallery-zoom-modal:popover-open) {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
}

.rev-gallery-zoom-preview {
    display: none;
    position: absolute;
    left: calc(100% + 16px);
    top: 0;
    width: 35vw;
    height: var(--rev-zoom-preview-h, 45vh);
    background: transparent;
    border-radius: 8px;
    overflow: hidden;
    z-index: 50000;
    pointer-events: none;
}

.rev-container.rev-media-flip .rev-gallery-zoom-preview {
    right: calc(100% + 16px);
    left: auto;
}

.rev-gallery-zoom-preview[style*="display: block"] {
    display: block;
}

.rev-gallery-zoom-box {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
}

.rev-gallery-zoom-overlay {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 40%;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
    z-index: 15;
    border-radius: var(--rev-border-radius);
}

/* Mobile Zoom Popover */
.rev-gallery-zoom-popover {
    width: 100vw;
    height: 100vh;
    max-width: 100%;
    padding: 0;
    background: #000;
    border: none;
}

.rev-gallery-zoom-popover::backdrop {
    background: rgba(0, 0, 0, 0.8);
}

.rev-gallery-zoom-modal .rev-popup-close {
    position: sticky;
    z-index: 1000;
}

.rev-gallery-zoom-content {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    position: relative;
}

.rev-gallery-zoom-images {
    width: 100%;
    height: auto;
    overflow-y: visible;
    overflow-x: hidden;
}

.rev-gallery-zoom-images .rev-media {
    width: 100%;
    height: auto;
    display: block;
}

.rev-gallery-zoom-images img,
.rev-gallery-zoom-images video {
    width: 100%;
    height: auto;
    display: block;
}

.rev-gallery-zoom-item .rev-play-button {
    position: absolute;
}

.rev-product-gallery.is-autoswiping .rev-gallery-button-next {
    position: relative;
    overflow: visible;
}

.rev-product-gallery.is-autoswiping .rev-gallery-button-next::before {
    content: "";
    position: absolute;
    inset: calc(-1 * var(--rev-autoswipe-offset));
    border-radius: 999px;
    background:
        conic-gradient(var(--rev-autoswipe-color) calc(var(--rev-autoswipe-progress) * 1turn),
            rgba(0, 0, 0, 0) 0),
        conic-gradient(rgba(0, 0, 0, .18) 1turn,
            rgba(0, 0, 0, .18) 0);
    -webkit-mask: radial-gradient(farthest-side,
            transparent calc(100% - var(--rev-autoswipe-thickness)),
            #000 0);
    mask: radial-gradient(farthest-side,
            transparent calc(100% - var(--rev-autoswipe-thickness)),
            #000 0);
    pointer-events: none;
    opacity: 1;
}

@media (max-width: 768px) {
    .rev-gallery-button-zoom {
        top: var(--rev-spacing-mob, 12px);
        right: var(--rev-spacing-mob, 12px);
    }

    .rev-gallery-slide-bullet.rev-bullet-next {
        background: color-mix(in srgb, currentColor 50%, transparent);
    }

    .rev-autoswipe-buttons {
        padding: 0 24px;
    }

    .rev-autoswipe-buttons .rev-gallery-button-prev,
    .rev-autoswipe-buttons .rev-gallery-button-next {
        display: flex;
        transform: scale(var(--rev-scale));
        position: absolute !important;
    }

    .rev-autoswipe-buttons .rev-gallery-button-prev {
        left: 8px;
    }

    .rev-autoswipe-buttons .rev-gallery-button-next {
        right: 8px;
    }

    .rev-autoswipe-bullets .rev-gallery-slide-bullet.rev-bullet-next,
    .rev-autoswipe-pill .rev-gallery-slide-indicator {
        position: relative;
        isolation: isolate;
    }

    .rev-autoswipe-bullets .rev-gallery-slide-bullet.rev-bullet-next::before,
    .rev-autoswipe-pill .rev-gallery-slide-indicator::before {
        content: "";
        position: absolute;
        inset: calc(-1 * var(--rev-autoswipe-offset));
        border-radius: calc(var(--rev-border-radius) + var(--rev-autoswipe-offset));
        pointer-events: none;
        z-index: 0;
        background:
            conic-gradient(from -90deg,
                var(--rev-autoswipe-color) calc(var(--rev-autoswipe-progress) * 1turn),
                rgba(0, 0, 0, 0) 0),
            conic-gradient(from -90deg,
                rgba(0, 0, 0, .18) 1turn,
                rgba(0, 0, 0, .18) 0);
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        mask-composite: exclude;
        padding: var(--rev-autoswipe-thickness-mob);
    }

    .rev-autoswipe-bullets .rev-gallery-slide-bullet.rev-bullet-next>*,
    .rev-autoswipe-pill .rev-gallery-slide-indicator>* {
        position: relative;
        z-index: 1;
    }

    .rev-gallery-carousel-controls {
        left: 0;
        right: 0;
        width: 100%;
        bottom: 10px;
        overflow: hidden;
    }

    .rev-gallery-slide-indicator-lines {
        bottom: 0;
    }

    .rev-gallery-button-prev,
    .rev-gallery-button-next,
    .rev-gallery-thumbnails {
        display: none;
    }

    .rev-product-main .rev-container {
        flex-direction: column;
        margin: 0 var(--rev-gutter-mob);
    }

    .rev-product-gallery-wrapper {
        margin-left: calc(-1 * var(--rev-gutter-mob));
        width: calc(100% + (2 * var(--rev-gutter-mob)));
    }

    .rev-product-gallery-wrapper .rev-product-gallery {
        padding-top: 0;
        padding-bottom: 0;
    }

    .rev-hidden-mob {
        display: none !important;
    }

    .rev-gallery-zoom-preview {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .rev-hidden-desk {
        display: none !important;
        ;
    }

    .rev-product-gallery-wrapper,
    .rev-product-info {
        position: sticky;
        top: var(--rev-sticky-top);
    }

    .rev-product-gallery-wrapper {
        width: var(--rev-width);
        z-index: 1;
    }

    .rev-product-gallery-wrapper .rev-product-gallery {
        padding-top: 0;
        padding-bottom: 0;
    }

    .rev-product-info {
        width: calc(var(--rev-width) - 40px);
        margin-left: 40px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .rev-product-gallery {
        align-items: stretch;
        padding-bottom: 0;
    }

    .rev-gallery-main-wrap {
        border-radius: var(--rev-radius-md);
    }

    .rev-gallery-slide-indicator {
        display: none !important;
    }

    .rev-gallery-slide-indicator-desktop {
        display: flex !important;
    }

    .rev-gallery-track>.rev-media {
        flex-basis: 100%;
    }

    .rev-gallery-main {
        height: 100%;
        width: auto;
    }

    .rev-gallery-main .rev-media {
        max-height: calc(100vh - var(--rev-sticky-top));
    }

    .rev-product-gallery-slider.rev-thumbnails-left {
        grid-template-columns: min(15%, 88px) 1fr;
    }

    .rev-thumbnails-bottom .rev-gallery-thumbnails {
        order: 2;
        flex-direction: row;
        min-height: auto;
        max-height: none;
        opacity: 1;
        transform: none;
        overflow-x: auto;
        overflow-y: hidden;
        overflow: visible;
        padding: 8px 2px 2px;
        scrollbar-width: none;
    }

    .rev-thumbnails-bottom .rev-gallery-thumbnails.is-ready {
        max-height: none;
        overflow-x: auto;
    }

    .rev-thumbnails-bottom .rev-gallery-thumbnails::after,
    .rev-thumbnails-bottom .rev-gallery-thumbnails::before {
        display: none;
    }

    .rev-thumbnails-bottom .rev-gallery-thumbnail-item {
        min-width: 70px;
        width: 70px;
        flex-shrink: 0;
    }

    .rev-product-gallery-grid,
    .rev-product-gallery-scroller {
        gap: 0;
    }

    .rev-product-gallery-grid .rev-gallery-carousel-controls,
    .rev-product-gallery-scroller .rev-gallery-carousel-controls {
        display: none;
    }

    .rev-product-gallery-grid .rev-gallery-track,
    .rev-product-gallery-scroller .rev-gallery-track {
        display: grid;
    }

    .rev-product-gallery-grid .rev-gallery-track {
        gap: 10px;
    }

    .rev-product-gallery-grid .rev-media:first-child {
        grid-column-start: 1;
        grid-column-end: 3;
    }

    .rev-gallery-zoom-modal::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--rev-background);
        opacity: 0.7
    }

    .rev-gallery-zoom-content {
        height: 100vh;
        width: 100vh;
        margin: auto;
        position: relative;
    }

    .rev-product-gallery-slider .rev-gallery-button-zoom,
    .rev-product-gallery-slider .rev-gallery-zoom-modal {
        display: none;
    }
}

/* Gallery Media */
.rev-gallery-track>.rev-media {
    aspect-ratio: var(--rev-prod-media-aspect-ratio);
}

.rev-gallery-track>.rev-media img,
.rev-gallery-track>.rev-media video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* ================================
Gallery Style Variants
================================ */

.rev-gallery-style-editorial {
    --rev-autoswipe-thickness: 3px;
    --rev-autoswipe-offset: 3px;
    --rev-autoswipe-thickness-mob: 2px;
}

.rev-gallery-style-minimal .rev-gallery-main-wrap {
    border-radius: 0;
}

.rev-gallery-style-minimal {
    --rev-autoswipe-thickness: 3px;
    --rev-autoswipe-offset: 3px;
    --rev-autoswipe-thickness-mob: 2px;
}

.rev-gallery-style-showcase .rev-gallery-main-wrap {
    border-radius: var(--rev-radius-lg);
}

.rev-gallery-style-showcase .rev-gallery-thumbnail-item {
    border-radius: var(--rev-radius-md);
}

/* Autoswipe mobile behavior per gallery style */
@media (max-width: 768px) {

    /* Commercial: autoswipe ring on arrow buttons */
    .rev-gallery-style-commercial[data-autoplay] .rev-gallery-carousel-controls {
        padding: 0 24px;
    }

    .rev-gallery-style-commercial[data-autoplay] .rev-gallery-button-prev,
    .rev-gallery-style-commercial[data-autoplay] .rev-gallery-button-next {
        display: flex;
        transform: scale(0.8);
        position: absolute !important;
    }

    .rev-gallery-style-commercial[data-autoplay] .rev-gallery-button-prev {
        left: 8px;
    }

    .rev-gallery-style-commercial[data-autoplay] .rev-gallery-button-next {
        right: 8px;
    }

    /* Editorial: autoswipe ring on active bullet */
    .rev-gallery-style-editorial[data-autoplay] .rev-gallery-slide-bullet.rev-bullet-next {
        position: relative;
        isolation: isolate;
    }

    .rev-gallery-style-editorial[data-autoplay] .rev-gallery-slide-bullet.rev-bullet-next::before {
        content: "";
        position: absolute;
        inset: calc(-1 * var(--rev-autoswipe-offset));
        border-radius: calc(var(--rev-radius-sm) + var(--rev-autoswipe-offset));
        pointer-events: none;
        z-index: 0;
        background:
            conic-gradient(from -90deg,
                var(--rev-autoswipe-color) calc(var(--rev-autoswipe-progress) * 1turn),
                rgba(0, 0, 0, 0) 0),
            conic-gradient(from -90deg,
                rgba(0, 0, 0, .18) 1turn,
                rgba(0, 0, 0, .18) 0);
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        mask-composite: exclude;
        padding: var(--rev-autoswipe-thickness-mob);
    }

    .rev-gallery-style-editorial[data-autoplay] .rev-gallery-slide-bullet.rev-bullet-next>* {
        position: relative;
        z-index: 1;
    }

    /* Minimal: autoswipe ring on indicator pill */
    .rev-gallery-style-minimal[data-autoplay] .rev-gallery-slide-indicator {
        position: relative;
        isolation: isolate;
    }

    .rev-gallery-style-minimal[data-autoplay] .rev-gallery-slide-indicator::before {
        content: "";
        position: absolute;
        inset: calc(-1 * var(--rev-autoswipe-offset));
        border-radius: calc(var(--rev-radius-sm) + var(--rev-autoswipe-offset));
        pointer-events: none;
        z-index: 0;
        background:
            conic-gradient(from -90deg,
                var(--rev-autoswipe-color) calc(var(--rev-autoswipe-progress) * 1turn),
                rgba(0, 0, 0, 0) 0),
            conic-gradient(from -90deg,
                rgba(0, 0, 0, .18) 1turn,
                rgba(0, 0, 0, .18) 0);
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        mask-composite: exclude;
        padding: var(--rev-autoswipe-thickness-mob);
    }

    .rev-gallery-style-minimal[data-autoplay] .rev-gallery-slide-indicator>* {
        position: relative;
        z-index: 1;
    }

    /* Showcase: autoswipe ring on arrow buttons (same pattern as commercial) */
    .rev-gallery-style-showcase[data-autoplay] .rev-gallery-carousel-controls {
        padding: 0 24px;
    }

    .rev-gallery-style-showcase[data-autoplay] .rev-gallery-button-prev,
    .rev-gallery-style-showcase[data-autoplay] .rev-gallery-button-next {
        display: flex;
        transform: scale(0.8);
        position: absolute !important;
    }

    .rev-gallery-style-showcase[data-autoplay] .rev-gallery-button-prev {
        left: 8px;
    }

    .rev-gallery-style-showcase[data-autoplay] .rev-gallery-button-next {
        right: 8px;
    }

    /* Gallery style: carousel bottom position */
    .rev-gallery-style-editorial .rev-gallery-carousel-controls {
        bottom: 14px;
    }

    .rev-gallery-style-minimal .rev-gallery-carousel-controls {
        bottom: 10px;
    }
}

/* Template-aware spacing: product page top padding per gallery style */
.rev-product-main.rev-template-product {
    padding-top: calc(var(--rev-spacing-section) * 0.5);
}

.rev-product-main.rev-template-product.rev-gallery-style-showcase {
    padding-top: calc(var(--rev-spacing-section) * 0.25);
}

.rev-product-main.rev-template-product.rev-gallery-style-editorial,
.rev-product-main.rev-template-product.rev-gallery-style-minimal {
    padding-top: 0;
}

@media (min-width: 769px) {

    .rev-product-main.rev-template-product.rev-gallery-style-editorial .rev-product-info,
    .rev-product-main.rev-template-product.rev-gallery-style-minimal .rev-product-info {
        padding-top: var(--rev-spacing-element);
    }
}

@media (max-width: 768px) {
    .rev-product-main.rev-template-product {
        padding-top: 0;
    }

    .rev-product-main .rev-container {
        gap: var(--rev-spacing-element-mob);
    }
}

/* ================================
Product Main
================================ */
.rev-product-main .rev-container {
    align-items: flex-start;
}

.rev-product-gallery-content,
.rev-product-info {
    display: flex;
    flex-wrap: wrap;
}

.rev-product-info,
.rev-product-gallery-content-bottom {
    display: grid;
    grid-template-columns: repeat(20, minmax(0, 1fr));
    column-gap: 12px;
    align-content: start;
}

.rev-product-item {
    display: inline-flex;
    flex-wrap: wrap;
    grid-column: 1 / -1;
    min-width: 0;
}

.rev-product-item:not(.rev-block-dropdown) h1,
.rev-product-item:not(.rev-block-dropdown) h2,
.rev-product-item:not(.rev-block-dropdown) h3,
.rev-product-item:not(.rev-block-dropdown) h4,
.rev-product-item:not(.rev-block-dropdown) h5,
.rev-product-item:not(.rev-block-dropdown) h6,
.rev-product-item:not(.rev-block-dropdown) p {
    margin: 0;
    line-height: normal;
    text-box: trim-end cap text;
}

[data-rev-block]+[data-rev-block] {
    margin-top: var(--rev-spacing-element);
}

[data-rev-block="heading"]+[data-rev-block="title"],
[data-rev-block="title"]+[data-rev-block="price"],
[data-rev-block="title"]+[data-rev-block="rating"],
[data-rev-block="price"]+[data-rev-block="rating"],
[data-rev-block="rating"]+[data-rev-block="price"],
[data-rev-block="heading"]+[data-rev-block="price"],
[data-rev-block="buy-buttons"]+[data-rev-block="installments-messaging"],
[data-rev-block="buy-buttons"]+[data-rev-block="klaviyo-bis"],
[data-rev-block="buy-buttons"]+[data-rev-block="payment-icons"],
[data-rev-block="klaviyo-bis"]+[data-rev-block="payment-icons"],
[data-rev-block="text-with-icon"]+[data-rev-block="text-with-icon"] {
    margin-top: var(--rev-spacing-tight);
}

[data-rev-block="dropdown"]+[data-rev-block="dropdown"] {
    margin-top: 0 !important;
}

@media (max-width: 768px) {
    .rev-product-gallery-content-bottom {
        display: none;
    }

    .rev-product-info {
        column-gap: 8px;
    }

    [data-rev-block]+[data-rev-block] {
        margin-top: var(--rev-spacing-element-mob);
    }

    [data-rev-block="heading"]+[data-rev-block="title"],
    [data-rev-block="title"]+[data-rev-block="price"],
    [data-rev-block="title"]+[data-rev-block="rating"],
    [data-rev-block="price"]+[data-rev-block="rating"],
    [data-rev-block="rating"]+[data-rev-block="price"],
    [data-rev-block="heading"]+[data-rev-block="price"],
    [data-rev-block="buy-buttons"]+[data-rev-block="installments-messaging"],
    [data-rev-block="buy-buttons"]+[data-rev-block="klaviyo-bis"],
    [data-rev-block="buy-buttons"]+[data-rev-block="payment-icons"],
    [data-rev-block="klaviyo-bis"]+[data-rev-block="payment-icons"] {
        margin-top: var(--rev-spacing-tight-mob);
    }
}

@media (min-width: 769px) {
    .rev-product-gallery-content-top {
        display: none;
    }

    .rev-product-gallery-content-bottom:not(:empty) {
        padding-top: 30px
    }
}

/* Block: Universal */
.rev-product-item:not(:has(*)) {
    display: none;
}

/* Block: Amazon Coupon Checkbox */
.rev-checkbox__coupon_label {
    font-size: var(--rev-font-size);
    background: var(--rev-background);
    color: var(--rev-color);
    padding: 12px 24px 12px 12px;
    font-weight: 600;
    display: inline-block;
    padding: 4px;
    margin-right: 12px;
    position: relative;
    text-align: center;
    vertical-align: middle;
    line-height: 1;
}

.rev-checkbox__coupon_label:before,
.rev-checkbox__coupon_label:after {
    content: "";
    width: calc(var(--rev-font-size) * 0.7);
    height: 50%;
    left: 100%;
    position: absolute;
}

.rev-checkbox__coupon_label:before {
    background: linear-gradient(135deg, var(--rev-background) 50%, transparent 50%);
    top: 0;
}

.rev-checkbox__coupon_label:after {
    background: linear-gradient(45deg, var(--rev-background) 50%, transparent 50%);
    bottom: 0;
}

.rev-checkbox-coupon .rev-checkbox__title {
    line-clamp: none;
    -webkit-line-clamp: none;
    overflow: visible;
}

/* Block: Arrives By */
.rev-arrives-by {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.25em;
}

.rev-arrives-by span {
    font-size: var(--rev-font-size);
    color: var(--rev-color);
}

.rev-pill-wrap {
    background: var(--rev-background);
    color: var(--rev-color);
    border-radius: var(--rev-radius-full);
    font-size: var(--rev-font-size);
    padding: 6px 14px;
    line-height: normal;
}

/* Block: Badges */
.rev-badge {
    padding: var(--rev-vertical-padding) 10px;
    background: var(--rev-background);
    color: var(--rev-color);
    border-radius: var(--rev-border-radius);
    font-size: var(--rev-font-size);
    height: fit-content;
    text-box: trim-end cap text;
    display: flex;
    align-items: center;
    gap: .5em;
}

.rev-badge__wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rev-gallery-main-wrap .rev-badge__wrapper {
    position: absolute;
    top: 8px;
    left: 8px;
}

/* Block: Breadcrumbs */
.rev-breadcrumbs {
    font-size: var(--rev-font-size);
    white-space: nowrap;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    opacity: 0.75;
}

.rev-breadcrumbs a {
    text-decoration: none;
    color: currentColor;
}

.rev-breadcrumbs a:hover {
    opacity: 0.4;
}

.rev-breadcrumbs i {
    opacity: 0.3;
    display: inline-block;
    margin: 0 .25em;
}

/* Block: Bundle Product Options */

/* Block: Bundle Offer */

/* Block: Buy Buttons */
.rev-button-oos {
    opacity: 0.5;
}

.rev-button-status-preorder {
    background: var(--rev-background-preorder);
    color: var(--rev-color-preorder);
    --rev-spin-color: var(--rev-spin-color-preorder);
}

.rev-button[disabled]:hover {
    cursor: not-allowed !important;
}

.rev-button-subtext {
    margin-top: 6px;
    margin-bottom: 0;
    font-size: .6em;
}

.rev-button-subtext-preorder {
    margin-top: var(--rev-spacing-tight) !important;
    margin-bottom: 0 !important;
    font-size: .8em;
    text-align: center;
}

.rev-buy-buttons,
.rev-product-item .rev-button-container {
    width: 100%;
}

a.button.klaviyo-bis-trigger {
    display: none !important;
}

.rev-block-klaviyo-bis:not(:has(.klaviyo-bis-trigger[style="display:inline-block"])) {
    margin-bottom: 0 !important;
}

.rev-kl-bis {
    width: 100%;
}

.rev-kl-bis div {
    margin: 0 !important;
}

.rev-kl-bis-custom button {
    background: var(--rev-background) !important;
    color: var(--rev-color) !important;
    border-radius: var(--rev-button-border-radius) !important;
    font-size: var(--rev-font-size) !important;
    font-weight: var(--rev-font-weight) !important;
    position: relative !important;
    padding: 14px 20px !important;
    height: auto !important;
    max-width: -webkit-fill-available;
    line-height: normal;
}

.rev-kl-bis-custom button::after {
    content: var(--rev-label);
    color: var(--rev-color);
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    background: var(--rev-background);
    color: var(--rev-color);
    border-radius: var(--rev-button-border-radius);
    font-size: var(--rev-font-size);
    font-weight: var(--rev-font-weight);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    line-height: normal;
}

.rev-dynamic-checkout {
    width: 100%;
    margin-top: 12px;
}

.rev-dynamic-checkout .shopify-payment-button__more-options {
    margin: 6px auto 0;
    font-size: 10px;
    width: fit-content;
}

.rev-dynamic-checkout .shopify-payment-button__more-options:before,
.rev-dynamic-checkout .shopify-payment-button__more-options:after {
    display: none;
}

@media (min-width: 769px) {
    .rev-product-item .rev-button {
        max-width: 100% !important;
    }
}

/* Block: Checkbox Upsell */
.rev-checkbox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: var(--rev-padding);
    border-radius: var(--rev-radius-sm);
    background: var(--rev-background);
    color: var(--rev-color);
    cursor: pointer;
    border: 1px solid var(--rev-border-color);
    --rev-checkbox-radius: var(--rev-radius-full);
}

.rev-checkbox__content-wrap img {
    aspect-ratio: 1/1;
    object-fit: cover;
    max-width: 68px;
    margin-right: 8px;
}

.rev-checkbox__content-wrap {
    display: flex;
    align-items: center;
    width: 100%;
}

.rev-checkbox__content {
    width: -webkit-fill-available;
    height: fit-content;
}

.rev-checkbox__content-inner {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 12px;
    justify-content: space-between;
}

.rev-checkbox__title {
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    font-size: var(--rev-font-size);
    line-height: normal;
    margin: 0;
}

.rev-checkbox__text {
    font-size: var(--rev-font-size);
    margin: 0;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    line-height: var(--rev-font-size);
}

.rev-checkbox__content-inner .rev-price-wrapper {
    margin: 0
}

.rev-checkbox__toggle {
    position: absolute;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

.rev-checkbox__toggle-slider {
    display: flex;
    min-width: 36px;
    max-width: 36px;
    height: var(--rev-checkbox-height);
    background-color: #ccc;
    border-radius: var(--rev-checkbox-radius);
    position: relative;
    cursor: pointer;
    transition: background 0.3s;
}

.rev-checkbox__toggle-slider::before {
    content: "";
    position: absolute;
    width: calc(var(--rev-checkbox-height) - 4px);
    height: calc(var(--rev-checkbox-height) - 4px);
    left: 2px;
    top: 2px;
    background: white;
    border-radius: var(--rev-checkbox-radius);
    transition: transform 0.3s;
}

.rev-checkbox__toggle:checked+.rev-checkbox__toggle-slider {
    background-color: var(--rev-highlight);
}

.rev-checkbox__toggle:checked+.rev-checkbox__toggle-slider::before {
    transform: translateX(16px);
}

.rev-checkbox__checkbox {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--rev-checkbox-height);
    height: var(--rev-checkbox-height);
    min-width: var(--rev-checkbox-height);
    min-height: var(--rev-checkbox-height);
    max-width: var(--rev-checkbox-height);
    max-height: var(--rev-checkbox-height);
    border-radius: min(6px, var(--rev-checkbox-radius));
    border: 2px solid #ccc;
    background: transparent;
    position: relative;
    transition: background 0.2s, border-color 0.2s;
}

.rev-checkbox__checkbox::after {
    content: "";
    width: calc(var(--rev-checkbox-height) * 0.45);
    height: calc(var(--rev-checkbox-height) * 0.25);
    border-left: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: rotate(-45deg);
    transform-origin: center;
    opacity: 0;
    transition: opacity 0.2s;
}

.rev-checkbox__toggle:checked+.rev-checkbox__checkbox {
    background: var(--rev-highlight);
    border-color: var(--rev-highlight);
}

.rev-checkbox__toggle:checked+.rev-checkbox__checkbox::after {
    border-left-color: #fff;
    border-bottom-color: #fff;
    opacity: 1;
}

/* Block: Custom Input */
.rev-custom-input {
    display: grid;
    gap: 8px;
    width: 100%;
}

.rev-custom-input__label {
    font-size: var(--rev-font-size);
    line-height: normal;
    color: var(--rev-color);
}

.rev-custom-input__field {
    width: 100%;
    font-size: var(--rev-font-size);
    line-height: normal;
    color: var(--rev-color);
    background: var(--rev-background);
    border: 1px solid var(--rev-border-color);
    border-radius: var(--rev-radius-sm);
    padding: 10px 14px;
    outline: none;
    box-sizing: border-box;
    margin: 0;
    height: auto;
    min-height: 42px;
}

.rev-custom-input__field::placeholder {
    opacity: 0.6;
    color: var(--rev-color);
}

.rev-custom-input__field:hover,
.rev-custom-input__field:focus {
    border-color: var(--rev-color);
}

.rev-custom-input.rev-validation-error .rev-custom-input__field {
    border-color: #d32f2f !important;
    background-color: rgba(211, 47, 47, 0.05);
}

.rev-custom-input.rev-validation-error .rev-custom-input__label {
    color: #d32f2f;
}

.rev-custom-input.rev-validation-error .rev-custom-input__field::placeholder {
    color: #d32f2f;
}

.rev-custom-input.rev-validation-error::after {
    content: 'This field is required';
    display: block;
    color: #d32f2f;
    font-size: 12px;
    margin-top: 4px;
    font-weight: 500;
}

/* Block: Dropdown */
.rev-block-dropdown {
    position: relative;
}

.rev-block-dropdown:after {
    content: '';
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: .25px;
    background: currentColor;
    opacity: .25;
    z-index: 1;
}

.rev-dropdown {
    position: relative;
    width: 100%;
    min-width: 100%;
    user-select: none;
    -webkit-user-select: none;
    z-index: 1;
    background: transparent;
}

.rev-dropdown summary {
    max-width: 100%;
    display: flex;
    padding: 16px 8px 16px 0;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}

.rev-dropdown summary * {
    margin: 0;
}

.rev-dropdown summary::-webkit-details-marker {
    display: none;
}

.rev-dropdown summary:after {
    content: '';
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    height: 6px;
    width: 6px;
    transform: rotate(135deg) translateX(-1px) translateY(1px);
    transition: transform .5s ease-in-out;
}

.rev-dropdown[open] summary:after {
    transform: rotate(-45deg) translateX(-1px) translateY(1px);
}

.rev-dropdown-content {
    opacity: 0;
    max-height: 0px;
    will-change: opacity, max-height;
    transition: opacity .5s ease-in-out, max-height .5s ease-in-out;
    min-width: 100%;
    overflow: hidden;
}

.rev-dropdown-inner {
    padding-bottom: 16px;
}

.rev-dropdown[open]+.rev-dropdown-content {
    opacity: 1;
    max-height: 700px;
}

.rev-dropdown-inner>*:last-child {
    margin-bottom: 0;
}

/* Block: Heading */
.rev-product-heading {
    color: inherit;
}

/* Block: Installments Messaging */
.rev-shop-installments-wrapper shopify-payment-terms {
    color: var(--rev-color);
    font-size: var(--rev-font-size);
}

.rev-shop-installments-wrapper .rev-pill-wrap {
    padding: 8px 14px;
}

/* Block: Inventory */
.rev-inventory-in-stock {
    --rev-accent: var(--rev-accent-in-stock);
    --rev-accent-soft: var(--rev-accent-soft-in-stock);
}

.rev-inventory-med {
    --rev-accent: var(--rev-accent-med);
    --rev-accent-soft: var(--rev-accent-soft-med);
}

.rev-inventory-low {
    --rev-accent: var(--rev-accent-low);
    --rev-accent-soft: var(--rev-accent-soft-low);
}

.rev-inventory-preorder {
    --rev-accent: var(--rev-accent-preorder);
    --rev-accent-soft: var(--rev-accent-soft-preorder);
}

.rev-inventory-oos {
    --rev-accent: var(--rev-accent-oos);
    --rev-accent-soft: var(--rev-accent-soft-oos);
}

.rev-inventory {
    display: grid;
    gap: .5rem;
    max-width: 400px;
    width: 70%;
}

.rev-inventory-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

@keyframes rev-inventory-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(var(--rev-accent-soft), .45);
    }

    70% {
        box-shadow: 0 0 0 8px rgba(var(--rev-accent-soft), 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(var(--rev-accent-soft), 0);
    }
}

.rev-inventory-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--rev-accent);
    box-shadow: 0 0 0 8px rgba(var(--rev-accent-soft), .2);
    flex: 0 0 auto;
    animation: rev-inventory-pulse 1.8s ease-out infinite;
}

.rev-inventory-text {
    font-size: .9em;
    line-height: normal;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-transform: capitalize;
}

.rev-inventory-bar {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 4px;
    border-radius: 3px;
    background: rgba(0, 0, 0, .1);
    overflow: hidden;
    border: none;
}

.rev-inventory-bar::-webkit-progress-bar {
    background: rgba(0, 0, 0, .1);
    border-radius: 3px;
}

.rev-inventory-bar::-webkit-progress-value {
    background: var(--rev-accent);
    border-radius: 3px;
    transition: width 0.4s ease-out;
}

.rev-inventory-bar::-moz-progress-bar {
    background: var(--rev-accent);
    border-radius: 3px;
    transition: width 0.4s ease-out;
}

@media (max-width: 480px) {
    .rev-inventory__text {
        white-space: normal;
    }
}

/* Block: Media With Text */
.rev-block-media-text-wrap {
    display: flex;
    flex-direction: var(--rev-layout);
    gap: var(--rev-gap);
    align-items: var(--rev-align);
}

.rev-block-media-text-wrap .rev-media {
    width: var(--rev-media-width, 100%);
    flex-shrink: 0;
}

.rev-block-media-text-wrap button {
    border: none !important;
}

.rev-block-media-text-wrap .rev-play {
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.rev-block-media-text-wrap .rev-play-button,
.rev-block-media-text-wrap .rev-icon-play {
    aspect-ratio: 1/1;
    width: auto;
}

.rev-block-media-text-wrap .rev-play-button {
    height: 25%;
}

.rev-block-media-text-wrap .rev-icon-play {
    height: 50%;
}

.rev-block-media-text-wrap p {
    margin: 0;
    line-height: normal;
    font-size: var(--rev-font-size);
    flex: 1;
    min-width: 0;
}

@media (max-width: 480px) {
    .rev-block-media-text-wrap p {
        transform: scale(.8);
    }
}

.rev-mtw-stacked+.rev-mtw-stacked {
    grid-column: 11 / -1;
}

.rev-mtw-stacked:has(+ .rev-mtw-stacked) {
    grid-column: 1 / 11;
}

@media (max-width: 768px) {

    .rev-mtw-stacked+.rev-mtw-stacked,
    .rev-mtw-stacked:has(+ .rev-mtw-stacked) {
        grid-column: 1 / -1;
    }
}

/* Block: Modal */
.rev-product-modal-button {
    background: transparent;
    border: none;
    text-decoration: underline;
    color: var(--rev-color);
    text-underline-offset: 2px;
}

.rev-product-modal-popup {
    background: var(--rev-background);
    border-radius: var(--rev-radius-lg);
    color: var(--rev-color);
    max-width: 90%;
    width: 700px;
    max-height: 90vh;
    overflow: hidden;
    transform: scale(0.92) translateY(20px);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    border: 0;
}

.rev-product-modal-popup::backdrop {
    background: rgba(0, 0, 0, 0.6);
}

.rev-product-modal-popup .rev-popup-content {
    padding: 30px;
}

.rev-product-modal-popup .rev-popup-close {
    top: 20px;
    right: 20px;
}

/* Block: Mini Silder */
.rev-mini-slider {
    position: relative;
    width: 100%;
}

.rev-mini-slider-wrap {
    border-radius: var(--rev-radius-md);
    background: var(--rev-background);
    color: var(--rev-color);
}

.rev-mini-bullet {
    background: canvasText;
}

.rev-mini-review-text {
    font-size: var(--rev-review-size);
}

.rev-mini-review-name {
    font-size: var(--rev-name-size);
}

.rev-mini-stars {
    color: var(--rev-stars-color);
    font-size: var(--rev-stars-size);
    line-height: var(--rev-stars-size);
    margin-top: 4px;
}

.rev-mini-slider-wrap {
    max-width: 100%;
    position: relative;
    overflow-x: scroll;
    scrollbar-width: none;
    overflow-y: hidden;
    -ms-overflow-style: none;
    display: flex;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}

.rev-mini-slider-wrap::-webkit-scrollbar {
    display: none;
}

.rev-mini-slide {
    display: flex;
    align-items: center;
    flex: 0 0 100%;
    padding: 12px 8px 9px;
    scroll-snap-align: start;
    transition: transform 0.5s ease-in-out;
}

.rev-slide-benefits {
    padding: 20px 25px 12px;
}

.rev-mini-slide img,
.rev-mini-slide svg {
    margin-right: 15px;
    aspect-ratio: 1 / 1;
}

.rev-mini-slide img {
    object-fit: cover;
    border-radius: var(--rev-radius-full);
    width: 50px;
    height: 50px;
    min-width: 50px !important;
    min-height: 50px !important;
    position: initial !important;
}

.rev-mini-slide svg {
    width: 35px;
    height: 35px;
    min-width: 35px;
    min-height: 35px;
}

.rev-mini-pagination {
    position: absolute;
    bottom: 14px;
    right: 15px;
    display: flex;
    gap: 5px;
}

.rev-mini-bullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    opacity: 0.5;
    transition: opacity 0.25s ease-in-out;
}

.rev-mini-bullet.active {
    opacity: 1;
}

.rev-mini-review-text {
    margin: 0 !important;
}

.rev-mini-review-name {
    display: flex;
    align-items: center;
    white-space: nowrap;
    margin: 0 !important;
}

.rev-mini-stars {
    padding-right: 5px;
}

.rev-mini-slide-benefit p {
    margin-top: 0;
    margin-bottom: 4px;
    font-size: var(--rev-heading-size);
    font-weight: 600;
}

.rev-mini-slide-benefit span {
    margin: 0;
    font-size: var(--rev-text-size);
}

/* Block: Offer Box */
.rev-offer-box-wrap {
    background: var(--rev-background);
    color: var(--rev-color);
    border-radius: var(--rev-radius-md);
    text-align: var(--rev-align-mob);
    padding: 20px;
    border: 1px solid var(--rev-color);
}

.rev-offer-box-wrap h3 {
    margin-top: 0;
    margin-bottom: 12px;
    color: inherit;
}

.rev-offer-box-wrap div * {
    margin: 0;
    line-height: normal;
}

.rev-offer-box-accent {
    position: relative;
    outline: 1px solid var(--rev-accent);
    outline-offset: -10px;
}

@media (min-width: 769px) {
    .rev-offer-box-wrap {
        text-align: var(--rev-align);
        padding: 30px;
    }
}

/* Block: Payment Icons */
.rev-payment-icons {
    flex-wrap: wrap;
    gap: 6px;
    display: flex;
    margin: 15px 0 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
    max-height: 24px;
}

.rev-payment-icons li {
    max-width: 32px;
}

.rev-payment-icons svg {
    width: 100%;
    height: auto;
    display: block;
}

/* Block: Popularity Messaging */
@keyframes rev-popularity-fade-in {
    0% {
        opacity: 0;
        transform: translateX(50px);
        z-index: -1;
    }

    100% {
        opacity: 1;
        transform: translateX(0);
        z-index: 9;
    }
}

@keyframes rev-popularity-fade-out {
    0% {
        opacity: 1;
        transform: translateX(0);
        z-index: 9;
    }

    100% {
        opacity: 0;
        transform: translateX(50px);
        z-index: -1;
    }
}

@keyframes rev-popularity-grow {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    80% {
        transform: scale(1.2);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.rev-pop-message {
    display: flex;
    position: absolute;
    right: 2rem;
    top: 2rem;
    z-index: -1;
    height: fit-content;
    align-items: center;
    padding: 8px 12px;
    border-radius: 4px;
    box-shadow: 0px 4px 12px 4px rgba(0, 0, 0, 0.1);
    width: fit-content;
    opacity: 0;
    animation: rev-popularity-fade-in 1s ease-in-out forwards, rev-popularity-fade-out 1s ease-in-out forwards 7s;
    animation-delay: 1.5s, 6s;
    margin: 0;
    font-size: var(--rev-font-size);
    background: var(--rev-background);
    color: var(--rev-color);
}

.rev-pop-message span {
    text-box: trim-end cap text;
}

.rev-pop-number {
    margin-right: .25em;
}

.rev-pop-icon {
    margin-left: 0.5em;
    opacity: 0;
    animation: rev-popularity-grow 1s ease-in-out forwards;
    animation-delay: 2.5s;
    display: flex;
    color: var(--rev-color);
    overflow: visible;
}

/* Block: Price */
.rev-savings {
    font-size: var(--rev-price-size);
    color: var(--rev-price-saving-color);
    margin-left: 8px;
}

.rev-savings.rev-pill-wrap {
    background: var(--rev-price-saving-background);
    border-radius: var(--rev-radius-sm);
}

/* Block: Quantity Selector */
.rev-qty-selector {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.rev-qty-selector__label {
    font-size: var(--rev-font-size);
    color: var(--rev-color);
    text-box: trim-end cap text;
}

.rev-qty-selector__control {
    display: inline-flex;
    align-items: center;
    background: var(--rev-background);
    color: var(--rev-color);
    overflow: hidden;
    border: 1px solid var(--rev-border-color);
    border-radius: var(--rev-border-radius);
    min-height: 40px;
    max-width: fit-content;
}

.rev-qty-selector__control:hover {
    border-color: var(--rev-color);
}

.rev-qty-selector__btn {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    width: auto;
    font-size: var(--rev-font-size);
    background: transparent;
    border: 0;
    cursor: pointer;
    user-select: none;
    padding: 8px;
    text-box: trim-both cap alphabetic;
}

.rev-qty-selector__input {
    height: fit-content;
    text-align: center;
    padding: 0;
    font-size: var(--rev-font-size);
    border: 0;
    background: transparent;
    outline: none;
    line-height: var(--rev-font-size);
    margin: 0;
    padding: 8px;
    text-box: trim-end cap alphabetic;
}

.rev-qty-selector__input::-webkit-outer-spin-button,
.rev-qty-selector__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.rev-qty-selector__input[type=number] {
    appearance: textfield;
    -moz-appearance: textfield;
}

/* Block: Review Stars */
.rev-product-rating {
    text-decoration: none;
    display: flex;
    align-items: center;
    color: inherit;
    flex-wrap: wrap;
}

.rev-product-rating[disabled]:hover {
    cursor: default;
}

.rev-product-rating span {
    margin: 0;
}

.rev-stars-rating,
.rev-stars-count {
    font-size: inherit;
}

.rev-product-rating .rev-stars-count {
    text-decoration: underline;
    margin-left: .5em;
}

.rev-product-rating.rev-pill-wrap {
    position: relative;
    overflow: hidden;
    background: var(--rev-review-pill-background);
    color: var(--rev-review-pill-color);
    border-radius: var(--rev-radius-sm);
}

.rev-product-rating.rev-pill-wrap:after {
    content: "";
    position: absolute;
    inset: 0;
    background: #000000;
    opacity: 0;
    transition: opacity 150ms ease;
    pointer-events: none;

}

.rev-product-rating:not([disabled]):hover.rev-pill-wrap:after {
    opacity: .2;
}

.rev-product-rating .rev-stars {
    color: var(--rev-review-star-color);
    align-items: center;
    display: flex;
    margin-right: .25em;
}

.rev-product-rating .rev-stars span {
    display: inline-flex;
    align-items: center;
}

.rev-product-rating .rev-stars svg {
    width: var(--rev-review-star-size);
    height: var(--rev-review-star-size);
    fill: currentColor;
}

.rev-stars-rating {
    font-weight: 600;
}

.rev-stars-count {
    transform: scale(.85);
}

.rev-rating-minimalist .rev-stars span:not(:first-child) {
    display: none;
}

.rev-product-card .rev-product-rating .rev-stars svg {
    width: clamp(10px, calc(var(--rev-review-star-size) * 0.75), var(--rev-review-star-size));
    height: clamp(10px, calc(var(--rev-review-star-size) * 0.75), var(--rev-review-star-size));
}

.rev-product-card .rev-stars-rating,
.rev-product-card .rev-stars-count {
    font-size: 0.85em;
}

/* Block: Shop Promise */
delivery-promise-wc {
    display: none;
}

.rev-product-item delivery-promise-wc {
    display: block;
    margin-top: -20px;
}

/* Block: Sibling Products */
.rev-sibling-products {
    margin: 0 0 6px;
}

.rev-sibling-products.rev-selector-swatch .rev-swatch-image .rev-swatch img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.rev-swatch-disabled a,
.rev-swatch-disabled {
    opacity: 0.4;
}

/* Block: Subscription */
.rev-subscription-selector {
    max-width: 100%;
    min-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

.rev-subscription-selector_option_wrap {
    display: grid;
    gap: 16px;
}

.rev-subscription-selector__option {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
    position: relative;
    border: 1px solid var(--rev-border-color);
    border-radius: var(--rev-border-radius);
    padding: calc((var(--rev-pill-size) / 2) + 12px) 12px
}

.rev-subscription-selector__option:has(.rev-subscription-selector__toggle:checked) {
    border-color: var(--rev-selected-border);
    box-shadow: 0 0 0 1px var(--rev-selected-border);
    background: color-mix(in srgb, var(--rev-selected-background) 6%, transparent);
}


.rev-subscription-selector__pill {
    position: absolute;
    top: calc((var(--rev-font-size) / -2) - 10px);
    right: 12px;
}

.rev-subscription-selector__content {
    width: -webkit-fill-available;
    height: fit-content;
    color: var(--rev-color);
}

.rev-subscription-selector__content-inner {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 12px;
    justify-content: space-between;
}

.rev-subscription-selector__title {
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    font-size: var(--rev-font-size);
    line-height: normal;
    margin: 0;
}

.rev-subscription-selector__text {
    font-size: var(--rev-font-size);
    margin: 0;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    line-height: var(--rev-font-size);
}

.rev-subscription-selector__content-inner .rev-price-wrapper {
    margin: 0
}

.rev-subscription-selector__toggle {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.rev-subscription-selector__checkbox {
    display: inline-flex;
    margin-top: 4px;
    align-items: center;
    justify-content: center;
    width: var(--rev-checkbox-height);
    height: var(--rev-checkbox-height);
    border-radius: min(6px, var(--rev-checkbox-radius));
    border: 2px solid #ccc;
    background: transparent;
    position: relative;
    transition: background 0.2s, border-color 0.2s;
}

.rev-subscription-selector__checkbox::after {
    content: "";
    width: calc(var(--rev-checkbox-height) * 0.45);
    height: calc(var(--rev-checkbox-height) * 0.25);
    border-left: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: rotate(-45deg);
    transform-origin: center;
    opacity: 0;
    transition: opacity 0.2s;
}

.rev-subscription-selector__toggle:checked+.rev-subscription-selector__checkbox {
    background: var(--rev-highlight);
    border-color: var(--rev-highlight);
}

.rev-subscription-selector__toggle:checked+.rev-subscription-selector__checkbox::after {
    border-left-color: #fff;
    border-bottom-color: #fff;
    opacity: 1;
}

.rev-subscription-selector__plan select {
    margin-top: 12px;
}

.rev-subscription-selector__plan.rev-select:after {
    top: calc(50% + 6px);
}

.rev-subscription-selector__plan {
    max-height: 0;
    opacity: 0;
    transform: translateY(-4px);
    overflow: hidden;
    pointer-events: none;
    transition:
        max-height 300ms cubic-bezier(0.4, 0, 0.2, 1),
        opacity 180ms ease-out,
        transform 180ms ease-out;
}

.rev-subscription-selector__toggle:checked~.rev-subscription-selector__content .rev-subscription-selector__plan {
    max-height: 200px;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Block: Text With Icon */
.rev-text-icon-wrap {
    display: flex;
    align-items: center;
    gap: var(--rev-gap);
}

.rev-text-icon {
    height: fit-content;
}

.rev-text-icon-content {
    color: var(--rev-color);
    font-size: var(--rev-font-size);
    text-box: trim-end cap text;
    margin: 0;
}

/* Block: Timer */
.rev-timer {
    font-size: var(--rev-font-size);
    color: var(--rev-color);
    text-decoration: none;
    display: flex;
    align-content: center;
    gap: .25em;
}

/* Block: Upsell List */
.rev-product-upsell-list {
    display: inline-flex;
    flex-wrap: wrap;
    min-width: 0;
    justify-content: space-between;
}

.rev-product-upsell-list .rev-product-card {
    min-width: var(--rev-card-min-width);
}

@media (max-width: 768px) {
    .rev-block-upsell-list {
        position: relative;
    }

    .rev-product-upsell-list {
        flex-wrap: nowrap;
        overflow: auto;
        width: calc(100% + (var(--rev-gutter-mob) * 2));
        min-width: calc(100% + (var(--rev-gutter-mob) * 2));
        max-width: 100vw;
        margin-left: calc(var(--rev-gutter-mob) * -1);
        padding: 5px var(--rev-gutter-mob) 15px;
        gap: 8px;
    }

    .rev-product-upsell-list:before,
    .rev-product-upsell-list:after {
        content: '';
        height: calc(100% + 4px);
        width: var(--rev-gutter-mob);
        position: absolute;
        top: -2px;
        z-index: 1;
    }

    .rev-product-upsell-list:before {
        left: calc(var(--rev-gutter-mob) * -1);
        background: linear-gradient(to right, var(--rev-background), transparent);
    }

    .rev-product-upsell-list:after {
        right: calc(var(--rev-gutter-mob) * -1);
        background: linear-gradient(to left, var(--rev-background), transparent)
    }

    .rev-product-upsell-list .rev-product-card {
        width: 100%;
        min-width: var(--rev-card-width-mob);
    }
}

/* ================================
Card Grid
================================ */
.rev-card-grid {
    display: grid;
    gap: var(--rev-gap);
}

.rev-card-grid-feat {
    grid-auto-flow: dense;
}

.rev-card-grid-fixed {
    grid-template-columns: repeat(var(--rev-cols), 1fr);
}

.rev-card-grid-responsive {
    grid-template-columns: repeat(auto-fit, minmax(var(--rev-cols-min-width), 1fr));
}

.rev-card-grid__item-feat {
    grid-column: span 2;
    grid-row: span 2;
}

@media (max-width: 768px) {
    .rev-card-grid {
        gap: var(--rev-gap-mob);
        grid-template-columns: repeat(auto-fit, minmax(var(--rev-cols-min-width-mob), 1fr));
    }

    .rev-card-grid__item-feat {
        grid-column: 1 / -1;
        grid-row: span 1;
    }
}

@media (min-width: 769px) {
    .rev-card-grid-responsive .rev-card-grid__item {
        min-width: var(--rev-card-min-width);
    }

    .rev-card-grid__item-feat-inner {
        position: sticky;
        top: 120px;
    }
}

/* ================================
Card Slider
================================ */
.rev-card-slider {
    position: relative;
    max-width: 100%;
}

.rev-product-slider .rev-section-header {
    margin-bottom: 0;
}

.rev-card-slider-wrap {
    position: relative;
    overflow: hidden;
    height: fit-content;
    max-height: fit-content;
    padding-top: 12px;
    margin-top: -6px;
}

.rev-card-slider .rev-block-buttons {
    width: fit-content;
    margin: 24px auto 0;
}

.rev-card-slider-wrap[data-rev-card-slider] {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.rev-card-slider-wrap[data-rev-card-slider]::-webkit-scrollbar {
    display: none;
}

.rev-card-slider-controls {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
    padding-bottom: var(--rev-spacing-tight);
    justify-content: flex-end;
    position: relative;
}

.rev-card-slider-track {
    display: flex;
    gap: var(--rev-spacing-tight);
    width: 100%;
}

.rev-card-slider-track>.rev-card-slider__item {
    scroll-snap-align: start;
    flex: 0 0 max(var(--rev-min-width, 200px),
            calc((100% - (var(--rev-columns, 3) - 1) * var(--rev-spacing-tight)) / var(--rev-columns, 3)));
}

.rev-card-slider-arrows {
    display: flex;
    gap: 6px;
}

.rev-card-slider-prev,
.rev-card-slider-next {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: var(--rev-slider-arrows-background);
    border-radius: var(--rev-radius-icons);
    height: 36px;
    width: 36px;
    border: none;
    cursor: pointer;
    box-shadow: 0 0 22px #00000040;
    transition: transform .125s ease-in-out;
}

.rev-arrow-prev:hover,
.rev-arrow-next:hover,
.rev-card-slider-prev:hover,
.rev-card-slider-next:hover {
    transform: scale(1.15);
}

.rev-arrow-prev:disabled,
.rev-arrow-next:disabled,
.rev-card-slider-prev:disabled,
.rev-card-slider-next:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.rev-arrow-prev:after,
.rev-arrow-next:after,
.rev-card-slider-prev:after,
.rev-card-slider-next:after {
    content: '';
    border-right: 1px solid var(--rev-slider-arrows-color);
    border-top: 1px solid var(--rev-slider-arrows-color);
    height: 6px;
    width: 6px;
}

.rev-arrow-prev:after,
.rev-card-slider-prev:after {
    transform: rotate(225deg) translateX(-1px) translateY(1px);
}

.rev-arrow-next:after,
.rev-card-slider-next:after {
    transform: rotate(45deg) translateX(-1px) translateY(1px);
}

.rev-card-slider-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.rev-card-slider-indicator-dots .rev-card-slider-bullet,
.rev-card-slider-indicator-squares .rev-card-slider-bullet {
    width: 8px;
    height: 8px;
    background: rgba(var(--rev-slider-indicators-rgb), 0.3);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background 0.2s ease, transform 0.2s ease;
}

.rev-card-slider-indicator-dots .rev-card-slider-bullet {
    border-radius: var(--rev-radius-full);
}

.rev-card-slider-indicator-squares .rev-card-slider-bullet {
    border-radius: 0;
}

.rev-card-slider-indicator-dots .rev-card-slider-bullet:hover,
.rev-card-slider-indicator-squares .rev-card-slider-bullet:hover {
    transform: scale(1.2);
}

.rev-card-slider-indicator-dots .rev-card-slider-bullet-active,
.rev-card-slider-indicator-squares .rev-card-slider-bullet-active {
    background: var(--rev-slider-indicators-color);
}

.rev-card-slider-indicator-counter {
    font-size: 13px;
    color: var(--rev-slider-indicators-color);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    opacity: 0.7;
    margin-right: 4px;
}

.rev-card-slider-indicator-progress_bar+.rev-card-slider-arrows {
    margin-bottom: 8px;
}

.rev-card-slider-indicator-progress_bar {
    height: 2px;
    background: rgba(var(--rev-slider-indicators-rgb), 0.15);
    border-radius: var(--rev-radius-full);
    overflow: hidden;
    position: absolute;
    bottom: 2px;
    width: 100%;
    display: flex;
    justify-content: flex-start;
}

.rev-card-slider-progress-fill {
    height: 100%;
    background: var(--rev-slider-indicators-color);
    border-radius: var(--rev-radius-full);
    transition: width 0.3s ease;
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .rev-card-slider-track {
        gap: var(--rev-spacing-tight-mob);
    }

    .rev-card-slider-track>.rev-card-slider__item {
        flex: 0 0 var(--rev-card-width-mob, 80%);
        min-width: unset;
    }

    .rev-card-slider-arrows {
        display: none;
    }
}

/* ================================
Video Review Carousel
================================ */
.rev-video-review-carousel .rev-section-header {
    width: 100%;
}

.rev-video-review-carousel .rev-button-container {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.rev-video-review-carousel__slider {
    position: relative;
    overflow: hidden;
    padding: 20px 0;
}

.rev-video-review-carousel__track {
    display: flex;
    align-items: center;
    transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: transform;
}

.rev-video-review-carousel__blur-overlay .rev-video-review-carousel__slide:not(.is-active) .rev-video-review-carousel__card:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: canvas;
    opacity: .58;
    backdrop-filter: blur(6px) saturate(130%);
    -webkit-backdrop-filter: blur(6px) saturate(130%);
}

.rev-video-review-carousel__slide {
    flex: 0 0 auto;
    width: 280px;
    margin: 0 -8px;
    transition: transform 0.4s ease, opacity 0.4s ease;
    position: relative;
    z-index: 1;
}

.rev-video-review-carousel__slide:not(.is-active) {
    transform: scale(var(--rev-card-scale, 0.9));
}

.rev-video-review-carousel__slide.is-active {
    transform: scale(1);
    z-index: 5;
}

.rev-video-review-carousel__card {
    position: relative;
    border-radius: var(--rev-radius-md);
    overflow: hidden;
    background: #000;
    aspect-ratio: 9 / 16;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.rev-video-review-carousel__video-wrap {
    position: absolute;
    inset: 0;
}

.rev-video-review-carousel__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rev-video-review-carousel__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #2a2a2a, #1a1a1a);
    color: rgba(255, 255, 255, 0.3);
}

.rev-video-review-carousel__placeholder svg {
    width: 48px;
    height: 48px;
}

.rev-video-review-carousel__volume {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: background 0.2s ease;
    z-index: 5;
}

.rev-video-review-carousel__volume:hover {
    background: rgba(0, 0, 0, 0.7);
}

.rev-video-review-carousel__volume-icon {
    width: 20px;
    height: 20px;
}

.rev-video-review-carousel__volume-icon--unmuted {
    display: none;
}

.rev-video-review-carousel__slide[data-muted="false"] .rev-video-review-carousel__volume-icon--muted {
    display: none;
}

.rev-video-review-carousel__slide[data-muted="false"] .rev-video-review-carousel__volume-icon--unmuted {
    display: block;
}

.rev-video-review-carousel__product {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px 12px 16px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.5) 60%, transparent 100%);
    color: var(--rev-color);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 3;
}

.rev-video-review-carousel__price-wrap .rev-video-review-carousel__product:hover {
    color: var(--rev-color);
}

.rev-video-review-carousel__product-name {
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rev-video-review-carousel__price-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.rev-video-review-carousel__price-wrap .rev-price-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rev-video-review-carousel__price-wrap .rev-price-slash {
    opacity: 0.7;
}

.rev-video-review-carousel__price-wrap .rev-badge {
    margin-left: 4px;
}

.rev-video-review-carousel__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: var(--rev-slider-arrows-background);
    border-radius: var(--rev-radius-icons);
    height: 36px;
    width: 36px;
    border: none;
    cursor: pointer;
    box-shadow: 0 0 22px #00000040;
    transition: transform .125s ease-in-out;
}

.rev-video-review-carousel__arrow--prev {
    left: 16px;
}

.rev-video-review-carousel__arrow--next {
    right: 16px;
}

.rev-video-review-carousel__arrow:hover {
    transform: translateY(-50%) scale(1.15);
}

@media (max-width: 749px) {
    .rev-video-review-carousel__slide {
        width: 55vw;
        margin: 0 -5px;
    }

    .rev-video-review-carousel__arrow--prev {
        left: 8px;
    }

    .rev-video-review-carousel__arrow--next {
        right: 8px;
    }

    .rev-video-review-carousel__volume {
        width: 30px;
        height: 30px;
        top: 8px;
        right: 8px;
    }

    .rev-video-review-carousel__volume-icon {
        width: 16px;
        height: 16px;
    }

    .rev-video-review-carousel .rev-button-container {
        margin-top: 20px;
    }
}

@media (min-width: 1200px) {
    .rev-video-review-carousel__arrow--prev {
        left: 30px;
    }

    .rev-video-review-carousel__arrow--next {
        right: 30px;
    }
}

.rev-quickview-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: background 0.3s ease, backdrop-filter 0.3s ease, opacity 0.3s ease, visibility 0s 0.3s;
}

.rev-quickview-overlay.active {
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: background 0.3s ease, backdrop-filter 0.3s ease, opacity 0.3s ease, visibility 0s;
}

.rev-quickview {
    width: 92%;
    max-width: 480px;
    max-height: 90vh;
    background: #fff;
    border-radius: 12px;
    overflow-y: auto;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.18);
}

.rev-quickview-overlay.active .rev-quickview {
    transform: translateY(0) scale(1);
}

.rev-quickview__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 0;
}

.rev-quickview__title {
    font-size: 1.25em;
    font-weight: 700;
    color: #151515;
    letter-spacing: -0.01em;
}

.rev-quickview__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: #151515;
    border-radius: 50%;
    transition: background 0.15s ease;
}

.rev-quickview__close:hover {
    background: rgba(0, 0, 0, 0.06);
}

.rev-quickview__close svg {
    width: 20px;
    height: 20px;
}

.rev-quickview__body {
    padding: 20px 24px 24px;
    will-change: opacity;
}

.rev-quickview__product {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.rev-quickview__media {
    flex-shrink: 0;
    width: 140px;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
    aspect-ratio: var(--rev-prod-media-aspect-ratio, 1/1);
}

.rev-quickview__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.rev-quickview__info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    min-width: 0;
}

.rev-quickview__product-title {
    font-size: 1em;
    font-weight: 600;
    color: #151515;
    margin: 0;
    line-height: 1.3;
}

.rev-quickview__product-type {
    font-size: 0.8em;
    color: #666;
    margin: 0;
}

.rev-quickview__price {
    margin-top: 4px;
}

.rev-quickview__price .rev-price-wrapper {
    font-size: 1em !important;
}

.rev-quickview__rating .rev-stars svg {
    width: clamp(10px, calc(var(--rev-review-star-size) * .75), var(--rev-review-star-size));
    height: clamp(10px, calc(var(--rev-review-star-size) * .75), var(--rev-review-star-size));
}

.rev-quickview__rating .rev-stars-rating,
.rev-quickview__rating .rev-stars-count {
    font-size: .85em !important;
}

.rev-quickview__options {
    padding-top: 20px;
    padding-bottom: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.rev-quickview__options .rev-option {
    margin: 0 0 12px;
}

.rev-quickview__options .rev-option:last-of-type {
    margin: 0;
}

.rev-quickview__actions {
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rev-quickview__actions .rev-button-container {
    width: 100%;
}

.rev-quickview__actions .rev-button {
    width: 100%;
    max-width: 100%;
}

.rev-quickview__actions .rev-dynamic-checkout {
    margin-top: 0;
}

.rev-quickview__view-details {
    display: block;
    text-align: center;
    font-size: 0.8em;
    font-weight: 500;
    color: #555;
    text-decoration: none;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: var(--rev-radius-sm);
    padding: 10px 16px;
    transition: all 0.15s ease;
}

.rev-quickview__view-details:hover {
    color: #151515;
    border-color: rgba(0, 0, 0, 0.4);
    background: rgba(0, 0, 0, 0.02);
}

.rev-quickview__skeleton {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rev-quickview__skeleton-row {
    display: flex;
    gap: 16px;
}

.rev-quickview__skeleton-media {
    flex-shrink: 0;
    width: 140px;
    height: 160px;
    border-radius: 8px;
    background: #eee;
    animation: rev-shimmer 1.5s ease-in-out infinite;
}

.rev-quickview__skeleton-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    flex: 1;
}

.rev-quickview__skeleton-line {
    border-radius: 4px;
    background: #eee;
    animation: rev-shimmer 1.5s ease-in-out infinite;
}

.rev-quickview__skeleton-line--title {
    height: 18px;
    width: 80%;
}

.rev-quickview__skeleton-line--type {
    height: 14px;
    width: 50%;
}

.rev-quickview__skeleton-line--price {
    height: 18px;
    width: 40%;
}

.rev-quickview__skeleton-line--options {
    height: 36px;
    width: 100%;
}

.rev-quickview__skeleton-line--btn {
    height: 48px;
    width: 100%;
    border-radius: 6px;
}

@keyframes rev-shimmer {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.4;
    }
}

@media (max-width: 749px) {
    .rev-quickview-overlay {
        align-items: flex-end;
    }

    .rev-quickview {
        width: 100%;
        max-width: 100%;
        max-height: 85vh;
        border-radius: 16px 16px 0 0;
        transform: translateY(100%);
        transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
    }

    .rev-quickview-overlay.active .rev-quickview {
        transform: translateY(0);
    }

    .rev-quickview__header {
        padding: 12px 24px 0;
    }

    .rev-quickview::before {
        content: '';
        display: block;
        width: 36px;
        height: 4px;
        border-radius: 2px;
        background: rgba(0, 0, 0, 0.15);
        margin: 8px auto 0;
        flex-shrink: 0;
    }

    .rev-quickview__media {
        width: 110px;
    }
}

/* ================================
Bundle Builder
================================ */

.rev-bundle-builder {
    min-height: 100vh;
    position: relative;
}

.rev-bundle-builder__layout {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: stretch;
    margin: 0;
    padding: 0;
}

.rev-bundle-builder__hero {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
}

.rev-bundle-builder__hero-media {
    position: absolute;
    inset: 0;
}

.rev-bundle-builder__hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.rev-bundle-builder__main {
    flex: 1;
    padding: 24px 20px;
}

.rev-bundle-builder__header {
    margin-bottom: var(--rev-spacing-element);
}

.rev-bundle-builder__text {
    margin: 0;
}

.rev-bundle-builder__progress {
    border-radius: var(--rev-radius-lg);
    padding: var(--rev-spacing-element);
    margin-bottom: var(--rev-spacing-element);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.rev-bundle-builder__progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--rev-spacing-tight);
}

.rev-bundle-builder__progress-label {
    font-size: 0.8em;
}

.rev-bundle-builder__progress-count {
    font-size: 0.8em;
    color: var(--rev-accent);
}

.rev-bundle-builder__progress-bar {
    height: 8px;
    background: var(--rev-accent-light);
    border-radius: var(--rev-radius-sm);
    overflow: hidden;
    margin-bottom: var(--rev-spacing-tight);
}

.rev-bundle-builder__progress-fill {
    height: 100%;
    background: var(--rev-accent);
    border-radius: var(--rev-radius-sm);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rev-bundle-builder__progress-hint {
    font-size: 0.8em;
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
}

.rev-bundle-builder__items {
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-element);
}

.rev-bundle-builder__item {
    border-radius: var(--rev-radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.1);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.rev-bundle-builder__item[data-selected="true"] {
    border-color: var(--rev-success-color);
}

.rev-bundle-builder__item[data-updating="true"] {
    border-color: var(--rev-accent);
}

.rev-bundle-builder__item[data-locked="true"] {
    opacity: 0.4;
    pointer-events: none;
    user-select: none;
    transition: opacity 0.3s ease;
}

.rev-bundle-builder__item[data-locked="false"] {
    transition: opacity 0.3s ease;
}

.rev-bundle-builder__item-choices {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.rev-bundle-builder__choice {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-element);
    padding: var(--rev-spacing-tight) var(--rev-spacing-element);
    border: 1px solid transparent;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0;
    background: none;
    cursor: pointer;
    text-align: left;
    width: 100%;
    transition: border-color 0.2s, background 0.2s;
}

.rev-bundle-builder__choice:last-child {
    border-bottom-left-radius: var(--rev-radius-lg);
    border-bottom-right-radius: var(--rev-radius-lg);
    border-bottom: 1px solid transparent;
}

.rev-bundle-builder__choice:hover {
    border-color: var(--rev-accent);
    background: var(--rev-accent-light);
}

.rev-bundle-builder__choice-img {
    width: 56px;
    height: 56px;
    border-radius: var(--rev-radius-sm);
    object-fit: cover;
    flex-shrink: 0;
}

.rev-bundle-builder__choice-info {
    flex: 1;
    min-width: 0;
}

.rev-bundle-builder__choice-title {
    margin: 0 0 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rev-bundle-builder__choice-price-wrap {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
}

.rev-bundle-builder__variant-wrap .rev-stars svg,
.rev-bundle-builder__choice-price-wrap .rev-stars svg {
    width: clamp(10px, calc(var(--rev-review-star-size) * .75), var(--rev-review-star-size));
    height: clamp(10px, calc(var(--rev-review-star-size) * .75), var(--rev-review-star-size));
}

.rev-bundle-builder__variant-wrap .rev-stars-rating,
.rev-bundle-builder__variant-wrap .rev-stars-count,
.rev-bundle-builder__choice-price-wrap .rev-stars-rating,
.rev-bundle-builder__choice-price-wrap .rev-stars-count {
    font-size: .85em;
}

.rev-bundle-builder__choice-info .rev-price-wrapper * {
    font-size: .8em;
}

.rev-bundle-builder__choice-arrow {
    flex-shrink: 0;
    opacity: 0.3;
    transition: opacity 0.2s;
}

.rev-bundle-builder__choice:hover .rev-bundle-builder__choice-arrow {
    opacity: 0.7;
}

.rev-bundle-builder__item-header {
    justify-content: space-between;
    align-items: center;
    padding: var(--rev-spacing-tight) var(--rev-spacing-element);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.rev-bundle-builder__item-meta {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
    font-size: 0.8em;
}

.rev-bundle-builder__item-sep {
    opacity: 0.3;
}

.rev-bundle-builder__item-status {
    opacity: 0.5;
}

.rev-bundle-builder__item[data-selected="true"] .rev-bundle-builder__item-status {
    color: var(--rev-success-color);
    opacity: 1;
}

.rev-bundle-builder__item[data-updating="true"] .rev-bundle-builder__item-status {
    color: var(--rev-accent);
    opacity: 1;
}

.rev-bundle-builder__change {
    display: flex;
    align-items: center;
}

.rev-bundle-builder__swap-btn,
.rev-bundle-builder__edit-btn {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
    background: none;
    border: none;
    font-size: 0.8em;
    color: var(--rev-accent);
    cursor: pointer;
    padding: 6px 12px;
    border-radius: var(--rev-radius-sm);
    transition: background 0.2s;
}

.rev-bundle-builder__swap-btn:hover,
.rev-bundle-builder__edit-btn:hover {
    background: var(--rev-accent-light);
}

.rev-bundle-builder__item-state {
    display: flex;
    gap: var(--rev-spacing-element);
}

.rev-bundle-builder__item-state--initial {
    align-items: center;
}

.rev-bundle-builder__item-state--selecting {
    flex-direction: column;
    padding: var(--rev-spacing-element);
}

.rev-bundle-builder__item[data-selected="true"] .rev-bundle-builder__item-state--selecting .rev-bundle-builder__back-btn {
    display: none !important;
}

.rev-bundle-builder__item-state--confirmed {
    align-items: center;
    padding: var(--rev-spacing-element);
}

.rev-bundle-builder__item-preview {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    border-radius: var(--rev-radius-md);
    overflow: hidden;
    background: rgba(0, 0, 0, 0.03);
}

.rev-bundle-builder__item-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rev-bundle-builder__item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-tight);
}

.rev-bundle-builder__item-title {
    font-size: 1.1em;
    margin: 0;
    line-height: 1.3;
}

.rev-bundle-builder__item-price {
    font-size: calc(var(--rev-price-size) * 0.85);
    margin: 0;
}

.rev-bundle-builder__select-btn {
    margin-top: var(--rev-spacing-tight);
    align-self: flex-start;
    max-width: fit-content;
}

.rev-bundle-builder__item-options {
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-element);
}

.rev-bundle-builder__variant-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-tight);
}

.rev-bundle-builder__selecting-actions {
    display: flex;
    gap: var(--rev-spacing-tight);
    justify-content: space-between;
}

.rev-bundle-builder__back-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: var(--rev-radius-sm);
    padding: 10px 16px;
    cursor: pointer;
    font-size: 0.85em;
    color: var(--rev-accent);
    transition: border-color 0.2s, background 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}

.rev-bundle-builder__back-btn:hover {
    border-color: var(--rev-accent);
    background: var(--rev-accent-light);
}

.rev-bundle-builder__confirm-btn {
    margin-top: 8px;
    width: 100%;
}

.rev-bundle-builder__custom-input {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rev-bundle-builder__custom-input-label {
    font-size: 0.85em;
}

.rev-bundle-builder__custom-input-required {
    color: var(--rev-accent);
}

.rev-bundle-builder__custom-input-field {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: var(--rev-radius-sm);
    font-size: 0.9em;
    font-family: inherit;
    color: inherit;
    background: none;
    transition: border-color 0.2s;
}

.rev-bundle-builder__custom-input-field::placeholder {
    color: color-mix(in srgb, currentColor 40%, transparent) !important;
    opacity: 1;
}

.rev-bundle-builder__custom-input-field:focus {
    outline: none;
    border-color: var(--rev-accent);
}

.rev-bundle-builder__confirmed-preview {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: var(--rev-radius-md);
    overflow: hidden;
    background: rgba(0, 0, 0, 0.03);
}

.rev-bundle-builder__confirmed-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rev-bundle-builder__confirmed-info {
    flex: 1;
    min-width: 0;
}

.rev-bundle-builder__confirmed-title {
    margin: 0 0 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rev-bundle-builder__confirmed-details {
    font-size: 0.85em;
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
    flex-wrap: wrap;
}

.rev-bundle-builder__confirmed-swatch {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    display: inline-block;
    background: var(--rev-swatch-color);
}

.rev-bundle-builder__confirmed-sep {
    opacity: 0.4;
}

.rev-bundle-builder__confirmed-check {
    flex-shrink: 0;
}

.rev-bundle-builder__choice--skip {
    opacity: 0.5;
}

.rev-bundle-builder__choice--skip:hover {
    opacity: 0.8;
}

.rev-bundle-builder__skip-icon {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rev-bundle-builder__skip-sub {
    font-size: 0.8em;
    margin: 0;
    opacity: 0.6;
}

.rev-bundle-builder__item-state--skipped {
    align-items: center;
    justify-content: center;
    padding: var(--rev-spacing-element);
    gap: var(--rev-spacing-tight);
    opacity: 0.5;
}

.rev-bundle-builder__skipped-icon {
    display: flex;
}

.rev-bundle-builder__skipped-text {
    font-size: 0.85em;
    text-box: trim-both cap alphabetic;
}

.rev-bundle-builder__item[data-skipped="true"] {
    border-style: dashed;
}

.rev-bundle-builder__item[data-skipped="true"] .rev-bundle-builder__item-status {
    opacity: 0.6;
}

.rev-bundle-builder__footer {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    background: canvas;
}

.rev-bundle-builder__footer--sticky {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
}

.rev-bundle-builder__footer--inline {
    margin-top: var(--rev-spacing-element);
    border-radius: var(--rev-radius-lg);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: none;
}

.rev-bundle-builder:has(.rev-bundle-builder__footer--inline) {
    min-height: auto;
}

.rev-bundle-builder:has(.rev-bundle-builder__footer--inline) .rev-bundle-builder__main {
    padding-bottom: 24px;
}

.rev-bundle-builder__footer--inline .rev-bundle-builder__footer-inner {
    max-width: none;
    padding: var(--rev-spacing-element);
}

.rev-bundle-builder__footer-inner {
    max-width: var(--rev-max-width);
    margin: 0 auto;
    padding: var(--rev-spacing-tight) var(--rev-spacing-element);
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-element);
}

.rev-bundle-builder__totals {
    display: flex;
    gap: var(--rev-spacing-element);
}

.rev-bundle-builder__original-price,
.rev-bundle-builder__bundle-price {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rev-bundle-builder__price-label {
    font-size: 0.7em;
}

.rev-bundle-builder__price-value {
    font-size: var(--rev-price-size);
}

.rev-bundle-builder__price-value--strike {
    height: 100%;
    display: flex;
    align-items: center;
    text-decoration: line-through;
    opacity: 0.5;
    font-size: calc(var(--rev-price-size) * 0.875);
}

.rev-bundle-builder__price-value--large {
    color: var(--rev-price-sale-color);
    font-size: calc(var(--rev-price-size) * 1.25);
}

.rev-bundle-builder__price-row {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
}

.rev-bundle-builder__savings-badge {
    background: var(--rev-accent);
    color: #fff;
    font-size: 0.7em;
    padding: 4px 8px;
    border-radius: var(--rev-radius-sm);
}

.rev-bundle-builder__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--rev-spacing-element);
}

.rev-bundle-builder__status {
    flex: 1;
}

.rev-bundle-builder__status-count {
    margin: 0 0 2px;
}

.rev-bundle-builder__status-hint {
    font-size: 0.85em;
    margin: 0;
}

.rev-bundle-builder__add-btn.rev-button {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
    padding-left: 24px;
    padding-right: 24px;
    flex-direction: row;
}

.rev-bundle-builder__add-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.rev-bundle-builder__add-btn svg {
    flex-shrink: 0;
}


.rev-bundle-builder__confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.rev-bundle-builder__confirm-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
}

.rev-bundle-builder__confirm-content {
    position: relative;
    background: Canvas;
    width: 100%;
    max-width: 560px;
    max-height: 85vh;
    border-radius: var(--rev-radius-lg) var(--rev-radius-lg) 0 0;
    display: flex;
    flex-direction: column;
    animation: slideUp 0.3s ease-out;
}

.rev-bundle-builder__confirm-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 24px 24px 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.rev-bundle-builder__confirm-label {
    font-size: 0.75em;
    display: block;
    margin-bottom: 4px;
}

.rev-bundle-builder__confirm-title {
    margin: 0;
}

.rev-bundle-builder__confirm-close {
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    opacity: 0.4;
    transition: opacity 0.2s;
}

.rev-bundle-builder__confirm-close:hover {
    opacity: 1;
}

.rev-bundle-builder__confirm-items {
    flex: 1;
    overflow-y: auto;
    padding: 0 24px;
}

.rev-bundle-builder__confirm-item {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-element);
    padding: var(--rev-spacing-element) 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.rev-bundle-builder__confirm-item:last-child {
    border-bottom: none;
}

.rev-bundle-builder__confirm-item-img {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: var(--rev-radius-md);
    object-fit: cover;
    background: rgba(0, 0, 0, 0.03);
}

.rev-bundle-builder__confirm-item-info {
    flex: 1;
    min-width: 0;
}

.rev-bundle-builder__confirm-item-title {
    margin: 0 0 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rev-bundle-builder__confirm-item-variant {
    font-size: 0.85em;
    opacity: 0.6;
    margin: 0;
}

.rev-bundle-builder__confirm-item-price {
    font-size: calc(var(--rev-price-size) * 0.85);
    flex-shrink: 0;
    white-space: nowrap;
}

.rev-bundle-builder__confirm-item-swap {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    font-size: 0.75em;
    color: var(--rev-accent);
    cursor: pointer;
    padding: 6px 10px;
    border-radius: var(--rev-radius-sm);
    transition: background 0.2s;
    flex-shrink: 0;
    white-space: nowrap;
}

.rev-bundle-builder__confirm-item-swap:hover {
    background: var(--rev-accent-light);
}

.rev-bundle-builder__confirm-footer {
    padding: 16px 24px 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.rev-bundle-builder__confirm-subtotal {
    margin-bottom: var(--rev-spacing-element);
}

.rev-bundle-builder__confirm-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    font-size: 0.9em;
}

.rev-bundle-builder__confirm-row--discount {
    color: var(--rev-accent);
}

.rev-bundle-builder__confirm-row--total {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 8px;
    padding-top: 8px;
    font-size: 1.1em;
}

.rev-bundle-builder__confirm-add {
    width: 100%;
}

@media (max-width: 768px) {
    .rev-bundle-builder {
        padding-top: 0;
    }

    .rev-bundle-builder__footer-inner {
        gap: 0;
        position: relative;
    }

    .rev-bundle-builder__bundle-price {
        gap: 0;
    }

    .rev-bundle-builder__totals {
        max-width: 50%;
    }

    .rev-bundle-builder__status {
        position: absolute;
        top: calc(2 * var(--rev-spacing-tight));
        right: var(--rev-spacing-element);
        max-width: 100%;
    }

    .rev-bundle-builder__status-count {
        font-size: .9em;
    }

    .rev-bundle-builder__status-hint {
        font-size: .75em;
    }

    .rev-bundle-builder__footer--inline .rev-bundle-builder__footer-inner {
        padding: var(--rev-spacing-tight);
    }
}

@media (min-width: 769px) and (max-width: 1140px) {
    .rev-bundle-builder__item-state--selecting {
        flex-direction: column;
    }
}

@media (min-width: 769px) {
    .rev-bundle-builder {
        min-height: fit-content;
    }

    .rev-bundle-builder__layout {
        flex-direction: row;
        margin: 0 max(var(--rev-gutter-min), calc((100vw - var(--rev-max-width))/2));
        align-items: flex-start !important;
    }

    .rev-bundle-builder__hero {
        display: block;
        width: 45%;
        height: stretch;
        min-height: 90vh;
        max-height: 100vh;
        position: sticky;
        top: 30px;
    }

    .rev-bundle-builder__main {
        width: 55%;
        padding: 40px;
    }

    .rev-bundle-builder__item-header {
        display: flex;
    }

    .rev-bundle-builder__item-state--selecting {
        flex-direction: row;
    }

    .rev-bundle-builder__item-preview {
        width: 140px;
        height: 140px;
    }

    .rev-bundle-builder__item-options {
        flex: 1;
        min-width: 0;
    }

    .rev-bundle-builder__confirm-btn {
        max-width: fit-content;
    }

    .rev-bundle-builder__footer-inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 20px 40px;
    }

    .rev-bundle-builder:has(.rev-bundle-builder__footer--inline) .rev-bundle-builder__main {
        padding-bottom: 40px;
    }

    .rev-bundle-builder__totals {
        gap: var(--rev-spacing-element);
    }

    .rev-bundle-builder__price-value--large {
        font-size: calc(var(--rev-price-size) * 1.5);
    }

    .rev-bundle-builder__confirm-modal {
        align-items: center;
    }

    .rev-bundle-builder__confirm-content {
        border-radius: var(--rev-radius-lg);
        max-width: 560px;
    }

    .rev-bundle-builder__footer--inline .rev-bundle-builder__actions {
        flex-direction: column;
        gap: var(--rev-spacing-tight);
        align-items: baseline;
    }
}

/* ================================
Multicolumn / Column Card
================================ */
.rev-multicolumn .rev-container {
    flex-direction: column;
}

.rev-column-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: var(--rev-radius-md);
    overflow: hidden;
    background: var(--rev-card-bg, transparent);
    color: var(--rev-card-color, inherit);
}

.rev-column-card__media {
    overflow: hidden;
}

.rev-column-card__media img,
.rev-column-card__media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rev-multicolumn[style*="--rev-media-ratio"] .rev-column-card__media {
    aspect-ratio: var(--rev-media-ratio);
}

.rev-column-card__media .rev-placeholder-svg {
    width: 100%;
    height: 100%;
    background: color-mix(in srgb, currentColor 8%, transparent);
}

.rev-column-card__content {
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-tight);
    padding: var(--rev-spacing-element) 0 0;
    text-align: var(--rev-content-align, left);
    flex: 1;
}

.rev-multicolumn--card-filled .rev-column-card__content {
    padding: var(--rev-spacing-element);
}

.rev-multicolumn .rev-column-card__content .rev-block-buttons {
    margin-top: auto;
}

.rev-multicolumn[style*="--rev-content-align:center"] .rev-column-card__content .rev-block-buttons {
    margin-inline: auto;
}

.rev-column-card__title {
    margin: 0;
    line-height: normal;
}

.rev-column-card__text {
    margin: 0;
    line-height: 1.5;
}

.rev-column-card__text p {
    margin: 0;
}

.rev-announcement-timer {
    background: var(--rev-background);
    color: var(--rev-color);
    width: 100%;
    padding: var(--rev-padding) 0;
}

.rev-announcement-timer__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 var(--rev-gutter-mob);
    gap: 0.5em;
}

.rev-announcement-timer .rev-timer {
    color: inherit;
    font-weight: var(--rev-font-weight);
    justify-content: center;
    flex-wrap: wrap;
}

.rev-announcement-timer .rev-timer__text {
    color: inherit;
}

.rev-announcement-timer .rev-timer__countdown {
    color: inherit;
}

@media (min-width: 769px) {
    .rev-announcement-timer__inner {
        margin: 0 max(var(--rev-gutter-min), calc((100vw - var(--rev-max-width)) / 2));
    }
}

/* ================================
FAQ Section
================================ */

.rev-faq .rev-container {
    flex-direction: column;
}

.rev-faq .rev-container.rev-adapt-section {
    align-items: stretch;
}

.rev-faq__content {
    width: 100%;
}

.rev-faq__subheading {
    margin-top: 0;
    margin-bottom: var(--rev-spacing-element);
    line-height: normal;
}

.rev-faq__item {
    position: relative;
}

.rev-faq__item:after {
    content: '';
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: .25px;
    background: currentColor;
    opacity: .25;
    z-index: 1;
}

.rev-faq__block-media {
    margin-top: var(--rev-spacing-tight);
    border-radius: var(--rev-radius-md);
    overflow: hidden;
}

.rev-faq__block-media img,
.rev-faq__block-media video {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--rev-radius-md);
}

@media (min-width: 769px) {
    .rev-faq .rev-container.rev-adapt-section {
        flex-direction: row;
    }

    .rev-faq .rev-container.rev-adapt-section.rev-media-flip {
        flex-direction: row-reverse;
    }

    .rev-faq .rev-container.rev-adapt-section .rev-media {
        max-width: 50%;
        min-width: 50%;
        min-height: -webkit-fill-available;
    }

    .rev-faq .rev-container.rev-adapt-section .rev-faq__content {
        padding-right: max(50px, 8.5%);
        padding-left: min(50px, 8.5%);
    }

    .rev-faq .rev-container.rev-adapt-section.rev-media-flip .rev-faq__content {
        padding-left: max(50px, 8.5%);
        padding-right: min(50px, 8.5%);
    }
}

/* ================================
Testimonial
================================ */

.rev-testimonial {
    all: unset;
    display: block;
    margin: 0;
    padding: 0;
    border: none;
    text-align: left;
}

.rev-testimonial::before,
.rev-testimonial::after {
    content: none;
    display: none;
}

.rev-testimonial__stars {
    display: block;
    font-size: var(--rev-review-star-size);
    margin-bottom: var(--rev-spacing-tight);
    color: var(--rev-review-star-color);
}

.rev-testimonial__quote {
    font-style: normal;
    margin: 0 0 var(--rev-spacing-element-mob) !important;
    text-align: left;
    width: auto;
    color: inherit;
    opacity: 0.85;
}

.rev-testimonial__author {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
}

.rev-testimonial__avatar {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: var(--rev-radius-full);
    overflow: hidden;
    display: flex;
}

.rev-testimonial__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rev-testimonial__meta {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0 4px;
    font-size: 0.85em;
}

.rev-testimonial__title {
    opacity: 0.55;
}

/* ================================
Feature List
================================ */

.rev-feature-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-tight);
    margin: 0;
    padding: 0;
}

.rev-feature-item {
    display: flex;
    align-items: flex-start;
    gap: var(--rev-spacing-tight);
    font-size: var(--rev-font-size);
    line-height: 1.6;
}

.rev-feature-item .rev-adapt-icon {
    flex-shrink: 0;
    margin-top: 3px;
}

.rev-feature-item p {
    margin: 0 !important;
    width: auto;
}

.rev-feature-item strong {
    font-weight: 600;
}

.rev-feature-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rev-feature-label {
    margin: 0 !important;
    width: auto;
    font-size: var(--rev-font-size);
    line-height: 1.4;
}

.rev-feature-desc {
    margin: 0 !important;
    width: auto;
    font-size: var(--rev-font-size);
    line-height: 1.6;
    opacity: 0.7;
}

.rev-feature-list--stacked {
    gap: var(--rev-spacing-element);
}

.rev-feature-list--stacked .rev-feature-item {
    flex-direction: column;
}

.rev-feature-list--stacked .rev-adapt-icon,
.rev-feature-list--horizontal .rev-adapt-icon {
    margin-top: 0;
    background: var(--rev-icon-bg, transparent);
    padding: 8px;
    border-radius: var(--rev-radius-icons);
}

.rev-feature-list--inline-stacked {
    gap: var(--rev-spacing-element-mob);
}

.rev-feature-list--inline-stacked .rev-adapt-icon {
    margin-top: 2px;
}

.rev-feature-list--horizontal {
    gap: var(--rev-spacing-element);
}

/* ================================
Divider
================================ */

.rev-divider {
    all: unset;
    display: block;
    width: var(--rev-width, 100%);
    height: var(--rev-thickness, 1px);
    background: var(--rev-color, #e5e5e5);
    border: none;
}

/* ================================
Bento Grid — Shared
================================ */

.rev-bento-header {
    text-align: center;
    margin-bottom: var(--rev-spacing-element);
}

.rev-bento-header__label {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: var(--rev-spacing-tight);
}

.rev-bento-header__text {
    max-width: 640px;
    margin: var(--rev-spacing-tight) auto 0;
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.7;
}

.rev-bento-grid {
    display: grid;
    gap: var(--rev-gap, 4px);
}

.rev-bento-grid__cell {
    min-width: 0;
    overflow: hidden;
    border-radius: var(--rev-radius-lg);
}

.rev-bento-cell {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--rev-bg, #f5f5f5);
    color: var(--rev-color, inherit);
    border-radius: var(--rev-radius-lg);
    overflow: hidden;
}

.rev-bento-cell__content {
    padding: var(--rev-spacing-element);
    flex: 0 0 auto;
}

.rev-bento-cell__label {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 4px;
    color: var(--rev-label-color, inherit);
    opacity: 0.7;
}

.rev-bento-cell__heading {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 var(--rev-spacing-tight);
    color: var(--rev-color);
}

.rev-bento-cell__text {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    opacity: 0.7;
}

.rev-bento-cell__media {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.rev-bento-cell__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ================================
Three Column — Desktop
================================ */

@media (min-width: 769px) {
    .rev-bento-grid--3col {
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 280px 280px;
    }

    .rev-bento-grid--3col .rev-bento-grid__cell--1 {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    .rev-bento-grid--3col .rev-bento-grid__cell--2 {
        grid-column: 2;
        grid-row: 1;
    }

    .rev-bento-grid--3col .rev-bento-grid__cell--3 {
        grid-column: 2;
        grid-row: 2;
    }

    .rev-bento-grid--3col .rev-bento-grid__cell--4 {
        grid-column: 3;
        grid-row: 1 / 3;
    }
}

/* ================================
Two Row — Desktop
================================ */

@media (min-width: 769px) {
    .rev-bento-grid--2row {
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: 420px 420px;
    }

    .rev-bento-grid--2row .rev-bento-grid__cell--1 {
        grid-column: 1 / 5;
    }

    .rev-bento-grid--2row .rev-bento-grid__cell--2 {
        grid-column: 5 / 7;
    }

    .rev-bento-grid--2row .rev-bento-grid__cell--3 {
        grid-column: 1 / 3;
    }

    .rev-bento-grid--2row .rev-bento-grid__cell--4 {
        grid-column: 3 / 7;
    }
}

/* ================================
Two Row + Three Column — Desktop
================================ */

@media (min-width: 769px) {
    .rev-bento-grid--2r3c {
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: 380px 320px;
    }

    .rev-bento-grid--2r3c .rev-bento-grid__cell--1 {
        grid-column: 1 / 4;
    }

    .rev-bento-grid--2r3c .rev-bento-grid__cell--2 {
        grid-column: 4 / 7;
    }

    .rev-bento-grid--2r3c .rev-bento-grid__cell--3 {
        grid-column: 1 / 3;
    }

    .rev-bento-grid--2r3c .rev-bento-grid__cell--4 {
        grid-column: 3 / 5;
    }

    .rev-bento-grid--2r3c .rev-bento-grid__cell--5 {
        grid-column: 5 / 7;
    }
}

/* ================================
Mobile — All Bento Grids
================================ */

@media (max-width: 768px) {
    .rev-bento-grid {
        grid-template-columns: 1fr;
    }

    .rev-bento-cell__content {
        padding: var(--rev-spacing-element-mob);
    }

    .rev-bento-cell__media {
        max-height: 240px;
    }
}

/* ================================
Logo Cloud — Shared
================================ */

.rev-logo-grid {
    display: grid;
    grid-template-columns: repeat(var(--rev-logo-cols, 3), 1fr);
    gap: var(--rev-spacing-tight);
    width: 100%;
}

.rev-logo-grid__item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--rev-spacing-tight);
    padding: var(--rev-spacing-element);
    min-height: 80px;
}

.rev-logo-grid__img {
    max-height: 32px;
    width: auto;
    object-fit: contain;
}

.rev-logo-grid__label {
    font-size: 1em;
    font-weight: 600;
    white-space: nowrap;
}

/* ================================
Logo Cloud — Bordered (Grid section)
================================ */

.rev-logo-grid--bordered {
    gap: calc(var(--rev-spacing-tight) / 2);
    border-radius: var(--rev-radius-lg);
    overflow: hidden;
}

.rev-logo-grid--bordered .rev-logo-grid__item {
    background: var(--rev-cell-bg);
}

/* ================================
Logo Cloud — Split Layout
================================ */

.rev-logo-split__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--rev-spacing-element);
    align-items: center;
}

.rev-logo-split__content {
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-tight);
}

.rev-logo-split__text {
    opacity: 0.7;
    line-height: 1.6;
}

.rev-logo-split__text p {
    margin: 0;
}

.rev-logo-split__actions {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
    flex-wrap: wrap;
    margin-top: var(--rev-spacing-tight);
}

/* ================================
Mobile — Logo Cloud
================================ */

@media (max-width: 768px) {
    .rev-logo-split__layout {
        grid-template-columns: 1fr;
    }

    .rev-logo-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rev-logo-grid__item {
        padding: var(--rev-spacing-element-mob);
    }
}

/* ================================
Review Grid
================================ */

.rev-review-grid .rev-container {
    flex-direction: column;
}

.rev-review-grid__header {
    text-align: center;
    margin-bottom: var(--rev-spacing-element);
}

.rev-review-grid__label {
    font-size: 0.85em;
    font-weight: 600;
    margin-bottom: var(--rev-spacing-tight);
}

.rev-review-grid__text {
    max-width: 640px;
    margin: var(--rev-spacing-tight) auto 0;
    opacity: 0.7;
}

.rev-review-grid__text p {
    margin: 0;
}

.rev-review-grid__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--rev-spacing-tight);
    width: 100%;
}

.rev-review-grid__card {
    background: var(--rev-rg-card-bg, color-mix(in srgb, currentColor 6%, transparent));
    color: var(--rev-rg-card-color, inherit);
    border-radius: var(--rev-radius-lg);
    padding: var(--rev-spacing-element);
}

.rev-review-grid__card--featured {
    grid-column: span 2;
}

.rev-review-grid__card--featured .rev-testimonial__quote {
    font-size: 1.15em;
    opacity: 1;
}

@media (max-width: 768px) {
    .rev-review-grid__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--rev-spacing-tight-mob);
    }

    .rev-review-grid__card--featured {
        grid-column: span 2;
    }
}

@media (max-width: 480px) {
    .rev-review-grid__grid {
        grid-template-columns: 1fr;
    }

    .rev-review-grid__card--featured {
        grid-column: span 1;
    }
}

/* ================================
Stats Grid
================================ */

.rev-stat-item {
    display: flex;
    flex-direction: column-reverse;
    gap: var(--rev-spacing-tight);
}

.rev-stat-item__value {
    font-size: 2.25em;
    font-weight: 700;
    margin: 0;
    color: inherit;
}

.rev-stat-item__label {
    font-size: 1em;
    color: inherit;
    opacity: 0.7;
}

.rev-stat-item__desc {
    font-size: 0.875em;
    color: inherit;
    opacity: 0.6;
    margin: 0;
}

.rev-stats-grid .rev-container {
    flex-direction: column;
}

.rev-stats-grid__inner {
    width: 100%;
    text-align: center;
}

.rev-stats-grid__header {
    max-width: 640px;
    margin: 0 auto;
    margin-bottom: var(--rev-spacing-element);
}

.rev-stats-grid__grid {
    display: grid;
    grid-template-columns: repeat(var(--rev-stat-columns, 4), 1fr);
    margin: 0;
    padding: var(--rev-spacing-element);
    background: rgba(128, 128, 128, 0.06);
    border-radius: var(--rev-radius-lg);
    border: 1px solid rgba(128, 128, 128, 0.1);
}

.rev-stats-grid__grid .rev-stat-item {
    padding: var(--rev-spacing-element);
    border-left: 1px solid rgba(128, 128, 128, 0.15);
}

.rev-stats-grid__grid .rev-stat-item:first-child {
    border-left: none;
}

@media (max-width: 768px) {
    .rev-stats-grid__grid {
        grid-template-columns: repeat(var(--rev-stat-columns-mob, 2), 1fr);
        padding: var(--rev-spacing-element-mob);
    }

    .rev-stats-grid__grid .rev-stat-item {
        padding: var(--rev-spacing-element-mob);
    }

    .rev-stats-grid__grid .rev-stat-item:nth-child(odd) {
        border-left: none;
    }

    .rev-stats-grid__grid .rev-stat-item:nth-child(n+3) {
        border-top: 1px solid rgba(128, 128, 128, 0.15);
    }

    .rev-stats-grid__header {
        margin-bottom: var(--rev-spacing-element-mob);
    }
}

/* ================================
Stats Background Image
================================ */

.rev-stats-bg-image {
    position: relative;
    overflow: hidden;
}

.rev-stats-bg-image__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.rev-stats-bg-image__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rev-stats-bg-image__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--rev-overlay, #000);
    opacity: var(--rev-overlay-opacity, 0.5);
}

.rev-stats-bg-image .rev-container {
    position: relative;
    z-index: 2;
    flex-direction: column;
    align-items: flex-start;
}

.rev-stats-bg-image__inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-element);
}

.rev-stats-bg-image__content {
    max-width: 640px;
}

.rev-stats-bg-image__subheading {
    font-size: 0.9375em;
    font-weight: 600;
    color: var(--rev-subheading-color, inherit);
    margin-bottom: var(--rev-spacing-tight);
}

.rev-stats-bg-image__heading {
    margin-bottom: var(--rev-spacing-tight);
    color: inherit;
}

.rev-stats-bg-image__text,
.rev-stats-bg-image__text p {
    color: inherit;
    opacity: 0.85;
    margin: 0;
}

.rev-stats-bg-image__stats {
    display: grid;
    grid-template-columns: repeat(var(--rev-stat-columns, 4), 1fr);
    margin: 0;
    padding: 0;
    width: 100%;
}

.rev-stats-bg-image__stats .rev-stat-item {
    padding: var(--rev-spacing-element) 0;
    padding-left: var(--rev-spacing-element);
    border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.rev-stats-bg-image__stats .rev-stat-item:first-child {
    padding-left: 0;
    border-left: none;
}

.rev-stats-bg-image__stats .rev-stat-item__label {
    opacity: 0.7;
}

@media (max-width: 768px) {
    .rev-stats-bg-image__inner {
        gap: var(--rev-spacing-element-mob);
    }

    .rev-stats-bg-image__stats {
        grid-template-columns: repeat(var(--rev-stat-columns-mob, 2), 1fr);
    }

    .rev-stats-bg-image__stats .rev-stat-item {
        padding: var(--rev-spacing-element-mob) 0;
        padding-left: var(--rev-spacing-element-mob);
    }

    .rev-stats-bg-image__stats .rev-stat-item:nth-child(odd) {
        border-left: none;
        padding-left: 0;
    }

    .rev-stats-bg-image__stats .rev-stat-item:nth-child(n+3) {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }
}

/* ================================
Stats Split Image
================================ */

.rev-stats-split {
    padding: 0;
}

.rev-stats-split__layout {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
}

.rev-stats-split__layout--flipped {
    grid-template-columns: 1fr 1.1fr;
}

.rev-stats-split__layout--flipped .rev-stats-split__media {
    order: 2;
}

.rev-stats-split__layout--flipped .rev-stats-split__content {
    order: 1;
}

.rev-stats-split__media {
    min-height: 100%;
}

.rev-stats-split__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rev-stats-split__content {
    color: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--rev-spacing-section);
    gap: var(--rev-spacing-element);
}

.rev-stats-split__subheading {
    font-size: 0.9375em;
    font-weight: 600;
    color: var(--rev-subheading-color, inherit);
    margin-bottom: var(--rev-spacing-tight);
}

.rev-stats-split__heading {
    margin-bottom: var(--rev-spacing-tight);
    color: inherit;
}

.rev-stats-split__text,
.rev-stats-split__text p {
    color: inherit;
    margin: 0;
}

.rev-stats-split__stats {
    display: grid;
    grid-template-columns: repeat(var(--rev-stat-columns, 2), 1fr);
    margin: 0;
    padding: 0;
    gap: calc(var(--rev-spacing-element) * 2);
}

.rev-stats-split__stats .rev-stat-item {
    padding-left: var(--rev-spacing-element);
    border-left: 1px solid rgba(128, 128, 128, 0.2);
    gap: 0;
}

@media (max-width: 768px) {
    .rev-stats-split__layout {
        grid-template-columns: 1fr;
    }

    .rev-stats-split__layout--flipped .rev-stats-split__media {
        order: 0;
    }

    .rev-stats-split__layout--flipped .rev-stats-split__content {
        order: 0;
    }

    .rev-stats-split__media {
        aspect-ratio: 16/9;
    }

    .rev-stats-split__content {
        padding: var(--rev-spacing-section-mob);
        gap: var(--rev-spacing-element-mob);
    }

    .rev-stats-split__stats .rev-stat-item {
        padding-left: var(--rev-spacing-element-mob);
    }
}

/* ================================
Stats Timeline
================================ */

.rev-stats-timeline .rev-container {
    flex-direction: column;
}

.rev-stats-timeline__grid {
    display: grid;
    grid-template-columns: repeat(var(--rev-timeline-cols, 4), 1fr);
    width: 100%;
    gap: var(--rev-spacing-element);
}

.rev-stats-timeline__item {
    position: relative;
}

.rev-stats-timeline__date-row {
    display: flex;
    align-items: center;
    gap: 0.75em;
    padding-bottom: var(--rev-spacing-element);
    position: relative;
}

.rev-stats-timeline__date-row::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: calc(-1 * var(--rev-spacing-element));
    height: 1px;
    background: rgba(128, 128, 128, 0.2);
}

.rev-stats-timeline__item:last-child .rev-stats-timeline__date-row::after {
    right: 0;
}

.rev-stats-timeline__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rev-accent, currentColor);
    flex-shrink: 0;
}

.rev-stats-timeline__date {
    font-size: 0.9375em;
    font-weight: 600;
    color: var(--rev-accent, inherit);
    margin: 0;
}

.rev-stats-timeline__line {
    display: none;
}

.rev-stats-timeline__body {
    padding-top: var(--rev-spacing-element);
}

.rev-stats-timeline__title {
    font-size: 1.125em;
    font-weight: 700;
    margin-bottom: var(--rev-spacing-tight);
    color: inherit;
}

.rev-stats-timeline__desc {
    font-size: 0.9375em;
    color: inherit;
    opacity: 0.7;
    margin: 0;
}

@media (max-width: 768px) {
    .rev-stats-timeline__grid {
        grid-template-columns: 1fr;
        gap: 0;
        padding-left: 2em;
        position: relative;
    }

    .rev-stats-timeline__grid::before {
        content: "";
        position: absolute;
        left: 3px;
        top: 0;
        bottom: 0;
        width: 1px;
        background: rgba(128, 128, 128, 0.2);
    }

    .rev-stats-timeline__date-row {
        padding-bottom: 0;
    }

    .rev-stats-timeline__date-row::after {
        display: none;
    }

    .rev-stats-timeline__dot {
        position: absolute;
        left: calc(-2em + -1px);
        top: 0.5em;
    }

    .rev-stats-timeline__item {
        padding-bottom: var(--rev-spacing-element-mob);
    }

    .rev-stats-timeline__body {
        padding-top: var(--rev-spacing-tight-mob);
    }
}

/* ================================
Stats Stepped
================================ */

.rev-stats-stepped .rev-container {
    flex-direction: column;
}

.rev-stats-stepped__inner {
    width: 100%;
}

.rev-stats-stepped__header {
    max-width: 640px;
    margin-bottom: var(--rev-spacing-element);
}

.rev-stats-stepped__heading {
    margin-bottom: var(--rev-spacing-tight);
    color: inherit;
}

.rev-stats-stepped__text,
.rev-stats-stepped__text p {
    color: inherit;
    opacity: 0.7;
    margin: 0;
}

.rev-stats-stepped__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--rev-spacing-element);
    align-items: end;
}

.rev-stats-stepped__card {
    background: var(--rev-card-bg, rgba(128, 128, 128, 0.06));
    color: var(--rev-card-color, inherit);
    border-radius: var(--rev-radius-lg);
    padding: var(--rev-spacing-section);
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-tight);
}

.rev-stats-stepped__card:nth-child(1) {
    margin-top: 30%;
}

.rev-stats-stepped__card:nth-child(3) {
    margin-top: 15%;
}

.rev-stats-stepped__value {
    font-size: 2.25em;
    font-weight: 700;
    margin: 0;
    color: inherit;
}

.rev-stats-stepped__title {
    font-size: 1em;
    font-weight: 600;
    margin: 0;
    color: inherit;
}

.rev-stats-stepped__desc {
    font-size: 0.875em;
    color: inherit;
    opacity: 0.7;
    margin: 0;
}

@media (max-width: 768px) {
    .rev-stats-stepped__grid {
        grid-template-columns: 1fr;
        gap: var(--rev-spacing-element-mob);
    }

    .rev-stats-stepped__card:nth-child(1),
    .rev-stats-stepped__card:nth-child(3) {
        margin-top: 0;
    }

    .rev-stats-stepped__card {
        padding: var(--rev-spacing-section-mob);
    }

    .rev-stats-stepped__header {
        margin-bottom: var(--rev-spacing-element-mob);
    }
}

/* ================================
Stats Two Column Description
================================ */

.rev-stats-two-col .rev-container {
    flex-direction: column;
}

.rev-stats-two-col__inner {
    width: 100%;
}

.rev-stats-two-col__subheading {
    font-size: 0.9375em;
    font-weight: 600;
    color: var(--rev-subheading-color, inherit);
    margin-bottom: var(--rev-spacing-tight);
}

.rev-stats-two-col__heading {
    margin-bottom: var(--rev-spacing-element);
    color: inherit;
}

.rev-stats-two-col__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--rev-spacing-element);
    margin-bottom: var(--rev-spacing-element);
}

.rev-stats-two-col__col,
.rev-stats-two-col__col p {
    color: inherit;
    margin: 0;
}

.rev-stats-two-col__stats {
    display: grid;
    grid-template-columns: repeat(var(--rev-stat-columns, 4), 1fr);
    margin: 0;
    padding: 0;
    padding-top: var(--rev-spacing-element);
    border-top: 1px solid rgba(128, 128, 128, 0.2);
}

.rev-stats-two-col__stats .rev-stat-item {
    padding-left: var(--rev-spacing-element);
    border-left: 1px solid rgba(128, 128, 128, 0.2);
}

.rev-stats-two-col__stats .rev-stat-item:first-child {
    border-left: none;
    padding-left: 0;
}

@media (max-width: 768px) {
    .rev-stats-two-col__body {
        grid-template-columns: 1fr;
        gap: var(--rev-spacing-element-mob);
        margin-bottom: var(--rev-spacing-element-mob);
    }

    .rev-stats-two-col__heading {
        margin-bottom: var(--rev-spacing-element-mob);
    }

    .rev-stats-two-col__stats {
        grid-template-columns: repeat(var(--rev-stat-columns-mob, 2), 1fr);
        padding-top: var(--rev-spacing-element-mob);
        gap: var(--rev-spacing-element-mob);
    }

    .rev-stats-two-col__stats .rev-stat-item {
        padding-left: var(--rev-spacing-element-mob);
    }

    .rev-stats-two-col__stats .rev-stat-item:first-child {
        padding-left: 0;
    }
}

/* ================================
Stats With Description
================================ */

.rev-stats-description .rev-container {
    flex-direction: column;
}

.rev-stats-description__layout {
    width: 100%;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: var(--rev-spacing-section);
    align-items: start;
}

.rev-stats-description__heading {
    margin-bottom: var(--rev-spacing-element);
    color: inherit;
}

.rev-stats-description__text,
.rev-stats-description__text p {
    color: inherit;
    margin: 0;
}

.rev-stats-description__text p+p {
    margin-top: 1em;
}

.rev-stats-description__stats {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
}

.rev-stats-description__stats .rev-stat-item {
    padding: var(--rev-spacing-element) 0;
    border-top: 1px solid rgba(128, 128, 128, 0.2);
}

.rev-stats-description__stats .rev-stat-item:first-child {
    border-top: none;
    padding-top: 0;
}

@media (max-width: 768px) {
    .rev-stats-description__layout {
        grid-template-columns: 1fr;
        gap: var(--rev-spacing-section-mob);
    }

    .rev-stats-description__heading {
        margin-bottom: var(--rev-spacing-element-mob);
    }

    .rev-stats-description__stats .rev-stat-item {
        padding: var(--rev-spacing-element-mob) 0;
    }
}

/* ================================
Header With Cards
================================ */

.rev-header-cards {
    position: relative;
    overflow: hidden;
    padding: 0;
}

.rev-header-cards__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.rev-header-cards__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rev-header-cards__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--rev-overlay, #1a0533);
    opacity: var(--rev-overlay-opacity, 0.7);
}

.rev-header-cards .rev-container {
    position: relative;
    z-index: 2;
    flex-direction: column;
}

.rev-header-cards__inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--rev-spacing-section);
    padding: var(--rev-spacing-section) 0;
}

.rev-header-cards__content {
    max-width: 640px;
}

.rev-header-cards__heading {
    margin-bottom: var(--rev-spacing-tight);
    color: inherit;
}

.rev-header-cards__text,
.rev-header-cards__text p {
    color: inherit;
    opacity: 0.8;
    margin: 0;
}

.rev-header-cards__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--rev-spacing-element);
}

.rev-header-cards__card {
    display: flex;
    align-items: flex-start;
    gap: var(--rev-spacing-tight);
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--rev-radius-lg);
    padding: var(--rev-spacing-element);
    color: inherit;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.rev-header-cards__card:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
}

.rev-header-cards__icon {
    flex-shrink: 0;
    width: 2em;
    height: 2em;
    display: flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    opacity: 0.7;
}

.rev-header-cards__icon svg {
    width: 1.5em;
    height: 1.5em;
}

.rev-header-cards__card-body {
    display: flex;
    flex-direction: column;
    gap: 0.25em;
}

.rev-header-cards__card-title {
    font-size: 1em;
    font-weight: 600;
    margin: 0;
    color: inherit;
}

.rev-header-cards__card-desc {
    font-size: 0.875em;
    color: inherit;
    opacity: 0.7;
    margin: 0;
}

@media (max-width: 768px) {
    .rev-header-cards__cards {
        grid-template-columns: 1fr;
        gap: var(--rev-spacing-element-mob);
    }

    .rev-header-cards__inner {
        padding: var(--rev-spacing-section-mob) 0;
        gap: var(--rev-spacing-section-mob);
    }
}

/* ================================
Collection Main
================================ */

.rev-collection-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--rev-spacing-tight);
    margin-bottom: var(--rev-spacing-element);
    flex-wrap: wrap;
}

.rev-collection-toolbar__filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.5em 1em;
    border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    border-radius: var(--rev-radius-sm);
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 0.88em;
    font-family: inherit;
    transition: border-color 200ms ease;
}

.rev-collection-toolbar__filter-btn:hover {
    border-color: color-mix(in srgb, currentColor 50%, transparent);
}

.rev-collection-toolbar__filter-btn svg {
    flex-shrink: 0;
}

.rev-collection-toolbar__filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    padding: 0 0.3em;
    border-radius: 100px;
    background: currentColor;
    color: canvas;
    font-size: 0.75em;
    font-weight: 600;
}

.rev-collection-toolbar__product-count {
    font-size: 0.85em;
    opacity: 0.5;
}

.rev-collection-toolbar__right {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-element);
    margin-left: auto;
}

.rev-collection-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
    padding: var(--rev-spacing-tight) var(--rev-spacing-element);
    border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    border-radius: var(--rev-radius-sm);
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: inherit;
    transition: border-color 200ms ease;
}

.rev-collection-filter-toggle:hover {
    border-color: color-mix(in srgb, currentColor 50%, transparent);
}

.rev-collection-filter-toggle svg {
    flex-shrink: 0;
}

.rev-collection-sort {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
}

.rev-collection-sort__label {
    white-space: nowrap;
    font-size: 0.9em;
    opacity: 0.7;
}

.rev-collection-sort select {
    min-width: 160px;
    padding: var(--rev-spacing-tight) 30px var(--rev-spacing-tight) calc(var(--rev-spacing-tight) * 2);
}

.rev-collection-count {
    font-size: 0.85em;
    opacity: 0.6;
    white-space: nowrap;
}

.rev-collection-layout {
    position: relative;
}

.rev-collection-layout--sidebar {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: var(--rev-spacing-section);
    align-items: start;
    min-width: 100%;
}

.rev-collection-filters {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 320px;
    max-width: 90vw;
    background: canvas;
    z-index: 1000;
    transform: translateX(-100%);
    transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    padding: 0 20px 20px;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
}

.rev-collection-filters.rev-is-open {
    transform: translateX(0);
}

.rev-collection-layout--sidebar .rev-collection-filters {
    position: sticky;
    top: var(--rev-sidebar-top, 20px);
    transform: none;
    width: auto;
    max-width: none;
    box-shadow: none;
    padding: 0;
    z-index: auto;
    overflow-y: visible;
    background: transparent;
}

.rev-collection-layout--sidebar .rev-collection-filters__header {
    display: none;
}

.rev-collection-layout--sidebar .rev-collection-filter-overlay {
    display: none;
}

.rev-collection-filter-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 300ms ease;
}

.rev-collection-filter-overlay.rev-is-open {
    opacity: 1;
    pointer-events: auto;
}

.rev-collection-filters__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--rev-spacing-element) 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent);
    position: sticky;
    top: 0;
    background: inherit;
    z-index: 1;
    margin-bottom: var(--rev-spacing-element);
}

.rev-collection-filters__title {
    margin: 0;
    font-size: 1.1em;
}

.rev-collection-filters__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: inherit;
    border-radius: var(--rev-radius-sm);
    transition: background 150ms ease;
}

.rev-collection-filters__close:hover {
    background: color-mix(in srgb, currentColor 8%, transparent);
}

.rev-collection-active-filters {
    padding: var(--rev-spacing-element) 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent);
}

.rev-collection-active-filters__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--rev-spacing-tight);
}

.rev-collection-active-filters__label {
    font-size: 0.85em;
    font-weight: 600;
}

.rev-collection-active-filters .rev-collection-active-filters__clear {
    font-size: 0.8em;
    text-decoration: underline;
    color: inherit;
    opacity: 0.7;
    transition: opacity 150ms ease;
}

.rev-collection-active-filters .rev-collection-active-filters__clear:hover {
    opacity: 1;
}

.rev-collection-active-filters__list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--rev-spacing-tight);
}

.rev-collection-active-filter {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--rev-spacing-tight) * 0.5);
    padding: calc(var(--rev-spacing-tight) * 0.3) var(--rev-spacing-tight);
    border-radius: var(--rev-radius-full);
    background: color-mix(in srgb, currentColor 8%, transparent);
    color: inherit;
    text-decoration: none;
    font-size: 0.8em;
    transition: background 150ms ease;
}

.rev-collection-active-filter:hover {
    background: color-mix(in srgb, currentColor 15%, transparent);
}

.rev-collection-active-filter svg {
    flex-shrink: 0;
    opacity: 0.6;
}

.rev-collection-filter-group {
    border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent);
}

.rev-collection-filter-group:first-of-type {
    border-top: 1px solid color-mix(in srgb, currentColor 10%, transparent);
}

.rev-collection-filter-group__header {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
    padding: var(--rev-spacing-element) 0;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.rev-collection-filter-group__header::-webkit-details-marker {
    display: none;
}

.rev-collection-filter-group__label {
    flex: 1;
    font-weight: 600;
    font-size: 0.9em;
}

.rev-collection-filter-group__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    border-radius: var(--rev-radius-full);
    background: currentColor;
    color: canvas;
    font-size: 0.7em;
    font-weight: 600;
    padding: 0 calc(var(--rev-spacing-tight) * 0.4);
}

.rev-collection-filter-group__arrow {
    flex-shrink: 0;
    transition: transform 200ms ease;
    opacity: 0.5;
}

.rev-collection-filter-group[open] .rev-collection-filter-group__arrow {
    transform: rotate(180deg);
}

.rev-collection-filter-group__body {
    padding-bottom: var(--rev-spacing-element);
}

.rev-collection-filter-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 240px;
    overflow-y: auto;
}

.rev-collection-filter-item {
    margin: 0;
    padding: 0;
}

.rev-collection-filter-checkbox {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-element);
    padding: var(--rev-spacing-tight);
    cursor: pointer;
    font-size: 0.88em;
}

.rev-collection-filter-checkbox--disabled {
    opacity: 0.4;
    pointer-events: none;
}

.rev-collection-filter-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.rev-collection-filter-checkbox__box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--rev-swatch-size) * 0.6);
    height: calc(var(--rev-swatch-size) * 0.6);
    border: 2px solid color-mix(in srgb, currentColor 30%, transparent);
    border-radius: var(--rev-radius-sm);
    flex-shrink: 0;
    transition: background 150ms ease, border-color 150ms ease;
}

.rev-collection-filter-checkbox__box::after {
    content: "";
    width: 45%;
    height: 28%;
    border-left: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: rotate(-45deg);
    transition: border-color 150ms ease;
}

.rev-collection-filter-checkbox input:checked~.rev-collection-filter-checkbox__box {
    background: currentColor;
    border-color: currentColor;
}

.rev-collection-filter-checkbox input:checked~.rev-collection-filter-checkbox__box::after {
    border-left-color: canvas;
    border-bottom-color: canvas;
}

.rev-collection-filter-checkbox:has(.rev-collection-filter-swatch) .rev-collection-filter-checkbox__box {
    display: none;
}

.rev-collection-filter-swatch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--rev-swatch-size) * 0.6);
    height: calc(var(--rev-swatch-size) * 0.6);
    border-radius: var(--rev-radius-sm);
    border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
    background: var(--rev-swatch-bg, transparent);
    overflow: hidden;
    flex-shrink: 0;
}

.rev-collection-filter-swatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rev-collection-filter-checkbox input:checked~.rev-collection-filter-swatch {
    outline: 2px solid var(--rev-swatch-accent, currentColor);
    outline-offset: 2px;
}

.rev-collection-filter-checkbox__label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rev-collection-filter-checkbox__count {
    opacity: 0.5;
    font-size: 0.9em;
    flex-shrink: 0;
}

.rev-collection-filter-price__inputs {
    display: flex;
    align-items: center;
    gap: var(--rev-spacing-tight);
}

.rev-collection-filter-price__field {
    display: flex;
    align-items: center;
    border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
    border-radius: var(--rev-radius-sm);
    padding: 0 var(--rev-spacing-tight);
    flex: 1;
    transition: border-color 200ms ease;
}

.rev-collection-filter-price__field:focus-within {
    border-color: color-mix(in srgb, currentColor 50%, transparent);
}

.rev-collection-filter-price__field label {
    font-size: 0.85em;
    opacity: 0.5;
    flex-shrink: 0;
}

.rev-collection-filter-price__field input {
    width: 100%;
    border: none;
    background: transparent;
    padding: var(--rev-spacing-tight) calc(var(--rev-spacing-tight) * 0.5);
    font-size: inherit;
    color: inherit;
    outline: none;
    appearance: textfield;
    -moz-appearance: textfield;
}

.rev-collection-filter-price__field input::-webkit-outer-spin-button,
.rev-collection-filter-price__field input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.rev-collection-filter-price__sep {
    opacity: 0.4;
    flex-shrink: 0;
}

.rev-collection-filter-price-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--rev-spacing-tight);
}

.rev-collection-filter-price-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--rev-spacing-element) / 2) var(--rev-spacing-element);
    border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
    border-radius: var(--rev-radius-sm);
    background: transparent;
    font-size: 0.85em;
    cursor: pointer;
    transition: border-color 200ms ease, background-color 200ms ease;
    white-space: nowrap;
    color: inherit;
}

.rev-collection-filter-price-btn:hover {
    border-color: currentColor;
}

.rev-collection-filter-price-btn--active {
    border-color: currentColor;
    font-weight: 600;
}

.rev-collection-drawer-sort {
    padding: 0 0 var(--rev-spacing-element);
}

.rev-collection-search {
    position: relative;
    padding: 0;
    margin-bottom: var(--rev-spacing-element);
}

.rev-collection-search__input {
    width: 100%;
    border: 1px solid color-mix(in srgb, currentColor 20%, transparent) !important;
    border-radius: var(--rev-radius-sm) !important;
    padding: var(--rev-spacing-tight) 30px var(--rev-spacing-tight) calc(var(--rev-spacing-tight) * 2) !important;
    font-size: 0.88em !important;
    color: inherit !important;
    background: transparent !important;
    outline: none !important;
    transition: border-color 200ms ease !important;
    margin: 0 !important;
}

.rev-collection-search__input:focus {
    border-color: color-mix(in srgb, currentColor 50%, transparent) !important;
}

.rev-collection-search__input::placeholder {
    color: color-mix(in srgb, currentColor 40%, transparent) !important;
}

.rev-collection-search__icon {
    position: absolute;
    right: calc(var(--rev-spacing-tight) * 2);
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.4;
    pointer-events: none;
}

.rev-collection-drawer-sort__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--rev-spacing-tight);
}

.rev-collection-drawer-sort__label {
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    opacity: 0.6;
}

.rev-collection-drawer-sort__count {
    font-size: 0.8em;
    opacity: 0.5;
}

.rev-collection-filters__actions {
    padding: var(--rev-spacing-element) 0;
    position: sticky;
    bottom: 0;
    background: inherit;
}

.rev-collection-layout--sidebar .rev-collection-filters__actions {
    position: static;
}

.rev-collection-filters__apply {
    width: 100%;
    padding: var(--rev-spacing-tight) var(--rev-spacing-element);
    border: none;
    border-radius: var(--rev-radius-sm);
    background: currentColor;
    color: canvas;
    font-size: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 150ms ease;
}

.rev-collection-filters__apply:hover {
    opacity: 0.85;
}

.rev-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--rev-spacing-tight) * 0.5);
    padding-top: var(--rev-spacing-section);
    flex-wrap: wrap;
}

.rev-pagination__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 8px;
    border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
    border-radius: var(--rev-radius-sm);
    background: transparent;
    color: inherit;
    text-decoration: none;
    font-size: 0.9em;
    transition: background 150ms ease, border-color 150ms ease;
}

.rev-pagination__btn:hover:not(.rev-pagination__btn--current):not(.rev-pagination__btn--disabled) {
    background: color-mix(in srgb, currentColor 8%, transparent);
    border-color: color-mix(in srgb, currentColor 30%, transparent);
}

.rev-pagination__btn--current {
    background: canvas;
    border-color: currentColor;
    font-weight: 600;
}

.rev-pagination__btn--disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.rev-pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 40px;
    opacity: 0.5;
}

.rev-collection-load-more {
    display: flex;
    justify-content: center;
    padding-top: var(--rev-spacing-section);
}

.rev-collection-load-more .rev-button {
    min-width: 200px;
    text-align: center;
}

.rev-collection-load-more .rev-button[disabled] {
    opacity: 0.6;
    pointer-events: none;
}

.rev-collection-infinite-trigger {
    height: 1px;
}

.rev-collection-filter-price-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.75em 1em;
    border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    border-radius: var(--rev-radius-sm);
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: 1.2;
    transition: background 150ms ease, border-color 150ms ease, color 150ms ease;
}

.rev-collection-filter-price-btn:hover {
    border-color: color-mix(in srgb, currentColor 45%, transparent);
    background: color-mix(in srgb, currentColor 4%, transparent);
}

.rev-collection-filter-price-btn--active {
    background: currentColor;
    color: canvas;
    border-color: currentColor;
    font-weight: 600;
}

.rev-collection-filter-price-btn--disabled,
.rev-collection-filter-price-btn:disabled {
    opacity: 0.35;
    pointer-events: none;
}

.rev-collection-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
    padding: clamp(32px, 6vw, 72px) 20px;
    border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    border-radius: var(--rev-radius-lg);
    background: color-mix(in srgb, currentColor 2%, transparent);
}

.rev-collection-empty-state__title {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.2;
}

.rev-collection-empty-state__text {
    margin: 0;
    opacity: 0.7;
    max-width: 480px;
}

.rev-collection-empty-state__button {
    margin-top: 8px;
}

.rev-collection-filter-price-btn--no-match {
    opacity: .5;
}

@media (min-width: 769px) {
    .rev-collection-layout--sidebar .rev-collection-filters {
        max-width: 260px;
    }
}

@media (max-width: 768px) {
    .rev-collection-layout--sidebar {
        display: block;
    }

    .rev-collection-layout--sidebar .rev-collection-filters {
        position: fixed;
        top: 20vh;
        left: 0;
        bottom: 0;
        width: 100%;
        max-width: 100%;
        background: canvas;
        z-index: 1000;
        transform: translateY(102%);
        transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        padding: 0 var(--rev-gutter-mob) var(--rev-spacing-element);
        border-top-left-radius: var(--rev-radius-lg);
        border-top-right-radius: var(--rev-radius-lg);
    }

    .rev-collection-layout--sidebar .rev-collection-filters.rev-is-open {
        transform: translateX(0);
    }

    .rev-collection-layout--sidebar .rev-collection-filters__header {
        display: flex;
    }

    .rev-collection-layout--sidebar .rev-collection-filter-overlay {
        display: block;
    }

    .rev-collection-toolbar {
        gap: var(--rev-spacing-tight);
    }

    .rev-collection-sort__label {
        display: none;
    }

    .rev-collection-sort select {
        min-width: 120px;
    }

    .rev-collection-count {
        display: none;
    }

    .rev-pagination__btn {
        min-width: 36px;
        height: 36px;
    }
}

.rev-collection-products {
    position: relative;
    transition: opacity 200ms ease;
}

.rev-collection-loading {
    opacity: 0.4;
    pointer-events: none;
    min-height: 200px;
}

.rev-collection-loading::after {
    content: "";
    position: absolute;
    top: 120px;
    left: 50%;
    width: 32px;
    height: 32px;
    margin-left: -16px;
    border: 3px solid color-mix(in srgb, currentColor 15%, transparent);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: rev-spin 600ms linear infinite;
    z-index: 2;
}

@keyframes rev-spin {
    to {
        transform: rotate(360deg);
    }
}

.rev-subcollections {
    margin-bottom: var(--rev-spacing-element);
}

.rev-subcollections--links {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: var(--rev-spacing-element);
    gap: var(--rev-spacing-tight);
}

.rev-subcollections__link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-size: 0.85em;
    opacity: .7;
}

.rev-subcollections__link:hover {
    opacity: 1;
}

.rev-subcollections__link:not(:last-child)::after {
    content: ",";
    text-decoration: none;
    display: inline;
}

.rev-subcollections--cards {
    margin-bottom: var(--rev-spacing-element);
    max-width: 100%;
}

.rev-subcollections__card {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    border: 1px solid color-mix(in srgb, currentColor 10%, transparent);
    border-radius: var(--rev-card-radius);
    overflow: hidden;
}

.rev-subcollections__card-media {
    position: relative;
    aspect-ratio: var(--rev-subcollection-aspect, 4 / 5);
    overflow: hidden;
    border-radius: var(--rev-radius, 0);
    background: color-mix(in srgb, currentColor 5%, transparent);
}

.rev-subcollections__card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 400ms ease;
}

.rev-subcollections__card:hover .rev-subcollections__card-media img {
    transform: scale(1.04);
}

.rev-subcollections__card-placeholder {
    width: 100%;
    height: 100%;
    background: color-mix(in srgb, currentColor 8%, transparent);
}

.rev-subcollections__card-info {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: var(--rev-spacing-element);
}

.rev-subcollections__card-title {
    font-weight: 600;
    font-size: 0.9em;
}

.rev-subcollections__card-desc {
    font-size: 0.78em;
    opacity: 0.65;
    line-height: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rev-mobile-sticky-bar {
    display: none;
}

@media screen and (max-width: 749px) {
    .rev-mobile-sticky-bar {
        display: flex;
        align-items: center;
        gap: 8px;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 100;
        padding: 10px var(--rev-gutter-mobile, 15px);
        padding-bottom: calc(10px + env(safe-area-inset-bottom));
        background: canvas;
        border-top: 1px solid color-mix(in srgb, currentColor 10%, transparent);
        box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
    }

    .rev-mobile-sticky-bar__filter-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.5em;
        padding: 0.6em 1em;
        border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
        border-radius: var(--rev-radius-sm);
        background: transparent;
        color: inherit;
        cursor: pointer;
        font-size: 0.85em;
        font-family: inherit;
        white-space: nowrap;
        flex-shrink: 0;
        height: stretch;
    }

    .rev-mobile-sticky-bar__filter-btn:active {
        background: color-mix(in srgb, currentColor 5%, transparent);
    }

    .rev-collection-filter-list {
        max-height: fit-content;
    }

    .rev-mobile-sticky-bar__count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.4em;
        height: 1.4em;
        padding: 0 0.3em;
        border-radius: 100px;
        background: currentColor;
        color: canvas;
        font-size: 0.75em;
        font-weight: 600;
    }

    .rev-mobile-sticky-bar__search {
        position: relative;
        flex: 1;
        min-width: 0;
    }

    .rev-mobile-sticky-bar__search .rev-collection-search__input {
        width: 100%;
        margin: 0 !important;
    }

    .rev-mobile-sticky-bar__search .rev-collection-search__icon {
        top: 50%;
    }

    [data-mobile-search-placement="sticky"] .rev-collection-filters .rev-collection-search {
        display: none;
    }

    .rev-collection-main {
        padding-bottom: 70px;
    }

    [data-mobile-search-placement="sticky"] .rev-collection-main,
    .rev-mobile-sticky-bar:has(.rev-mobile-sticky-bar__search)~* {
        padding-bottom: 80px;
    }
}

/* ================================
PDP Bundle Item Selector
================================ */

.rev-pdp-bundle-selector {
    --rev-accent: #151515;
    --rev-accent-light: rgba(0, 0, 0, 0.06);
    --rev-success-color: #22c55e;
}

.rev-pdp-bundle-selector[data-required-error="true"] {
    outline: 2px solid #e53e3e;
    outline-offset: 2px;
    border-radius: var(--rev-radius-lg);
}

.rev-bundle-builder__items {
    max-width: 100%;
    width: 100%;
}

.rev-bundle-builder__item--accordion .rev-bundle-builder__item-header--accordion {
    cursor: pointer;
}

.rev-bundle-builder__item--accordion .rev-bundle-builder__accordion-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
}

.rev-bundle-builder__item--accordion.is-open .rev-bundle-builder__accordion-icon {
    transform: rotate(180deg);
}

.rev-bundle-builder__item-selected-summary {
    color: rgba(0, 0, 0, 0.6);
    font-size: 0.92em;
}

.rev-bundle-builder__item-state--accordion[hidden] {
    display: none !important;
}

.rev-product-item.rev-block-bundle_item_selector+.rev-block-bundle_item_selector--accordion,
.rev-block-bundle_item_selector--accordion+.rev-block-bundle_item_selector--accordion {
    margin-top: var(--rev-spacing-tight) !important;
}

.rev-bundle-builder__item--accordion .rev-bundle-builder__item-state--confirmed {
    padding: var(--rev-spacing-tight-mob) var(--rev-spacing-tight);
}

.rev-bundle-builder__item-state.rev-bundle-builder__item-state--skipped {
    display: none !important;
}

.rev-product-item.rev-block-bundle_item_selector .rev-bundle-builder__item-state--selecting {
    padding: var(--rev-spacing-tight);
}

.rev-product-item.rev-block-bundle_item_selector .rev-bundle-builder__item-options,
.rev-product-item.rev-block-bundle_item_selector .rev-bundle-builder__item-state {
    gap: var(--rev-spacing-tight);
}

.rev-product-item .rev-bundle-builder__confirm-btn {
    margin-top: 0;
    width: auto;
}

.rev-bundle-builder__item-preview,
.rev-bundle-builder__confirmed-preview {
    position: relative;
}

.rev-bundle-builder__custom-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% + var(--overlay-x, 0%)), calc(-50% + var(--overlay-y, 0%)));
    pointer-events: none;
    z-index: 2;
    width: 100%;
    text-align: center;
    padding: 0 12px;
}

.rev-bundle-builder__custom-overlay [data-custom-overlay-text] {
    font-size: var(--overlay-font-size, 12px);
    line-height: 1.2;
    white-space: pre-wrap;
    word-break: break-word;
}

.rev-bundle-builder__custom-overlay:empty,
.rev-bundle-builder__custom-overlay [data-custom-overlay-text]:empty {
    display: none;
}