/* ══════════════════════════════════════════════════════════
   LunaLlena · moon-visuals.css
   Shared visual components for secondary pages.
   Coherent with the home: Cinzel + Cormorant, lavender accents,
   gold #c9a84c, hairline borders, soft glow.
   ══════════════════════════════════════════════════════════ */

.moon-svg{display:block;width:100%;height:100%;}
.moon-ico{display:inline-block;line-height:0;}

/* ── phase cycle strip ── */
[data-phase-strip]{display:grid;grid-template-columns:repeat(8,1fr);gap:.4rem;
  border:1px solid rgba(196,196,255,.08);border-radius:8px;
  background:rgba(196,196,255,.025);padding:1.3rem .9rem;margin:1.4rem 0 2rem;}
.phase-strip-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;}
.phase-strip-item .moon-ico{width:clamp(26px,6vw,46px);height:clamp(26px,6vw,46px);}
.phase-strip-label{font-family:'Cinzel',serif;font-size:.5rem;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(196,196,255,.42);line-height:1.3;}
@media(max-width:560px){
  [data-phase-strip]{grid-template-columns:repeat(4,1fr);gap:.6rem .4rem;}
  .phase-strip-label{font-size:.52rem;}
}

/* ── data cards grid ── */
.lv-grid{display:grid;gap:1rem;margin:1.4rem 0 2rem;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));}
.lv-card{border:1px solid rgba(196,196,255,.08);border-radius:8px;
  background:rgba(196,196,255,.022);padding:1.3rem 1.3rem 1.4rem;
  transition:border-color .25s,background .25s;}
.lv-card:hover{border-color:rgba(196,196,255,.2);background:rgba(196,196,255,.04);}
.lv-card-ico{width:46px;height:46px;margin-bottom:.85rem;}
.lv-card-glyph{font-family:'Cinzel',serif;font-size:1.7rem;line-height:1;
  color:rgba(236,232,245,.82);margin-bottom:.6rem;display:block;}
.lv-card-title{font-family:'Cinzel',serif;font-size:.82rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.66);margin-bottom:.2rem;}
.lv-card-sub{font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:.98rem;color:rgba(196,196,220,.45);margin-bottom:.7rem;}
.lv-card p{font-size:1.02rem;line-height:1.7;color:rgba(220,216,240,.62);margin:0;}

/* element accent borders (zodiac) */
.lv-card.el-fire{border-left:2px solid rgba(224,138,90,.5);}
.lv-card.el-earth{border-left:2px solid rgba(150,170,120,.5);}
.lv-card.el-air{border-left:2px solid rgba(150,190,224,.5);}
.lv-card.el-water{border-left:2px solid rgba(130,150,224,.5);}

/* ── data strip (key facts inline) ── */
.lv-datastrip{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 1.6rem;}
.lv-stat{flex:1 1 120px;border:1px solid rgba(196,196,255,.08);border-radius:7px;
  background:rgba(196,196,255,.02);padding:.9rem 1rem;text-align:center;}
.lv-stat-num{font-family:'Cinzel',serif;font-size:clamp(1.2rem,3vw,1.7rem);
  color:#fff;line-height:1;letter-spacing:.02em;}
.lv-stat-num .u{font-size:.6em;color:rgba(196,196,255,.55);margin-left:.12em;}
.lv-stat-label{font-family:'Cinzel',serif;font-size:.56rem;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(196,196,255,.4);margin-top:.5rem;}

/* ── countdown ── */
.lv-countdown{border:1px solid rgba(201,168,76,.22);border-radius:10px;
  background:radial-gradient(ellipse 80% 120% at 50% 0%,rgba(201,168,76,.07),transparent 70%),rgba(196,196,255,.018);
  padding:1.6rem 1.4rem;margin:1.4rem 0 2rem;text-align:center;}
.lv-countdown-head{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.1rem;flex-wrap:wrap;}
.lv-countdown-head .moon-ico{width:54px;height:54px;flex-shrink:0;}
.lv-countdown-eyebrow{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.3em;
  text-transform:uppercase;color:rgba(196,196,255,.45);}
.lv-countdown-date{font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:1.25rem;color:rgba(236,232,245,.8);margin-top:.15rem;}
.lv-cd-clock{display:flex;justify-content:center;gap:clamp(.7rem,3vw,1.8rem);}
.lv-cd-unit{display:flex;flex-direction:column;align-items:center;}
.lv-cd-unit b{font-family:'Cinzel',serif;font-weight:400;
  font-size:clamp(1.6rem,6vw,2.6rem);color:#fff;line-height:1;
  font-variant-numeric:tabular-nums;text-shadow:0 0 12px rgba(196,196,255,.25);}
.lv-cd-unit span{font-family:'Cinzel',serif;font-size:.54rem;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(196,196,255,.4);margin-top:.5rem;}

/* ── vertical timeline ── */
.lv-timeline{position:relative;margin:1.4rem 0 2rem;padding-left:0;list-style:none;}
.lv-tl-item{display:grid;grid-template-columns:54px 1fr;gap:1rem;align-items:start;
  padding:.9rem 0;border-bottom:1px solid rgba(196,196,255,.06);}
.lv-tl-item:last-child{border-bottom:none;}
.lv-tl-moon{width:54px;height:54px;}
.lv-tl-body .lv-tl-date{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.18em;
  text-transform:uppercase;color:#c9a84c;margin-bottom:.2rem;}
.lv-tl-body .lv-tl-title{font-family:'Cinzel',serif;font-size:.85rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:.25rem;}
.lv-tl-body p{font-size:.98rem;line-height:1.65;color:rgba(220,216,240,.55);margin:0;}
.lv-tl-item.is-next{background:rgba(201,168,76,.05);border-radius:8px;
  padding:.9rem .8rem;border-bottom:none;outline:1px solid rgba(201,168,76,.22);}

/* ── eclipse diagram helpers ── */
.lv-eclipse-diagram{max-width:520px;margin:1.2rem auto 1.8rem;}
.lv-eclipse-diagram svg{display:block;width:100%;height:auto;}
.lv-fig-caption{font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:.95rem;color:rgba(196,196,220,.45);text-align:center;margin-top:.5rem;}

/* ── breath ring (mindfulness) ── */
.lv-breath{display:flex;flex-direction:column;align-items:center;gap:1.1rem;
  margin:1.4rem 0 2rem;}
.lv-breath-ring{position:relative;width:min(220px,70vw);height:min(220px,70vw);}
.lv-breath-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.lv-breath-orb{position:absolute;inset:0;margin:auto;width:38%;height:38%;border-radius:50%;
  background:radial-gradient(circle at 38% 36%,#f0f0ff,#9a9ac0);
  box-shadow:0 0 30px rgba(196,196,255,.35);
  animation:lvBreath 14s ease-in-out infinite;}
.lv-breath-text{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.25em;
  text-transform:uppercase;color:rgba(196,196,255,.55);min-height:1.2em;}
@keyframes lvBreath{
  0%,100%{transform:scale(.72);}     /* exhale hold / rest */
  28%{transform:scale(1.05);}        /* inhale 4 */
  57%{transform:scale(1.05);}        /* hold 4 */
}
@media(prefers-reduced-motion:reduce){
  .lv-breath-orb{animation:none;}
}
