/* Variables based on LIGHT theme & Preset A & Random specs */
:root {
    --nx-bg: #FFFFFF;
    --nx-surface: #F3F4F6;
    --nx-accent: #EA580C; /* Orange accent */
    --nx-accent-hover: #C2410C;
    --nx-ink: #1F2937;
    --nx-text-bold: #111827;
    
    --font-display: 'Fjalla One', sans-serif;
    --font-body: 'Mulish', sans-serif;
}

/* Reset & Base */
body {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography specifics */
h1, h2, h3 {
    letter-spacing: 0.05em;
}

/* Interactive elements */
a, label {
    -webkit-tap-highlight-color: transparent;
}

/* Gallery Mechanisms (No JS) */
.nx-radio-trigger {
    display: none;
}

.nx-slide {
    opacity: 0;
    z-index: 1;
    transition: opacity 0.4s ease-in-out;
}

/* Radio checked states for gallery */
#nx-pic-1:checked ~ .nx-main-lens .nx-slide-1,
#nx-pic-2:checked ~ .nx-main-lens .nx-slide-2,
#nx-pic-3:checked ~ .nx-main-lens .nx-slide-3,
#nx-pic-4:checked ~ .nx-main-lens .nx-slide-4 {
    opacity: 1;
    z-index: 10;
}

/* Thumbnail active states (visual cue) */
.nx-thumb-node {
    border: 2px solid transparent;
    transition: all 0.2s ease;
}

#nx-pic-1:checked ~ .nx-thumb-strip label[for="nx-pic-1"],
#nx-pic-2:checked ~ .nx-thumb-strip label[for="nx-pic-2"],
#nx-pic-3:checked ~ .nx-thumb-strip label[for="nx-pic-3"],
#nx-pic-4:checked ~ .nx-thumb-strip label[for="nx-pic-4"] {
    border-color: var(--nx-accent);
    opacity: 1;
}

/* CTA specific styling (Preset A hover shadow request) */
.nx-purchase-btn {
    box-shadow: none; /* Flat base */
}
.nx-purchase-btn:hover {
    background-color: var(--nx-accent-hover) !important;
    box-shadow: 0 10px 20px -5px rgba(234, 88, 12, 0.4); /* Hover shadow as per preset A */
    transform: translateY(-2px);
}