/* Podium Booker Manager – publieke concertagenda */
.pdm-agenda, .pdm-concert-detail { --pdm-accent: #8b1e3f; --pdm-licht: #f6f1f3; --pdm-tekst: #222; --pdm-grijs: #666; color: var(--pdm-tekst); }
.pdm-screen-reader { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pdm-hp { position: absolute !important; left: -9999px; }

/* Filters */
.pdm-agenda-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.pdm-filter-groep { display: flex; flex-wrap: wrap; gap: .4rem; }
.pdm-filter-btn, .pdm-agenda-filters button { border: 1px solid var(--pdm-accent); background: #fff; color: var(--pdm-accent); padding: .35rem .9rem; border-radius: 999px; cursor: pointer; font-size: .9rem; }
.pdm-agenda-filters button.is-active, .pdm-agenda-filters button:hover { background: var(--pdm-accent); color: #fff; }

/* Kaarten */
.pdm-concerts-grid { display: flex; flex-direction: column; gap: 1rem; }
.pdm-agenda[data-stijl="grid"] .pdm-concerts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.pdm-concert-card { display: flex; gap: 1rem; align-items: stretch; background: #fff; border: 1px solid #e4dde0; border-radius: 10px; padding: 1rem; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
.pdm-concert-card[hidden] { display: none; }
.pdm-agenda[data-stijl="grid"] .pdm-concert-card { flex-direction: column; }
.pdm-concert-afbeelding img, .pdm-concert-detail-afbeelding img { width: 100%; height: auto; border-radius: 6px; display: block; }
.pdm-concert-card .pdm-concert-afbeelding { flex: 0 0 160px; }
.pdm-concert-datum { flex: 0 0 70px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--pdm-accent); color: #fff; border-radius: 8px; padding: .5rem; text-align: center; line-height: 1.1; align-self: flex-start; }
.pdm-dag { font-size: 1.8rem; font-weight: 700; }
.pdm-maand { font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.pdm-jaar { font-size: .75rem; opacity: .85; }
.pdm-concert-info { flex: 1 1 auto; min-width: 0; }
.pdm-concert-titel { margin: 0 0 .35rem; font-size: 1.25rem; }
.pdm-concert-locatie, .pdm-concert-aanvang, .pdm-concert-datum-tekst { margin: .1rem 0; color: var(--pdm-grijs); font-size: .95rem; }
.pdm-concert-categorie { display: inline-block; background: var(--pdm-licht); color: var(--pdm-accent); border-radius: 4px; padding: .1rem .5rem; font-size: .8rem; margin-bottom: .3rem; }
.pdm-concert-teaser { margin: .5rem 0 0; }
.pdm-concert-acties { display: flex; flex-direction: column; gap: .5rem; justify-content: center; flex: 0 0 auto; }
.pdm-agenda[data-stijl="grid"] .pdm-concert-acties { flex-direction: row; flex-wrap: wrap; }
.pdm-tickets-btn, .pdm-tickets-knop, .pdm-meer-info-btn { display: inline-block; padding: .55rem 1rem; border-radius: 6px; text-decoration: none; text-align: center; font-weight: 600; }
.pdm-tickets-btn, .pdm-tickets-knop { background: var(--pdm-accent); color: #fff !important; }
.pdm-tickets-btn:hover, .pdm-tickets-knop:hover { filter: brightness(1.1); }
.pdm-meer-info-btn { border: 1px solid var(--pdm-accent); color: var(--pdm-accent) !important; background: #fff; }
.pdm-concert-afgelopen { opacity: .6; }
.pdm-agenda-leeg, .pdm-agenda-geen-resultaat { padding: 1rem; background: var(--pdm-licht); border-radius: 8px; }

/* Kalender */
.pdm-kalenders { display: grid; gap: 1.5rem; }
.pdm-kalender-titel { margin: 0 0 .5rem; text-transform: capitalize; }
.pdm-kalender-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.pdm-kalender-weekdag { font-weight: 700; text-align: center; font-size: .8rem; padding: .25rem; color: var(--pdm-grijs); }
.pdm-kalender-dag { min-height: 80px; background: #faf8f9; padding: .25rem; font-size: .8rem; }
.pdm-kalender-dag.is-leeg { background: transparent; }
.pdm-kalender-dag.is-vandaag { outline: 2px solid var(--pdm-accent); }
.pdm-kalender-dag.heeft-events { background: var(--pdm-licht); }
.pdm-kalender-nummer { display: block; font-weight: 700; }
.pdm-kal-event { display: block; margin-top: .2rem; padding: .15rem .3rem; background: var(--pdm-accent); color: #fff !important; border-radius: 3px; text-decoration: none; overflow: hidden; text-overflow: ellipsis; }
.pdm-kal-tijd { font-weight: 700; }

/* Detail */
.pdm-concert-detail-header { margin-bottom: 1rem; }
.pdm-concert-detail-titel { margin: 0 0 .5rem; }
.pdm-concert-gegevens { list-style: none; padding: 0; margin: 0 0 1rem; }
.pdm-concert-gegevens li { margin: .2rem 0; }
.pdm-concert-beschrijving { margin: 1rem 0; }
.pdm-concert-programma { margin: 1.5rem 0; }
.pdm-concert-programma ul, .pdm-concert-programma ol { list-style: none; padding: 0; }
.pdm-concert-programma li { display: flex; gap: 1rem; padding: .4rem 0; border-bottom: 1px solid #eee; }
.pdm-programma-tijd { flex: 0 0 110px; font-weight: 700; color: var(--pdm-accent); }
.pdm-tickets { margin: 1.5rem 0; }
.pdm-tickets-titel { margin-bottom: .5rem; }
.pdm-weticket-embed { width: 100%; border: 0; margin-top: 1rem; }
.pdm-weticket-embed iframe { width: 100%; border: 0; }
.pdm-terug { display: inline-block; margin-bottom: 1rem; }

/* Nieuwsbrief */
.pdm-newsletter-signup { margin-top: 2rem; padding: 1.5rem; background: var(--pdm-licht); border-radius: 10px; }
.pdm-newsletter-signup h3 { margin-top: 0; }
.pdm-newsletter-form { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.pdm-newsletter-form input[type="text"], .pdm-newsletter-form input[type="email"] { flex: 1 1 200px; padding: .55rem .75rem; border: 1px solid #ccc; border-radius: 6px; }
.pdm-newsletter-form button { padding: .6rem 1.2rem; background: var(--pdm-accent); color: #fff; border: 0; border-radius: 6px; cursor: pointer; font-weight: 600; }
.pdm-newsletter-form button:disabled { opacity: .6; cursor: wait; }
.pdm-newsletter-feedback { flex-basis: 100%; margin: .25rem 0 0; min-height: 1.2em; }
.pdm-newsletter-feedback.is-ok { color: #1e7a3c; }
.pdm-newsletter-feedback.is-fout { color: #b32d2e; }

@media (max-width: 640px) {
	.pdm-concert-card { flex-wrap: wrap; }
	.pdm-concert-card .pdm-concert-afbeelding { flex-basis: 100%; }
	.pdm-concert-acties { flex-direction: row; flex-basis: 100%; }
	.pdm-kalender-dag { min-height: 54px; }
}
