/* SPDX-License-Identifier: AGPL-3.0-or-later */
/* Luna conserva la paleta original; Sol se aplica a todas las páginas. */
/* Un único eclipse: la Luna cubre el Sol en el modo oscuro. */
.theme-switch {position:relative;display:block;width:76px;height:46px;padding:0;flex-shrink:0;overflow:hidden;border:1px solid rgba(212,175,55,.38);border-radius:999px;background:#10152b;color:#ebc66e;cursor:pointer;touch-action:manipulation;box-shadow:inset 0 0 18px rgba(0,0,0,.24);transition:background-color .65s ease,border-color .65s ease,box-shadow .25s ease}
.theme-switch:hover {border-color:var(--gold);box-shadow:0 0 18px rgba(212,175,55,.16)}
.theme-switch:focus-visible,a:focus-visible {outline:2px solid var(--gold);outline-offset:4px}
.eclipse-sky {position:absolute;inset:0;display:block}
.eclipse-sun,.eclipse-moon {position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%}
.eclipse-sun {background:linear-gradient(135deg,#ffe8a4,#e7ad43);box-shadow:0 0 8px 2px rgba(255,207,99,.35),0 0 18px rgba(240,176,55,.25);transition:box-shadow .75s ease,transform .75s ease}
.eclipse-moon {width:24px;height:24px;margin:-12px 0 0 -12px;background:#10152b;box-shadow:inset -2px -1px 3px rgba(171,186,225,.12);transform:translate(-2px,-1px);transition:transform .8s cubic-bezier(.4,0,.2,1),background-color .65s ease}
.eclipse-rays {position:absolute;width:44px;height:44px;top:50%;left:50%;margin:-22px 0 0 -22px;opacity:0;transform:rotate(-35deg) scale(.65);transition:opacity .6s ease,transform .8s cubic-bezier(.4,0,.2,1)}
.eclipse-star {position:absolute;width:2px;height:2px;border-radius:50%;background:#e4dbb9;box-shadow:0 0 4px rgba(255,229,173,.5);transition:opacity .5s ease,transform .8s ease}
.eclipse-star-one {left:12px;top:13px}
.eclipse-star-two {right:12px;bottom:12px;width:3px;height:3px}
:root[data-theme="sol"] .theme-switch {background:#f8ebd1;border-color:#bb9453;color:#a97122;box-shadow:inset 0 0 15px rgba(238,193,103,.16)}
:root[data-theme="sol"] .theme-switch:hover {box-shadow:0 0 18px rgba(171,116,25,.18)}
:root[data-theme="sol"] .eclipse-sun {box-shadow:0 0 12px rgba(226,165,48,.4);transform:scale(.9)}
:root[data-theme="sol"] .eclipse-moon {transform:translate(41px,-11px);background:#f8ebd1}
:root[data-theme="sol"] .eclipse-rays {opacity:1;transform:rotate(0) scale(1)}
:root[data-theme="sol"] .eclipse-star {opacity:0;transform:translateX(8px)}
/* La nueva vista aparece sobre la anterior con el frente curvo del eclipse. */
:root[data-theme-transition="eclipse"]::view-transition {pointer-events:none}
:root[data-theme-transition="eclipse"]::view-transition-group(root) {animation:none;pointer-events:none}
:root[data-theme-transition="eclipse"]::view-transition-image-pair(root) {isolation:isolate;pointer-events:none}
:root[data-theme-transition="eclipse"]::view-transition-old(root),
:root[data-theme-transition="eclipse"]::view-transition-new(root) {animation:none;mix-blend-mode:normal;opacity:1;pointer-events:none}
:root[data-theme-transition="eclipse"]::view-transition-old(root) {z-index:1}
:root[data-theme-transition="eclipse"]::view-transition-new(root) {z-index:2;animation:astrolena-eclipse-sweep 1150ms cubic-bezier(.65,0,.35,1) both}
@keyframes astrolena-eclipse-sweep {
  from {clip-path:circle(var(--eclipse-radius) at var(--eclipse-start-x) 50%)}
  to {clip-path:circle(var(--eclipse-radius) at var(--eclipse-end-x) 50%)}
}
.site-header .nav {gap:22px}
.site-header .menu {margin-left:auto}
@media (max-width:900px) {
  .site-header .nav {gap:12px;flex-wrap:wrap}
  .site-header .menu-toggle {margin-left:auto}
  .theme-switch {margin-left:auto}
  .site-header .brand-name {font-size:16px}
}
@media (max-width:460px) {
  .site-header .nav {padding:12px 20px;gap:10px}
  .theme-switch {width:66px;height:44px}
  .site-header .menu-toggle {order:3;margin:0;padding:6px 10px}
  .site-header .menu {order:4}
  .site-header .brand {gap:7px}
  .site-header .brand-name {font-size:14px;letter-spacing:.13em}
  .site-header .brand-mark {font-size:19px}
}
:root[data-theme="sol"] {
  --midnight:#fffaf2;--midnight-2:#f7eddf;--violet-deep:#5b4331;
  --violet:#846292;--gold:#856020;--gold-soft:#80571a;
  --silver:#554b44;--ink:#302b29;--ink-mute:#6a5c4f;
  --glass:rgba(255,255,255,.67);--glass-border:rgba(133,96,32,.26);
}
:root[data-theme="sol"] [style*="--solar-c:"] {--c:var(--solar-c)!important}
:root[data-theme="sol"] [style*="--solar-pc:"] {--pc:var(--solar-pc)!important}
:root[data-theme="sol"] [style*="--solar-sc:"] {--sc:var(--solar-sc)!important}
:root[data-theme="sol"] body {
  background:radial-gradient(ellipse at 50% 0,rgba(237,201,129,.36),transparent 55%),linear-gradient(180deg,#fffaf2,#f7f0e5 65%,#fffaf2);
  color:var(--ink);font-weight:400;
}
:root[data-theme="sol"] body.signo-page {background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--c) 9%,#fffaf2),#fbf7ee 50%,#fffaf2)}
:root[data-theme="sol"] #stars {opacity:.22}
:root[data-theme="sol"] .site-header {background:rgba(255,250,242,.92);box-shadow:0 2px 18px rgba(107,76,37,.04)}
:root[data-theme="sol"] .brand-mark {text-shadow:none}
:root[data-theme="sol"] .menu .dropdown,:root[data-theme="sol"] .site-header .menu.is-open {background:#fffaf2;box-shadow:0 12px 28px rgba(74,50,29,.1)}
:root[data-theme="sol"] .hero-title,:root[data-theme="sol"] .section-head h2,:root[data-theme="sol"] .cta-inner h2,:root[data-theme="sol"] .module-card h3,:root[data-theme="sol"] .planetas-title {color:#382a24}
:root[data-theme="sol"] .hero-title em {background:linear-gradient(135deg,#956419,#765230 65%,#826193);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:root[data-theme="sol"] .hero-ornament {opacity:.22}
:root[data-theme="sol"] .zodiac-card {background:linear-gradient(135deg,color-mix(in srgb,var(--c) 5%,#fffdf7),#fffaf2);border-color:color-mix(in srgb,var(--c) 35%,#e4d7c4);box-shadow:0 3px 14px rgba(83,57,29,.04)}
:root[data-theme="sol"] .zodiac-card:hover {background:color-mix(in srgb,var(--c) 8%,#fffdf7);border-color:var(--c);box-shadow:0 8px 22px rgba(83,57,29,.1)}
:root[data-theme="sol"] .zodiac-name,:root[data-theme="sol"] .zodiac-glyph {color:var(--c);filter:none;text-shadow:none}
:root[data-theme="sol"] .zodiac-name {font-weight:600}
:root[data-theme="sol"] .cta-inner {background:linear-gradient(135deg,#fffaf2,#f0e0c4);box-shadow:0 12px 40px rgba(83,57,29,.06)}
:root[data-theme="sol"] .site-footer {background:rgba(239,227,205,.25)}
/* Signos, planetas y conceptos: texto, símbolos, atributos y navegación. */
:root[data-theme="sol"] .signo-title {background:linear-gradient(135deg,#3d2e28,var(--c));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:root[data-theme="sol"] .signo-subtitle,:root[data-theme="sol"] .signo-body,:root[data-theme="sol"] .signo-mantra blockquote {color:var(--ink)}
:root[data-theme="sol"] .signo-body {font-weight:400}
:root[data-theme="sol"] .attr-label {color:var(--ink-mute)}
:root[data-theme="sol"] .signo-attr {background:rgba(255,253,248,.8);border-color:color-mix(in srgb,var(--c) 25%,#e2d5bf)}
:root[data-theme="sol"] .signo-attr:hover {background:color-mix(in srgb,var(--c) 7%,#fffaf2)}
:root[data-theme="sol"] .signo-attr .attr-dropdown {background:#fffaf2;box-shadow:0 10px 26px rgba(74,50,29,.12)}
:root[data-theme="sol"] .signo-attr .attr-dropdown a {color:var(--ink)}
:root[data-theme="sol"] .signo-glyph-big,:root[data-theme="sol"] .attr-icon {filter:drop-shadow(0 4px 12px color-mix(in srgb,var(--c) 12%,transparent))}
:root[data-theme="sol"] .signo-dates,:root[data-theme="sol"] .attr-value,:root[data-theme="sol"] .signo-body strong {text-shadow:none}
:root[data-theme="sol"] .signo-body strong {font-weight:600}
:root[data-theme="sol"] .mantra-crest {background:#fbf7ee;filter:none}
:root[data-theme="sol"] .mantra-light {opacity:.35}
/* Calendarios: todos sus estados, formularios y detalle lunar. */
:root[data-theme="sol"] .calendar-form input,:root[data-theme="sol"] .calendar-form select {background:#fffdf8;color:var(--ink);border-color:#c9bba6;color-scheme:light}
:root[data-theme="sol"] .calendar-error {color:#a22638}
/* El anuncio existente también respeta la apariencia seleccionada. */
:root[data-theme="sol"] .promo-overlay {background:rgba(58,39,21,.4)}
:root[data-theme="sol"] .promo-modal {background:linear-gradient(135deg,#fffaf2,#f3e4ca);box-shadow:0 24px 70px rgba(74,50,29,.25)}
:root[data-theme="sol"] .promo-title {color:#382a24}
:root[data-theme="sol"] .promo-tagline,:root[data-theme="sol"] .promo-features {color:var(--silver)}
:root[data-theme="sol"] .promo-cover {background:#f0e1c4}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important}
  :root[data-theme-transition="eclipse"]::view-transition-new(root) {animation:none!important}
  #stars {display:none}
}
@media print {
  .theme-switch {display:none}
  :root[data-theme="sol"] body {background:white!important;color:#242039!important}
}

@media (max-width:360px) {
  .site-header .nav {padding:12px;gap:8px}
  .site-header .brand-name {font-size:13px;letter-spacing:.06em}
  .site-header .theme-switch {width:56px}
}
