/** Shopify CDN: Minification failed

Line 2504:0 All "@import" rules must come first
Line 3909:0 Unexpected "}"

**/
/*
 * Norativ Product Page ‚Äî Complete CSS v3.2
 * Upload to: assets/norativ-product-page.css
 */

/* Font loaded via theme.liquid preconnect + link tag ‚Äî NOT via @import (perf) */

.npp-root,
.npp-sticky-bar {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.npp-root {
    background: var(--npp-bg, #fff);
    color: var(--npp-text, #111);
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* INFO TOP */
.npp-root .npp-info-top {
    padding: 14px var(--npp-px, 16px) 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.npp-root .npp-vendor {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--npp-sub, #666);
    margin: 0;
}

.npp-root .npp-title {
    font-size: var(--npp-title-size, 24px);
    font-weight: 800;
    margin: 0;
    line-height: 1.15;
    letter-spacing: -0.03em;
    color: var(--npp-text, #0d0d0d);
}

.npp-root .npp-title--upper {
    text-transform: uppercase;
}

/* Social proof */
.npp-root .npp-proof {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f5f5f5;
    border-radius: 20px;
    padding: 6px 14px 6px 8px;
    width: fit-content;
}

.npp-root .npp-proof-avatars {
    display: flex;
}

.npp-proof-avatars img {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid #fff;
    margin-right: -7px;
    object-fit: cover;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
}

.npp-root .npp-proof-text {
    font-size: 12px;
    color: var(--npp-sub, #666);
    padding-left: 9px;
}

.npp-proof-text strong {
    color: var(--npp-text, #111);
    font-weight: 700;
}

/* Reviews link */
.npp-root .npp-reviews-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: inherit;
    width: fit-content;
    padding: 4px 0;
}

.npp-root .npp-stars {
    display: flex;
    gap: 2px;
}

.npp-stars svg {
    width: 13px;
    height: 13px;
    fill: #C8912A;
    flex-shrink: 0;
}

.npp-stars svg.dim {
    fill: #e5e5e5;
}

.npp-root .npp-review-count {
    font-size: 12px;
    font-weight: 500;
    color: var(--npp-sub, #888);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: #ccc;
    letter-spacing: 0.01em;
}

/* Price */
.npp-root .npp-price-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.npp-root .npp-price {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--npp-text, #0d0d0d);
}

.npp-root .npp-compare {
    font-size: 16px;
    color: var(--npp-sub, #666);
    text-decoration: line-through;
}

.npp-root .npp-save-pill {
    display: inline-flex;
    align-items: center;
    background: #1a1a1a;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 3px;
    white-space: nowrap;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

@media (max-width: 400px) {
    .npp-price-row { gap: 6px; }
    .npp-price { font-size: 18px; }
    .npp-ppi-global { font-size: 10px; padding: 4px 6px; }
    .npp-compare { font-size: 13px; }
    .npp-save-pill { font-size: 10px; padding: 3px 6px; }
}

/* FEATURE ICONS */
.npp-root .npp-feature-icons {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin: 16px 0 24px;
    padding: 12px 0;
    align-items: flex-start;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
}

.npp-root .npp-fi {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding: 0;
    text-align: center;
    background: var(--npp-fi-bg, transparent);
    border: 1px solid var(--npp-fi-border, transparent);
    color: var(--npp-fi-text, #111);
    border-radius: 8px;
    flex: 1;
}

.npp-fi img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.npp-root .npp-fi-svg,
.npp-root .npp-trust-svg,
.npp-root .npp-accordion-svg {
    display: flex;
    align-items: center;
    justify-content: center;
    color: inherit;
}

.npp-fi-svg svg {
    width: 16px;
    height: 16px;
    opacity: 0.9;
}

.npp-root .npp-fi-label {
    font-size: 10px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--npp-text, #111);
    opacity: 0.9;
}

.npp-root .npp-fi-img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.npp-trust-svg svg {
    width: 26px;
    height: 26px;
}

.npp-accordion-svg svg {
    width: 18px;
    height: 18px;
}

.npp-root .npp-fi-label {
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--npp-text, #111);
    opacity: 0.85;
}

/* GALLERY */
.npp-root .npp-gallery {
    position: relative;
    overflow: hidden;
}

.npp-root .npp-slides {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.npp-slides::-webkit-scrollbar {
    display: none;
}

.npp-root .npp-slide {
    flex: 0 0 50%;
    scroll-snap-align: start;
    aspect-ratio: var(--npp-ratio, 4/5);
    overflow: hidden;
}

.npp-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
    will-change: transform;
}

.npp-slide:hover img {
    transform: scale(1.02);
}

.npp-root .npp-gallery-prev,
.npp-root .npp-gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.95);
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .18);
    font-size: 22px;
    font-weight: 700;
    color: #111;
    z-index: 2;
    transition: box-shadow 0.2s, transform 0.2s;
    will-change: transform;
    line-height: 1;
}

.npp-root .npp-gallery-prev {
    left: 10px;
}

.npp-root .npp-gallery-next {
    right: 10px;
}

.npp-gallery-prev:hover,
.npp-gallery-next:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, .22);
    transform: translateY(-50%) scale(1.06);
}

.npp-root .npp-dots {
    display: flex;
    justify-content: center;
    gap: 5px;
    padding: 8px 0 4px;
}

.npp-root .npp-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ccc;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.25s;
}

.npp-dot.active {
    background: var(--npp-accent, #111);
    width: 20px;
    border-radius: 3px;
}

/* BADGE PILL */
.npp-root .npp-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 8px var(--npp-px, 16px);
    background: var(--npp-pill-bg, #0052cc);
    color: var(--npp-pill-fg, #fff);
    font-size: 11px;
    font-weight: 700;
    padding: 5px 13px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    width: fit-content;
}

/* INFO BOTTOM */
.npp-root .npp-info-bottom {
    padding: 0 var(--npp-px, 16px);
    display: flex;
    flex-direction: column;
    gap: var(--npp-gap, 16px);
    margin-top: var(--npp-gap, 16px);
}

.npp-root .npp-section-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 10px;
    color: var(--npp-sub, #888);
}

/* Size */
.npp-root .npp-size-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.npp-root .npp-size-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.npp-root .npp-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 500;
    background: transparent;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 4px 9px;
    cursor: pointer;
    font-family: inherit;
    color: var(--npp-text, #111);
    text-decoration: none;
    transition: border-color 0.15s;
    white-space: nowrap;
}

.npp-btn-link:hover {
    border-color: #999;
}

.npp-root .npp-size-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
}

.npp-root .npp-size-btn {
    height: var(--npp-size-h, 44px);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--npp-size-border, #D8D8D8);
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    color: var(--npp-text, #111);
    position: relative;
    user-select: none;
    transition: border-color 0.2s, background 0.15s;
    border-radius: 6px;
    letter-spacing: 0.02em;
}

.npp-size-btn:hover:not(.soldout) {
    border-color: var(--npp-accent, #111);
}

.npp-size-btn.selected {
    border: 1.5px solid var(--npp-size-border-on, #111);
    background: #0d0d0d;
    color: #fff;
    font-weight: 700;
}

.npp-size-btn.soldout {
    opacity: 0.38;
    cursor: not-allowed;
}

.npp-size-btn.soldout::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top right, transparent calc(50% - 1px), #aaa, transparent calc(50% + 1px));
}

/* Swatches */
.npp-root .npp-swatch-wrap {
    display: none;
}

.npp-swatch-wrap.visible {
    display: block;
}

.npp-root .npp-swatch-carousel-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.npp-root .npp-swatch-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    color: #111;
    padding: 0;
}

.npp-swatch-arrow svg {
    width: 14px;
    height: 14px;
}

.npp-swatch-arrow.left { left: 4px; }
.npp-swatch-arrow.right { right: 4px; }

@media (min-width: 768px) {
    .npp-swatch-arrow { display: none; }
}

.npp-root .npp-swatch-grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 8px;
    padding: 2px;
    width: 100%;
}

.npp-swatch-grid::-webkit-scrollbar {
    display: none;
}

.npp-root .npp-swatch {
    flex: 0 0 calc(30% - 8px);
    scroll-snap-align: start;
    aspect-ratio: 4/5;
    border: 1.5px solid transparent;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    box-sizing: border-box;
    background: transparent;
    padding: 0;
    transition: border-color 0.15s;
}

.npp-swatch:hover {
    border-color: rgba(17,17,17,0.3);
}

.npp-swatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 6px;
}

.npp-root .npp-swatch-empty {
    width: 100%;
    height: 100%;
    background: #eee;
    display: block;
}

.npp-swatch.selected {
    border-color: var(--npp-sw-border, #111);
}

/* Pack cards - Premium Horizontal Layout */
.npp-root .npp-pack-row {
    display: flex;
    flex-direction: row;
    gap: 12px;
    margin-bottom: 16px;
    align-items: stretch;
}



.npp-pack-card:hover:not(.selected) {
    border-color: #999;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}

.npp-pack-card.selected {
    border-color: var(--npp-pack-sel-bd, #111);
    background: var(--npp-pack-sel-bg, #fafafa);
    box-shadow: 0 0 0 1px var(--npp-pack-sel-bd, #111);
    transform: scale(1.01);
}

/* Checkmark indicator for selected pack */
.npp-pack-card.selected::after {
    content: '';
    position: absolute;
    top: -8px;
    right: -8px;
    width: 20px;
    height: 20px;
    background: var(--npp-pack-sel-bd, #111);
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 2;
    animation: npp-check-pop 0.25s ease-out;
}

@keyframes npp-check-pop {
    0% { transform: scale(0); opacity: 0; }
    60% { transform: scale(1.2); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}

/* Radio Button Visual */
.npp-pack-card::before { 
    display: none;
}

.npp-root .npp-pack-content {
    flex: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.npp-root .npp-pack-name {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
    color: var(--npp-text);
}

.npp-root .npp-pack-ppi {
    font-size: 11px;
    font-weight: 700;
    color: var(--npp-ppi-text, #1a7f37);
    background: var(--npp-ppi-bg, #dafbe4);
    padding: 4px 8px;
    border-radius: 20px;
    display: inline-block;
    letter-spacing: 0.01em;
}

.npp-root .npp-ppi-global {
    font-size: 12px;
    font-weight: 700;
    color: var(--npp-ppi-text, #1a7f37);
    background: var(--npp-ppi-bg, #dafbe4);
    padding: 6px 12px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    letter-spacing: 0.01em;
    vertical-align: middle;
    margin-left: 6px;
}

.npp-root .npp-pack-discount {
    font-size: 15px;
    font-weight: 900;
    text-align: center;
    margin-left: 0;
    margin-top: 8px;
    color: var(--npp-text);
}



/* Delivery row */
.npp-root .npp-delivery-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    background: #fafafa;
    border-radius: 6px;
    border: 1px solid #efefef;
}

.npp-root .npp-delivery-left {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    color: var(--npp-text, #111);
}

.npp-delivery-left strong {
    font-weight: 700;
    color: var(--npp-text, #111);
}

.npp-root .npp-delivery-icon {
    width: 22px !important;
    height: 22px !important;
    max-width: 22px;
    max-height: 22px;
    flex-shrink: 0;
    color: var(--npp-text, #111);
    display: block;
}

.npp-root .npp-low-stock {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 700;
    color: #c44b00;
}

.npp-root .npp-low-dot {
    width: 8px;
    height: 8px;
    background: #c44b00;
    border-radius: 50%;
    flex-shrink: 0;
    animation: npp-pulse 1.5s ease-in-out infinite;
}

@keyframes npp-pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

/* Quantity + ATC */
.npp-root .npp-atc-row {
    display: flex;
    gap: 10px;
    align-items: stretch;
    justify-content: center;
    width: 100%;
}

.npp-root .npp-qty {
    display: flex;
    align-items: center;
    border: 1.5px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
}

.npp-root .npp-qty-btn {
    width: 40px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px;
    background: none;
    border: none;
    font-family: inherit;
    color: var(--npp-text, #111);
    transition: background 0.15s;
    user-select: none;
    padding: 0;
}

.npp-qty-btn:hover {
    background: #f5f5f5;
}

.npp-root .npp-qty-val {
    min-width: 36px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
}

.npp-root .npp-atc-btn {
    flex: 1;
    background: var(--npp-atc-bg, #E8A020);
    color: var(--npp-atc-fg, #fff);
    border: none;
    border-radius: var(--npp-atc-r, 6px);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    padding: 17px 20px;
    font-family: inherit;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: opacity 0.2s, transform 0.1s, box-shadow 0.2s;
    will-change: transform;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18);
}

.npp-atc-btn:hover {
    opacity: 0.9;
}

.npp-atc-btn:active {
    transform: scale(0.99);
}

.npp-atc-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
}

/* TRUST ROW */
.npp-root .npp-trust-row {
    display: flex;
    gap: 4px;
    padding: 20px var(--npp-px, 16px);
    border-top: 1px solid #f0f0f0;
}

.npp-root .npp-trust-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    text-align: center;
}

.npp-trust-row > * {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.npp-root .npp-trust-icon {
    font-size: 22px;
    line-height: 1;
}

.npp-trust-icon img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.npp-root .npp-trust-title {
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.03em;
    color: var(--npp-text, #111);
}

.npp-root .npp-trust-sub {
    font-size: 9px;
    color: var(--npp-sub, #888);
    line-height: 1.3;
    letter-spacing: 0.01em;
}

/* PRODUCT FEATURES */
.npp-root .npp-features {
    padding: 14px var(--npp-px, 16px);
    border-top: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.npp-root .npp-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    line-height: 1.35;
}

.npp-root .npp-feature-svg {
    flex-shrink: 0;
    color: var(--npp-accent, #111);
    display: flex;
    align-items: center;
    justify-content: center;
}

.npp-feature-svg svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.5;
}

/* PAYMENT LOGOS */
.npp-root .npp-payment-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 12px var(--npp-px, 16px);
    border-top: 1px solid #f0f0f0;
}

.npp-pay-icon svg,
.npp-pay-icon img {
    height: 24px;
    width: auto;
    border-radius: 3px;
    display: block;
}

/* ACCORDIONS */
.npp-root .npp-accordions {
    border-top: 1px solid #eee;
    padding: 0 var(--npp-px, 16px);
}

.npp-root .npp-accordion {
    border-bottom: 1px solid #eee;
}

.npp-root .npp-accordion-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    cursor: pointer;
    background: none;
    border: none;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--npp-text, #111);
    width: 100%;
    text-align: left;
    gap: 12px;
}

.npp-root .npp-accordion-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.npp-root .npp-accordion-icon {
    font-size: 20px;
    flex-shrink: 0;
    line-height: 1;
    width: 24px;
    text-align: center;
}

.npp-accordion-icon img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.npp-root .npp-accordion-arrow {
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
    color: var(--npp-sub, #999);
    transition: transform 0.25s ease;
    will-change: transform;
    font-weight: 300;
}

.npp-accordion.open .npp-accordion-arrow {
    transform: rotate(45deg);
}

.npp-root .npp-accordion-body {
    display: none;
    padding: 0 0 16px 36px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--npp-sub, #555);
}

.npp-accordion.open .npp-accordion-body {
    display: block;
    animation: npp-open 0.2s ease;
}

@keyframes npp-open {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* SECTIONS */
.npp-root .npp-section-heading-lg {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 6px;
    line-height: 1.2;
    color: var(--npp-text, #0d0d0d);
}

.npp-root .npp-section-sub {
    font-size: 14px;
    color: var(--npp-sub, #555);
    margin: 0 0 16px;
    line-height: 1.5;
}

/* VIDEO SECTION */
.npp-root .npp-video-section {
    background: #fff;
    padding: 14px var(--npp-px, 16px) 20px;
    border-top: 1px solid #eee;
}

.npp-root .npp-video-wrap {
    position: relative;
    width: 220px;
    aspect-ratio: 9 / 16;
    border-radius: 10px;
    overflow: hidden;
    margin: 10px auto;
    background: #000;
}

@media (min-width: 750px) {
    .npp-video-wrap {
        width: 340px;
    }
}

.npp-video-wrap iframe,
.npp-video-wrap video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    display: block;
    object-fit: cover;
}

.npp-root .npp-video-placeholder {
    background: #f5f5f5;
    border-radius: 8px;
    padding: 28px 20px;
    text-align: center;
    color: #999;
    font-size: 13px;
    margin: 8px 0;
}

.npp-root .npp-cta-btn {
    display: inline-block;
    background: var(--npp-accent, #111);
    color: #fff;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 8px;
    transition: opacity 0.2s;
}

.npp-cta-btn:hover {
    opacity: 0.85;
}

/* REVIEWS SECTION */
.npp-root .npp-reviews-section {
    padding: 28px var(--npp-px, 16px);
    background: #fff;
    border-top: 1px solid #eee;
}

.npp-root .npp-reviews-header {
    margin-bottom: 20px;
}

.npp-root .npp-overall-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.npp-root .npp-overall-score {
    font-size: 40px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.03em;
}

.npp-root .npp-overall-stars {
    display: flex;
    gap: 2px;
}

.npp-overall-stars svg {
    width: 20px;
    height: 20px;
    fill: #F5B82E;
}

.npp-root .npp-overall-of {
    font-size: 12px;
    color: var(--npp-sub, #666);
}

.npp-root .npp-review-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
}

.npp-review-scroll::-webkit-scrollbar {
    display: none;
}

.npp-root .npp-review-card {
    flex: 0 0 85vw;
    max-width: 300px;
    scroll-snap-align: start;
    background: #f8f8f8;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.npp-root .npp-rv-stars {
    display: flex;
    gap: 2px;
}

.npp-rv-stars svg {
    width: 14px;
    height: 14px;
    fill: #F5B82E;
}

.npp-rv-stars svg.dim {
    opacity: 0.2;
}

.npp-root .npp-rv-img-wrap {
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 4/3;
}

.npp-rv-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.npp-root .npp-rv-text {
    font-size: 13px;
    line-height: 1.55;
    color: var(--npp-text, #111);
    margin: 0;
    flex: 1;
}

.npp-root .npp-rv-author {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.npp-root .npp-rv-verified {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 700;
    color: #22a06b;
}

.npp-rv-verified svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.npp-root .npp-rv-name {
    font-size: 12px;
    font-weight: 700;
    color: var(--npp-text, #111);
}

.npp-root .npp-rv-date {
    font-size: 11px;
    color: var(--npp-sub, #888);
    margin-left: auto;
}

.npp-root .npp-rv-nav {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    justify-content: center;
}

.npp-root .npp-rv-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1.5px solid #ddd;
    background: #fff;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--npp-text, #111);
    transition: all 0.2s;
    font-family: inherit;
}

.npp-rv-btn:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}

/* WHY-US */
.npp-root .npp-why-section {
    padding: 28px var(--npp-px, 16px);
    background: var(--npp-section-bg, #f8f8f8);
    border-top: 1px solid #eee;
}

.npp-root .npp-why-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
}

.npp-root .npp-why-item {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.npp-root .npp-why-img {
    aspect-ratio: 16/9;
    overflow: hidden;
}

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

.npp-root .npp-why-text {
    padding: 14px 16px;
}

.npp-root .npp-why-heading {
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 6px;
    letter-spacing: -0.01em;
}

.npp-root .npp-why-body {
    font-size: 13px;
    color: var(--npp-sub, #555);
    margin: 0;
    line-height: 1.55;
}

/* COMPARISON TABLE */
.npp-root .npp-ct-section {
    padding: 28px var(--npp-px, 16px);
    background: #fff;
    border-top: 1px solid #eee;
}

.npp-root .npp-ct-wrap {
    overflow-x: auto;
    margin-top: 16px;
    border-radius: 10px;
    border: 1px solid #eee;
}

.npp-root .npp-ct {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    min-width: 280px;
}

.npp-ct thead tr {
    background: var(--npp-accent, #111);
}

.npp-ct thead th {
    color: #fff;
    font-weight: 700;
    padding: 12px 10px;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.npp-ct thead th.npp-ct-feature {
    text-align: left;
}

.npp-ct tbody tr:nth-child(even) {
    background: #f9f9f9;
}

.npp-ct tbody td {
    padding: 11px 10px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.npp-root .npp-ct-feature {
    font-weight: 600;
    color: var(--npp-text, #111);
}

.npp-root .npp-ct-us,
.npp-root .npp-ct-them {
    text-align: center;
}

.npp-root .npp-ct-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #22a06b;
    color: #fff;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
}

.npp-root .npp-ct-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #fce8e8;
    color: #c0392b;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
}

.npp-root .npp-ct-dot {
    color: var(--npp-sub, #888);
    font-size: 18px;
}

/* CROSS-SELL */
.npp-root .npp-cs-section {
    padding: 28px var(--npp-px, 16px);
    background: var(--npp-section-bg, #f8f8f8);
    border-top: 1px solid #eee;
}

.npp-root .npp-cs-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-top: 16px;
    padding-bottom: 4px;
}

.npp-cs-scroll::-webkit-scrollbar {
    display: none;
}

.npp-root .npp-cs-card {
    flex: 0 0 160px;
    scroll-snap-align: start;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: transform 0.2s;
    will-change: transform;
}

.npp-cs-card:hover {
    transform: translateY(-2px);
}

.npp-root .npp-cs-img {
    aspect-ratio: 3/4;
    border-radius: 10px;
    overflow: hidden;
    background: #eee;
}

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

.npp-root .npp-cs-title {
    font-size: 13px;
    font-weight: 700;
    margin: 0;
}

.npp-root .npp-cs-price {
    font-size: 13px;
    font-weight: 600;
    color: var(--npp-sub, #555);
    margin: 0;
}

/* ‚îÄ‚îÄ STICKY ATC BAR ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9000;
    background: #fff;
    border-top: 1px solid #e8e8e8;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, .12);
    transform: translateY(110%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: 'Inter', -apple-system, sans-serif;
    pointer-events: none;
    will-change: transform;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

.npp-sticky-bar.visible {
    transform: translateY(0);
    pointer-events: auto;
}

.npp-sticky-inner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
    justify-content: space-between;
}

.npp-sticky-product {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    margin-right: 4px;
}

.npp-sticky-product img {
    width: 32px;
    height: 32px;
    border-radius: 4px;
    object-fit: cover;
    flex-shrink: 0;
}

.npp-sticky-product>div {
    min-width: 0;
    overflow: hidden;
    flex: 1;
}

.npp-sticky-title {
    font-size: 12px;
    font-weight: 700;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #111;
    max-width: 100%;
}

.npp-sticky-price {
    font-size: 12px;
    font-weight: 600;
    color: #444;
    margin: 1px 0 0;
}

.npp-sticky-variant {
    font-size: 11px;
    color: #999;
    margin: 1px 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.npp-sticky-btn {
    flex-shrink: 0;
    background: var(--npp-atc-bg, #E8A020);
    color: var(--npp-atc-fg, #fff);
    border: none;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 800;
    padding: 8px 14px;
    cursor: pointer;
    font-family: inherit;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: opacity 0.2s;
    white-space: nowrap;
}

.npp-sticky-btn:hover {
    opacity: 0.9;
}

/* ‚îÄ‚îÄ Sticky size picker row ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-sticky-pick {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px 8px;
    border-top: 1px solid #f0f0f0;
    overflow: hidden;
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.npp-sticky-pick-label {
    font-size: 11px;
    font-weight: 700;
    color: #555;
    white-space: nowrap;
    flex-shrink: 0;
}

.npp-sticky-szrow {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
    flex: 1;
    padding-bottom: 2px;
}

.npp-sticky-szrow::-webkit-scrollbar {
    display: none;
}

.npp-sz-mini {
    flex: 0 0 auto;
    min-width: 38px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #ddd;
    background: #fff;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    color: #111;
    padding: 0 8px;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
    white-space: nowrap;
    user-select: none;
    position: relative;
}

.npp-sz-mini:hover:not(:disabled) {
    border-color: #111;
}

.npp-sz-mini.selected {
    border: 2px solid #111;
    background: #111;
    color: #fff;
    font-weight: 800;
}

.npp-sz-mini.soldout {
    opacity: 0.35;
    cursor: not-allowed;
}

.npp-sz-mini.soldout::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top right, transparent calc(50% - 1px), #aaa, transparent calc(50% + 1px));
}

/* MODALS */
.npp-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    z-index: 2147483647;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(2px);
}

.npp-modal-overlay.open {
    display: flex;
    animation: npp-fade 0.2s ease;
}

@keyframes npp-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.npp-modal-box {
    background: #fff;
    border-radius: 12px;
    max-width: 600px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    padding: 24px 20px 20px;
    animation: npp-slide-up 0.25s ease;
}

@keyframes npp-slide-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.npp-root .npp-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    background: none;
    border: none;
    color: #555;
    font-weight: 300;
    transition: color 0.15s;
}

.npp-modal-close:hover {
    color: #111;
}

.npp-modal-box img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

.npp-root .npp-modal-placeholder {
    text-align: center;
    padding: 50px 20px;
    color: #999;
    font-size: 13px;
}

/* ‚îÄ‚îÄ INLINE VIDEO STORIES ‚Äî Carousel ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-video-stories {
    margin: 24px 0 0;
    padding: 24px var(--npp-px, 16px) 0;
    border-top: 1px solid #eee;
}
.npp-root .npp-vs-heading {
    font-family: inherit;
    font-size: 17px;
    font-weight: 800;
    margin: 0 0 14px;
    letter-spacing: -0.01em;
    color: var(--npp-text, #111);
}
/* Legacy class kept for safety */
.npp-root .npp-vs-grid {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-bottom: 8px;
}
.npp-vs-grid::-webkit-scrollbar { display: none; }
/* New carousel class */
.npp-root .npp-vs-carousel {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
}
.npp-vs-carousel::-webkit-scrollbar { display: none; }
.npp-vs-carousel > .npp-vs-item {
    flex: 0 0 140px;
    scroll-snap-align: start;
}
.npp-root .npp-vs-item {
    width: 100%;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 9/16;
    background: #000;
    cursor: pointer;
    flex-shrink: 0;
}
.npp-root .npp-vs-vid {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0.9;
    pointer-events: none;
}
.npp-root .npp-vs-modal-box {
    width: 100%;
    max-width: 420px;
    height: 85vh;
    background: #000;
    border-radius: 16px;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: nppModalIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.5);
}
.npp-vs-modal-box .npp-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
    background: rgba(255,255,255,0.2) !important;
    color: #fff !important;
    backdrop-filter: blur(4px);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
#npp-vs-player-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    background: #000;
}
#npp-vs-player-wrap video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}
.npp-root .npp-vs-label {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 6px 10px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border: 1px solid rgba(255,255,255,0.1);
}
.npp-vs-label svg {
    width: 12px;
    height: 12px;
}
.npp-root .npp-vs-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    background: rgba(0,0,0,0.3);
    backdrop-filter: blur(4px);
    border: 2px solid rgba(255,255,255,0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    z-index: 2;
    pointer-events: none;
    transition: transform 0.2s;
    will-change: transform;
}
.npp-vs-play svg {
    width: 24px;
    height: 24px;
    margin-left: 4px;
}
.npp-vs-item:hover .npp-vs-play {
    transform: translate(-50%, -50%) scale(1.1);
}

/* ‚îÄ‚îÄ REVIEWS SECTION ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-reviews-section {
    padding: 32px var(--npp-px, 16px);
    background: #fff;
    border-top: 1px solid #eee;
}
.npp-root .npp-rv-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}
.npp-root .npp-rv-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 32px;
}
.npp-root .npp-rv-summary-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
}
.npp-root .npp-rv-big-score {
    font-size: 56px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
}
.npp-root .npp-rv-summary-right {
    flex: 1;
    min-width: 200px;
}
.npp-root .npp-rv-stars-lg {
    display: flex;
    gap: 2px;
    color: #C8912A;
}
.npp-rv-stars-lg svg {
    width: 20px;
    height: 20px;
}
.npp-root .npp-rv-count-label {
    font-size: 13px;
    color: #555;
    margin: 4px 0 0;
    text-align: center;
    width: 100%;
}
.npp-root .npp-rv-bars {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 250px;
    margin: 0 auto;
    width: 100%;
}
.npp-root .npp-rv-bar-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: #555;
}
.npp-root .npp-rv-bar-lbl {
    width: 50px;
}
.npp-root .npp-rv-bar-track {
    flex: 1;
    height: 6px;
    background: #eee;
    border-radius: 4px;
    overflow: hidden;
}
.npp-root .npp-rv-bar-fill {
    height: 100%;
    background: #111;
    border-radius: 4px;
}
.npp-root .npp-rv-bar-pct {
    width: 24px;
    text-align: right;
}
.npp-root .npp-review-scroll {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-bottom: 16px;
}
.npp-review-scroll::-webkit-scrollbar { display: none; }
.npp-review-scroll > * {
    flex: 0 0 280px;
    scroll-snap-align: start;
    display: flex;
}
.npp-root .npp-review-card {
    width: 100%;
    background: #f7f7f7;
    border-radius: 10px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-sizing: border-box;
    border: 1px solid #efefef;
}
.npp-root .npp-rv-photo {
    width: 100%;
    aspect-ratio: 4/5;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 12px;
}
.npp-rv-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.npp-root .npp-rv-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.npp-root .npp-rv-stars {
    display: flex;
    gap: 2px;
    color: #C8912A;
}
.npp-rv-stars .dim {
    color: #e5e5e5;
}
.npp-root .npp-rv-verified {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 700;
    color: #22a06b;
}
.npp-root .npp-rv-heading {
    font-size: 22px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    line-height: 1.25;
    margin: 0 0 32px;
    text-align: center;
}
.npp-root .npp-rv-text {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    color: #111;
}
.npp-root .npp-rv-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #666;
    margin-top: auto;
}

/* ‚îÄ‚îÄ RESPONSIVE ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
@media (min-width: 768px) {
    .npp-swatch-grid {
        grid-template-columns: repeat(7, 1fr);
    }

    .npp-size-grid {
        grid-template-columns: repeat(8, 1fr);
    }

    .npp-why-grid {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .npp-why-item {
        flex: 1 1 calc(50% - 8px);
    }

    .npp-review-card {
        flex: 0 0 280px;
    }

    /* Sticky bar a little wider on tablet */
    .npp-sticky-inner,
    .npp-sticky-pick {
        max-width: 760px;
    }
}

/* ‚îÄ‚îÄ HTML WRAPPER HELPERS (Mobile = unwrapped) ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-desktop-top,
.npp-root .npp-col-top-info,
.npp-root .npp-col-gallery,
.npp-root .npp-col-bottom-info {
    display: block;
    width: 100%;
}

/* ‚îÄ‚îÄ DESKTOP 2-COLUMN LAYOUT ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
@media (min-width: 900px) {

    /* Configure main container width */
    .npp-root {
        max-width: 1280px;
        margin: 0 auto;
        padding: 40px 48px 0;
        background: var(--npp-body-bg, #faf9f6);
    }

    /* Activate 2-column GRID on the top wrapper */
    .npp-desktop-top {
        display: grid !important;
        grid-template-columns: 55% calc(45% - 50px) !important;
        grid-template-rows: max-content 1fr !important;
        justify-content: space-between !important;
        align-items: start !important;
        width: 100%;
        margin-bottom: 40px;
    }

    /* Left side is strictly for Gallery, spans all rows down */
    .npp-col-gallery,
    .npp-desktop-top>div:nth-child(2) {
        display: block !important;
        grid-column: 1 / 2 !important;
        grid-row: 1 / 3 !important;
        position: sticky;
        top: 40px;
    }

    /* Top info sits in top right corner */
    .npp-col-top-info,
    .npp-desktop-top>div:nth-child(1) {
        display: flex !important;
        flex-direction: column !important;
        grid-column: 2 / 3 !important;
        grid-row: 1 / 2 !important;
        width: 100% !important;
    }

    /* Bottom info sits directly under top info in right corner */
    .npp-col-bottom-info,
    .npp-desktop-top>div:nth-child(3) {
        display: block !important;
        grid-column: 2 / 3 !important;
        grid-row: 2 / 3 !important;
        width: 100% !important;
    }

    /* ‚îÄ‚îÄ LEFT column: Desktop Masonry Gallery ‚îÄ‚îÄ */
    .npp-col-gallery {
        padding-right: 20px;
    }
    
    .npp-gallery-prev,
    .npp-gallery-next,
    .npp-dots {
        display: none !important;
    }

    .npp-slides {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        overflow-x: visible;
        scroll-snap-type: none;
    }

    .npp-slide {
        flex: unset;
        height: auto;
        aspect-ratio: auto;
        background: transparent;
        border-radius: 14px;
        overflow: hidden;
    }

    .npp-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border-radius: 14px;
        transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    /* End gallery overrides */

    /* ‚îÄ‚îÄ RIGHT column: buying controls ‚îÄ‚îÄ */
    /* Give elements tighter grouping on desktop */
    .npp-info-top {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        max-width: 480px;
        margin-bottom: 0px;
    }

    /* Desktop title bigger */
    .npp-title {
        font-size: max(var(--npp-title-size, 34px), 30px);
        margin-bottom: 8px;
    }

    .npp-price-row {
        margin-bottom: 14px;
    }

    .npp-price {
        font-size: 24px;
    }

    .npp-feature-icons {
        padding-left: 0;
        padding-right: 0;
        margin: 16px 0;
        border: none;
        max-width: 480px;
        gap: 12px;
    }

    .npp-badge-pill {
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 24px;
        font-size: 14px;
        padding: 8px 16px;
    }

    .npp-info-bottom {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        max-width: 480px;
        margin-top: 0px !important;
        gap: 14px;
    }

    /* Size & Swatches spacing */
    .npp-size-header {
        margin-bottom: 8px;
    }

    .npp-swatch-wrap {
        margin-top: 0px !important;
    }

    /* Bigger Add to Cart button on desktop */
    .npp-atc-btn {
        height: 60px;
        font-size: 18px;
        margin-top: 32px;
    }

    /* Why-us grid: 4 across on big screen */
    .npp-why-grid {
        flex-wrap: wrap;
        gap: 24px;
    }

    .npp-why-item {
        flex: 1 1 calc(25% - 24px);
    }

    /* Trust row spreading out */
    .npp-trust-row {
        gap: 40px;
        justify-content: center;
        padding: 40px 0;
    }

    /* Cross sell layout */
    .npp-cs-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }

    /* Review cards fixed width */
    .npp-review-card {
        flex: 0 0 320px;
    }

    /* Size grid more columns */
    .npp-size-grid {
        grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
        gap: 12px;
    }

    .npp-size-btn {
        height: 44px;
        font-size: 15px;
    }

    .npp-swatch-grid {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        gap: 10px;
    }

    .npp-swatch-btn {
        width: 44px;
        height: 44px;
    }

    /* Sticky bar: wider, horizontal layout on desktop */
    .npp-sticky-bar {
        left: 50%;
        right: auto;
        transform: translateX(-50%) translateY(110%);
        width: 100%;
        max-width: 900px;
        border-radius: 12px 12px 0 0;
    }

    .npp-sticky-bar.visible {
        transform: translateX(-50%) translateY(0);
    }

    /* On desktop: merge sticky picker into one row alongside product info */
    .npp-sticky-inner {
        max-width: none;
        padding: 12px 24px;
    }

    .npp-sticky-pick {
        max-width: none;
        padding: 0 24px 12px;
        border-top: none;
    }

    .npp-sticky-pick-label {
        font-size: 12px;
    }

    .npp-sz-mini {
        height: 36px;
    }

    /* ‚îÄ‚îÄ DESKTOP REGRESSIONS FIX ‚îÄ‚îÄ */
    .npp-root .pdp-gallery {
        position: relative !important;
    }
    .npp-root .pdp-gallery__guarantee-badge {
        background-color: #111111 !important;
        color: #ffffff !important;
        border-radius: 50% !important;
        min-width: 72px !important;
        min-height: 72px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        padding: 8px !important;
        position: absolute !important;
        top: 10px !important;
        left: 10px !important;
        z-index: 10 !important;
    }
    .npp-root .pdp-gallery__counter {
        background-color: #111111 !important;
        color: #ffffff !important;
        border-radius: 20px !important;
        padding: 4px 10px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        position: absolute !important;
        bottom: 10px !important;
        right: 10px !important;
        z-index: 10 !important;
    }
    .npp-root .pdp-submit {
        background-color: #111111 !important;
        color: #ffffff !important;
        font-size: 16px !important;
        font-weight: 900 !important;
        border-radius: 6px !important;
        letter-spacing: 0.05em !important;
        width: 100% !important;
        min-height: 54px !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-transform: uppercase !important;
    }
    .npp-root .pdp-price-per {
        font-weight: 900 !important;
        font-size: 28px !important;
        color: #111111 !important;
    }
}

/* ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê
   NORATIV CRO BOOSTERS ‚Äî Styles
   ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê */

/* ‚îÄ‚îÄ Urgency Timer ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */

.npp-cro-timer svg { flex-shrink: 0; color: #22a06b; }
.npp-cro-timer span { flex: 1; }
.npp-root .npp-cro-count {
  font-size: 15px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.03em;
  color: #155724;
  min-width: 40px;
  text-align: right;
}

/* ‚îÄ‚îÄ Social Proof Popup ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-cro-proof {
  position: fixed;
  bottom: 24px;
  left: 16px;
  z-index: 10500;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.14);
  padding: 13px 14px 13px 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 270px;
  transform: translateX(calc(-100% - 24px));
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
  pointer-events: none;
}
.npp-cro-proof.npp-cro-in {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
.npp-root .npp-cro-proof-ico {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  background: #f3f4f6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.npp-cro-proof-ico svg { width: 18px; height: 18px; color: #555; }
.npp-root .npp-cro-proof-txt { flex: 1; min-width: 0; }
.npp-root .npp-cro-pn {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #333;
  line-height: 1.3;
  margin-bottom: 1px;
}
.npp-root .npp-cro-pp {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #111;
  line-height: 1.3;
}
.npp-root .npp-cro-pt {
  display: block;
  font-size: 10px;
  color: #999;
  margin-top: 2px;
}
.npp-root .npp-cro-proof-x {
  flex-shrink: 0;
  background: none;
  border: none;
  color: #bbb;
  font-size: 14px;
  cursor: pointer;
  padding: 2px 4px;
  line-height: 1;
  transition: color 0.15s;
  align-self: flex-start;
}
.npp-cro-proof-x:hover { color: #555; }

/* ‚îÄ‚îÄ ATC Button State Animations ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-atc-btn.npp-cro-adding {
  opacity: 0.65;
  pointer-events: none;
  position: relative;
  overflow: hidden;
}
.npp-atc-btn.npp-cro-adding::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.25) 50%, transparent 100%);
  background-size: 200% 100%;
  animation: npp-cro-shimmer 0.7s ease infinite;
}
@keyframes npp-cro-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}
.npp-atc-btn.npp-cro-added {
  background: #22a06b !important;
  color: #fff !important;
}



/* ‚îÄ‚îÄ Scroll Progress Bar ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */

/* ============================================================================
   NORATIV ELITE OVERLAY STYLES ‚Äî PREMIUM REFRESH
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&display=swap');

:root {
    --elite-black: #111111;
    --elite-accent: #4CA36E;
    --elite-gray-light: #F4F4F5;
    --elite-border: #E5E7EB;
    --elite-text-light: #52525B;
    --elite-success-bg: #ECFDF5;
    --elite-star: #F59E0B;
}

.npp-root .npp-root {
    font-family: 'Inter', sans-serif !important;
    -webkit-font-smoothing: antialiased;
    background: var(--npp-body-bg, #faf9f6);
}

/* --- Block 1: First Screen --- */

.npp-root .pdp-hero-banner {
    background-color: #0D2040;
    padding: 32px 20px;
    text-align: center;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.npp-root .pdp-hero-banner__title {
    font-size: 1.75rem;
    font-weight: 900;
    line-height: 1.1;
    margin: 0;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: -0.02em;
}

@media (min-width: 768px) {
    .pdp-hero-banner__title { font-size: 3.5rem; }
}

.npp-root .pdp-review-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(4px);
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding: 6px 12px;
    border-radius: 100px;
}

.npp-root .pdp-stars {
    display: flex;
    gap: 2px;
    color: var(--elite-star);
}

.pdp-stars svg {
    width: 14px;
    height: 14px;
}

/* Feature Icons ‚Äî Horizontal Row Above Fold */
.npp-root .npp-feature-icons-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 10px 12px !important;
    background: var(--npp-body-bg, #faf9f6);
    flex-wrap: nowrap !important;
    overflow-x: auto;
}

.npp-root .npp-fi-item {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    padding: 6px 10px;
    border-radius: 8px;
    background: rgba(255,255,255,0.6);
}

.npp-root .npp-fi-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.npp-fi-icon svg {
    width: 16px;
    height: 16px;
    color: var(--elite-accent, #4CA36E);
    flex-shrink: 0;
}

.npp-root .npp-fi-label {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    font-weight: 800;
    color: var(--elite-black, #111);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1;
}

/* Elite-style green checkmark USP bullets */
.npp-root .npp-usps {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    margin: 0;
    background: var(--cbga, #F4F4F5);
    border: 1px solid var(--cbd, #E5E7EB);
    border-radius: 10px;
}

.npp-root .npp-usp {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--ct, #111);
    line-height: 1.3;
}

.npp-root .npp-usp__icon {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    max-width: 18px;
    color: var(--cs, #10B981);
    flex-shrink: 0;
}


/* --- Buy Header (Elite: title left, price right) --- */
.npp-root .npp-buy-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

/* --- Pricing Block (Elite-style, right-aligned) --- */
.npp-root .npp-price-block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex-shrink: 0;
}

.npp-root .npp-price-compare {
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--cd, #DC2626);
    text-decoration: line-through;
}

.npp-root .npp-price-current {
    font-family: 'Inter', sans-serif;
    font-size: 1.45rem;
    font-weight: 900;
    color: var(--ct, #111);
    line-height: 1;
}

.npp-root .npp-price-per {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--ca, #10B981);
    background: var(--csbg, #ECFDF5);
    padding: 2px 6px;
    border-radius: 4px;
    white-space: nowrap;
    margin-top: 2px;
}

/* --- Bottom Packs Section --- */
.npp-root .npp-bottom-packs {
    padding: 40px 20px;
    background: var(--cbg, #fff);
    border-top: 1px solid var(--cbd, #E5E7EB);
}

/* --- Block 2: Premium Pack Selector --- */

.npp-root .npp-pack-row {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    padding: 0;
}

@media (min-width: 768px) {
    .npp-pack-row { 
        flex-direction: row; 
        align-items: stretch;
    }
}



.npp-pack-card:hover:not(.selected) {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    border-color: rgba(17,17,17,0.2);
}

.npp-pack-card.selected {
    border-color: var(--cb, #111);
    box-shadow: 0 0 0 1px var(--cb, #111), 0 8px 24px rgba(0,0,0,0.12);
    background: #fff;
    transform: translateY(-2px);
}

.npp-pack-card.selected::after {
    content: '‚úì';
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--elite-black);
    color: #fff;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 900;
}



.npp-root .npp-pack-name {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 900;
    margin-bottom: 8px;
    color: var(--ct, #111);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.npp-root .npp-pack-ppi {
    background: var(--csbg, #ECFDF5);
    color: var(--cs, #059669);
    padding: 4px 10px;
    border-radius: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 0.78rem;
    font-weight: 800;
    margin-bottom: 8px;
}

.npp-root .npp-pack-discount {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--elite-text-light);
}

.npp-root .npp-atc-btn {
    width: 100%;
    background: var(--npp-atc-bg, #E8A020);
    color: var(--npp-atc-fg, #fff);
    border: none;
    padding: 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: transform 0.2s;
}

.npp-atc-btn:hover {
    transform: scale(1.02);
}

/* --- Block 4: Elite Body Components --- */

.npp-root .pdp-section-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.75rem;
    font-weight: 900;
    color: var(--elite-black);
    text-align: center;
    margin-bottom: 32px;
    letter-spacing: -0.03em;
}

.npp-root .pdp-benefits-expanded {
    padding: 60px 20px;
}

.npp-root .pdp-benefit-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: 800px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .pdp-benefit-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}

.npp-root .pdp-benefit-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: rgba(255,255,255,0.5);
    padding: 16px;
    border-radius: 12px;
}

.npp-root .pdp-benefit-card__icon {
    width: 32px;
    height: 32px;
    color: var(--elite-accent);
    flex-shrink: 0;
}

.pdp-benefit-card__info h4 {
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem;
    font-weight: 900;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.pdp-benefit-card__info p {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem;
    color: var(--elite-text-light);
    line-height: 1.4;
}

.npp-root .pdp-alert-container {
    padding: 40px 20px 0;
    max-width: 800px;
    margin: 0 auto;
}

.npp-root .pdp-alert-box {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 12px;
    padding: 24px;
    display: flex;
    gap: 16px;
    position: relative;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}

.npp-root .pdp-alert-box__icon {
    width: 24px;
    height: 24px;
    color: var(--elite-black);
    flex-shrink: 0;
    margin-top: 2px;
}

.npp-root .pdp-alert-box__content {
    flex: 1;
}

.npp-root .pdp-alert-box__title {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem;
    font-weight: 900;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1.3;
}

.npp-root .pdp-alert-box__text {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem;
    color: var(--elite-text-light);
    line-height: 1.5;
}

.npp-root .pdp-alert-box__close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 14px;
    opacity: 0.3;
    cursor: pointer;
}

.npp-root .pdp-comp {
    background: #0D2040;
    padding: 80px 20px;
    color: #fff;
}

.npp-root .pdp-comp__table {
    max-width: 650px;
    margin: 0 auto;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255,255,255,0.02);
}

.npp-root .pdp-comp__row {
    display: grid;
    grid-template-columns: 1fr 100px 100px;
    padding: 24px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    align-items: center;
}

.pdp-comp__row:last-child { border-bottom: none; }

.npp-root .pdp-comp__label { font-size: 1rem; font-weight: 600; }
.npp-root .pdp-comp__check { color: #10B981; font-weight: 900; text-align: center; font-size: 1.2rem; }
.npp-root .pdp-comp__cross { color: #EF4444; opacity: 0.5; text-align: center; font-size: 1.2rem; }

/* Sticky ATC Bar Premium */
.npp-root .pdp-sticky-bar {
    position: fixed;
    bottom: 24px;
    left: 24px;
    right: 24px;
    background: #fff;
    padding: 14px 24px;
    border-radius: 20px;
    box-shadow: 0 15px 50px rgba(0,0,0,0.2);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 20px;
    transform: translateY(150%);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    border: 1px solid rgba(0,0,0,0.05);
}

.pdp-sticky-bar.visible { transform: translateY(0); }

.npp-root .pdp-sticky-info { flex: 1; min-width: 0; }
.npp-root .pdp-sticky-pack { font-size: 1rem; font-weight: 900; color: var(--elite-black); display: block; }
.npp-root .pdp-sticky-price { font-size: 0.9rem; color: var(--elite-accent); font-weight: 700; }

.npp-root .pdp-sticky-atc {
    background: var(--elite-black);
    color: #fff;
    border: none;
    padding: 16px 32px;
    border-radius: 12px;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 0.95rem;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: transform 0.2s;
}

.pdp-sticky-atc:active { transform: scale(0.96); }

/* ============================================================================
   ELITE VISUAL PORT ‚Äî All components styled to match retargeting-elite.css
   ============================================================================ */

/* ‚îÄ‚îÄ ROOT: Elite base typography ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-root {
    --cb: #111111;
    --cbt: #ffffff;
    --ca: #4CA36E;
    --ct: #111111;
    --ctl: #52525B;
    --cbd: #E5E7EB;
    --cbg: #ffffff;
    --cbga: #F4F4F5;
    --cs: #10B981;
    --csbg: #ECFDF5;
    --cd: #DC2626;
    --cstr: #F59E0B;
    color: var(--ct);
    -webkit-font-smoothing: antialiased;
    font-family: 'Inter', sans-serif;
    letter-spacing: -0.01em;
}

.npp-root *, .npp-root *::before, .npp-root *::after {
    box-sizing: border-box;
}

.npp-root button {
    font-family: inherit;
    cursor: pointer;
}

/* ‚îÄ‚îÄ GALLERY ‚Äî Elite-style slides ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-gallery {
    position: relative;
    background: transparent;
    overflow: hidden;
}

.npp-root .npp-slides {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.npp-slides::-webkit-scrollbar { display: none; }

.npp-root .npp-slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
    aspect-ratio: 4 / 5;
    overflow: hidden;
}

.npp-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.npp-root .npp-dots {
    display: flex;
    justify-content: center;
    gap: 5px;
    padding: 10px 0;
}

.npp-dots button {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--cbd);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s;
}

.npp-dots button.active {
    background: var(--ct);
}

/* ‚îÄ‚îÄ TITLE + RATING ‚Äî Elite typography ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .pdp-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.35rem;
    font-weight: 900;
    color: var(--ct);
    line-height: 1.15;
    margin-bottom: 5px;
}

.npp-root .pdp-rating {
    display: flex;
    align-items: center;
    gap: 6px;
}

.npp-root .pdp-rating span {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ctl);
}

.npp-root .pdp-stars {
    display: flex;
    gap: 2px;
    color: var(--cstr);
}

.npp-root .pdp-stars svg {
    width: 12px;
    height: 12px;
}

/* ‚îÄ‚îÄ SIZE SELECTOR ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-section-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 900 !important;
    color: var(--ct) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

.npp-root .npp-size-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.npp-root .npp-size-btn {
    padding: 12px 16px;
    border: 1.5px solid var(--cbd) !important;
    border-radius: 10px !important;
    background: var(--cbg) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--ct) !important;
    transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}

.npp-size-btn.selected {
    border-color: var(--cb) !important;
    background: var(--cb) !important;
    color: var(--cbt) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    transform: translateY(-1px);
}

.npp-size-btn:hover:not(.selected):not(.soldout) {
    border-color: var(--ctl) !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0,0,0,0.05);
}

.npp-size-btn.soldout {
    opacity: 0.35;
    cursor: not-allowed;
}

/* ‚îÄ‚îÄ COLOR SWATCH ‚Äî Elite compact cards ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-swatch-grid {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding-bottom: 4px;
}

.npp-swatch-grid::-webkit-scrollbar { display: none; }

.npp-root .npp-swatch-item {
    border: 1.5px solid var(--cbd) !important;
    border-radius: 8px !important;
    overflow: hidden;
    transition: border-color 0.15s;
    scroll-snap-align: start;
}

.npp-swatch-item.selected,
.npp-swatch-item.active {
    border-color: var(--cb) !important;
}

/* ‚îÄ‚îÄ TRUST BADGES ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-trust-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 16px 0;
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--ctl);
}

.npp-root .npp-trust-item {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-direction: column;
    text-align: center;
}

.npp-root .npp-trust-icon,
.npp-root .npp-trust-svg {
    display: flex;
    align-items: center;
    justify-content: center;
}

.npp-trust-icon svg,
.npp-trust-svg svg,
.npp-trust-item svg {
    width: 22px;
    height: 22px;
    color: var(--ct);
}

.npp-trust-item p {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    margin: 0;
}

.npp-trust-item small {
    font-size: 0.62rem;
    font-weight: 500;
    color: var(--ctl);
}

/* ‚îÄ‚îÄ ADD TO CART ‚Äî Elite premium button ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-atc-btn {
    width: 100%;
    padding: 18px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 900 !important;
    border: none !important;
    border-radius: 12px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

.npp-atc-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,0.2) !important;
}

.npp-atc-btn:active {
    transform: scale(0.97) translateY(0) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* ‚îÄ‚îÄ DELIVERY ROW ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-delivery-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: var(--cbga);
    border: 1px solid var(--cbd);
    border-radius: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--ct);
}

.npp-root .npp-low-stock {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 800;
    color: #92400E;
    font-size: 0.72rem;
}

.npp-root .npp-low-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cd);
    animation: pdpBlink 1.2s infinite;
}

@keyframes pdpBlink { 0%,100%{opacity:1} 50%{opacity:.25} }

/* ‚îÄ‚îÄ URGENCY TIMER ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-timer-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #ECFDF5;
    border: 1px solid #A7F3D0;
    border-radius: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    color: #065F46;
}

/* ‚îÄ‚îÄ ACCORDIONS ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-accordion {
    border: 1px solid var(--cbd) !important;
    border-radius: 10px !important;
    overflow: hidden;
    margin-bottom: 8px;
    background: var(--cbg);
}

.npp-root .npp-accordion-btn {
    width: 100%;
    padding: 14px 16px !important;
    background: none !important;
    border: none !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    color: var(--ct) !important;
    cursor: pointer;
    transition: background 0.15s;
}

.npp-accordion-btn:hover {
    background: var(--cbga) !important;
}

.npp-root .npp-accordion-body {
    font-family: 'Inter', sans-serif;
    font-size: 0.82rem;
    color: var(--ctl);
    line-height: 1.6;
    padding: 0 16px 14px;
}

/* ‚îÄ‚îÄ VIDEO SECTIONS ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-video-section {
    padding: 24px 0;
}

.npp-root .npp-video-wrap {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.npp-video-wrap iframe,
.npp-video-wrap video {
    border-radius: 12px;
}

/* ‚îÄ‚îÄ SECTION HEADINGS ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-section-heading-lg {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 900 !important;
    color: var(--ct) !important;
    text-align: center !important;
    line-height: 1.15 !important;
    margin-bottom: 22px !important;
}

/* ‚îÄ‚îÄ REVIEWS SECTION ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-reviews-section {
    font-family: 'Inter', sans-serif;
}

.npp-root .npp-rv-big-score {
    font-family: 'Inter', sans-serif !important;
    font-weight: 900 !important;
}

.npp-root .npp-review-card {
    font-family: 'Inter', sans-serif;
    border: 1px solid var(--cbd) !important;
    border-radius: 12px !important;
    background: var(--cbg) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

/* ‚îÄ‚îÄ PAYMENT LOGOS ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-payment-logos {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 12px 0;
}

.npp-pay-icon svg {
    height: 24px;
    width: auto;
}

/* ‚îÄ‚îÄ BADGE PILL ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-badge-pill {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
}

/* ‚îÄ‚îÄ WHY US ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-why-section {
    font-family: 'Inter', sans-serif;
}

.npp-root .npp-why-heading {
    font-family: 'Inter', sans-serif !important;
    font-weight: 900 !important;
}

.npp-root .npp-why-body {
    font-family: 'Inter', sans-serif !important;
    color: var(--ctl) !important;
    line-height: 1.5 !important;
}

/* ‚îÄ‚îÄ SIZE GUIDE LINK ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-btn-link {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: var(--ctl) !important;
    background: none !important;
    border: none !important;
    text-decoration: underline dotted !important;
    padding: 0 !important;
    cursor: pointer;
}

/* ‚îÄ‚îÄ CROSS-SELL ‚Äî Elite style ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-cs-card {
    border: 1px solid var(--cbd) !important;
    border-radius: 10px !important;
    font-family: 'Inter', sans-serif;
}

.npp-root .npp-cs-title {
    font-family: 'Inter', sans-serif !important;
    font-weight: 800 !important;
}

.npp-root .npp-cs-price {
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    color: var(--ca) !important;
}

/* ‚îÄ‚îÄ FEATURE ICON PILLS ‚Äî FIXED, fits viewport ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .pdp-fi-strip {
    display: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 6px;
    padding: 10px 16px;
    overflow: hidden !important;
    width: 100%;
    box-sizing: border-box;
}

.npp-root .pdp-fi-pill {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 5px;
    background: #f0f0f0;
    border-radius: 8px;
    padding: 6px 10px;
    white-space: nowrap;
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    justify-content: center;
}
.npp-root .pdp-fi-pill__icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
.pdp-fi-pill__icon svg {
    width: 16px !important;
    height: 16px !important;
    display: inline-block !important;
    color: var(--ct, #111) !important;
}
.npp-root .pdp-fi-pill__text {
    font-family: 'Inter', sans-serif;
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--ct, #111);
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ‚îÄ‚îÄ PRICE ‚Äî Elite style: big price + green per-shirt pill ‚îÄ */
.npp-root .pdp-price--per {
    font-size: .72rem !important;
    font-weight: 700 !important;
    color: var(--ca, #4ca36e) !important;
    background: var(--csbg, #ECFDF5) !important;
    padding: 3px 8px !important;
    border-radius: 5px !important;
    white-space: nowrap !important;
    display: inline-block !important;
    animation: ppiPop .35s cubic-bezier(.34,1.56,.64,1);
}
@keyframes ppiPop {
    0% { transform: scale(0.8); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

/* ‚îÄ‚îÄ USP BULLETS ‚Äî white bg, proper spacing ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .pdp-usps {
    gap: 5px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: #fff !important;
    border-radius: 10px !important;
    border: 1px solid var(--cbd, #eaeaea) !important;
    list-style: none !important;
}
.npp-root .pdp-usp {
    font-size: 0.8rem !important;
    gap: 8px !important;
    color: var(--ct, #111) !important;
    line-height: 1.4 !important;
}
.npp-root .pdp-usp__icon {
    width: 17px !important;
    height: 17px !important;
    flex-shrink: 0;
    color: var(--ca, #4ca36e) !important;
}

/* ‚îÄ‚îÄ PACK CARDS ‚Äî compact single row, reference layout ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */













/* ‚îÄ‚îÄ PAGE SPACING ‚Äî handled in media queries ‚îÄ‚îÄ */


/* ‚îÄ‚îÄ STOCK BAR / TIMER ‚Äî proper padding ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */


/* ‚îÄ‚îÄ SWATCH GRID ‚Äî no invisible border ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-swatch-grid,
.npp-root .pdp-carousel {
    gap: 8px !important;
    padding: 0 !important;
}
.npp-root .pdp-col-card {
    border-radius: 8px !important;
    overflow: hidden;
}

/* ‚îÄ‚îÄ GALLERY SLIDE & DOTS ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .pdp-gallery {
    position: relative;
}
.npp-root .pdp-gallery__slide {
    overflow: hidden;
    position: relative;
}
.pdp-gallery__slide img {
    display: block;
}





/* ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê
   DESKTOP + TABLET ‚Äî 2 column layout
   ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê */

@media (min-width: 768px) {
    /* Restored original layout structure */
    .npp-root .pdp {
        display: flex;
        flex-wrap: wrap;
        max-width: 1240px;
        margin: 32px auto;
        padding: 0 24px;
        gap: 32px;
    }
    .npp-root .pdp-gallery {
        width: calc(100% - 460px - 32px);
    }
    .npp-root .pdp-buy {
        width: 460px;
    }

    /* Feature pill strip ‚Äî centered on desktop */
    .npp-root .pdp-fi-strip {
        justify-content: center;
        padding: 12px 24px;
    }

    /* Below-fold sections ‚Äî constrain and center */
    .npp-root .npp-payment-logos,
    .npp-root .npp-accordions,
    .npp-root .npp-reviews-section,
    .npp-root .npp-why-section,
    .npp-root .npp-video-section,
    .npp-root .npp-comparison-section,
    .npp-root .npp-cross-sell-section {
        max-width: 1240px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
    }

    /* Pack cards ‚Äî 3 columns on desktop */
    

    /* Size buttons ‚Äî slightly smaller on desktop */
    .npp-root .pdp-sz {
        padding: 10px 14px !important;
        font-size: 0.88rem !important;
    }
}

/* Tablet ‚Äî narrower buy zone */
@media (min-width: 768px) and (max-width: 1023px) {
    .npp-root .pdp {
        gap: 24px;
        padding: 0 16px;
    }
    .npp-root .pdp-gallery {
        width: calc(100% - 380px - 24px);
    }
    .npp-root .pdp-buy {
        width: 380px;
    }
    
}

/* Large desktop */
@media (min-width: 1400px) {
    .npp-root .pdp {
        max-width: 1360px;
    }
}

/* ‚îÄ‚îÄ FIX: Override Elite ".pdp svg { display:block }" ‚îÄ‚îÄ‚îÄ‚îÄ */
.pdp-stars svg,
.pdp-rating svg,
.pdp-fi-pill__icon svg,
.pdp-trust-item svg,
.pdp-usp svg,
.npp-root .pdp-usp__icon,
.npp-rv-stars svg,
.npp-rv-stars-lg svg,
.npp-rv-verified svg,
.npp-accordion-svg svg,
.npp-pay-icon svg,
.npp-cro-timer svg,
.pdp-stock-bar svg {
    display: inline-block !important;
}

/* Reset the Elite ".pdp svg" from cascading to npp sections */
.npp-root .npp-reviews-section svg,
.npp-root .npp-accordions svg,
.npp-root .npp-comparison-section svg,
.npp-root .npp-video-section svg,
.npp-root .npp-video-stories svg,
.npp-root .npp-why-section svg,
.npp-root .npp-payment-logos svg,
.npp-root .npp-cross-sell-section svg {
    display: inline-block !important;
}

/* ‚îÄ‚îÄ TIMER BAR ‚Äî proper spacing, not cramped ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */

.npp-root .npp-cro-count {
    min-width: 46px !important;
    text-align: right !important;
}


/* ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê
   MOBILE COMPACT CRO OVERHAUL v2 ‚Äî May 2026
   Gallery 4:5, overlays top corners, red compare-at, compact
   review pill, no dividers, premium pill packs with savings
   ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê */

/* ‚îÄ‚îÄ 1. COMPACT MOBILE SPACING ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .pdp-rating--compact {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    height: 28px !important;
    max-height: 28px !important;
    padding: 0 10px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 100px !important;
    background: #F9FAFB !important;
    margin-top: 6px !important;
    width: auto !important;
    flex-shrink: 0 !important;
}


.npp-root .pdp-rating--compact .pdp-stars {
    display: flex !important;
    gap: 1px !important;
}

.npp-root .pdp-rating--compact .pdp-stars svg {
    width: 12px !important;
    height: 12px !important;
}

.npp-root .pdp-rating--compact .pdp-rating__text {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    color: #52525B !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.npp-root .pdp-rating--compact .pdp-rating__text a {
    color: inherit !important;
    text-decoration: none !important;
}

/* ‚îÄ‚îÄ 10. REMOVE ALL GREY DIVIDER LINES ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .pdp-row,
.npp-root .pdp-row--no-border {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
}
.npp-root .pdp-buy > * + * {
    border-top: none !important;
}
.npp-root .pdp-cta-wrap {
    border-top: none !important;
}

.npp-root .npp-accordions {
    border-top: none !important;
}
.npp-root .npp-accordion {
    border-left: none !important;
    border-right: none !important;
}
.npp-root .pdp-usps,
.npp-root .npp-usps {
    border: none !important;
}

/* ‚îÄ‚îÄ 11. PREMIUM PILL-STYLE PACK SELECTOR ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */




.pdp-pack--pill:hover:not(.npp-active) {
    border-color: #999 !important;
}

/* Best Deal pill ‚Äî more prominent border even when unselected */
.pdp-pack--pill.pdp-pack--best {
    border-color: #4CA36E !important;
    border-width: 2px !important;
}

/* Selected pill ‚Äî solid black, elevated shadow */






/* Pill name text ‚Äî bold, first line */
.npp-root .pdp-pill__name {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    color: #111 !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}

/* Pill save text ‚Äî red, second line */
.npp-root .pdp-pill__save {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.58rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #DC2626 !important;
    display: block !important;
    margin-top: 1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}

/* Best Deal label ‚Äî green pill above the pack pill */
.npp-root .pdp-pill__badge {
    position: absolute !important;
    top: -9px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: #22a06b !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.45rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 2px 7px !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

/* Hide old pill classes that may conflict */
.pdp-packs--pills .pdp-pack__badge,
.pdp-packs--pills .pdp-pack__name,
.pdp-packs--pills .pdp-pack__meta,
.pdp-packs--pills .pdp-pack__price,
.pdp-packs--pills .pdp-pack__save,
.pdp-packs--pills .pdp-pill__qty,
.pdp-packs--pills .pdp-pill__price {
    display: none !important;
}

/* Force 4-pills to fit: each 25% minus gap */
@media (min-width: 320px) {
    .pdp-packs--pills {
        gap: 6px !important;
    }
    .pdp-packs--pills .pdp-pack--pill {
        flex: 1 1 calc(25% - 4.5px) !important;
        min-width: calc(25% - 4.5px) !important;
    }
}

/* ‚îÄ‚îÄ DESKTOP OVERRIDES ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
@media (min-width: 768px) {
    .pdp-gallery__pack-pill {
        font-size: 0.62rem !important;
        padding: 6px 14px !important;
        top: 14px !important;
        right: 14px !important;
    }
    .pdp-gallery__guarantee-badge {
        width: 60px !important;
        height: 60px !important;
        font-size: 0.52rem !important;
        top: 14px !important;
        left: 14px !important;
    }

    .pdp-price--per-hero {
        font-size: 1.75rem !important;
    }
    .pdp-packs--pills .pdp-pack--pill {
        height: 56px !important;
        max-height: 56px !important;
    }
    .pdp-pill__name {
        font-size: 0.85rem !important;
    }
    .pdp-pill__save {
        font-size: 0.65rem !important;
    }
    .pdp-pill__badge {
        font-size: 0.5rem !important;
        top: -10px !important;
    }


    }
}

/* ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê
   MOBILE COMPACT CRO OVERHAUL ‚Äî Restoration
   ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê */

.npp-root .pdp-price-per {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 1.6rem !important;
    font-weight: 900 !important;
    color: #111 !important;
    margin-bottom: 4px !important;
}

.npp-root .pdp-price__current {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #111 !important;
}

.npp-root .pdp-price__old {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #DC2626 !important;
    text-decoration: line-through !important;
}

/* ‚îÄ‚îÄ BUY HEADER LAYOUT ‚Äî 4-row restructured layout ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */

/* Header: flex column, 4px gap between rows, enables child ordering */
.npp-root .pdp-buy__header {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

/* Row 1: Title (left) + per-shirt price (right) ‚Äî already a flex row */
.npp-root .pdp-header-main-row {
    order: 1 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    width: 100% !important;
}

/* Row 2: Review pill (left) + bundle/compare prices (right) ‚Äî same line */
.npp-root .pdp-header-meta-row {
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 0 !important;
}

/* Review pill: left-aligned, inline-flex, no stretching */
.npp-root .pdp-rating--compact {
    display: inline-flex !important;
    width: auto !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

/* Bundle + compare-at prices: right-aligned on row 2 */
.npp-root .pdp-header-price-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
}

/* Row 3: Testimonial rotator ‚Äî full width, no side margins */
.npp-root .npp-testimonial-rotator {
    order: 3 !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 12px !important;
    margin-bottom: 8px !important;
    box-sizing: border-box !important;
}


@media (max-width: 767px) {
    /* 0. ROOT - FULL WIDTH */
    .npp-root, .npp-root .pdp, .npp-root .pdp-buy {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
    .npp-root .pdp {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        background: #fff !important;
    }

    /* 1. Feature Icon Strip - Reduced Height */
    .npp-root .pdp-fi-strip {
        padding: 4px 12px !important;
        gap: 12px !important;
        min-height: auto !important;
        background: #fff !important;
        border-bottom: none !important;
        display: flex !important;
        justify-content: center !important;
    }
    .npp-root .pdp-fi-item {
        padding: 0 !important;
        flex-direction: column !important;
        gap: 2px !important;
        display: flex !important;
        align-items: center;
    }
    .npp-root .pdp-fi-icon { width: 16px !important; height: 16px !important; }
    .npp-root .pdp-fi-label { font-size: 10px !important; font-weight: 700 !important; color: #111 !important; }

    /* 2. Gallery - Mixed Ratios & Full Fill */
    .npp-root .pdp-gallery {
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        width: 100% !important;
        background-color: #f7f7f7 !important;
        position: relative !important;
        overflow: hidden !important;
    }
    .npp-root .pdp-gallery__track { display: flex !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; }
    .npp-root .pdp-gallery__track::-webkit-scrollbar { display: none; }
    .npp-root .pdp-gallery__slide {
        flex: 0 0 100% !important;
        width: 100% !important;
        aspect-ratio: var(--gallery-ratio, 1/1) !important;
        scroll-snap-align: start !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .npp-root .pdp-gallery__slide img {
        object-fit: cover !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
    }

    /* Counter - Bottom-Right */
    .npp-root .pdp-gallery__counter {
        position: absolute !important;
        bottom: 8px !important;
        right: 8px !important;
        background: rgba(17,17,17,0.85) !important;
        color: #fff !important;
        padding: 3px 10px !important;
        border-radius: 20px !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        z-index: 15 !important;
    }

    /* Badges - Small Absolute (No container growth) */
    .npp-root .pdp-gallery__guarantee-badge {
        position: absolute !important;
        top: 8px !important;
        left: 8px !important;
        background: #111111 !important;
        color: #ffffff !important;
        width: 52px !important; /* REDUCED to 52px */
        height: 52px !important;
        border-radius: 50% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 9px !important; /* REDUCED to 9px */
        font-weight: 900 !important;
        text-align: center !important;
        line-height: 1.1 !important;
        z-index: 20 !important;
        padding: 4px !important;
        text-transform: uppercase !important;
        pointer-events: none !important;
        margin: 0 !important;
    }
    .npp-root .pdp-gallery__pack-pill {
        position: absolute !important;
        top: 8px !important;
        right: 8px !important;
        background: #111111 !important;
        color: #ffffff !important;
        padding: 6px 12px !important;
        border-radius: 30px !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        z-index: 20 !important;
        pointer-events: none !important;
        margin: 0 !important;
    }


    /* 3. Header Spacing */
    .npp-root .pdp-buy__header, 
    .npp-root .pdp-usps, 
    .npp-root .pdp-row, 
    .npp-root .pdp-cta-wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .npp-root .pdp-buy__header {
        margin-top: 4px !important; /* REDUCED gap below gallery */
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    .npp-root .pdp-header-main-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        width: 100% !important;
    }
    .npp-root .pdp-title {
        font-size: 24px !important;
        font-weight: 900 !important; /* PREMIUM Font weight 900 */
        letter-spacing: -0.02em !important; /* PREMIUM letter-spacing */
        color: #111 !important;
        margin: 0 !important;
        flex: 1 !important;
        line-height: 1.1 !important;
        padding-right: 12px !important;
    }
    .npp-root .pdp-price-per {
        font-size: 28px !important;
        font-weight: 900 !important;
        color: #111 !important;
        margin: 0 !important;
        line-height: 1 !important;
        flex-shrink: 0 !important;
        text-align: right !important;
    }

    /* Meta Row Spacing */
    .npp-root .pdp-header-meta-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        margin-top: 4px !important; /* REDUCED gap below title */
    }
    .npp-root .pdp-rating--compact {
        height: 28px !important;
        padding: 0 10px !important;
        background: #F4F4F4 !important;
        border: 1px solid #E5E5E5 !important;
        border-radius: 20px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
    }
    .npp-root .pdp-stars svg { width: 11px !important; height: 11px !important; color: #FFB800 !important; fill: #FFB800 !important; }
    .npp-root .pdp-rating__text { font-size: 11px !important; font-weight: 700 !important; color: #111 !important; }

    .npp-root .pdp-header-price-row {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        margin: 0 !important;
    }
    .npp-root .pdp-price__current { font-size: 16px !important; color: #111 !important; font-weight: 600 !important; }
    .npp-root .pdp-price__old { font-size: 16px !important; color: #DC2626 !important; text-decoration: line-through !important; font-weight: 600 !important; }

    /* 4. Bullet List Spacing */
    .npp-root .pdp-usps {
        margin-top: 4px !important; /* REDUCED gap below review pill */
        margin-bottom: 8px !important; /* Gap above size selector */
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        border: none !important;
    }

    /* 5. Selectors */
    .npp-root .pdp-row { margin-bottom: 8px !important; display: flex !important; flex-direction: column !important; gap: 4px !important; }
    .npp-root .pdp-label { font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; color: #666 !important; }

    .npp-root .npp-size-grid { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; } /* Tighter gap */
    .npp-root .npp-size-btn {
        height: 36px !important;
        min-width: 48px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        border: 1px solid #ddd !important;
        border-radius: 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .npp-root .npp-size-btn.selected { background: #000 !important; color: #fff !important; border-color: #000 !important; }

    .npp-root .npp-swatch-grid { display: flex !important; gap: 8px !important; overflow-x: auto !important; padding-bottom: 4px !important; }
    .npp-root .npp-swatch-grid::-webkit-scrollbar { display: none; }
    .npp-root .npp-swatch {
        width: 110px !important;
        height: 110px !important;
        min-width: 110px !important;
        min-height: 110px !important;
        border-radius: 8px !important;
        border: 1px solid #eee !important;
        overflow: hidden !important;
    }
    .npp-root .npp-swatch.selected { border: 2px solid #000 !important; }
    .npp-root .npp-swatch img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

    /* Pack Selector */
    
    
    
    .npp-root .pdp-pill__name { font-size: 13px !important; font-weight: 800 !important; line-height: 1.1 !important; }
    .npp-root .pdp-pill__save { font-size: 11px !important; color: #DC2626 !important; font-weight: 700 !important; }
    
    .npp-root .pdp-pill__badge {
        position: absolute !important;
        top: -10px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        background: #22A06B !important;
        color: #ffffff !important;
        font-size: 9px !important;
        font-weight: 900 !important;
        padding: 2px 8px !important;
        border-radius: 4px !important;
        z-index: 10;
    }

    /* 6. ATC Button */
    .npp-root .pdp-cta-wrap { margin-top: 8px !important; margin-bottom: 12px !important; } /* Closer to packs */
    .npp-root .pdp-submit {
        width: 100% !important;
        height: 56px !important;
        background: #000 !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        border-radius: 8px !important;
        text-transform: uppercase !important;
        border: none !important;
    }

    /* Hide Dividers */
    .npp-root .pdp-row, .npp-root .pdp-row--no-border { border-bottom: none !important; border-top: none !important; }
}

/* ‚îÄ‚îÄ 4.30 ADDITIONS (CSS ONLY) ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
@media (max-width: 767px) {
    /* 1. Guarantee Badge - Enlarged */
    .npp-root .pdp-gallery__guarantee-badge {
        width: 80px !important;
        height: 80px !important;
        font-size: 11px !important;
        padding: 10px !important;
        box-sizing: border-box !important;
    }

    /* 2. Green Checkmarks for USPs (CSS Only) */
    .npp-root .pdp-usp__dot {
        background: transparent !important;
        width: 18px !important;
        height: 18px !important;
        position: relative !important;
    }
    .npp-root .pdp-usp__dot::before {
        content: "" !important;
        position: absolute !important;
        top: 0; left: 0;
        width: 100% !important;
        height: 100% !important;
        background-color: #4CA36E !important;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center !important;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center !important;
        mask-size: contain !important;
        -webkit-mask-size: contain !important;
    }

    /* 3. Jumbo Swatches */
    .npp-root .npp-swatch {
        width: 110px !important;
        height: 110px !important;
        min-width: 110px !important;
        min-height: 110px !important;
    }
    .npp-root .npp-swatch-grid {
        gap: 6px !important;
    }

    /* 4. Selector Spacing (8px) */
    .npp-root .pdp-row {
        margin-bottom: 8px !important;
        margin-top: 0 !important;
    }
    .npp-root .npp-size-grid {
        margin-top: 4px !important;
        gap: 4px !important;
    }
    .npp-root .pdp-cta-wrap {
        margin-top: 8px !important;
    }
}

/* ‚îÄ‚îÄ 4.31 UPDATES (CSS ONLY) ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
@media (max-width: 767px) {
    /* 1. Feature Icons Strip (Above Gallery) */
    .npp-root .pdp-fi-strip {
        padding: 8px 16px !important;
    }
    .npp-root .pdp-fi-item {
        padding: 6px !important;
    }
    .npp-root .pdp-fi-icon svg {
        width: 22px !important;
        height: 22px !important;
    }
    .npp-root .pdp-fi-item span:last-child {
        font-size: 12px !important;
        margin-top: 4px !important;
    }

    /* 2. Color Selector Swatches - 120px */
    .npp-root .npp-swatch {
        width: 120px !important;
        height: 120px !important;
        min-width: 120px !important;
        min-height: 120px !important;
    }
    .npp-root .npp-swatch-grid {
        gap: 6px !important;
    }

    /* 3. 30 Day Guarantee Badge - 60px */
    .npp-root .pdp-gallery__guarantee-badge {
        width: 60px !important;
        height: 60px !important;
        font-size: 9px !important;
        padding: 6px !important;
        box-sizing: border-box !important;
    }

    /* 4. Pack Pill (Gallery) */
    .npp-root .pdp-gallery__pack-pill {
        font-size: 11px !important;
        padding: 6px 12px !important;
    }

    /* 5. Expected Delivery Bar - Margin 16px */
    

    /* 6. Spacing Reductions */
    .npp-root .pdp-cta-wrap {
        margin-top: 8px !important; /* Spacing from Pack Selector */
    }
}

/* ‚îÄ‚îÄ GALLERY IMAGE OBJECT-FIT ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .pdp-gallery__slide img {
    object-fit: contain !important;
}

/* ‚îÄ‚îÄ EXACT SPACING OVERRIDES (CSS ONLY) ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
@media (max-width: 767px) {
    /* Set Pack Selector to ATC Button gap to 8px total */
    /* Override 8px margin-bottom on row + 8px margin-top on cta-wrap */
    .npp-root .pdp-row {
        margin-bottom: 0 !important;
    }
    .npp-root .pdp-cta-wrap {
        margin-top: 8px !important;
        margin-bottom: 0 !important; /* Remove 12px default margin-bottom */
    }
    
    /* Set ATC Button to Expected Delivery Bar gap to 8px total */
    /* Uses the 8px margin-top on pdp-stock-bar */
    
}

/* ‚îÄ‚îÄ EDGE-TO-EDGE GALLERY IMAGES (CSS ONLY) ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .pdp-gallery {
    overflow: hidden !important;
}
.npp-root .pdp-gallery__slides {
    overflow-x: auto !important;
    overflow-y: hidden !important;
}
.npp-root .pdp-gallery__slide {
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.npp-root .pdp-gallery__slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* ‚îÄ‚îÄ SIZE CHART LINK POSITIONING (CSS ONLY) ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ‚îÄ */
.npp-root .pdp-row .pdp-label {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    flex-direction: row !important;
}

.npp-root .npp-size-chart-btn {
    background: none !important;
    border: none !important;
    color: var(--npp-sub, #666) !important;
    font-size: 12px !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    padding: 0 !important;
    font-weight: 400 !important;
    margin-left: auto !important;
}

/* ‚îÄ‚îÄ COMPACT LOWER SECTION SPACING OVERRIDES ‚îÄ‚îÄ */

/* Feature icon strip -> Size selector: 6px (Reduced by 25%) */
.npp-root .pdp-fi-strip {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}

/* Size -> Color -> Pack selectors: 8px each */
.npp-root .pdp-row {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Pack selector -> ATC button: 8px */
/* (.pdp-row gives 8px margin-bottom, so ATC wrap needs 0 top margin) */
.npp-root .pdp-cta-wrap {
    margin-top: 0 !important;
    margin-bottom: 6px !important; /* ATC -> Delivery is 6px */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ATC button -> Delivery bar: max 6px */
.npp-root .pdp-cta-wrap {
    margin-bottom: 6px !important;
}


/* Delivery bar -> Trust strip: max 4px */
.npp-root .pdp-trust-row {
    margin-top: 0 !important;
    margin-bottom: 4px !important; 
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Trust strip text solid black */
.npp-root .pdp-trust-row,
.npp-root .pdp-trust-row * {
    color: #111111 !important;
}

/* Trust strip -> Payment icons: 8px */
.npp-root .npp-payment-logos {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ‚îÄ‚îÄ ACCORDION RE-STYLING ‚îÄ‚îÄ */
.npp-root .npp-accordion {
    border-bottom: 1px solid #f0f0f0 !important;
    background: #ffffff !important;
}
.npp-root .npp-accordion-btn {
    font-size: 13px !important;
    font-weight: 600 !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}
.npp-root .npp-accordion-arrow {
    font-size: 16px !important;
    color: lightgrey !important;
}

/* ‚îÄ‚îÄ SIZE GUIDE NUMBER INPUT SPINNERS REMOVAL ‚îÄ‚îÄ */
.npp-root input[type="number"] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
.npp-root input[type="number"]::-webkit-inner-spin-button,
.npp-root input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    display: none !important;
    margin: 0 !important;
}

/* ‚îÄ‚îÄ BEST SELLER BADGE ‚îÄ‚îÄ */
.npp-root .npp-swatch {
    position: relative;
    overflow: visible !important;
}
.npp-root .npp-swatch img {
    border-radius: inherit;
}
.npp-root .npp-swatch-grid {
    padding-top: 28px !important;
}
.npp-bs-badge {
    position: absolute;
    bottom: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    background: #111111;
    color: #ffffff;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 11px !important;
    box-shadow: 0 0 6px rgba(245, 166, 35, 0.6);
    border-radius: 20px !important;
    padding: 5px 12px !important;
    white-space: nowrap !important;
    line-height: 1;
    z-index: 10;
    display: flex !important;
    align-items: center;
    justify-content: center;
    opacity: 1 !important;
    visibility: visible !important;
}
.npp-bs-badge::first-letter {
    margin-right: -1px; /* Tweak the emoji space width to exactly ~3px total */
}

/* ‚îÄ‚îÄ STICKY BAR RESTYLING ‚îÄ‚îÄ */
.npp-sticky-bar {
    background: #ffffff !important;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.05) !important;
    height: 64px !important;
    max-height: 64px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    border-top: none !important;
}
.npp-sticky-inner {
    display: flex !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 16px !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    width: 100% !important;
    align-items: center !important;
    height: 100% !important;
}
.npp-sticky-product {
    display: contents !important;
}
.npp-sticky-product img {
    width: 40px !important;
    height: 40px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    margin: 0 !important;
}
.npp-sticky-product > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    justify-content: center !important;
}
.npp-sticky-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    margin: 0 !important;
}
.npp-sticky-price {
    font-size: 13px !important;
    color: #555555 !important;
    margin: 0 !important;
}
.npp-sticky-variant,
.npp-sticky-pick {
    display: none !important;
}
.npp-sticky-btn {
    background: #1B3A2D !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 8px 16px !important;
    margin: 0 !important;
    cursor: pointer !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

/* ‚îÄ‚îÄ PHOTO CAROUSEL SECTION ‚îÄ‚îÄ */
.npp-photo-carousel-section {
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    overflow: hidden;
}
.npp-pc-title {
    font-size: 24px;
    font-weight: 900;
    text-align: center;
    margin: 0 0 16px 0;
    color: #111;
    text-transform: uppercase;
}
.npp-pc-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none; /* Firefox */
    padding: 0 16px;
}
.npp-pc-track::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}
.npp-pc-slide {
    flex: 0 0 75%;
    scroll-snap-align: center;
}
.npp-pc-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 12px;
    display: block;
}
.npp-pc-controls {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 16px;
}
.npp-pc-arrow {
    background: #f5f5f5;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #111;
    transition: background 0.2s;
}
.npp-pc-arrow:hover {
    background: #e0e0e0;
}

/* ‚îÄ‚îÄ WHY US EDITORIAL RE-STYLE ‚îÄ‚îÄ */
.npp-root .npp-why-section {
    background: #ffffff !important;
    padding: 0 16px !important;
    margin: 0 0 40px 0 !important;
}
.npp-root .npp-why-main-title {
    text-align: center !important;
    font-weight: 900 !important;
    font-size: 22px !important;
    letter-spacing: -0.03em !important;
    margin: 0 0 12px 0 !important;
    color: #111111 !important;
}
.npp-root .npp-why-list {
    display: flex !important;
    flex-direction: column !important;
}
.npp-root .npp-why-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
.npp-root .npp-why-row:last-child {
    border-bottom: none !important;
}
.npp-root .npp-why-icon {
    flex: 0 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.npp-root .npp-why-icon svg {
    width: 24px !important;
    height: 24px !important;
    stroke: #1B3A2D !important;
}
.npp-root .npp-why-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}
.npp-root .npp-why-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1B3A2D !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
}
.npp-root .npp-why-desc {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #555555 !important;
    margin: 2px 0 0 0 !important;
    line-height: 1.5 !important;
}

/* ‚îÄ‚îÄ HOW WE COMPARE EDITORIAL RE-STYLE ‚îÄ‚îÄ */
.npp-root .npp-ct-section {
    padding: 0 16px !important;
    margin: 0 !important;
    background: #ffffff !important;
}
.npp-root .npp-ct-main-title {
    text-align: center !important;
    font-weight: 900 !important;
    font-size: 22px !important;
    letter-spacing: -0.03em !important;
    margin: 24px 0 12px 0 !important;
    color: #111111 !important;
}
.npp-root .npp-ct-wrap {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
    margin: 0 !important;
    background: #ffffff !important;
}
.npp-root .npp-ct {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    border: none !important;
}
.npp-root .npp-ct thead tr {
    background: #1B3A2D !important;
}
.npp-root .npp-ct th {
    color: #ffffff !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    padding: 12px 10px !important;
    text-align: left !important;
    border: none !important;
}
.npp-root .npp-ct th.npp-ct-us,
.npp-root .npp-ct th.npp-ct-them,
.npp-root .npp-ct td.npp-ct-us,
.npp-root .npp-ct td.npp-ct-them {
    text-align: center !important;
}
.npp-root .npp-ct th.npp-ct-us {
    position: relative !important;
}
.npp-root .npp-ct th.npp-ct-us::after {
    content: '' !important;
    position: absolute !important;
    bottom: 6px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 24px !important;
    height: 2px !important;
    background: #ffffff !important;
    border-radius: 2px !important;
}
.npp-root .npp-ct tbody tr:nth-child(odd) {
    background: #ffffff !important;
}
.npp-root .npp-ct tbody tr:nth-child(even) {
    background: #fafafa !important;
}
.npp-root .npp-ct td {
    padding: 10px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    letter-spacing: -0.01em !important;
    border: none !important;
    vertical-align: middle !important;
}
.npp-root .npp-ct-check {
    color: #1B3A2D !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}
.npp-root .npp-ct-x {
    color: #e53935 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* ‚îÄ‚îÄ REVIEWS & SECTION CLEANUP ‚îÄ‚îÄ */

/* Remove arrow navigation buttons from both carousels */
.npp-pc-controls,
.npp-pc-arrow,
.npp-rv-nav,
.npp-rv-btn {
    display: none !important;
}

/* Remove section dividers/borders/shadows from all section wrappers */
.npp-reviews-section,
.npp-photo-carousel-section,
.npp-why-section,
.npp-ct-section,
.npp-cs-section,
.npp-root > div {
    border: none !important;
    box-shadow: none !important;
}

/* Update section title: Sentence case, 22px, 900 weight */
.npp-rv-heading {
    font-size: 22px !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
    margin: 0 auto 20px auto !important;
    text-align: center !important;
    max-width: 90% !important;
}

/* Trusted by line above title: compact 8px margin */
.npp-rv-simple-trust {
    margin-bottom: 8px !important;
    padding: 6px 12px !important;
}

/* Review Cards: 80% width, 12px radius, 0.06 shadow, 14px padding */
.npp-review-card {
    flex: 0 0 80% !important;
    width: 80% !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    padding: 14px !important;
    scroll-snap-align: center !important;
    background: #ffffff !important;
    border: none !important;
}

/* Star Rating: Gold #F5A623 */
.npp-rv-stars svg,
.npp-rv-stars-simple svg {
    color: #F5A623 !important;
}

/* Verified Badge: Brand color #1B3A2D */
.npp-rv-verified svg circle {
    fill: #1B3A2D !important;
}
.npp-rv-verified {
    color: #1B3A2D !important;
    font-weight: 600 !important;
}

/* Reviewer Name & Date */
.npp-rv-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin: 0 !important;
}
.npp-rv-date {
    font-size: 11px !important;
    color: #999999 !important;
}

/* Review Text: 13px, 1.5 line height, #333333 */
.npp-rv-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #333333 !important;
    margin: 8px 0 !important;
    font-style: normal !important;
}

/* Remove navigation dots or scroll indicators */
.npp-rv-dots,
.npp-rv-indicators,
.npp-pc-dots,
.npp-pc-indicators {
    display: none !important;
}
/* ‚îÄ‚îÄ TABLET & DESKTOP BRANDING & SCALING (768px - 1440px) ‚îÄ‚îÄ */
@media screen and (min-width: 768px) {
    /* Root container alignment */
    .npp-root {
        max-width: 1440px !important;
        margin: 0 auto !important;
        background: #ffffff !important;
    }
    /* Elite 2-Column Grid */
    .npp-root .pdp {
        display: grid !important;
        grid-template-columns: 55% calc(45% - 40px) !important;
        gap: 40px !important;
        align-items: start !important;
        max-width: 1280px !important;
        margin: 0 auto !important;
        padding: 40px 48px !important;
    }

    /* Sticky Gallery (Left) */
    .npp-root .pdp-gallery {
        grid-column: 1 / 2 !important;
        position: sticky !important;
        top: 20px !important;
        width: 100% !important;
        background: transparent !important;
    }
    .npp-root .pdp-gallery__track {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 16px !important;
        overflow: visible !important;
        scroll-snap-type: none !important;
    }
    .npp-root .pdp-gallery__slide {
        width: 100% !important;
        height: auto !important;
        flex: unset !important;
    }
    .npp-root .pdp-gallery__slide img {
        width: 100% !important;
        height: auto !important;
        border-radius: 14px !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* Desktop Badges */
    .npp-root .pdp-gallery__guarantee-badge {
        position: absolute !important;
        top: 20px !important;
        left: 20px !important;
        background-color: #111111 !important;
        color: #ffffff !important;
        border-radius: 50% !important;
        min-width: 80px !important;
        min-height: 80px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        z-index: 20 !important;
        text-transform: uppercase !important;
    }
    .npp-root .pdp-gallery__pack-pill {
        position: absolute !important;
        top: 20px !important;
        right: 20px !important;
        background-color: #111111 !important;
        color: #ffffff !important;
        border-radius: 30px !important;
        padding: 10px 24px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        z-index: 20 !important;
    }
    .npp-root .pdp-gallery__counter {
        position: absolute !important;
        bottom: 20px !important;
        right: 20px !important;
        background-color: #111111 !important;
        color: #ffffff !important;
        border-radius: 30px !important;
        padding: 6px 14px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        z-index: 20 !important;
    }

    /* Buying Controls (Right) */
    .npp-root .pdp-buy {
        grid-column: 2 / 3 !important;
        width: 100% !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    /* ATC Button & Pricing Scale */
    .npp-root .pdp-submit {
        background-color: #111111 !important;
        color: #ffffff !important;
        font-size: 18px !important;
        font-weight: 900 !important;
        min-height: 64px !important;
        border-radius: 8px !important;
        letter-spacing: 0.05em !important;
        text-transform: uppercase !important;
        width: 100% !important;
        display: block !important;
    }
    .npp-root .pdp-price-per {
        font-weight: 900 !important;
        font-size: 34px !important;
        color: #111111 !important;
    }

    /* Section Spacing */
    .npp-reviews-section,
    .npp-photo-carousel-section,
    .npp-why-section,
    .npp-ct-section {
        max-width: 1280px !important;
        margin: 100px auto !important;
        padding: 0 48px !important;
    }

    /* Pack Selector Row */
    
    

    /* Hide mobile progress indicator on desktop grid */
    .npp-root .pdp-gallery__counter {
        display: none !important;
    }

    /* Gallery Grid: Force equal image sizing & alignment */
    .npp-root .pdp-gallery__slide {
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
    }
    .npp-root .pdp-gallery__slide img {
        height: 100% !important;
        width: 100% !important;
        object-fit: cover !important;
    }
}

/* ‚îÄ‚îÄ ACCESSIBILITY & UTILITY FIXES ‚îÄ‚îÄ */

/* Properly hide Skip to Content link until focused */
.skip-link, .skip-to-content, .skip-to-content-link, .visually-hidden:not(:focus):not(:active) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ‚îÄ‚îÄ DESKTOP-ONLY FEATURE ICON SCALING (1024px+) ‚îÄ‚îÄ */
@media screen and (min-width: 1024px) {
    .npp-root .pdp-fi-strip {
        padding: 16px 24px !important;
        gap: 20px !important;
    }
    .npp-root .pdp-fi-item {
        gap: 6px !important;
    }
    .npp-root .pdp-fi-icon {
        width: 24px !important;
        height: 24px !important;
    }
    .npp-root .pdp-fi-icon {
        width: 24px !important;
        height: 24px !important;
    }
}

/* ‚îÄ‚îÄ BADGE GLASSMORPHISM ‚îÄ‚îÄ */
.npp-root .pdp-gallery__guarantee-badge,
.npp-root .pdp-gallery__pack-pill,
.npp-root .pdp-gallery__material-badge {
    background: rgba(0,0,0,0.4) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    color: #ffffff !important;
}

/* ‚îÄ‚îÄ MATERIAL BADGE ‚Äî bottom-left of first gallery image ‚îÄ‚îÄ */
.npp-root .pdp-gallery__material-badge {
    position: absolute !important;
    bottom: 12px !important;
    left: 12px !important;
    top: auto !important;
    right: auto !important;
    padding: 6px 12px !important;
    border-radius: 30px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
    z-index: 20 !important;
    pointer-events: none !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}
@media (min-width: 768px) {
    .npp-root .pdp-gallery__material-badge {
        font-size: 0.62rem !important;
        padding: 6px 14px !important;
        bottom: 14px !important;
        left: 14px !important;
    }
}

/* ‚îÄ‚îÄ REFINED DESKTOP FEATURE ICON CARDS (1024px+) ‚îÄ‚îÄ */
@media screen and (min-width: 1024px) {
    .npp-root .pdp-fi-strip {
        padding: 24px 0 !important;
        gap: 16px !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        width: 100% !important;
        margin: 0 !important;
    }
    .npp-root .pdp-fi-item {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: #f7f7f7 !important;
        border-radius: 12px !important;
        padding: 24px 20px !important;
        min-height: 160px !important;
        text-align: center !important;
        gap: 16px !important;
    }
    .npp-root .pdp-fi-icon {
        width: 20px !important;
        height: 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }
    .npp-root .pdp-fi-icon svg {
        width: 20px !important;
        height: 20px !important;
    }
}

/* ‚îÄ‚îÄ‚îÄ FINAL DESKTOP FEATURE OVERRIDE (768px+) ‚îÄ‚îÄ‚îÄ */
@media screen and (min-width: 768px) {
    /* Target the text span directly since it has no class and has an inline 0.45rem style */
    .npp-root .pdp-fi-strip .pdp-fi-item span:last-child {
        font-size: 18px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        color: #111 !important;
        display: block !important;
        max-width: 100% !important;
        text-align: center !important;
        letter-spacing: -0.01em !important;
    }
    
    /* FULL SIZE CHART MODAL STYLES */
    .npp-root .npp-size-chart-modal-box {
        background: #ffffff !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
        width: 95vw !important;
        max-width: 900px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    @media (min-width: 768px) {
        .npp-root .npp-size-chart-modal-box {
            width: 100% !important;
            max-height: 90vh !important;
        }
    }

    /* Slightly smaller icons as requested */
    .npp-root .pdp-fi-strip .pdp-fi-item .pdp-fi-icon,
    .npp-root .pdp-fi-strip .pdp-fi-item .pdp-fi-icon svg {
        width: 18px !important;
        height: 18px !important;
    }

    .npp-root .pdp-fi-strip .pdp-fi-item {
        min-height: 130px !important;
        padding: 20px 12px !important;
        gap: 10px !important;
    }
}

/* ‚îÄ‚îÄ‚îÄ TESTIMONIAL BLOCK RESTYLING ‚îÄ‚îÄ‚îÄ */
.npp-root .npp-testimonial-rotator {
    background: #f0f7f4 !important;
    border: 1px solid #d4e8df !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(27, 58, 45, 0.08) !important;
    padding: 10px !important;
    margin-bottom: 4px !important;
    max-height: none !important;
}

.npp-root .npp-tm-slide img,
.npp-root .npp-tm-slide span[style*="border-radius:50%"] {
    width: 40px !important;
    height: 40px !important;
    border: 2px solid #d4e8df !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
}

.npp-root .npp-tm-slide p {
    font-size: 13px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    color: #1B3A2D !important;
    line-height: 1.6 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.npp-root .npp-tm-slide div > div > span:first-child {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1B3A2D !important;
}

.npp-root .npp-tm-slide div > div > span:last-child {
    color: #F5A623 !important;
}

/* Reduce margin-top of the feature icon strip below the testimonial */
.npp-root .pdp-fi-strip {
    margin-top: 4px !important;
}

/* ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê
   BRAND COLOUR OVERRIDES ‚Äî #1B3A2D / #E8F0EC
   ‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê‚ïê */

/* 1. FEATURE ICON CARDS ‚Äî light green bg, dark green icon + text */
.npp-root .pdp-fi-item {
    background: #E8F0EC !important;
}
.npp-root .pdp-fi-icon,
.npp-root .pdp-fi-icon svg {
    color: #1B3A2D !important;
}
.npp-root .pdp-fi-item span:last-child,
.npp-root .pdp-fi-pill__text,
.npp-root .pdp-fi-label {
    color: #1B3A2D !important;
}
.npp-root .pdp-fi-pill {
    background: #E8F0EC !important;
}
.npp-root .pdp-fi-pill__icon svg {
    color: #1B3A2D !important;
}

/* 2. TESTIMONIAL BLOCK ‚Äî light green bg */
.npp-root .npp-testimonial-rotator {
    background: #E8F0EC !important;
    border-color: #c8ddd1 !important;
}

/* 3. REVIEW PILL ‚Äî light green bg, dark green text */
.npp-root .pdp-review-pill {
    background: #E8F0EC !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.npp-root .pdp-review-pill__text span {
    color: #1B3A2D !important;
}

/* 4. ADD TO CART BUTTON ‚Äî brand green */
.npp-root .pdp-submit {
    background: #1B3A2D !important;
    border-color: #1B3A2D !important;
}
.npp-root .npp-atc-btn {
    background: #1B3A2D !important;
    border-color: #1B3A2D !important;
}

/* 5. SELECTED SIZE BUTTON ‚Äî brand green */
.npp-root .npp-size-btn.selected {
    background: #1B3A2D !important;
    border-color: #1B3A2D !important;
    color: #ffffff !important;
}

/* 6. SELECTED PACK BUTTON ‚Äî brand green */



/* 7. COLOUR / SIZE LABELS ‚Äî brand green */
.npp-root .pdp-label,
.npp-root .pdp-label span {
    color: #1B3A2D !important;
}

/* 8. SIZE CHART & SIZE GUIDE LINKS ‚Äî brand green */
.npp-root .npp-size-chart-btn {
    color: #1B3A2D !important;
}
.npp-root .pdp-label button[onclick*="size-guide"],
.npp-root .pdp-label button[onclick*="guide"] {
    color: #1B3A2D !important;
}

/* 9. REVIEW RATING PILL (4.9 ¬∑ 14,833) ‚Äî light green bg, brand green text */
.npp-root .pdp-rating--compact {
    background: #E8F0EC !important;
    border-color: #c8ddd1 !important;
}
.npp-root .pdp-rating--compact .pdp-rating__text {
    color: #1B3A2D !important;
}

/* 10. SIZE GUIDE POPUP ‚Äî brand green overrides (#1B3A2D) */

/* Target the buttons inside the size guide modal directly since it's outside .npp-root */
[id^="npp-size-guide-modal-"] button[onclick*="nppSgCalculate"],
[id^="npp-size-guide-modal-"] button[onclick*="npp-sg-screen-"] {
    background: #1B3A2D !important;
    color: #ffffff !important;
}

/* Active Toggle (JS sets background to #fff or rgb(255, 255, 255)) */
[id^="npp-size-guide-modal-"] [id^="npp-sg-imp-btn-"][style*="background: #fff"],
[id^="npp-size-guide-modal-"] [id^="npp-sg-imp-btn-"][style*="background: white"],
[id^="npp-size-guide-modal-"] [id^="npp-sg-imp-btn-"][style*="background: rgb(255, 255, 255)"],
[id^="npp-size-guide-modal-"] [id^="npp-sg-met-btn-"][style*="background: #fff"],
[id^="npp-size-guide-modal-"] [id^="npp-sg-met-btn-"][style*="background: white"],
[id^="npp-size-guide-modal-"] [id^="npp-sg-met-btn-"][style*="background: rgb(255, 255, 255)"] {
    background: #1B3A2D !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(27,58,45,0.2) !important;
}

/* Inactive Toggle (JS sets background to none) */
[id^="npp-size-guide-modal-"] [id^="npp-sg-imp-btn-"][style*="background: none"],
[id^="npp-size-guide-modal-"] [id^="npp-sg-met-btn-"][style*="background: none"] {
    background: #ffffff !important;
    color: #1B3A2D !important;
    border: 1px solid #1B3A2D !important;
}

/* Input field focus borders */
[id^="npp-size-guide-modal-"] input:focus {
    border-color: #1B3A2D !important;
    outline: none !important;
    box-shadow: 0 0 0 1px #1B3A2D !important;
}

/* Ensure modal title and labels are also dark green */
[id^="npp-size-guide-modal-"] h2,
[id^="npp-size-guide-modal-"] label,
[id^="npp-size-guide-modal-"] #npp-sg-result- {
    color: #1B3A2D !important;
}
[id^="npp-size-guide-modal-"] [id^="npp-sg-result-"] {
    color: #1B3A2D !important;
}

/* 11. WHAT HAPPENED (REVIEWS) SECTION ‚Äî CLEAN OVERHAUL */

/* Remove card container styling */
.npp-root .npp-review-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    gap: 8px !important;
}

/* Reduce headline size and padding */
.npp-root .npp-rv-heading {
    font-size: 15.4px !important; /* ~30% reduction from 22px */
    margin: 8px 0 !important;
    padding: 0 !important;
}

/* Minimize vertical spacing throughout the section */
.npp-root .npp-rv-header {
    margin-bottom: 8px !important;
}
.npp-root .npp-rv-simple-trust {
    margin: 0 auto 8px auto !important;
}
.npp-root .npp-rv-photo {
    margin-bottom: 8px !important;
    aspect-ratio: 1 / 1 !important; /* Make them bigger/square */
    border-radius: 4px !important;
}
.npp-root .npp-rv-top-row {
    margin-bottom: 4px !important;
}
.npp-root .npp-rv-text {
    margin-bottom: 8px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}
.npp-root .npp-rv-footer {
    margin-top: 0 !important;
}

/* Make review photos full-width and impactful */
.npp-root .npp-rv-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Increase card width slightly for more impact on mobile */
.npp-root .npp-review-scroll > * {
    flex: 0 0 300px !important;
}

/* FULL SIZE CHART MODAL STYLES */
.npp-root .npp-size-chart-modal-box {
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
    width: 95vw !important;
    max-width: 700px !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
    position: relative !important;
    padding: 0 !important;
    margin: auto !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {
    .npp-root .npp-size-chart-modal-box {
        width: 100% !important;
        max-height: 90vh !important;
    }
}

.npp-sc-header {
    background: #1B3A2D;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    box-sizing: border-box;
}

.npp-sc-header-title {
    color: #ffffff;
    font-weight: 900;
    font-size: 18px;
    letter-spacing: 0.05em;
    font-family: 'Inter', sans-serif;
    margin: 0;
}

.npp-sc-header-close {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 28px;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    margin: 0;
    transition: opacity 0.2s;
}

.npp-sc-header-close:hover {
    opacity: 0.8;
}

.npp-sc-body {
    padding: 0 24px 24px;
    box-sizing: border-box;
}

.npp-sc-weight-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #1B3A2D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 20px 0 12px;
    text-transform: uppercase;
}

.npp-sc-weight-label svg {
    color: #1B3A2D;
    flex-shrink: 0;
}

.npp-sc-table-wrapper {
    overflow-x: auto;
    width: 100%;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    box-sizing: border-box;
}

.npp-sc-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

/* Header style */
.npp-sc-table thead tr th {
    background: #1B3A2D !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    padding: 12px 14px !important;
    white-space: nowrap !important;
    border-bottom: 2px solid #142C22 !important;
    border-top: none !important;
}

/* Sticky first column header */
.npp-sc-table thead tr th:first-child {
    position: sticky !important;
    left: 0 !important;
    z-index: 3 !important;
    background: #1B3A2D !important;
    border-right: 1px solid #142C22 !important;
}

/* Row heights and border */
.npp-sc-table tbody tr td {
    padding: 12px 14px !important;
    border-bottom: 1px solid #E5E7EB !important;
    white-space: nowrap !important;
}

/* Alternating row backgrounds */
.npp-sc-table tbody tr:nth-child(even) {
    background: #F9F9F9 !important;
}
.npp-sc-table tbody tr:nth-child(odd) {
    background: #ffffff !important;
}

/* Sticky first column body cell */
.npp-sc-sticky-col {
    position: sticky !important;
    left: 0 !important;
    z-index: 2 !important;
    font-weight: 700 !important;
    color: #111111 !important;
    border-right: 1px solid #E5E7EB !important;
    box-shadow: 2px 0 5px rgba(0,0,0,0.04) !important;
}

/* Set background for sticky cells to match alternating row colors */
.npp-sc-table tbody tr:nth-child(even) .npp-sc-sticky-col {
    background: #F9F9F9 !important;
}
.npp-sc-table tbody tr:nth-child(odd) .npp-sc-sticky-col {
    background: #ffffff !important;
}

/* Size colors */
.npp-sc-table .size-normal {
    color: #1B3A2D !important;
    font-weight: 700 !important;
}

.npp-sc-table .size-highlight {
    color: #DC2626 !important; /* premium red */
    font-weight: 800 !important;
}

.npp-sc-table .size-dash {
    color: #A1A1AA !important; /* grey dash */
}

/* Info Grid */
.npp-sc-info-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 24px 0 0 0 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

@media (min-width: 600px) {
    .npp-sc-info-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 24px 20px !important;
    }
}

.npp-sc-info-block {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
}

.npp-sc-info-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background: #E8EFEA !important; /* Light #1B3A2D tint background */
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

.npp-sc-info-icon svg {
    color: #1B3A2D !important;
}

.npp-sc-info-content {
    flex: 1 !important;
}

.npp-sc-info-title {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #1B3A2D !important;
    margin: 0 0 4px 0 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    font-family: 'Inter', sans-serif !important;
}

.npp-sc-info-text {
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: #4B5563 !important; /* grey subtext */
    margin: 0 !important;
    font-family: 'Inter', sans-serif !important;
}


/* ‚îÄ‚îÄ BYP (BUILD YOUR PACK) NEW IMPLEMENTATION ‚îÄ‚îÄ */
.npp-root .npp-byp-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: #ffffff;
    z-index: 99999;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.npp-root .npp-byp-overlay-inner {
    max-width: 600px;
    margin: 0 auto;
    padding-bottom: 120px;
    background: #ffffff;
    min-height: 100vh;
}
.npp-root .byp-metrics-cards {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
    margin-bottom: 14px;
}
.npp-root .byp-metric-card {
    background: #f7f7f7;
    border-radius: 8px;
    padding: 10px 4px;
    text-align: center;
}
.npp-root .byp-metric-label {
    font-family: 'Inter', sans-serif;
    font-size: clamp(8px, 2.5vw, 10px);
    color: #999;
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}
.npp-root .byp-metric-value {
    font-family: 'Inter', sans-serif;
    font-size: clamp(13px, 4vw, 17px);
    font-weight: 800;
    color: #111;
    white-space: nowrap;
}

/* Fix desktop right column layout */
@media screen and (min-width: 768px) {
    .npp-root .pdp {
        display: grid !important;
        grid-template-columns: 55% calc(45% - 40px) !important;
        gap: 40px !important;
        align-items: start !important;
        max-width: 1280px !important;
        margin: 0 auto !important;
        padding: 40px 48px !important;
    }
    .npp-root .pdp-gallery {
        grid-column: 1 / 2 !important;
        position: sticky !important;
        top: 20px !important;
        width: 100% !important;
        height: max-content !important; /* ensures it doesn't stretch and glitch through blocks */
    }
    .npp-root .pdp-buy {
        grid-column: 2 / 3 !important;
        width: 100% !important;
    }
}
.npp-root .npp-payment-logos {
    width: 100%;
    display: flex;
    justify-content: center !important;
    flex-wrap: wrap;
    margin: 0 auto;
}


/* Slider Thumb Refinement for better touch target */
.npp-root .npp-byp-slider-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #1B3A2D;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  transition: transform 0.1s;
}
.npp-root .npp-byp-slider-input::-webkit-slider-thumb:active {
  transform: scale(1.1);
}
.npp-root .npp-byp-slider-input::-moz-range-thumb {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #1B3A2D;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  border: none;
  transition: transform 0.1s;
}
.npp-root .npp-byp-slider-input::-moz-range-thumb:active {
  transform: scale(1.1);
}

/* User overrides for Photo Carousel */
.npp-pc-title {
    font-size: 22px !important;
    font-weight: 900 !important;
    text-align: center !important;
    margin: 0 0 16px 0 !important;
    text-transform: none !important;
}
.npp-pc-track {
    padding-left: 16px !important;
}


