/* Light remains the reference; dark overrides only colour and surface tokens. */
:root {
    --bora-surface: #fff;
    --bora-soft-bg: #faf8f7;
    --bora-accent-text: var(--bora-red);
    --bora-shadow: 0 16px 48px #2019181a;
    color-scheme: light;
}
:root[data-theme="dark"] {
    --bora-bg: #0b0b0d;
    --bora-surface: #131317;
    --bora-soft-bg: #18181d;
    --bora-dark: #f5f5f5;
    --bora-text: #e6e6eb;
    --bora-muted: #b0b0ba;
    --bora-border: #303038;
    --bora-soft-red: #1d1518;
    --bora-accent-text: #f18e88;
    --bora-shadow: 0 16px 48px #0004;
    --bulma-body-background-color: var(--bora-bg);
    --bulma-body-color: var(--bora-text);
    --bulma-scheme-main: var(--bora-surface);
    --bulma-text: var(--bora-text);
    --bulma-border: var(--bora-border);
    color-scheme: dark;
}
/* The approved red stays on brand buttons; a lighter text token supplies contrast. */
.header-actions { display: flex; align-items: center; gap: 12px; }
.theme-toggle { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--bora-border); border-radius: 50%; background: var(--bora-surface); color: var(--bora-dark); padding: 10px; }
.theme-toggle:hover { background: var(--bora-soft-bg); }
.theme-toggle svg { width: 22px; height: 22px; }
.theme-sun, [data-theme="dark"] .theme-moon { display: none; }
[data-theme="dark"] .theme-sun { display: block; }
.theme-logo { display: inline-block; vertical-align: middle; }
.theme-logo img { width: 100%; height: 100%; object-fit: contain; }
.theme-logo .logo-dark, [data-theme="dark"] .theme-logo .logo-light { display: none; }
[data-theme="dark"] .theme-logo .logo-dark { display: block; }
.product-hero .theme-logo { aspect-ratio: var(--logo-ratio); }
[data-theme="dark"] .theme-logo { background: #000; border-radius: 6px; }
[data-theme="dark"] .home-hero { background: var(--bora-bg); }
[data-theme="dark"] :is(.faq-section, .capabilities-section, .ecosystem-section, .audience-section, .about-purpose, .contact-social, .navigation) { background: var(--bora-soft-bg); }
[data-theme="dark"] :is(.site-footer, .contact-card, .ecosystem-products a, .capabilities > div, .audience-grid li, .access-layer li, .stage-arrow, .carousel-arrows button, .pricing-list article) { background: var(--bora-surface); border-color: var(--bora-border); }
[data-theme="dark"] :is(.ecosystem-core, .product-preview > .preview-badge) { background: var(--bora-soft-red); border-color: #573331; }
[data-theme="dark"] :is(.core-connector, .capability-connector, .ecosystem-products::after, .ecosystem-products a::after, .capabilities > div::before) { background: #68423f; }
[data-theme="dark"] .capabilities { border-color: #68423f; }
[data-theme="dark"] .button.secondary { color: var(--bora-dark); background: var(--bora-surface); border-color: #484850; }
[data-theme="dark"] :is(.eyebrow, em, .text-link, .stage-arrow, .line-icon, .capabilities span, .product-features article > span) { color: var(--bora-accent-text); }
[data-theme="dark"] :is(.diagram-label, .access-layer ul, .showcase-caption, .preview-badge, .hero-note, .trust-strip, .trust-strip strong, .carousel-hint, .real-screenshot figcaption, .workflow-points li, .footer-bottom, .footer-brand small, .footer-grid > div:not(.footer-brand) > a, .contact-number, .back-link) { color: var(--bora-muted); }
[data-theme="dark"] .product-story .workflow-points li { color: var(--bora-muted); }
[data-theme="dark"] :is(.faq-list summary, .social-links a) { color: var(--bora-text); }
[data-theme="dark"] :is(.faq-list details, .contact-card, .product-benefits article, .product-features article, .audience-grid li, .line-icon, .social-links a, .social-links span) { border-color: var(--bora-border); }
[data-theme="dark"] .social-links .social-pending { color: #858590; background: var(--bora-soft-bg); }
[data-theme="dark"] :is(.social-links a:hover, .stage-arrow:hover) { background: #291a1d; color: var(--bora-accent-text); border-color: #68423f; }
[data-theme="dark"] .dashboard-controls button { color: var(--bora-muted); }
[data-theme="dark"] .dashboard-controls button[aria-pressed="true"] { color: var(--bora-accent-text); }
[data-theme="dark"] .screenshot-viewport { background: var(--bora-surface); border-color: #3a3a43; box-shadow: 0 16px 42px #0003; scrollbar-color: #62626d #18181d; }
[data-theme="dark"] .skip-link { color: var(--bora-dark); background: var(--bora-surface); }
[data-theme="dark"] :is(a, button, summary, [tabindex]):focus-visible { outline-color: var(--bora-accent-text); }
/* No filters, recolouring or opacity changes are applied to image artwork. */
.theme-changing body,
.theme-changing :is(header, section, article, footer, .button, .theme-toggle, .navigation, .social-links a, .screenshot-viewport, .whatsapp-card) {
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
.whatsapp-float { border: 0; padding: 0; }
.whatsapp-card { position: fixed; right: 24px; bottom: 94px; z-index: 71; width: 350px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 120px); overflow: auto; overscroll-behavior: contain; padding: 26px; border: 1px solid var(--bora-border); border-top: 3px solid var(--bora-red); border-radius: 18px; background: var(--bora-surface); color: var(--bora-text); box-shadow: var(--bora-shadow); }
.whatsapp-brand { display: flex; align-items: center; gap: 12px; padding-right: 12px; margin-bottom: 24px; }
.whatsapp-brand img { width: 46px; height: 46px; flex-shrink: 0; border-radius: 10px; }
.whatsapp-brand strong { font-size: 16px; color: var(--bora-dark); }
.whatsapp-brand span { display: block; font-size: 11px; line-height: 1.6; color: var(--bora-muted); margin-top: 3px; }
.whatsapp-card h2 { font-size: 22px; letter-spacing: -.035em; line-height: 1.25; margin-bottom: 18px; }
.whatsapp-card p { font-size: 14px; line-height: 1.8; margin-bottom: 14px; }
.whatsapp-close { position: absolute; right: 10px; top: 10px; width: 36px; height: 36px; padding: 8px; border: 0; border-radius: 50%; color: var(--bora-text); background: var(--bora-surface); }
.whatsapp-close:hover { background: var(--bora-soft-bg); }
.whatsapp-close svg { width: 20px; height: 20px; }
.whatsapp-chat.button { display: flex; width: 100%; height: auto; min-height: 48px; gap: 8px; padding: 12px 10px; font-size: 12px; background: #25d366; border-color: #25d366; color: #083a20; white-space: normal; }
.whatsapp-chat svg { width: 20px; height: 20px; flex-shrink: 0; }
.whatsapp-chat:hover { background: #20c15d; border-color: #20c15d; color: #083a20; }
.menu-open .whatsapp-widget { visibility: hidden; }
@media (max-width: 767px) {
    .header-actions { gap: 10px; }
    .theme-toggle { width: 42px; height: 42px; }
    .whatsapp-card { right: 16px; bottom: 80px; width: calc(100vw - 32px); max-width: 340px; max-height: calc(100dvh - 104px); padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .theme-changing body, .theme-changing :is(header, section, article, footer, .button, .theme-toggle, .navigation, .social-links a, .screenshot-viewport, .whatsapp-card) { transition: none; }
}
