/* Temas y preferencias compartidos por la landing y las páginas legales. */
:root {
  --accent: #00e5ff; --accent-fill: #00e5ff; --accent-ink: #04131a; --accent-hover: #38efff;
  --accent-rgb: 0,229,255;
  --accent-gradient: linear-gradient(90deg,#00e5ff,#60a5fa,#818cf8,#38bdf8,#00e5ff);
  --preference-bg: #111622; --preference-text: #f2f5fc; --preference-border: #2a364f; --preference-hover: #ffffff0f;
}
:root[data-theme="light"] {
  color-scheme: light;
  background: #f8fafc;
  --ink: #f8fafc; --surface: #ffffff; --surface-elevated: #f1f5f9;
  --white: #0f172a; --muted: #475569; --accent: #2563eb; --accent-fill: #2563eb; --accent-ink: #ffffff; --purple: #6d28d9;
  --accent-rgb: 37,99,235;
  --accent-hover: #1d4ed8;
  --accent-gradient: linear-gradient(90deg,#2563eb,#0284c7,#4f46e5,#0891b2,#2563eb);
  --gold: #d97706; --emerald: #059669; --line: #0f172a1c; --line-strong: #cbd5e1;
  --preference-bg: #ffffff; --preference-text: #0f172a; --preference-border: #cbd5e1; --preference-hover: #0f172a0a;
}
:root[data-theme="dark"] { color-scheme: dark; }
html,body { overflow-x: clip; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.site-preferences { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.preference-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 44px; min-width: 44px; padding: 0 9px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--preference-text); font: 600 .73rem "Segoe UI",Arial,sans-serif; cursor: pointer; }
.preference-trigger svg { width: 18px; height: 18px; flex-shrink: 0; }
.preference-language { gap: 5px; padding-inline: 8px; }
.preference-language svg:last-child { width: 12px; height: 12px; }
.preference-trigger:hover,.preference-trigger[aria-expanded="true"] { background: var(--preference-hover); border-color: var(--preference-border); }
.preference-trigger:focus-visible,.preference-item:focus-visible { outline: 2px solid var(--accent,#00e5ff); outline-offset: 2px; }
.preference-menu { position: fixed; z-index: 2000; display: grid; width: 190px; max-width: calc(100vw - 16px); padding: 6px; border: 1px solid var(--preference-border); border-radius: 13px; background: var(--preference-bg); color: var(--preference-text); box-shadow: 0 16px 46px #0005,0 3px 10px #0002; animation: preference-open .14s ease-out; }
.preference-menu[hidden] { display: none; }
.preference-heading { padding: 7px 9px 9px; color: var(--muted,#94a3b8); font: 500 .7rem "Segoe UI",Arial,sans-serif; }
.preference-item { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: inherit; text-align: left; font: 500 .81rem "Segoe UI",Arial,sans-serif; cursor: pointer; }
.preference-item > svg { width: 17px; height: 17px; flex-shrink: 0; opacity: .85; }
.preference-item:hover,.preference-item:focus-visible,.preference-item[aria-checked="true"] { background: var(--preference-hover); }
.preference-item .preference-check { margin-left: auto; width: 15px; height: 15px; opacity: 0; color: var(--accent,#00e5ff); }
.preference-item[aria-checked="true"] .preference-check { opacity: 1; }
@keyframes preference-open { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .preference-menu { animation: none; } }

/* La paleta clara se aplica a texto y superficies, conservando intactas las imágenes del producto. */
:root[data-theme="light"] body { background: var(--ink); color: var(--white); }
:root[data-theme="light"] .site-header,:root[data-theme="light"] .site-header.is-scrolled { background: #f8fafcf2; box-shadow: 0 8px 28px #0f172a0d; }
:root[data-theme="light"] #navegacion a { color: #334155; }
:root[data-theme="light"] #navegacion a:hover,:root[data-theme="light"] #navegacion a.is-active { color: var(--accent); }
:root[data-theme="light"] .hero-description > p { color: #334155; }
:root[data-theme="light"] .demo-toolbar { color: #334155; }
:root[data-theme="light"] .layout-switch button { background: var(--surface-elevated); color: #334155; border-color: var(--line-strong); }
:root[data-theme="light"] .layout-switch button[aria-pressed="true"] { background: var(--accent-fill); color: var(--accent-ink); border-color: var(--accent); }
:root[data-theme="light"] .button { color: var(--accent-ink); box-shadow: 0 4px 14px rgba(37,99,235,.22); }
:root[data-theme="light"] .button:hover { background: var(--accent-hover); border-color: var(--accent-hover); box-shadow: 0 8px 24px rgba(37,99,235,.32); }
:root[data-theme="light"] .button-secondary,:root[data-theme="light"] .button-dark { color: var(--white); box-shadow: none; }
:root[data-theme="light"] .button-secondary:hover,:root[data-theme="light"] .button-dark:hover { background: #e2e8f0; border-color: #94a3b8; }
:root[data-theme="light"] .section-paper { border-color: var(--line); }
:root[data-theme="light"] .export-section { background: linear-gradient(180deg, #eff6ff 0%, #f1f5f9 100%); border-color: #2563eb26; }
:root[data-theme="light"] .plan-pro { background: linear-gradient(160deg, #ffffff 0%, #f5f3ff 100%); border-color: #8b5cf666; }
:root[data-theme="light"] .plan-pro .eyebrow,:root[data-theme="light"] .plan-pro h3 > span,:root[data-theme="light"] .plan-pro .check-list li::before { color: var(--purple); }
:root[data-theme="light"] .plan-pro .button { background: var(--purple); border-color: var(--purple); color: #fff; box-shadow: 0 4px 14px rgba(109,40,217,.25); }
:root[data-theme="light"] .plan-pro .button:hover { background: #5b21b6; border-color: #5b21b6; box-shadow: 0 12px 32px #6d28d933; }
:root[data-theme="light"] .plan-pro:hover { border-color: var(--purple); }
:root[data-theme="light"] .plan-pro::after { background: radial-gradient(460px circle at var(--mx,50%) var(--my,50%), #6d28d912, transparent 60%); }
:root[data-theme="light"] .closing { background: #eff4fb; }
:root[data-theme="light"] .mobile-download { background: #fffffff5; border-color: var(--line-strong); }
:root[data-theme="light"] .demo-canvas,:root[data-theme="light"] .feature-illustrated figure,:root[data-theme="light"] .ghost-visuals figure { background: #fff; }
:root[data-theme="light"] #caso-creacion .case-image img,:root[data-theme="light"] #caso-danza .case-image img,:root[data-theme="light"] #caso-deporte .case-image img { background: #fff; }
:root[data-theme="light"] .ghost-visuals figcaption { color: var(--muted); }
:root[data-theme="light"] .feature-visual figcaption { color: #cbd5e1; }
:root[data-theme="light"] .js-motion h1 span { background-image: var(--accent-gradient); }
:root[data-theme="light"] .studio-demo { box-shadow: 0 18px 50px #0f172a14; }
:root[data-theme="light"] .feature:hover,:root[data-theme="light"] .plan:hover { box-shadow: 0 16px 45px #0f172a18; }

/* Las páginas legales mantienen sus textos y adoptan la misma preferencia visual. */
:root[data-theme="light"] .navbar,:root[data-theme="light"] .header { background: #f8fafc !important; border-color: #cbd5e1; }
:root[data-theme="light"] .legal-card,:root[data-theme="light"] .delete-card { background: #fff; border-color: #cbd5e1; color: #0f172a; }
:root[data-theme="light"] .legal-section p,:root[data-theme="light"] .legal-section li,:root[data-theme="light"] .section-block p,:root[data-theme="light"] .section-block li { color: #334155; }
:root[data-theme="light"] .legal-title,:root[data-theme="light"] .delete-title,:root[data-theme="light"] .nav-brand,:root[data-theme="light"] .brand-text { color: #0f172a; }
:root[data-theme="light"] .legal-meta,:root[data-theme="light"] footer { color: #475569 !important; }
:root[data-theme="light"] .nav-links .is-active,:root[data-theme="light"] .back-btn,:root[data-theme="light"] .legal-section h2,:root[data-theme="light"] .legal-section a,:root[data-theme="light"] .section-block a,:root[data-theme="light"] .header .cta-primary-btn { color: var(--accent) !important; }
:root[data-theme="light"] .legal-badge { background: #eff6ff; color: var(--accent); border-color: #93c5fd; }
:root[data-theme="light"] .form-label { color: #1e293b; }
:root[data-theme="light"] .form-input,:root[data-theme="light"] .form-textarea { background: #f8fafc; color: #0f172a; border-color: #94a3b8; }
:root[data-theme="light"] .legal-section,:root[data-theme="light"] .section-block { background: transparent; border-color: #cbd5e1; }
:root[data-theme="light"] .legal-section h3,:root[data-theme="light"] .section-title { color: var(--accent); }
:root[data-theme="light"] .delete-subtitle,:root[data-theme="light"] .data-card-desc,:root[data-theme="light"] .step-item { color: #334155; }
:root[data-theme="light"] .data-card-title,:root[data-theme="light"] .legal-card strong,:root[data-theme="light"] .delete-card strong { color: #0f172a; }
:root[data-theme="light"] .data-card { background: #f8fafc; border-color: #cbd5e1; }
:root[data-theme="light"] .data-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); }
:root[data-theme="light"] .legal-table th,:root[data-theme="light"] .legal-table td { color: #1e293b; border-color: #cbd5e1; }
:root[data-theme="light"] .legal-table th { background: #f1f5f9; }
:root[data-theme="light"] .nav-links .nav-link { color: #334155; }
:root[data-theme="light"] .header-container > a:first-child { color: #0f172a !important; }
:root[data-theme="light"] .back-home { color: var(--accent); }
:root[data-theme="light"] .warning-box-text { color: #78350f; }
:root[data-theme="light"] .delete-badge { color: #b91c1c; }
:root[data-theme="light"] .step-item::before { color: var(--accent); border-color: #93c5fd; background: #eff6ff; }
:root[data-theme="light"] .btn-submit { background: var(--accent-fill); color: var(--accent-ink); }
:root[data-theme="light"] .form-input::placeholder,:root[data-theme="light"] .form-textarea::placeholder { color: #64748b; }

@media (max-width: 1200px) and (min-width: 761px) {
  html { scroll-padding-top: 150px; }
  .header-inner { flex-wrap: wrap; padding-block: 12px; gap: 12px 22px; }
  .header-inner #navegacion { order: 4; width: 100%; justify-content: center; }
  .header-inner .site-preferences { margin-left: auto; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 95px; }
  .header-inner { gap: 8px; }
  .header-inner .brand { gap: 8px; font-size: 1rem; }
  .header-inner .brand-icon { width: 32px; height: 32px; }
  .header-inner .header-cta { display: none; }
  .header-inner .site-preferences { order: 2; margin-left: auto; }
  .header-inner .menu-toggle { order: 3; font-size: .68rem; padding-left: 0; min-width: 44px; min-height: 44px; margin-left: 0; }
  .header-inner #navegacion { order: 4; }
  .navbar .site-preferences,.header-container .site-preferences { margin-left: auto; }
  .navbar .nav-container,.header .header-container { flex-wrap: wrap; }
  .legal-page-container,.delete-container { margin-top: 210px; }
}
@media (max-width: 380px) {
  .header-inner { gap: 6px; }
  .header-inner .brand { font-size: .88rem; gap: 6px; }
  .header-inner .brand-icon { width: 28px; height: 28px; }
  .header-inner .brand small { font-size: .38rem; }
}
