.spk-widget,.spk-calendar,.spk-list-view{font-family:inherit;color:inherit}.spk-widget{background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:18px}.spk-heading{font-size:.9rem;font-weight:800;letter-spacing:.06em;color:var(--spk-primary);margin-bottom:10px}.spk-heading.gold{color:var(--spk-secondary)}
.spk-event{width:100%;display:grid;grid-template-columns:40px 58px 1fr 20px;gap:8px;align-items:center;text-align:left;background:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.09);border-radius:10px;padding:10px 12px;margin:5px 0;cursor:pointer;color:inherit;transition:.15s ease;box-sizing:border-box}.spk-event:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.09)}.spk-icon{text-align:center;font-size:22px}.spk-time{font-weight:800}.spk-main{min-width:0}.spk-main b{display:block}.spk-main small{display:block;opacity:.65;margin-top:2px}.spk-arrow{font-size:24px;opacity:.5}.spk-empty{opacity:.65}.spk-date{margin:24px 0 8px;border-bottom:2px solid color-mix(in srgb,var(--spk-primary),transparent 60%);padding-bottom:7px;text-transform:capitalize}
.spk-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.spk-cal-head h2{margin:0;text-transform:capitalize}.spk-cal-head a{display:flex;width:38px;height:38px;border-radius:9px;align-items:center;justify-content:center;text-decoration:none;background:var(--spk-primary);color:#fff;font-size:28px}.spk-week,.spk-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.spk-week span{text-align:center;font-weight:800;font-size:.8rem;opacity:.65;padding:5px}.spk-day{min-height:125px;background:rgba(255,255,255,.68);border:1px solid rgba(0,0,0,.08);border-radius:9px;padding:7px;overflow:hidden}.spk-empty-day{background:transparent;border-color:transparent}.spk-day.today{border:2px solid var(--spk-primary)}.spk-daynum{font-weight:800;margin-bottom:4px}.spk-day .spk-event{grid-template-columns:26px 42px 1fr;gap:3px;padding:6px;font-size:.76rem}.spk-day .spk-icon{font-size:17px}.spk-day .spk-main small{font-size:.68rem}.spk-more{font-size:.75rem;font-weight:700;color:var(--spk-primary);margin-top:4px}
.spk-modal{position:fixed;inset:0;display:none;z-index:99999}.spk-modal.open{display:block}.spk-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.42)}.spk-modal-box{position:relative;max-width:560px;width:calc(100% - 30px);margin:10vh auto;background:#fff;border-radius:18px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.25);box-sizing:border-box}.spk-close{position:absolute;right:14px;top:8px;border:0;background:transparent;font-size:30px;cursor:pointer}.spk-modal-icon{font-size:42px}.spk-modal-sport{font-size:.82rem;font-weight:800;color:var(--spk-primary);text-transform:uppercase;margin-top:5px}.spk-modal-title{margin:5px 0 10px}.spk-modal-meta{font-weight:700;opacity:.75}.spk-modal-description{margin-top:18px}.spk-lock{overflow:hidden}
.spk-responsive-calendar{display:block}.spk-responsive-list{display:none}
@media(max-width:700px){.spk-responsive-calendar{display:none}.spk-responsive-list{display:block}.spk-event{grid-template-columns:34px 48px 1fr 18px;padding:9px}.spk-grid{display:block}.spk-week{display:none}.spk-day{min-height:0;margin-bottom:7px}.spk-empty-day{display:none}.spk-day .spk-event{grid-template-columns:30px 48px 1fr}.spk-modal-box{margin:5vh auto;padding:24px}}
@media(min-width:701px){.spk-responsive-calendar{display:block}.spk-responsive-list{display:none}}
.spk-view-switcher{display:flex;gap:6px;justify-content:flex-end;margin:0 0 12px}.spk-view-btn{border:1px solid rgba(0,0,0,.14);background:rgba(255,255,255,.75);color:inherit;border-radius:8px;padding:7px 12px;font-weight:700;cursor:pointer}.spk-view-btn.active,.spk-view-btn:hover{background:var(--spk-primary);border-color:var(--spk-primary);color:#fff}.spk-responsive[data-view="list"] .spk-responsive-calendar{display:none!important}.spk-responsive[data-view="list"] .spk-responsive-list{display:block!important}.spk-responsive[data-view="calendar"] .spk-responsive-calendar{display:block!important}.spk-responsive[data-view="calendar"] .spk-responsive-list{display:none!important}.spk-event.spk-all-day{border-left:4px solid var(--spk-secondary);background:rgba(255,255,255,.9)}.spk-event.spk-all-day .spk-time{font-size:.9rem;color:var(--spk-secondary)}

/* --- Sportspub visual polish 1.3 --- */
.spk-list-view{max-width:900px}
.spk-date{display:flex;align-items:center;gap:10px;margin:28px 0 9px;border-bottom:0;padding:0;text-transform:none;font-size:1rem;font-weight:800}
.spk-date:before{content:' ';display:block;width:5px;height:30px;border-radius:5px;background:var(--spk-primary);box-shadow:8px 0 0 color-mix(in srgb,var(--spk-secondary),transparent 70%)}
.spk-date:first-letter{text-transform:uppercase}
.spk-list-view .spk-event{position:relative;min-height:68px;border-radius:13px;padding:11px 14px;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.72));box-shadow:0 2px 7px rgba(0,0,0,.045)}
.spk-list-view .spk-event:before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 4px 4px 0;background:var(--spk-primary);opacity:.8}
.spk-list-view .spk-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:22px;background:#eef7ea;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.spk-list-view .spk-event.spk-all-day .spk-icon{background:color-mix(in srgb,var(--spk-secondary),white 78%)}
.spk-list-view .spk-time{font-size:.95rem;line-height:1.15}
.spk-list-view .spk-main b{font-size:1rem;line-height:1.2}.spk-list-view .spk-main small{font-size:.78rem;margin-top:4px}
.spk-list-view .spk-event:hover{transform:translateX(2px);box-shadow:0 6px 18px rgba(0,0,0,.09)}
.spk-list-view .spk-event.spk-all-day{min-height:62px;border-left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--spk-secondary),white 90%),rgba(255,255,255,.82))}
.spk-list-view .spk-event.spk-all-day:before{background:var(--spk-secondary)}
.spk-list-view .spk-arrow{font-size:28px;color:var(--spk-primary)}

/* Sport-specific icon badges */
.spk-list-view .spk-icon-cycling{background:#e9f7f2}.spk-list-view .spk-icon-motorsport{background:#fff0ed}.spk-list-view .spk-icon-tennis{background:#f3f7df}.spk-list-view .spk-icon-basketball{background:#fff1e5}.spk-list-view .spk-icon-hockey{background:#e9f1fb}.spk-list-view .spk-icon-golf{background:#edf7e7}.spk-list-view .spk-icon-volleyball{background:#f2ebfb}.spk-list-view .spk-icon-rugby{background:#f3eadf}.spk-list-view .spk-icon-boxing{background:#f8e8e8}.spk-list-view .spk-icon-darts{background:#eeeaf8}

/* Calendar: keep all-day events separate from timed events */
.spk-day{min-height:138px;padding:8px}
.spk-day .spk-event{min-width:0;grid-template-columns:25px 1fr 14px;align-items:center;min-height:34px;margin:4px 0;padding:5px 6px;border-radius:7px;gap:4px}
.spk-day .spk-event .spk-time{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spk-day .spk-event .spk-main b{font-size:.73rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spk-day .spk-event .spk-main small{font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spk-day .spk-event .spk-icon{font-size:15px}
.spk-day .spk-event .spk-arrow{display:none}
.spk-day .spk-event.spk-all-day{grid-template-columns:25px 1fr;border-left:0;background:color-mix(in srgb,var(--spk-secondary),white 88%);min-height:38px;margin-bottom:6px}
.spk-day .spk-event.spk-all-day:before{content:'';position:absolute}
.spk-day .spk-event.spk-all-day .spk-time{display:none}
.spk-day .spk-event.spk-all-day .spk-main{grid-column:2}
.spk-day .spk-event.spk-all-day .spk-main b{font-size:.72rem}
.spk-day .spk-event.spk-all-day .spk-main small{display:none}
.spk-day .spk-event.spk-all-day .spk-icon{background:transparent;width:auto;height:auto}
.spk-daynum{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;margin-bottom:5px;font-size:.8rem}
.spk-day.today .spk-daynum{background:var(--spk-primary);color:#fff}
.spk-more{padding:3px 5px;border-radius:6px;background:color-mix(in srgb,var(--spk-primary),white 90%);display:inline-block}

/* View switcher */
.spk-view-switcher{display:inline-flex;justify-content:flex-start;gap:0;padding:3px;background:rgba(0,0,0,.055);border-radius:10px;margin-bottom:15px}
.spk-view-btn{border:0!important;background:transparent!important;border-radius:7px!important;padding:7px 14px!important;transition:.15s ease;font-size:.88rem}
.spk-view-btn.active,.spk-view-btn:hover{background:#fff!important;color:var(--spk-primary)!important;box-shadow:0 2px 7px rgba(0,0,0,.08)}

@media(max-width:700px){
 .spk-list-view .spk-event{min-height:64px}.spk-list-view .spk-icon{width:38px;height:38px}
 .spk-date{margin-top:22px}
 .spk-day .spk-event{grid-template-columns:25px 1fr;min-height:36px}.spk-day .spk-event .spk-time{display:none}.spk-day .spk-event .spk-main{grid-column:2}.spk-day .spk-event.spk-all-day{grid-template-columns:25px 1fr}.spk-day .spk-event.spk-all-day .spk-main{grid-column:2}
}

/* 1.4: event title takes visual priority over time */
.spk-list-view .spk-event{grid-template-columns:44px minmax(0,1fr) auto 22px;}
.spk-list-view .spk-icon{grid-column:1}.spk-list-view .spk-main{grid-column:2;grid-row:1}.spk-list-view .spk-time{grid-column:3;grid-row:1;white-space:nowrap;margin-left:10px}.spk-list-view .spk-arrow{grid-column:4;grid-row:1}
.spk-list-view .spk-event.spk-all-day{grid-template-columns:44px minmax(0,1fr) auto 22px}

/* Calendar cells: title is the primary information; time is secondary */
.spk-day .spk-event{grid-template-columns:25px minmax(0,1fr) auto!important;}
.spk-day .spk-event .spk-icon{grid-column:1;grid-row:1}.spk-day .spk-event .spk-main{grid-column:2;grid-row:1}.spk-day .spk-event .spk-time{grid-column:3;grid-row:1;font-size:.66rem;font-weight:800;opacity:.7;text-align:right}.spk-day .spk-event .spk-arrow{display:none}
.spk-day .spk-event .spk-main b{font-size:.74rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spk-day .spk-event.spk-all-day{grid-template-columns:25px minmax(0,1fr)!important}.spk-day .spk-event.spk-all-day .spk-main{grid-column:2}.spk-day .spk-event.spk-all-day .spk-time{display:none}

/* User-selected view is authoritative. No device media rule should override it. */
.spk-responsive[data-view="list"] .spk-responsive-calendar{display:none!important}.spk-responsive[data-view="list"] .spk-responsive-list{display:block!important}
.spk-responsive[data-view="calendar"] .spk-responsive-calendar{display:block!important}.spk-responsive[data-view="calendar"] .spk-responsive-list{display:none!important}

@media(max-width:700px){
 .spk-list-view .spk-event{grid-template-columns:40px minmax(0,1fr) auto 18px}
 .spk-list-view .spk-time{font-size:.82rem;margin-left:7px}
 .spk-day .spk-event{grid-template-columns:25px minmax(0,1fr)!important}.spk-day .spk-event .spk-time{display:none}
}
