/* AstroTheme — shared "night sky" layer for the horoscope and kundali pages:
   hero, starfield, period/type tabs, quick-stat tiles, tinted reading cards.
   Loaded after base.css + pages.css; page files (horoscope.css, kundali.css) build on it. */

/* ── Night-sky hero ──────────────────────────────────────────────────────── */
.as-sky { --el-glow: rgba(201, 138, 30, .28);
  position: relative; overflow: hidden; color: #e9e8fb; text-align: center; padding: 44px 0 96px;
  background:
    radial-gradient(700px 320px at 18% -10%, rgba(120, 100, 220, .45), transparent 70%),
    radial-gradient(640px 360px at 88% 40%, var(--el-glow), transparent 70%),
    linear-gradient(160deg, #141b44 0%, #232a63 45%, #3b2a66 100%);
  border-radius: 0 0 50% 50% / 0 0 30px 30px; }
.as-el-bg-fire  { --el-glow: rgba(255, 120, 70, .35); }
.as-el-bg-earth { --el-glow: rgba(90, 190, 120, .30); }
.as-el-bg-air   { --el-glow: rgba(150, 200, 255, .32); }
.as-el-bg-water { --el-glow: rgba(70, 180, 220, .35); }
.as-sky-inner { position: relative; z-index: 1; }
.as-sky h1 { font-family: var(--as-display); font-size: clamp(36px, 5.4vw, 60px); line-height: 1.02; color: #fff; margin: 8px 0 10px; }
.as-sky-date { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #f3c160; }
.as-sky-lead { max-width: 560px; margin: 0 auto 20px; color: #c9c8ea; }
.as-sky-cta { display: flex; width: max-content; max-width: 100%; margin: 18px auto 0; border-radius: 30px; }
.as-sky-link { background: none; border: 0; padding: 0; margin-top: 14px; color: #f3c160; font: 500 13.5px var(--as-sans); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

.as-starfield { position: absolute; inset: 0; pointer-events: none; }
.as-starfield span { position: absolute; left: var(--x); top: var(--y); width: var(--s); height: var(--s); border-radius: 50%;
  background: #fff; box-shadow: 0 0 6px 1px rgba(255, 255, 255, .7); animation: as-twinkle 3s ease-in-out infinite; animation-delay: var(--d); }
@keyframes as-twinkle { 0%, 100% { opacity: .2; } 50% { opacity: 1; } }

/* Daily / Love / Yearly tabs — glass pill on the dark hero. */
.as-ptabs { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 6px; border-radius: 40px;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); backdrop-filter: blur(6px); }
.as-ptabs a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px 8px 10px; border-radius: 30px;
  color: #e3e2f7; text-decoration: none; font-weight: 500; font-size: 14px; transition: background .15s; }
.as-ptabs a img { width: 22px; height: 22px; object-fit: contain; }
.as-ptabs a:hover { background: rgba(255, 255, 255, .1); }
.as-ptabs a.is-active { background: #fff; color: var(--as-ink); box-shadow: 0 4px 14px rgba(0, 0, 0, .2); }

/* Content overlaps the hero's curved bottom. */
.as-hs-body { position: relative; margin-top: -64px; padding-bottom: 48px; }

/* ── Sign page: quick stats ──────────────────────────────────────────────── */
.as-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.as-stat { display: flex; flex-direction: column; gap: 4px; padding: 16px; background: #fff; border-radius: 16px;
  box-shadow: 0 12px 30px rgba(28, 39, 87, .12); }
.as-stat small { font-size: 11px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; color: var(--as-gold); }
.as-stat strong { color: var(--as-ink); font-size: 18px; }
.as-stat strong .as-stars { font-size: 18px; }
.as-stat-word { display: flex; align-items: center; gap: 8px; font: 700 19px var(--as-serif) !important; }
/* Libre Baskerville: Cormorant's old-style "1" reads like a capital I. */
.as-stat-num { font: 700 30px/1 var(--as-serif) !important; }
.as-stat > span { font-size: 12px; color: var(--as-muted); }
.as-swatch { display: inline-block; width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--as-line); }

/* ── Sign page: reading sections ─────────────────────────────────────────── */
.as-hs-section { background: #fff; border-radius: 18px; padding: 22px 24px; margin-bottom: 16px;
  border: 1px solid var(--as-line); border-top: 4px solid var(--as-tint); }
.as-hs-section header { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.as-hs-section h2 { font-size: 21px; margin: 0; }
.as-hs-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; font-size: 20px; background: var(--as-tint-bg); }
.as-hs-section p { margin: 0; font-size: 16px; line-height: 1.8; }
.as-hs-lead { background: linear-gradient(135deg, #fffaf0, #fff 60%); }
.as-hs-lead p { font-size: 17px; }
.as-hs-lead p::first-letter { float: left; font: 700 54px/.82 var(--as-display); color: var(--as-gold); margin: 6px 4px 0 0; }
.as-tint-gold  { --as-tint: #e0a63a; --as-tint-bg: #fdf1dc; }
.as-tint-rose  { --as-tint: #e46a7e; --as-tint-bg: #fde8ec; }
.as-tint-sky   { --as-tint: #5b8fe0; --as-tint-bg: #e6f1fd; }
.as-tint-mint  { --as-tint: #3fae6a; --as-tint-bg: #e8f6ea; }
.as-tint-lilac { --as-tint: #8a6fe0; --as-tint-bg: #efeafd; }


/* ── Shared: fact chips, small sign circle, profile card ─────────────────── */
.as-sign-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.as-sign-facts span { padding: 6px 14px; border-radius: 30px; font-size: 13px; color: #e9e8fb;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); }
.as-pager-art { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0; }
/* Profile card (sidebar) */
.as-profile { background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 12px 30px rgba(28, 39, 87, .12); }
.as-profile-head { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 18px 16px 14px; text-align: center; }
.as-profile-head strong { font: 700 24px var(--as-display); color: var(--as-ink); }
.as-profile-head span { font-size: 12.5px; color: var(--as-muted); }
.as-profile dl { margin: 0; padding: 6px 18px; }
.as-profile dl div { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px dashed var(--as-line); font-size: 14px; }
.as-profile dl div:last-child { border-bottom: 0; }
.as-profile dt { color: var(--as-muted); }
.as-profile dd { margin: 0; font-weight: 600; color: var(--as-ink); }
.as-traits { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 18px 14px; }
.as-traits span { padding: 4px 12px; border-radius: 20px; background: var(--as-gold-soft); color: #9a5d0a; font-size: 12.5px; font-weight: 600; }
.as-profile .as-btn { margin: 0 18px 18px; width: calc(100% - 36px); border-radius: 12px; }


/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 991px) { .as-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) {
  .as-ptabs a { padding: 7px 12px 7px 8px; font-size: 13px; }
  .as-stat { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) { .as-starfield span { animation: none; } }
