/* Agenda pública: targetes adaptables i dates destacades. */
.agenda-section { background: #f5f8f6; }
.agenda-section .agenda-section__intro { margin: 14px auto 0; color: #627368; font-size: 16px; line-height: 1.6; text-align: center; }
.agenda-section .agenda-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin-top: 36px; }
.agenda-section .agenda-card { min-width: 0; padding: 22px; background: #fff; border: 1px solid #dfe8e2; border-radius: 16px; box-shadow: 0 5px 20px rgba(33, 66, 43, .05); }
.agenda-section .agenda-card--today { border-color: #8ebc9a; box-shadow: 0 0 0 2px #e1eee5, 0 5px 20px rgba(33, 66, 43, .06); }
.agenda-section .agenda-card__header { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid #edf1ee; }
.agenda-section .agenda-card__date { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 0 0 68px; min-height: 92px; padding: 10px 6px; border-radius: 12px; background: #e8f1eb; color: #315d40; font-variant-numeric: tabular-nums; }
.agenda-section .agenda-card__day { font-size: 30px; line-height: 1.1; font-weight: 700; }
.agenda-section .agenda-card__month { margin-top: 3px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.agenda-section .agenda-card__year { margin-top: 2px; font-size: 12px; color: #617a69; }
.agenda-section .agenda-card__heading { min-width: 0; }
.agenda-section .agenda-card__heading h4 { margin: 0 0 7px; color: #2d4937; font-size: 18px; font-weight: 600; line-height: 1.4; }
.agenda-section .agenda-card__status { display: inline-block; font-size: 12px; color: #748278; line-height: 1.5; }
.agenda-section .agenda-card--today .agenda-card__status { padding: 3px 9px; border-radius: 20px; background: #e7f2e9; color: #316541; font-weight: 600; }
.agenda-section .agenda-card__content { color: #465a4c; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.agenda-section .agenda-card__content p, .agenda-section .agenda-card__content li { color: inherit; font-size: inherit; line-height: inherit; }
.agenda-section .agenda-card__content p { margin: 0 0 12px; }
.agenda-section .agenda-card__content > :last-child { margin-bottom: 0; }
.agenda-section .agenda-card__content h1, .agenda-section .agenda-card__content h2, .agenda-section .agenda-card__content h3, .agenda-section .agenda-card__content h4, .agenda-section .agenda-card__content h5, .agenda-section .agenda-card__content h6 { color: #2d4937; font-size: 18px; font-weight: 600; line-height: 1.4; margin: 0 0 10px; letter-spacing: normal; }
.agenda-section .agenda-card__content a { color: #27633c; text-decoration: underline; text-underline-offset: 3px; }
.agenda-section .agenda-card__content a:hover { color: #193e27; }
.agenda-section .agenda-card__content a:focus-visible { outline: 2px solid #315d40; outline-offset: 3px; }
.agenda-section .agenda-card__content img { max-width: 100%; height: auto; border-radius: 8px; }
.agenda-section .agenda-card__content ul, .agenda-section .agenda-card__content ol { padding-left: 20px; }
.agenda-section .agenda-section__empty { max-width: 640px; margin: 36px auto 0; padding: 30px; background: #fff; border: 1px dashed #cadbce; border-radius: 16px; text-align: center; }
.agenda-section .agenda-section__empty i { color: #789982; font-size: 32px; margin-bottom: 14px; }
.agenda-section .agenda-section__empty p { color: #627368; font-size: 16px; line-height: 1.7; }
@media (max-width: 1100px) { .agenda-section .agenda-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .agenda-section .agenda-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 26px; } .agenda-section .agenda-card { padding: 20px; } }
