.tvcom-programs{font-family:Manrope,Arial,sans-serif;background:#f4f7fb;padding:80px 20px;box-sizing:border-box;color:#061326}
.tvcom-programs *{box-sizing:border-box}
.tvcom-programs-head{max-width:1220px;margin:0 auto 30px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.tvcom-kicker{display:inline-block;color:#72c500;font-size:13px;font-weight:800;letter-spacing:.8px;margin-bottom:10px}
.tvcom-programs h1{font-size:52px;line-height:1.02;letter-spacing:-2px;margin:0 0 12px;font-weight:800}
.tvcom-programs-head p{margin:0;color:#617083;font-size:18px;line-height:1.5}
.tvcom-search{width:280px;flex:0 0 280px;height:50px;border:1px solid #dfe7ef;background:#fff;border-radius:999px;display:flex;align-items:center;padding:0 18px;box-shadow:0 5px 18px rgba(0,0,0,.04)}
.tvcom-search span{font-size:25px;line-height:1;margin-right:9px;color:#7b8998}.tvcom-search input{border:0;outline:0;width:100%;font:500 15px Manrope,Arial,sans-serif;background:transparent;color:#061326}
.tvcom-filters{max-width:1220px;margin:0 auto 28px;display:flex;flex-wrap:wrap;gap:9px}.tvcom-filters button{border:1px solid #e1e8ef;background:#fff;color:#314055;border-radius:999px;padding:10px 17px;font:700 13px Manrope,Arial,sans-serif;cursor:pointer;transition:.2s}.tvcom-filters button:hover,.tvcom-filters button.is-active{background:#72c500;border-color:#72c500;color:#fff}
.tvcom-grid{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.tvcom-card{position:relative;min-width:0}.tvcom-card-button{width:100%;border:1px solid #e5ebf1;background:#fff;border-radius:20px;padding:18px 12px 16px;min-height:170px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;box-shadow:0 9px 28px rgba(0,0,0,.045);transition:transform .2s,box-shadow .2s,border-color .2s;font-family:inherit}.tvcom-card-button:hover,.tvcom-card-button:focus-visible{transform:translateY(-4px);box-shadow:0 15px 35px rgba(0,0,0,.08);border-color:#b9df86;outline:0}.tvcom-logo-wrap{width:112px;height:82px;display:flex;align-items:center;justify-content:center}.tvcom-logo-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.tvcom-card-name{font-size:15px;font-weight:800;text-align:center;color:#14243a}
.tvcom-popover{position:absolute;z-index:30;left:50%;bottom:calc(100% + 12px);transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;width:300px;background:#fff;border:1px solid #e4ebf2;border-radius:18px;padding:20px;box-shadow:0 20px 55px rgba(0,0,0,.14);transition:.2s;text-align:left}.tvcom-card:hover .tvcom-popover{opacity:1;visibility:visible;transform:translate(-50%,0)}.tvcom-popover-logo{width:72px;height:50px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:9px}.tvcom-popover-logo img{max-width:100%;max-height:100%;object-fit:contain}.tvcom-popover strong{display:block;font-size:19px;font-weight:800;margin-bottom:7px}.tvcom-cat-label{display:inline-block;background:#eef7e5;color:#5c9e10;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;margin-bottom:9px}.tvcom-desc{font-size:14px;line-height:1.55;color:#566579}.tvcom-desc p{margin:0 0 7px}.tvcom-desc p:last-child{margin-bottom:0}.tvcom-listen{display:inline-block;margin-top:12px;color:#fff;background:#72c500;border-radius:10px;padding:9px 13px;text-decoration:none;font-size:13px;font-weight:800}.tvcom-mobile-modal-content{display:none}.tvcom-no-results{max-width:1220px;margin:30px auto 0;text-align:center;color:#708096;font-size:16px}
@media(max-width:1100px){.tvcom-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tvcom-programs h1{font-size:46px}}
@media(max-width:700px){.tvcom-programs{padding:55px 16px}.tvcom-programs-head{display:block}.tvcom-programs h1{font-size:38px;letter-spacing:-1.4px}.tvcom-programs-head p{font-size:16px}.tvcom-search{width:100%;margin-top:22px}.tvcom-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.tvcom-filters::-webkit-scrollbar{display:none}.tvcom-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tvcom-card-button{min-height:135px;border-radius:16px;padding:12px 7px}.tvcom-logo-wrap{width:80px;height:58px}.tvcom-card-name{font-size:12px}.tvcom-popover{display:none}}
@media(max-width:420px){.tvcom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tvcom-modal{position:fixed;inset:0;z-index:999999;background:rgba(2,10,22,.62);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:.2s}.tvcom-modal.is-open{opacity:1;visibility:visible}.tvcom-modal-box{width:min(430px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:26px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.28)}.tvcom-modal-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f4f7;color:#25354a;font-size:24px;cursor:pointer}.tvcom-modal .tvcom-popover-logo{width:100px;height:70px}.tvcom-modal strong{display:block;font-size:24px;font-weight:800;margin-bottom:8px}.tvcom-modal .tvcom-desc{font-size:16px;line-height:1.6;margin-top:5px}


/* =========================================================
   TV-COM DIRECTORY 1.1 — unified /tv-list/ design
   ========================================================= */
.tvcom-directory{font-family:Manrope,Arial,sans-serif;color:#061326;max-width:1280px;margin:0 auto;padding:20px 0 70px}
.tvcom-directory *{box-sizing:border-box}
.tvcom-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;padding:12px 0 26px}
.tvcom-directory-head h2{font-size:52px;line-height:1.02;letter-spacing:-2.2px;margin:0 0 12px;font-weight:800}
.tvcom-directory-head p{margin:0;color:#617083;font-size:18px;line-height:1.5}
.tvcom-directory-search{width:360px;flex:0 0 360px}
.tvcom-type-tabs{display:flex;gap:10px;margin:0 0 34px;padding-bottom:2px}
.tvcom-type-tabs button{border:1px solid #dfe7ef;background:#fff;color:#26364b;border-radius:999px;padding:11px 22px;font:700 14px Manrope,Arial,sans-serif;cursor:pointer;transition:.2s}
.tvcom-type-tabs button:hover,.tvcom-type-tabs button.is-active{background:#72c500;border-color:#72c500;color:#fff;box-shadow:0 8px 20px rgba(114,197,0,.18)}
.tvcom-directory-section{display:block;margin:0 0 54px}
.tvcom-directory-section.is-hidden{display:none}
.tvcom-part-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 20px}
.tvcom-part-head h3{margin:0;font:800 30px/1.1 Manrope,Arial,sans-serif;letter-spacing:-1px}
.tvcom-part-head p{margin:5px 0 0;color:#6b7b8f;font-size:15px}
.tvcom-directory .tvcom-programs-part{background:transparent;padding:0}
.tvcom-directory .tvcom-programs-part .tvcom-kicker{display:none}
.tvcom-directory .tvcom-programs-part .tvcom-filters{max-width:none;margin:0 0 22px}
.tvcom-directory .tvcom-programs-part .tvcom-grid{max-width:none}
.tvcom-directory-section[data-directory-section="tv"]:before{content:'Телеканали';display:block;margin:0 0 20px;font:800 30px/1.1 Manrope,Arial,sans-serif;letter-spacing:-1px}
.tvcom-directory-section[data-directory-section="radio"]:before{content:'Радіостанції';display:block;margin:0 0 20px;font:800 30px/1.1 Manrope,Arial,sans-serif;letter-spacing:-1px}
.tvcom-directory-section[data-directory-section="radio"]:after{content:'Слухайте радіостанції онлайн';display:block;margin:-12px 0 24px;color:#6b7b8f;font-size:15px}
.tvcom-directory-empty{text-align:center;padding:50px 20px;color:#708096;font-size:17px}

/* Real radio player */
.tvcom-radio-player{margin-top:13px}
.tvcom-play{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:12px;padding:10px 16px;background:#72c500;color:#fff;font:800 13px Manrope,Arial,sans-serif;cursor:pointer;box-shadow:0 8px 18px rgba(114,197,0,.18);transition:.2s;white-space:nowrap}
.tvcom-play:hover{background:#64b000;transform:translateY(-1px)}
.tvcom-play.is-playing{background:#17324d}
.tvcom-play-icon{font-size:13px;line-height:1}
.tvcom-card .tvcom-popover .tvcom-radio-player{pointer-events:auto}
.tvcom-card .tvcom-popover{pointer-events:none}
.tvcom-card:hover .tvcom-popover{pointer-events:auto}
.tvcom-modal .tvcom-radio-player{margin-top:18px}
.tvcom-modal .tvcom-play{width:100%;min-height:48px;font-size:14px}

@media(max-width:900px){
 .tvcom-directory{padding:10px 0 50px}
 .tvcom-directory-head{display:block}
 .tvcom-directory-head h2{font-size:44px}
 .tvcom-directory-search{width:100%;margin-top:22px}
}
@media(max-width:700px){
 .tvcom-directory{padding:0 0 45px}
 .tvcom-directory-head h2{font-size:38px;letter-spacing:-1.4px}
 .tvcom-directory-head p{font-size:16px}
 .tvcom-type-tabs{overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
 .tvcom-type-tabs::-webkit-scrollbar{display:none}
 .tvcom-type-tabs button{flex:0 0 auto}
 .tvcom-directory-section{margin-bottom:38px}
 .tvcom-directory-section[data-directory-section="tv"]:before,.tvcom-directory-section[data-directory-section="radio"]:before{font-size:25px;margin-bottom:15px}
 .tvcom-play{min-height:40px;padding:9px 12px}
}

/* TV-COM 1.1.1 fixes */
.tvcom-directory-section[data-directory-section="radio"]:after{display:none !important}

/* The theme's generic page title duplicates the directory title. */
.tvcom-program-directory-page .entry-title,
.tvcom-program-directory-page .page-title,
.tvcom-program-directory-page .page-header h1{
    display:none !important;
}

/* Keep the directory itself compact and remove the old inner panel feeling. */
.tvcom-directory{padding-top:8px}

/* Radio player must remain clickable inside the desktop hover card. */
.tvcom-card .tvcom-popover,
.tvcom-card:hover .tvcom-popover{pointer-events:auto}
.tvcom-card-button{position:relative;z-index:1}
.tvcom-popover{z-index:50}
.tvcom-radio-player{position:relative;z-index:60}
.tvcom-play{position:relative;z-index:61;pointer-events:auto}

/* Mobile modal player */
.tvcom-modal .tvcom-radio-player{display:block;position:relative;z-index:5}
.tvcom-modal .tvcom-play{display:flex;position:relative;z-index:6;pointer-events:auto;touch-action:manipulation}

/* TV-COM 1.1.2 — the unified page has a single title only. */
.tvcom-directory-head > div > .tvcom-kicker{display:none !important}


/* TV-COM 1.1.3 — improved mobile spacing for /tv-list/ */
@media (max-width:700px){
    .tvcom-directory{
        width:100%;
        max-width:none;
        padding:0 16px 45px;
    }
    .tvcom-directory-head{
        padding-left:0;
        padding-right:0;
    }
    .tvcom-type-tabs{
        margin-left:0;
        margin-right:0;
        padding-left:0;
        padding-right:0;
    }
    .tvcom-directory-section{
        margin-left:0;
        margin-right:0;
    }
    .tvcom-directory-section .tvcom-filters{
        margin-left:0;
        margin-right:0;
    }
    .tvcom-directory-section .tvcom-grid{
        width:100%;
    }
}
