/* ORIGEN ASTRAL · capa propia sobre el diseño final (scripts/origen/build_sitio_origen.py) */
/* La rueda del motor en una tarjeta propia: .astral de la guía fuerza 28px a todo <text> del SVG
   (y lo gira 1.5°), lo que deforma las etiquetas de la rueda real. Misma piel, sin esas reglas. */
.astral-rueda{position:relative;align-self:center;max-width:540px;width:100%;justify-self:center;margin-top:18px;padding:18px 14px 16px;border:1px solid #bca0cb47;border-radius:32px;background:radial-gradient(ellipse at 45% 40%,#72508238,transparent 70%),linear-gradient(145deg,#382442,#261b33);box-shadow:0 25px 70px #08040f44}
.astral-rueda .zn-demo-carta{--brand:#dfbd88;--text:#faf2e8;max-width:none;padding:0}
.astral-rueda .zn-demo-pie{font-size:.9375rem;line-height:1.55;color:#dfd2e6;max-width:44ch;margin-inline:auto}
.astral-rueda .zn-demo-leyenda{font-size:.8125rem;color:#d0bfd9}
/* En móvil la rueda va PRIMERO (decisión de Daniel, 19-oct): es lo que engancha al llegar del reel */
@media (max-width:700px){.astral-rueda{order:-1;margin:0 auto 28px;max-width:460px;padding:12px 8px 14px;border-radius:24px}}
/* La guía da al hero un gap en % (3%/4%): en las filas se resuelve DESPUÉS de medir la altura y el
   pie del hero («Conoce tu cielo…») se metía debajo de la franja. Solo el hueco entre columnas. */
.hero{row-gap:0}
/* Oráculo: rejilla de signos fuera de la portada */
.oracle .signs a[aria-current]{border-color:#dfbd88;color:#faf2e8}
.oraculo-index h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.1;margin:.5rem 0 1rem}
.oraculo-index .actions{justify-content:center;margin-top:1.75rem;display:flex}
.oraculo-signo .glifo{align-items:center;text-align:center;gap:.5rem}
.oraculo-signo .glifo span[aria-hidden]{font-size:5rem;line-height:1;color:#dfbd88;font-family:Georgia,serif}
.oraculo-signo section:first-child>div:nth-child(2){grid-template-columns:minmax(0,1fr)}
.oraculo-signo #capitulo .area{display:inline-block;font-weight:700;color:#e6c997;margin-bottom:.25rem}
.oraculo-signo .numeros{text-align:center}
.oraculo-signo .numeros>div{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:1rem 0 1.5rem}
.oraculo-signo .numeros .num{width:66px;height:66px;border-radius:50%;border:1.5px solid #dfbd88;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#e6c997}
.oraculo-signo .numeros p{max-width:60ch;margin-inline:auto}
.oracle-mini .signs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:1rem}
.oracle-mini .signs a{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.6rem .9rem;border-radius:14px;border:1px solid #dfc1f033;color:#faf2e8;text-decoration:none;font-size:1rem}
.oracle-mini .signs a span{color:#dfbd88;font-size:1.4rem;font-family:Georgia,serif}
.oracle-mini .signs a:hover,.oracle-mini .signs a[aria-current]{border-color:#dfbd88}
/* Arreglos a piezas de la guía que en su HTML salían sin maquetar */
.detail .precio{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .75rem;margin:.5rem 0 1rem}
.detail .precio .cg{font-size:2.25rem;font-weight:800;color:#faf2e8}
.detail [aria-label="Calendario 2027"]{grid-column:1/-1}
.detail .cal-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.detail .cal-top .cz{font-size:1.75rem;font-weight:800;color:#e6c997;letter-spacing:.08em}
.detail .cal-top .lbl{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:#d0bfd9}
.detail .cal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.detail .cal a.mes{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;padding:.5rem;border-radius:12px;text-decoration:none;color:#faf2e8}
.detail .cal a.mes span+span{font-size:.8125rem;color:#dfbd88}
.detail .cal a.mes:hover{border-color:#dfbd88}
.detail ul li>span:first-child{color:#dfbd88;margin-right:.55rem}
.detail #muestra article>header{position:static;height:auto;min-height:0;inset:auto;width:auto;z-index:auto;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:0;display:block;padding:1.5rem 1.75rem;border-radius:14px;background:#2a1d33;margin-bottom:1.75rem}
.detail #muestra article>header .cz{text-transform:uppercase;letter-spacing:.16em;color:#dfbd88;font-weight:700;font-size:.9375rem;margin:0 0 1rem}
.detail #muestra article>header .cg{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.35;color:#faf2e8;font-weight:600}
.detail .mlbl{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:#dfbd88;font-weight:700;margin:0 0 .5rem}
.detail #muestra article>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem 2.5rem}
.detail #muestra article>div>div>div+div{margin-top:1.25rem}
.detail #muestra ul{grid-template-columns:1fr;gap:.6rem}
.detail #muestra li{display:flex;gap:1rem;align-items:baseline}
.detail #muestra li .cg{font-size:1.75rem;font-weight:800;color:#e6c997;min-width:2.5rem;margin:0}
.detail #capitulo article>div,.detail #muestra article>div>div:last-child>div:last-child{border:1px solid #dfbd8866;border-radius:14px;padding:1.25rem 1.5rem;background:#211729;margin-top:1rem}
.detail #capitulo .cz{text-transform:uppercase;letter-spacing:.14em;color:#dfbd88;font-size:.875rem;font-weight:700}
.detail #capitulo article>div .cg,.detail #muestra article>div>div:last-child>div:last-child .cg{font-size:1.35rem;line-height:1.45;color:#faf2e8;font-weight:600}
.detail section>.card:only-child{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem 3rem}
.detail section>.card:only-child>div{flex:1 1 280px}
.detail section>.card:only-child .cg{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:#faf2e8;margin:.5rem 0}
.detail section>.card:only-child .btn{display:inline-flex}
.detail section:last-child a.card{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;text-decoration:none;margin-top:.75rem}
.detail section:last-child a.card>span:first-child{display:flex;flex-direction:column;gap:.15rem}
.detail section:last-child a.card .cg{font-size:1.35rem;font-weight:700;color:#faf2e8}
.detail section:last-child a.card>span:last-child{color:#dfbd88;font-size:1.4rem}
/* El índice del Oráculo no es .hero ni .detail: necesita el mismo aire bajo el logo que sobresale */
.oraculo-index{padding-top:160px}
@media (max-width:1250px){.oraculo-index{padding-top:140px}}
@media (max-width:700px){.oraculo-index{padding-top:130px}}
/* «Capricornio» se partía a media palabra en la rejilla de 3 columnas del móvil */
.oracle .signs a,.oracle-mini .signs a{overflow-wrap:normal;word-break:normal;hyphens:none}
@media (max-width:430px){.oracle .signs a{font-size:.875rem;padding-inline:4px}}
/* Rueda en el hero de los productos (rueda_producto) */
.detail section.con-rueda{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}
.detail section.con-rueda>div:nth-child(3){grid-column:1/-1}
.detail section.con-rueda>div:nth-child(3):not(.card){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:520px){.detail section.con-rueda>div:nth-child(3):not(.card){grid-template-columns:minmax(0,1fr)}}
.detail section.con-rueda>div.rueda-prod{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:18px 14px 16px;border:1px solid #bca0cb47;border-radius:32px;background:radial-gradient(ellipse at 45% 40%,#72508238,transparent 70%),linear-gradient(145deg,#382442,#261b33);box-shadow:0 25px 70px #08040f44;max-width:560px;width:100%;justify-self:center}
.rueda-prod .rueda-centro{width:100%}
.rueda-prod .zn-demo-carta{--brand:#dfbd88;--text:#faf2e8;max-width:none;padding:0}
.rueda-prod .rueda-cap{font-size:.9375rem!important;line-height:1.55!important;color:#d0bfd9!important;text-align:center;max-width:46ch;margin:0}
.rueda-prod .rueda-chip{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:3.4rem;margin:0;padding:.55rem 1.1rem;border-radius:16px;border:1px solid #dfbd8866;background:#211729;text-align:center}
.rueda-prod .rueda-chip b{color:#e6c997;font-size:1.0625rem;font-weight:800;letter-spacing:.02em}
.rueda-prod .rueda-chip span{color:#faf2e8;font-size:.9375rem}
.rueda-prod .rueda-chip.entra{animation:chipEntra .55s ease both}
@keyframes chipEntra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* Tu 2027: el anillo del año alrededor de la rueda */
.rueda-anio .anillo{position:relative;width:100%;aspect-ratio:1}
.rueda-anio .anillo-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rueda-anio .anillo .rueda-centro{position:absolute;inset:9.5%;width:auto}
.rueda-anio .a-aro{fill:none;stroke:#dfbd88;stroke-opacity:.55;stroke-width:1.2;stroke-dasharray:.1 6;stroke-linecap:round}
.rueda-anio .a-div{stroke:#dfbd88;stroke-opacity:.45}
.rueda-anio .a-mes{fill:#d0bfd9;font:700 11px Montserrat,sans-serif;text-anchor:middle;dominant-baseline:central;transition:fill .3s}
.rueda-anio .a-mes.on{fill:#f1d9a0}
.rueda-anio .a-ecl{fill:#d7783c;stroke:#211729;stroke-width:1.5}
.rueda-anio .a-punto{fill:#f1d9a0}
.rueda-anio .a-halo{fill:#f1d9a0;opacity:.28;animation:aHalo 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes aHalo{50%{opacity:.08;transform:scale(1.6)}}
/* Tu Cielo y el Hijo: foco en un astro */
.rueda-prod.foco .zn2-planet,.rueda-prod.foco .zn2-point{transition:opacity .6s,filter .6s;opacity:.28}
.rueda-prod.foco .zn2-asp{transition:opacity .6s;opacity:.35}
.rueda-prod.foco [data-k].is-foco{opacity:1;filter:drop-shadow(0 0 7px #f1d9a0) drop-shadow(0 0 16px #dfbd88aa)}
.rueda-luna.foco [data-k="luna"]{opacity:1;animation:lunaRespira 3.2s ease-in-out infinite}
@keyframes lunaRespira{0%,100%{filter:drop-shadow(0 0 5px #f1d9a0) drop-shadow(0 0 10px #ae9ad088)}50%{filter:drop-shadow(0 0 11px #f1d9a0) drop-shadow(0 0 26px #ae9ad0)}}
@media (prefers-reduced-motion:reduce){.rueda-luna.foco [data-k="luna"],.rueda-anio .a-halo,.rueda-prod .rueda-chip.entra{animation:none}}
@media (max-width:1000px){.detail section.con-rueda{grid-template-columns:minmax(0,1fr)}}
/* En móvil la rueda va primero, como en la portada */
@media (max-width:700px){.detail section.con-rueda>div.rueda-prod{order:-1;padding:12px 8px 14px;border-radius:24px;max-width:460px}}
/* Legales */
.legal-pag .legal{max-width:76ch}
.legal-pag .legal h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;color:#faf2e8;margin:2.25rem 0 .75rem}
.legal-pag .legal p,.legal-pag .legal li{max-width:70ch}
.legal-pag .legal a{color:#e6c997;display:inline;padding:0;border:0;font-size:inherit}
