.fpd-module.fpdm-events{--fpdem-columns:var(--fpde-cols,3)}
.fpd-module.fpdm-events .fpdem-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0 12px}
.fpd-module.fpdm-events .fpdem-controls[hidden],.fpd-module.fpdm-events [hidden]{display:none!important}
.fpd-module.fpdm-events button,.fpd-module.fpdm-events select{font:inherit;color:var(--fpdm-fg);background:var(--fpdm-bg);border:1px solid var(--fpdm-line);border-radius:0;padding:8px 12px;box-shadow:none}
.fpd-module.fpdm-events button{cursor:pointer}
.fpd-module.fpdm-events button[aria-pressed="true"]{text-decoration:underline;text-underline-offset:4px}
.fpd-module.fpdm-events .fpdem-status{font-size:13px;margin:16px 0;color:var(--fpdm-muted)}
.fpd-module.fpdm-events .fpdem-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--fpdem-columns) - 1)*20px)/var(--fpdem-columns));gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px;max-width:100%;min-width:0;overscroll-behavior-x:contain}
.fpd-module.fpdm-events .fpdem-card{display:flex;flex-direction:column;scroll-snap-align:start;min-width:0;background:transparent;border:0;padding:0;margin:0}
.fpd-module.fpdm-events .fpdm-image-link{aspect-ratio:var(--fpdm-ratio,16/9);background:var(--fpdm-soft);width:100%;flex-shrink:0}
.fpd-module.fpdm-events .fpdem-badge{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;align-items:center;padding:7px 12px;background:#000;color:#fff;font-size:12px;line-height:1.3;text-transform:uppercase}
.fpd-module.fpdm-events .fpdem-badge strong{font-size:24px}
.fpd-module.fpdm-events h3{font:700 16px/1.4 "Poppins",sans-serif;color:var(--fpdm-fg);margin:0 0 10px;overflow-wrap:anywhere}
.fpd-module.fpdm-events .fpdem-card p{font:400 14px/1.6 "Poppins",sans-serif;color:var(--fpdm-muted);margin:0 0 7px}
.fpd-module.fpdm-events .fpdem-read{margin-top:auto;padding-top:12px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.fpd-module.fpdm-events .fpdem-calendar{overflow-x:auto}
.fpd-module.fpdm-events .fpdem-calendar table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:560px;color:var(--fpdm-fg)}
.fpd-module.fpdm-events .fpdem-calendar th,.fpd-module.fpdm-events .fpdem-calendar td{width:14.285%;border:1px solid var(--fpdm-line);padding:8px;vertical-align:top;text-align:left;font-size:12px}
.fpd-module.fpdm-events .fpdem-calendar td{height:110px}
.fpd-module.fpdm-events .fpdem-calendar a{display:block;margin-top:6px;text-decoration:underline;overflow-wrap:anywhere}
.fpd-module.fpdm-events .fpdem-calendar caption{text-align:left;font-size:18px;padding:12px 0;color:var(--fpdm-fg)}
@media(max-width:1024px){.fpd-module.fpdm-events{--fpdem-columns:var(--fpde-tablet,2)}}
@media(max-width:600px){.fpd-module.fpdm-events{--fpdem-columns:var(--fpde-mobile,1)}}

.fpd-module.fpdm-events .fpdem-navigation{display:flex;justify-content:flex-end;gap:8px;margin:0 0 16px}
.fpd-module.fpdm-events .fpdem-navigation button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;min-height:0;padding:0;border:0;border-radius:50%;background:var(--fpdm-soft);color:var(--fpdm-fg);font-size:28px;line-height:1}
.fpd-module.fpdm-events .fpdem-navigation button:disabled{opacity:.35;cursor:default}
.fpd-module.fpdm-events .fpdem-grid:focus-visible,.fpd-module.fpdm-events .fpdem-navigation button:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Explicit control sizing prevents theme buttons stretching across the module. */
.fpd-module.fpdm-events .fpdm-header{align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:22px}
.fpd-module.fpdm-events .fpdem-navigation{flex:0 0 auto;align-items:center;margin:0 0 0 auto;max-width:100%;gap:10px}
.fpd-module.fpdm-events .fpdem-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px;margin:0 0 12px}
.fpd-module.fpdm-events .fpdem-controls label{display:inline-flex;flex:0 1 auto;align-items:center;gap:8px;min-width:0;margin:0;width:auto;max-width:100%;font-size:14px}
.fpd-module.fpdm-events .fpdem-controls button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:auto!important;min-width:0;max-width:100%;min-height:40px;margin:0;padding:8px 16px;background:#000;color:#fff;border:1px solid #000;text-transform:uppercase;font-size:13px;line-height:1.5}
.fpd-module.fpdm-events .fpdem-controls select{display:inline-block;flex:0 1 auto;width:auto!important;min-width:0;max-width:100%;min-height:40px;margin:0;padding:8px 38px 8px 12px;background-color:#000;color:#fff;border:1px solid #000;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='white' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;font-size:14px;line-height:1.5}
.fpd-module.fpdm-events .fpdem-controls select option{background:#000;color:#fff}
.fpd-module.fpdm-events .fpdem-read{text-transform:uppercase}
.fpd-module.fpdm-events .fpdem-progress{display:block!important;flex:0 1 160px;width:160px!important;max-width:calc(100% - 100px);height:30px;min-height:0;box-sizing:border-box;margin:0 10px 0 0;padding:0 14px;border:0;border-radius:20px;background:#f4f4f4;color:#000;box-shadow:none;appearance:none;-webkit-appearance:none;cursor:pointer;accent-color:#000}
.fpd-module.fpdm-events .fpdem-progress::-webkit-slider-runnable-track{height:3px;background:#d4d4d4;border:0;border-radius:0}
.fpd-module.fpdm-events .fpdem-progress::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:32px;height:3px;background:#000;border:0;border-radius:0;margin-top:0}
.fpd-module.fpdm-events .fpdem-progress::-moz-range-track{height:3px;background:#d4d4d4;border:0}
.fpd-module.fpdm-events .fpdem-progress::-moz-range-thumb{width:32px;height:3px;background:#000;border:0;border-radius:0}
.fpd-module.fpdm-events .fpdem-progress:focus-visible,.fpd-module.fpdm-events .fpdem-controls select:focus-visible,.fpd-module.fpdm-events .fpdem-controls button:focus-visible{outline:2px solid var(--fpdm-fg);outline-offset:3px}
@media(max-width:600px){.fpd-module.fpdm-events .fpdem-navigation{margin-inline-start:auto}.fpd-module.fpdm-events .fpdem-progress{width:120px!important;flex-basis:120px}.fpd-module.fpdm-events .fpdem-controls{gap:10px}}
