/*
Theme Name: Horoscop.space Premium Light
Theme URI: https://horoscop.space/
Author: Horoscop.space
Description: Jasny, premium, kosmiczny motyw Horoscop.space. Warstwa prezentacyjna współpracująca z istniejącymi modułami astrologicznymi i publikacyjnymi.
Version: 1.1.1
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: horoscop-space
*/

:root {
  --hs-bg: #fbfaf8;
  --hs-bg-warm: #fff9f2;
  --hs-paper: rgba(255,255,255,.92);
  --hs-paper-strong: #ffffff;
  --hs-ink: #151528;
  --hs-ink-soft: #5f6073;
  --hs-ink-faint: #89899a;
  --hs-gold: #c78b2b;
  --hs-gold-deep: #a96e19;
  --hs-gold-soft: #f4ddb5;
  --hs-gold-pale: #fff5df;
  --hs-rose: #dba9c1;
  --hs-lilac: #c7b8e7;
  --hs-blue: #b9d3ea;
  --hs-border: rgba(126, 102, 78, .14);
  --hs-shadow: 0 18px 60px rgba(63, 45, 29, .08);
  --hs-shadow-soft: 0 8px 28px rgba(63,45,29,.06);
  --hs-radius-xl: 28px;
  --hs-radius-lg: 20px;
  --hs-radius-md: 15px;
  --hs-max: 1240px;
  --hs-serif: Georgia, 'Times New Roman', serif;
  --hs-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 8% 14%, rgba(242, 213, 224, .34), transparent 23rem),
    radial-gradient(circle at 93% 12%, rgba(194, 211, 241, .34), transparent 24rem),
    linear-gradient(180deg, #fff 0%, var(--hs-bg) 48%, #fffdfa 100%);
  color: var(--hs-ink);
  font-family: var(--hs-sans);
  font-size: 16px;
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .58;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(198,139,43,.18) 0 1px, transparent 1.5px),
    radial-gradient(circle at 76% 8%, rgba(199,139,43,.14) 0 1px, transparent 1.5px),
    radial-gradient(circle at 61% 32%, rgba(154,132,194,.16) 0 1px, transparent 1.5px);
  background-size: 110px 110px, 170px 170px, 220px 220px;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--hs-gold-deep); }
img { max-width: 100%; height: auto; }
button, input, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(199,139,43,.42); outline-offset: 3px; }

.hs-container { width: min(calc(100% - 36px), var(--hs-max)); margin-inline: auto; }
.hs-section { margin-top: 18px; }
.hs-card { background: var(--hs-paper); border: 1px solid var(--hs-border); border-radius: var(--hs-radius-lg); box-shadow: var(--hs-shadow-soft); backdrop-filter: blur(10px); }
.hs-eyebrow { margin: 0 0 12px; color: #6e6872; font-size: .68rem; font-weight: 800; letter-spacing: .32em; text-transform: uppercase; }
.hs-title { margin: 0; font-family: var(--hs-serif); font-weight: 500; letter-spacing: -.025em; line-height: 1.02; }
.hs-muted { color: var(--hs-ink-soft); }
.hs-gold { color: var(--hs-gold-deep); }
.hs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 0 24px; border: 1px solid transparent; border-radius: 999px; font-weight: 750; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.hs-btn:hover { transform: translateY(-1px); }
.hs-btn--gold { color: #fff; background: linear-gradient(135deg, #dca64c, #b8781f); box-shadow: 0 10px 24px rgba(178,116,31,.22); }
.hs-btn--ghost { color: #343248; border-color: rgba(62,51,42,.25); background: rgba(255,255,255,.62); }
.hs-arrow { font-size: 1.15em; transform: translateY(-1px); }

/* Header */
.hs-header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.9); border-bottom: 1px solid rgba(128,106,80,.11); backdrop-filter: blur(18px); }
.hs-header-row { display: grid; grid-template-columns: minmax(240px, 1fr) auto minmax(240px, 1fr); align-items: center; gap: 22px; min-height: 72px; }
.hs-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.hs-brand-mark { position: relative; display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 43px; border: 1px solid rgba(199,139,43,.5); border-radius: 50%; color: var(--hs-gold-deep); font-family: var(--hs-serif); font-size: 24px; }
.hs-brand-mark::before, .hs-brand-mark::after { content:''; position:absolute; inset:6px; border:1px solid rgba(199,139,43,.28); border-radius:50%; }
.hs-brand-mark::after { inset:12px -5px; border-color: rgba(199,139,43,.21); transform: rotate(45deg); }
.hs-brand-copy { display: grid; line-height: 1; }
.hs-brand-name { font-family: var(--hs-serif); font-size: 1.34rem; letter-spacing: .035em; }
.hs-brand-tagline { margin-top: 5px; color: #85808a; font-size: .47rem; font-weight: 750; letter-spacing: .38em; text-transform: uppercase; }
.hs-nav { display: flex; align-items: center; justify-content: center; gap: 27px; font-size: .82rem; white-space: nowrap; }
.hs-nav a { color: #2d2b3b; }
.hs-nav a:hover { color: var(--hs-gold-deep); }
.hs-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.hs-icon-btn { display:grid; place-items:center; width:42px; height:42px; border:0; border-radius:50%; background:transparent; color:#302f40; }
.hs-icon-btn:hover { background:#f7f1e8; }
.hs-language { position:relative; }
.hs-language select { min-height:42px; padding:0 30px 0 12px; border:1px solid rgba(87,72,57,.12); border-radius:999px; color:#3d3a47; background:#fff; appearance:none; }
.hs-language::after { content:'⌄'; position:absolute; right:11px; top:8px; pointer-events:none; color:#746c6b; }
.hs-mobile-toggle { display:none; }

/* Hero */
.hs-hero-shell { position:relative; overflow:hidden; min-height:440px; border-radius:0 0 28px 28px; background:linear-gradient(100deg,#fff 0%,#fff 41%,#fffaf7 61%,#f4eefb 100%); isolation:isolate; }
.hs-hero-shell::after { content:''; position:absolute; z-index:0; inset:auto auto -90px -65px; width:210px; height:210px; border:1px solid rgba(199,139,43,.18); border-radius:50%; box-shadow:0 0 0 22px rgba(199,139,43,.03),0 0 0 49px rgba(199,139,43,.025); }
.hs-hero-backdrop { position:absolute; z-index:0; inset:0 0 0 auto; width:min(62vw,1020px); overflow:hidden; pointer-events:none; }
.hs-hero-backdrop::before { content:''; position:absolute; z-index:2; inset:0; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.94) 12%,rgba(255,255,255,.54) 27%,rgba(255,255,255,.10) 50%,rgba(255,255,255,0) 72%),linear-gradient(0deg,rgba(255,255,255,.34),rgba(255,255,255,0) 34%); pointer-events:none; }
.hs-hero-backdrop::after { content:''; position:absolute; z-index:3; inset:0; background:radial-gradient(circle at 73% 42%,rgba(255,238,204,.06),rgba(255,255,255,0) 48%); pointer-events:none; }
.hs-hero-img { position:absolute; inset:-2% -1% -3% -7%; width:108%; height:105%; object-fit:cover; object-position:center right; filter:saturate(.96) brightness(1.045) contrast(.98); -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 12%,rgba(0,0,0,.82) 30%,#000 48%,#000 100%); mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 12%,rgba(0,0,0,.82) 30%,#000 48%,#000 100%); }
.hs-hero { position:relative; z-index:1; min-height:440px; }
.hs-hero-copy { position:relative; z-index:4; width:min(55%,690px); padding:52px 0 42px 18px; }
.hs-hero h1 { max-width:690px; font-size:clamp(2.75rem,5.2vw,5.15rem); }
.hs-hero h1 .hs-gold { display:block; }
.hs-hero-lead { max-width:610px; margin:18px 0 0; color:#676474; font-size:1.02rem; line-height:1.55; }
.hs-hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }
.hs-trust-row { display:flex; gap:28px; flex-wrap:wrap; margin-top:28px; color:#535161; font-size:.74rem; }
.hs-trust-item { display:flex; align-items:center; gap:9px; }
.hs-trust-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:var(--hs-gold-deep); background:#fbf1e2; }

/* Zodiac strip */
.hs-zodiac-panel { position:relative; z-index:3; margin-top:-4px; padding:20px 22px 16px; }
.hs-zodiac-panel h2 { margin:0 0 17px; font-family:var(--hs-serif); font-size:1.32rem; font-weight:500; }
.hs-zodiac-grid { display:grid; grid-template-columns:repeat(12,minmax(70px,1fr)); gap:8px; }
.hs-zodiac { display:grid; justify-items:center; gap:7px; min-width:0; padding:3px 2px 0; border-radius:14px; text-align:center; transition: transform .18s ease, background .18s ease; }
.hs-zodiac:hover { transform:translateY(-2px); background:linear-gradient(180deg,rgba(255,249,239,.84),rgba(255,255,255,0)); }
.hs-zodiac-icon { position:relative; display:grid; place-items:center; width:64px; height:64px; border:1px solid rgba(199,139,43,.30); border-radius:50%; color:#b7781c; background:radial-gradient(circle at 50% 38%,#fff 0%,#fffaf2 63%,#f8ead3 100%); box-shadow: inset 0 0 0 6px rgba(255,255,255,.75), 0 7px 20px rgba(160,109,32,.07); font-family:'Times New Roman',serif; font-size:2.05rem; line-height:1; }
.hs-zodiac-icon::before { content:''; position:absolute; inset:7px; border:1px dashed rgba(199,139,43,.18); border-radius:50%; }
.hs-zodiac-icon::after { content:'✦'; position:absolute; top:-10px; color:#cf983f; font-size:.62rem; text-shadow:0 0 8px rgba(225,184,112,.45); }
.hs-zodiac strong { font-family:var(--hs-serif); font-size:.84rem; font-weight:600; }
.hs-zodiac small { color:#777381; font-size:.62rem; white-space:nowrap; }

/* Feature cards */
.hs-feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.hs-feature { overflow:hidden; min-height:164px; }
.hs-feature-art { height:98px; background-repeat:no-repeat; background-size:cover; background-position:center; border-bottom:1px solid rgba(112,91,71,.08); }
.hs-feature--love .hs-feature-art { background-image:url('../img/premium-light/feature-love.webp'); }
.hs-feature--career .hs-feature-art { background-image:url('../img/premium-light/feature-career.webp'); }
.hs-feature--finance .hs-feature-art { background-image:url('../img/premium-light/feature-finance.webp'); }
.hs-feature--energy .hs-feature-art { background-image:url('../img/premium-light/feature-energy.webp'); }
.hs-feature-body { display:grid; grid-template-columns:1fr auto; gap:4px 12px; align-items:center; padding:13px 16px 14px; }
.hs-feature h3 { margin:0; font-family:var(--hs-serif); font-size:1rem; font-weight:500; }
.hs-feature p { margin:0; color:#737080; font-size:.72rem; }
.hs-mini-arrow { grid-row:1/3; grid-column:2; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#f7f0e6; color:#5f5861; }

/* Sky + articles */
.hs-content-grid { display:grid; grid-template-columns: .72fr 1.55fr; gap:14px; }
.hs-sky { padding:18px; }
.hs-sky h2, .hs-articles h2 { margin:0 0 14px; font-family:var(--hs-serif); font-size:1.17rem; font-weight:500; }
.hs-sky-layout { display:grid; grid-template-columns:1fr 150px; gap:10px; align-items:center; }
.hs-sky-list { display:grid; gap:9px; }
.hs-sky-row { display:grid; grid-template-columns:22px 1fr auto; gap:8px; align-items:center; min-height:26px; color:#555262; font-size:.72rem; }
.hs-sky-row strong { color:#2b2939; font-weight:750; }
.hs-sky-row span:last-child { color:#777381; text-align:right; }
.hs-moon { position:relative; width:132px; height:132px; margin:auto; border-radius:50%; background: radial-gradient(circle at 35% 30%,#fffef8 0 12%,#f2eee6 28%,#ddd9d2 55%,#f7f5ef 73%,#d3d1ce 100%); box-shadow:0 0 0 10px rgba(244,228,201,.21), 0 14px 32px rgba(132,107,74,.16); }
.hs-moon::before, .hs-moon::after { content:''; position:absolute; border-radius:50%; background:rgba(169,164,154,.18); }
.hs-moon::before { width:28px; height:18px; left:29px; top:29px; box-shadow:46px 16px 0 -4px rgba(169,164,154,.14), 20px 50px 0 4px rgba(169,164,154,.12); }
.hs-moon::after { inset:-18px; border:1px solid rgba(199,139,43,.16); background:transparent; }
.hs-sky-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; padding-top:12px; border-top:1px solid rgba(94,77,61,.1); }
.hs-sky-location { color:#7a7580; font-size:.68rem; }
.hs-location-btn { border:0; padding:8px 11px; border-radius:999px; color:#8b5a18; background:#fff4df; font-weight:750; font-size:.66rem; }
.hs-location-btn[disabled] { opacity:.5; cursor:wait; }
.hs-sky-status { margin-top:9px; color:#8a8690; font-size:.64rem; }
.hs-articles { padding:18px; }
.hs-article-grid { display:grid; grid-template-columns:1.5fr .75fr; grid-template-rows:1fr 1fr; gap:10px; min-height:242px; }
.hs-article { position:relative; overflow:hidden; border-radius:14px; border:1px solid rgba(126,102,78,.10); background:#fff; }
.hs-article:first-child { grid-row:1/3; min-height:242px; }
.hs-article-visual { position:absolute; inset:0; background-repeat:no-repeat; background-size:cover; background-position:center; }
.hs-article:first-child .hs-article-visual { background-image:linear-gradient(180deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.94) 86%),url('../img/premium-light/article-main.webp'); }
.hs-article:nth-child(2) .hs-article-visual { background-image:linear-gradient(180deg,rgba(255,255,255,0) 28%,rgba(255,255,255,.94) 88%),url('../img/premium-light/article-moon.webp'); }
.hs-article:nth-child(3) .hs-article-visual { background-image:linear-gradient(180deg,rgba(255,255,255,0) 28%,rgba(255,255,255,.94) 88%),url('../img/premium-light/article-ascendant.webp'); }
.hs-article-content { position:absolute; inset:auto 0 0; z-index:2; padding:14px 16px; }
.hs-article-kicker { display:inline-block; margin-bottom:4px; padding:3px 7px; border-radius:999px; color:#80591f; background:#fff2d9; font-size:.54rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hs-article h3 { margin:0; font-family:var(--hs-serif); font-size:1rem; font-weight:500; line-height:1.15; }
.hs-article:first-child h3 { font-size:1.25rem; }
.hs-article p { margin:5px 0 0; color:#6f6c78; font-size:.68rem; line-height:1.35; }

/* Trust strip / footer */
.hs-proof { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:22px 6px 28px; }
.hs-proof-item { display:flex; align-items:center; justify-content:center; gap:12px; color:#565261; }
.hs-proof-icon { color:#c88d2e; font-size:1.75rem; }
.hs-proof strong { display:block; font-family:var(--hs-serif); color:#6f501d; font-size:.92rem; font-weight:500; }
.hs-proof small { display:block; color:#807b85; font-size:.64rem; }
.hs-footer { margin-top:24px; padding:32px 0 24px; border-top:1px solid rgba(125,101,75,.12); background:rgba(255,252,248,.82); }
.hs-footer-grid { display:grid; grid-template-columns:1.35fr repeat(3,1fr); gap:28px; }
.hs-footer h3 { margin:0 0 9px; font-family:var(--hs-serif); font-size:.95rem; font-weight:500; }
.hs-footer p, .hs-footer a { color:#77727c; font-size:.72rem; }
.hs-footer-nav { display:grid; gap:7px; }
.hs-footer-bottom { display:flex; justify-content:space-between; gap:16px; margin-top:26px; padding-top:16px; border-top:1px solid rgba(125,101,75,.10); color:#918c93; font-size:.64rem; }

/* Standard WP content */
.hs-standard { padding:34px 0 64px; }
.hs-prose { max-width:860px; margin:auto; padding:clamp(22px,4vw,42px); }
.hs-prose h1 { font-family:var(--hs-serif); font-size:clamp(2rem,4vw,3.5rem); font-weight:500; line-height:1.05; }
.hs-prose h2,.hs-prose h3 { font-family:var(--hs-serif); font-weight:500; }
.hs-prose a { color:var(--hs-gold-deep); text-decoration:underline; text-underline-offset:2px; }

/* Search overlay */
.hs-search-overlay { position:fixed; inset:0; z-index:100; display:none; place-items:start center; padding-top:15vh; background:rgba(40,31,36,.22); backdrop-filter:blur(12px); }
.hs-search-overlay.is-open { display:grid; }
.hs-search-box { width:min(620px,calc(100% - 32px)); padding:18px; }
.hs-search-form { display:grid; grid-template-columns:1fr auto; gap:8px; }
.hs-search-form input { min-height:48px; padding:0 16px; border:1px solid rgba(92,72,52,.18); border-radius:999px; background:#fff; }

@media (max-width: 1080px) {
  .hs-header-row { grid-template-columns:1fr auto; }
  .hs-nav { display:none; position:absolute; left:18px; right:18px; top:66px; flex-direction:column; align-items:stretch; gap:0; padding:12px; border:1px solid var(--hs-border); border-radius:16px; background:#fff; box-shadow:var(--hs-shadow); }
  .hs-nav.is-open { display:flex; }
  .hs-nav a { padding:12px 10px; }
  .hs-mobile-toggle { display:grid; }
  .hs-header-actions .hs-btn { display:none; }
  .hs-zodiac-grid { overflow-x:auto; grid-template-columns:repeat(12,84px); padding-bottom:6px; scrollbar-width:thin; }
  .hs-feature-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 820px) {
  .hs-container { width:min(calc(100% - 24px),var(--hs-max)); }
  .hs-header-row { min-height:64px; }
  .hs-brand-tagline { display:none; }
  .hs-brand-name { font-size:1.08rem; }
  .hs-language { display:none; }
  .hs-hero-shell { min-height:650px; border-radius:0 0 22px 22px; }
  .hs-hero { min-height:650px; }
  .hs-hero-copy { width:100%; padding:38px 8px 300px; }
  .hs-hero h1 { font-size:clamp(2.55rem,10vw,4.1rem); max-width:620px; }
  .hs-hero-backdrop { inset:auto -8% 0 18%; width:90%; height:340px; }
  .hs-hero-backdrop::before { background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.66) 13%,rgba(255,255,255,.04) 44%,rgba(255,255,255,0) 72%); }
  .hs-hero-img { inset:-6% -4% -4% -4%; width:108%; height:110%; object-position:center 20%; -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.55) 15%,#000 36%,#000 100%); mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.55) 15%,#000 36%,#000 100%); }
  .hs-trust-row { gap:14px; }
  .hs-content-grid { grid-template-columns:1fr; }
  .hs-proof { grid-template-columns:repeat(2,1fr); }
  .hs-footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 560px) {
  .hs-header-actions { gap:2px; }
  .hs-brand-mark { width:38px; height:38px; flex-basis:38px; }
  .hs-hero-copy { padding-top:30px; }
  .hs-hero-lead { font-size:.92rem; }
  .hs-hero-actions { display:grid; grid-template-columns:1fr; }
  .hs-btn { width:100%; }
  .hs-zodiac-panel { padding-inline:14px; }
  .hs-feature-grid { grid-template-columns:1fr; }
  .hs-feature { display:grid; grid-template-columns:42% 58%; min-height:116px; }
  .hs-feature-art { height:auto; min-height:116px; border-bottom:0; border-right:1px solid rgba(112,91,71,.08); }
  .hs-sky-layout { grid-template-columns:1fr 112px; }
  .hs-moon { width:100px; height:100px; }
  .hs-article-grid { grid-template-columns:1fr; grid-template-rows:auto; min-height:0; }
  .hs-article, .hs-article:first-child { grid-row:auto; min-height:170px; }
  .hs-proof { grid-template-columns:1fr; align-items:start; }
  .hs-proof-item { justify-content:flex-start; padding-left:14px; }
  .hs-footer-grid { grid-template-columns:1fr; }
  .hs-footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* RTL: Arabic keeps the same premium composition without mirroring the artwork itself. */
[dir="rtl"] .hs-hero-copy,
[dir="rtl"] .hs-footer,
[dir="rtl"] .hs-prose { text-align:right; }
[dir="rtl"] .hs-header-actions { justify-content:flex-start; }
[dir="rtl"] .hs-brand { direction:ltr; }
[dir="rtl"] .hs-hero-backdrop { transform:scaleX(-1); }
[dir="rtl"] .hs-sky-row { grid-template-columns:auto 1fr 22px; }
[dir="rtl"] .hs-sky-row > :first-child { grid-column:3; grid-row:1; }
[dir="rtl"] .hs-sky-row > strong { grid-column:2; grid-row:1; }
[dir="rtl"] .hs-sky-row > :last-child { grid-column:1; grid-row:1; text-align:left; }

/* 1.1.5 — restore the established menu hierarchy inside Premium Light. */
.hs-header { overflow: visible; }
.hs-header-row { position: relative; overflow: visible; }
.hs-header .site-nav { position: static; justify-self: center; z-index: 80; }
.hs-header .site-nav__list { display:flex; align-items:center; gap:4px; margin:0; padding:0; list-style:none; }
.hs-header .site-nav__list > li { position:relative; }
.hs-header .site-nav__list > li > a { display:flex; align-items:center; min-height:44px; padding:0 11px; border-radius:999px; color:#2d2b3b; font-size:.82rem; white-space:nowrap; }
.hs-header .site-nav__list > li > a:hover,
.hs-header .site-nav__list > li:focus-within > a,
.hs-header .site-nav__list > .current-menu-item > a,
.hs-header .site-nav__list > .current-menu-ancestor > a { color:var(--hs-gold-deep); background:#fff8ed; }
.hs-header .site-nav__list > .menu-item-has-children > a::after { content:'⌄'; margin-inline-start:6px; color:#8c7b69; font-size:.72rem; }
.hs-header .site-nav .sub-menu { position:absolute; z-index:120; top:100%; left:0; display:none; min-width:250px; margin:0; padding:9px; list-style:none; border:1px solid var(--hs-border); border-radius:16px; background:#fff; box-shadow:0 20px 55px rgba(65,46,28,.14); }
.hs-header .site-nav li:hover > .sub-menu,
.hs-header .site-nav li:focus-within > .sub-menu { display:flex; flex-direction:column; }
.hs-header .site-nav .sub-menu a { display:block; padding:9px 11px; border-radius:10px; color:#383443; font-size:.78rem; white-space:nowrap; }
.hs-header .site-nav .sub-menu a:hover { color:var(--hs-gold-deep); background:#fff8ed; }
.hs-header .site-nav .sub-menu--zodiac,
.hs-header .site-nav__list > li:nth-child(2) > .sub-menu { width:360px; flex-flow:row wrap; }
.hs-header .site-nav .sub-menu--zodiac > li,
.hs-header .site-nav__list > li:nth-child(2) > .sub-menu > li { width:50%; }
.hs-header .nav-mega-trigger { position:static !important; }
.hs-header .nav-mega { z-index:125; top:100%; border-color:var(--hs-border); background:#fff; box-shadow:0 24px 65px rgba(65,46,28,.14); }
.hs-header .nav-mega__intro { background:linear-gradient(145deg,#fff9ef,#f8f1ff); }
.hs-header .nav-mega__column a:hover { background:#fff8ed; }

/* Full lunar-cycle module restored without fabricating astronomy data. */
.hs-moon-cycle { margin-top:16px; padding-top:14px; border-top:1px solid rgba(94,77,61,.10); }
.hs-moon-cycle-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:11px; }
.hs-moon-cycle-head h3 { margin:0; font-family:var(--hs-serif); font-size:.98rem; font-weight:500; color:#292737; }
.hs-moon-cycle-current { max-width:48%; color:var(--hs-gold-deep); font-size:.66rem; font-weight:700; text-align:right; }
.hs-moon-phases { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.hs-moon-phase { display:grid; justify-items:center; gap:5px; min-width:0; padding:8px 4px; border:1px solid transparent; border-radius:12px; color:#77717c; text-align:center; transition:border-color .18s ease, background .18s ease, transform .18s ease; }
.hs-moon-phase.is-current { border-color:rgba(199,139,43,.34); background:#fff8e9; color:#3d3340; transform:translateY(-1px); }
.hs-moon-phase-label { font-size:.57rem; line-height:1.15; }
.hs-moon-phase-disc { position:relative; display:block; width:30px; height:30px; overflow:hidden; border:1px solid rgba(176,151,111,.28); border-radius:50%; background:#f2eee8; box-shadow:0 4px 12px rgba(83,64,43,.09); }
.hs-moon-phase-disc::after { content:''; position:absolute; inset:0; border-radius:50%; background:#c7c2ba; }
.hs-moon-phase-disc--0::after { background:#aaa59f; }
.hs-moon-phase-disc--1::after { left:-8px; background:#aaa59f; box-shadow:12px 0 0 #fffdf8; }
.hs-moon-phase-disc--2::after { left:-15px; background:#aaa59f; box-shadow:15px 0 0 #fffdf8; }
.hs-moon-phase-disc--3::after { right:7px; background:#aaa59f; box-shadow:15px 0 0 #fffdf8; }
.hs-moon-phase-disc--4::after { background:#fffdf8; }
.hs-moon-phase-disc--5::after { left:7px; background:#aaa59f; box-shadow:-15px 0 0 #fffdf8; }
.hs-moon-phase-disc--6::after { left:15px; background:#aaa59f; box-shadow:-15px 0 0 #fffdf8; }
.hs-moon-phase-disc--7::after { right:-8px; background:#aaa59f; box-shadow:-12px 0 0 #fffdf8; }
.hs-moon-phase.is-current .hs-moon-phase-disc { border-color:rgba(199,139,43,.58); box-shadow:0 0 0 4px rgba(199,139,43,.09),0 5px 16px rgba(83,64,43,.12); }

@media (max-width: 1120px) {
  .hs-header .site-nav { position:absolute; left:18px; right:18px; top:66px; display:none; max-height:calc(100vh - 88px); overflow:auto; padding:12px; border:1px solid var(--hs-border); border-radius:16px; background:#fff; box-shadow:var(--hs-shadow); }
  .hs-header .site-nav.is-open { display:block; }
  .hs-header .site-nav__list { flex-direction:column; align-items:stretch; gap:2px; }
  .hs-header .site-nav__list > li > a { justify-content:space-between; border-radius:10px; }
  .hs-header .site-nav .sub-menu,
  .hs-header .site-nav .sub-menu--zodiac,
  .hs-header .site-nav__list > li:nth-child(2) > .sub-menu { position:static; display:flex; width:auto; min-width:0; flex-direction:column; margin:2px 0 6px 10px; border:0; border-radius:12px; background:#fffaf3; box-shadow:none; }
  .hs-header .site-nav .sub-menu--zodiac > li,
  .hs-header .site-nav__list > li:nth-child(2) > .sub-menu > li { width:100%; }
  .hs-header .nav-mega { position:static; display:grid; width:auto; margin:4px 0 7px 10px; box-shadow:none; }
  .hs-mobile-toggle { display:grid; }
}
@media (max-width: 560px) {
  .hs-moon-phases { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .hs-moon-phase { padding:7px 2px; }
  .hs-moon-phase-disc { width:27px; height:27px; }
  .hs-moon-phase-label { font-size:.52rem; }
}
[dir="rtl"] .hs-moon-cycle-current { text-align:left; }
[dir="rtl"] .hs-header .site-nav .sub-menu { left:auto; right:0; }
.hs-native-sky-widget { margin:0 0 14px; overflow:hidden; border:1px solid rgba(199,139,43,.14); border-radius:15px; background:#fffdf9; }
.hs-native-sky-widget > * { max-width:100%; }
body.admin-bar .hs-header { top:32px; }
@media (max-width:782px) { body.admin-bar .hs-header { top:46px; } }

/* 1.1.6 runtime integrations: Publisher forecast + Local Sky */
.forecast-copy .hs-reading-section { margin:0 0 22px; }
.forecast-copy .hs-reading-section h2 { margin:0 0 9px; font-family:var(--hs-serif); font-size:1.28rem; color:#242235; }
.forecast-copy .hs-reading-section p { margin:0 0 10px; color:#555264; line-height:1.7; }
.forecast-copy .hs-reading-tip { margin:22px 0; padding:18px 20px; border:1px solid rgba(171,130,204,.22); border-radius:14px; background:linear-gradient(135deg,#fbf7ff,#fff9ef); }
.forecast-copy .hs-reading-sky, .forecast-copy .hs-reading-methodology { padding-top:16px; border-top:1px solid rgba(91,72,55,.10); }
.forecast-unavailable { padding:16px 18px; border:1px solid rgba(199,139,43,.16); border-radius:12px; background:#fffaf2; color:#6d6570; }
.sign-sky-card { margin-top:14px; padding:16px; }
.sign-sky-card__eyebrow { display:block; margin-bottom:11px; color:var(--hs-gold-deep); font-size:.64rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hs-sky--compact .hs-sky-row { margin-top:7px; }
.hs-sky--compact .hs-sky-foot { margin-top:11px; }
.hs-sky--compact .hs-sky-status { margin-top:7px; }
