/* Horoscop Space 1.9.29.31 — Astrologia / Astrology explorer. Mobile first. */
.hs-astro-page {
    --a-ink: #2a1f36; --a-text: #4b4252; --a-muted: #7a6c78; --a-gold: #c18f3b; --a-gold-2: #d4af37;
    --a-night: #160f24; --a-night-2: #2a1b40;
    --z-fire: #c0603e; --z-fire-bg: #f8e1d6; --z-earth: #5f7d45; --z-earth-bg: #e5ecd8;
    --z-air: #6a6fb0; --z-air-bg: #e6e5f5; --z-water: #2f7a8c; --z-water-bg: #d8eaef;
    --c-p: #b35a3c; --c-s: #5b62b0; --c-h: #2f7a6c;
}
.hs-astro-page .hs-el--fire { --z: var(--z-fire); --zb: var(--z-fire-bg); }
.hs-astro-page .hs-el--earth { --z: var(--z-earth); --zb: var(--z-earth-bg); }
.hs-astro-page .hs-el--air { --z: var(--z-air); --zb: var(--z-air-bg); }
.hs-astro-page .hs-el--water { --z: var(--z-water); --zb: var(--z-water-bg); }

/* Hero */
.hs-astro-hero { position: relative; overflow: hidden; padding: 34px 0 22px; color: #f6efe2; background: radial-gradient(120% 90% at 80% 10%, #3b2758 0%, var(--a-night-2) 40%, var(--a-night) 100%); }
.hs-astro-hero__sky { position: absolute; inset: 0; opacity: .7; background-image:
    radial-gradient(1.4px 1.4px at 12% 22%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 28% 68%, #fff 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 46% 18%, #f3d98a 50%, transparent 51%), radial-gradient(1px 1px at 63% 52%, #fff 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 82% 30%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 90% 78%, #f3d98a 50%, transparent 51%),
    radial-gradient(1px 1px at 8% 86%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 72% 88%, #fff 50%, transparent 51%); }
.hs-astro-hero__sky::after { content: ""; position: absolute; right: -90px; top: -60px; width: 340px; height: 340px; border: 1px solid rgba(212, 175, 55, .25); border-radius: 50%; box-shadow: 0 0 0 40px rgba(212, 175, 55, .04), 0 0 0 80px rgba(212, 175, 55, .03); }
.hs-astro-hero__inner { position: relative; }
.hs-astro-hero__kicker { margin: 0 0 6px; color: #f3d98a; font-size: .7rem; font-weight: 800; letter-spacing: .18em; }
.hs-astro-hero h1 { margin: 0 0 10px; color: #fff8e8; font-size: clamp(1.9rem, 7vw, 3.2rem); line-height: 1.08; }
.hs-astro-hero__lead { max-width: 720px; margin: 0 0 16px; color: #e9dff0; font-size: clamp(1rem, 3.4vw, 1.15rem); line-height: 1.6; }
.hs-astro-nav { display: flex; gap: 6px; margin: 0 -16px; padding: 0 16px 4px; overflow-x: auto; scrollbar-width: none; }
.hs-astro-nav::-webkit-scrollbar { display: none; }
.hs-astro-nav a { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid rgba(243, 217, 138, .35); border-radius: 999px; color: #f6efe2; background: rgba(255, 255, 255, .06); font-size: .85rem; font-weight: 700; text-decoration: none; }
.hs-astro-nav a:hover, .hs-astro-nav a:focus-visible { border-color: #f3d98a; background: rgba(243, 217, 138, .14); }

.hs-astro-body { padding-top: 12px; padding-bottom: 28px; }
.hs-astro-block { margin: 18px 0; padding: 18px 16px; border: 1px solid rgba(212, 175, 55, .26); border-radius: 22px; background: linear-gradient(150deg, #fffdf8, #f8f0fa); box-shadow: 0 18px 44px -34px rgba(58, 32, 68, .5); color: var(--a-ink); scroll-margin-top: 86px; }
.hs-astro-kicker { margin: 0 0 4px; color: #9b6a26; font-size: .68rem; font-weight: 800; letter-spacing: .15em; }
.hs-astro-block h2 { margin: 0 0 10px; color: var(--a-ink); font-size: clamp(1.35rem, 4.6vw, 2rem); line-height: 1.2; }
.hs-astro-lead { margin: 0 0 14px; color: var(--a-text); line-height: 1.6; }
.hs-astro-more { margin: 12px 0 0; }
.hs-astro-more a { color: #6b3f7d; font-weight: 800; }

/* Sky wheel (night block) */
.hs-astro-sky { color: #f6efe2; border-color: rgba(212, 175, 55, .35); background: radial-gradient(110% 80% at 50% 0%, #34224f 0%, var(--a-night-2) 45%, var(--a-night) 100%); }
.hs-astro-sky h2 { color: #fff8e8; }
.hs-astro-sky .hs-astro-kicker { color: #f3d98a; }
.hs-astro-sky .hs-astro-lead { color: #e2d6ea; }
.hs-astro-sky__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: start; }
.hs-astro-wheel { max-width: 460px; width: 100%; margin: 0 auto; }
.hs-astro-wheel svg { display: block; width: 100%; height: auto; overflow: visible; }
.hs-astro-wheel__sign { fill: rgba(255, 255, 255, .05); stroke: rgba(243, 217, 138, .28); stroke-width: 1; }
.hs-astro-wheel__sign.hs-el--fire { fill: rgba(192, 96, 62, .2); }
.hs-astro-wheel__sign.hs-el--earth { fill: rgba(95, 125, 69, .22); }
.hs-astro-wheel__sign.hs-el--air { fill: rgba(106, 111, 176, .24); }
.hs-astro-wheel__sign.hs-el--water { fill: rgba(47, 122, 140, .26); }
.hs-astro-wheel__sglyph { fill: #f3d98a; font-size: 17px; text-anchor: middle; dominant-baseline: central; }
.hs-astro-wheel__tick { stroke: rgba(243, 217, 138, .35); stroke-width: 1; }
.hs-astro-wheel__lead { stroke: rgba(243, 217, 138, .35); stroke-width: 1; stroke-dasharray: 2 3; }
.hs-astro-wheel__planet { cursor: pointer; outline: none; }
.hs-astro-wheel__planet circle { fill: #241838; stroke: rgba(243, 217, 138, .7); stroke-width: 1.4; transition: fill .2s ease, r .2s ease; }
.hs-astro-wheel__planet text { fill: #fff3cf; font-size: 16px; text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.hs-astro-wheel__planet.is-retro circle { stroke: #e58b6b; stroke-dasharray: 3 2; }
.hs-astro-wheel__planet:hover circle, .hs-astro-wheel__planet:focus-visible circle, .hs-astro-wheel__planet.is-on circle { fill: #c18f3b; stroke: #fff3cf; }
.hs-astro-wheel__planet.is-on text { fill: #1f1430; }
.hs-astro-wheel__core { fill: rgba(22, 15, 36, .9); stroke: rgba(243, 217, 138, .5); stroke-width: 1.4; }
.hs-astro-wheel__c1 { fill: #f3d98a; font-size: 14px; font-weight: 800; text-anchor: middle; }
.hs-astro-wheel__c2 { fill: #d9cbe3; font-size: 12px; text-anchor: middle; }
.hs-astro-sky__stamp { margin: 6px 0 0; color: #bfb0cc; font-size: .78rem; text-align: center; }
.hs-astro-sky__card { min-height: 150px; padding: 14px; border: 1px solid rgba(243, 217, 138, .3); border-radius: 18px; background: rgba(255, 255, 255, .06); }
.hs-astro-sky__hint { margin: 0; color: #d9cbe3; }
.hs-astro-sky__head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.hs-astro-sky__head b { flex: 0 0 auto; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; color: #1f1430; background: linear-gradient(145deg, #f3d98a, #c18f3b); font-size: 1.5rem; font-weight: 400; }
.hs-astro-sky__head h3 { margin: 0; color: #fff8e8; font-size: 1.2rem; }
.hs-astro-sky__head p { margin: 2px 0 0; color: #d9cbe3; font-size: .88rem; }
.hs-astro-sky__card > p { margin: 0 0 8px; color: #ece3f2; line-height: 1.55; }
.hs-astro-sky__card mark { padding: 0 4px; border-radius: 6px; color: #fff; background: transparent; font-weight: 800; }
.hs-astro-sky__card mark.is-p { box-shadow: inset 0 -2px 0 #e58b6b; }
.hs-astro-sky__card mark.is-s { box-shadow: inset 0 -2px 0 #a9adf0; }
.hs-astro-sky__desc { color: #cdbfd8 !important; font-size: .92rem; }
.is-retro { color: #f0a586; }
.hs-astro-sky__go { min-height: 44px; padding: 0 14px; border: 1px solid #f3d98a; border-radius: 999px; color: #f3d98a; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.hs-astro-sky__go:hover { color: #1f1430; background: #f3d98a; }
.hs-astro-sky__chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.hs-astro-sky__chip { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 8px; align-items: center; width: 100%; min-height: 48px; padding: 6px 10px; border: 1px solid rgba(243, 217, 138, .22); border-radius: 12px; color: #f6efe2; background: rgba(255, 255, 255, .04); font: inherit; text-align: start; cursor: pointer; }
.hs-astro-sky__chip b { grid-row: 1 / 3; color: #f3d98a; font-size: 1.2rem; font-weight: 400; }
.hs-astro-sky__chip span { font-size: .86rem; font-weight: 750; }
.hs-astro-sky__chip small { color: #cdbfd8; font-size: .76rem; }
.hs-astro-sky__chip.is-on { border-color: #f3d98a; background: rgba(243, 217, 138, .16); }

/* Grammar */
.hs-astro-grammar__form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.hs-astro-grammar__form label { display: grid; gap: 4px; }
.hs-astro-grammar__form label span { font-size: .78rem; font-weight: 800; }
.hs-astro-grammar__form .is-p span { color: var(--c-p); }
.hs-astro-grammar__form .is-s span { color: var(--c-s); }
.hs-astro-grammar__form .is-h span { color: var(--c-h); }
.hs-astro-grammar__form select { width: 100%; min-height: 50px; padding: 0 12px; border: 1px solid rgba(94, 70, 83, .25); border-radius: 14px; color: var(--a-ink); background: #fff; font: inherit; font-size: max(16px, 1rem); }
.hs-astro-grammar__form .is-p select { border-left: 4px solid var(--c-p); }
.hs-astro-grammar__form .is-s select { border-left: 4px solid var(--c-s); }
.hs-astro-grammar__form .is-h select { border-left: 4px solid var(--c-h); }
.hs-astro-grammar__plus { display: none; color: var(--a-gold); font-size: 1.3rem; text-align: center; padding-bottom: 12px; }
.hs-astro-grammar__out { margin: 14px 0 8px; padding: 16px 18px; border: 0; border-left: 4px solid var(--a-gold-2); border-radius: 0 16px 16px 0; color: var(--a-ink); background: rgba(255, 255, 255, .85); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.08rem, 3.6vw, 1.3rem); line-height: 1.55; }
.hs-astro-grammar__out mark { padding: 0 3px; border-radius: 4px; color: inherit; font-weight: 700; }
.hs-astro-grammar__out mark.is-p { background: rgba(179, 90, 60, .14); color: #8f3f25; }
.hs-astro-grammar__out mark.is-s { background: rgba(91, 98, 176, .14); color: #3f4592; }
.hs-astro-grammar__out mark.is-h { background: rgba(47, 122, 108, .14); color: #215a4f; }
.hs-astro-grammar__note { margin: 0 0 12px; color: var(--a-muted); font-size: .85rem; }
.hs-astro-grammar__cta { display: grid; gap: 10px; padding: 12px 14px; border: 1px solid rgba(212, 175, 55, .3); border-radius: 14px; background: rgba(255, 248, 230, .8); }
.hs-astro-grammar__cta p { margin: 0; color: #5a5060; font-size: .9rem; }
.hs-astro-grammar__cta .hs-btn, .hs-astro-cta .hs-btn { justify-content: center; min-height: 48px; }
@media (prefers-reduced-motion: no-preference) { .hs-astro-grammar__out.is-in { animation: hs-astro-in .35s ease both; } }
@keyframes hs-astro-in { from { opacity: .3; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* Planets */
.hs-astro-planets__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.hs-astro-planet { display: grid; grid-template-columns: 46px 1fr; gap: 12px; padding: 12px; border: 1px solid rgba(193, 143, 59, .2); border-radius: 16px; background: #fffdf8; }
.hs-astro-planet__glyph { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; color: #fff4cb; background: linear-gradient(145deg, #3a2050, #8b5271); font-size: 1.35rem; font-weight: 400; }
.hs-astro-planet h3 { margin: 0; font-size: 1.08rem; }
.hs-astro-planet p { margin: 2px 0 6px; color: var(--a-text); font-size: .9rem; line-height: 1.5; }
.hs-astro-planet .hs-astro-planet__fn { color: #8f3f25; font-weight: 750; }
.hs-astro-planet dl { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; }
.hs-astro-planet dl div { display: flex; gap: 4px; font-size: .8rem; }
.hs-astro-planet dt { color: var(--a-muted); }
.hs-astro-planet dt::after { content: ":"; }
.hs-astro-planet dd { margin: 0; color: var(--a-ink); font-weight: 700; }

@media (max-width: 639px) {
    /* Mobile: compact two-column planet tiles (the full description stays in the HTML). */
    .hs-astro-planets__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .hs-astro-planet { grid-template-columns: 1fr; gap: 6px; padding: 10px; align-content: start; align-items: start; }
    .hs-astro-planet__glyph { width: 36px; height: 36px; font-size: 1.1rem; }
    .hs-astro-planet p:not(.hs-astro-planet__fn) { display: none; }
    .hs-astro-planet .hs-astro-planet__fn { font-size: .82rem; line-height: 1.35; }
    .hs-astro-planet dl { flex-direction: column; gap: 2px; }
    .hs-astro-planet dl div { display: block; font-size: .74rem; line-height: 1.35; }
    .hs-astro-planet dt, .hs-astro-planet dd { display: inline; }
    .hs-astro-planet dt::after { content: ": "; }
    .hs-astro-houses__list li { padding: 4px 6px; font-size: .84rem; }
}

/* Houses */
.hs-astro-houses__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: start; }
.hs-astro-houses__wheel { max-width: 360px; width: 100%; margin: 0 auto; }
.hs-astro-houses__wheel svg { display: block; width: 100%; height: auto; overflow: visible; }
.hs-astro-houses__h { cursor: pointer; outline: none; }
.hs-astro-houses__h path { stroke: #fff; stroke-width: 2; transition: fill .2s ease; }
.hs-astro-houses__h.is-angular path { fill: #ead9b8; }
.hs-astro-houses__h.is-succedent path { fill: #efe3f2; }
.hs-astro-houses__h.is-cadent path { fill: #e3ece9; }
.hs-astro-houses__h text { fill: var(--a-ink); font-size: 15px; font-weight: 800; text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.hs-astro-houses__h.is-on path, .hs-astro-houses__h:focus-visible path { fill: #3a2050; }
.hs-astro-houses__h.is-on text, .hs-astro-houses__h:focus-visible text { fill: #f3d98a; }
.hs-astro-houses__axis { fill: #9b6a26; font-size: 12px; font-weight: 800; text-anchor: middle; }
.hs-astro-houses__core { fill: #2c1a3d; }
.hs-astro-houses__ctext { fill: #f3d98a; font-size: 18px; font-weight: 800; text-anchor: middle; }
.hs-astro-houses__list { display: grid; gap: 4px; margin: 0 0 10px; padding: 0; list-style: none; }
.hs-astro-houses__list li { display: grid; grid-template-columns: 44px 1fr; gap: 8px; align-items: baseline; padding: 6px 8px; border-radius: 10px; color: var(--a-text); font-size: .9rem; line-height: 1.45; cursor: pointer; transition: background .2s ease; }
.hs-astro-houses__list li b { color: #9b6a26; }
.hs-astro-houses__list li strong { color: var(--a-ink); }
.hs-astro-houses__list li.is-on { background: rgba(58, 32, 80, .08); box-shadow: inset 3px 0 0 #3a2050; }
.hs-astro-houses__types { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; font-size: .82rem; color: var(--a-muted); }
.hs-astro-houses__types li { padding-left: 18px; position: relative; }
.hs-astro-houses__types li::before { content: ""; position: absolute; left: 0; top: .35em; width: 11px; height: 11px; border-radius: 3px; }
.hs-astro-houses__types .is-angular::before { background: #ead9b8; }
.hs-astro-houses__types .is-succedent::before { background: #efe3f2; }
.hs-astro-houses__types .is-cadent::before { background: #e3ece9; }

/* Aspects */
.hs-astro-aspects__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hs-astro-aspect { padding: 12px; border: 1px solid rgba(193, 143, 59, .2); border-radius: 16px; background: #fffdf8; text-align: center; }
.hs-astro-aspect svg { display: block; width: 96px; height: 96px; margin: 0 auto 4px; }
.hs-astro-aspect__ring { fill: none; stroke: rgba(94, 70, 83, .22); stroke-width: 2; }
.hs-astro-aspect__ray { stroke: rgba(94, 70, 83, .3); stroke-width: 1; }
.hs-astro-aspect__arc { fill: none; stroke: var(--a-gold); stroke-width: 2; }
.hs-astro-aspect__chord { stroke-width: 2.5; stroke-linecap: round; }
.hs-astro-aspect.is-soft .hs-astro-aspect__chord { stroke: #4f7fb0; }
.hs-astro-aspect.is-hard .hs-astro-aspect__chord { stroke: #c0503e; }
.hs-astro-aspect__dot { fill: #3a2050; }
.hs-astro-aspect__dot.is-b { fill: #c18f3b; }
.hs-astro-aspect h3 { margin: 0; font-size: 1rem; }
.hs-astro-aspect h3 span { color: var(--a-muted); font-weight: 600; }
.hs-astro-aspect__nature { margin: 2px 0 4px !important; font-size: .74rem !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hs-astro-aspect.is-soft .hs-astro-aspect__nature { color: #3e6d9c; }
.hs-astro-aspect.is-hard .hs-astro-aspect__nature { color: #a8432f; }
.hs-astro-aspect.is-neutral .hs-astro-aspect__nature { color: #9b6a26; }
.hs-astro-aspect p { margin: 0; color: var(--a-text); font-size: .86rem; line-height: 1.45; }

/* Steps */
.hs-astro-steps__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.hs-astro-steps__list li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: start; }
.hs-astro-steps__n { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #1f1430; background: linear-gradient(145deg, #f3d98a, #c18f3b); font-weight: 900; font-size: 1.1rem; }
.hs-astro-steps__list h3 { margin: 2px 0 2px; font-size: 1.05rem; }
.hs-astro-steps__list p { margin: 0; color: var(--a-text); line-height: 1.55; }

/* CTA */
.hs-astro-cta { display: grid; gap: 12px; margin: 18px 0; padding: 20px 18px; border-radius: 22px; color: #f6efe2; background: linear-gradient(135deg, #2c1a3d, #4b2a5c 55%, #7a4a3a); box-shadow: 0 22px 50px -32px rgba(44, 26, 61, .8); }
.hs-astro-cta h2 { margin: 0 0 6px; color: #fff8e8; font-size: clamp(1.3rem, 4.4vw, 1.8rem); }
.hs-astro-cta p { margin: 0; color: #e9dff0; line-height: 1.55; }
.hs-astro-cta__btns { display: grid; gap: 8px; }
.hs-astro-cta__ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; border: 1px solid rgba(243, 217, 138, .5); border-radius: 999px; color: #f3d98a; font-weight: 800; text-decoration: none; }

/* History */
.hs-astro-history__line { position: relative; display: grid; gap: 12px; margin: 0; padding: 0 0 0 22px; list-style: none; }
.hs-astro-history__line::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 6px; width: 2px; background: linear-gradient(#d4af37, #8b5271); }
.hs-astro-history__line li { position: relative; }
.hs-astro-history__line li::before { content: ""; position: absolute; left: -21px; top: 5px; width: 12px; height: 12px; border: 2px solid #fffdf8; border-radius: 50%; background: #c18f3b; box-shadow: 0 0 0 2px #c18f3b; }
.hs-astro-history__line time { color: #9b6a26; font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hs-astro-history__line h3 { margin: 0; font-size: 1.02rem; }
.hs-astro-history__line p { margin: 0; color: var(--a-text); font-size: .9rem; line-height: 1.5; }

.hs-astro-guide .entry-content { color: var(--a-text); }

@media (min-width: 640px) {
    .hs-astro-block { padding: 24px 28px; }
    .hs-astro-grammar__form { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; }
    .hs-astro-grammar__plus { display: block; }
    .hs-astro-grammar__cta { grid-template-columns: 1fr auto; align-items: center; }
    .hs-astro-planets__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hs-astro-aspects__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hs-astro-cta { grid-template-columns: 1fr auto; align-items: center; padding: 26px 30px; }
    .hs-astro-sky__chips { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
    .hs-astro-hero { padding: 54px 0 34px; }
    .hs-astro-nav { margin: 0; padding: 0; flex-wrap: wrap; }
    .hs-astro-sky__layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
    .hs-astro-sky__chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hs-astro-houses__layout { grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); }
    .hs-astro-aspects__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .hs-astro-history__line { grid-template-columns: repeat(7, minmax(0, 1fr)); padding: 26px 0 0; gap: 14px; }
    .hs-astro-history__line::before { left: 0; right: 0; top: 6px; bottom: auto; width: auto; height: 2px; background: linear-gradient(90deg, #d4af37, #8b5271); }
    .hs-astro-history__line li::before { left: 0; top: -27px; }
}
