.cfl-ef{--cfl-green:#226b58;--cfl-border:#dbe5df;max-width:1100px;margin:25px auto;padding:clamp(18px,4vw,40px);border:1px solid var(--cfl-border);border-radius:22px;background:#fff;color:#22312b;box-shadow:0 10px 38px rgba(26,65,45,.07);font-family:inherit}.cfl-ef-head{text-align:center;margin-bottom:28px}.cfl-ef-kicker{color:var(--cfl-green);font-weight:750;font-size:12px;letter-spacing:1.8px}.cfl-ef-head h2{font-size:clamp(30px,5vw,44px);line-height:1.2;margin:10px 0;color:#194e40}.cfl-ef-head p{font-size:16px;color:#53635c}.cfl-ef-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cfl-ef label{display:block;font-weight:650;font-size:14px;color:#2e473c}.cfl-ef select,.cfl-ef input{box-sizing:border-box;width:100%;min-height:47px;border:1px solid #c9d7cf;border-radius:10px;padding:10px 12px;margin-top:7px;background:#fff;color:#25372f;font-size:15px}.cfl-ef-question{margin-top:18px}.cfl-ef-question span{font-weight:400;color:#6e7b74}.cfl-ef-submit{display:block;width:100%;padding:15px 20px;margin-top:20px;border:0;border-radius:11px;background:#226b58;color:white;font-size:16px;font-weight:700;cursor:pointer}.cfl-ef-submit:hover{background:#164b3d}.cfl-ef-submit:disabled{opacity:.7;cursor:wait}.cfl-ef-status{margin:22px 0 10px;font-size:14px;color:#445d50}.cfl-ef-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.cfl-ef-card{border:1px solid var(--cfl-border);border-radius:14px;padding:20px;background:#fbfdfb}.cfl-ef-card h3{font-size:19px;line-height:1.3;margin:8px 0;color:#194e40}.cfl-ef-card p{font-size:14px;line-height:1.6;margin:8px 0}.cfl-ef-date{font-size:13px;color:#226b58;font-weight:750}.cfl-ef-meta{color:#607067}.cfl-ef-price{font-weight:600}.cfl-ef-link{display:inline-block;color:#176d53;font-weight:750;margin-top:8px;text-decoration:underline}.cfl-ef-disclaimer{margin:25px 0 0;font-size:12px;color:#6d7871;line-height:1.6}@media(max-width:640px){.cfl-ef-grid,.cfl-ef-results{grid-template-columns:1fr}.cfl-ef{padding:18px;border-radius:14px}.cfl-ef-card{padding:16px}}

.cfl-ef-location-mode{border:0;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:10px}
.cfl-ef-location-mode legend{font-size:17px;font-weight:750;color:#194e40;margin-bottom:10px}
.cfl-ef-location-mode label{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #c9d7cf;border-radius:10px;cursor:pointer}
.cfl-ef-location-mode input{width:auto;min-height:0;margin:0;accent-color:#148b89}
.cfl-ef-near{padding:14px;margin:0 0 18px;background:#f0f9f7;border:1px solid #cce8e4;border-radius:12px}
.cfl-ef-near[hidden],.cfl-ef-city-field[hidden]{display:none!important}
.cfl-ef-locate{border:0;border-radius:10px;background:#148b89;color:white;padding:12px 16px;font-weight:700;cursor:pointer}
.cfl-ef-location-status{font-size:13px;margin:9px 0;color:#395e56}
.cfl-ef-near label{max-width:260px}

/* v1.2.6: align scrolled results below sticky mobile headers */
.cfl-ef-results{scroll-margin-top:100px}
.cfl-ef{scroll-margin-top:90px}

/* Adjustable near-me radius */
.cfl-ef .cfl-ef-radius-label{margin:16px 0 4px;display:block}
.cfl-ef .cfl-ef-radius-value{color:#148b89;font-weight:800}
.cfl-ef input.cfl-ef-radius-slider{display:block;width:100%;min-height:32px;height:32px;padding:0;margin:6px 0 0;border:0;border-radius:0;background:transparent;accent-color:#148b89;cursor:pointer;touch-action:pan-y}
.cfl-ef input.cfl-ef-radius-slider:focus-visible{outline:3px solid #148b89;outline-offset:3px}
.cfl-ef .cfl-ef-radius-ticks{display:flex;justify-content:space-between;font-size:12px;color:#607067;margin:0 0 4px}

/* v1.4.8: Near-me location checkbox */
.cfl-ef .cfl-ef-consent{display:flex;align-items:center;gap:8px;max-width:none;font-size:15px;line-height:1.4;cursor:pointer;font-weight:650}
.cfl-ef .cfl-ef-consent input[type="checkbox"]{width:19px;height:19px;min-height:19px;padding:0;margin:0;flex:0 0 19px;accent-color:#148b89}
.cfl-ef .cfl-ef-consent span{font-size:15px;white-space:nowrap}
@media(max-width:380px){.cfl-ef .cfl-ef-consent span{font-size:13px}}
.cfl-ef .cfl-ef-status{text-align:center;line-height:1.6}

/* Center the final event-details disclaimer only. */
.cfl-ef .cfl-ef-disclaimer { text-align: center !important; }

/* v1.4.13: consent sits above submit, inside the form width. */
.cfl-ef .cfl-ef-consent-area{width:100%;max-width:100%;box-sizing:border-box;margin-top:18px;min-width:0}
.cfl-ef .cfl-ef-consent-area[hidden]{display:none!important}
.cfl-ef .cfl-ef-consent-area .cfl-ef-consent{display:flex;align-items:center;max-width:100%;min-width:0;gap:9px;box-sizing:border-box}
.cfl-ef .cfl-ef-consent-area .cfl-ef-consent span{white-space:normal;overflow-wrap:break-word;min-width:0;font-size:clamp(13px,3.5vw,15px);line-height:1.35}
.cfl-ef .cfl-ef-consent-area .cfl-ef-location-status{overflow-wrap:anywhere}
