/** FurniCore LC1.9 theme engine. Themes are scoped to shortcode containers. */
.fc-calculator[data-fc-theme],
.fc-result[data-fc-theme] {
    --fc-theme-primary: #2563eb;
    --fc-theme-primary-strong: #1d4ed8;
    --fc-theme-accent: #0f766e;
    --fc-theme-surface: #ffffff;
    --fc-theme-surface-soft: #f8fafc;
    --fc-theme-ink: #0f172a;
    --fc-theme-text: #334155;
    --fc-theme-muted: #64748b;
    --fc-theme-line: #e2e8f0;
    --fc-theme-hero-start: #2563eb;
    --fc-theme-hero-end: #1e3a8a;
    --fc-theme-radius: 24px;
    --fc-theme-shadow: 0 24px 60px rgba(15, 23, 42, .12);

    --fc-primary: var(--fc-theme-primary);
    --fc-primary-strong: var(--fc-theme-primary-strong);
    --fc-primary-dark: var(--fc-theme-primary-strong);
    --fc-accent: var(--fc-theme-accent);
    --fc-surface: var(--fc-theme-surface);
    --fc-card: var(--fc-theme-surface);
    --fc-surface-soft: var(--fc-theme-surface-soft);
    --fc-surface-tint: var(--fc-theme-surface-soft);
    --fc-ink: var(--fc-theme-ink);
    --fc-heading: var(--fc-theme-ink);
    --fc-text: var(--fc-theme-text);
    --fc-muted: var(--fc-theme-muted);
    --fc-line: var(--fc-theme-line);
    --fc-border: var(--fc-theme-line);
    --fc-radius-lg: var(--fc-theme-radius);
    --fc-radius-xl: calc(var(--fc-theme-radius) + 8px);
    --fc-shadow-lg: var(--fc-theme-shadow);
}

.fc-calculator[data-fc-theme] .fc-hero {
    background: linear-gradient(135deg, var(--fc-theme-hero-start), var(--fc-theme-hero-end));
}

/* Modern is the polished FurniCore default. */
.fc-calculator[data-fc-theme="modern"],
.fc-result[data-fc-theme="modern"] {
    --fc-theme-primary: #2563eb;
    --fc-theme-primary-strong: #1d4ed8;
    --fc-theme-accent: #0f766e;
    --fc-theme-hero-start: #2563eb;
    --fc-theme-hero-end: #1e3a8a;
}

/* Minimal removes visual noise while retaining accessibility states. */
.fc-calculator[data-fc-theme="minimal"],
.fc-result[data-fc-theme="minimal"] {
    --fc-theme-primary: #111827;
    --fc-theme-primary-strong: #030712;
    --fc-theme-accent: #475569;
    --fc-theme-surface-soft: #fafafa;
    --fc-theme-line: #e5e7eb;
    --fc-theme-hero-start: #ffffff;
    --fc-theme-hero-end: #f8fafc;
    --fc-theme-radius: 14px;
    --fc-theme-shadow: 0 10px 28px rgba(15, 23, 42, .07);
}
.fc-calculator[data-fc-theme="minimal"] .fc-hero,
.fc-calculator[data-fc-theme="minimal"] .fc-hero h1,
.fc-calculator[data-fc-theme="minimal"] .fc-hero h2,
.fc-calculator[data-fc-theme="minimal"] .fc-hero p { color: var(--fc-theme-ink); }
.fc-calculator[data-fc-theme="minimal"] .fc-hero { border: 1px solid var(--fc-theme-line); box-shadow: none; }
.fc-calculator[data-fc-theme="minimal"]::before { height: 3px; background: var(--fc-theme-primary); }

/* Luxury uses warm neutrals and restrained gold accents. */
.fc-calculator[data-fc-theme="luxury"],
.fc-result[data-fc-theme="luxury"] {
    --fc-theme-primary: #8a651f;
    --fc-theme-primary-strong: #654814;
    --fc-theme-accent: #7c2d12;
    --fc-theme-surface: #fffdf8;
    --fc-theme-surface-soft: #faf6ed;
    --fc-theme-ink: #292017;
    --fc-theme-text: #514536;
    --fc-theme-muted: #796b59;
    --fc-theme-line: #e8ddc9;
    --fc-theme-hero-start: #2c2117;
    --fc-theme-hero-end: #6f4f1d;
    --fc-theme-radius: 20px;
    --fc-theme-shadow: 0 26px 65px rgba(74, 52, 24, .17);
}
.fc-calculator[data-fc-theme="luxury"]::before { background: linear-gradient(90deg, #8a651f, #d4a94e, #7c2d12); }
.fc-calculator[data-fc-theme="luxury"] .fc-option.active,
.fc-calculator[data-fc-theme="luxury"] .fc-option[aria-pressed="true"] { background: #fff8e7; border-color: #c99a3d; }

/* Dark is fully scoped so it does not alter the surrounding WordPress page. */
.fc-calculator[data-fc-theme="dark"],
.fc-result[data-fc-theme="dark"] {
    --fc-theme-primary: #60a5fa;
    --fc-theme-primary-strong: #93c5fd;
    --fc-theme-accent: #2dd4bf;
    --fc-theme-surface: #111827;
    --fc-theme-surface-soft: #172033;
    --fc-theme-ink: #f8fafc;
    --fc-theme-text: #dbe4f0;
    --fc-theme-muted: #a7b4c5;
    --fc-theme-line: #334155;
    --fc-theme-hero-start: #172554;
    --fc-theme-hero-end: #0f172a;
    --fc-theme-shadow: 0 28px 75px rgba(0, 0, 0, .38);
    color-scheme: dark;
}
.fc-calculator[data-fc-theme="dark"] {
    background: radial-gradient(circle at 88% 8%, rgba(96,165,250,.14), transparent 28%), radial-gradient(circle at 8% 96%, rgba(45,212,191,.08), transparent 30%), var(--fc-theme-surface);
}
.fc-calculator[data-fc-theme="dark"] .fc-card,
.fc-calculator[data-fc-theme="dark"] .fc-sidebar-card,
.fc-calculator[data-fc-theme="dark"] .fc-option,
.fc-result[data-fc-theme="dark"] .fc-result-card,
.fc-result[data-fc-theme="dark"] [class*="result"] { background-color: #182235; border-color: var(--fc-theme-line); color: var(--fc-theme-text); }
.fc-calculator[data-fc-theme="dark"] .fc-option:hover { border-color: #60a5fa; }
.fc-calculator[data-fc-theme="dark"] .fc-option.active,
.fc-calculator[data-fc-theme="dark"] .fc-option[aria-pressed="true"] { background: #172c4f; border-color: #60a5fa; }
.fc-calculator[data-fc-theme="dark"] input,
.fc-calculator[data-fc-theme="dark"] select { color: #f8fafc; background: #0f172a; border-color: #475569; }

@media (prefers-reduced-motion: reduce) {
    .fc-calculator[data-fc-theme] *, .fc-result[data-fc-theme] * { scroll-behavior: auto; }
}
