/* ===========================================================================
   AnkJyotish v2 — About / FAQ / Power Dates / Compatibility
   =========================================================================== */

/* ---- Generic content page + prose --------------------------------------- */
.page { max-width:var(--container-narrow); padding-block:var(--sp-6) var(--sp-8); }
.page__head { margin-bottom:var(--sp-6); }
.page__head h1 { font-size:var(--fs-hero); font-weight:500; margin-block:var(--sp-2) var(--sp-3); }
.page__head .muted { font-size:var(--fs-lg); max-width:60ch; }
.prose { max-width:68ch; }
.prose h2 { font-size:var(--fs-h3); font-weight:600; margin-top:var(--sp-6); margin-bottom:var(--sp-2); padding-bottom:var(--sp-2); border-bottom:1px solid var(--rule); }
.prose h3 { font-size:1.05rem; font-weight:600; margin-top:var(--sp-4); margin-bottom:var(--sp-1); color:var(--sindoor-700); }
.prose p { margin-top:var(--sp-3); color:var(--ink); }
.prose ul { margin:var(--sp-3) 0; padding-left:1.2rem; }
.prose li { margin-bottom:.4rem; }
.prose strong { font-weight:600; }
.prose a { color:var(--accent-ink); border-bottom:1px solid var(--line-2); }
.prose a:hover { border-color:var(--ink); }

/* ---- FAQ accordions ------------------------------------------------------ */
.faq { border-top:1px solid var(--ink); margin-top:var(--sp-2); }
.qa { border-bottom:1px solid var(--rule); }
.qa > summary {
  display:flex; align-items:flex-start; gap:var(--sp-3); padding:var(--sp-4) var(--sp-1);
  cursor:pointer; list-style:none; font-family:var(--font-display); font-size:1.08rem; font-weight:500; color:var(--ink);
}
.qa > summary::-webkit-details-marker { display:none; }
.qa > summary::after { content:"+"; margin-left:auto; color:var(--sindoor); font-size:1.3rem; line-height:1; }
.qa[open] > summary::after { content:"\2013"; }
.qa > summary:hover { color:var(--sindoor); }
.qa__body { padding:0 var(--sp-5) var(--sp-5) var(--sp-1); max-width:70ch; }
.qa__body p { margin-top:var(--sp-2); color:var(--ink); }

/* ---- Shared form bits ---------------------------------------------------- */
.subject-form .form-grid + .form-legend { margin-top:var(--sp-6); }
.form-legend { font-size:var(--fs-2xs); font-weight:600; text-transform:uppercase; letter-spacing:.16em; color:var(--sindoor-700); margin-bottom:var(--sp-4); padding-bottom:var(--sp-2); border-bottom:1px solid var(--rule); }
.form-actions { margin-top:var(--sp-5); }

/* ---- Power Dates --------------------------------------------------------- */
.pd { display:grid; grid-template-columns:1.25fr .75fr; gap:var(--sp-7); align-items:start; margin-top:var(--sp-5); }
.cal__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--sp-4); }
.cal__head h2 { font-size:var(--fs-h3); font-weight:600; }
.cal__nav { width:2.2rem; height:2.2rem; display:grid; place-items:center; border:1px solid var(--line-2); border-radius:var(--r-pill); font-size:1.2rem; color:var(--ink); transition:border-color var(--t-fast), color var(--t-fast); }
.cal__nav:hover { border-color:var(--ink); color:var(--sindoor); }
.cal__grid { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
.cal__wd { text-align:center; font-size:var(--fs-2xs); font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-3); padding-bottom:var(--sp-1); }
.cal__pad { aspect-ratio:1; }
.cal__day {
  position:relative; aspect-ratio:1; display:flex; flex-direction:column; justify-content:space-between;
  padding:.35rem .4rem; border:1px solid var(--rule); border-radius:var(--r-sm);
  color:var(--ink); transition:box-shadow var(--t-fast), border-color var(--t-fast);
}
.cal__day:hover { border-color:var(--ink); }
.cal__day--positive { background:rgba(46,107,79,.15); }
.cal__day--negative { background:rgba(178,48,34,.13); }
.cal__day--neutral  { background:var(--paper); }
.cal__d { font-family:var(--font-num); font-weight:500; font-size:1.05rem; line-height:1; }
.cal__pd { align-self:flex-end; font-family:var(--font-num); font-size:.7rem; color:var(--ink-3); line-height:1; }
.cal__day.is-today { border-color:var(--ink-2); }
.cal__day.is-today .cal__d::after { content:""; display:inline-block; width:4px; height:4px; border-radius:50%; background:var(--ink); margin-left:3px; vertical-align:middle; }
.cal__day.is-selected { box-shadow:inset 0 0 0 2px var(--sindoor); border-color:transparent; }
.cal__day.is-selected .cal__d { color:var(--sindoor); }
.cal__legend { display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-4); margin-top:var(--sp-4); font-size:var(--fs-xs); color:var(--ink-2); align-items:center; }
.cal__legend span { display:inline-flex; align-items:center; gap:.45em; }
.sw { width:.85em; height:.85em; border-radius:3px; display:inline-block; border:1px solid var(--rule); }
.sw--pos { background:rgba(46,107,79,.3); }
.sw--neg { background:rgba(178,48,34,.28); }
.sw--neu { background:var(--paper); }

.pd__report { border:1px solid var(--rule); border-left:3px solid var(--ink-3); border-radius:var(--r); padding:var(--sp-5); background:var(--paper-warm); }
.pd__report--positive { border-left-color:var(--green); }
.pd__report--negative { border-left-color:var(--red); }
.pd__report--neutral  { border-left-color:var(--ink-3); }
.pd__date { font-family:var(--font-display); font-size:1.2rem; font-weight:500; margin-top:var(--sp-1); }
.pd__nums { display:flex; align-items:flex-end; gap:var(--sp-5); margin:var(--sp-4) 0; }
.pd__big { font-family:var(--font-num); font-weight:500; font-size:var(--fs-mega); line-height:.85; color:var(--sindoor); }
.pd__big span, .pd__mini span { display:block; font-family:var(--font-body); font-size:var(--fs-2xs); text-transform:uppercase; letter-spacing:.12em; color:var(--ink-3); margin-top:var(--sp-2); }
.pd__mini { font-family:var(--font-num); font-weight:500; font-size:1.8rem; line-height:.85; color:var(--ink); }
.pd__desc { color:var(--ink); }
.pd__desc p { margin-top:var(--sp-3); }
.pd__desc b { font-weight:600; }
.pd__foot { margin-top:var(--sp-4); padding-top:var(--sp-3); border-top:1px solid var(--rule); font-size:var(--fs-sm); }

/* ---- Compatibility ------------------------------------------------------- */
.compat__verdict { text-align:center; padding:var(--sp-6) var(--sp-4); border:1px solid var(--rule); border-radius:var(--r-lg); margin-bottom:var(--sp-6); }
.compat__verdict.is-pos { background:rgba(46,107,79,.07); border-color:rgba(46,107,79,.3); }
.compat__verdict.is-neg { background:rgba(178,48,34,.06); border-color:rgba(178,48,34,.28); }
.compat__verdict.is-neu { background:var(--paper-warm); }
.compat__overall { font-family:var(--font-display); font-size:var(--fs-hero); font-weight:600; margin-block:var(--sp-2); }
.compat__verdict.is-pos .compat__overall { color:var(--green); }
.compat__verdict.is-neg .compat__overall { color:var(--red); }
.compat__pair-names { color:var(--ink-2); font-size:var(--fs-lg); }
.compat__people { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5); margin-bottom:var(--sp-6); }
.compat__person { border:1px solid var(--rule); border-radius:var(--r); padding:var(--sp-4); }
.compat__person h3 { font-size:1.1rem; font-weight:600; margin-bottom:var(--sp-3); padding-bottom:var(--sp-2); border-bottom:1px solid var(--rule); }
.compat__nums { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sp-3); }
.compat__nums div { display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-2); }
.compat__nums dt { font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.08em; color:var(--ink-3); }
.compat__nums dd { font-family:var(--font-num); font-weight:500; font-size:1.6rem; line-height:1; color:var(--ink); }
.compat__pairs { border-top:1px solid var(--ink); }
.compat__row { padding:var(--sp-4) 0; border-bottom:1px solid var(--rule); }
.compat__rowhead { display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.compat__label { font-family:var(--font-display); font-size:1.05rem; font-weight:500; }
.compat__vs { font-family:var(--font-num); font-size:1.2rem; color:var(--ink-2); }
.compat__vs em { color:var(--ink-3); font-style:normal; padding:0 .15em; }
.compat__line { margin-top:var(--sp-2); color:var(--ink-2); max-width:64ch; }
.badge { margin-left:auto; font-size:var(--fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:.25rem .6rem; border-radius:var(--r-pill); border:1px solid currentColor; }
.badge.is-pos { color:var(--green); }
.badge.is-neg { color:var(--red); }
.badge.is-neu { color:var(--ink-3); }

/* ---- Responsive ---------------------------------------------------------- */
@media (max-width:820px) {
  .pd { grid-template-columns:1fr; gap:var(--sp-6); }
  .compat__people { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .cal__grid { gap:3px; }
  .cal__day { padding:.25rem .3rem; }
  .pd__nums { gap:var(--sp-4); }
}
