*{box-sizing:border-box}body{margin:0;background:#050816;color:#f5f7ff;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.top{height:76px;display:flex;align-items:center;gap:36px;padding:0 5vw;border-bottom:1px solid #17203a;background:rgba(5,8,22,.92);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:9px}.mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#00b7ff,#6d25ff 55%,#ff267d);font-weight:900;font-size:25px;box-shadow:0 0 28px #5427ff66}.brand strong{display:block;letter-spacing:1px}.brand small{display:block;color:#00b7ff;font-weight:800;letter-spacing:2px}.top nav{display:flex;gap:25px;flex:1;justify-content:center;font-size:14px;color:#aeb7ce}.top nav .active{color:#fff}.listen{background:linear-gradient(90deg,#ff267d,#6d25ff);padding:11px 17px;border-radius:25px;font-weight:800;font-size:13px;box-shadow:0 0 30px #ff267d44}.hero{min-height:330px;position:relative;overflow:hidden;display:flex;align-items:center;padding:45px 8vw;background:radial-gradient(circle at 80% 20%,#4920a5 0,#11133b 32%,#050816 70%)}.hero:after{content:"";position:absolute;inset:auto -10% -120px;height:220px;background:repeating-radial-gradient(ellipse at center,#00b7ff33 0 2px,transparent 3px 18px);transform:rotate(-5deg);opacity:.5}.hero-content{position:relative;z-index:2;max-width:680px}.eyebrow,.kicker{color:#2bc7ff;font-size:12px;font-weight:900;letter-spacing:2px}.hero h1{font-size:clamp(45px,7vw,84px);line-height:.92;margin:14px 0}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#00d5ff,#9a46ff,#ff3b8d);-webkit-background-clip:text;color:transparent}.hero p{color:#aeb7ce;font-size:18px;max-width:580px}.hero-wave{position:absolute;right:8vw;bottom:40px;color:#00b7ff55;font-size:40px;letter-spacing:8px}.now-grid{display:grid;grid-template-columns:1fr 330px;gap:20px;margin:-30px auto 55px;position:relative;z-index:3;max-width:1180px;padding:0 20px}.now-card,.next-card,.panel{background:linear-gradient(145deg,#0e172e,#080d1d);border:1px solid #243254;border-radius:24px;box-shadow:0 25px 70px #0008}.now-card{position:relative;padding:28px;overflow:hidden}.now-card:before{content:"";position:absolute;width:240px;height:240px;right:-100px;top:-120px;border-radius:50%;background:#7b35ff18;filter:blur(10px);pointer-events:none}.next-card{position:relative;overflow:hidden}.next-card:before{content:"";position:absolute;width:180px;height:180px;right:-80px;bottom:-100px;border-radius:50%;background:#00b7ff12;filter:blur(12px);pointer-events:none}.live-badge{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(90deg,#ff286f,#ff3b8d);padding:8px 13px;border-radius:10px;font-weight:900;font-size:11px;letter-spacing:.5px;box-shadow:0 0 25px #ff286f55;border:1px solid #ffffff18}.now-info{display:grid;grid-template-columns:190px 1fr;gap:25px;margin-top:20px}.cover{height:190px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#00b7ff,#7a27ff,#ff2879);display:grid;place-items:center;font-size:60px}.cover img,.row-art img,.mini-art img{width:100%;height:100%;object-fit:cover}.now-card h2{font-size:clamp(38px,4vw,52px);line-height:1.05;font-weight:900;letter-spacing:-1px;margin:8px 0 12px;background:linear-gradient(90deg,#ffffff,#7ddfff 55%,#b47cff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 8px 30px #00b7ff22}.host{color:#fff;font-weight:700}.now-card p:not(.host){color:#aeb7ce;line-height:1.5}.progress{height:7px;background:#202b47;border-radius:10px;overflow:hidden;margin:18px 0 7px}.progress span{display:block;width:63%;height:100%;background:linear-gradient(90deg,#00d5ff,#a33bff,#ff2c82);border-radius:10px}.next-card{padding:28px}.next-card h3{font-size:27px;margin:16px 0 4px}.next-card p{color:#aeb7ce}.mini-art{height:150px;border-radius:16px;background:linear-gradient(135deg,#5c25ff,#ff267d);display:grid;place-items:center;font-size:40px;overflow:hidden;margin-top:22px}.schedule,.week{max-width:1180px;margin:0 auto 65px;padding:0 20px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #182744;position:relative}.section-head:after{content:"";position:absolute;left:0;bottom:-1px;width:95px;height:2px;border-radius:4px;background:linear-gradient(90deg,#00cfff,#7b35ff,#ff287b);box-shadow:0 0 14px #7b35ff55}.section-head h2{margin:5px 0 0;font-size:34px;letter-spacing:-.7px;background:linear-gradient(90deg,#fff,#d9e5ff 65%,#a98cff);-webkit-background-clip:text;background-clip:text;color:transparent}.today{padding:9px 14px;border:1px solid #2c3d64;border-radius:20px;color:#b8c4df;background:#0b1428;box-shadow:0 6px 18px #0003;font-size:12px;font-weight:700}.rows{display:grid;gap:9px}.row{position:relative;display:grid;grid-template-columns:80px 58px 1fr 1.2fr auto;gap:18px;align-items:center;padding:14px 18px;border:1px solid #1b2a49;background:linear-gradient(145deg,#0b152a,#080f20);border-radius:16px;transition:.22s ease;overflow:hidden}.row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#00cfff,#7b35ff);opacity:0;transition:.22s ease}.row:hover:before,.row.onair:before{opacity:1}.row:hover,.row.onair{border-color:#ff267d;transform:translateX(3px);box-shadow:0 8px 35px #ff267d12}.row time{font-size:17px;font-weight:950;letter-spacing:-.3px;color:#eaf3ff;text-shadow:0 0 16px #00b7ff18}.row-art{width:58px;height:58px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#1f68ff,#9c27ff);display:grid;place-items:center;border:1px solid #30466e;box-shadow:0 8px 22px #0005,0 0 18px #5736ff18;position:relative}.row-art:after{content:"";position:absolute;inset:0;border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff12;pointer-events:none}.row-main h3{margin:0;font-size:16px;font-weight:850;letter-spacing:-.2px;color:#f4f7ff}.row-main p,.row-desc{margin:5px 0 0;color:#8f9bb6;font-size:12px;line-height:1.4}.tiny-live{color:#ff3b81;font-size:10px;font-weight:900}.empty{padding:30px;text-align:center;color:#93a0bc;border:1px dashed #2a3756;border-radius:15px}.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.day{position:relative;padding:20px 15px;border:1px solid #1d2b49;background:linear-gradient(145deg,#0b152a,#080f20);border-radius:16px;overflow:hidden;transition:.22s ease}.day:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,#00cfff,#7b35ff,#ff287b);opacity:.65}.day:hover{transform:translateY(-3px);border-color:#30466e;box-shadow:0 14px 35px #0005}.day strong{display:block;font-size:14px;color:#eef4ff;letter-spacing:.1px}.day span{display:block;color:#72809d;font-size:12px;margin-top:8px}footer{border-top:1px solid #17203a;padding:35px 7vw;display:flex;align-items:center;gap:25px;color:#7886a4}footer p{flex:1}@media(max-width:800px){.top nav{display:none}.top{justify-content:space-between}.now-grid{grid-template-columns:1fr;margin-top:20px}.now-info{grid-template-columns:1fr}.cover{height:230px}.row{grid-template-columns:60px 50px 1fr}.row-desc{display:none}.day-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:300px}.hero-wave{display:none}}

/* Colores automáticos para locutores */
.host-default{color:#aeb7ce!important;font-weight:900}

.host-0f4b9c{color:#00d5ff!important}
.host-1a4c8e{color:#9b7cff!important}
.host-2f5b8a{color:#ff4f9a!important}
.host-3e0d8f{color:#42e8c0!important}
.host-4f1b6a{color:#ffb84d!important}
.host-5a3d8c{color:#6fd8ff!important}
.host-6b7e91{color:#d98cff!important}
.host-7c2f4e{color:#ff6f61!important}
.host-8d9a20{color:#55e6a5!important}
.host-9e3b71{color:#ffd166!important}

.host-default,
.row-main p strong,
.next-card p strong,
.now-card .host strong{
    font-weight:900;
    letter-spacing:.2px;
}

.now-card .host strong{
    font-size:1.05em;
}

.row-main p strong{
    font-size:14px;
}


/* Paleta real de locutores Konecta Radio */
.host-7503b3{color:#00d5ff!important} /* ADRIAN BERASATEGI */
.host-f63e15{color:#ffd166!important} /* ALBERTO BASARTE */
.host-d90b6d{color:#8fa3bf!important} /* AUTODJ KR */
.host-9029ff{color:#c084fc!important} /* BAXTON */
.host-c1b17c{color:#42e8c0!important} /* CARLOS MARIN */
.host-d1e901{color:#60a5fa!important} /* CARLOS NAVARRO */
.host-70d8ef{color:#ff8a65!important} /* CARLOS VALDES */
.host-149053{color:#a78bfa!important} /* CHEMA K. */
.host-557ad4{color:#67e8f9!important} /* CIARA ORSSINNI */
.host-dd0988{color:#fb7185!important} /* ELY LEANDRO */
.host-25fcc3{color:#fbbf24!important} /* FERNANDO HAVEZ */
.host-45c251{color:#4ade80!important} /* GONZALO OSUNA */
.host-d8d86b{color:#f472b6!important} /* HEMA K. */
.host-4661ec{color:#f97316!important} /* JON RAIN */
.host-768bc6{color:#a3e635!important} /* LAURA GOMEZ */
.host-f45cd8{color:#38bdf8!important} /* MARTA RUIZ */
.host-8122cc{color:#ff4f9a!important} /* PAULA NAVARRO */
.host-d7f511{color:#2dd4bf!important} /* REBEA YUN */
.host-8349a9{color:#e879f9!important} /* SOFIA LOPEZ */


/* =========================================================
   PARRILLA SEMANAL · DISEÑO PROFESIONAL
   ========================================================= */

.day-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(280px,1fr));
    gap:14px;
    overflow-x:auto;
    padding:4px 2px 18px;
    scroll-snap-type:x proximity;
}

.day-grid::-webkit-scrollbar{
    height:8px;
}

.day-grid::-webkit-scrollbar-track{
    background:#0a1124;
    border-radius:20px;
}

.day-grid::-webkit-scrollbar-thumb{
    background:#26385d;
    border-radius:20px;
}

.day{
    min-width:280px;
    padding:0;
    border:1px solid #1b2948;
    background:linear-gradient(180deg,#0b1328,#070d1c);
    border-radius:20px;
    overflow:hidden;
    scroll-snap-align:start;
    transition:.25s ease;
}

.day:hover{
    border-color:#354d7c;
    transform:translateY(-3px);
    box-shadow:0 18px 45px #0007;
}

.day.is-today{
    border-color:#00b7ff66;
    box-shadow:0 0 0 1px #00b7ff22,0 18px 50px #00b7ff12;
}

.day-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:17px 18px;
    background:linear-gradient(135deg,#111d39,#0b1328);
    border-bottom:1px solid #1b2948;
    position:sticky;
    top:0;
    z-index:2;
}

.day-head strong{
    font-size:18px;
    font-weight:900;
    letter-spacing:.2px;
}

.day-head span{
    padding:5px 9px;
    border-radius:8px;
    background:#00b7ff18;
    border:1px solid #00b7ff55;
    color:#35d0ff;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.2px;
}

.day-programs{
    padding:8px;
}

.day-program{
    display:grid;
    grid-template-columns:54px 1fr;
    gap:10px;
    padding:12px 9px;
    border-bottom:1px solid #15213a;
    transition:.2s ease;
}

.day-program:last-child{
    border-bottom:0;
}

.day-program:hover{
    background:#111b33;
    border-radius:11px;
}

.day-time{
    font-size:12px;
    line-height:1.2;
    font-weight:900;
    color:#e7ecf8;
    padding-top:2px;
}

.day-time span{
    display:block;
    margin-top:4px;
    color:#647493;
    font-size:10px;
    font-weight:700;
}

.day-program-info{
    min-width:0;
}

.day-program-info h3{
    margin:0;
    font-size:13px;
    line-height:1.25;
    font-weight:850;
    color:#f4f7ff;
    word-break:break-word;
}

.day-program-info p{
    margin:5px 0 0;
    line-height:1.1;
}

.day-program-info p strong{
    font-size:11px;
    font-weight:900;
    letter-spacing:.15px;
}

.day-empty{
    padding:25px 12px;
    text-align:center;
    color:#697894;
    font-size:12px;
}

/* En pantallas grandes hacemos visible toda la parrilla
   sin deformar las tarjetas */
@media(min-width:1450px){
    .day-grid{
        grid-template-columns:repeat(7,minmax(0,1fr));
        overflow-x:visible;
    }

    .day{
        min-width:0;
    }
}

/* Tablet */
@media(max-width:1100px){
    .day-grid{
        grid-template-columns:repeat(7,280px);
    }
}

/* Móvil */
@media(max-width:600px){
    .week{
        padding:0 14px;
    }

    .section-head h2{
        font-size:28px;
    }

    .day-grid{
        grid-template-columns:repeat(7,calc(100vw - 28px));
        gap:12px;
        margin-right:-2px;
        padding-bottom:15px;
    }

    .day{
        min-width:calc(100vw - 28px);
        border-radius:18px;
    }

    .day-head{
        padding:16px;
    }

    .day-head strong{
        font-size:17px;
    }

    .day-program{
        grid-template-columns:58px 1fr;
        padding:13px 9px;
    }

    .day-program-info h3{
        font-size:14px;
    }

    .day-program-info p strong{
        font-size:11px;
    }
}


/* Ajuste de imágenes para encajar perfectamente en sus ventanitas */
.cover img,
.row-art img,
.mini-art img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 800px) {
    .cover img,
    .row-art img,
    .mini-art img {
        object-fit: contain;
        object-position: center;
    }
}
