/* HITO 4.10 · Horarios v1 — extensión local sobre Alkano FROZEN */
.schedule-hero{height:auto;min-height:0;padding:150px 20px 72px;background:#070708;display:flex;align-items:center;justify-content:center;text-align:center}
.schedule-hero .hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
.schedule-hero .hero-title{font-size:3.25rem;margin-bottom:18px}
.schedule-hero .hero-subtitle{max-width:720px;margin:0 auto;color:var(--color-text-muted);font-size:1.12rem;line-height:1.65;font-weight:300}
.schedule-main{padding-top:72px;background:var(--color-bg,#070708)}
.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1040px;margin:42px auto 0}
.schedule-card{position:relative;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:6px;padding:30px 30px 27px;overflow:hidden;box-shadow:var(--shadow-premium),var(--shadow-inset);transition:var(--transition-normal)}
.schedule-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:var(--transition-normal)}
.schedule-card:hover{transform:translateY(-5px);background:var(--color-bg-card-hover);border-color:var(--color-border-hover);box-shadow:var(--shadow-premium),0 10px 20px rgba(0,0,0,.4)}
.schedule-card:hover::before{transform:scaleX(1)}
.schedule-card h3{font-family:var(--font-headings);text-transform:uppercase;font-size:1.55rem;letter-spacing:.4px;margin:0 0 20px;color:#fff}
.schedule-slots{display:grid;gap:0;margin-bottom:22px}
.schedule-slot{padding:17px 0;border-top:1px solid var(--color-border)}
.schedule-slot:last-child{border-bottom:1px solid var(--color-border)}
.schedule-days{display:block;color:var(--color-text-muted);font-size:.9rem;line-height:1.45;margin-bottom:5px}
.schedule-time{display:block;color:#fff;font-family:var(--font-headings);font-size:1.55rem;font-weight:600;letter-spacing:.4px}
.schedule-block-label{display:block;color: #ff1a1a;font-family:var(--font-headings);font-size:.72rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}
.schedule-link{display:inline-block;color:#fff;font-family:var(--font-headings);font-size:.88rem;font-weight:500;letter-spacing:.4px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--color-primary);padding-bottom:3px;transition:var(--transition-fast)}
.schedule-link:hover{color: #ff1a1a}
.schedule-card-sambo{grid-column:1/-1;max-width:510px;width:100%;justify-self:center}
.schedule-orientation{padding:68px 0;background:var(--color-bg-secondary,#0b0b0d);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.schedule-orientation-inner{max-width:780px;margin:0 auto;text-align:center}
.schedule-orientation h2{font-family:var(--font-headings);font-size:2rem;text-transform:uppercase;margin:0 0 14px}
.schedule-orientation p{color:var(--color-text-muted);line-height:1.7;margin:0 auto 24px;max-width:650px}
.schedule-final{padding:88px 0;background:#070708;text-align:center}
.schedule-final-inner{max-width:720px;margin:0 auto}
.schedule-final h2{font-family:var(--font-headings);font-size:2.35rem;text-transform:uppercase;margin:0 0 16px}
.schedule-final p{color:var(--color-text-muted);font-size:1.05rem;line-height:1.65;margin:0 auto 30px}
@media(max-width:768px){.schedule-hero{padding:126px 20px 54px}.schedule-hero .hero-title{font-size:2.25rem}.schedule-hero .hero-subtitle{font-size:1rem}.schedule-main{padding-top:56px}.schedule-grid{grid-template-columns:1fr;gap:16px;margin-top:34px}.schedule-card,.schedule-card-sambo{grid-column:auto;max-width:none;padding:25px 23px 23px}.schedule-time{font-size:1.45rem}.schedule-orientation{padding:56px 0}.schedule-orientation h2{font-size:1.75rem}.schedule-final{padding:68px 0}.schedule-final h2{font-size:1.95rem}}

/* H4.10 v3 — única intervención autorizada: iconografía aprobada */
.schedule-card-heading{display:flex;align-items:center;gap:16px;margin:0 0 20px}
.schedule-card-heading h3{margin:0}
.schedule-discipline-icon{width:54px;height:54px;object-fit:contain;object-position:center;flex:0 0 54px;display:block}
.schedule-time-row{display:flex;align-items:center;gap:9px}
.schedule-clock{width:18px;height:18px;flex:0 0 18px;color:var(--color-primary)}
.schedule-clock svg{display:block;width:100%;height:100%}
@media(max-width:768px){.schedule-card-heading{gap:13px}.schedule-discipline-icon{width:48px;height:48px;flex-basis:48px}.schedule-clock{width:17px;height:17px;flex-basis:17px}}

/* Approved contrast correction for text on a solid dark background. */
.schedule-hero .hero-tagline { color: #ff1a1a; }
