:root{
    --ct-bg:#eef4fb;
    --ct-surface:#ffffff;
    --ct-surface-2:#f8fbff;
    --ct-text:#101828;
    --ct-muted:#667085;
    --ct-border:#d8e2ef;
    --ct-line:#e6edf6;
    --ct-primary:#2563eb;
    --ct-primary-dark:#1d4ed8;
    --ct-navy:#17233a;
    --ct-head:#dbe8ff;
    --ct-chip:#edf4ff;
    --ct-accent:#f97316;
    --ct-radius:10px;
    --ct-shadow:0 12px 32px rgba(16,24,40,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    background:var(--ct-bg);
    color:var(--ct-text);
    line-height:1.45;
    font-size:14px;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--ct-primary-dark);text-decoration:underline}
img{max-width:100%;height:auto}
.ct-container{width:min(1120px,calc(100% - 24px));margin:0 auto}

/* Header compacto tipo guía */
.ct-header{
    background:#fff;
    border-bottom:1px solid var(--ct-border);
    box-shadow:0 2px 6px rgba(16,24,40,.04);
}
.ct-header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:58px;
}
.ct-brand{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}
.ct-brand-mark{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:9px;
    background:#2563eb;
    color:#fff;
    font-weight:900;
    letter-spacing:-.05em;
    box-shadow:0 4px 10px rgba(37,99,235,.22);
}
.ct-brand-text strong{
    display:block;
    font-size:22px;
    line-height:1;
    letter-spacing:-.04em;
}
.ct-brand-text small{
    display:block;
    margin-top:3px;
    color:var(--ct-muted);
    font-size:12px;
    font-weight:700;
}
.ct-nav{
    display:flex;
    align-items:center;
    gap:4px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.ct-nav a{
    padding:10px 12px;
    border-radius:7px;
    color:#1f2937;
    font-weight:800;
    font-size:14px;
}
.ct-nav a:hover{
    background:#edf4ff;
    color:#1d4ed8;
    text-decoration:none;
}

/* Intro compacta */
.ct-page-intro{
    background:linear-gradient(180deg,#ffffff,#edf4ff);
    border-bottom:1px solid var(--ct-border);
}
.ct-page-intro-inner{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    padding:18px 0 16px;
}
.ct-kicker{
    margin:0 0 4px;
    color:#1d4ed8;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
}
.ct-page-intro h1{
    margin:0;
    font-size:30px;
    line-height:1.08;
    letter-spacing:-.045em;
}
.ct-page-intro p{
    margin:7px 0 0;
    color:#475467;
    font-size:14px;
}
.ct-intro-meta{
    flex:0 0 auto;
    background:#fff;
    border:1px solid var(--ct-border);
    color:#344054;
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
    box-shadow:0 4px 12px rgba(16,24,40,.05);
}

/* Barras superiores */
.ct-top-strip,
.ct-teams-strip{
    background:#fff;
    border-bottom:1px solid var(--ct-border);
}
.ct-top-strip .ct-container,
.ct-teams-strip .ct-container{
    display:flex;
    align-items:center;
    gap:12px;
    padding:9px 0;
}
.ct-strip-title{
    flex:0 0 auto;
    font-size:11px;
    font-weight:900;
    color:#475467;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.ct-strip-scroll,
.ct-team-logo-scroll{
    display:flex;
    align-items:center;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:thin;
    padding-bottom:2px;
}
.ct-league-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
    background:#f5f9ff;
    border:1px solid #d7e5fb;
    color:#1f2937;
    border-radius:999px;
    padding:6px 9px;
    font-size:12px;
    font-weight:900;
}
.ct-league-pill:hover{
    background:#eaf2ff;
    text-decoration:none;
}
.ct-league-pill img{
    width:18px;
    height:18px;
    object-fit:contain;
}
.ct-top-team-logo{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:34px;
    height:34px;
    border-radius:999px;
    background:#fff;
    border:1px solid #d7e5fb;
    padding:4px;
}
.ct-top-team-logo:hover{
    transform:translateY(-1px);
    box-shadow:0 5px 14px rgba(16,24,40,.10);
}
.ct-top-team-logo img{
    width:25px;
    height:25px;
    object-fit:contain;
}

/* Bloques */
.ct-block{
    padding:24px 0;
}
.ct-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:12px;
}
.ct-section-head h2{
    margin:0;
    font-size:22px;
    letter-spacing:-.025em;
}
.ct-section-head p{
    margin:3px 0 0;
    color:var(--ct-muted);
}
.ct-section-head>a{
    font-weight:900;
    color:var(--ct-primary);
    font-size:13px;
}

/* Destacados pequeños */
.ct-featured-block{
    padding:18px 0 6px;
}
.ct-featured-scroll{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding-bottom:8px;
}
.ct-featured-card{
    flex:0 0 255px;
    background:#fff;
    border:1px solid var(--ct-border);
    border-radius:10px;
    padding:10px;
    box-shadow:0 4px 16px rgba(16,24,40,.04);
}
.ct-featured-time{
    font-size:12px;
    color:#111827;
    font-weight:900;
    margin-bottom:7px;
}
.ct-featured-teams{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
    font-weight:900;
    font-size:13px;
}
.ct-featured-teams img{
    width:22px;
    height:22px;
    object-fit:contain;
    flex:0 0 22px;
}
.ct-featured-teams span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ct-featured-league{
    margin-top:6px;
    font-size:11px;
    color:#667085;
    font-weight:800;
}

/* Agenda por liga */
.ct-league-agenda{
    display:grid;
    gap:14px;
}
.ct-league-block{
    background:#fff;
    border:1px solid var(--ct-border);
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(16,24,40,.04);
}
.ct-league-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:40px;
    background:var(--ct-head);
    border-bottom:1px solid #c9daf8;
    padding:7px 10px;
}
.ct-league-title{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-width:0;
    color:#0f172a;
    font-weight:900;
}
.ct-league-title:hover{
    text-decoration:none;
    color:#1d4ed8;
}
.ct-league-title img{
    width:22px;
    height:22px;
    object-fit:contain;
    flex:0 0 22px;
}
.ct-league-title span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ct-league-count{
    flex:0 0 auto;
    color:#475467;
    font-size:11px;
    font-weight:900;
    background:rgba(255,255,255,.7);
    border:1px solid rgba(37,99,235,.14);
    border-radius:999px;
    padding:4px 8px;
}
.ct-agenda-table{
    width:100%;
}
.ct-agenda-head,
.ct-agenda-row{
    display:grid;
    grid-template-columns:72px 132px minmax(250px,1fr) 190px;
    align-items:center;
}
.ct-agenda-head{
    min-height:31px;
    background:#f8fbff;
    border-bottom:1px solid var(--ct-line);
    color:#667085;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.ct-agenda-head span{
    padding:7px 10px;
}
.ct-agenda-row{
    min-height:46px;
    border-bottom:1px solid var(--ct-line);
    background:#fff;
}
.ct-agenda-row:last-child{
    border-bottom:0;
}
.ct-agenda-row:hover{
    background:#fbfdff;
}
.ct-agenda-time,
.ct-agenda-phase,
.ct-agenda-match,
.ct-agenda-channels{
    padding:8px 9px;
    min-width:0;
}
.ct-agenda-time{
    font-weight:900;
    color:#111827;
}
.ct-agenda-phase{
    color:#475467;
    font-size:12px;
    font-weight:800;
}
.ct-matchup{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
}
.ct-team-logo-link{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:30px;
    height:30px;
    border-radius:999px;
    background:#fff;
    border:1px solid #e5edf8;
    padding:3px;
}
.ct-team-logo-link:hover{
    box-shadow:0 5px 14px rgba(16,24,40,.12);
    transform:translateY(-1px);
}
.ct-team-logo-link img{
    width:24px;
    height:24px;
    object-fit:contain;
}
.ct-match-title{
    font-weight:900;
    color:#111827;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ct-agenda-channels{
    color:#334155;
    font-size:12px;
    font-weight:800;
    line-height:1.35;
}
.ct-channel-list{
    display:inline;
}
.ct-channel-link,
.ct-channel-name{
    color:#1d4ed8;
    font-weight:800;
}
.ct-channel-link{
    text-decoration:none;
    border-bottom:1px solid rgba(29,78,216,.25);
}
.ct-channel-link:hover{
    color:#0f172a;
    border-bottom-color:#0f172a;
    text-decoration:none;
}
.ct-channel-sep{
    color:#94a3b8;
    font-weight:700;
}
.ct-channel-empty{
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}

/* Elementos secundarios */
.ct-empty{
    background:#fff;
    border:1px dashed #b8c8dc;
    border-radius:10px;
    padding:20px;
    text-align:center;
    color:var(--ct-muted);
}
.ct-day-block{
    margin-bottom:26px;
}
.ct-date-title{
    display:flex;
    align-items:baseline;
    gap:10px;
    margin:0 0 10px;
    font-size:22px;
    letter-spacing:-.025em;
}
.ct-date-title span{
    color:var(--ct-muted);
    font-size:13px;
    font-weight:800;
}
.ct-link-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}
.ct-entity-link{
    display:flex;
    align-items:center;
    gap:9px;
    background:#fff;
    border:1px solid var(--ct-border);
    border-radius:10px;
    padding:10px;
    font-weight:900;
    min-width:0;
}
.ct-entity-link img{
    width:28px;
    height:28px;
    object-fit:contain;
    flex:0 0 28px;
}
.ct-entity-link span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ct-text-block{
    background:#fff;
    border:1px solid var(--ct-border);
    border-radius:12px;
    padding:22px;
    margin-top:18px;
    margin-bottom:36px;
    box-shadow:0 5px 18px rgba(16,24,40,.04);
}
.ct-text-block h2{
    margin-top:0;
    letter-spacing:-.025em;
}
.ct-text-block h3{
    margin-bottom:4px;
}
.ct-ad{
    width:min(1180px,calc(100% - 24px));
    margin:18px auto;
    background:#fff;
    border:1px dashed #cbd5e1;
    border-radius:10px;
    min-height:110px;
    display:grid;
    place-items:center;
    color:#9ca3af;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.ct-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--ct-primary);
    color:#fff!important;
    border-radius:999px;
    padding:10px 15px;
    font-weight:900;
}
.ct-footer{
    margin-top:24px;
    background:#17233a;
    color:#dbe4ef;
    padding:30px 0;
}
.ct-footer-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}
.ct-footer p{
    margin:6px 0 0;
    color:#b9c6d8;
}

/* Responsive */
@media (max-width:960px){
    .ct-agenda-head,
    .ct-agenda-row{
        grid-template-columns:68px 118px minmax(220px,1fr) 175px;
    }
    .ct-link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
    .ct-header-inner{
        align-items:flex-start;
        flex-direction:column;
        padding:10px 0;
    }
    .ct-nav{
        justify-content:flex-start;
        width:100%;
        overflow-x:auto;
        flex-wrap:nowrap;
    }
    .ct-page-intro-inner{
        align-items:flex-start;
        flex-direction:column;
        padding:20px 0;
    }
    .ct-page-intro h1{
        font-size:30px;
    }
    .ct-top-strip .ct-container,
    .ct-teams-strip .ct-container{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }
    .ct-strip-scroll,
    .ct-team-logo-scroll{
        width:100%;
    }
    .ct-section-head{
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
    }
    .ct-agenda-head{
        display:none;
    }
    .ct-agenda-row{
        display:grid;
        grid-template-columns:68px 1fr;
        gap:0;
        min-height:auto;
        padding:8px 9px;
    }
    .ct-agenda-time{
        grid-row:1 / span 3;
        padding:2px 10px 2px 0;
        font-size:16px;
    }
    .ct-agenda-match{
        grid-column:2;
        grid-row:1;
        padding:0;
    }
    .ct-agenda-phase{
        grid-column:2;
        grid-row:2;
        padding:4px 0 0;
        font-size:12px;
    }
    .ct-agenda-channels{
        grid-column:2;
        grid-row:3;
        padding:7px 0 0;
    }
    .ct-matchup{
        gap:6px;
    }
    .ct-match-team{
        white-space:normal;
        overflow:visible;
    }
    .ct-footer-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width:520px){
    .ct-container{width:min(100% - 18px,1180px)}
    .ct-brand-text strong{font-size:20px}
    .ct-brand-text small{font-size:11px}
    .ct-page-intro h1{font-size:28px}
    .ct-featured-card{flex-basis:225px}
    .ct-matchup{
        flex-wrap:wrap;
    }
    .ct-team-logo-link{
        width:28px;
        height:28px;
    }
    .ct-team-logo-link img{
        width:22px;
        height:22px;
    }
    .ct-link-grid{grid-template-columns:1fr}
}


/* Layout compacto con sidebar en escritorio */
.ct-content-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:18px;
    align-items:start;
}
.ct-main-column{
    min-width:0;
}
.ct-content-layout .ct-block{
    padding:18px 0;
}
.ct-content-layout .ct-ad{
    width:100%;
}
.ct-sidebar{
    position:sticky;
    top:14px;
    display:grid;
    gap:12px;
    padding-top:18px;
}
.ct-side-card,
.ct-side-ad{
    background:#fff;
    border:1px solid var(--ct-border);
    border-radius:10px;
    box-shadow:0 6px 18px rgba(16,24,40,.04);
    padding:14px;
}
.ct-side-card h3{
    margin:0 0 10px;
    font-size:15px;
    letter-spacing:-.015em;
}
.ct-side-summary{
    background:linear-gradient(180deg,#ffffff,#f5f9ff);
}
.ct-side-stat{
    display:flex;
    align-items:baseline;
    gap:8px;
    border-bottom:1px solid var(--ct-line);
    padding-bottom:10px;
    margin-bottom:10px;
}
.ct-side-stat strong{
    font-size:30px;
    line-height:1;
    letter-spacing:-.05em;
    color:#1d4ed8;
}
.ct-side-stat span{
    color:#475467;
    font-weight:900;
}
.ct-side-mini-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
.ct-side-mini-grid span{
    display:grid;
    gap:2px;
    background:#f8fbff;
    border:1px solid #d7e5fb;
    border-radius:8px;
    padding:9px;
}
.ct-side-mini-grid strong{
    font-size:18px;
    color:#111827;
}
.ct-side-mini-grid small{
    color:#667085;
    font-weight:800;
}
.ct-side-list{
    display:grid;
    gap:9px;
}
.ct-side-match{
    border-bottom:1px solid var(--ct-line);
    padding-bottom:9px;
}
.ct-side-match:last-child{
    border-bottom:0;
    padding-bottom:0;
}
.ct-side-match strong{
    display:block;
    font-size:13px;
    line-height:1.25;
}
.ct-side-match span{
    display:block;
    margin-top:3px;
    color:#667085;
    font-size:12px;
    font-weight:800;
}
.ct-side-note p{
    margin:0;
    color:#667085;
}
.ct-side-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.ct-side-tags a{
    display:inline-flex;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    color:#1d4ed8;
    border-radius:999px;
    padding:5px 8px;
    font-size:12px;
    font-weight:900;
}
.ct-side-tags a:hover{
    background:#dbeafe;
    text-decoration:none;
}
.ct-side-ad{
    min-height:250px;
    display:grid;
    place-items:center;
    color:#98a2b3;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
    border-style:dashed;
}

@media (max-width:1100px){
    .ct-content-layout{
        grid-template-columns:1fr;
    }
    .ct-sidebar{
        position:static;
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding-top:0;
    }
}
@media (max-width:760px){
    .ct-sidebar{
        grid-template-columns:1fr;
    }
}


/* Partidos con página individual */
.ct-match-title-link{
    color:#0f172a;
    text-decoration:none;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ct-match-title-link:hover{
    color:#1d4ed8;
    text-decoration:none;
}
.ct-match-title{
    font-weight:800;
    color:inherit;
    font-size:14px;
    letter-spacing:-0.01em;
}
.ct-featured-card:is(a){
    color:inherit;
    text-decoration:none;
}
.ct-featured-card:is(a):hover{
    border-color:#bfdbfe;
    transform:translateY(-1px);
    text-decoration:none;
}
a.ct-side-match{
    display:block;
    color:inherit;
    text-decoration:none;
}
a.ct-side-match:hover strong{
    color:#1d4ed8;
}

/* Página individual de partido */
.ct-match-hero{
    margin-bottom:14px;
}
.ct-match-hero-card{
    background:linear-gradient(180deg,#ffffff,#f5f9ff);
    border:1px solid var(--ct-border);
    border-radius:12px;
    padding:18px;
    box-shadow:0 8px 24px rgba(16,24,40,.05);
}
.ct-match-hero-meta{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:7px;
    margin-bottom:14px;
}
.ct-match-hero-meta a,
.ct-match-hero-meta span{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:4px 9px;
    border-radius:999px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    color:#1d4ed8;
    font-size:12px;
    font-weight:900;
}
.ct-match-hero-teams{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:14px;
}
.ct-match-hero-team{
    display:grid;
    justify-items:center;
    gap:8px;
    color:#0f172a;
    text-align:center;
    font-weight:900;
}
.ct-match-hero-team:hover{
    text-decoration:none;
    color:#1d4ed8;
}
.ct-match-hero-team img{
    width:76px;
    height:76px;
    object-fit:contain;
    background:#fff;
    border:1px solid #e5edf8;
    border-radius:999px;
    padding:8px;
}
.ct-match-hero-vs{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:999px;
    background:#17233a;
    color:#fff;
    font-weight:900;
    text-transform:uppercase;
    font-size:13px;
}
.ct-match-hero-date{
    margin-top:14px;
    text-align:center;
    color:#475467;
    font-weight:800;
}
.ct-detail-card{
    background:#fff;
    border:1px solid var(--ct-border);
    border-radius:12px;
    padding:18px;
    box-shadow:0 6px 18px rgba(16,24,40,.04);
    margin-bottom:14px;
}
.ct-detail-card h2{
    margin:0 0 10px;
    font-size:21px;
    letter-spacing:-.025em;
}
.ct-detail-card h3{
    margin:14px 0 5px;
    font-size:16px;
}
.ct-detail-card p{
    margin:0 0 10px;
    color:#344054;
    line-height:1.65;
}
.ct-watch-channels{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:10px;
}
.ct-info-table{
    margin:0;
    display:grid;
    border:1px solid var(--ct-line);
    border-radius:10px;
    overflow:hidden;
}
.ct-info-table div{
    display:grid;
    grid-template-columns:150px 1fr;
    border-bottom:1px solid var(--ct-line);
}
.ct-info-table div:last-child{
    border-bottom:0;
}
.ct-info-table dt,
.ct-info-table dd{
    margin:0;
    padding:10px 12px;
}
.ct-info-table dt{
    background:#f8fbff;
    color:#475467;
    font-weight:900;
}
.ct-info-table dd{
    color:#111827;
    font-weight:700;
}
.ct-related-list{
    display:grid;
    gap:8px;
}
.ct-related-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:1px solid var(--ct-line);
    border-radius:9px;
    padding:10px 12px;
    color:inherit;
    text-decoration:none;
}
.ct-related-item:hover{
    border-color:#bfdbfe;
    background:#f8fbff;
    text-decoration:none;
}
.ct-related-item strong{
    color:#0f172a;
}
.ct-related-item span{
    color:#667085;
    font-size:12px;
    font-weight:800;
    text-align:right;
}
.ct-faq-block h3:first-of-type{
    margin-top:0;
}

@media (max-width:760px){
    .ct-match-title-link,
    .ct-match-title{
        white-space:normal;
        overflow:visible;
    }
    .ct-match-hero-card{
        padding:14px 10px;
    }
    .ct-match-hero-teams{
        grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);
        gap:8px;
    }
    .ct-match-hero-team{
        min-width:0;
        gap:6px;
        font-size:12px;
    }
    .ct-match-hero-team img{
        width:58px;
        height:58px;
        padding:6px;
    }
    .ct-match-hero-vs{
        width:34px;
        height:34px;
        margin:0;
        font-size:11px;
    }
    .ct-match-hero-date{
        font-size:12px;
    }
    .ct-info-table div{
        grid-template-columns:1fr;
    }
    .ct-info-table dt{
        padding-bottom:2px;
    }
    .ct-info-table dd{
        padding-top:2px;
    }
    .ct-related-item{
        align-items:flex-start;
        flex-direction:column;
    }
    .ct-related-item span{
        text-align:left;
    }
}

@media (max-width:380px){
    .ct-match-hero-teams{
        grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);
        gap:6px;
    }
    .ct-match-hero-team img{
        width:52px;
        height:52px;
    }
    .ct-match-hero-vs{
        width:30px;
        height:30px;
        font-size:10px;
    }
}


/* Enlaces de partido en toda la agenda */
.ct-match-title-link{
    display:inline-flex;
    min-width:0;
}
.ct-agenda-row:hover .ct-match-title-link .ct-match-title{
    color:#1d4ed8;
}


/* Canales en páginas individuales: formato guía, no chips */
.ct-watch-channels{
    background:#f8fbff;
    border:1px solid var(--ct-border);
    border-radius:10px;
    padding:10px 12px;
}
.ct-watch-channels .ct-channel-link,
.ct-watch-channels .ct-channel-name{
    font-size:14px;
}


/* =========================
   CANALES MÁS DISCRETOS
========================= */

.ct-channel-item {
    color: #334155;
    font-weight: 700;
    text-decoration: none;
    border: 0;
    background: transparent;
    padding: 0;
    border-radius: 0;
}

.ct-channel-item:hover {
    color: #1d4ed8;
    text-decoration: underline;
}


/* =========================
   SIDEBAR: LIGAS Y CANALES PRÓXIMOS
========================= */

.ct-side-summary-link {
    display: block;
    color: inherit;
}

.ct-side-summary-link:hover {
    text-decoration: none;
    border-color: #bfdbfe;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.08);
}

.ct-side-summary-link:hover .ct-side-stat span,
.ct-side-summary-link:hover h3 {
    color: #1d4ed8;
}

.ct-side-tags-list {
    display: grid;
    gap: 7px;
}

.ct-side-tags-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    border-radius: 9px;
    padding: 7px 9px;
}

.ct-side-tags-list a span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ct-side-tags-list a small {
    display: inline-grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ffffff;
    color: #475467;
    border: 1px solid #d7e5fb;
    font-weight: 900;
}


/* =========================
   ÍNDICES Y FOOTER REFORZADO
========================= */

.ct-footer-grid {
    grid-template-columns: 1.1fr 1fr 1.2fr;
    align-items: start;
}

.ct-footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
}

.ct-footer-links a {
    color: #dbe4ef;
    font-weight: 800;
    font-size: 13px;
}

.ct-footer-links a:hover {
    color: #ffffff;
}

.ct-footer-note p {
    margin: 0;
}

.ct-index-note {
    background: #ffffff;
    border: 1px solid var(--ct-border);
    border-radius: 10px;
    padding: 13px 15px;
    color: #475467;
    margin-bottom: 14px;
    box-shadow: 0 4px 14px rgba(16,24,40,.04);
}

.ct-index-section {
    margin-bottom: 26px;
}

.ct-index-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ct-index-link {
    min-height: 56px;
}

@media (max-width: 960px) {
    .ct-index-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ct-footer-grid {
        grid-template-columns: 1fr;
    }

    .ct-footer-links {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .ct-index-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================
   ESTADO VACÍO CONTEXTUAL
========================= */

.ct-empty-state {
    background: #ffffff;
    border: 1px solid var(--ct-border);
    border-radius: 14px;
    padding: 28px 24px;
    text-align: center;
    box-shadow: 0 6px 18px rgba(16,24,40,.04);
}

.ct-empty-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 22px;
    font-weight: 900;
}

.ct-empty-state h2 {
    margin: 0 0 8px;
    font-size: 22px;
    letter-spacing: -0.02em;
}

.ct-empty-state p {
    max-width: 640px;
    margin: 0 auto 8px;
    color: #475467;
    font-size: 15px;
}

.ct-empty-state .ct-empty-note {
    color: #667085;
    font-size: 14px;
}

.ct-empty-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    margin-top: 16px;
}

.ct-empty-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-weight: 900;
    font-size: 13px;
}

.ct-empty-actions a:hover {
    background: #dbeafe;
    text-decoration: none;
}

@media (max-width: 520px) {
    .ct-empty-state {
        padding: 22px 16px;
    }

    .ct-empty-state h2 {
        font-size: 20px;
    }

    .ct-empty-actions {
        align-items: stretch;
        flex-direction: column;
    }
}


/* =========================
   PÁGINAS LEGALES
========================= */

.ct-legal-wrap {
    padding: 24px 0 42px;
}

.ct-legal-card {
    max-width: 900px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid var(--ct-border);
    border-radius: 14px;
    padding: 28px;
    box-shadow: 0 6px 18px rgba(16,24,40,.04);
}

.ct-legal-card h2 {
    margin: 26px 0 8px;
    font-size: 21px;
    letter-spacing: -0.02em;
}

.ct-legal-card h2:first-child {
    margin-top: 0;
}

.ct-legal-card p {
    color: #475467;
    margin: 0 0 12px;
    font-size: 15px;
}

.ct-legal-card a {
    color: #1d4ed8;
    font-weight: 800;
}

.ct-legal-updated {
    display: inline-flex;
    margin-bottom: 12px !important;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    padding: 6px 10px;
    color: #1d4ed8 !important;
    font-weight: 900;
    font-size: 12px !important;
}

.ct-contact-box {
    display: grid;
    gap: 4px;
    background: #f8fbff;
    border: 1px solid #d7e5fb;
    border-radius: 12px;
    padding: 16px;
    margin: 14px 0 22px;
}

.ct-contact-box strong {
    color: #111827;
}

.ct-contact-box a {
    font-size: 17px;
}

@media (max-width: 640px) {
    .ct-legal-card {
        padding: 20px 16px;
    }

    .ct-legal-card h2 {
        font-size: 19px;
    }
}
