/* A fixed gold reflection. No motion on dates, stars or the best-time number. */
.astro-elektion .ek-cal-circle { width:min(44px,calc(100% - 24px)); height:auto; aspect-ratio:1; margin-right:12px; }
.astro-elektion .ek-cal-star { top:50%; right:-24px; width:20px; height:24px; display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1; transform:translateY(-50%); animation:none; }
.astro-elektion .ek-cal-day.excellent .ek-cal-number,
.astro-elektion .eg-day.excellent .ek-cal-number,
.astro-elektion .eg-gold,
.astro-elektion .ek-timeline-best-label strong {
    color:#e7c975; background:linear-gradient(110deg,#b78633 0%,#e7c975 22%,#fff0b6 39%,#fff8dc 46%,#d6a54d 58%,#f2d88e 78%,#b78633 100%); background-size:100% 100%;
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; text-shadow:0 0 10px rgba(232,201,106,.22); animation:none;
}
.astro-elektion .ek-cal-day.excellent .ek-cal-number { transition:none; }
.eg-overview { min-width:0; font-family:'Hanken Grotesk',sans-serif; }
.eg-heading,.eg-title { font-family:'Fraunces',serif; }
.eg-heading { font-size:23px; margin:0 0 10px; color:var(--astro-text,#eee); }
.eg-panel { margin-top:22px; min-width:0; background:transparent; }
.eg-title { font-size:21px; margin:0 0 6px; color:var(--astro-text,#eee); }
.eg-caption,.eg-zone { color:var(--astro-text-dim,#aaa); font-size:13px; line-height:1.5; margin:0 0 14px; }
.eg-zone { font-size:11px; }
.eg-month-header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:18px 0 16px; }
.eg-month-nav,.eg-best { border:0; color:var(--astro-gold,#e8c96a); background:transparent; cursor:pointer; font:inherit; }
.eg-month-nav { width:40px; height:40px; font-size:27px; }
.eg-month-nav:disabled { opacity:.3; cursor:default; }
.eg-weekdays,.eg-cal-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
.eg-weekdays { text-align:center; color:var(--astro-text-dim,#aaa); font-size:11px; margin-bottom:8px; }
.eg-day { display:flex; justify-content:center; align-items:center; width:100%; padding:5px 0; margin:0; background:transparent; border:0; cursor:pointer; font:inherit; }
.eg-day .ek-cal-circle { width:min(42px,calc(100% - 24px)); }
.eg-day.good .ek-cal-circle,.eg-day.excellent .ek-cal-circle { border:2.5px solid var(--ek-green-border); background:var(--ek-green-bg); color:var(--ek-green); }
.eg-day.excellent .ek-cal-circle { box-shadow:0 0 12px rgba(212,175,55,.4); }
.eg-day.neutral .ek-cal-circle { border:2px dashed var(--ek-yellow-border); background:var(--ek-yellow-bg); color:var(--ek-yellow); }
.eg-day.bad .ek-cal-circle { border:2px dashed var(--ek-red-border); background:var(--ek-red-bg); color:var(--ek-red); }
.eg-day.selected .ek-cal-circle { box-shadow:0 0 0 2px var(--astro-gold,#e8c96a),0 0 14px rgba(232,201,106,.3); }
.eg-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 14px; margin:14px 0 22px; color:var(--astro-text-dim,#aaa); font-size:11px; }
.eg-legend i { font-style:normal; }.eg-legend .excellent { color:var(--astro-gold,#e8c96a); }.eg-legend .good { color:var(--ek-green); }.eg-legend .neutral { color:var(--ek-yellow); }.eg-legend .bad { color:var(--ek-red); }
.eg-detail { border-top:1px solid rgba(159,125,210,.22); padding-top:18px; }
.eg-time-header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; font-size:14px; }
.eg-best { padding:3px 0; white-space:nowrap; font-size:13px; }.eg-best strong { font-size:18px; margin-left:4px; }
.eg-day-rating { font-size:12px; color:var(--astro-text-dim,#aaa); margin:12px 0; }.eg-cap { color:var(--ek-red,#ef8882); font-size:12px; line-height:1.5; }
.eg-graph { height:160px; position:relative; margin:20px 12px 0; }
.eg-graph svg { position:absolute; inset:0; width:100%; height:100%; }
.eg-hour { position:absolute; transform:translate(-50%,-50%); border:0; width:10px; height:10px; border-radius:50%; padding:0; cursor:pointer; background:var(--ek-yellow,#f1c40f); }
.eg-hour.good,.eg-hour.excellent { background:var(--ek-green,#2ecc71); }.eg-hour.bad { background:var(--ek-red,#e74c3c); }
.eg-hour-best { width:16px; height:16px; box-shadow:0 0 0 2px var(--astro-gold,#e8c96a),0 0 9px rgba(232,201,106,.45); }
.eg-hour-selected { outline:2px solid var(--astro-text,#eee); outline-offset:3px; }
.eg-hour-labels { display:flex; justify-content:space-between; font-size:10px; color:var(--astro-text-dim,#aaa); margin:5px 6px 14px; }
.eg-time-control { display:flex; align-items:center; gap:15px; font-size:12px; color:var(--astro-text-dim,#aaa); }
.eg-time-control input { flex:1; min-width:0; accent-color:var(--astro-gold,#e8c96a); cursor:pointer; }
.eg-hour-info { display:flex; flex-direction:column; gap:5px; margin:14px 0 0; font-size:12px; line-height:1.6; color:var(--astro-text-dim,#aaa); }.eg-hour-info strong { color:var(--astro-text,#eee); font-size:14px; }
.eg-day:focus-visible,.eg-month-nav:focus-visible,.eg-best:focus-visible,.eg-hour:focus-visible { outline:2px solid var(--astro-gold,#e8c96a); outline-offset:2px; }
@media(max-width:640px) {
    .astro-elektion .ek-cal-circle,.eg-day .ek-cal-circle { width:min(30px,calc(100% - 14px)); margin-right:7px; font-size:12px; }
    .astro-elektion .ek-cal-star { right:-15px; width:12px; height:18px; font-size:12px; }
    .eg-title { font-size:19px; }.eg-panel { padding:16px 12px; }.eg-cal-grid { gap:3px; }.eg-day { min-height:42px; padding:3px 0; }
    .eg-time-header { font-size:13px; }.eg-hour { width:6px; height:6px; }.eg-hour-best { width:11px; height:11px; }.eg-hour-odd:not(.eg-hour-best):not(.eg-hour-selected) { width:16px; height:16px; background:transparent; }
    .eg-graph { height:140px; }.eg-caption { font-size:12px; }.eg-legend { font-size:10px; gap:8px; }
}
