/* Public Cycle Nation events, independent from logged-in portal styles. */
.cncm-public-calendar{--cn-event-red:#c52330;--cn-event-ink:#142338;--cn-event-border:#e4e7ec;font-family:inherit;color:var(--cn-event-ink);max-width:1180px;margin:24px auto;padding:clamp(18px,3vw,32px);border:1px solid var(--cn-event-border);border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(20,35,56,.06)}
.cncm-public-calendar h2{font-size:clamp(23px,2.4vw,32px);margin:0 0 22px;color:var(--cn-event-ink);letter-spacing:-.02em}
.cncm-public-event-list{list-style:none!important;padding:0!important;margin:0!important;display:grid;gap:10px}
.cncm-public-event-list li{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:15px 18px;margin:0!important;border:1px solid var(--cn-event-border);border-left:4px solid var(--cn-event-red);border-radius:10px;background:#fff}
.cncm-public-event-list time{font-size:13px;font-weight:750;color:#475467;min-width:100px;font-variant-numeric:tabular-nums}
.cncm-public-event-list a{color:var(--cn-event-ink);font-weight:750;text-decoration:none}
.cncm-public-event-list a:hover,.cncm-public-event-list a:focus-visible{color:var(--cn-event-red);text-decoration:underline}
.cncm-public-event-list span{margin-left:auto;color:#667085;font-size:13px}
@media(max-width:600px){.cncm-public-event-list li{align-items:flex-start;flex-direction:column;gap:6px}.cncm-public-event-list span{margin-left:0}}
.cncm-public-calendar-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 22px;padding:14px;border:1px solid var(--cn-event-border);border-radius:10px;background:#f8fafc}
.cncm-public-calendar-filters label{display:grid;gap:5px;color:#344054;font-size:13px;font-weight:650}
.cncm-public-calendar-filters select,.cncm-public-calendar-filters input{min-height:40px;max-width:190px;padding:8px 10px;border:1px solid #98a2b3;border-radius:8px;background:#fff;color:#142338}
.cncm-public-calendar-filters button{min-height:40px;border:0;border-radius:8px;padding:9px 16px;background:#142338;color:#fff;font-weight:700;cursor:pointer}
.cncm-public-calendar-filters button:hover{background:#c52330}
.cncm-public-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cncm-public-calendar-day{min-width:0;min-height:100px;padding:10px;border:1px solid var(--cn-event-border);border-radius:9px;background:#fff}
.cncm-public-calendar-day h3{font-size:12px;margin:0 0 9px;color:#475467;font-weight:750}
.cncm-public-calendar-day p{font-size:12px;margin:6px 0;overflow-wrap:anywhere;line-height:1.4}
.cncm-public-calendar-day a{font-weight:700;color:#142338;text-decoration:none}
.cncm-public-calendar-day a:hover,.cncm-public-calendar-day a:focus-visible{color:#c52330;text-decoration:underline}
.cncm-public-calendar-day small{display:block;color:#667085;margin-top:3px}
@media(max-width:950px){.cncm-public-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.cncm-public-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cncm-public-calendar-filters label{flex:1 1 125px}.cncm-public-calendar-filters select,.cncm-public-calendar-filters input{max-width:none;width:100%}}
.cncm-event-detail dl{margin:0 0 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.cncm-event-detail dl>div{padding:12px;border:1px solid #e4e7ec;border-radius:9px;background:#f8fafc}
.cncm-event-detail dt{font-size:12px;color:#667085;font-weight:650}
.cncm-event-detail dd{margin:5px 0 0;font-weight:750;color:#142338;overflow-wrap:anywhere}
.cncm-event-detail h3{margin:20px 0 9px;color:#142338}
.cncm-event-detail li{padding:4px 0}
.cncm-event-register{display:inline-flex;min-height:42px;align-items:center;padding:10px 18px;border-radius:9px;background:#c52330;color:#fff!important;font-weight:750;text-decoration:none!important}
.cncm-event-register:hover{background:#9c1b27}
