/* Calendário HUB V2 — linhas informativas compactas e filtros */
.calendar-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin:18px 0 0
}
.calendar-toolbar strong{color:var(--hub-v2-navy);font-size:13px;font-weight:900}
.calendar-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.calendar-filter{
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--hub-v2-line);
  border-radius:999px;
  background:#fff;
  color:var(--hub-v2-navy);
  font-size:11px;
  font-weight:900;
  cursor:pointer
}
.calendar-filter:hover{border-color:var(--hub-v2-blue);color:var(--hub-v2-blue)}
.calendar-filter[aria-pressed="true"]{border-color:var(--hub-v2-blue);background:var(--hub-v2-blue);color:#fff}
.calendar-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  margin-top:18px!important
}
.calendar-state,
.calendar-empty-filter{
  grid-column:1/-1;
  min-height:92px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:6px;
  padding:24px;
  border:1px dashed #94a3b8;
  border-radius:17px;
  background:#f8fafc;
  color:var(--hub-v2-muted);
  text-align:center
}
.calendar-state strong,
.calendar-empty-filter strong{display:block;color:var(--hub-v2-navy);font-size:15px;font-weight:900;line-height:1.3}
.calendar-state span,
.calendar-empty-filter span{display:block;font-size:13px;font-weight:700;line-height:1.45}
.calendar-card{
  --calendar-accent:var(--hub-v2-gold);
  display:grid!important;
  grid-template-columns:minmax(145px,.72fr) minmax(280px,1.8fr) minmax(86px,.38fr)!important;
  grid-template-areas:"meta content countdown"!important;
  align-items:center!important;
  gap:18px!important;
  min-height:108px!important;
  padding:16px 18px!important;
  border:1px solid var(--hub-v2-line)!important;
  border-left:6px solid var(--calendar-accent)!important;
  border-top:1px solid var(--hub-v2-line)!important;
  border-radius:17px!important;
  background:#fff!important;
  text-decoration:none!important;
  box-shadow:var(--hub-v2-shadow-sm)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.calendar-card:hover{transform:translateY(-3px)!important;box-shadow:var(--hub-v2-shadow)!important;border-color:#cbd7e6!important}
.calendar-card[data-calendar-group="enem"]{--calendar-accent:#16803f}
.calendar-card[data-calendar-group="fuvest"]{--calendar-accent:#1259c3}
.calendar-card[data-calendar-group="etec"]{--calendar-accent:#e56e08}
.calendar-card[data-calendar-group="fatec"]{--calendar-accent:#6f38b8}
.calendar-meta{grid-area:meta;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.calendar-institution{display:inline-flex;background:color-mix(in srgb,var(--calendar-accent) 11%,#fff)!important;color:var(--calendar-accent)!important;border:1px solid color-mix(in srgb,var(--calendar-accent) 28%,#fff);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;text-transform:uppercase}
.calendar-meta time{display:block;color:#55647a;font-size:12px;font-weight:900;line-height:1.3}
.calendar-content{grid-area:content;min-width:0}
.calendar-content h3{margin:0 0 5px!important;color:var(--hub-v2-navy)!important;font-size:19px!important;line-height:1.2!important}
.calendar-content p{margin:0!important;color:var(--hub-v2-muted)!important;font-size:13px!important;font-weight:700!important}
.calendar-source{display:inline-flex!important;align-items:center;gap:6px;margin-top:9px!important;color:var(--calendar-accent)!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important}
.calendar-source::after{content:"→";font-size:14px}
.calendar-countdown{
  grid-area:countdown;
  min-width:86px;
  min-height:62px;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:9px!important;
  border-radius:15px!important;
  background:color-mix(in srgb,var(--calendar-accent) 10%,#fff)!important;
  color:var(--calendar-accent)!important;
  font-size:12px!important;
  font-weight:900!important;
  text-align:center!important;
  line-height:1.15
}
.calendar-countdown strong{display:block;font-size:22px;line-height:1;color:inherit}
.calendar-countdown small{display:block;margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.4px}
html[data-hub-page="calendario"] .main{padding-bottom:38px!important}

@media(max-width:768px){
  .calendar-toolbar{align-items:flex-start;flex-direction:column}
  .calendar-filters{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}
  .calendar-filters::-webkit-scrollbar{display:none}
  .calendar-filter{flex:0 0 auto}
  .calendar-card{
    grid-template-columns:1fr auto!important;
    grid-template-areas:"meta countdown" "content content"!important;
    gap:12px!important;
    min-height:0!important;
    padding:15px!important
  }
  .calendar-countdown{min-width:76px;min-height:58px}
  .calendar-content h3{font-size:17px!important}
}

@media(max-width:360px){
  .calendar-card{grid-template-columns:1fr!important;grid-template-areas:"meta" "content" "countdown"!important}
  .calendar-countdown{width:100%;min-height:48px;flex-direction:row;gap:6px}
  .calendar-countdown small{margin:0}
}
