/* eChurch Digital Events v0.2.0: all styles scoped to the shortcode. */
.ecd-events-wrap{width:100%;max-width:1200px;margin:28px auto 48px;box-sizing:border-box}
.ecd-events-wrap *{box-sizing:border-box}
.ecd-events-wrap .ecd-events-grid{display:grid;grid-template-columns:repeat(var(--ecd-columns,3),minmax(0,1fr));gap:24px;margin:0}
.ecd-events-wrap .ecd-event-card{min-width:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 5px 20px rgba(15,23,42,.07);color:#172033;transition:box-shadow .2s ease}
.ecd-events-wrap .ecd-event-card:hover{box-shadow:0 9px 26px rgba(15,23,42,.11)}
/* Full flyer visible, whether portrait, square, or landscape. No forced crop. */
.ecd-events-wrap .ecd-event-image{display:flex;align-items:center;justify-content:center;min-height:150px;max-height:420px;overflow:hidden;background:#f3f4f6}
.ecd-events-wrap .ecd-event-image img,.ecd-events-wrap .ecd-event-image .ecd-event-flyer{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;object-position:center;margin:0;border:0;border-radius:0;box-shadow:none}
.ecd-events-wrap .ecd-event-content{padding:22px}
.ecd-events-wrap .ecd-event-content h3{font-size:clamp(1.1rem,2vw,1.35rem);font-weight:700;line-height:1.3;margin:0 0 12px;color:#111827}
.ecd-events-wrap .ecd-event-date{font-weight:700;margin:0 0 9px;color:#1f2937;line-height:1.5}
.ecd-events-wrap .ecd-event-location{margin:0 0 12px;color:#4b5563;line-height:1.5;overflow-wrap:anywhere}
.ecd-events-wrap .ecd-event-description{font-size:.95rem;line-height:1.65;color:#374151;overflow-wrap:anywhere}
.ecd-events-wrap .ecd-event-description p{margin:0 0 12px}
.ecd-events-wrap .ecd-event-description p:last-child{margin-bottom:0}
.ecd-events-wrap .ecd-events-empty{grid-column:1/-1;padding:26px;text-align:center;background:#f9fafb;border-radius:12px;color:#4b5563}
@media(max-width:900px){.ecd-events-wrap .ecd-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ecd-events-wrap .ecd-events-grid{grid-template-columns:1fr;gap:18px}.ecd-events-wrap .ecd-event-content{padding:18px}.ecd-events-wrap .ecd-event-image{max-height:480px}.ecd-events-wrap .ecd-event-image img{max-height:480px}}
@media(prefers-reduced-motion:reduce){.ecd-events-wrap .ecd-event-card{transition:none}}

/* v0.3.0: optional click-to-enlarge flyer; event card layout unchanged. */
.ecd-events-wrap .ecd-event-flyer-link{display:block;width:100%;cursor:zoom-in;line-height:0}
.ecd-events-wrap .ecd-event-flyer-link:focus-visible{outline:3px solid #2563eb;outline-offset:-3px}
.ecd-events-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;max-height:none;padding:56px 20px 20px;margin:0;border:0;background:transparent;overflow:auto;box-sizing:border-box}
.ecd-events-lightbox::backdrop{background:rgba(5,10,20,.92)}
.ecd-events-lightbox .ecd-lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 86px);width:auto;height:auto;object-fit:contain;margin:auto;box-shadow:none;border:0}
.ecd-events-lightbox .ecd-lightbox-close{position:fixed;right:18px;top:14px;z-index:1;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#111827;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.ecd-events-lightbox .ecd-lightbox-close:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}
