:root {
    /* HEALTH Theme Colors */
    --qnlsup-bg: #f5fbf7;
    --qnlsup-surface: #ffffff;
    --qnlsup-tone: #10b981;
    --qnlsup-tone-hover: #059669;
    --qnlsup-ink: #1a2e22;
    --qnlsup-gradient: linear-gradient(135deg, #10b981, #059669);
    
    /* Typography Selection */
    --font-display: 'Nunito', sans-serif;
    --font-body: 'Mulish', sans-serif;
    
    /* Visual Parameters */
    --radius-pill: 999px;
    --shadow-raised: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Global Optimizations */
html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* CSS-Only Gallery Logic */
.qnlsup-slide {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 0;
    pointer-events: none;
}

#q-pic1:checked ~ .qnlsup-large-view .qnlsup-s-1 {
    opacity: 1;
    z-index: 10;
    pointer-events: auto;
}

#q-pic2:checked ~ .qnlsup-large-view .qnlsup-s-2 {
    opacity: 1;
    z-index: 10;
    pointer-events: auto;
}

#q-pic3:checked ~ .qnlsup-large-view .qnlsup-s-3 {
    opacity: 1;
    z-index: 10;
    pointer-events: auto;
}

#q-pic4:checked ~ .qnlsup-large-view .qnlsup-s-4 {
    opacity: 1;
    z-index: 10;
    pointer-events: auto;
}

/* Thumbnails Active State Effects */
.qnlsup-thumb {
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.qnlsup-thumb:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

#q-pic1:checked ~ .qnlsup-thumb-row label[for="q-pic1"],
#q-pic2:checked ~ .qnlsup-thumb-row label[for="q-pic2"],
#q-pic3:checked ~ .qnlsup-thumb-row label[for="q-pic3"],
#q-pic4:checked ~ .qnlsup-thumb-row label[for="q-pic4"] {
    border-color: var(--qnlsup-tone);
    transform: scale(1.08);
    box-shadow: var(--shadow-hover);
}

/* CTA Interactions */
.qnlsup-cta-btn {
    box-shadow: var(--shadow-raised);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.qnlsup-cta-btn:hover {
    box-shadow: var(--shadow-hover);
    transform: scale(1.03);
}

/* Base formatting overrides */
.qnlsup-shopper-note {
    transition: transform 0.2s ease;
}

.qnlsup-shopper-note:hover {
    transform: translateY(-1px);
}