/* =============================================
   THEME: Nordic Natural
   Soft Scandinavian warmth with oat, sage, and weathered wood tones
   ============================================= */

html.theme-nordic-natural {
    --brand-coffee: #5E6A58;
    --brand-cream: #F6F1E8;
    --brand-gold: #B7915E;
    --brand-dark: #2F352F;
    --brand-light: #E5DDD0;
    --bg-primary: #FBF7F1;
    --bg-secondary: #F3EDE2;
    --bg-tertiary: #E7DED0;
    --text-primary: #2F352F;
    --text-secondary: #6F756C;
    --text-muted: #929788;
    --text-inverse: #FBF7F1;
    --placeholder-color: #9CA29A;
    --border-light: #DDD1BF;
    --border-medium: #CBBCA7;
    --divider-color: #DED3C4;
    --overlay-color: rgba(47, 53, 47, 0.3);
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    --font-nav: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    --font-button: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --radius-xl: 28px;
    --radius-card: 18px;
    --radius-button: 9999px;
    --radius-input: 14px;
    --shadow-card: 0 10px 24px rgba(85, 74, 57, 0.08);
    --shadow-card-hover: 0 20px 40px rgba(85, 74, 57, 0.12);
    --shadow-elevated: 0 24px 50px rgba(85, 74, 57, 0.12);
    --nav-bg-opacity: 0.86;
}

html.theme-nordic-natural body {
    background:
        radial-gradient(circle at top right, rgba(183, 145, 94, 0.12), transparent 30rem),
        linear-gradient(180deg, var(--bg-secondary), var(--bg-primary) 24rem);
    color: var(--text-primary);
}

html.theme-nordic-natural nav {
    background: rgba(251, 247, 241, var(--nav-bg-opacity));
    border-bottom: 1px solid rgba(47, 53, 47, 0.08);
}

html.theme-nordic-natural .wv-nav-logo-text,
html.theme-nordic-natural .wv-hero-full-title {
    font-family: var(--font-heading);
    color: var(--brand-dark);
    letter-spacing: -0.03em;
}

html.theme-nordic-natural .wv-nav-logo-accent {
    color: var(--brand-gold);
    font-style: italic;
}

html.theme-nordic-natural .wv-nav-link:hover,
html.theme-nordic-natural .wv-mobile-link:hover,
html.theme-nordic-natural .wv-dropdown-item:hover {
    background: rgba(94, 106, 88, 0.08);
    color: var(--brand-dark);
}

html.theme-nordic-natural .wv-btn--primary,
html.theme-nordic-natural button[type="submit"] {
    background: var(--brand-coffee);
    border: 1px solid var(--brand-coffee);
    color: var(--text-inverse);
    border-radius: var(--radius-button);
    box-shadow: var(--shadow-card);
}

html.theme-nordic-natural .wv-btn--outline,
html.theme-nordic-natural input,
html.theme-nordic-natural select,
html.theme-nordic-natural textarea {
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-input);
}

html.theme-nordic-natural .wv-card,
html.theme-nordic-natural .wv-product-card,
html.theme-nordic-natural .wv-dropdown-menu,
html.theme-nordic-natural #cart-sidebar-panel > div {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(94, 106, 88, 0.08);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

html.theme-nordic-natural .wv-card:hover,
html.theme-nordic-natural .wv-product-card:hover {
    box-shadow: var(--shadow-card-hover);
}

html.theme-nordic-natural footer {
    background:
        linear-gradient(180deg, rgba(47, 53, 47, 0.96), rgba(36, 40, 36, 1)),
        var(--bg-primary);
}

html.theme-nordic-natural .wv-section-title,
html.theme-nordic-natural .wv-newsletter-title,
html.theme-nordic-natural .wv-product-card-name {
    font-family: var(--font-heading);
    letter-spacing: -0.03em;
}

html.theme-nordic-natural .wv-section-label {
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--brand-coffee);
}

html.theme-nordic-natural .wv-product-card,
html.theme-nordic-natural .wv-card {
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

html.theme-nordic-natural .wv-product-card:hover,
html.theme-nordic-natural .wv-card:hover {
    transform: translateY(-5px);
    border-color: rgba(183, 145, 94, 0.26);
}

html.theme-nordic-natural .wv-hero-full,
html.theme-nordic-natural .wv-newsletter {
    position: relative;
    overflow: hidden;
}

html.theme-nordic-natural .wv-hero-full::before,
html.theme-nordic-natural .wv-newsletter::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 48%);
    pointer-events: none;
}

html.theme-nordic-natural .wv-newsletter {
    border: 1px solid rgba(94, 106, 88, 0.10);
    box-shadow: var(--shadow-elevated);
}

html.theme-nordic-natural footer .text-gray-500,
html.theme-nordic-natural footer .text-gray-600 {
    color: rgba(246, 241, 232, 0.68) !important;
}

html.theme-nordic-natural .wv-hero-slider-content,
html.theme-nordic-natural .wv-hero-full-content {
    max-width: 60rem;
    margin-inline: auto;
}

html.theme-nordic-natural .wv-hero-slider-title,
html.theme-nordic-natural .wv-hero-full-title,
html.theme-nordic-natural .wv-section-title {
    text-wrap: balance;
}

html.theme-nordic-natural .wv-filter-section,
html.theme-nordic-natural .wv-summary,
html.theme-nordic-natural .wv-checkout-section,
html.theme-nordic-natural .wv-review-card,
html.theme-nordic-natural .wv-cart-item,
html.theme-nordic-natural .wv-specs,
html.theme-nordic-natural .wv-tabs {
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(94, 106, 88, 0.10);
    box-shadow: var(--shadow-card);
}

html.theme-nordic-natural .wv-filter-section,
html.theme-nordic-natural .wv-summary,
html.theme-nordic-natural .wv-checkout-section,
html.theme-nordic-natural .wv-review-card {
    border-radius: 24px;
}

html.theme-nordic-natural .wv-payment-option--active,
html.theme-nordic-natural .wv-delivery-option--active,
html.theme-nordic-natural .wv-filter-link--active {
    background: rgba(94, 106, 88, 0.08);
    border-color: rgba(183, 145, 94, 0.22);
}

html.theme-nordic-natural .wv-summary-title,
html.theme-nordic-natural .wv-filter-title,
html.theme-nordic-natural .wv-checkout-section-title {
    letter-spacing: 0.12em;
}
