/* Cuaderno (soles) */
.solar-notebook{
  position:relative;
  padding:28px; border-radius:20px; border:1px solid var(--stroke);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  overflow:hidden; min-height:380px;
}
.suns{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: clamp(14px, 2.2vw, 96px);
  align-items:center; justify-items:center;
}
@media (max-width:1100px){ .suns{ grid-template-columns: repeat(6, minmax(0,1fr)); } }
@media (max-width:900px){ .suns{ grid-template-columns: repeat(5, minmax(0,1fr)); } }
@media (max-width:700px){ .suns{ grid-template-columns: repeat(4, minmax(0,1fr)); } }
@media (max-width:520px){ .suns{ grid-template-columns: repeat(3, minmax(0,1fr)); } }

.sun{
  --size: clamp(64px, 7.4vw, 92px);
  width: var(--size); height: var(--size);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fff 0%, var(--sun-core) 40%, var(--sun-corona) 70%, #ff9800 100%);
  box-shadow: var(--sun-shadow), 0 0 40px var(--sun-halo);
  position:relative; display:grid; place-items:center;
  text-decoration:none; color:#1a1302; font-weight:900; letter-spacing:.2px;
  border: 1px solid rgba(255,193,7,.45);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  user-select:none; outline:none;
}
.sun::before{
  content:""; position:absolute; inset:-6px; border-radius:50%;
  border:1px dashed rgba(255,221,87,.35);
  box-shadow: 0 0 16px rgba(255,221,87,.15) inset;
  animation: orbit 6s linear infinite; pointer-events:none;
}
@keyframes orbit{ to{ transform: rotate(360deg) } }
.sun::after{
  content:""; position:absolute; inset:-16%; border-radius:50%;
  background: radial-gradient(circle, rgba(255,214,102,.16), transparent 60%); filter: blur(6px);
  animation: pulse 2.4s ease-in-out infinite; pointer-events:none;
}
@keyframes pulse{ 0%,100%{ transform:scale(.96); opacity:.8 } 50%{ transform:scale(1.08); opacity:1 } }
.sun .label{ font-size: clamp(11px, 1.1vw, 13px); text-transform: uppercase; mix-blend-mode:multiply; }
.sun:hover, .sun:focus-visible{ transform: scale(1.08); box-shadow: 0 12px 48px rgba(255,209,77,.35), 0 0 80px rgba(255,209,77,.25) inset; }
.sun:active{ transform: scale(1.0); }

/* Modal (dialog) */
#weekModal{
  border:none; padding:0; border-radius:20px; background:transparent;
}
#weekModal::backdrop{
  background: rgba(0,0,0,.55);
}
.modal-card{
  width:min(680px, 92vw); border:1px solid var(--stroke); border-radius:20px;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  color:var(--text); box-shadow: var(--shadow);
}
.modal-header{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 18px; border-bottom:1px solid var(--stroke);
}
.modal-header h3{ margin:0; font-size:20px; }
.modal-close{
  appearance:none; border:none; background:transparent; color:var(--text);
  font-size:20px; line-height:1; cursor:pointer;
}
.modal-body{ padding:16px 18px; color:var(--muted); }
.modal-body ul{ margin:10px 0 0 18px; }
.modal-footer{
  display:flex; gap:10px; padding:14px 18px; border-top:1px solid var(--stroke);
  justify-content:flex-end; flex-wrap:wrap;
}
#weekDemoBtn{ display:none !important; }
