/* Agenda pública premium */
.agp-wrap{
  max-width: 1220px;
  margin: 18px auto;
  padding: 0 14px;
}

.agp-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.agp-head h2{margin:0;font-size:24px;letter-spacing:-.3px}
.agp-head p{margin:6px 0 0;color:#475569}
.agp-head-actions{display:flex;gap:10px;flex-wrap:wrap}

.agp-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background:#0f172a;color:#fff;
  text-decoration:none;font-weight:900;cursor:pointer;
}
.agp-btn.outline{background:#fff;color:#0f172a}
.agp-btn:hover{opacity:.96;transform:translateY(-1px)}

.agp-tabs{
  display:flex;gap:8px;flex-wrap:wrap;
  margin: 10px 0 12px;
}
.agp-tab{
  --tab-accent:#0f172a;
  padding:8px 12px;border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;color:#0f172a;text-decoration:none;
  font-weight:900;font-size:13px;
}
.agp-tab.active{
  border-color: color-mix(in srgb, var(--tab-accent) 45%, rgba(15,23,42,.12));
  box-shadow: 0 10px 26px rgba(2,6,23,.06);
  background:
    radial-gradient(700px 240px at 10% 10%, color-mix(in srgb, var(--tab-accent) 18%, transparent), transparent 55%),
    #fff;
}
.agp-filters{
  display:flex;justify-content:space-between;gap:12px;
  flex-wrap:wrap;align-items:center;
  padding:12px;border:1px solid rgba(15,23,42,.10);
  background:#fff;border-radius:18px;
  box-shadow: 0 14px 34px rgba(2,6,23,.06);
  margin-bottom:12px;
}
.agp-chips{display:flex;gap:8px;flex-wrap:wrap}
.agp-chip{
  padding:8px 12px;border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;color:#0f172a;
  font-weight:900;font-size:13px;cursor:pointer;
}
.agp-chip.active{
  background:#0f172a;color:#fff;border-color:rgba(15,23,42,.14);
}
.agp-month{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.agp-month label{font-size:12px;color:#64748b;font-weight:900}
.agp-month input{
  padding:9px 12px;border-radius:14px;
  border:1px solid rgba(15,23,42,.14);
  background:#fff;outline:0;
}

.agp-empty{
  border:1px solid rgba(15,23,42,.10);
  background:#fff;border-radius:18px;
  padding:16px;
  box-shadow: 0 14px 34px rgba(2,6,23,.06);
  display:flex;flex-direction:column;gap:6px;
  color:#0f172a;
}
.agp-empty span{color:#64748b}

.agp-day{margin: 14px 0}
.agp-day-title{
  display:flex;justify-content:space-between;align-items:center;
  margin: 0 2px 10px;
  color:#0f172a;font-weight:950;
}
.agp-day-title small{color:#64748b;font-weight:800}

.agp-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
@media (max-width:1100px){ .agp-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:680px){ .agp-grid{grid-template-columns:1fr} }

.agp-card{
  background:#fff;border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  box-shadow: 0 14px 34px rgba(2,6,23,.06);
  padding:14px;
  display:flex;flex-direction:column;gap:10px;
}
.agp-card-top{
  display:flex;justify-content:space-between;gap:10px;align-items:flex-start;
}
.agp-badge{
  padding:6px 10px;border-radius:999px;
  color:#fff;font-weight:950;font-size:12px;
  white-space:nowrap;
}
.agp-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.agp-pill{
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;font-size:12px;font-weight:950;
  color:#0f172a;
}
.agp-pill.highlight{
  border-color: rgba(79,70,229,.35);
  color:#4f46e5;
}
.agp-title{margin:0;font-size:15px;font-weight:950;line-height:1.25}
.agp-meta{color:#0f172a;font-size:13px;display:flex;flex-direction:column;gap:6px}
.agp-desc{color:#475569}
.agp-loc{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.agp-map{
  text-decoration:none;
  font-weight:950;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.12);
  padding:6px 10px;border-radius:999px;
  background:#fff;
}
.agp-map:hover{background:#f8fafc}
.agp-card-foot{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  margin-top:auto;
}
.agp-link{font-weight:950;text-decoration:none;color:#0f172a}
.agp-link:hover{text-decoration:underline}
.agp-muted{color:#94a3b8;font-size:12px;font-weight:900}

.agp-more{margin-top: 14px; display:flex; justify-content:center}