/* ══════════════════════════════════════════════════════════════════
   /css/venus.css — Free Venus Sign Calculator (2026-09-12)
   Scoped .ven-page — rides on transits.css / asteroids.css /
   solar-return.css / saturn-return.css (writeup dress) for the shared
   manuscript chrome.
   Palette: parchment #FBF3DC · ink #2D1F38 · wine #6B1F2C ·
            gold #B89150 / #D4AC68 / deep #8E6E3A
══════════════════════════════════════════════════════════════════ */

/* ── Sign card — wears the eclipse/Saturn "phase card" dress (sat-phase-*), 2026-09-12 ── */
.ven-page .results-meta { font-size: 1.32rem; }
.ven-page .ven-sign-card { max-width: 640px; }
.ven-page .ven-sign-glyph { display: block; margin: 0 auto 0.7rem; line-height: 0; }
.ven-page .ven-sign-glyph svg { width: 40px; height: 54px; display: inline-block; }
.ven-page .ven-sign-card .sat-phase-headline .ast-rx { color: #6B1F2C; font-style: normal; }
.ven-page .ven-sign-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem 0.5rem;
  margin-top: 1rem;
}
.ven-page .ven-pill {
  font-family: 'Cinzel', serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #75592A;
  background: rgba(253,245,227,0.85);
  border: 1px solid rgba(184,145,80,0.7);
  border-radius: 999px;
  /* Cinzel's caps sit high in their box — inline-flex centring + a touch more top padding lands them optically centred */
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.75rem 0.32rem;
  line-height: 1;
}
.ven-page .ven-pill-dignity {
  color: #FBF3DC;
  background: linear-gradient(180deg, #8E6E3A, #6B4E22);
  border-color: #8E6E3A;
}
.ven-page .ven-pill-rx {
  color: #FBF3DC;
  background: linear-gradient(180deg, #8C3A48, #6B1F2C);
  border-color: #6B1F2C;
}
.ven-page .ven-sign-sub {
  margin-top: 0.45rem;
  font-family: 'EB Garamond', serif;
  font-weight: 600;
  font-size: 1.14rem;
  color: #6B1F2C;
}

/* ── The Venus dial (illuminated card) ── */
.ven-page .ven-dial-wrap { margin-top: 3rem; text-align: center; }
.ven-page .ven-dial-wrap .ast-group-script { font-size: 2.3rem; }
.ven-page #ven-dial {
  max-width: 640px;
  margin: 1.4rem auto 0;
  padding: 1.2rem 1rem 0.6rem;
  background: linear-gradient(175deg, #FDF5E3, #F0DFC8);
  border: 1px solid #B89150;
  border-radius: 10px;
  box-shadow: inset 0 0 0 4px rgba(253,245,227,0.65), inset 0 0 0 5px rgba(184,145,80,0.5);
}
.ven-page .ven-dial-svg { width: 100%; height: auto; display: block; }
.ven-page .ven-dial-tick {
  font-family: 'Marcellus', serif;
  font-size: 12.5px;
  fill: #8E6E3A;
}
.ven-page .ven-dial-side {
  font-family: 'Cinzel', serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  fill: #B89150;
}
.ven-page .ven-dial-side.is-on { fill: #6B1F2C; }
.ven-page .ven-dial-sunglyph {
  font-family: 'Marcellus', serif;
  font-size: 20px;
  fill: #8E6E3A;
}
.ven-page .ven-dial-venuslabel {
  font-family: 'Cinzel', serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  fill: #6B1F2C;
}
.ven-page .ven-dial-rx {
  font-family: 'Marcellus', serif;
  font-size: 14px;
  fill: #6B1F2C;
}
.ven-page .ven-dial-caption {
  font-family: 'EB Garamond', serif;
  font-style: italic;
  font-weight: 700;
  font-size: 18px;
  fill: #6B1F2C;
}
.ven-page .ven-dial-venus { animation: venStarBreathe 3.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes venStarBreathe {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.82; }
}
@media (prefers-reduced-motion: reduce) {
  .ven-page .ven-dial-venus { animation: none; }
}

/* ── Aspect rows — /asteroids/ ast-row dress; only the Venus extras here ── */
.ven-page #ven-aspects {
  max-width: 760px;
  margin: 0 auto;
}
.ven-page .ven-asp-row { align-items: center; }
.ven-page .ven-asp-row .ast-row-head { align-items: center; }
.ven-page .ven-asp-glyph {
  font-family: 'Marcellus', Georgia, serif;
  font-size: 1.6rem;
  line-height: 1;
}
.ven-page .ven-asp-type {
  font-family: 'EB Garamond', serif;
  font-style: italic;
  font-weight: 600;
  text-transform: lowercase;
  color: #75592A;
}

/* ── Next-return card ── */
.ven-page .ven-return-card {
  max-width: 620px;
  margin: 2.6rem auto 0;
  padding: 1.7rem 2rem 1.8rem;
  text-align: center;
  background: linear-gradient(175deg, #FDF5E3, #F0DFC8);
  border: 1px solid #B89150;
  border-radius: 10px;
  box-shadow: inset 0 0 0 4px rgba(253,245,227,0.65), inset 0 0 0 5px rgba(184,145,80,0.5);
}
.ven-page .ven-return-card:empty { display: none; }
.ven-page .ven-return-eyebrow {
  font-family: 'Cinzel', serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6B1F2C;
}
.ven-page .ven-return-headline {
  margin-top: 0.55rem;
  font-family: 'Cinzel', serif;
  font-size: clamp(1.1rem, 2.4vw, 1.4rem);
  font-weight: 700;
  line-height: 1.35;
  color: #2D1F38;
}
.ven-page .ven-return-headline strong { color: #6B1F2C; }
.ven-page .ven-return-headline .ast-rx { color: #6B1F2C; font-style: normal; }
.ven-page .ven-return-sub {
  margin: 0.7rem auto 0;
  max-width: 46ch;
  font-family: 'EB Garamond', serif;
  font-size: 1.18rem;
  line-height: 1.55;
  color: #2D1F38;
}
.ven-page .ven-return-sub strong { color: #6B1F2C; }
.ven-page .ven-return-sub .ast-rx { color: #6B1F2C; font-style: normal; }
.ven-page .ven-return-note { font-style: italic; font-size: 1.3rem; color: #2D1F38; }

/* ── Writeup — rides on .sat-writeup from saturn-return.css; aspect lines tighter ── */
.ven-page .ven-writeup-aspects p { margin-bottom: 0.9rem; }
.ven-page .ven-writeup-aspects p strong { color: #6B1F2C; font-weight: 700; }

/* ── "Coming very soon" pill — the hdc-soon-pill dress, scoped here since
   hd-compat.css is not linked on this page ── */
.ven-page .ven-soon-pill {
  display: inline-block;
  font-family: 'Cinzel', serif;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0.12em;
  color: #6B1F2C;
  background: linear-gradient(180deg, #F0D89A 0%, #D4AC68 100%);
  border: 1.5px solid #8E6E3A;
  border-radius: 999px;
  padding: 0.75rem 2rem;
  margin-top: 0.4rem;
  box-shadow: 0 2px 10px rgba(184, 145, 80, 0.45);
}

/* ── What Venus rules — three lines under the hero (2026-09-12) ── */
.ven-page .ven-rules {
  background: #FBF3DC;
  padding: 3.2rem 1.5rem 2.6rem;
  border-bottom: 1px solid rgba(184, 145, 80, 0.35);
}
.ven-page .ven-rules-inner { max-width: 880px; margin: 0 auto; text-align: center; }
.ven-page .ven-rules-title {
  font-family: 'EB Garamond', Georgia, serif;
  font-style: italic;
  font-weight: 600;
  font-size: clamp(2rem, 3.6vw, 2.8rem);
  color: #6B1F2C;
  margin: 0.35rem 0 1.6rem;
}
.ven-page .ven-rules-title em { color: #8E6E3A; }
.ven-page .ven-rules-list {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem 2rem;
  text-align: left;
}
.ven-page .ven-rules-list li {
  position: relative;
  padding-left: 1.5rem;
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 1.22rem;   /* = .ast-lore-text p */
  line-height: 1.62;
  color: #2D1F38;
}
.ven-page .ven-rules-list strong { color: #6B1F2C; font-weight: 600; }
.ven-page .ven-rules-mark { position: absolute; left: 0; top: 0.15em; color: #B89150; font-size: 0.95rem; }
.ven-page .ven-rules-note {
  max-width: 62ch;
  margin: 1.9rem auto 0;
  font-family: 'EB Garamond', Georgia, serif;
  font-style: italic;
  font-weight: 600;
  font-size: 1.22rem;
  line-height: 1.6;
  color: #6B1F2C;
}
@media (max-width: 760px) {
  .ven-page .ven-rules { padding: 2.4rem 1.2rem 2rem; }
  .ven-page .ven-rules-list { grid-template-columns: 1fr; gap: 1rem; }
}

/* ── Lore bands: watercolor medallion art (2026-09-12, Michael: "better images like the Chinese page")
   + paragraphs in the same ink as the Chinese page (#2D1F38, not the warm brown the ast-lore default uses) ── */
.ven-page .ast-lore-art img {
  display: block;
  width: 300px; height: 300px;
  border-radius: 50%;
  box-shadow: 0 14px 34px -14px rgba(74, 22, 32, 0.45), 0 0 0 1px rgba(184, 145, 80, 0.35);
}
.ven-page .ast-lore-text p { color: #2D1F38; }
.ven-page .ast-lore-text strong { color: #6B1F2C; }

/* ── Hero medallions: breathing star / glyph, Venus travelling her ring ── */
/* transform-box: view-box makes "50% 50%" the centre of the 100×100 viewBox (without it the origin is the
   element's own bounding box → the orbit lurches and the glyph judders). Venus travels COUNTER-clockwise,
   the direction of the zodiac. */
.ven-page .ven-med-breath { transform-box: view-box; transform-origin: 50% 50%; animation: venMedBreath 4.5s ease-in-out infinite; will-change: transform; }
.ven-page .ven-med-orbit  { transform-box: view-box; transform-origin: 50% 50%; animation: venMedOrbit 24s linear infinite; will-change: transform; }
@keyframes venMedBreath { 0%, 100% { transform: scale(1); opacity: 0.92; } 50% { transform: scale(1.07); opacity: 1; } }
@keyframes venMedOrbit  { from { transform: rotate(360deg); } to { transform: rotate(0deg); } }
@media (prefers-reduced-motion: reduce) { .ven-page .ven-med-breath, .ven-page .ven-med-orbit { animation: none; } }

/* ── Mobile ── */
@media (max-width: 640px) {
  .ven-page .ast-lore-art img { width: 220px; height: 220px; }
  .ven-page .ven-sign-card { flex-direction: column; gap: 0.6rem; text-align: center; padding: 1.3rem 1.1rem; }
  .ven-page .ven-sign-lines { text-align: center; }
  .ven-page .ven-sign-pills { justify-content: center; }
  .ven-page #ven-dial { padding: 0.8rem 0.4rem 0.4rem; }
  .ven-page .ven-return-card { padding: 1.4rem 1.2rem 1.5rem; }
}
