/* Takvim widget'i: aylik izgara, gun hucreleri, yaklasan etkinlikler, nav butonlari */

.calendar-hero{
  grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);
  width:calc(100% - (var(--page-pad) * 2));
  max-width:1180px;
  margin:0 auto;
  padding:64px 0;
  background:#fff;
  box-shadow:0 0 0 100vmax #fff;
  clip-path:inset(0 -100vmax);
}
.calendar-hero-note{
  align-self:center;
}
.calendar-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:24px;
  max-width:1180px;
  margin:0 auto;
  align-items:start;
}
.calendar-panel,
.upcoming-panel{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow);
}
.calendar-panel{
  overflow:hidden;
}
.calendar-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:22px;
  border-bottom:1px solid var(--line);
}
.calendar-heading span{
  color:var(--forest);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.calendar-heading h2{
  margin:0;
  color:var(--ink);
  font-size:30px;
  line-height:1.1;
}
.calendar-weekdays,
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.calendar-weekdays{
  border-bottom:1px solid var(--line);
  background:#f8faf9;
}
.calendar-weekdays span{
  padding:12px 10px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
}
.calendar-day{
  min-height:60px;
  padding:10px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.calendar-day:nth-child(7n){
  border-right:0;
}
.calendar-day > span{
  display:block;
  color:var(--ink);
  font-size:14px;
  font-weight:900;
  line-height:1;
}
.calendar-day.muted{
  background:#f3f6f5;
}
.calendar-day.muted > span{
  color:#a0aaa6;
}
.upcoming-panel{
  padding:24px;
}
.upcoming-panel h2{
  margin:0;
  color:var(--ink);
  font-size:30px;
  line-height:1.15;
}
.upcoming-list{
  display:grid;
  gap:10px;
  margin-top:20px;
}
.upcoming-item{
  display:grid;
  gap:6px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8faf9;
}
.upcoming-item span{
  color:var(--forest);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.upcoming-item strong{
  color:var(--ink);
  line-height:1.32;
}
.upcoming-item small{
  color:var(--muted);
  font-weight:750;
  line-height:1.3;
}

.calendar-solo{
  max-width:1180px;
  margin:0 auto;
}
.calendar-nav{
  display:flex;
  align-items:center;
  gap:14px;
}
.calendar-nav-btn{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#f7faf9;
  color:var(--deep);
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.calendar-nav-btn:hover{
  background:#edf2f0;
}
