/* Ephemeris */
.ephemeris-saint { display:flex; flex-direction:column; align-items:center; text-align:center; gap:0.75rem; margin-bottom:1rem; }
.ephemeris-saint-label { font-size:0.875rem; color:rgba(255,255,255,0.5); text-transform:uppercase; letter-spacing:0.05em; }
.ephemeris-saint-name { font-size:1.875rem; font-weight:700; color:#fff; line-height:1.3; }
.ephemeris-meta { text-align:center; font-size:0.875rem; color:rgba(255,255,255,0.65); line-height:1.7; margin:0.75rem 0; }
.ephemeris-meta i { width:1.25rem; display:inline-block; text-align:center; color:rgba(255,255,255,0.4); }
.ephemeris-dicton { border-top:1px solid rgba(255,255,255,0.1); padding-top:1rem; margin-top:1rem; }
.ephemeris-dicton-label { display:flex; align-items:center; gap:0.5rem; color:rgba(255,255,255,0.6); font-size:0.875rem; text-transform:uppercase; margin-bottom:0.5rem; }
.ephemeris-dicton-text { font-size:1.125rem; color:rgba(255,255,255,0.9); font-style:italic; line-height:1.6; }
.sun-grid { display:flex; gap:0.5rem; margin-top:1rem; }
.sun-item {
  display:flex; align-items:center; justify-content:center; gap:0.5rem; flex:1;
  background:rgba(255,255,255,0.05); border-radius:0.75rem; padding:0.5rem;
}
.sun-item:first-child {
  background: linear-gradient(135deg, rgba(251,146,60,0.15), rgba(249,115,22,0.1));
  border: 1px solid rgba(251,146,60,0.2);
}
.sun-item:last-child {
  background: linear-gradient(135deg, rgba(139,92,246,0.15), rgba(99,102,241,0.1));
  border: 1px solid rgba(139,92,246,0.2);
}
.sun-label { font-size:0.75rem; color:rgba(255,255,255,0.5); text-transform:uppercase; }
.sun-val { font-size:1.125rem; font-weight:700; color:#fff; }

/* Moon - Responsive Layout */
/* Mobile: Vertical centered (5rem icon) */
.moon-wrap { 
  display:flex; 
  flex-direction:column;
  align-items:center; 
  gap:1rem; 
  margin-top:1rem; 
  padding:1.5rem; 
  background: linear-gradient(135deg, rgba(139,92,246,0.08), rgba(99,102,241,0.05));
  border: 1px solid rgba(139,92,246,0.15);
  border-radius:0.75rem;
  min-height:auto;
  position:relative;
}
.moon-icon-wrap { 
  width:5rem; 
  height:5rem;
  flex-shrink:0;
  filter: drop-shadow(0 4px 12px rgba(139,92,246,0.3));
  display:flex;
  align-items:center;
  justify-content:center;
}
.moon-icon-wrap svg {
  width: 100%;
  height: 100%;
  display: block;
}
.moon-phase-info {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  flex:1;
  text-align:center;
}
.moon-phase-label {
  font-size:0.75rem;
  color:rgba(255,255,255,0.5);
  text-transform:uppercase;
  letter-spacing:0.05em;
  font-weight:600;
}
.moon-name { 
  font-size:1.5rem; 
  font-weight:700; 
  color:#fff;
  line-height:1.2;
}
.moon-age { 
  font-size:0.875rem; 
  color:rgba(255,255,255,0.7);
  font-weight:500;
}

/* Desktop: Horizontal with large icon left (7rem) */
@media(min-width:768px){
  .moon-wrap {
    flex-direction:row;
    align-items:center;
    gap:1.5rem;
    min-height:10rem;
  }
  .moon-icon-wrap {
    width:7rem;
    height:7rem;
  }
  .moon-phase-info {
    align-items:flex-start;
    gap:0.75rem;
    text-align:left;
  }
  .moon-name {
    font-size:1.75rem;
  }
  .moon-age {
    font-size:1rem;
  }
}

/* Vigilance */
.vigilance-bar { display:flex; align-items:center; gap:0.5rem; padding:0.5rem 0.75rem; border-radius:0.5rem; font-size:0.75rem; font-weight:500; margin-top:0.75rem; }
.vigilance-green { background:rgba(16,185,129,0.15); color:#6ee7b7; border:1px solid rgba(16,185,129,0.3); }
.vigilance-yellow { background:rgba(245,158,11,0.15); color:#fcd34d; border:1px solid rgba(245,158,11,0.3); }
.vigilance-orange { background:rgba(249,115,22,0.15); color:#fdba74; border:1px solid rgba(249,115,22,0.3); }
.vigilance-red { background:rgba(244,63,94,0.15); color:#fda4af; border:1px solid rgba(244,63,94,0.3); }

/* Holidays embedded in ephemeris */
.holidays-embed { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,0.15); text-align:center; }

.holiday-label-next { font-size:0.625rem; text-transform:uppercase; font-weight:700; letter-spacing:0.03em; color:#fcd34d; white-space:nowrap; }
.holiday-label-after { font-size:0.625rem; text-transform:uppercase; font-weight:700; letter-spacing:0.03em; color:#60a5fa; white-space:nowrap; }
.holiday-count-next { font-size:1.25rem; font-weight:700; color:#fcd34d; line-height:1.2; }
.holiday-count-after { font-size:1.25rem; font-weight:700; color:#60a5fa; line-height:1.2; }
body.theme-light .holiday-label-next { color:#92400e; }
body.theme-light .holiday-label-after { color:#1d4ed8; }
body.theme-light .holiday-count-next { color:#92400e; }
body.theme-light .holiday-count-after { color:#1d4ed8; }

/* World Day block */
.ephemeris-world-day {
  text-align:center; margin:0.75rem 0; padding:0.75rem;
  background:rgba(255,255,255,0.05); border-radius:0.5rem;
  border-left:3px solid rgba(59,130,246,0.6);
}
#ephWorldDayText {
  font-size:0.875rem; font-weight:600; color:#fff; line-height:1.4;
}
body.theme-light .ephemeris-world-day {
  background:rgba(0,0,0,0.04);
  border-left-color:rgba(59,130,246,0.5);
}
body.theme-light #ephWorldDayText {
  color:#0f172a;
}

/* Theme light overrides */
body.theme-light .ephemeris-saint-label { color: rgba(0,0,0,0.65); }
body.theme-light .ephemeris-saint-name { color: #0f172a; }
body.theme-light .ephemeris-meta { color: rgba(0,0,0,0.7); }
body.theme-light .ephemeris-meta i { color: rgba(0,0,0,0.55); }
body.theme-light .ephemeris-secondary { color: rgba(0,0,0,0.65) !important; }
body.theme-light .ephemeris-dicton { border-top-color: rgba(0,0,0,0.12); }
body.theme-light .ephemeris-dicton-label { color: rgba(0,0,0,0.65); }
body.theme-light .ephemeris-dicton-text { color: rgba(0,0,0,0.9); }
body.theme-light .sun-item { background: rgba(0,0,0,0.06); border: none; }
body.theme-light .sun-item:first-child {
  background: linear-gradient(135deg, rgba(251,146,60,0.12), rgba(249,115,22,0.08));
  border: 1px solid rgba(251,146,60,0.25);
}
body.theme-light .sun-item:last-child {
  background: linear-gradient(135deg, rgba(139,92,246,0.12), rgba(99,102,241,0.08));
  border: 1px solid rgba(139,92,246,0.25);
}
body.theme-light .sun-label { color: rgba(0,0,0,0.65); }
body.theme-light .sun-val { color: #0f172a; }
body.theme-light .moon-wrap { 
  background: linear-gradient(135deg, rgba(139,92,246,0.06), rgba(99,102,241,0.03));
  border-color: rgba(139,92,246,0.2);
}
body.theme-light .moon-icon-wrap {
  filter: drop-shadow(0 4px 12px rgba(139,92,246,0.2));
}
body.theme-light .moon-phase-label { color: rgba(0,0,0,0.65); }
body.theme-light .moon-name { color: #0f172a; }
body.theme-light .moon-age { color: rgba(0,0,0,0.65); }
body.theme-light .holidays-embed { border-top-color: rgba(0,0,0,0.12); }
body.theme-light .vigilance-green { background:rgba(16,185,129,0.1); border-color:rgba(16,185,129,0.3); color:#047857; }
body.theme-light .vigilance-yellow { background:rgba(245,158,11,0.1); border-color:rgba(245,158,11,0.3); color:#92400e; }
body.theme-light .vigilance-orange { background:rgba(249,115,22,0.1); border-color:rgba(249,115,22,0.3); color:#9a3412; }
body.theme-light .vigilance-red { background:rgba(244,63,94,0.1); border-color:rgba(244,63,94,0.3); color:#9f1239; }
