/* =========================================================
   FootballTV Design — skin for Twenty Twenty-Five
   Logical properties everywhere → works for LTR and RTL (Arabic).
   ========================================================= */
:root{
	--ftv-pitch:#00B85C; --ftv-pitch-d:#008F47; --ftv-navy:#0E1C36; --ftv-ink:#0B1426;
	--ftv-muted:#64748B; --ftv-line:#E3E8F0; --ftv-card:#fff; --ftv-bg:#F4F6FA; --ftv-live:#E5383B;
	--ftv-r:14px; --ftv-shadow:0 1px 2px rgba(11,20,38,.05),0 4px 14px rgba(11,20,38,.05);
}

/* ---------- Site header (TT5 header template part) ---------- */
.wp-site-blocks > header,
header.wp-block-template-part{
	background:var(--ftv-navy); color:#fff; position:sticky; inset-block-start:0; z-index:50;
	box-shadow:0 2px 12px rgba(0,0,0,.18);
}
.admin-bar .wp-site-blocks > header{inset-block-start:32px}
header.wp-block-template-part a,
header.wp-block-template-part .wp-block-site-title a,
header.wp-block-template-part .wp-block-navigation{color:#fff !important}
header.wp-block-template-part .wp-block-site-title a{font-weight:900; letter-spacing:-.02em; text-decoration:none}
header.wp-block-template-part .wp-block-site-title a::before{content:"📺 "; }
header.wp-block-template-part .wp-block-navigation a:hover{color:var(--ftv-pitch) !important}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open{background:var(--ftv-navy) !important; color:#fff !important}
header.wp-block-template-part > .wp-block-group{padding-block:12px !important}

/* ---------- Footer ---------- */
footer.wp-block-template-part{background:var(--ftv-ink); color:#cbd5e1; margin-block-start:56px}
footer.wp-block-template-part a{color:#fff}

/* ---------- Homepage hero ---------- */
.ftv-hero-band{
	background:radial-gradient(1200px 400px at 80% -20%,rgba(0,184,92,.35),transparent 60%),linear-gradient(160deg,#0E1C36 0%,#13284d 100%);
	color:#fff; padding-block:clamp(36px,6vw,72px) 28px !important; margin-block-start:0 !important;
}
.ftv-home-title{color:#fff; margin-block-end:.4em}
.ftv-home-sub{color:#c7d2e3; max-width:640px; font-size:1.08rem}
.ftv-hero-band .ftv-cc a{background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.18)}
.ftv-hero-band .ftv-cc a.is-active{background:var(--ftv-pitch); border-color:var(--ftv-pitch)}

/* ---------- Country switch ---------- */
.ftv-cc{margin-block:18px}
.ftv-cc a{
	padding:7px 14px; border-radius:999px; border:1px solid var(--ftv-line); background:var(--ftv-card);
	font-size:.92rem; font-weight:600; text-decoration:none; color:var(--ftv-ink); transition:.15s;
}
.ftv-cc a:hover{border-color:var(--ftv-pitch)}
.ftv-cc a.is-active{background:var(--ftv-navy); color:#fff; border-color:var(--ftv-navy)}

/* ---------- Day tabs ---------- */
.ftv-daytabs{margin-block:24px 18px}
.ftv-tabs{background:var(--ftv-card); padding:6px; border-radius:var(--ftv-r); box-shadow:var(--ftv-shadow); border:1px solid var(--ftv-line)}
.ftv-tab{
	flex:1; border:0; background:transparent; padding:10px 12px; border-radius:10px; cursor:pointer;
	font:inherit; font-weight:700; color:var(--ftv-muted); display:flex; flex-direction:column; align-items:center; gap:2px;
}
.ftv-tab small{font-weight:500; font-size:.78rem; opacity:.8}
.ftv-tab.is-active{background:var(--ftv-navy); color:#fff}
.ftv-tab:focus-visible{outline:3px solid var(--ftv-pitch); outline-offset:2px}

/* ---------- Match list ---------- */
.ftv-group{background:var(--ftv-card); border:1px solid var(--ftv-line); border-radius:var(--ftv-r); overflow:hidden; box-shadow:var(--ftv-shadow)}
.ftv-group-head{
	padding:11px 14px; background:linear-gradient(90deg,#f8fafc,#fff); border-block-end:1px solid var(--ftv-line);
	font-size:.95rem; color:var(--ftv-navy); text-transform:none;
}
.ftv-group-head::before{content:""; inline-size:4px; block-size:18px; border-radius:4px; background:var(--ftv-pitch)}
.ftv-group-head .ftv-logo{width:22px; height:22px}
.ftv-row{border-block-end:1px solid var(--ftv-line); transition:background .15s}
.ftv-row:last-child{border-block-end:0}
.ftv-row:hover{background:#f9fbfd}
.ftv-time{font-weight:800; font-variant-numeric:tabular-nums; color:var(--ftv-ink); font-size:1rem}
.ftv-teams{font-weight:650; font-size:.98rem}
.ftv-teams:hover .ftv-team span{color:var(--ftv-pitch-d)}
.ftv-vs{color:var(--ftv-muted); font-size:.8rem; font-weight:600}
.ftv-score{background:var(--ftv-navy); color:#fff; border-radius:8px; padding:3px 9px; font-weight:800; font-variant-numeric:tabular-nums}
.ftv-tv{font-size:.9rem; opacity:.7}
.ftv-chip{
	display:inline-block; padding:3px 10px; border-radius:999px; font-size:.8rem; font-weight:700;
	background:#e9f9f0; color:#05683a; border:1px solid #c7efd9; text-decoration:none; line-height:1.5;
}
a.ftv-chip:hover{background:var(--ftv-pitch); color:#fff; border-color:var(--ftv-pitch)}
.ftv-nochan{font-size:.8rem; color:var(--ftv-muted); font-style:italic}

/* Badges */
.ftv-badge{font-size:.68rem; font-weight:800; letter-spacing:.04em; padding:2px 7px; border-radius:6px}
.ftv-live{background:var(--ftv-live); color:#fff; animation:ftvPulse 1.6s infinite}
.ftv-ft{background:#e2e8f0; color:#334155}
.ftv-pp{background:#fef3c7; color:#92400e}
@keyframes ftvPulse{0%,100%{box-shadow:0 0 0 0 rgba(229,56,59,.5)}50%{box-shadow:0 0 0 6px rgba(229,56,59,0)}}
@media (prefers-reduced-motion:reduce){.ftv-live{animation:none}}

.ftv-empty{background:var(--ftv-card); border:1px dashed var(--ftv-line); border-radius:var(--ftv-r); padding:22px; text-align:center; color:var(--ftv-muted)}

/* ---------- Channel grid ---------- */
.ftv-chcard{
	display:flex; flex-direction:column; gap:4px; padding:14px 16px; background:var(--ftv-card); border:1px solid var(--ftv-line);
	border-radius:12px; text-decoration:none; color:var(--ftv-ink); box-shadow:var(--ftv-shadow); transition:transform .15s,border-color .15s;
}
.ftv-chcard:hover{transform:translateY(-2px); border-color:var(--ftv-pitch)}
.ftv-chcard span{font-size:.78rem; color:var(--ftv-muted); font-weight:600}

/* ---------- Match page ---------- */
.ftv-main{max-width:900px; margin-inline:auto; padding:24px 16px}
.ftv-crumb{font-size:.85rem; color:var(--ftv-muted); margin-block:0 12px}
.ftv-crumb a{color:var(--ftv-muted)}
.ftv-hero{
	background:linear-gradient(160deg,#0E1C36,#173563); color:#fff; border-radius:20px; padding:28px 18px; box-shadow:0 10px 30px rgba(14,28,54,.25);
}
.ftv-hero-team strong{font-size:clamp(1rem,2.4vw,1.3rem)}
.ftv-hero-team .ftv-logo{background:#fff; border-radius:50%; padding:8px; box-sizing:content-box}
.ftv-hero-league{font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:#9fb3d1; font-weight:700}
.ftv-hero-score{font-size:clamp(1.8rem,5vw,2.6rem); font-weight:900; font-variant-numeric:tabular-nums}
.ftv-hero-score .ftv-time{color:#fff; font-size:inherit}
.ftv-hero-date{font-size:.85rem; color:#c7d2e3}
.ftv-hero-date .ftv-time{color:#c7d2e3; font-size:inherit; font-weight:600}
.ftv-h1{font-size:clamp(1.4rem,3vw,1.9rem); margin-block:28px 10px}
.ftv-answer{
	background:var(--ftv-card); border-inline-start:5px solid var(--ftv-pitch); border-radius:12px; padding:16px 18px; font-size:1.06rem; box-shadow:var(--ftv-shadow);
}
.ftv-answer .ftv-time{font-size:inherit}
.ftv-section{margin-block:30px}
.ftv-cc-table,.ftv-freq-table{background:var(--ftv-card); border-radius:12px; overflow:hidden; box-shadow:var(--ftv-shadow); border:1px solid var(--ftv-line)}
.ftv-cc-table th,.ftv-cc-table td,.ftv-freq-table th,.ftv-freq-table td{padding:12px 14px; border-block-end:1px solid var(--ftv-line); text-align:start; vertical-align:middle}
.ftv-cc-table thead th{background:var(--ftv-navy); color:#fff; font-size:.85rem}
.ftv-cc-table td .ftv-chip{margin:2px}
.ftv-flag{font-size:1.2rem}
.ftv-facts dl{background:var(--ftv-card); padding:16px 18px; border-radius:12px; border:1px solid var(--ftv-line)}
.ftv-facts dt{color:var(--ftv-muted); font-weight:600}
.ftv-facts dd{margin:0; font-weight:650}
.ftv-facts .ftv-time{font-size:inherit; font-weight:inherit}
.ftv-legal{font-size:.82rem; color:var(--ftv-muted); margin-block-start:28px}

/* ---------- Channel page ---------- */
.single-ftv_channel .wp-block-post-title::after{
	content:"Official TV channel"; display:block; font-size:.85rem; font-weight:700; color:var(--ftv-pitch-d);
	letter-spacing:.06em; text-transform:uppercase; margin-block-start:8px;
}
.ftv-freq{background:linear-gradient(160deg,#0E1C36,#173563); color:#fff; border-radius:18px; padding:20px; margin-block:20px 30px}
.ftv-freq h2{color:#fff; margin-block-start:0}
.ftv-freq-table{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); box-shadow:none; margin-block-end:14px}
.ftv-freq-table th{color:#9fb3d1; font-weight:600; width:40%}
.ftv-freq-table td{font-weight:800; font-variant-numeric:tabular-nums}
.ftv-freq-table th,.ftv-freq-table td{border-color:rgba(255,255,255,.1)}
.ftv-btn{display:inline-block; background:var(--ftv-pitch); color:#fff !important; padding:10px 18px; border-radius:10px; font-weight:800; text-decoration:none}
.ftv-btn:hover{background:var(--ftv-pitch-d)}

/* Readability of AI article body */
.single-ftv_channel .wp-block-post-content h2{margin-block-start:1.8em; padding-block-end:.3em; border-block-end:2px solid var(--ftv-line)}
.single-ftv_channel .wp-block-post-content h3{font-size:1.08rem; margin-block:1.2em .3em}

/* ---------- Ad slots (wrap AdSense units in .ftv-ad to avoid CLS) ---------- */
.ftv-ad{min-height:280px; display:flex; align-items:center; justify-content:center; margin-block:24px}

/* ---------- Mobile ---------- */
@media (max-width:600px){
	.ftv-row{padding:12px}
	.ftv-teams{font-size:.93rem}
	.ftv-hero{padding:20px 10px; gap:8px}
	.ftv-tab{padding:8px 6px}
	.admin-bar .wp-site-blocks > header{inset-block-start:0}
}

/* ---------- RTL tweaks ---------- */
[dir="rtl"] .ftv-time,[dir="rtl"] .ftv-score{direction:ltr; unicode-bidi:isolate}
