/* =============================================
   THEME: Editorial Modern
   Magazine-inspired contrast, refined typography, and high-clarity surfaces
   ============================================= */

html.theme-editorial-modern {
    --brand-coffee: #202124;
    --brand-cream: #F5F1EA;
    --brand-gold: #C06D3B;
    --brand-dark: #111111;
    --brand-light: #E9E3D8;
    --bg-primary: #F8F4ED;
    --bg-secondary: #EFE8DD;
    --bg-tertiary: #E4D9CA;
    --text-primary: #111111;
    --text-secondary: #5E5A54;
    --text-muted: #8A847B;
    --text-inverse: #F8F4ED;
    --placeholder-color: #968E83;
    --border-light: #D9CEBE;
    --border-medium: #C7B8A2;
    --divider-color: #DCCFBE;
    --overlay-color: rgba(17, 17, 17, 0.42);
    --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: 2px;
    --radius-md: 6px;
    --radius-lg: 10px;
    --radius-xl: 18px;
    --radius-card: 0;
    --radius-button: 0;
    --radius-input: 0;
    --shadow-card: 0 14px 30px rgba(17, 17, 17, 0.06);
    --shadow-card-hover: 0 22px 48px rgba(17, 17, 17, 0.1);
    --shadow-elevated: 0 26px 60px rgba(17, 17, 17, 0.12);
    --nav-bg-opacity: 0.92;
}

html.theme-editorial-modern body {
    background:
        linear-gradient(90deg, rgba(17, 17, 17, 0.025) 1px, transparent 1px),
        linear-gradient(180deg, var(--bg-primary), var(--bg-secondary));
    background-size: 32px 32px, auto;
    color: var(--text-primary);
}

html.theme-editorial-modern nav {
    background: rgba(248, 244, 237, var(--nav-bg-opacity));
    border-bottom: 1px solid rgba(17, 17, 17, 0.1);
}

html.theme-editorial-modern .wv-nav-logo-text,
html.theme-editorial-modern .wv-hero-full-title {
    font-family: var(--font-heading);
    text-transform: uppercase;
    letter-spacing: -0.03em;
}

html.theme-editorial-modern .wv-nav-logo-accent {
    color: var(--brand-gold);
}

html.theme-editorial-modern .wv-nav-link,
html.theme-editorial-modern .wv-mobile-link {
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 0.78rem;
}

html.theme-editorial-modern .wv-nav-link:hover,
html.theme-editorial-modern .wv-dropdown-item:hover {
    background: rgba(192, 109, 59, 0.08);
    color: var(--brand-dark);
}

html.theme-editorial-modern .wv-btn--primary,
html.theme-editorial-modern button[type="submit"] {
    background: var(--brand-dark);
    border: 1px solid var(--brand-dark);
    color: var(--text-inverse);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border-radius: var(--radius-button);
}

html.theme-editorial-modern .wv-btn--outline,
html.theme-editorial-modern input,
html.theme-editorial-modern select,
html.theme-editorial-modern textarea {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-input);
}

html.theme-editorial-modern .wv-card,
html.theme-editorial-modern .wv-product-card,
html.theme-editorial-modern .wv-dropdown-menu,
html.theme-editorial-modern #cart-sidebar-panel > div {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(17, 17, 17, 0.08);
    box-shadow: var(--shadow-card);
}

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

html.theme-editorial-modern footer {
    background: #161616;
}

html.theme-editorial-modern .wv-section-label,
html.theme-editorial-modern .wv-nav-link,
html.theme-editorial-modern .wv-mobile-link,
html.theme-editorial-modern .wv-btn--primary,
html.theme-editorial-modern button[type="submit"] {
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

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

html.theme-editorial-modern .wv-product-card,
html.theme-editorial-modern .wv-card {
    position: relative;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

html.theme-editorial-modern .wv-product-card::after,
html.theme-editorial-modern .wv-card::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--brand-gold), transparent);
    opacity: 0;
    transition: opacity 180ms ease;
}

html.theme-editorial-modern .wv-product-card:hover,
html.theme-editorial-modern .wv-card:hover {
    transform: translateY(-4px);
}

html.theme-editorial-modern .wv-product-card:hover::after,
html.theme-editorial-modern .wv-card:hover::after {
    opacity: 1;
}

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

html.theme-editorial-modern .wv-hero-full::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(17, 17, 17, 0.08) 1px, transparent 1px),
        linear-gradient(180deg, transparent, rgba(17, 17, 17, 0.08));
    background-size: 28px 28px, auto;
    pointer-events: none;
}

html.theme-editorial-modern footer .text-gray-500,
html.theme-editorial-modern footer .text-gray-600 {
    color: rgba(248, 244, 237, 0.66) !important;
}

html.theme-editorial-modern .wv-hero-slider-content,
html.theme-editorial-modern .wv-hero-full-content {
    max-width: 62rem;
    margin-inline: auto;
}

html.theme-editorial-modern .wv-hero-slider-title,
html.theme-editorial-modern .wv-hero-full-title {
    text-wrap: balance;
    letter-spacing: -0.05em;
}

html.theme-editorial-modern .wv-filter-section,
html.theme-editorial-modern .wv-summary,
html.theme-editorial-modern .wv-checkout-section,
html.theme-editorial-modern .wv-review-card,
html.theme-editorial-modern .wv-cart-item,
html.theme-editorial-modern .wv-specs,
html.theme-editorial-modern .wv-tabs {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(17, 17, 17, 0.10);
    box-shadow: var(--shadow-card);
}

html.theme-editorial-modern .wv-filter-section,
html.theme-editorial-modern .wv-summary,
html.theme-editorial-modern .wv-checkout-section,
html.theme-editorial-modern .wv-review-card {
    position: relative;
}

html.theme-editorial-modern .wv-filter-section::after,
html.theme-editorial-modern .wv-summary::after,
html.theme-editorial-modern .wv-checkout-section::after,
html.theme-editorial-modern .wv-review-card::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--brand-gold), transparent);
}

html.theme-editorial-modern .wv-payment-option--active,
html.theme-editorial-modern .wv-delivery-option--active,
html.theme-editorial-modern .wv-filter-link--active {
    background: rgba(192, 109, 59, 0.08);
    border-color: rgba(17, 17, 17, 0.16);
}
