/* v1.8.3 – Equal columns for overlaps (2=50%), pixel-safe calc() */
*{box-sizing:border-box}
.devils-training-wrapper{color:#fff;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.training-head{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;gap:1rem;flex-wrap:wrap}
.training-title{font-weight:800;font-size:1.4rem;text-shadow:0 0 8px rgba(238,37,44,.35)}
.training-nav{display:flex;gap:8px;flex-wrap:wrap}
.nav-btn{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 16px;color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;transition:all .2s ease;white-space:nowrap}
.nav-btn:hover{background:rgba(238,37,44,.15);border-color:#EE252C;box-shadow:0 0 12px rgba(238,37,44,.25);transform:translateY(-1px)}
.nav-btn.active{background:#EE252C;border-color:#EE252C;box-shadow:0 0 12px rgba(238,37,44,.35)}
.nav-btn.active:hover{background:#d91f26;border-color:#d91f26}
.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.day-col{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}
.day-col h3{margin:0 0 .5rem 0;text-transform:uppercase;font-size:1rem;color:#fff;letter-spacing:.02em}

.timeline{position:relative;width:100%;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0f1621;overflow:hidden}
.timeline::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.03),rgba(255,255,255,.03) 1px,transparent 1px,transparent var(--slot,20px));pointer-events:none}
.timeline::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.08),rgba(255,255,255,.08) 1px,transparent 1px,transparent var(--hour,40px));pointer-events:none}

.hour-label{position:absolute;left:8px;transform:translateY(-50%);font-size:.72rem;color:#8b949e;pointer-events:none}
.hour-label.full{font-weight:600}.hour-label.half{opacity:.65}

.event-card{position:absolute;background:#1f2937;border:1px solid #2b3646;border-radius:12px;padding:10px 12px 12px;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.03);min-height:56px;overflow:visible}
.event-card:hover{box-shadow:0 10px 24px rgba(0,0,0,.30);border-color:#344053}
.event-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.35rem}
.event-time-badge{background:#EE252C;color:#fff;font-weight:700;font-size:.8rem;line-height:20px;padding:2px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 0 10px rgba(238,37,44,.35)}
.event-duration{font-size:.72rem;color:#c9d1d9;white-space:nowrap;opacity:.95;display:none;}
.event-title{font-weight:700;margin-top:2px;line-height:1.24;white-space:normal;overflow-wrap:anywhere}
.event-location{font-size:.88rem;color:#bdbdbd;font-style:italic;line-height:1.22;margin-top:2px;white-space:normal;overflow-wrap:anywhere}

@media (max-width:768px){.week-grid{grid-template-columns:1fr}.training-title{font-size:1.2rem}.training-head{flex-direction:column;align-items:stretch}.training-nav{justify-content:center}}
