/* Jemné odtiene verejného webu; všetky pravidlá platia iba pre svetlú tému. */
html:not(.dark-mode) {
    --rv-light-gold: var(--primary-color);
    --rv-light-blue: #38bdf8;
    --rv-light-mint: #0d9488;
    --rv-light-green: #10b981;
    --rv-light-copy: color-mix(in srgb, var(--text-secondary) 90%, var(--text-primary));
}
html:not(.dark-mode) :is(.pf-hero-card, .am-hero-card, .pf-final-box, .am-reward) {
    --rv-light-accent: var(--rv-light-gold);
}
html:not(.dark-mode) :is(.cz-hero-card, .cz-final-box, .pf-segment-panel, .cz-service-panel, .v8-hub-card) {
    --rv-light-accent: var(--rv-light-mint);
}
html:not(.dark-mode) .affiliate-hero-card { --rv-light-accent: var(--rv-light-green); }
html:not(.dark-mode) .v8-city .v8-hero { --rv-light-accent: var(--city-accent, var(--rv-light-gold)); }
html:not(.dark-mode) :is(.pf-hero-card, .cz-hero-card, .am-hero-card, .affiliate-hero-card,
    .pf-final-box, .cz-final-box, .pf-segment-panel, .cz-service-panel, .am-reward,
    .v8-hub-card, .v8-city .v8-hero) {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--card-bg) 90%, var(--rv-light-accent)),
        color-mix(in srgb, var(--card-bg) 97%, var(--rv-light-accent)));
    border-color: color-mix(in srgb, var(--border-color) 76%, var(--rv-light-accent));
}
/* Menšie karty zostávajú takmer biele, obsah rozlišuje jemný akcent. */
html:not(.dark-mode) :is(.pf-benefit, .cz-benefit, .am-benefit, .st-card, .pf-explore-card,
    .cz-discover-card, .am-type, .df-card, .method-card, .persona-card, .v8-programs > a) {
    --rv-light-accent: var(--rv-light-gold);
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--card-bg) 94%, var(--rv-light-accent)), var(--card-bg));
    border-color: color-mix(in srgb, var(--border-color) 80%, var(--rv-light-accent));
    border-radius: var(--radius-card);
}
html:not(.dark-mode) :is(.pf-benefit, .cz-benefit, .am-benefit, .st-card, .pf-explore-card,
    .cz-discover-card, .am-type, .df-card, .method-card, .persona-card, .v8-programs > a):nth-child(3n+2) {
    --rv-light-accent: var(--rv-light-mint);
}
html:not(.dark-mode) :is(.pf-benefit, .cz-benefit, .am-benefit, .st-card, .pf-explore-card,
    .cz-discover-card, .am-type, .df-card, .method-card, .persona-card, .v8-programs > a):nth-child(3n+3) {
    --rv-light-accent: var(--rv-light-blue);
}
html:not(.dark-mode) :is(.pf-benefit .pf-bi, .cz-benefit .cz-benefit-icon, .am-benefit .am-benefit-icon,
    .st-card > span, .df-card-icon, .pf-explore-icon, .persona-card .icon) {
    color: color-mix(in srgb, var(--rv-light-accent) 70%, var(--text-primary));
    background: color-mix(in srgb, var(--card-bg) 88%, var(--rv-light-accent));
    border-radius: var(--radius-control);
}
/* Identita mesta je spoločná pre banner a karty všetkých ôsmich miest. */
html:not(.dark-mode) .v8-city .v8-cards article {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--card-bg) 95%, var(--city-accent)), var(--card-bg));
    border-color: color-mix(in srgb, var(--border-color) 80%, var(--city-accent));
}
html:not(.dark-mode) .v8-city .v8-benefits div {
    background: color-mix(in srgb, var(--card-bg) 98%, var(--city-accent));
    border-color: color-mix(in srgb, var(--border-color) 85%, var(--city-accent));
}
html:not(.dark-mode) .v8-master-main { --rv-light-accent: var(--rv-light-blue); }
html:not(.dark-mode) .v8-master-ambassador { --rv-light-accent: var(--rv-light-gold); }
html:not(.dark-mode) .v8-master-customer { --rv-light-accent: var(--rv-light-mint); }
html:not(.dark-mode) .v8-master-affiliate { --rv-light-accent: var(--rv-light-green); }
html:not(.dark-mode) .v8-hub .v8-master {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--card-bg) 92%, var(--rv-light-accent)), var(--card-bg));
    color: var(--text-primary);
    border-color: color-mix(in srgb, var(--border-color) 76%, var(--rv-light-accent));
}
html:not(.dark-mode) .v8-hub .v8-master h2 { color: var(--text-primary); }
html:not(.dark-mode) .v8-hub .v8-master :is(p, small) { color: var(--rv-light-copy); }
html:not(.dark-mode) :is(.pf-benefit, .cz-benefit, .am-benefit, .st-card, .pf-explore-card,
    .cz-discover-card, .am-type, .df-card, .method-card, .persona-card, .v8-cards article) p {
    color: var(--rv-light-copy);
}
html:not(.dark-mode) .v8-hub .v8-master > span {
    color: color-mix(in srgb, var(--rv-light-accent) 65%, var(--text-primary));
    background: color-mix(in srgb, var(--card-bg) 84%, var(--rv-light-accent));
}
html:not(.dark-mode) .v8-hub .v8-master:hover,
html:not(.dark-mode) .v8-hub .v8-master:focus-visible {
    border-color: color-mix(in srgb, var(--rv-light-accent) 65%, var(--text-primary));
}
html:not(.dark-mode) .site-footer {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--card-bg) 97%, var(--rv-light-gold)),
        color-mix(in srgb, var(--card-bg) 98%, var(--rv-light-mint)));
}

/* Výrazné hlavné plochy na svetlom okolí; paleta zodpovedá tmavej téme. */
html:not(.dark-mode) {
    --rv-feature-surface: #1e293b;
    --rv-feature-base: #0f172a;
    --rv-feature-ink: #f8fafc;
    --rv-feature-copy: #cbd5e1;
    --rv-feature-gold: color-mix(in srgb, var(--primary-color) 45%, var(--rv-feature-ink));
}
html:not(.dark-mode) :is(.pf-hero-card, .cz-hero-card, .am-hero-card, .affiliate-hero-card,
    .pf-final-box, .cz-final-box, .v8-city .v8-hero, .v8-hub-card,
    .v8-hub .v8-master, .cz-discover-card) {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--rv-feature-surface) 68%, var(--rv-light-accent)),
        color-mix(in srgb, var(--rv-feature-base) 93%, var(--rv-light-accent)));
    border-color: color-mix(in srgb, var(--rv-feature-surface) 55%, var(--rv-light-accent));
    color: var(--rv-feature-ink);
}
html:not(.dark-mode) :is(.pf-hero-card, .cz-hero-card, .am-hero-card, .affiliate-hero-card,
    .pf-final-box, .cz-final-box, .v8-city .v8-hero, .v8-hub-card,
    .v8-hub .v8-master, .cz-discover-card) :is(h1, h2, h3) {
    color: var(--rv-feature-ink);
}
html:not(.dark-mode) :is(.pf-hero-copy, .cz-hero-copy, .am-hero-copy, .affiliate-hero-copy,
    .pf-final-box, .cz-final-box, .v8-city .v8-copy, .v8-hub-copy,
    .v8-hub .v8-master, .cz-discover-card) p,
html:not(.dark-mode) :is(.pf-hero .pf-points, .cz-hero .cz-note, .am-hero .am-points,
    .affiliate-hero .affiliate-points, .v8-hub-points, .v8-hub .v8-master small) {
    color: var(--rv-feature-copy);
}
html:not(.dark-mode) :is(.pf-hero .pf-kicker, .cz-hero .cz-kicker, .am-hero .am-kicker,
    .affiliate-hero .affiliate-kicker, .v8-city .v8-kicker, .v8-hub-kicker, .v8-hub .v8-master b) {
    color: var(--rv-feature-gold);
}
html:not(.dark-mode) :is(.pf-hero .pf-logo, .cz-hero .cz-logo, .am-hero .am-logo,
    .affiliate-hero .affiliate-hero-logo, .v8-city .v8-copy-logo, .v8-hub .v8-hub-logo) {
    filter: invert(1) hue-rotate(180deg);
}
html:not(.dark-mode) :is(.pf-hero .pf-btn-dark, .cz-hero .cz-btn-dark, .am-hero .am-btn-dark,
    .affiliate-hero .btn-primary, .v8-city .v8-hero .v8-primary, .cz-discover-card .cz-btn-dark) {
    background: var(--primary-hover);
    color: var(--rv-feature-ink);
    border-color: var(--primary-color);
}
html:not(.dark-mode) .v8-city .v8-benefits div {
    background: var(--rv-feature-base);
    border-color: var(--rv-feature-surface);
}
html:not(.dark-mode) .v8-city .v8-benefits span { color: var(--rv-feature-copy); }
html:not(.dark-mode) .v8-city .v8-benefits b { color: var(--rv-feature-gold); }
html:not(.dark-mode) .v8-city .v8-share {
    background: var(--rv-feature-base);
    color: var(--rv-feature-ink);
    border-color: var(--rv-feature-surface);
}
html:not(.dark-mode) :is(.v8-hub .v8-master > span, .cz-discover-card .cz-discover-icon) {
    color: color-mix(in srgb, var(--rv-light-accent) 45%, var(--rv-feature-ink));
    background: color-mix(in srgb, var(--rv-feature-base) 80%, var(--rv-light-accent));
}
html:not(.dark-mode) .cz-discover-card .cz-discover-points span {
    color: var(--rv-feature-copy);
    border-color: color-mix(in srgb, var(--rv-feature-surface) 65%, var(--rv-light-accent));
    background: var(--rv-feature-base);
}
