
    .nc-gallery-main-button {
        position: relative;
        display: block;
        width: 100%;
        padding: 0;
        overflow: hidden;
        border: 0;
        border-radius: 1rem;
        background: transparent;
        cursor: zoom-in;
    }

    .nc-gallery-main-image {
        display: block;
        width: 100%;
        height: 520px;
        object-fit: contain;
        border-radius: 1rem;
        transition: opacity 0.18s ease, transform 0.25s ease;
    }

    .nc-gallery-main-button:hover .nc-gallery-main-image {
        transform: scale(1.015);
    }

    .nc-gallery-main-image.is-changing {
        opacity: 0.35;
    }

    .nc-gallery-expand-icon {
        position: absolute;
        right: 1rem;
        bottom: 1rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        border-radius: 0.85rem;
        color: #111;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.16);
        pointer-events: none;
    }

    .nc-gallery-thumbnails {
        display: flex;
        gap: 0.75rem;
        padding: 0.15rem 0.1rem 0.5rem;
        overflow-x: auto;
        scrollbar-width: thin;
        scroll-snap-type: x proximity;
    }

    .nc-gallery-thumbnail {
        flex: 0 0 92px;
        width: 92px;
        height: 92px;
        padding: 0.35rem;
        overflow: hidden;
        border: 2px solid transparent;
        border-radius: 1rem;
        background: #fff;
        box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.08);
        scroll-snap-align: start;
        transition:
            border-color 0.18s ease,
            transform 0.18s ease,
            box-shadow 0.18s ease;
    }

    .nc-gallery-thumbnail:hover {
        transform: translateY(-2px);
        box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.12);
    }

    .nc-gallery-thumbnail.is-active {
        border-color: var(--bs-primary);
    }

    .nc-gallery-thumbnail img {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 0.65rem;
        object-fit: contain;
    }

    .nc-gallery-lightbox {
        position: fixed;
        inset: 0;
        z-index: 1080;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 1rem;
    }

    .nc-gallery-lightbox.is-open {
        display: flex;
    }

    .nc-gallery-lightbox-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(10, 10, 12, 0.94);
        backdrop-filter: blur(8px);
    }

    .nc-gallery-lightbox-content {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        width: min(1400px, 100%);
        height: min(900px, calc(100vh - 2rem));
    }

    .nc-gallery-lightbox-image-wrapper {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(100% - 150px);
        height: 100%;
    }

    .nc-gallery-lightbox-image {
        display: block;
        max-width: 100%;
        max-height: 100%;
        border-radius: 1rem;
        object-fit: contain;
        user-select: none;
    }

    .nc-gallery-lightbox-close,
    .nc-gallery-lightbox-navigation {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        color: #fff;
        background: rgba(255, 255, 255, 0.14);
        backdrop-filter: blur(8px);
        transition: background 0.18s ease, transform 0.18s ease;
    }

    .nc-gallery-lightbox-close:hover,
    .nc-gallery-lightbox-navigation:hover {
        color: #fff;
        background: rgba(255, 255, 255, 0.25);
        transform: scale(1.05);
    }

    .nc-gallery-lightbox-close {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        font-size: 1.15rem;
    }

    .nc-gallery-lightbox-navigation {
        flex: 0 0 3.5rem;
        width: 3.5rem;
        height: 3.5rem;
        border-radius: 50%;
        font-size: 1.4rem;
    }

    .nc-gallery-lightbox-counter {
        position: absolute;
        left: 50%;
        bottom: 1rem;
        padding: 0.5rem 0.9rem;
        border-radius: 999px;
        color: #fff;
        background: rgba(0, 0, 0, 0.6);
        transform: translateX(-50%);
    }

    body.nc-gallery-lightbox-open {
        overflow: hidden;
    }

    @media (max-width: 767.98px) {
        .nc-gallery-main-image {
            height: 360px;
        }

        .nc-gallery-thumbnail {
            flex-basis: 76px;
            width: 76px;
            height: 76px;
        }

        .nc-gallery-lightbox {
            padding: 0.5rem;
        }

        .nc-gallery-lightbox-content {
            height: calc(100vh - 1rem);
        }

        .nc-gallery-lightbox-image-wrapper {
            width: 100%;
            height: calc(100% - 5rem);
        }

        .nc-gallery-lightbox-navigation {
            position: absolute;
            bottom: 0.5rem;
            z-index: 3;
        }

        .nc-gallery-lightbox-previous {
            left: calc(50% - 4.25rem);
        }

        .nc-gallery-lightbox-next {
            right: calc(50% - 4.25rem);
        }

        .nc-gallery-lightbox-close {
            top: 0.5rem;
            right: 0.5rem;
        }
    }

/* Campaign layout; gallery mechanics reuse the existing product gallery. */
.nc-combo{--combo-yellow:#ffd231;--combo-blue:#23b4ff;color:#142438;font-size:17px;line-height:1.65}
.nc-combo h1,.nc-combo h2,.nc-combo h3{font-weight:800;line-height:1.13;letter-spacing:-.025em}
.nc-combo h2{font-size:clamp(28px,3.4vw,44px);margin-bottom:24px}
.nc-combo h3{font-size:25px;margin:14px 0}
.nc-combo-hero{background:radial-gradient(ellipse at right,#102b42,#070d14 75%);color:#fff;padding:48px 0}
.nc-combo-hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.nc-combo-eyebrow{font-size:12px;font-weight:800;letter-spacing:.1em;margin:0 0 14px}
.nc-combo-summary h1{font-size:clamp(25px,3vw,38px);margin:0 0 20px}
.nc-combo-summary h2{font-size:clamp(34px,3.9vw,54px);margin:0 0 18px}
.nc-combo-summary h2 span{color:var(--combo-yellow)}
.nc-combo-subtitle{color:#cfdae5;margin:0 0 22px}
.nc-combo-buy{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px}
.nc-combo-buy>strong{font-size:32px;line-height:1.2}
.nc-combo-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--combo-yellow);color:#101820;padding:14px 22px;border-radius:10px;font-size:17px;font-weight:800;line-height:1.3;text-decoration:none}
.nc-combo-button:hover{background:#ffe375;color:#101820}
.nc-combo-button:focus-visible{outline:3px solid var(--combo-blue);outline-offset:4px}
.nc-combo-trust{font-size:13px;color:#d6e0e9;margin:14px 0 0}
.nc-combo .nc-device-compatibility{margin:0;max-width:460px}
.nc-combo .nc-gallery-main-image{height:auto;aspect-ratio:3/2;object-fit:contain;background:#0b121c}
.nc-combo .nc-gallery-thumbnails{gap:10px;margin-bottom:0}
.nc-combo .nc-gallery-thumbnail{width:70px;height:64px;flex:0 0 70px;background:#fff}
.nc-combo-section{padding-top:64px;padding-bottom:64px}
.nc-combo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.nc-combo-card{padding:28px;border-radius:18px;background:#f4f6f8;border-top:4px solid;min-width:0}
.nc-combo-card>i{font-size:30px}
.nc-combo-visible{border-color:#e7af00}.nc-combo-invisible{border-color:#149cdb}
.nc-combo-statement{font-size:clamp(25px,3vw,36px);font-weight:800;line-height:1.3;text-align:center;margin:40px 0 0}
.nc-combo-comparison{background:#0b121c;color:#fff}
.nc-combo-comparison h2{text-align:center}.nc-combo-comparison h2 span{color:var(--combo-yellow)}
.nc-combo-comparison .nc-combo-card{background:#15202d}
.nc-combo-comparison .nc-combo-visible .nc-combo-eyebrow{color:var(--combo-yellow)}
.nc-combo-comparison .nc-combo-invisible .nc-combo-eyebrow{color:var(--combo-blue)}
.nc-combo-comparison img{display:block;width:100%;height:290px;object-fit:contain;background:#fff;border-radius:10px;margin:22px 0}
.nc-combo-card ul{padding-left:22px;margin-bottom:0}.nc-combo-card li{margin:10px 0}
.nc-combo-limit{font-size:14px;color:#bdccda;margin:30px 0 0}
.nc-combo-sequence{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;padding:0;list-style:none;margin:32px 0}
.nc-combo-sequence li{padding:22px;background:#f0f4f7;border-radius:12px}.nc-combo-sequence strong,.nc-combo-sequence span{display:block}
.nc-combo-sequence strong{font-size:21px;line-height:1.3;margin-bottom:12px}
.nc-combo-final{padding:32px;background:#0b121c;color:#fff;border-radius:18px;text-align:center}
.nc-combo-details{padding-top:0}.nc-combo-details details{border:1px solid #d5dce4;border-radius:12px;margin-bottom:16px;background:#fff}
.nc-combo-details summary{cursor:pointer;padding:22px;font-weight:800;font-size:21px}.nc-combo-details details>div{padding:0 22px 24px}
.nc-combo-confidence{display:flex;gap:20px;padding-top:28px}.nc-combo-confidence>i{font-size:38px;color:#21744d}
@media(max-width:767.98px){.nc-combo{font-size:16px}.nc-combo-hero{padding:24px 0}.nc-combo-hero-grid{grid-template-columns:1fr;gap:26px}.nc-combo-summary h1{font-size:26px;margin-bottom:12px}.nc-combo-summary h2{font-size:34px;margin-bottom:12px}.nc-combo-eyebrow{font-size:10px;margin-bottom:10px}.nc-combo-subtitle{font-size:14px;margin-bottom:14px}.nc-combo-buy{gap:10px;margin-bottom:14px}.nc-combo-buy>strong{font-size:28px}.nc-combo-button{padding:13px 17px;font-size:16px}.nc-combo .nc-device-compatibility{padding:10px 12px}.nc-combo-trust{font-size:12px;margin-top:10px}.nc-combo-section{padding-top:40px;padding-bottom:40px}.nc-combo-pair,.nc-combo-sequence{grid-template-columns:1fr;gap:16px}.nc-combo-card{padding:22px}.nc-combo-comparison img{height:250px}.nc-combo-final{padding:26px 18px}.nc-combo-details{padding-top:0}}

.nc-combo .nc-gallery-media-stage{height:auto;min-height:0}.nc-combo-gallery .card{background:#0b121c!important;padding:0!important;box-shadow:none!important}
