/* ==========================================================================
   IPTV Design System — standalone theme
   ========================================================================== */

:root {
	--iptv-bg: #05060f;
	--iptv-bg-alt: #0a0b18;
	--iptv-surface: #12122c;
	--iptv-surface-2: #171733;
	--iptv-surface-3: #1c1c40;
	--iptv-border: #262454;
	--iptv-border-soft: #1a1a3a;

	--iptv-text: #f5f5fa;
	--iptv-text-muted: #a3a3c2;
	--iptv-text-dim: #6f6f92;

	--iptv-purple-400: #9f75ff;
	--iptv-purple-500: #7c4dff;
	--iptv-purple-600: #6c2bd9;
	--iptv-blue-400: #4f8dff;
	--iptv-cyan-400: #22d3ee;
	--iptv-gradient-brand: linear-gradient(90deg, var(--iptv-purple-500) 0%, var(--iptv-blue-400) 100%);
	--iptv-gradient-text: linear-gradient(90deg, #ffffff 0%, var(--iptv-purple-400) 55%, var(--iptv-cyan-400) 100%);

	--iptv-success: #10b981;
	--iptv-danger: #ef4444;
	--iptv-warning: #f59e0b;

	--iptv-radius-sm: 8px;
	--iptv-radius-md: 14px;
	--iptv-radius-lg: 22px;
	--iptv-radius-pill: 999px;
	--iptv-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--iptv-shadow-glow: 0 0 0 1px var(--iptv-border), 0 20px 60px -20px rgba(124, 77, 255, 0.35);
	--iptv-header-h: 76px;

	--iptv-font-display: 'Space Grotesk', 'Inter', sans-serif;
	--iptv-font-body: 'Inter', sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	background-color: var(--iptv-bg);
	color: var(--iptv-text-muted);
	font-family: var(--iptv-font-body);
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
	padding-top: var(--iptv-header-h);
	overflow-x: hidden;
}

body::before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(60% 40% at 15% 0%, rgba(124, 77, 255, 0.18) 0%, transparent 60%),
		radial-gradient(50% 35% at 90% 10%, rgba(34, 211, 238, 0.10) 0%, transparent 60%);
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--iptv-font-display);
	color: var(--iptv-text);
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0 0 16px;
}
h2 { font-size: clamp(26px, 3vw, 34px); }

p { margin: 0 0 16px; }

a { color: var(--iptv-purple-400); text-decoration: none; transition: color 0.2s var(--iptv-ease); }
a:hover { color: var(--iptv-cyan-400); }

.iptv-gradient-text {
	background: var(--iptv-gradient-text);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	display: inline;
}

.iptv-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
.iptv-section { position: relative; z-index: 1; padding: 64px 0; }
.iptv-eyebrow {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 16px; border-radius: var(--iptv-radius-pill);
	background: rgba(124, 77, 255, 0.16); color: var(--iptv-purple-400);
	font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
	margin-bottom: 20px;
}

/* ---------- Buttons ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--iptv-font-body); font-weight: 600; font-size: 15px;
	padding: 13px 24px; border-radius: var(--iptv-radius-pill); border: none; cursor: pointer;
	transition: transform 0.2s var(--iptv-ease), box-shadow 0.2s var(--iptv-ease), background 0.2s var(--iptv-ease);
}
.iptv-btn-primary {
	background: var(--iptv-gradient-brand); color: #fff;
	box-shadow: 0 8px 24px -6px rgba(124, 77, 255, 0.55);
}
.iptv-btn-primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 12px 30px -6px rgba(124, 77, 255, 0.7); }
.iptv-btn-outline { background: transparent; border: 1px solid var(--iptv-border); color: var(--iptv-text); }
.iptv-btn-outline:hover { color: var(--iptv-text); border-color: var(--iptv-purple-400); background: rgba(124, 77, 255, 0.08); }

/* ---------- Site header ---------- */
.site-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: var(--iptv-header-h);
	background: rgba(5, 6, 15, 0.85); backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--iptv-border-soft);
	display: flex; align-items: center;
}
.iptv-navbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; }
.iptv-logo { display: flex; align-items: center; gap: 10px; font-family: var(--iptv-font-display); font-weight: 700; font-size: 20px; color: var(--iptv-text); }
.iptv-logo:hover { color: var(--iptv-text); }
.iptv-logo__mark {
	width: 36px; height: 36px; border-radius: 10px; background: var(--iptv-gradient-brand);
	display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0;
}
.iptv-logo__sub { display: block; font-family: var(--iptv-font-body); font-size: 9px; font-weight: 600; letter-spacing: 0.12em; color: var(--iptv-text-dim); }

.main-navigation { flex-grow: 1; display: flex; justify-content: center; }
.main-navigation ul { list-style: none; display: flex; gap: 32px; margin: 0; padding: 0; }
.main-navigation a { color: var(--iptv-text-muted); font-weight: 500; font-size: 15px; }
.main-navigation .current-menu-item > a, .main-navigation a:hover { color: var(--iptv-text); }
.main-navigation .current-menu-item > a { position: relative; }
.main-navigation .current-menu-item > a::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -22px; height: 2px; background: var(--iptv-gradient-brand);
}

.iptv-navbar__actions { display: flex; align-items: center; gap: 14px; }
.iptv-navbar__toggle {
	display: none; background: none; border: 1px solid var(--iptv-border); border-radius: var(--iptv-radius-sm);
	width: 40px; height: 40px; color: var(--iptv-text); cursor: pointer; align-items: center; justify-content: center;
}

@media (max-width: 900px) {
	.main-navigation { position: fixed; top: var(--iptv-header-h); left: 0; right: 0; bottom: 0;
		background: var(--iptv-bg); padding: 32px 24px; transform: translateX(100%); transition: transform 0.3s var(--iptv-ease); overflow-y: auto; }
	.main-navigation.is-open { transform: translateX(0); }
	.main-navigation ul { flex-direction: column; gap: 8px; }
	.main-navigation a { display: block; padding: 14px 0; border-bottom: 1px solid var(--iptv-border-soft); }
	.main-navigation .current-menu-item > a::after { display: none; }
	.iptv-navbar__toggle { display: flex; }
	.iptv-navbar__actions .iptv-btn-primary { padding: 10px 16px; font-size: 13px; }
}

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="search"], input[type="number"], input[type="url"], select, textarea {
	background-color: var(--iptv-surface-2); border: 1px solid var(--iptv-border); color: var(--iptv-text);
	border-radius: var(--iptv-radius-sm); padding: 12px 14px; font-family: var(--iptv-font-body); font-size: 14px; width: 100%;
}
input::placeholder, textarea::placeholder { color: var(--iptv-text-dim); }
label { color: var(--iptv-text); font-size: 14px; font-weight: 600; display: block; margin-bottom: 6px; }

/* ---------- Cards / blog / comments (generic content areas) ---------- */
.card, .iptv-card, article.post, .comment-body {
	background: var(--iptv-surface); border: 1px solid var(--iptv-border-soft);
	border-radius: var(--iptv-radius-md); padding: 24px;
}

/* ---------- Site footer ---------- */
.site-footer { background: var(--iptv-bg-alt); border-top: 1px solid var(--iptv-border-soft); padding: 56px 0 0; }
.iptv-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; padding-bottom: 40px; }
.iptv-footer__brand p { max-width: 280px; font-size: 14px; }
.iptv-footer__col h4 { font-size: 14px; color: var(--iptv-text); margin-bottom: 16px; }
.iptv-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.iptv-footer__col a { font-size: 14px; color: var(--iptv-text-muted); }
.iptv-footer__col a:hover { color: var(--iptv-cyan-400); }
.iptv-footer__bottom {
	border-top: 1px solid var(--iptv-border-soft); padding: 20px 0; display: flex; justify-content: space-between;
	flex-wrap: wrap; gap: 12px; font-size: 13px; color: var(--iptv-text-dim);
}
@media (max-width: 800px) { .iptv-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .iptv-footer__grid { grid-template-columns: 1fr; } }

/* ---------- Generic page/post content (blog, 404, search) ---------- */
.iptv-page-content { padding: 140px 0 80px; }
.iptv-page-content .page-title, .iptv-page-content .entry-title { margin-bottom: 24px; }
.iptv-entry-meta { font-size: 13px; color: var(--iptv-text-dim); margin-bottom: 24px; }

/* ---------- Focus & motion ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--iptv-cyan-400); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* WordPress core alignment helpers */
.alignwide { max-width: 1200px; }
.alignfull { max-width: 100%; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); overflow: hidden; height: 1px; width: 1px; }
