/* ============================================================
   Enjoy IPTV — main.css
   Compiled from assets/scss/. Edit SCSS sources, not this file.
   Sport TV palette (electric blue + cyan + cinema black).
============================================================ */

/* ----------------------------------------------------------
   1. Tokens (CSS custom properties)
---------------------------------------------------------- */
:root {
	--clr-primary:        #1E90FF;
	--clr-primary-dark:   #1565C0;
	--clr-primary-light:  #4DA8FF;
	--clr-accent:         #00D4FF;
	--clr-accent-2:       #FBBF24;
	--clr-bg:             #0A0E1A;
	--clr-bg-alt:         #060912;
	--clr-surface:        #121829;
	--clr-surface-2:      #1A2138;
	--clr-surface-3:      #232C44;
	--clr-border:         #2A334D;
	--clr-border-light:   #3A4566;
	--clr-success:        #10B981;
	--clr-danger:         #EF4444;
	--clr-text:           #F8FAFC;
	--clr-text-muted:     #94A3B8;
	--clr-text-dim:       #64748B;
	--gradient-primary:   linear-gradient(135deg, #1E90FF 0%, #00D4FF 100%);
	--gradient-hero:      linear-gradient(180deg, #0A0E1A 0%, #060912 100%);
	--shadow-color-rgb:   30, 144, 255;
	--glow-color-rgb:     0, 212, 255;

	--font-heading: 'Space Grotesk', system-ui, -apple-system, sans-serif;
	--font-body:    'Inter', system-ui, -apple-system, sans-serif;

	--container-w:   1240px;
	--container-w-wide: 1400px;
	--gutter:        clamp(16px, 3vw, 32px);

	--radius-sm: 6px;
	--radius:    12px;
	--radius-lg: 20px;
	--radius-xl: 28px;
	--radius-full: 999px;

	--shadow-sm: 0 1px 2px rgba(0,0,0,.4);
	--shadow:    0 8px 28px rgba(0,0,0,.45);
	--shadow-lg: 0 24px 60px rgba(0,0,0,.55);
	--shadow-primary: 0 8px 32px rgba(var(--shadow-color-rgb), .35);
	--shadow-glow:    0 0 40px rgba(var(--glow-color-rgb), .35);

	--ease:     cubic-bezier(.4,0,.2,1);
	--ease-out: cubic-bezier(.16,1,.3,1);
	--dur:      .25s;
	--dur-lg:   .45s;

	--header-h: 76px;
}

/* ----------------------------------------------------------
   2. Base / reset / typography
---------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }
html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: calc(var(--header-h) + 16px);
}
body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.65;
	color: var(--clr-text);
	background: var(--clr-bg);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--clr-primary-light); text-decoration: none; transition: color var(--dur) var(--ease); }
a:hover, a:focus { color: var(--clr-accent); }
button { font: inherit; cursor: pointer; }
ul, ol { padding-left: 1.2em; }
input, select, textarea { font: inherit; color: inherit; }
hr { border: 0; border-top: 1px solid var(--clr-border); margin: 2rem 0; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 .65em;
	letter-spacing: -0.02em;
}
h1 { font-size: clamp(2.2rem, 4.6vw, 3.6rem); }
h2 { font-size: clamp(1.85rem, 3.6vw, 2.8rem); }
h3 { font-size: clamp(1.4rem, 2.5vw, 1.85rem); }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }
p  { margin: 0 0 1rem; color: var(--clr-text); }
p.lead, .lead { font-size: 1.15rem; color: var(--clr-text-muted); }
.muted { color: var(--clr-text-muted); }
.dim   { color: var(--clr-text-dim); }
.center { text-align: center; }

::selection { background: var(--clr-primary); color: #fff; }
:focus-visible {
	outline: 3px solid var(--clr-accent);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ----------------------------------------------------------
   3. Utilities & layout
---------------------------------------------------------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px; width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}
.skip-link {
	position: absolute; top: -100px; left: 1rem;
	padding: .75rem 1.25rem;
	background: var(--clr-primary); color: #fff;
	border-radius: var(--radius-sm); z-index: 9999;
	transition: top var(--dur) var(--ease);
}
.skip-link:focus { top: 1rem; }

.container {
	max-width: var(--container-w);
	margin: 0 auto;
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}
.container--wide { max-width: var(--container-w-wide); }
.container--narrow { max-width: 880px; }

.section {
	padding: clamp(40px, 5vw, 72px) 0;
	position: relative;
}
.section--alt { background: var(--clr-bg-alt); }
.section__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto clamp(24px, 3vw, 40px);
}
.section__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--clr-accent);
	padding: .35em .9em;
	border: 1px solid rgba(var(--glow-color-rgb), .3);
	border-radius: var(--radius-full);
	background: rgba(var(--glow-color-rgb), .08);
	margin-bottom: 1.25rem;
	line-height: 1;
}
.section__eyebrow .icon {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}
.section__title { margin: 0 0 .8rem; }
.section__title .grad {
	background: var(--gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.section__lead { color: var(--clr-text-muted); font-size: 1.05rem; }

.grid { display: grid; gap: 24px; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.grid--auto { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
@media (max-width: 992px) {
	.grid--3, .grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
}

/* ----------------------------------------------------------
   4. Buttons
---------------------------------------------------------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	padding: .85em 1.6em;
	font-family: var(--font-heading);
	font-size: .98rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .01em;
	border-radius: var(--radius-full);
	border: 1.5px solid transparent;
	background: transparent;
	color: var(--clr-text);
	cursor: pointer;
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
	text-decoration: none;
	white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn:focus-visible { outline: 3px solid var(--clr-accent); outline-offset: 3px; }

.btn--primary {
	background: var(--gradient-primary);
	color: #fff;
	box-shadow: var(--shadow-primary);
}
.btn--primary:hover { box-shadow: 0 12px 40px rgba(var(--shadow-color-rgb), .55); color: #fff; }

.btn--secondary {
	background: var(--clr-surface-2);
	color: var(--clr-text);
	border-color: var(--clr-border);
}
.btn--secondary:hover { background: var(--clr-surface-3); border-color: var(--clr-border-light); }

.btn--ghost {
	background: rgba(255,255,255,0.04);
	color: var(--clr-text);
	border-color: rgba(255,255,255,.15);
}
.btn--ghost:hover { background: rgba(255,255,255,.08); border-color: var(--clr-primary); color: var(--clr-primary-light); }

.btn--outline {
	background: transparent;
	color: var(--clr-primary-light);
	border-color: var(--clr-primary);
}
.btn--outline:hover { background: var(--clr-primary); color: #fff; }

.btn--gradient { background: var(--gradient-primary); color: #fff; }

.btn--lg { padding: 1.05em 2em; font-size: 1.05rem; }
.btn--sm { padding: .65em 1.2em; font-size: .9rem; }
.btn--block { width: 100%; }
.btn--icon { padding: .85em; aspect-ratio: 1; border-radius: 50%; }

/* ----------------------------------------------------------
   5. Header
---------------------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(10, 14, 26, .85);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--clr-border);
	transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.site-header.is-scrolled {
	background: rgba(6, 9, 18, .95);
	box-shadow: 0 4px 24px rgba(0,0,0,.6);
}
.site-header__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: var(--header-h);
}
.site-logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	color: var(--clr-text);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.3rem;
}
.site-logo img { max-height: 40px; width: auto; }
.site-logo__text { color: var(--clr-text); }

.primary-nav {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
	justify-content: center;
}
.primary-nav .menu-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: .65em 1.05em;
	color: var(--clr-text);
	font-weight: 500;
	font-size: .97rem;
	border-radius: var(--radius-full);
	transition: color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.primary-nav .menu-link:hover,
.primary-nav .current-menu-item > .menu-link {
	color: var(--clr-primary-light);
	background: rgba(var(--shadow-color-rgb), .1);
}
.menu-link__caret { transition: transform var(--dur) var(--ease); }
.menu-item-has-children:hover .menu-link__caret { transform: rotate(180deg); }

.primary-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s linear var(--dur);
}
.primary-nav .menu-item-has-children { position: relative; }
.primary-nav .menu-item-has-children:hover > .sub-menu,
.primary-nav .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}
.primary-nav .sub-menu .menu-link {
	width: 100%;
	border-radius: var(--radius-sm);
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}
.header-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	color: var(--clr-text);
	background: transparent;
	border: 1px solid transparent;
	position: relative;
	transition: all var(--dur) var(--ease);
}
.header-icon-btn:hover { background: var(--clr-surface-2); color: var(--clr-primary-light); border-color: var(--clr-border); }
.header-cart__count {
	position: absolute;
	top: -4px; right: -4px;
	background: var(--clr-primary);
	color: #fff;
	font-size: .65rem;
	font-weight: 700;
	min-width: 18px; height: 18px;
	border-radius: 9px;
	display: flex; align-items: center; justify-content: center;
	padding: 0 4px;
}
.header-cart__count[data-count="0"] { display: none; }

.menu-toggle {
	display: none;
	width: 40px; height: 40px;
	background: transparent;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-sm);
	color: var(--clr-text);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
.menu-toggle__line {
	width: 18px; height: 2px;
	background: currentColor;
	transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
	border-radius: 2px;
}
.menu-toggle.is-active .menu-toggle__line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.is-active .menu-toggle__line:nth-child(2) { opacity: 0; }
.menu-toggle.is-active .menu-toggle__line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 110;
	background: rgba(6, 9, 18, .96);
	backdrop-filter: blur(20px);
	display: flex;
	flex-direction: column;
	padding: calc(var(--header-h) + 24px) var(--gutter) 24px;
	transform: translateX(100%);
	transition: transform var(--dur-lg) var(--ease-out);
	visibility: hidden;
	overflow-y: auto;
}
.mobile-nav.is-open {
	transform: translateX(0);
	visibility: visible;
}
.mobile-nav ul { list-style: none; padding: 0; margin: 0; }
.mobile-nav .menu-link {
	display: block;
	padding: .9em 0;
	font-size: 1.15rem;
	color: var(--clr-text);
	border-bottom: 1px solid var(--clr-border);
	font-weight: 600;
}
.mobile-nav .sub-menu { padding-left: 1em; }
.mobile-nav .sub-menu .menu-link { font-size: 1rem; font-weight: 500; }

@media (max-width: 1024px) {
	.primary-nav { display: none; }
	.menu-toggle { display: inline-flex; }
	.header-actions { margin-left: auto; }
}

/* ----------------------------------------------------------
   6. Announcement bar
---------------------------------------------------------- */
.announcement-bar {
	background: var(--gradient-primary);
	color: #fff;
	font-size: .9rem;
	font-weight: 500;
	padding: 8px 0;
	position: relative;
	z-index: 99;
}
.announcement-bar__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
	flex-wrap: wrap;
}
.announcement-bar__link {
	color: #fff;
	text-decoration: underline;
	font-weight: 700;
}
.announcement-bar__close {
	background: transparent;
	border: 0;
	color: #fff;
	opacity: .8;
	padding: 4px;
	margin-left: auto;
	display: flex;
	align-items: center;
	transition: opacity var(--dur) var(--ease);
}
.announcement-bar__close:hover { opacity: 1; }
.announcement-bar.is-hidden { display: none; }

/* ----------------------------------------------------------
   7. Hero
---------------------------------------------------------- */
.hero {
	position: relative;
	padding: clamp(80px, 14vh, 140px) 0 clamp(60px, 10vw, 100px);
	background: var(--gradient-hero);
	overflow: hidden;
}
.hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 20% 30%, rgba(var(--shadow-color-rgb), .25) 0%, transparent 60%),
		radial-gradient(ellipse at 80% 70%, rgba(var(--glow-color-rgb), .2) 0%, transparent 60%);
	pointer-events: none;
}
.hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
	background-size: 80px 80px;
	mask-image: radial-gradient(ellipse at center, black 20%, transparent 80%);
	pointer-events: none;
}
.hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(32px, 6vw, 80px);
	align-items: center;
}
@media (max-width: 992px) {
	.hero__inner { grid-template-columns: 1fr; text-align: center; }
}
.hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-size: .85rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--clr-accent);
	background: rgba(var(--glow-color-rgb), .12);
	border: 1px solid rgba(var(--glow-color-rgb), .3);
	padding: .5em 1em;
	border-radius: var(--radius-full);
	margin-bottom: 1.25rem;
}
.hero__title {
	font-size: clamp(2.4rem, 5.5vw, 4.5rem);
	line-height: 1.05;
	margin-bottom: 1.25rem;
}
.hero__title .grad {
	background: var(--gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.hero__lead {
	font-size: clamp(1rem, 1.6vw, 1.2rem);
	color: var(--clr-text-muted);
	max-width: 580px;
	margin-bottom: 2rem;
}
@media (max-width: 992px) {
	.hero__lead { margin-left: auto; margin-right: auto; }
}
.hero__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}
@media (max-width: 992px) {
	.hero__actions { justify-content: center; }
}
.hero__trust {
	display: flex;
	gap: 24px;
	align-items: center;
	flex-wrap: wrap;
	color: var(--clr-text-muted);
	font-size: .9rem;
}
@media (max-width: 992px) {
	.hero__trust { justify-content: center; }
}
.hero__trust-item { display: inline-flex; align-items: center; gap: 6px; }
.hero__trust-item .icon { color: var(--clr-success); width: 18px; height: 18px; }
.hero__trust-rating {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.hero__trust-rating .icon { color: var(--clr-accent-2); width: 16px; height: 16px; }

.hero__visual {
	position: relative;
	aspect-ratio: 4/3;
}
.hero__tv {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 18px;
	background: linear-gradient(135deg, #2A334D, #121829);
	padding: 14px 14px 28px;
	box-shadow: var(--shadow-lg), var(--shadow-glow);
	border: 1px solid var(--clr-border-light);
}
.hero__tv::after {
	content: '';
	position: absolute;
	bottom: -28px;
	left: 50%;
	transform: translateX(-50%);
	width: 28%; height: 12px;
	background: var(--clr-surface-2);
	border-radius: 0 0 8px 8px;
	box-shadow: 0 12px 30px rgba(0,0,0,.6);
}
.hero__tv-screen {
	width: 100%; height: 100%;
	border-radius: 8px;
	background: var(--clr-bg-alt);
	overflow: hidden;
	position: relative;
}
.hero__tv-screen img {
	width: 100%; height: 100%;
	object-fit: cover;
}
.hero__tv-grid {
	position: absolute;
	inset: 0;
	padding: 12px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: 1fr 1fr 1fr;
	gap: 6px;
}
.hero__tv-tile {
	background: linear-gradient(135deg, var(--clr-surface-3), var(--clr-surface));
	border-radius: 4px;
	position: relative;
	overflow: hidden;
}
.hero__tv-tile::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(45deg, rgba(var(--shadow-color-rgb), .15), transparent);
}
.hero__tv-tile--feat {
	grid-column: span 2;
	grid-row: span 2;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-accent));
}

.hero__floating-card {
	position: absolute;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 12px 16px;
	display: flex;
	align-items: center;
	gap: 10px;
	box-shadow: var(--shadow);
	font-size: .85rem;
	animation: float 4s ease-in-out infinite;
}
.hero__floating-card--top { top: 8%; right: -3%; }
.hero__floating-card--bot { bottom: 6%; left: -5%; animation-delay: -2s; }
.hero__floating-card .icon { color: var(--clr-primary-light); }

@keyframes float {
	0%,100% { transform: translateY(0); }
	50%     { transform: translateY(-10px); }
}

@media (max-width: 992px) {
	.hero__floating-card--top { right: 0; }
	.hero__floating-card--bot { left: 0; }
}

/* ----------------------------------------------------------
   8. Channel logos strip
---------------------------------------------------------- */
.channels-strip {
	padding: 48px 0;
	background: var(--clr-bg-alt);
	border-top: 1px solid var(--clr-border);
	border-bottom: 1px solid var(--clr-border);
}
.channels-strip__title {
	text-align: center;
	color: var(--clr-text-muted);
	font-size: .85rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 24px;
}
.channels-strip__marquee {
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
}
.channels-strip__track {
	display: flex;
	gap: 56px;
	width: max-content;
	animation: marquee 36s linear infinite;
}
.channels-strip__item {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.2rem;
	color: var(--clr-text-muted);
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: color var(--dur) var(--ease);
}
.channels-strip__item:hover { color: var(--clr-text); }
@keyframes marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* ----------------------------------------------------------
   9. Features cards
---------------------------------------------------------- */
.feature-card {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 32px 28px;
	position: relative;
	transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
	overflow: hidden;
}
.feature-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--gradient-primary);
	opacity: 0;
	transition: opacity var(--dur) var(--ease);
	pointer-events: none;
}
.feature-card:hover {
	transform: translateY(-6px);
	border-color: var(--clr-primary);
	box-shadow: var(--shadow-primary);
}
.feature-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px; height: 56px;
	border-radius: 14px;
	background: rgba(var(--shadow-color-rgb), .12);
	color: var(--clr-primary-light);
	margin-bottom: 1.25rem;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.feature-card:hover .feature-card__icon {
	background: var(--gradient-primary);
	color: #fff;
}
.feature-card__icon .icon { width: 28px; height: 28px; }
.feature-card__title {
	font-size: 1.2rem;
	margin: 0 0 .55rem;
}
.feature-card__text {
	color: var(--clr-text-muted);
	font-size: .96rem;
	margin: 0;
}

/* ----------------------------------------------------------
   10. Pricing
---------------------------------------------------------- */
.pricing-tabs {
	display: inline-flex;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-full);
	padding: 5px;
	margin: 0 auto 40px;
	gap: 4px;
	flex-wrap: wrap;
	justify-content: center;
}
.pricing-tabs__btn {
	padding: .7em 1.4em;
	border: 0;
	background: transparent;
	color: var(--clr-text-muted);
	border-radius: var(--radius-full);
	font-weight: 600;
	font-size: .95rem;
	transition: all var(--dur) var(--ease);
	font-family: var(--font-heading);
}
.pricing-tabs__btn.is-active {
	background: var(--gradient-primary);
	color: #fff;
	box-shadow: var(--shadow-primary);
}
.pricing-tabs__btn:not(.is-active):hover { color: var(--clr-text); background: var(--clr-surface-2); }

.pricing-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
@media (max-width: 1100px) { .pricing-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .pricing-grid { grid-template-columns: 1fr; } }

.pricing-card {
	position: relative;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 32px 28px;
	display: flex;
	flex-direction: column;
	transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.pricing-card:hover { transform: translateY(-6px); border-color: var(--clr-primary); box-shadow: var(--shadow); }
.pricing-card.featured {
	border-color: var(--clr-primary);
	background: linear-gradient(180deg, var(--clr-surface-2), var(--clr-surface));
	box-shadow: var(--shadow-primary);
}
.pricing-badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--gradient-primary);
	color: #fff;
	font-family: var(--font-heading);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: .35em 1em;
	border-radius: var(--radius-full);
	white-space: nowrap;
	box-shadow: var(--shadow-sm);
}
.pricing-badge--value { background: var(--clr-success); }
.pricing-badge--accent { background: var(--clr-accent-2); color: #1a1a1a; }

.pricing-card__duration {
	font-family: var(--font-heading);
	font-size: 1.05rem;
	color: var(--clr-text-muted);
	font-weight: 600;
	letter-spacing: .05em;
	margin-bottom: .75rem;
	text-transform: uppercase;
}
.pricing-card__price {
	font-family: var(--font-heading);
	font-size: 3.2rem;
	font-weight: 700;
	color: var(--clr-text);
	line-height: 1;
	margin: 0 0 .15rem;
	letter-spacing: -0.02em;
	font-feature-settings: "tnum";
}
.pricing-card__currency { font-size: 1.5rem; vertical-align: super; margin-right: 4px; opacity: .8; }
.pricing-card__per { color: var(--clr-text-muted); font-size: .9rem; margin-bottom: .5rem; }
.pricing-card__save {
	display: inline-block;
	font-size: .8rem;
	color: var(--clr-success);
	font-weight: 600;
	background: rgba(16, 185, 129, .12);
	padding: .25em .7em;
	border-radius: var(--radius-full);
	margin-bottom: 1.25rem;
}
.pricing-card__divider {
	height: 1px;
	background: var(--clr-border);
	margin: 1rem 0 1.25rem;
}
.pricing-card__features {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: flex;
	flex-direction: column;
	gap: .6rem;
	flex: 1;
}
.pricing-card__features li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: .92rem;
	color: var(--clr-text);
}
.pricing-card__features li .icon {
	color: var(--clr-success);
	flex-shrink: 0;
	margin-top: 2px;
	width: 18px; height: 18px;
}
.pricing-card__features li.disabled { color: var(--clr-text-dim); text-decoration: line-through; }
.pricing-card__features li.disabled .icon { color: var(--clr-text-dim); }
.pricing-card__cta { margin-top: auto; }

/* ----------------------------------------------------------
   11. Devices
---------------------------------------------------------- */
.devices-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 16px;
	max-width: 1080px;
	margin: 0 auto;
}
.device-tile {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 28px 16px;
	text-align: center;
	transition: all var(--dur) var(--ease);
}
.device-tile:hover {
	transform: translateY(-4px);
	border-color: var(--clr-primary);
	background: var(--clr-surface-2);
	box-shadow: var(--shadow);
}
.device-tile__icon {
	width: 44px; height: 44px;
	color: var(--clr-primary-light);
	margin: 0 auto 10px;
}
.device-tile__name {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .95rem;
	color: var(--clr-text);
}

/* ----------------------------------------------------------
   12. Movies / Series posters
---------------------------------------------------------- */
.posters-row {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
}
@media (max-width: 1100px) { .posters-row { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 640px)  { .posters-row { grid-template-columns: repeat(3, 1fr); } }
.poster {
	aspect-ratio: 2/3;
	border-radius: var(--radius);
	background: var(--clr-surface-2);
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
	border: 1px solid var(--clr-border);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.poster:hover { transform: translateY(-6px) scale(1.03); box-shadow: var(--shadow-primary); }
.poster::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.85) 100%);
}
.poster__title {
	position: absolute;
	bottom: 10px; left: 12px; right: 12px;
	color: #fff;
	font-family: var(--font-heading);
	font-size: .9rem;
	font-weight: 600;
	z-index: 1;
}
.poster__badge {
	position: absolute;
	top: 8px; left: 8px;
	background: var(--clr-primary);
	color: #fff;
	font-size: .65rem;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 4px;
	z-index: 1;
}

/* ----------------------------------------------------------
   13. Sports highlight
---------------------------------------------------------- */
.sports-banner {
	background: linear-gradient(135deg, #060912 0%, #0A1530 100%);
	border-radius: var(--radius-lg);
	padding: clamp(40px, 6vw, 80px);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
	overflow: hidden;
	position: relative;
	border: 1px solid var(--clr-border);
}
@media (max-width: 900px) { .sports-banner { grid-template-columns: 1fr; text-align: center; } }
.sports-banner::before {
	content: '';
	position: absolute;
	right: -10%; top: -20%;
	width: 60%; height: 140%;
	background: radial-gradient(circle, rgba(var(--shadow-color-rgb), .25) 0%, transparent 70%);
}
.sports-banner__leagues {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-top: 24px;
}
.sports-banner__league {
	background: rgba(255,255,255,.05);
	border: 1px solid var(--clr-border);
	padding: 8px 16px;
	border-radius: var(--radius-full);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .85rem;
	color: var(--clr-text);
	letter-spacing: .05em;
}

/* ----------------------------------------------------------
   14. How it works
---------------------------------------------------------- */
.steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	position: relative;
}
@media (max-width: 900px) { .steps { grid-template-columns: 1fr; } }
.step {
	text-align: center;
	padding: 32px 24px;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	position: relative;
}
.step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px; height: 56px;
	border-radius: 50%;
	background: var(--gradient-primary);
	color: #fff;
	font-family: var(--font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 auto 1.25rem;
	box-shadow: var(--shadow-primary);
}
.step__title { font-size: 1.2rem; margin: 0 0 .5rem; }
.step__text { color: var(--clr-text-muted); font-size: .95rem; margin: 0; }

/* ----------------------------------------------------------
   15. Stats
---------------------------------------------------------- */
.stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	text-align: center;
}
@media (max-width: 900px) { .stats { grid-template-columns: repeat(2, 1fr); } }
.stat__value {
	font-family: var(--font-heading);
	font-size: clamp(2.4rem, 4vw, 3.4rem);
	font-weight: 700;
	background: var(--gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	line-height: 1;
	font-feature-settings: "tnum";
	display: inline-block;
}
.stat__label {
	color: var(--clr-text-muted);
	font-size: .95rem;
	margin-top: .35rem;
	font-weight: 500;
}

/* ----------------------------------------------------------
   16. Testimonials
---------------------------------------------------------- */
.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 900px) { .testimonials-grid { grid-template-columns: 1fr; } }
.testimonial {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 28px;
	position: relative;
	transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.testimonial:hover { transform: translateY(-4px); border-color: var(--clr-primary-light); }
.testimonial__rating { display: flex; gap: 2px; color: var(--clr-accent-2); margin-bottom: 1rem; }
.testimonial__rating .icon { width: 18px; height: 18px; }
.testimonial__quote { color: var(--clr-text); font-size: 1rem; margin: 0 0 1.25rem; }
.testimonial__author { display: flex; align-items: center; gap: 12px; }
.testimonial__avatar {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: var(--gradient-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
	overflow: hidden;
	flex-shrink: 0;
}
.testimonial__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.testimonial__name { font-family: var(--font-heading); font-weight: 600; font-size: .95rem; }
.testimonial__role { color: var(--clr-text-muted); font-size: .82rem; }

/* ----------------------------------------------------------
   17. FAQ accordion
---------------------------------------------------------- */
.faq {
	max-width: 820px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.faq__item {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	overflow: hidden;
	transition: border-color var(--dur) var(--ease);
}
.faq__item.is-open { border-color: var(--clr-primary); }
.faq__q {
	width: 100%;
	background: transparent;
	border: 0;
	padding: 18px 22px;
	text-align: left;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--clr-text);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	transition: color var(--dur) var(--ease);
}
.faq__q:hover { color: var(--clr-primary-light); }
.faq__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px; height: 28px;
	border-radius: 50%;
	background: rgba(var(--shadow-color-rgb), .12);
	color: var(--clr-primary-light);
	flex-shrink: 0;
	transition: transform var(--dur) var(--ease), background var(--dur) var(--ease);
}
.faq__item.is-open .faq__icon { transform: rotate(45deg); background: var(--gradient-primary); color: #fff; }
.faq__a {
	max-height: 0;
	overflow: hidden;
	transition: max-height var(--dur-lg) var(--ease);
}
.faq__a-inner {
	padding: 0 22px 18px;
	color: var(--clr-text-muted);
	font-size: .96rem;
}
.faq__item.is-open .faq__a { max-height: 500px; }

/* ----------------------------------------------------------
   18. CTA banner
---------------------------------------------------------- */
.cta-banner {
	background: var(--gradient-primary);
	border-radius: var(--radius-xl);
	padding: clamp(40px, 6vw, 72px);
	text-align: center;
	position: relative;
	overflow: hidden;
}
.cta-banner::before,
.cta-banner::after {
	content: '';
	position: absolute;
	width: 300px; height: 300px;
	border-radius: 50%;
	background: rgba(255,255,255,.12);
}
.cta-banner::before { top: -100px; left: -100px; }
.cta-banner::after  { bottom: -100px; right: -100px; }
.cta-banner__inner { position: relative; z-index: 1; }
.cta-banner__title {
	color: #fff;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	margin: 0 0 .8rem;
}
.cta-banner__lead {
	color: rgba(255,255,255,.9);
	font-size: 1.1rem;
	margin: 0 auto 2rem;
	max-width: 580px;
}
.cta-banner__actions {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}
.cta-banner .btn--primary {
	background: #fff;
	color: var(--clr-primary);
}
.cta-banner .btn--primary:hover { background: rgba(255,255,255,.92); }
.cta-banner .btn--ghost { color: #fff; border-color: rgba(255,255,255,.4); }
.cta-banner .btn--ghost:hover { background: rgba(255,255,255,.15); border-color: #fff; color: #fff; }

/* ----------------------------------------------------------
   19. Newsletter
---------------------------------------------------------- */
.newsletter-form {
	display: flex;
	gap: 8px;
	max-width: 480px;
	margin: 0 auto;
	background: var(--clr-surface);
	padding: 6px;
	border-radius: var(--radius-full);
	border: 1px solid var(--clr-border);
}
.newsletter-form input[type="email"] {
	flex: 1;
	background: transparent;
	border: 0;
	padding: 0 16px;
	color: var(--clr-text);
	min-width: 0;
}
.newsletter-form input[type="email"]:focus { outline: none; }
.newsletter-form .btn { flex-shrink: 0; }
.newsletter-form__msg { text-align: center; font-size: .9rem; margin-top: .75rem; min-height: 1.2em; }
.newsletter-form__msg.is-success { color: var(--clr-success); }
.newsletter-form__msg.is-error   { color: var(--clr-danger); }

/* ----------------------------------------------------------
   20. Forms (contact, etc.)
---------------------------------------------------------- */
.form-row { display: grid; gap: 16px; margin-bottom: 16px; }
.form-row--2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .form-row--2 { grid-template-columns: 1fr; } }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label {
	font-size: .85rem;
	font-weight: 600;
	color: var(--clr-text-muted);
	text-transform: uppercase;
	letter-spacing: .05em;
}
.form-field input,
.form-field select,
.form-field textarea {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 12px 16px;
	color: var(--clr-text);
	font-size: 1rem;
	transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
	outline: none;
	border-color: var(--clr-primary);
	box-shadow: 0 0 0 4px rgba(var(--shadow-color-rgb), .2);
}
.form-field textarea { resize: vertical; min-height: 140px; }
.form-honeypot { position: absolute !important; left: -9999px; }

.contact-form__msg {
	text-align: center;
	padding: 12px 16px;
	margin-top: 16px;
	border-radius: var(--radius);
	font-size: .95rem;
	display: none;
}
.contact-form__msg.is-success { display: block; background: rgba(16, 185, 129, .12); color: var(--clr-success); }
.contact-form__msg.is-error   { display: block; background: rgba(239, 68, 68, .12); color: var(--clr-danger); }

/* ----------------------------------------------------------
   21. Page header
---------------------------------------------------------- */
/* ============ Page Header (archives, search, single inner pages) ============ */
.page-header {
	position: relative;
	padding: clamp(48px, 7vw, 80px) 0 clamp(36px, 5vw, 56px);
	overflow: hidden;
	background: linear-gradient(180deg, var(--clr-bg) 0%, var(--clr-bg-alt) 100%);
	border-bottom: 1px solid var(--clr-border);
}
.page-header__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 800px 400px at 20% 0%, rgba(0, 97, 255, .10), transparent 60%),
		radial-gradient(ellipse 600px 300px at 90% 100%, rgba(124, 58, 237, .07), transparent 60%);
}
.page-header__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(0,0,0,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(0,0,0,.025) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
	-webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.page-header > .container { position: relative; z-index: 1; }

/* Kind badge INSIDE the breadcrumb (Category / Tag / Search…) */
.breadcrumbs__kind {
	display: inline-flex;
	align-items: center;
	background: var(--gradient-primary);
	color: #FFFFFF !important;
	font-family: var(--font-heading);
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 999px;
	margin-right: 8px;
	box-shadow: 0 3px 8px rgba(0, 97, 255, .25);
}

.page-header__title {
	font-size: clamp(2rem, 4.5vw, 3rem);
	margin: 0 0 .65rem;
	line-height: 1.15;
}
.page-header__title span,
.page-header__title em {
	background: var(--gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-style: normal;
	font-weight: inherit;
}
.page-header__subtitle {
	color: var(--clr-text-muted);
	font-size: 1.02rem;
	max-width: 680px;
	margin: 0;
	line-height: 1.55;
}

/* ============ Breadcrumbs (modern pill, chevron separator) ============ */
.breadcrumbs {
	display: inline-block;
	margin: 0 0 16px;
}
.breadcrumbs__list {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	padding: 6px 14px;
	margin: 0;
	list-style: none !important;
	background: rgba(255, 255, 255, .65);
	border: 1px solid var(--clr-border);
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(15, 23, 41, .04);
	backdrop-filter: blur(6px);
	font-size: .82rem;
	font-weight: 500;
}
.breadcrumbs__list li {
	display: inline-flex;
	align-items: center;
	color: var(--clr-text-muted);
	max-width: 280px;
}
.breadcrumbs__list li a {
	color: var(--clr-text-muted);
	text-decoration: none;
	transition: color .2s ease;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 240px;
	display: inline-block;
}
.breadcrumbs__list li a:hover { color: var(--clr-primary); }
.breadcrumbs__list li.is-current span {
	color: var(--clr-text);
	font-weight: 700;
	font-family: var(--font-heading);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 240px;
	display: inline-block;
}
.breadcrumbs__sep {
	color: var(--clr-border-light);
	margin: 0 6px;
	flex-shrink: 0;
}
@media (max-width: 540px) {
	.breadcrumbs__list { font-size: .76rem; padding: 5px 12px; }
	.breadcrumbs__list li,
	.breadcrumbs__list li a,
	.breadcrumbs__list li.is-current span { max-width: 140px; }
	.breadcrumbs__sep { margin: 0 4px; }
}

/* ----------------------------------------------------------
   22. Blog / single
---------------------------------------------------------- */
.posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
@media (max-width: 1024px) { .posts-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .posts-grid { grid-template-columns: 1fr; } }
.post-card {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.post-card:hover { transform: translateY(-4px); border-color: var(--clr-primary); }
.post-card__media {
	aspect-ratio: 16/9;
	background: var(--clr-surface-2);
	overflow: hidden;
}
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.post-card:hover .post-card__media img { transform: scale(1.06); }
.post-card__body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.post-card__cat {
	font-size: .75rem;
	color: var(--clr-primary-light);
	text-transform: uppercase;
	letter-spacing: .12em;
	font-weight: 700;
	margin-bottom: .5rem;
}
.post-card__title { font-size: 1.2rem; margin: 0 0 .5rem; }
.post-card__title a { color: var(--clr-text); }
.post-card__title a:hover { color: var(--clr-primary-light); }
.post-card__excerpt { color: var(--clr-text-muted); font-size: .95rem; margin-bottom: 1rem; flex: 1; }
.post-card__meta { color: var(--clr-text-dim); font-size: .82rem; }

.post-single { max-width: 820px; margin: 0 auto; padding: clamp(40px, 6vw, 64px) 0; }
.post-single__hero {
	aspect-ratio: 16/9;
	border-radius: var(--radius-lg);
	overflow: hidden;
	margin-bottom: 2rem;
	background: var(--clr-surface);
}
.post-single__hero img { width: 100%; height: 100%; object-fit: cover; }
.post-single__title { font-size: clamp(2rem, 4vw, 2.8rem); margin: 0 0 1rem; }
.post-meta { display: flex; gap: 8px; align-items: center; color: var(--clr-text-muted); font-size: .9rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.post-meta__sep { color: var(--clr-text-dim); }
.post-content { font-size: 1.05rem; line-height: 1.75; }
.post-content > * { margin-bottom: 1.25em; }
.post-content h2, .post-content h3 { margin-top: 2em; }
.post-content blockquote {
	border-left: 4px solid var(--clr-primary);
	background: var(--clr-surface);
	padding: 16px 20px;
	border-radius: 0 var(--radius) var(--radius) 0;
	margin: 1.5em 0;
	font-style: italic;
	color: var(--clr-text);
}
.post-content code {
	background: var(--clr-surface-2);
	padding: 2px 6px;
	border-radius: 4px;
	font-size: .9em;
}
.post-content pre {
	background: var(--clr-surface-2);
	padding: 16px;
	border-radius: var(--radius);
	overflow-x: auto;
	border: 1px solid var(--clr-border);
}

.post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 2.5rem 0 1rem; }
@media (max-width: 640px) { .post-nav { grid-template-columns: 1fr; } }
.post-nav__item {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 18px 20px;
	display: block;
	color: var(--clr-text);
	transition: border-color var(--dur) var(--ease);
}
.post-nav__item:hover { border-color: var(--clr-primary); color: var(--clr-text); }
.post-nav__item--next { text-align: right; }
.post-nav__label { display: block; font-size: .8rem; color: var(--clr-text-muted); margin-bottom: 4px; }
.post-nav__title { font-family: var(--font-heading); font-weight: 600; }

.pagination { margin-top: 2.5rem; display: flex; justify-content: center; }
.pagination ul { display: inline-flex; gap: 6px; padding: 0; margin: 0; list-style: none; }
.pagination .page-numbers {
	display: inline-flex;
	min-width: 40px; height: 40px;
	align-items: center; justify-content: center;
	padding: 0 12px;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-sm);
	color: var(--clr-text);
	font-weight: 600;
	transition: all var(--dur) var(--ease);
}
.pagination .page-numbers:hover,
.pagination .page-numbers.current {
	background: var(--gradient-primary);
	color: #fff;
	border-color: transparent;
}

/* ----------------------------------------------------------
   23. Comments
---------------------------------------------------------- */
.comments-area { margin-top: 3rem; }
.comments-title { font-size: 1.5rem; margin-bottom: 1.5rem; }
.comment-list { list-style: none; padding: 0; margin: 0 0 2rem; }
.comment-list .comment {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	padding: 18px 20px;
	border-radius: var(--radius);
	margin-bottom: 14px;
}
.comment-meta { font-size: .85rem; color: var(--clr-text-muted); margin-bottom: .5rem; display: flex; gap: 8px; align-items: center; }
.comment-author img { border-radius: 50%; }
.comment-respond { background: var(--clr-surface); border: 1px solid var(--clr-border); padding: 24px; border-radius: var(--radius-lg); }

/* ----------------------------------------------------------
   24. Footer
---------------------------------------------------------- */
.site-footer {
	background: var(--clr-bg-alt);
	border-top: 1px solid var(--clr-border);
	padding: 64px 0 0;
	color: var(--clr-text-muted);
}
.site-footer__top {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: 40px;
	padding-bottom: 48px;
	border-bottom: 1px solid var(--clr-border);
}
@media (max-width: 992px) { .site-footer__top { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .site-footer__top { grid-template-columns: 1fr; } }
.site-footer__brand .site-logo { margin-bottom: 16px; }
.site-footer__about { font-size: .95rem; margin-bottom: 1.25rem; }
.footer-social { display: flex; gap: 8px; }
.social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	border-radius: 50%;
	background: var(--clr-surface);
	color: var(--clr-text-muted);
	border: 1px solid var(--clr-border);
	transition: all var(--dur) var(--ease);
}
.social-link:hover {
	background: var(--gradient-primary);
	color: #fff;
	border-color: transparent;
	transform: translateY(-3px);
}
.footer__widget-title {
	color: var(--clr-text);
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 1.25rem;
	letter-spacing: .03em;
}
.site-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.site-footer li a {
	color: var(--clr-text-muted);
	font-size: .95rem;
	transition: color var(--dur) var(--ease);
	display: inline-block;
}
.site-footer li a:hover { color: var(--clr-primary-light); padding-left: 4px; }
.site-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 0;
	font-size: .85rem;
	color: var(--clr-text-dim);
	gap: 16px;
	flex-wrap: wrap;
}
.site-footer__contact-links { display: flex; gap: 16px; align-items: center; }
.site-footer__contact-links a { color: var(--clr-text-muted); display: inline-flex; align-items: center; gap: 6px; }

/* ----------------------------------------------------------
   25. Back to top
---------------------------------------------------------- */
.back-to-top {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 48px; height: 48px;
	border-radius: 50%;
	background: var(--gradient-primary);
	color: #fff;
	border: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-primary);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s linear var(--dur);
	z-index: 90;
}
.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}
.back-to-top:hover { transform: translateY(-3px); }

/* ----------------------------------------------------------
   26. Social proof popup
---------------------------------------------------------- */
.social-proof {
	position: fixed;
	bottom: 24px;
	left: 24px;
	max-width: 320px;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 14px 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	box-shadow: var(--shadow-lg);
	transform: translateX(-120%);
	opacity: 0;
	transition: transform var(--dur-lg) var(--ease-out), opacity var(--dur-lg) var(--ease-out);
	z-index: 95;
}
.social-proof.is-visible { transform: translateX(0); opacity: 1; }
.social-proof__icon {
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--gradient-primary);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.social-proof__text {
	font-size: .85rem;
	color: var(--clr-text);
	margin: 0;
}
.social-proof__name { font-weight: 600; }
.social-proof__time { font-size: .75rem; color: var(--clr-text-muted); margin-top: 2px; }
.social-proof__close {
	background: transparent; border: 0;
	color: var(--clr-text-dim);
	margin-left: auto;
	cursor: pointer;
}

/* ----------------------------------------------------------
   27. Countdown
---------------------------------------------------------- */
.countdown {
	display: inline-flex;
	gap: 12px;
	margin-top: 24px;
	flex-wrap: wrap;
	justify-content: center;
}
.countdown__unit {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 14px 18px;
	min-width: 80px;
	text-align: center;
}
.countdown__num {
	display: block;
	font-family: var(--font-heading);
	font-size: 2rem;
	font-weight: 700;
	color: var(--clr-text);
	line-height: 1;
	font-feature-settings: "tnum";
}
.countdown__label {
	font-size: .75rem;
	color: var(--clr-text-muted);
	text-transform: uppercase;
	letter-spacing: .1em;
	margin-top: 6px;
	display: block;
}

/* ----------------------------------------------------------
   28. Reveal on scroll
---------------------------------------------------------- */
.reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity var(--dur-lg) var(--ease-out), transform var(--dur-lg) var(--ease-out);
}
.reveal.visible {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; }
	*,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ----------------------------------------------------------
   29. WooCommerce overrides
---------------------------------------------------------- */
.woocommerce ul.products,
ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding: 0;
	margin: 0;
	list-style: none;
}
@media (max-width: 992px) { .woocommerce ul.products, ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .woocommerce ul.products, ul.products { grid-template-columns: 1fr; } }
.woocommerce ul.products li.product {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 24px;
	margin: 0;
	width: auto !important;
	float: none !important;
	transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); border-color: var(--clr-primary); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--clr-text);
	font-family: var(--font-heading);
	font-size: 1.15rem;
	padding: 12px 0 6px;
}
.woocommerce ul.products li.product .price {
	color: var(--clr-primary-light) !important;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.4rem;
}
.woocommerce ul.products li.product .button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--gradient-primary) !important;
	color: #fff !important;
	border-radius: var(--radius-full) !important;
	font-family: var(--font-heading);
	font-weight: 600;
	padding: .8em 1.5em !important;
	border: 0;
	box-shadow: var(--shadow-primary);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover { transform: translateY(-2px); }
.wc-card__cycle {
	display: inline-block;
	font-size: .75rem;
	color: var(--clr-text-muted);
	background: var(--clr-surface-2);
	padding: 2px 8px;
	border-radius: 4px;
	margin-left: 6px;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--clr-surface) !important;
	border-top-color: var(--clr-primary) !important;
	color: var(--clr-text) !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	color: var(--clr-primary-light) !important;
}
.wc-main { padding: clamp(40px, 6vw, 80px) 0; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	background: var(--clr-surface) !important;
	border: 1px solid var(--clr-border) !important;
	color: var(--clr-text) !important;
	border-radius: var(--radius) !important;
	padding: 12px 14px !important;
}
.woocommerce table.shop_table {
	background: var(--clr-surface);
	border-color: var(--clr-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--clr-border) !important;
	color: var(--clr-text);
}

/* ----------------------------------------------------------
   30. 404
---------------------------------------------------------- */
.error-404 {
	text-align: center;
	padding: clamp(80px, 12vw, 160px) 0;
}
.error-404__num {
	font-family: var(--font-heading);
	font-size: clamp(7rem, 18vw, 14rem);
	font-weight: 700;
	background: var(--gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	line-height: 1;
	margin: 0 0 1rem;
	letter-spacing: -0.05em;
}
.error-404__title { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 1rem; }
.error-404__text { color: var(--clr-text-muted); max-width: 480px; margin: 0 auto 2rem; }

/* ----------------------------------------------------------
   31. Misc helpers
---------------------------------------------------------- */
.alignwide  { margin-left: -80px; margin-right: -80px; max-width: calc(100% + 160px); }
.alignfull  { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }
@media (max-width: 1240px) { .alignwide { margin-left: 0; margin-right: 0; max-width: 100%; } }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }

.search-form {
	display: flex;
	gap: 8px;
	max-width: 480px;
}
.search-form .search-field {
	flex: 1;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 10px 14px;
	color: var(--clr-text);
}
.search-form .search-submit {
	background: var(--gradient-primary);
	color: #fff;
	border: 0;
	padding: 10px 18px;
	border-radius: var(--radius);
	font-weight: 600;
	cursor: pointer;
}

/* ----------------------------------------------------------
   33. Conversion enhancements (added in Phase 9)
---------------------------------------------------------- */

/* Hero — live viewers badge */
.hero__live-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(16, 185, 129, .12);
	border: 1px solid rgba(16, 185, 129, .35);
	color: var(--clr-success);
	padding: 6px 14px;
	border-radius: var(--radius-full);
	font-size: .82rem;
	font-weight: 500;
	margin: 0 auto 24px;
	width: fit-content;
}
.hero__live-dot {
	width: 8px; height: 8px;
	background: var(--clr-success);
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(16, 185, 129, .7);
	animation: pulse-dot 1.6s infinite;
}
.hero__live-badge strong { color: var(--clr-text); font-weight: 700; }
@keyframes pulse-dot {
	0%   { box-shadow: 0 0 0 0 rgba(16, 185, 129, .7); }
	70%  { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
	100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

/* Hero bullets */
.hero__bullets {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: flex;
	flex-direction: column;
	gap: .55rem;
}
.hero__bullets li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .98rem;
	color: var(--clr-text);
}
.hero__bullets li .icon {
	color: var(--clr-success);
	flex-shrink: 0;
	background: rgba(16, 185, 129, .12);
	border-radius: 50%;
	padding: 3px;
	width: 22px; height: 22px;
}
.hero__bullets strong { color: var(--clr-primary-light); font-weight: 700; }

@media (max-width: 992px) {
	.hero__bullets { align-items: center; text-align: left; max-width: 460px; margin-inline: auto; margin-bottom: 1.5rem; }
}

/* Hero pay row */
.hero__pay-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 8px;
}
.hero__pay {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	color: var(--clr-text-muted);
	padding: 4px 10px;
	border-radius: 6px;
	font-size: .78rem;
	font-weight: 600;
	font-family: var(--font-heading);
	letter-spacing: .03em;
}

/* Hero floating mid card */
.hero__floating-card--mid {
	top: 50%;
	left: -6%;
	transform: translateY(-50%);
	animation-delay: -1s;
}
@media (max-width: 992px) {
	.hero__floating-card--mid { display: none; }
}

/* ---- Trust strip ---- */
.trust-strip { padding: 32px 0; background: var(--clr-bg-alt); border-bottom: 1px solid var(--clr-border); }
.trust-strip__grid {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
	gap: 16px;
	align-items: center;
}
.trust-strip__item {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: center;
}
.trust-strip__num {
	font-family: var(--font-heading);
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--clr-accent-2);
	line-height: 1;
	flex-shrink: 0;
}
.trust-strip__icon {
	width: 28px; height: 28px;
	color: var(--clr-primary-light);
	flex-shrink: 0;
}
.trust-strip__label {
	font-size: .82rem;
	color: var(--clr-text);
	line-height: 1.35;
}
.trust-strip__label .muted { font-size: .75rem; }
.trust-strip__divider {
	width: 1px;
	height: 36px;
	background: var(--clr-border);
}
@media (max-width: 1100px) {
	.trust-strip__grid { grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
	.trust-strip__divider { display: none; }
}
@media (max-width: 640px) {
	.trust-strip__grid { grid-template-columns: 1fr 1fr; }
}

/* ---- Channel categories grid ---- */
.cat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
@media (max-width: 1024px) { .cat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px)  { .cat-grid { grid-template-columns: 1fr; } }

.cat-card {
	display: flex;
	flex-direction: column;
	min-height: 240px;
	padding: 22px;
	border-radius: var(--radius-lg);
	color: #fff;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.08);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.cat-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 80% 20%, rgba(255,255,255,.18) 0%, transparent 60%);
	pointer-events: none;
}
.cat-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-lg);
	color: #fff;
}
.cat-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
.cat-card__icon {
	width: 44px; height: 44px;
	background: rgba(255,255,255,.18);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	backdrop-filter: blur(8px);
}
.cat-card__icon .icon { width: 24px; height: 24px; }
.cat-card__badge {
	background: rgba(255,255,255,.18);
	backdrop-filter: blur(8px);
	color: #fff;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
	padding: 4px 10px;
	border-radius: var(--radius-full);
}
.cat-card__body { margin-top: auto; position: relative; z-index: 1; }
.cat-card__title { font-size: 1.4rem; margin: 0 0 .25rem; color: #fff; }
.cat-card__count { font-size: .85rem; opacity: .85; margin-bottom: .65rem; font-weight: 500; }
.cat-card__chans {
	font-size: .78rem;
	opacity: .75;
	margin: 0;
	line-height: 1.5;
}
.cat-card__cta {
	margin-top: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .88rem;
	border-top: 1px solid rgba(255,255,255,.15);
	padding-top: 14px;
	position: relative;
	z-index: 1;
	transition: gap var(--dur) var(--ease);
}
.cat-card:hover .cat-card__cta { gap: 12px; }

/* ---- Offer banner with countdown ---- */
.section--offer { padding-block: 60px; }
.offer-banner {
	background: linear-gradient(135deg, #0F172A 0%, #1E1B4B 100%);
	border: 1px solid var(--clr-primary);
	border-radius: var(--radius-xl);
	padding: clamp(32px, 5vw, 56px);
	text-align: center;
	position: relative;
	overflow: hidden;
	box-shadow: var(--shadow-glow);
}
.offer-banner::before {
	content: '';
	position: absolute;
	inset: -2px;
	background: var(--gradient-primary);
	z-index: -1;
	border-radius: inherit;
	filter: blur(20px);
	opacity: .25;
}
.offer-banner__pulse {
	position: absolute;
	top: -50px; left: -50px;
	width: 200px; height: 200px;
	background: radial-gradient(circle, rgba(var(--shadow-color-rgb), .35) 0%, transparent 70%);
	animation: float 6s ease-in-out infinite;
	pointer-events: none;
}
.offer-banner__inner { position: relative; z-index: 1; max-width: 720px; margin: 0 auto; }
.offer-banner__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--clr-accent-2);
	color: #1a1a1a;
	font-family: var(--font-heading);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	padding: 6px 14px;
	border-radius: var(--radius-full);
	margin-bottom: 1.25rem;
}
.offer-banner__eyebrow .icon { width: 16px; height: 16px; }
.offer-banner__title {
	font-size: clamp(1.6rem, 3.5vw, 2.4rem);
	color: #fff;
	margin: 0 0 .8rem;
	line-height: 1.15;
}
.offer-banner__lead {
	color: rgba(255,255,255,.85);
	font-size: 1rem;
	margin: 0 auto 1.5rem;
	max-width: 580px;
}
.offer-banner__actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 24px;
}
.offer-banner__seats {
	color: rgba(255,255,255,.85);
	font-size: .9rem;
}
.offer-banner__seats strong { color: var(--clr-accent-2); font-weight: 700; }

/* ---- Money-back guarantee ---- */
.guarantee {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 56px;
	align-items: center;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-xl);
	padding: clamp(32px, 5vw, 56px);
	position: relative;
	overflow: hidden;
}
.guarantee::before {
	content: '';
	position: absolute;
	right: -200px; top: 50%;
	width: 400px; height: 400px;
	transform: translateY(-50%);
	background: radial-gradient(circle, rgba(16, 185, 129, .15) 0%, transparent 70%);
	pointer-events: none;
}
@media (max-width: 900px) {
	.guarantee { grid-template-columns: 1fr; text-align: center; gap: 32px; }
}
.guarantee__seal {
	position: relative;
	width: 240px; height: 240px;
	margin: 0 auto;
}
.guarantee__seal-inner {
	position: absolute;
	inset: 30px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--clr-success) 0%, #047857 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	box-shadow: 0 0 40px rgba(16, 185, 129, .5), inset 0 4px 16px rgba(0,0,0,.2);
	border: 4px solid rgba(255,255,255,.15);
}
.guarantee__seal-num {
	font-family: var(--font-heading);
	font-size: 5.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.05em;
}
.guarantee__seal-text {
	font-family: var(--font-heading);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-align: center;
	margin-top: 4px;
	opacity: .9;
}
.guarantee__seal-ring {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	color: var(--clr-success);
	animation: spin 22s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.guarantee__body h2 { margin: .5rem 0 1rem; }
.guarantee__list {
	list-style: none;
	padding: 0;
	margin: 1.25rem 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: .55rem .75rem;
}
@media (max-width: 640px) { .guarantee__list { grid-template-columns: 1fr; } }
.guarantee__list li { display: flex; gap: 8px; align-items: center; font-size: .95rem; }
.guarantee__list li .icon { color: var(--clr-success); flex-shrink: 0; width: 18px; height: 18px; }

/* ---- Compare table ---- */
.compare-table {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	max-width: 980px;
	margin: 0 auto;
}
.compare-table__head,
.compare-table__row {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	align-items: center;
}
.compare-table__head {
	background: var(--clr-surface-2);
	border-bottom: 1px solid var(--clr-border);
}
.compare-table__cell {
	padding: 18px 20px;
	font-size: .95rem;
	color: var(--clr-text-muted);
	text-align: center;
}
.compare-table__cell--label {
	text-align: left;
	color: var(--clr-text);
	font-weight: 600;
}
.compare-table__cell--us {
	background: rgba(var(--shadow-color-rgb), .08);
	color: var(--clr-text);
	font-weight: 700;
	position: relative;
}
.compare-table__brand {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--clr-primary-light);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
}
.compare-table__brand .icon { width: 18px; height: 18px; }
.compare-table__row:not(:last-child) { border-bottom: 1px solid var(--clr-border); }
.compare-table__row:hover { background: rgba(255,255,255,.02); }

@media (max-width: 720px) {
	.compare-table__head,
	.compare-table__row { grid-template-columns: 1.3fr 1fr 1fr 1fr; }
	.compare-table__cell { padding: 12px 8px; font-size: .82rem; }
}

/* ---- Reseller teaser ---- */
.reseller-teaser {
	background: linear-gradient(135deg, var(--clr-primary-dark) 0%, #4C1D95 100%);
	border-radius: var(--radius-xl);
	padding: clamp(40px, 6vw, 72px);
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 48px;
	align-items: center;
	position: relative;
	overflow: hidden;
	color: #fff;
}
@media (max-width: 900px) {
	.reseller-teaser { grid-template-columns: 1fr; text-align: center; }
}
.reseller-teaser__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 90% 10%, rgba(255,255,255,.15) 0%, transparent 50%),
		radial-gradient(circle at 10% 90%, rgba(0, 212, 255, .2) 0%, transparent 50%);
	pointer-events: none;
}
.reseller-teaser__content { position: relative; z-index: 1; }

.reseller-teaser__visual {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
}
.reseller-teaser__earnings {
	background: rgba(0, 0, 0, .35);
	backdrop-filter: blur(20px);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: var(--radius-lg);
	padding: 28px;
	text-align: center;
	min-width: 260px;
	box-shadow: var(--shadow-lg);
}
.reseller-teaser__earnings-label {
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	opacity: .8;
}
.reseller-teaser__earnings-num {
	font-family: var(--font-heading);
	font-size: 3rem;
	font-weight: 700;
	color: #fff;
	margin: .5rem 0 .25rem;
	font-feature-settings: "tnum";
}
.reseller-teaser__earnings-period {
	font-size: .85rem;
	opacity: .8;
	margin-bottom: 1.25rem;
}
.reseller-teaser__chart {
	display: flex;
	gap: 6px;
	align-items: flex-end;
	height: 64px;
	padding: 0 8px;
}
.reseller-teaser__bar {
	flex: 1;
	background: linear-gradient(180deg, var(--clr-accent), rgba(0,212,255,.3));
	border-radius: 4px 4px 0 0;
	min-height: 8px;
	animation: bar-grow .8s var(--ease-out) backwards;
}
.reseller-teaser__bar:nth-child(1) { animation-delay: .05s; }
.reseller-teaser__bar:nth-child(2) { animation-delay: .1s; }
.reseller-teaser__bar:nth-child(3) { animation-delay: .15s; }
.reseller-teaser__bar:nth-child(4) { animation-delay: .2s; }
.reseller-teaser__bar:nth-child(5) { animation-delay: .25s; }
.reseller-teaser__bar:nth-child(6) { animation-delay: .3s; }
.reseller-teaser__bar:nth-child(7) { animation-delay: .35s; }
@keyframes bar-grow { from { height: 0; opacity: 0; } }

/* ----------------------------------------------------------
   34. Media (TMDB movies/series) showcase + Channel logos
---------------------------------------------------------- */

/* ---- Media tabs (Today / This Week / Top Movies / Top Series) ---- */
.media-tabs {
	display: inline-flex;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-full);
	padding: 6px;
	margin: 0 auto 36px;
	gap: 4px;
	flex-wrap: wrap;
	justify-content: center;
}
.media-tabs__btn {
	padding: 10px 20px;
	border: 0;
	background: transparent;
	color: var(--clr-text-muted);
	border-radius: var(--radius-full);
	font-family: var(--font-heading);
	font-weight: 600;
	transition: all var(--dur) var(--ease);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
	line-height: 1.1;
	min-width: 110px;
	cursor: pointer;
}
.media-tabs__btn small {
	font-size: .65rem;
	letter-spacing: .12em;
	opacity: .7;
}
.media-tabs__btn span { font-size: .98rem; }
.media-tabs__btn.is-active {
	background: var(--gradient-primary);
	color: #fff;
	box-shadow: var(--shadow-primary);
}
.media-tabs__btn.is-active small { opacity: .85; }
.media-tabs__btn:not(.is-active):hover {
	color: var(--clr-text);
	background: var(--clr-surface-2);
}

/* ---- Media panes ---- */
.media-pane { display: none; }
.media-pane.is-active { display: block; animation: fade-in .35s var(--ease-out); }
@keyframes fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* ---- Media grid (poster wall) ---- */
.media-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 18px;
}
@media (max-width: 1200px) { .media-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 720px)  { .media-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 460px)  { .media-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

/* ---- Media card (poster + hover overlay) ---- */
.media-card {
	position: relative;
	display: block;
	aspect-ratio: 2 / 3;
	border-radius: var(--radius);
	overflow: hidden;
	background-color: var(--clr-surface-2);
	background-size: cover;
	background-position: center;
	border: 1px solid var(--clr-border);
	color: #fff;
	text-decoration: none;
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.media-card:hover {
	transform: translateY(-6px) scale(1.02);
	box-shadow: var(--shadow-primary);
	border-color: var(--clr-primary-light);
	color: #fff;
}
.media-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.85) 100%);
	pointer-events: none;
	transition: opacity var(--dur) var(--ease);
	z-index: 1;
}
.media-card:hover::before { opacity: 0; }

.media-card__rating {
	position: absolute;
	top: 8px; left: 8px;
	background: rgba(0, 0, 0, .65);
	backdrop-filter: blur(8px);
	border-radius: var(--radius-full);
	padding: 4px 10px 4px 4px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	z-index: 3;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .82rem;
	color: #fff;
}
.media-card__rating svg { display: block; }

.media-card__type {
	position: absolute;
	top: 8px; right: 8px;
	background: rgba(var(--shadow-color-rgb), .9);
	color: #fff;
	font-size: .65rem;
	font-weight: 700;
	letter-spacing: .1em;
	padding: 3px 8px;
	border-radius: 4px;
	z-index: 3;
	text-transform: uppercase;
}

.media-card__title-fallback {
	position: absolute;
	bottom: 12px; left: 12px; right: 12px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .92rem;
	color: #fff;
	line-height: 1.2;
	z-index: 2;
	text-shadow: 0 2px 6px rgba(0,0,0,.6);
}
.media-card[style*="background-image"] .media-card__title-fallback,
.media-card[data-bg] .media-card__title-fallback { display: none; }

.media-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.95) 100%);
	display: flex;
	align-items: flex-end;
	padding: 14px;
	opacity: 0;
	transition: opacity var(--dur) var(--ease);
	z-index: 2;
}
.media-card:hover .media-card__overlay { opacity: 1; }
.media-card__overlay-inner { width: 100%; }
.media-card__title {
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 .25rem;
	line-height: 1.2;
}
.media-card__meta {
	font-size: .72rem;
	color: rgba(255,255,255,.75);
	margin-bottom: .5rem;
}
.media-card__overview {
	font-size: .74rem;
	color: rgba(255,255,255,.85);
	margin: 0 0 .75rem;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.media-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .76rem;
	color: var(--clr-accent);
	background: rgba(var(--glow-color-rgb), .15);
	border: 1px solid rgba(var(--glow-color-rgb), .35);
	padding: 4px 10px;
	border-radius: var(--radius-full);
}

@media (hover: none) {
	.media-card__overlay { opacity: 1; background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.92) 100%); }
	.media-card__overview { display: none; }
}

/* ---- Channel tabs ---- */
.channel-tabs {
	display: inline-flex;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-full);
	padding: 5px;
	margin: 0 auto 36px;
	gap: 2px;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 100%;
}
.channel-tabs__btn {
	padding: 8px 16px;
	border: 0;
	background: transparent;
	color: var(--clr-text-muted);
	border-radius: var(--radius-full);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .88rem;
	transition: all var(--dur) var(--ease);
	cursor: pointer;
}
.channel-tabs__btn.is-active {
	background: var(--gradient-primary);
	color: #fff;
}
.channel-tabs__btn:not(.is-active):hover {
	color: var(--clr-text);
	background: var(--clr-surface-2);
}

/* ---- Channel logos grid ---- */
.channel-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 12px;
}
.channel-logo {
	aspect-ratio: 16/9;
	border-radius: var(--radius);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 12px;
	text-align: center;
	border: 1px solid rgba(255,255,255,.06);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
	overflow: hidden;
	position: relative;
}
.channel-logo::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.18) 0%, transparent 60%);
	pointer-events: none;
}
.channel-logo:hover {
	transform: translateY(-3px) scale(1.04);
	box-shadow: var(--shadow-lg);
	z-index: 2;
}
.channel-logo__short {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	line-height: 1;
	margin-bottom: 6px;
	position: relative;
	z-index: 1;
}
.channel-logo__name {
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	opacity: .9;
	position: relative;
	z-index: 1;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ====================================================================
   36. LIGHT THEME OVERRIDES + SECTION VARIANTS (Bright Pro redesign)
   --------------------------------------------------------------------
   - body.is-light : light background (default in 2026 redesign)
   - .section--dark : explicitly dark section regardless of body theme
   - .section--bright : explicitly bright/cream section
==================================================================== */

/* When body is light, swap header & a few hardcoded surfaces. */
body.is-light .site-header {
	background: rgba(255, 255, 255, .92);
	border-bottom: 1px solid var(--clr-border);
	box-shadow: 0 1px 0 rgba(0,0,0,.02);
}
body.is-light .site-header.is-scrolled {
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 4px 24px rgba(15,23,41,.08);
}
body.is-light .mobile-nav {
	background: rgba(255, 255, 255, .98);
	color: var(--clr-text);
}
body.is-light .mobile-nav .menu-link { color: var(--clr-text); border-bottom-color: var(--clr-border); }
body.is-light .menu-toggle { color: var(--clr-text); border-color: var(--clr-border); }
body.is-light .header-icon-btn { color: var(--clr-text); }
body.is-light .header-icon-btn:hover { color: var(--clr-primary); }

body.is-light .primary-nav .menu-link { color: var(--clr-text); }
body.is-light .primary-nav .menu-link:hover,
body.is-light .primary-nav .current-menu-item > .menu-link {
	color: var(--clr-primary);
	background: rgba(0, 97, 255, .08);
}

body.is-light .btn--ghost {
	background: rgba(0, 97, 255, .04);
	color: var(--clr-text);
	border-color: var(--clr-border);
}
body.is-light .btn--ghost:hover {
	background: rgba(0, 97, 255, .08);
	border-color: var(--clr-primary);
	color: var(--clr-primary);
}
body.is-light .btn--secondary {
	background: var(--clr-surface-2);
	color: var(--clr-text);
	border-color: var(--clr-border);
}
body.is-light .btn--secondary:hover {
	background: var(--clr-surface-3);
	border-color: var(--clr-border-light);
	color: var(--clr-text);
}

/* Hero subtle background pattern in light mode */
body.is-light .hero {
	background:
		radial-gradient(ellipse at 20% 30%, rgba(0, 97, 255, .06) 0%, transparent 60%),
		radial-gradient(ellipse at 80% 70%, rgba(59, 130, 246, .05) 0%, transparent 60%),
		linear-gradient(180deg, #FFFFFF 0%, #F5F7FB 100%);
}
body.is-light .hero::before { display: none; }
body.is-light .hero::after {
	background-image:
		linear-gradient(rgba(0,0,0,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(0,0,0,.025) 1px, transparent 1px);
}

/* Cards on light backgrounds */
body.is-light .feature-card,
body.is-light .pricing-card,
body.is-light .testimonial,
body.is-light .post-card,
body.is-light .step,
body.is-light .channel-grid > * {
	background: #FFFFFF;
	border-color: var(--clr-border);
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
body.is-light .feature-card:hover,
body.is-light .pricing-card:hover,
body.is-light .testimonial:hover,
body.is-light .post-card:hover {
	box-shadow: 0 12px 32px rgba(15,23,41,.10);
	border-color: var(--clr-primary-light);
}
body.is-light .feature-card__icon {
	background: rgba(0, 97, 255, .08);
	color: var(--clr-primary);
}

body.is-light .section__eyebrow {
	background: rgba(0, 97, 255, .08);
	border-color: rgba(0, 97, 255, .25);
	color: var(--clr-primary);
}
body.is-light .hero__eyebrow {
	background: rgba(0, 97, 255, .08);
	border-color: rgba(0, 97, 255, .25);
	color: var(--clr-primary);
}

/* Form inputs on light bg */
body.is-light .form-field input,
body.is-light .form-field select,
body.is-light .form-field textarea {
	background: #FFFFFF;
	border-color: var(--clr-border);
	color: var(--clr-text);
}
body.is-light .newsletter-form { background: #FFFFFF; border-color: var(--clr-border); }
body.is-light .newsletter-form input[type="email"] { color: var(--clr-text); }

/* FAQ accordion on light */
body.is-light .faq__item { background: #FFFFFF; box-shadow: 0 4px 16px rgba(15,23,41,.04); }
body.is-light .faq__icon { background: rgba(0, 97, 255, .08); color: var(--clr-primary); }

/* Footer always dark for contrast */
body.is-light .site-footer {
	background: var(--clr-bg-dark, #0F1729);
	color: rgba(255, 255, 255, .7);
	border-top-color: rgba(255,255,255,.08);
}
body.is-light .site-footer .site-logo__text,
body.is-light .site-footer .footer__widget-title,
body.is-light .site-footer h2,
body.is-light .site-footer h3,
body.is-light .site-footer h4 { color: #FFFFFF; }
body.is-light .site-footer li a { color: rgba(255,255,255,.7); }
body.is-light .site-footer li a:hover { color: var(--clr-primary-light); }
body.is-light .site-footer__top { border-bottom-color: rgba(255,255,255,.08); }
body.is-light .site-footer__bottom { color: rgba(255,255,255,.55); }
body.is-light .site-footer__about { color: rgba(255,255,255,.7); }
body.is-light .social-link {
	background: rgba(255,255,255,.08);
	color: rgba(255,255,255,.8);
	border-color: rgba(255,255,255,.12);
}
body.is-light .social-link:hover { background: var(--gradient-primary); color: #fff; border-color: transparent; }

/* Trust strip on light */
body.is-light .trust-strip { background: var(--clr-bg-alt); border-top: 1px solid var(--clr-border); }
body.is-light .trust-strip__divider { background: var(--clr-border); }
body.is-light .trust-strip__num { color: var(--clr-primary); }

/* Channels strip / channel-logos - keep colored */
body.is-light .channel-logo { box-shadow: 0 4px 16px rgba(15,23,41,.06); }

/* Stats: light cards */
body.is-light .stats { gap: 0; background: #FFFFFF; border-radius: var(--radius-lg); border: 1px solid var(--clr-border); padding: 24px; box-shadow: 0 4px 16px rgba(15,23,41,.04); }
body.is-light .stats .stat { padding: 12px 16px; border-right: 1px solid var(--clr-border); }
body.is-light .stats .stat:last-child { border-right: 0; }
@media (max-width: 900px) { body.is-light .stats .stat:nth-child(2n) { border-right: 0; } }

/* Comments on light */
body.is-light .comment-list .comment,
body.is-light .comment-respond { background: #FFFFFF; box-shadow: 0 4px 16px rgba(15,23,41,.04); }

/* Page header on light */
body.is-light .page-header {
	background: linear-gradient(180deg, #FFFFFF 0%, var(--clr-bg-alt) 100%);
}
body.is-light .page-header::before { background: radial-gradient(ellipse at top, rgba(0,97,255,.08), transparent 60%); }

/* Pricing tabs on light */
body.is-light .pricing-tabs,
body.is-light .media-tabs,
body.is-light .channel-tabs {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
body.is-light .pricing-tabs__btn:not(.is-active),
body.is-light .media-tabs__btn:not(.is-active),
body.is-light .channel-tabs__btn:not(.is-active) {
	color: var(--clr-text-muted);
}
body.is-light .pricing-tabs__btn:not(.is-active):hover,
body.is-light .media-tabs__btn:not(.is-active):hover,
body.is-light .channel-tabs__btn:not(.is-active):hover {
	background: var(--clr-bg-alt);
	color: var(--clr-text);
}

/* Compare table on light */
body.is-light .compare-table { background: #FFFFFF; box-shadow: 0 4px 16px rgba(15,23,41,.04); }
body.is-light .compare-table__head { background: var(--clr-bg-alt); }
body.is-light .compare-table__cell { color: var(--clr-text-muted); }
body.is-light .compare-table__cell--label { color: var(--clr-text); }
body.is-light .compare-table__cell--us { background: rgba(0, 97, 255, .05); color: var(--clr-text); }

/* Sports banner: keep dark for contrast */
body.is-light .sports-banner {
	background: linear-gradient(135deg, #0F1729 0%, #1E3A8A 100%);
	color: #FFFFFF;
	border-color: rgba(255,255,255,.08);
}
body.is-light .sports-banner h2 { color: #FFFFFF; }
body.is-light .sports-banner h2 .grad { color: #FFFFFF; -webkit-text-fill-color: #FFFFFF; }
body.is-light .sports-banner p.muted { color: rgba(255,255,255,.7); }
body.is-light .sports-banner__league { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.12); color: #FFFFFF; }

/* Money-back guarantee on light: invert surface */
body.is-light .guarantee { background: var(--clr-bg-alt); }

/* Reseller teaser stays gradient */

/* Section utility: explicitly dark / bright */
.section--dark {
	background: var(--clr-bg-dark, #0F1729);
	color: var(--clr-text-on-dark, #F8FAFC);
}
.section--dark h1, .section--dark h2, .section--dark h3, .section--dark h4 { color: var(--clr-text-on-dark, #F8FAFC); }
.section--dark .section__lead, .section--dark .muted { color: var(--clr-text-on-dark-muted, #94A3B8); }
.section--dark .section__eyebrow {
	background: rgba(255,255,255,.08);
	border-color: rgba(255,255,255,.18);
	color: #FFFFFF;
}
.section--dark .feature-card,
.section--dark .step {
	background: rgba(255,255,255,.04);
	border-color: rgba(255,255,255,.08);
	color: var(--clr-text-on-dark, #F8FAFC);
}
.section--dark .feature-card__title { color: var(--clr-text-on-dark, #F8FAFC); }
.section--dark .feature-card__text { color: var(--clr-text-on-dark-muted, #94A3B8); }
.section--dark .feature-card__icon {
	background: rgba(0, 97, 255, .15);
	color: var(--clr-primary-light);
}

.section--bright { background: var(--clr-bg-alt); }

/* ====================================================================
   37. Top promo bar
==================================================================== */
.top-bar {
	background: #0F1729;
	color: rgba(255,255,255,.85);
	font-size: .82rem;
	padding: 8px 0;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.top-bar__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.top-bar__left,
.top-bar__right {
	display: inline-flex;
	align-items: center;
	gap: 16px;
}
.top-bar__pill {
	color: rgba(255,255,255,.7);
}
.top-bar__cta {
	color: var(--clr-accent, #0061FF);
	font-weight: 600;
}
.top-bar a:hover { color: var(--clr-primary-light, #3B82F6); }
@media (max-width: 640px) {
	.top-bar { font-size: .76rem; }
	.top-bar__right { display: none; }
}

/* ====================================================================
   38. Hero v2 (circular image + bullet list)
==================================================================== */
.hero-v2 {
	position: relative;
	padding: clamp(60px, 9vw, 110px) 0;
	overflow: hidden;
	background: linear-gradient(180deg, var(--clr-bg) 0%, var(--clr-bg-alt) 100%);
}
.hero-v2::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 80% 20%, rgba(0, 97, 255, .08) 0%, transparent 50%);
	pointer-events: none;
}
.hero-v2__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: clamp(40px, 6vw, 80px);
	align-items: center;
}
@media (max-width: 992px) {
	.hero-v2__inner { grid-template-columns: 1fr; text-align: center; }
}

.hero-v2__visual {
	position: relative;
	aspect-ratio: 1;
	max-width: 520px;
	margin: 0 auto;
	width: 100%;
}
.hero-v2__circle {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	overflow: hidden;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-light));
	box-shadow: 0 30px 80px rgba(0, 97, 255, .25), inset 0 0 0 14px rgba(255,255,255,.7);
}
.hero-v2__circle img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero-v2__circle-placeholder {
	width: 100%; height: 100%;
	background:
		radial-gradient(circle at 30% 30%, rgba(255,255,255,.3) 0%, transparent 50%),
		linear-gradient(135deg, #1E3A8A 0%, #0F1729 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,.4);
	flex-direction: column;
	gap: 8px;
}
.hero-v2__circle-placeholder svg { width: 80px; height: 80px; opacity: .5; }
.hero-v2__circle-placeholder span { font-family: var(--font-heading); font-size: .85rem; letter-spacing: .15em; }

.hero-v2__badge {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 160px; height: 160px;
	border-radius: 50%;
	background: var(--clr-primary);
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: 0 10px 40px rgba(0, 97, 255, .4), inset 0 0 0 4px rgba(255,255,255,.2);
	font-family: var(--font-heading);
	z-index: 2;
}
.hero-v2__badge-num { font-size: 3.2rem; font-weight: 800; line-height: 1; }
.hero-v2__badge-text { font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .9; margin-top: 4px; padding: 0 8px; }

.hero-v2__content { position: relative; z-index: 1; }
.hero-v2__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--clr-primary);
	margin-bottom: 1rem;
}
.hero-v2__eyebrow::before {
	content: '';
	width: 30px; height: 2px;
	background: var(--clr-primary);
	border-radius: 2px;
}
.hero-v2__title {
	font-size: clamp(2.2rem, 5vw, 3.6rem);
	margin-bottom: 1rem;
	line-height: 1.1;
}
.hero-v2__title .grad {
	background: var(--gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.hero-v2__lead {
	color: var(--clr-text-muted);
	font-size: 1.05rem;
	margin-bottom: 1.25rem;
	max-width: 540px;
}
@media (max-width: 992px) { .hero-v2__lead { margin-inline: auto; } }
.hero-v2__bullets {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem;
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
@media (max-width: 992px) { .hero-v2__bullets { align-items: center; max-width: 360px; margin-inline: auto; margin-bottom: 1.75rem; } }
.hero-v2__bullets li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .98rem;
	color: var(--clr-text);
	font-weight: 500;
}
.hero-v2__bullets .icon {
	color: var(--clr-primary);
	flex-shrink: 0;
	background: rgba(0, 97, 255, .1);
	border-radius: 50%;
	padding: 4px;
	width: 22px; height: 22px;
}
.hero-v2__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
@media (max-width: 992px) { .hero-v2__actions { justify-content: center; } }

/* ====================================================================
   39. Stats v2 (4 light cards in a row, icon + number + label)
==================================================================== */
.stats-v2 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
@media (max-width: 900px) { .stats-v2 { grid-template-columns: repeat(2, 1fr); } }
.stat-card {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.stat-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(15,23,41,.08); }
.stat-card__icon {
	width: 56px; height: 56px;
	flex-shrink: 0;
	background: var(--gradient-primary);
	color: #FFFFFF;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.stat-card__icon .icon { width: 28px; height: 28px; }
.stat-card__num {
	font-family: var(--font-heading);
	font-size: 1.7rem;
	font-weight: 800;
	color: var(--clr-text);
	line-height: 1;
	font-feature-settings: "tnum";
}
.stat-card__label {
	font-size: .85rem;
	color: var(--clr-text-muted);
	margin-top: 4px;
	font-weight: 500;
}

/* ====================================================================
   40. Pricing v2 (rounded blue header strip)
==================================================================== */
.pricing-card-v2 {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	overflow: visible;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
	position: relative;
}

/* Plan badge — small pill ribbon at top of card */
.pricing-card-v2__badge {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(135deg, #0061FF 0%, #3B82F6 100%); /* default fallback */
	color: #FFFFFF;
	font-family: var(--font-heading);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 7px 16px;
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: 0 6px 16px rgba(15,23,41,.22);
	z-index: 4;
	display: inline-block;
	line-height: 1;
}
.pricing-card-v2__badge--primary { background: linear-gradient(135deg, #0061FF 0%, #3B82F6 100%); color: #FFFFFF; }
.pricing-card-v2__badge--success { background: linear-gradient(135deg, #10B981 0%, #059669 100%); color: #FFFFFF; }
.pricing-card-v2__badge--accent  { background: linear-gradient(135deg, #FBBF24 0%, #F59E0B 100%); color: #1A1A1A; }
.pricing-card-v2__badge--danger  { background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%); color: #FFFFFF; }

/* All cards inside a grid that contains badges need extra top spacing */
.pricing-grid { padding-top: 14px; }
.pricing-card-v2:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 40px rgba(15,23,41,.12);
}
.pricing-card-v2__strip {
	background: var(--gradient-primary);
	color: #FFFFFF;
	padding: 22px 24px;
	text-align: center;
	border-radius: 14px;
	margin: 12px 12px 0;
}
.pricing-card-v2__eyebrow {
	font-size: .65rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .85;
	margin-bottom: 6px;
}
.pricing-card-v2__duration {
	font-family: var(--font-heading);
	font-size: 1.65rem;
	font-weight: 800;
	line-height: 1;
}
.pricing-card-v2__body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.pricing-card-v2__price {
	font-family: var(--font-heading);
	font-size: 3rem;
	font-weight: 800;
	color: var(--clr-primary);
	line-height: 1;
	letter-spacing: -0.03em;
	margin-bottom: 4px;
	font-feature-settings: "tnum";
}
.pricing-card-v2__currency {
	font-size: .9rem;
	color: var(--clr-text-muted);
	margin-left: 6px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.pricing-card-v2__per { color: var(--clr-text-muted); font-size: .85rem; margin-bottom: 1rem; }
.pricing-card-v2__divider { height: 1px; background: var(--clr-border); margin: .25rem 0 1.25rem; }
.pricing-card-v2__features {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: flex;
	flex-direction: column;
	gap: .55rem;
	flex: 1;
}
.pricing-card-v2__features li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .92rem;
	color: var(--clr-text);
	padding-bottom: .55rem;
	border-bottom: 1px solid var(--clr-border);
}
.pricing-card-v2__features li:last-child { border-bottom: 0; }
.pricing-card-v2__features li .icon {
	color: var(--clr-primary);
	flex-shrink: 0;
	background: rgba(0, 97, 255, .12);
	border-radius: 50%;
	padding: 3px;
	width: 20px; height: 20px;
}
.pricing-card-v2__cta {
	display: block;
	background: #0F1729;
	color: #FFFFFF !important;
	padding: 14px 24px;
	border-radius: 10px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .85rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	transition: all var(--dur) var(--ease);
	margin-top: auto;
}
.pricing-card-v2__cta:hover {
	background: var(--clr-primary);
	transform: translateY(-2px);
}
.pricing-card-v2.featured .pricing-card-v2__cta { background: var(--clr-primary); }
.pricing-card-v2.featured .pricing-card-v2__cta:hover { background: var(--clr-primary-dark); }

/* ====================================================================
   41. Compare v2 (3 cards: Cable / IPTV / Others)
==================================================================== */
.compare-v2 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
@media (max-width: 900px) { .compare-v2 { grid-template-columns: 1fr; } }
.compare-card {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
.compare-card__head {
	padding: 18px 22px;
	background: #F1F5F9;
	border-bottom: 1px solid #E2E8F0;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.05rem;
	color: #0F1729;
}
.compare-card--us .compare-card__head {
	background: var(--gradient-primary);
	color: #FFFFFF;
	border-bottom: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.compare-card--us .compare-card__pill {
	background: rgba(255,255,255,.2);
	font-size: .65rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--radius-full);
}
.compare-card__list {
	list-style: none;
	padding: 8px 22px 22px;
	margin: 0;
}
.compare-card__list li {
	padding: 12px 0;
	border-bottom: 1px solid #E2E8F0;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .94rem;
	color: #0F1729;
	font-weight: 500;
}
.compare-card__list li:last-child { border-bottom: 0; }
.compare-card__list li.no  { color: #475569; }
.compare-card__list li.yes { color: #0F1729; font-weight: 600; }
.compare-card__list li.no .compare-card__mark { color: var(--clr-danger); background: rgba(239, 68, 68, .1); }
.compare-card__list li.yes .compare-card__mark { color: var(--clr-success); background: rgba(16, 185, 129, .1); }
.compare-card__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px; height: 22px;
	border-radius: 50%;
	flex-shrink: 0;
	font-size: 11px;
	font-weight: 700;
}
.compare-card--us .compare-card__list { background: rgba(0,97,255,.02); }

/* Safety overrides — ensure compare cards are always readable regardless of section context */
.section--dark .compare-card .compare-card__head,
body.is-dark .compare-card .compare-card__head { color: #0F1729; background: #F1F5F9; }
.section--dark .compare-card--us .compare-card__head,
body.is-dark .compare-card--us .compare-card__head { color: #FFFFFF; background: var(--gradient-primary); }
.section--dark .compare-card .compare-card__list li,
body.is-dark .compare-card .compare-card__list li { color: #0F1729; }
.section--dark .compare-card .compare-card__list li.no,
body.is-dark .compare-card .compare-card__list li.no { color: #475569; }

/* ====================================================================
   42. What is IPTV explainer (3 cols)
==================================================================== */
.explainer-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 900px) { .explainer-grid { grid-template-columns: 1fr; } }
.explainer-card {
	text-align: center;
	padding: 16px 8px;
}
.explainer-card__icon {
	width: 88px; height: 88px;
	margin: 0 auto 1.25rem;
	border-radius: 50%;
	background: rgba(0, 97, 255, .08);
	color: var(--clr-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px dashed rgba(0, 97, 255, .25);
}
.explainer-card__icon .icon { width: 38px; height: 38px; }
.explainer-card__title { font-size: 1.2rem; margin: 0 0 .65rem; }
.explainer-card__text { color: var(--clr-text-muted); font-size: .95rem; margin: 0; }

/* ====================================================================
   43. Devices logos strip (always dark)
==================================================================== */
.devices-strip {
	background: var(--clr-bg-dark, #0F1729);
	color: #FFFFFF;
	padding: clamp(36px, 4.5vw, 56px) 0;
}
.devices-strip h2 {
	color: #FFFFFF;
	text-align: center;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	margin: 0 0 .5rem;
}
.devices-strip__lead {
	text-align: center;
	color: rgba(255,255,255,.65);
	margin: 0 0 2.5rem;
	max-width: 640px;
	margin-inline: auto;
}
.devices-strip__row {
	display: grid;
	grid-template-columns: repeat(11, 1fr);
	gap: 16px;
	align-items: center;
	max-width: 1100px;
	margin: 0 auto;
}
@media (max-width: 1000px) { .devices-strip__row { grid-template-columns: repeat(6, 1fr); } }
@media (max-width: 600px)  { .devices-strip__row { grid-template-columns: repeat(3, 1fr); } }
.device-brand {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: var(--radius);
	padding: 16px 12px;
	text-align: center;
	font-family: var(--font-heading);
	font-weight: 700;
	color: #FFFFFF;
	font-size: .8rem;
	letter-spacing: .02em;
	transition: all var(--dur) var(--ease);
	min-height: 70px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.device-brand:hover {
	background: rgba(0, 97, 255, .12);
	border-color: var(--clr-primary);
	transform: translateY(-3px);
}
.device-brand__icon { width: 22px; height: 22px; opacity: .8; }
.device-brand__name { font-weight: 700; }

/* ====================================================================
   44. Image-led photo cards (Discover Best IPTV Provider 6-card grid)
==================================================================== */
.photo-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
@media (max-width: 900px) { .photo-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .photo-grid { grid-template-columns: 1fr; } }
.photo-card {
	background: #FFFFFF;
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--clr-border);
	display: flex;
	flex-direction: column;
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
.section--dark .photo-card { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
.photo-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(15,23,41,.12); }
.photo-card__media {
	aspect-ratio: 16/10;
	overflow: hidden;
	background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-dark) 100%);
	position: relative;
}
.photo-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.photo-card:hover .photo-card__media img { transform: scale(1.05); }
.photo-card__media-placeholder {
	width: 100%; height: 100%;
	background:
		radial-gradient(circle at 20% 20%, rgba(255,255,255,.15), transparent 50%),
		linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-dark) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,.45);
}
.photo-card__media-placeholder .icon { width: 56px; height: 56px; }
.photo-card__body { padding: 22px; display: flex; flex-direction: column; flex: 1; gap: .55rem; }
.photo-card__title { font-size: 1.15rem; margin: 0; }
.section--dark .photo-card__title { color: #FFFFFF; }
.photo-card__text { color: var(--clr-text-muted); font-size: .92rem; margin: 0; flex: 1; }
.section--dark .photo-card__text { color: rgba(255,255,255,.65); }
.photo-card__more {
	margin-top: .25rem;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--clr-primary);
	font-weight: 700;
	font-size: .85rem;
	font-family: var(--font-heading);
	background: rgba(0, 97, 255, .1);
	padding: 6px 14px;
	border-radius: var(--radius-full);
	width: fit-content;
	border: 0;
	text-decoration: none;
	transition: all var(--dur) var(--ease);
}
.photo-card__more:hover { background: var(--clr-primary); color: #FFFFFF; }

/* ====================================================================
   45. Sports v2 (light section + image)
==================================================================== */
.sports-v2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}
@media (max-width: 900px) { .sports-v2 { grid-template-columns: 1fr; text-align: center; } }
.sports-v2__content { max-width: 520px; }
@media (max-width: 900px) { .sports-v2__content { margin-inline: auto; } }
.sports-v2__title {
	font-size: clamp(2rem, 4vw, 2.8rem);
	margin: 1rem 0 1rem;
}
.sports-v2__title .grad {
	background: var(--gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.sports-v2__lead { color: var(--clr-text-muted); font-size: 1.02rem; margin-bottom: 1.5rem; }
.sports-v2__pills {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin: 1.5rem 0 1.75rem;
	max-width: 460px;
}
@media (max-width: 900px) { .sports-v2__pills { margin-inline: auto; } }
.sports-pill {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 14px 12px;
	text-align: center;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
.sports-pill__num {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--clr-primary);
}
.sports-pill__label {
	font-size: .68rem;
	color: var(--clr-text-muted);
	margin-top: 2px;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.sports-v2__cta-card {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 18px 20px;
	display: inline-flex;
	align-items: center;
	gap: 18px;
	max-width: 360px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
@media (max-width: 900px) { .sports-v2__cta-card { margin-inline: auto; } }
.sports-v2__cta-price {
	font-family: var(--font-heading);
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--clr-primary);
	line-height: 1;
}
.sports-v2__cta-meta { font-size: .78rem; color: var(--clr-text-muted); }

.sports-v2__visual {
	position: relative;
	aspect-ratio: 1;
	max-width: 480px;
	margin: 0 auto;
	width: 100%;
}
.sports-v2__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--radius-xl);
}
.sports-v2__visual-placeholder {
	width: 100%; height: 100%;
	border-radius: var(--radius-xl);
	background:
		radial-gradient(circle at 30% 30%, rgba(0,97,255,.15), transparent 60%),
		linear-gradient(135deg, var(--clr-bg-alt) 0%, #FFFFFF 100%);
	border: 1px solid var(--clr-border);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--clr-primary);
	gap: 12px;
}
.sports-v2__visual-placeholder svg { width: 80px; height: 80px; opacity: .5; }
.sports-v2__visual-placeholder span { font-family: var(--font-heading); font-size: .85rem; letter-spacing: .12em; opacity: .7; }

/* ====================================================================
   46. Why-choose banner v2 (image with dark overlay)
==================================================================== */
.why-banner {
	position: relative;
	padding: clamp(80px, 12vw, 140px) 0;
	background: var(--clr-bg-dark, #0F1729);
	color: #FFFFFF;
	overflow: hidden;
}
.why-banner__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.why-banner__bg img,
.why-banner__bg-placeholder {
	width: 100%; height: 100%;
	object-fit: cover;
}
.why-banner__bg-placeholder {
	background:
		radial-gradient(circle at 30% 50%, rgba(0,97,255,.4) 0%, transparent 60%),
		radial-gradient(circle at 70% 50%, rgba(255, 71, 87, .25) 0%, transparent 60%),
		linear-gradient(135deg, #0F1729 0%, #1E1B4B 100%);
}
.why-banner__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15,23,41,.85) 0%, rgba(15,23,41,.95) 100%);
	z-index: 1;
}
.why-banner > .container { position: relative; z-index: 2; text-align: center; max-width: 880px; }
.why-banner__eyebrow {
	display: inline-block;
	color: var(--clr-primary-light);
	font-family: var(--font-heading);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}
.why-banner__title {
	font-size: clamp(2rem, 4vw, 2.8rem);
	color: #FFFFFF;
	margin: 0 0 1.5rem;
}
.why-banner__text {
	color: rgba(255,255,255,.85);
	font-size: 1.05rem;
	margin: 0 auto 1rem;
	line-height: 1.75;
	max-width: 720px;
}

/* ====================================================================
   47. Reseller v2 (with image area)
==================================================================== */
.reseller-v2 {
	background: linear-gradient(135deg, var(--clr-primary-dark) 0%, #1E1B4B 100%);
	border-radius: var(--radius-xl);
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	align-items: stretch;
	min-height: 360px;
	position: relative;
}
@media (max-width: 900px) { .reseller-v2 { grid-template-columns: 1fr; } }
.reseller-v2__content { padding: clamp(32px, 5vw, 56px); color: #FFFFFF; }
.reseller-v2__title { color: #FFFFFF; font-size: clamp(1.6rem, 3vw, 2.2rem); margin: .75rem 0; }
.reseller-v2__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 1rem 0 1.5rem; }
.reseller-v2__chip {
	background: rgba(255,255,255,.12);
	color: #FFFFFF;
	padding: 6px 12px;
	border-radius: var(--radius-full);
	font-size: .78rem;
	font-weight: 600;
}
.reseller-v2__visual {
	position: relative;
	background: rgba(255,255,255,.04);
	overflow: hidden;
}
.reseller-v2__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.reseller-v2__visual-placeholder {
	width: 100%; height: 100%;
	background:
		radial-gradient(circle at 30% 30%, rgba(255,255,255,.15), transparent 50%),
		linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-dark) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,.4);
	flex-direction: column;
	gap: 8px;
}
.reseller-v2__visual-placeholder svg { width: 80px; height: 80px; opacity: .5; }

/* ====================================================================
   48. Single-card review (hand-curated style)
==================================================================== */
.review-single {
	max-width: 720px;
	margin: 0 auto;
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: clamp(28px, 4vw, 40px);
	text-align: center;
	box-shadow: 0 8px 32px rgba(15,23,41,.06);
	position: relative;
}
.section--dark .review-single { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
.review-single__verified {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(16, 185, 129, .12);
	color: var(--clr-success);
	font-size: .78rem;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: var(--radius-full);
	margin-bottom: 1rem;
}
.review-single__avatar {
	width: 64px; height: 64px;
	border-radius: 50%;
	background: var(--gradient-primary);
	color: #FFFFFF;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
}
.review-single__name { font-family: var(--font-heading); font-weight: 800; font-size: 1.05rem; margin-bottom: .25rem; }
.review-single__date { font-size: .78rem; color: var(--clr-text-muted); margin-bottom: 1rem; }
.review-single__rating { display: inline-flex; gap: 2px; margin-bottom: 1rem; color: var(--clr-accent-2); }
.review-single__rating .icon { width: 18px; height: 18px; }
.review-single__quote { font-size: 1.02rem; line-height: 1.65; color: var(--clr-text); margin: 0 0 1.25rem; }
.review-single__nav { display: inline-flex; gap: 8px; }
.review-single__dot {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--clr-border);
	border: 0;
	cursor: pointer;
}
.review-single__dot.is-active { background: var(--clr-primary); width: 24px; border-radius: 4px; }

/* ====================================================================
   49. Final upgrade CTA
==================================================================== */
.upgrade-cta {
	text-align: center;
	padding: clamp(56px, 8vw, 96px) 0;
}
.upgrade-cta__title {
	font-size: clamp(1.8rem, 3.5vw, 2.4rem);
	margin: 0 0 1rem;
}
.upgrade-cta__lead { color: var(--clr-text-muted); font-size: 1.02rem; margin: 0 auto 1.75rem; max-width: 540px; }
.upgrade-cta__actions { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* ====================================================================
   50. Cart page (WooCommerce overrides — woocommerce/cart/*)
==================================================================== */

.eiptv-cart { max-width: 1240px; margin: 0 auto; padding: clamp(24px, 4vw, 40px) var(--gutter); }

/* Checkout progress bar */
.eiptv-cart__steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0 0 clamp(32px, 5vw, 56px);
	flex-wrap: wrap;
}
.eiptv-cart__step {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px;
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-full);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .88rem;
	color: var(--clr-text-muted);
	transition: all var(--dur) var(--ease);
}
.eiptv-cart__step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px; height: 24px;
	border-radius: 50%;
	background: var(--clr-surface-2);
	color: var(--clr-text-muted);
	font-size: .8rem;
	font-weight: 800;
}
.eiptv-cart__step.is-active {
	background: var(--gradient-primary);
	color: #FFFFFF;
	border-color: transparent;
	box-shadow: 0 6px 18px rgba(0, 97, 255, .25);
}
.eiptv-cart__step.is-active .eiptv-cart__step-num { background: rgba(255,255,255,.25); color: #FFFFFF; }
.eiptv-cart__step-line {
	flex: 0 0 40px;
	height: 2px;
	background: var(--clr-border);
	border-radius: 2px;
}
@media (max-width: 640px) { .eiptv-cart__step-line { display: none; } }

/* Two-column layout */
.eiptv-cart__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(320px, 1fr);
	gap: 28px;
	align-items: flex-start;
}
@media (max-width: 960px) { .eiptv-cart__layout { grid-template-columns: 1fr; } }

/* Items column */
.eiptv-cart__items-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 16px;
}
.eiptv-cart__items-head h2 { margin: 0; font-size: 1.5rem; }
.eiptv-cart__count {
	color: var(--clr-text-muted);
	font-size: .9rem;
	font-weight: 500;
}

.eiptv-cart__item {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 22px 24px;
	margin-bottom: 14px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
	transition: box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.eiptv-cart__item:hover { box-shadow: 0 8px 24px rgba(15,23,41,.08); border-color: var(--clr-primary-light); }

.eiptv-cart__item-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 14px;
}
.eiptv-cart__plan-pill {
	display: inline-block;
	background: rgba(0, 97, 255, .1);
	color: var(--clr-primary);
	font-family: var(--font-heading);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--radius-full);
	margin-bottom: 8px;
}
.eiptv-cart__item-title { margin: 0 0 6px; font-size: 1.15rem; }
.eiptv-cart__item-title a { color: var(--clr-text); }
.eiptv-cart__item-title a:hover { color: var(--clr-primary); }
.eiptv-cart__item-meta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--clr-text-muted);
	font-size: .88rem;
}
.eiptv-cart__item-meta .icon { width: 16px; height: 16px; }

.eiptv-cart__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	border-radius: 50%;
	color: var(--clr-text-muted);
	background: var(--clr-surface-2);
	border: 1px solid var(--clr-border);
	flex-shrink: 0;
	transition: all var(--dur) var(--ease);
}
.eiptv-cart__remove:hover {
	color: #FFFFFF;
	background: var(--clr-danger);
	border-color: var(--clr-danger);
}

.eiptv-cart__features {
	list-style: none;
	padding: 14px 0 0;
	margin: 14px 0 0;
	border-top: 1px dashed var(--clr-border);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
}
.eiptv-cart__features li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .85rem;
	color: var(--clr-text-muted);
}
.eiptv-cart__features .icon { width: 14px; height: 14px; color: var(--clr-success); }

.eiptv-cart__item-foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--clr-border);
}

.eiptv-cart__qty .quantity { display: inline-flex; align-items: center; }
.eiptv-cart__qty input[type="number"],
.eiptv-cart__qty .qty {
	width: 60px;
	text-align: center;
	padding: 8px 6px;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-sm);
	background: #FFFFFF;
	font-family: var(--font-heading);
	font-weight: 700;
	color: var(--clr-text);
	font-size: 1rem;
}
.eiptv-cart__qty-single {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px; height: 38px;
	background: var(--clr-surface-2);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-sm);
	font-family: var(--font-heading);
	font-weight: 700;
}

.eiptv-cart__item-price {
	font-family: var(--font-heading);
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--clr-primary);
	line-height: 1;
	font-feature-settings: "tnum";
}
.eiptv-cart__item-price bdi { font-weight: 800; }

/* Tools row: coupon + update */
.eiptv-cart__tools {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 18px 20px;
	margin-top: 20px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 20px;
	align-items: end;
}
@media (max-width: 540px) { .eiptv-cart__tools { grid-template-columns: 1fr; } }
.eiptv-cart__coupon label {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--clr-text);
	margin-bottom: 6px;
}
.eiptv-cart__coupon-row { display: flex; gap: 8px; }
.eiptv-cart__coupon-row input {
	flex: 1;
	padding: 10px 14px;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-sm);
	background: #FFFFFF;
	color: var(--clr-text);
	font-size: .95rem;
	min-width: 0;
}
.eiptv-cart__coupon-row input:focus {
	outline: none;
	border-color: var(--clr-primary);
	box-shadow: 0 0 0 3px rgba(0, 97, 255, .12);
}

/* ============ Summary sidebar ============ */
.eiptv-cart__aside { position: sticky; top: 96px; }
@media (max-width: 960px) { .eiptv-cart__aside { position: static; } }

.eiptv-cart__summary {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	box-shadow: 0 8px 32px rgba(15,23,41,.06);
	overflow: hidden;
	margin-bottom: 14px;
}
.eiptv-cart__summary-inner { padding: 22px 24px; }
.eiptv-cart__summary-title {
	margin: 0 0 18px;
	font-size: 1.15rem;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--clr-border);
}
.eiptv-cart__summary-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 16px;
}
.eiptv-cart__summary-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: .95rem;
	color: var(--clr-text-muted);
}
.eiptv-cart__summary-row strong {
	color: var(--clr-text);
	font-weight: 700;
	font-family: var(--font-heading);
	font-feature-settings: "tnum";
}
.eiptv-cart__summary-row--discount strong { color: var(--clr-success); }
.eiptv-cart__remove-coupon {
	display: inline-block;
	margin-left: 6px;
	width: 16px; height: 16px;
	line-height: 1;
	text-align: center;
	background: var(--clr-danger);
	color: #FFFFFF;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}
.eiptv-cart__summary-total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-top: 14px;
	border-top: 2px solid var(--clr-border);
	margin-top: 4px;
}
.eiptv-cart__summary-total span {
	font-family: var(--font-heading);
	font-size: .95rem;
	color: var(--clr-text);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.eiptv-cart__summary-total strong {
	font-family: var(--font-heading);
	font-size: 1.75rem;
	color: var(--clr-primary);
	font-weight: 800;
	line-height: 1;
	font-feature-settings: "tnum";
}

/* Proceed-to-checkout button wrapper */
.eiptv-cart__checkout-wrap { margin-top: 18px; }
.wc-proceed-to-checkout a.checkout-button,
.eiptv-cart .wc-proceed-to-checkout .checkout-button {
	display: block;
	text-align: center;
	background: var(--gradient-primary) !important;
	color: #FFFFFF !important;
	padding: 14px 24px !important;
	border-radius: var(--radius-full) !important;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: .02em;
	box-shadow: 0 8px 24px rgba(0, 97, 255, .3);
	border: 0;
	transition: all var(--dur) var(--ease);
	text-decoration: none;
}
.wc-proceed-to-checkout a.checkout-button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 97, 255, .4); }

/* Trust badges under summary */
.eiptv-cart__trust {
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 14px;
}
.eiptv-cart__trust-row {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: .88rem;
}
.eiptv-cart__trust-row .icon {
	width: 26px;
	height: 26px;
	color: var(--clr-primary);
	background: rgba(0, 97, 255, .1);
	border-radius: 50%;
	padding: 5px;
	flex-shrink: 0;
}
.eiptv-cart__trust-row strong { display: block; color: var(--clr-text); font-weight: 700; font-family: var(--font-heading); }
.eiptv-cart__trust-row span { display: block; color: var(--clr-text-muted); font-size: .8rem; }

/* Pay methods row */
.eiptv-cart__pay-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 14px 0;
	justify-content: center;
}
.eiptv-cart__pay-label {
	width: 100%;
	text-align: center;
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--clr-text-muted);
	margin-bottom: 6px;
	font-weight: 600;
}
.eiptv-cart__pay {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	color: var(--clr-text-muted);
	padding: 4px 10px;
	border-radius: 6px;
	font-size: .76rem;
	font-weight: 700;
	font-family: var(--font-heading);
}

/* Help card */
.eiptv-cart__help {
	display: flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(135deg, #10B981 0%, #059669 100%);
	color: #FFFFFF;
	padding: 14px 18px;
	border-radius: var(--radius-lg);
	text-decoration: none;
	transition: transform var(--dur) var(--ease);
}
.eiptv-cart__help:hover { transform: translateY(-2px); color: #FFFFFF; }
.eiptv-cart__help .icon { width: 28px; height: 28px; flex-shrink: 0; }
.eiptv-cart__help strong { font-family: var(--font-heading); font-size: .95rem; }
.eiptv-cart__help span { font-size: .82rem; line-height: 1.4; }

/* What happens next */
.eiptv-cart__next {
	margin-top: clamp(48px, 7vw, 80px);
	padding: clamp(28px, 4vw, 40px);
	background: var(--clr-bg-alt);
	border-radius: var(--radius-lg);
	border: 1px solid var(--clr-border);
}
.eiptv-cart__next h3 {
	margin: 0 0 24px;
	font-size: 1.35rem;
	text-align: center;
}
.eiptv-cart__next-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 800px) { .eiptv-cart__next-steps { grid-template-columns: 1fr; } }
.eiptv-cart__next-step { text-align: center; padding: 12px; }
.eiptv-cart__next-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: var(--gradient-primary);
	color: #FFFFFF;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.2rem;
	margin-bottom: 12px;
	box-shadow: 0 6px 14px rgba(0, 97, 255, .25);
}
.eiptv-cart__next-step h4 { margin: 0 0 6px; font-size: 1.02rem; }
.eiptv-cart__next-step p { margin: 0; color: var(--clr-text-muted); font-size: .9rem; }

/* ============ Empty cart ============ */
.eiptv-cart-empty {
	text-align: center;
	padding: clamp(56px, 10vw, 100px) 0;
	max-width: 820px;
	margin: 0 auto;
}
.eiptv-cart-empty__illustration { margin: 0 auto 1.5rem; display: inline-block; animation: cartFloat 3s ease-in-out infinite; }
@keyframes cartFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.eiptv-cart-empty__title { font-size: clamp(1.8rem, 4vw, 2.6rem); margin: 0 0 1rem; }
.eiptv-cart-empty__lead {
	color: var(--clr-text-muted);
	font-size: 1.05rem;
	max-width: 520px;
	margin: 0 auto 2rem;
	line-height: 1.7;
}
.eiptv-cart-empty__actions { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-bottom: 2.5rem; }

.eiptv-cart-empty__suggest { margin-top: 3rem; }
.eiptv-cart-empty__suggest h3 { font-size: 1.15rem; text-transform: uppercase; letter-spacing: .12em; color: var(--clr-text-muted); margin-bottom: 1rem; font-weight: 600; }
.eiptv-cart-empty__suggest-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}
.eiptv-cart-empty__suggest-card {
	position: relative;
	display: block;
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 20px;
	text-decoration: none;
	color: var(--clr-text);
	transition: all var(--dur) var(--ease);
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
.eiptv-cart-empty__suggest-card:hover { transform: translateY(-4px); border-color: var(--clr-primary); box-shadow: 0 12px 28px rgba(15,23,41,.10); color: var(--clr-text); }
.eiptv-cart-empty__suggest-badge {
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--gradient-primary);
	color: #FFFFFF;
	font-family: var(--font-heading);
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--radius-full);
}
.eiptv-cart-empty__suggest-name { font-family: var(--font-heading); font-weight: 700; margin-bottom: 8px; }
.eiptv-cart-empty__suggest-price { font-family: var(--font-heading); font-size: 1.6rem; font-weight: 800; color: var(--clr-primary); }
.eiptv-cart-empty__suggest-price span { font-size: .8rem; color: var(--clr-text-muted); font-weight: 600; margin-left: 4px; }

/* Hide default WC cart wrapper containers the theme already wraps */
.woocommerce-cart .wc-main .woocommerce,
.woocommerce-cart main.wc-main > .woocommerce { background: transparent; }

/* ====================================================================
   51. Checkout page (WooCommerce override — woocommerce/checkout/*)
==================================================================== */

/* Checkout form spans the container, doesn't self-constrain (container--wide handles width) */
body form.checkout.eiptv-checkout,
body .eiptv-checkout { width: 100%; max-width: 100%; margin: 0; padding: clamp(16px, 3vw, 28px) 0; display: block; }
body .eiptv-checkout__layout { display: grid !important; grid-template-columns: minmax(0, 1.6fr) minmax(340px, 1fr); gap: 28px; align-items: flex-start; width: 100%; }
body .eiptv-checkout__main { min-width: 0; }
body .eiptv-checkout__aside { min-width: 0; }
body .eiptv-checkout__steps { display: flex !important; align-items: center; justify-content: center; gap: 12px; margin: 0 0 clamp(32px, 5vw, 56px); flex-wrap: wrap; }
@media (max-width: 960px) { body .eiptv-checkout__layout { grid-template-columns: 1fr !important; } }

/* Cart page same treatment — avoid double-constraining when inside container--wide */
body .eiptv-cart { max-width: 100%; padding: clamp(16px, 3vw, 28px) 0; }

/* Strip WC shortcode wrapper chrome so our layout has room */
.wc-shortcode-wrap > .woocommerce { margin: 0; padding: 0; background: transparent; }

/* Progress bar (reused from cart) */
.eiptv-checkout__steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0 0 clamp(32px, 5vw, 56px);
	flex-wrap: wrap;
}
.eiptv-checkout__step {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px;
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-full);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .88rem;
	color: var(--clr-text-muted);
	transition: all var(--dur) var(--ease);
	text-decoration: none;
}
.eiptv-checkout__step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px; height: 24px;
	border-radius: 50%;
	background: var(--clr-surface-2);
	color: var(--clr-text-muted);
	font-size: .8rem;
	font-weight: 800;
}
.eiptv-checkout__step.is-active {
	background: var(--gradient-primary);
	color: #FFFFFF;
	border-color: transparent;
	box-shadow: 0 6px 18px rgba(0, 97, 255, .25);
}
.eiptv-checkout__step.is-active .eiptv-checkout__step-num { background: rgba(255,255,255,.25); color: #FFFFFF; }
.eiptv-checkout__step.is-done { color: var(--clr-success); border-color: rgba(16, 185, 129, .3); background: rgba(16, 185, 129, .06); }
.eiptv-checkout__step.is-done .eiptv-checkout__step-num { background: var(--clr-success); color: #FFFFFF; font-size: 1rem; }
.eiptv-checkout__step.is-done:hover { background: rgba(16, 185, 129, .12); color: var(--clr-success); }
.eiptv-checkout__step-line {
	flex: 0 0 40px;
	height: 2px;
	background: var(--clr-border);
	border-radius: 2px;
}
.eiptv-checkout__step-line.is-done { background: var(--clr-success); }
@media (max-width: 640px) { .eiptv-checkout__step-line { display: none; } }

/* Two-column layout */
.eiptv-checkout__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(340px, 1fr);
	gap: 28px;
	align-items: flex-start;
}
@media (max-width: 960px) { .eiptv-checkout__layout { grid-template-columns: 1fr; } }

/* ============ LEFT: customer details ============ */
.eiptv-checkout__customer {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.eiptv-checkout__main .woocommerce-billing-fields,
.eiptv-checkout__main .woocommerce-shipping-fields,
.eiptv-checkout__main .woocommerce-additional-fields {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 22px 24px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
.eiptv-checkout__main h3 {
	font-size: 1.2rem;
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--clr-border);
	display: flex;
	align-items: center;
	gap: 8px;
}
.eiptv-checkout__main h3::before {
	content: '';
	display: inline-block;
	width: 8px; height: 20px;
	background: var(--gradient-primary);
	border-radius: 2px;
}

/* Styled form fields (WC default markup) */
.woocommerce form .form-row {
	margin: 0 0 14px;
	padding: 0;
	display: block;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: calc(50% - 8px);
	display: inline-block;
	vertical-align: top;
}
.woocommerce form .form-row-first { margin-right: 12px; }
@media (max-width: 640px) {
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last { width: 100%; margin-right: 0; }
}
.woocommerce form .form-row label {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--clr-text);
	margin-bottom: 6px;
	text-transform: none;
	letter-spacing: 0;
}
.woocommerce form .form-row .required { color: var(--clr-danger); text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .select2-selection {
	width: 100%;
	padding: 11px 14px !important;
	border: 1px solid var(--clr-border) !important;
	border-radius: var(--radius) !important;
	background: #FFFFFF !important;
	color: var(--clr-text) !important;
	font-size: .95rem !important;
	font-family: var(--font-body) !important;
	height: auto !important;
	line-height: 1.4 !important;
	transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.woocommerce form .form-row textarea { min-height: 100px; resize: vertical; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .select2-container--focus .select2-selection,
.woocommerce form .select2-container--open .select2-selection {
	outline: none;
	border-color: var(--clr-primary) !important;
	box-shadow: 0 0 0 3px rgba(0, 97, 255, .12) !important;
}
.woocommerce form .select2-selection { height: 44px !important; display: flex !important; align-items: center; }
.woocommerce form .select2-selection__rendered { line-height: 1.4 !important; padding-left: 0 !important; color: var(--clr-text) !important; }
.woocommerce form .select2-selection__arrow { height: 42px !important; }

/* Checkbox row (create account, ship to different address, etc.) */
.woocommerce form .form-row.woocommerce-form__label-checkbox,
.woocommerce form #ship-to-different-address {
	font-weight: 600;
	color: var(--clr-text);
	cursor: pointer;
	font-size: .95rem;
}
.woocommerce form input[type="checkbox"] {
	margin-right: 6px;
	accent-color: var(--clr-primary);
	transform: translateY(2px);
}

/* Order comments heading */
.eiptv-checkout__main #order_comments_field label { display: block; font-size: 1rem; }

/* Login prompt (if showing) */
.woocommerce-form-login,
.woocommerce-form-coupon {
	background: var(--clr-bg-alt);
	border: 1px dashed var(--clr-border-light);
	border-radius: var(--radius-lg);
	padding: 18px 20px;
	margin-bottom: 20px;
}
.woocommerce-form-login-toggle,
.woocommerce-form-coupon-toggle { margin-bottom: 16px; }
.woocommerce-info {
	background: rgba(0, 97, 255, .06) !important;
	border-left: 3px solid var(--clr-primary) !important;
	color: var(--clr-text) !important;
	padding: 14px 16px !important;
	border-radius: 0 var(--radius) var(--radius) 0 !important;
}
.woocommerce-info::before { color: var(--clr-primary) !important; }
.woocommerce-error,
.woocommerce-NoticeGroup {
	background: rgba(239, 68, 68, .06) !important;
	border-left: 3px solid var(--clr-danger) !important;
	color: var(--clr-text) !important;
	border-radius: 0 var(--radius) var(--radius) 0 !important;
}

/* ============ RIGHT: sticky summary ============ */
.eiptv-checkout__aside { position: sticky; top: 96px; }
@media (max-width: 960px) { .eiptv-checkout__aside { position: static; } }

.eiptv-checkout__summary {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 22px 24px;
	box-shadow: 0 8px 32px rgba(15,23,41,.06);
	margin-bottom: 14px;
}
.eiptv-checkout__summary-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.15rem;
	margin: 0 0 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--clr-border);
}
.eiptv-checkout__summary-title .icon {
	width: 20px; height: 20px;
	color: var(--clr-primary);
}
.eiptv-checkout__summary-title::before { content: none !important; }

/* Style the WC review-order table output */
.woocommerce-checkout-review-order-table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
}
.woocommerce-checkout-review-order-table thead { display: none !important; }
.woocommerce-checkout-review-order-table tbody tr {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 12px 0;
	border-bottom: 1px dashed var(--clr-border) !important;
	background: transparent !important;
}
.woocommerce-checkout-review-order-table tbody tr td {
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}
.woocommerce-checkout-review-order-table td.product-name {
	color: var(--clr-text) !important;
	font-weight: 600;
	font-family: var(--font-heading);
	font-size: .95rem;
	line-height: 1.4;
	flex: 1;
	padding-right: 12px !important;
}
.woocommerce-checkout-review-order-table td.product-name .product-quantity {
	color: var(--clr-text-muted);
	font-weight: 500;
	font-size: .85rem;
	margin-left: 6px;
}
.woocommerce-checkout-review-order-table td.product-total {
	color: var(--clr-primary) !important;
	font-weight: 700;
	font-family: var(--font-heading);
	white-space: nowrap;
	font-feature-settings: "tnum";
}
.woocommerce-checkout-review-order-table tfoot tr {
	display: flex;
	justify-content: space-between;
	padding: 8px 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.woocommerce-checkout-review-order-table tfoot tr th {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	color: var(--clr-text-muted);
	font-size: .9rem;
	font-weight: 500;
	text-align: left;
}
.woocommerce-checkout-review-order-table tfoot tr td {
	color: var(--clr-text);
	font-weight: 700;
	font-family: var(--font-heading);
	text-align: right;
	font-feature-settings: "tnum";
}
.woocommerce-checkout-review-order-table tfoot tr.order-total {
	padding-top: 16px !important;
	margin-top: 4px;
	border-top: 2px solid var(--clr-border) !important;
}
.woocommerce-checkout-review-order-table tfoot tr.order-total th {
	font-family: var(--font-heading);
	color: var(--clr-text);
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 700;
}
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	color: var(--clr-primary) !important;
	font-size: 1.5rem !important;
	font-weight: 800;
	line-height: 1;
}
.woocommerce-checkout-review-order-table tfoot tr.order-total td .amount { font-size: inherit !important; }

/* Payment methods list */
.woocommerce-checkout #payment {
	background: transparent !important;
	border-radius: 0 !important;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--clr-border);
}
.woocommerce-checkout #payment ul.payment_methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px !important;
	border: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 14px 16px !important;
	transition: all var(--dur) var(--ease);
}
.woocommerce-checkout #payment ul.payment_methods li:hover { border-color: var(--clr-primary-light); }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	accent-color: var(--clr-primary);
	margin-right: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li label {
	font-family: var(--font-heading) !important;
	font-weight: 600 !important;
	color: var(--clr-text) !important;
	font-size: .95rem !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li label img {
	max-height: 24px;
	width: auto;
	display: inline-block;
}
.woocommerce-checkout #payment .payment_box {
	background: #FFFFFF !important;
	border-radius: var(--radius) !important;
	margin-top: 12px !important;
	padding: 14px 16px !important;
	color: var(--clr-text-muted) !important;
	font-size: .88rem;
	border: 1px solid var(--clr-border);
}
.woocommerce-checkout #payment .payment_box::before { display: none !important; }
.woocommerce-checkout #payment .payment_box p { margin: 0 0 .5em; }
.woocommerce-checkout #payment .payment_box p:last-child { margin-bottom: 0; }

/* Terms checkbox */
.woocommerce-checkout #payment .wc-terms-and-conditions,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-top: 14px; }
.woocommerce-terms-and-conditions-checkbox-text {
	color: var(--clr-text);
	font-size: .9rem;
	font-weight: 500;
}

/* Place-order button (the big CTA) */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order {
	display: block !important;
	width: 100% !important;
	background: var(--gradient-primary) !important;
	color: #FFFFFF !important;
	padding: 16px 24px !important;
	border-radius: var(--radius-full) !important;
	font-family: var(--font-heading) !important;
	font-weight: 700 !important;
	font-size: 1.02rem !important;
	letter-spacing: .02em !important;
	box-shadow: 0 10px 28px rgba(0, 97, 255, .32) !important;
	border: 0 !important;
	transition: all var(--dur) var(--ease) !important;
	margin-top: 16px !important;
	text-shadow: none !important;
	text-transform: none !important;
}
.woocommerce-checkout #payment #place_order:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(0, 97, 255, .42) !important;
}

/* Trust + help cards under summary */
.eiptv-checkout__trust {
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 14px;
}
.eiptv-checkout__trust-row {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: .88rem;
}
.eiptv-checkout__trust-row .icon {
	width: 26px; height: 26px;
	color: var(--clr-primary);
	background: rgba(0, 97, 255, .1);
	border-radius: 50%;
	padding: 5px;
	flex-shrink: 0;
}
.eiptv-checkout__trust-row strong { display: block; color: var(--clr-text); font-weight: 700; font-family: var(--font-heading); }
.eiptv-checkout__trust-row span { display: block; color: var(--clr-text-muted); font-size: .8rem; }

.eiptv-checkout__help {
	display: flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(135deg, #10B981 0%, #059669 100%);
	color: #FFFFFF;
	padding: 14px 18px;
	border-radius: var(--radius-lg);
	text-decoration: none;
	transition: transform var(--dur) var(--ease);
}
.eiptv-checkout__help:hover { transform: translateY(-2px); color: #FFFFFF; }
.eiptv-checkout__help .icon { width: 28px; height: 28px; flex-shrink: 0; }
.eiptv-checkout__help strong { font-family: var(--font-heading); font-size: .95rem; }
.eiptv-checkout__help span { font-size: .82rem; line-height: 1.4; }

/* ====================================================================
   52. Thank-you page (order-received)
==================================================================== */

.eiptv-thankyou {
	max-width: 980px;
	margin: 0 auto;
	padding: clamp(32px, 5vw, 56px) var(--gutter);
}

.eiptv-thankyou__hero {
	text-align: center;
	padding: clamp(40px, 6vw, 72px) 20px;
	background: linear-gradient(180deg, #FFFFFF 0%, #F0F7FF 100%);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-xl);
	margin-bottom: 28px;
	position: relative;
	overflow: hidden;
}
.eiptv-thankyou__hero::before {
	content: '';
	position: absolute;
	inset: -50%;
	background: radial-gradient(circle at 50% 0%, rgba(16, 185, 129, .1) 0%, transparent 50%);
	pointer-events: none;
}
.eiptv-thankyou__icon {
	display: inline-flex;
	margin-bottom: 20px;
	filter: drop-shadow(0 8px 24px rgba(16, 185, 129, .4));
	animation: confetti-pop .6s cubic-bezier(.34,1.56,.64,1) .1s backwards;
}
.eiptv-thankyou__icon--failed { filter: drop-shadow(0 8px 24px rgba(239, 68, 68, .4)); color: var(--clr-danger); }
@keyframes confetti-pop {
	from { transform: scale(0) rotate(-180deg); opacity: 0; }
	to   { transform: scale(1) rotate(0); opacity: 1; }
}
.eiptv-thankyou__title {
	font-size: clamp(1.8rem, 4vw, 2.4rem);
	margin: 0 0 12px;
	position: relative;
}
.eiptv-thankyou__lead {
	color: var(--clr-text-muted);
	font-size: 1.02rem;
	line-height: 1.7;
	max-width: 640px;
	margin: 0 auto;
	position: relative;
}
.eiptv-thankyou__lead strong { color: var(--clr-text); font-weight: 700; }

/* Quick facts strip */
.eiptv-thankyou__facts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 32px;
}
@media (max-width: 800px) { .eiptv-thankyou__facts { grid-template-columns: repeat(2, 1fr); } }
.eiptv-thankyou__fact {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 16px 18px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
.eiptv-thankyou__fact-label {
	display: block;
	font-size: .72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--clr-text-muted);
	margin-bottom: 6px;
}
.eiptv-thankyou__fact-value {
	display: block;
	font-family: var(--font-heading);
	font-weight: 800;
	color: var(--clr-text);
	font-size: 1.05rem;
	line-height: 1.3;
	font-feature-settings: "tnum";
}
.eiptv-thankyou__fact-value--accent { color: var(--clr-primary); }

/* What happens next */
.eiptv-thankyou__next { margin: 32px 0; }
.eiptv-thankyou__next h2 { font-size: 1.5rem; margin: 0 0 20px; text-align: center; }
.eiptv-thankyou__next-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 24px;
}
@media (max-width: 800px) { .eiptv-thankyou__next-grid { grid-template-columns: 1fr; } }
.eiptv-thankyou__next-step {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 22px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
	transition: transform var(--dur) var(--ease);
}
.eiptv-thankyou__next-step:hover { transform: translateY(-4px); }
.eiptv-thankyou__next-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--gradient-primary);
	color: #FFFFFF;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1rem;
	margin-bottom: 12px;
	box-shadow: 0 4px 12px rgba(0, 97, 255, .25);
}
.eiptv-thankyou__next-step h3 { margin: 0 0 6px; font-size: 1.05rem; }
.eiptv-thankyou__next-step p { margin: 0; color: var(--clr-text-muted); font-size: .9rem; line-height: 1.5; }
.eiptv-thankyou__next-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* Order details */
.eiptv-thankyou__details { margin: 32px 0; }
.eiptv-thankyou__details h2 { font-size: 1.3rem; margin: 0 0 16px; }
.eiptv-thankyou__details-card {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 24px 28px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
.eiptv-thankyou__items { list-style: none; padding: 0; margin: 0 0 20px; }
.eiptv-thankyou__item {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 14px 0;
	border-bottom: 1px dashed var(--clr-border);
	gap: 16px;
}
.eiptv-thankyou__item:last-child { border-bottom: 0; }
.eiptv-thankyou__item h4 { margin: 0 0 4px; font-size: 1rem; color: var(--clr-text); }
.eiptv-thankyou__item-meta { color: var(--clr-text-muted); font-size: .85rem; }
.eiptv-thankyou__item-total { font-family: var(--font-heading); font-weight: 700; color: var(--clr-primary); font-feature-settings: "tnum"; }

.eiptv-thankyou__totals { border-top: 2px solid var(--clr-border); padding-top: 16px; }
.eiptv-thankyou__totals-row {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	font-size: .95rem;
	color: var(--clr-text-muted);
}
.eiptv-thankyou__totals-row strong { color: var(--clr-text); font-weight: 600; font-family: var(--font-heading); }
.eiptv-thankyou__totals-row.is-grand {
	padding-top: 14px;
	margin-top: 4px;
	border-top: 1px solid var(--clr-border);
	font-size: 1rem;
}
.eiptv-thankyou__totals-row.is-grand span { color: var(--clr-text); font-weight: 700; }
.eiptv-thankyou__totals-row.is-grand strong { color: var(--clr-primary); font-size: 1.4rem; font-weight: 800; }

.eiptv-thankyou__note {
	background: var(--clr-bg-alt);
	padding: 12px 16px;
	border-radius: var(--radius);
	font-size: .9rem;
	color: var(--clr-text-muted);
	margin-top: 16px;
}

/* Foot: address + support */
.eiptv-thankyou__foot {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 24px;
}
@media (max-width: 720px) { .eiptv-thankyou__foot { grid-template-columns: 1fr; } }
.eiptv-thankyou__address,
.eiptv-thankyou__support {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 20px 22px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
.eiptv-thankyou__address h3,
.eiptv-thankyou__support h3 { font-size: 1rem; margin: 0 0 10px; }
.eiptv-thankyou__address address { font-style: normal; color: var(--clr-text); line-height: 1.65; margin: 0; font-size: .92rem; }
.eiptv-thankyou__email-line { margin: 8px 0 0; color: var(--clr-text-muted); font-size: .88rem; }
.eiptv-thankyou__support p { margin: 0 0 14px; color: var(--clr-text-muted); font-size: .9rem; }
.eiptv-thankyou__support-links { display: flex; gap: 8px; flex-wrap: wrap; }

.eiptv-thankyou__actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 20px; }

/* Hide WC default order details & customer details (we render our own above) */
.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-order-overview,
.woocommerce-thankyou-order-details,
.woocommerce-thankyou-order-received { display: none !important; }

/* ====================================================================
   53. Single product page (WooCommerce override — woocommerce/content-single-product.php)
==================================================================== */

.eiptv-product { max-width: 1240px; margin: 0 auto; padding: clamp(16px, 3vw, 28px) 0; }

/* Breadcrumb — clean inline chips with chevron separator */
.eiptv-product__bc { margin: 0 0 24px; }
.eiptv-product__bc-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: .82rem;
	font-weight: 500;
}
.eiptv-product__bc-item {
	display: inline-flex;
	align-items: center;
	color: var(--clr-text-muted);
	max-width: 320px;
}
.eiptv-product__bc-item a {
	color: var(--clr-text-muted);
	text-decoration: none;
	transition: color .2s ease;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.eiptv-product__bc-item a:hover { color: var(--clr-primary); }
.eiptv-product__bc-item.is-current span {
	color: var(--clr-text);
	font-weight: 700;
	font-family: var(--font-heading);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: inline-block;
	max-width: 280px;
}
.eiptv-product__bc-sep {
	color: var(--clr-border-light);
	margin: 0 8px;
	flex-shrink: 0;
}
@media (max-width: 540px) {
	.eiptv-product__bc-list { font-size: .76rem; padding: 5px 12px; }
	.eiptv-product__bc-item { max-width: 160px; }
	.eiptv-product__bc-item.is-current span { max-width: 140px; }
	.eiptv-product__bc-sep { margin: 0 6px; }
}

/* 2-column hero */
.eiptv-product__layout {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 36px;
	align-items: flex-start;
	margin-bottom: clamp(40px, 6vw, 64px);
}
@media (max-width: 960px) { .eiptv-product__layout { grid-template-columns: 1fr; gap: 24px; } }

/* ============ LEFT COLUMN: media ============ */
.eiptv-product__media {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 16px;
	box-shadow: 0 8px 32px rgba(15,23,41,.06);
	position: relative;
	overflow: hidden;
	margin-bottom: 16px;
}
.eiptv-product__img,
.eiptv-product__media img.wp-post-image {
	width: 100%;
	height: auto;
	border-radius: var(--radius);
	display: block;
}
.eiptv-product__media-placeholder {
	aspect-ratio: 1;
	border-radius: var(--radius);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,.95);
	gap: 14px;
	position: relative;
	overflow: hidden;
}
.eiptv-product__media-placeholder::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.18) 0%, transparent 60%);
	pointer-events: none;
}
.eiptv-product__media-placeholder svg {
	width: 90px; height: 90px;
	opacity: .85;
	filter: drop-shadow(0 4px 12px rgba(0,0,0,.3));
}
.eiptv-product__placeholder-duration {
	font-family: var(--font-heading);
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	z-index: 1;
}
.eiptv-product__placeholder-devices {
	font-size: .92rem;
	opacity: .8;
	z-index: 1;
}

/* Sale flash badge */
.eiptv-product__sale-flash {
	position: absolute;
	top: 18px; left: 18px;
	z-index: 3;
	background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%);
	color: #FFFFFF;
	font-family: var(--font-heading);
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	padding: 8px 14px;
	border-radius: var(--radius-full);
	box-shadow: 0 6px 16px rgba(239, 68, 68, .35);
}

/* Trust card under media */
.eiptv-product__trust-card {
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.eiptv-product__trust-row {
	display: flex;
	gap: 12px;
	align-items: center;
	font-size: .88rem;
}
.eiptv-product__trust-row .icon {
	width: 30px; height: 30px;
	color: var(--clr-primary);
	background: rgba(0, 97, 255, .1);
	border-radius: 50%;
	padding: 6px;
	flex-shrink: 0;
}
.eiptv-product__trust-row strong { display: block; color: var(--clr-text); font-weight: 700; font-family: var(--font-heading); font-size: .92rem; }
.eiptv-product__trust-row span { display: block; color: var(--clr-text-muted); font-size: .8rem; line-height: 1.4; }

/* ============ RIGHT COLUMN: details ============ */
.eiptv-product__details { padding-top: 4px; }

.eiptv-product__badge {
	display: inline-block;
	color: #FFFFFF;
	font-family: var(--font-heading);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 7px 16px;
	border-radius: var(--radius-full);
	margin-bottom: 14px;
	box-shadow: 0 4px 12px rgba(15,23,41,.18);
}
.eiptv-product__badge--primary { background: linear-gradient(135deg, #0061FF 0%, #3B82F6 100%); }
.eiptv-product__badge--success { background: linear-gradient(135deg, #10B981 0%, #059669 100%); }
.eiptv-product__badge--accent  { background: linear-gradient(135deg, #FBBF24 0%, #F59E0B 100%); color: #1A1A1A; }
.eiptv-product__badge--danger  { background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%); }

.eiptv-product__title {
	font-size: clamp(1.7rem, 3.5vw, 2.5rem);
	margin: 0 0 12px;
	line-height: 1.15;
}

.eiptv-product__plan-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-bottom: 20px;
	color: var(--clr-text-muted);
	font-size: .92rem;
}
.eiptv-product__plan-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.eiptv-product__plan-meta .icon {
	width: 18px; height: 18px;
	color: var(--clr-primary);
}

/* Price block — restyle WC's default .price output */
.eiptv-product__price-block {
	background: linear-gradient(135deg, #F0F7FF 0%, #FFFFFF 100%);
	border: 1px solid rgba(0, 97, 255, .15);
	border-radius: var(--radius-lg);
	padding: 18px 22px;
	margin-bottom: 20px;
}
.eiptv-product__price-block .price {
	font-family: var(--font-heading) !important;
	font-size: 2.2rem !important;
	font-weight: 800 !important;
	color: var(--clr-primary) !important;
	line-height: 1 !important;
	font-feature-settings: "tnum";
	margin: 0 !important;
	display: inline-flex !important;
	align-items: baseline;
	gap: 12px;
}
.eiptv-product__price-block .price del {
	font-size: 1rem !important;
	color: var(--clr-text-muted) !important;
	font-weight: 600 !important;
	text-decoration: line-through;
	opacity: 1;
}
.eiptv-product__price-block .price ins {
	background: transparent !important;
	color: var(--clr-primary) !important;
	text-decoration: none !important;
}
.eiptv-product__price-block .woocommerce-Price-currencySymbol {
	font-size: 1.4rem;
	margin-right: 4px;
	color: var(--clr-text-muted);
	font-weight: 600;
}
.eiptv-product__save {
	display: inline-block;
	margin-left: 10px;
	background: rgba(239, 68, 68, .12);
	color: var(--clr-danger);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--radius-full);
	vertical-align: middle;
}

/* Features list */
.eiptv-product__features {
	list-style: none;
	padding: 0;
	margin: 0 0 22px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 16px;
}
@media (max-width: 540px) { .eiptv-product__features { grid-template-columns: 1fr; } }
.eiptv-product__features li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .92rem;
	color: var(--clr-text);
}
.eiptv-product__features li .icon {
	color: var(--clr-success);
	flex-shrink: 0;
	background: rgba(16, 185, 129, .1);
	border-radius: 50%;
	padding: 3px;
	width: 20px; height: 20px;
}

/* Excerpt */
.eiptv-product__excerpt { color: var(--clr-text-muted); margin-bottom: 22px; line-height: 1.7; }
.eiptv-product__excerpt p { margin: 0 0 .75em; }
.eiptv-product__excerpt p:last-child { margin-bottom: 0; }

/* Add to cart row — restyle WC's default form.cart */
.eiptv-product__cart .cart {
	display: flex !important;
	align-items: stretch;
	gap: 10px;
	margin: 0 0 18px !important;
}
.eiptv-product__cart .cart .quantity {
	display: flex;
	align-items: center;
}
.eiptv-product__cart .cart .quantity input.qty {
	width: 70px !important;
	height: 52px !important;
	text-align: center;
	border: 1px solid var(--clr-border) !important;
	border-radius: var(--radius) !important;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--clr-text);
	background: #FFFFFF;
	padding: 0 !important;
}
.eiptv-product__cart .cart .quantity input.qty:focus {
	outline: none;
	border-color: var(--clr-primary) !important;
	box-shadow: 0 0 0 3px rgba(0, 97, 255, .12) !important;
}
.eiptv-product__cart .cart button.single_add_to_cart_button,
.eiptv-product__cart button.single_add_to_cart_button {
	flex: 1;
	background: var(--gradient-primary) !important;
	color: #FFFFFF !important;
	border: 0 !important;
	padding: 0 28px !important;
	height: 52px;
	border-radius: var(--radius-full) !important;
	font-family: var(--font-heading) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	letter-spacing: .02em;
	box-shadow: 0 8px 24px rgba(0, 97, 255, .3);
	cursor: pointer;
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);
	text-transform: none !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px;
	line-height: 1 !important;
	position: relative;
	overflow: hidden;
}
.eiptv-product__cart .cart button.single_add_to_cart_button::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1.5'/><circle cx='19' cy='21' r='1.5'/><path d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/></svg>");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	flex-shrink: 0;
}
.eiptv-product__cart .cart button.single_add_to_cart_button:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(0, 97, 255, .45);
	background: linear-gradient(135deg, #0050d6 0%, #2563eb 100%) !important;
}
.eiptv-product__cart .cart button.single_add_to_cart_button:active {
	transform: translateY(0);
	box-shadow: 0 4px 12px rgba(0, 97, 255, .3);
}
/* Hide WC's "added to cart" link directly under the button */
.eiptv-product__cart .added_to_cart {
	display: inline-flex !important;
	margin-top: 12px;
	padding: 8px 14px;
	background: rgba(16, 185, 129, .1);
	color: #047857 !important;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 700;
	text-decoration: none !important;
}

/* Quick trust row */
.eiptv-product__quick-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 14px 0;
	border-top: 1px dashed var(--clr-border);
	border-bottom: 1px dashed var(--clr-border);
	margin-bottom: 16px;
}
.eiptv-product__quick-trust span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .85rem;
	color: var(--clr-text-muted);
	font-weight: 500;
}
.eiptv-product__quick-trust .icon {
	width: 16px; height: 16px;
	color: var(--clr-primary);
}

/* Pay row */
.eiptv-product__pay-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}
.eiptv-product__pay-label {
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--clr-text-muted);
	margin-right: 8px;
	font-weight: 600;
}
.eiptv-product__pay {
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	color: var(--clr-text-muted);
	padding: 4px 10px;
	border-radius: 6px;
	font-size: .76rem;
	font-weight: 700;
	font-family: var(--font-heading);
}

/* ============ Tabs (description / additional info / reviews) ============ */
.eiptv-product__tabs-wrap {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 24px 28px;
	margin: 32px 0;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
}
.woocommerce-tabs ul.tabs.wc-tabs {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 22px !important;
	border-bottom: 1px solid var(--clr-border);
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}
.woocommerce-tabs ul.tabs.wc-tabs::before,
.woocommerce-tabs ul.tabs.wc-tabs::after { display: none !important; }
.woocommerce-tabs ul.tabs.wc-tabs li {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce-tabs ul.tabs.wc-tabs li::before,
.woocommerce-tabs ul.tabs.wc-tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs.wc-tabs li a {
	display: block;
	padding: 12px 18px;
	color: var(--clr-text-muted);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .95rem;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.woocommerce-tabs ul.tabs.wc-tabs li a:hover { color: var(--clr-text); }
.woocommerce-tabs ul.tabs.wc-tabs li.active a {
	color: var(--clr-primary);
	border-bottom-color: var(--clr-primary);
}
.woocommerce-tabs .panel {
	color: var(--clr-text);
	font-size: 1rem;
	line-height: 1.7;
	padding: 0 !important;
}
.woocommerce-tabs .panel h2 { font-size: 1.2rem; margin: 0 0 .75em; }
.woocommerce-tabs .panel p { margin: 0 0 1em; }
.woocommerce-tabs .panel table.shop_attributes {
	border: 1px solid var(--clr-border) !important;
	border-radius: var(--radius);
	overflow: hidden;
	margin: 0 !important;
}
.woocommerce-tabs .panel table.shop_attributes th,
.woocommerce-tabs .panel table.shop_attributes td {
	border-color: var(--clr-border) !important;
	padding: 12px 16px !important;
	background: transparent !important;
}
.woocommerce-tabs .panel table.shop_attributes th { background: var(--clr-bg-alt) !important; font-weight: 700; }

/* Reviews tab */
.woocommerce-Reviews #comments .comment_container {
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 16px 18px;
}

/* Review form — restyled inputs */
.woocommerce-Reviews #review_form_wrapper { margin-top: 24px; }
.woocommerce-Reviews #review_form {
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 24px 28px;
}
.woocommerce-Reviews #review_form h2,
.woocommerce-Reviews #review_form #reply-title {
	font-size: 1.15rem !important;
	margin: 0 0 8px !important;
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--clr-text);
}
.woocommerce-Reviews #review_form h2::before,
.woocommerce-Reviews #review_form #reply-title::before {
	content: '';
	display: inline-block;
	width: 6px; height: 22px;
	background: var(--gradient-primary);
	border-radius: 2px;
}
.woocommerce-Reviews #review_form .comment-notes {
	color: var(--clr-text-muted);
	font-size: .9rem;
	margin: 0 0 18px;
}

/* Rating stars */
.woocommerce-Reviews .comment-form-rating { margin-bottom: 16px; }
.woocommerce-Reviews .comment-form-rating label {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--clr-text);
	margin-bottom: 8px;
}
.woocommerce-Reviews .comment-form-rating .stars {
	display: inline-flex !important;
	gap: 4px;
	font-size: 0 !important;
	margin: 0 !important;
}
.woocommerce-Reviews .comment-form-rating .stars a {
	width: 32px !important;
	height: 32px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	color: var(--clr-border-light) !important;
	font-size: 0 !important;
	border: 0 !important;
	background: transparent !important;
	transition: color .15s ease;
	text-indent: 0 !important;
}
.woocommerce-Reviews .comment-form-rating .stars a::before {
	content: '★';
	font-size: 28px !important;
	line-height: 1;
}
.woocommerce-Reviews .comment-form-rating .stars:hover a,
.woocommerce-Reviews .comment-form-rating .stars.selected a { color: var(--clr-accent-2, #FBBF24) !important; }
.woocommerce-Reviews .comment-form-rating .stars a:hover ~ a,
.woocommerce-Reviews .comment-form-rating .stars.selected a.active ~ a { color: var(--clr-border-light) !important; }

/* Generic comment-form fields (review name/email/textarea) */
.woocommerce-Reviews .comment-form .comment-form-author,
.woocommerce-Reviews .comment-form .comment-form-email {
	display: inline-block;
	width: calc(50% - 8px);
	vertical-align: top;
	margin-bottom: 14px;
}
.woocommerce-Reviews .comment-form .comment-form-author { margin-right: 12px; }
@media (max-width: 540px) {
	.woocommerce-Reviews .comment-form .comment-form-author,
	.woocommerce-Reviews .comment-form .comment-form-email { display: block; width: 100%; margin-right: 0; }
}
.woocommerce-Reviews .comment-form .comment-form-comment { margin-bottom: 14px; }
.woocommerce-Reviews .comment-form label {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--clr-text);
	margin-bottom: 6px;
}
.woocommerce-Reviews .comment-form label .required { color: var(--clr-danger); }
.woocommerce-Reviews .comment-form input[type="text"],
.woocommerce-Reviews .comment-form input[type="email"],
.woocommerce-Reviews .comment-form input[type="url"],
.woocommerce-Reviews .comment-form textarea {
	width: 100% !important;
	padding: 11px 14px !important;
	border: 1px solid var(--clr-border) !important;
	border-radius: var(--radius) !important;
	background: #FFFFFF !important;
	color: var(--clr-text) !important;
	font-family: var(--font-body) !important;
	font-size: .95rem !important;
	line-height: 1.5 !important;
	transition: border-color .2s ease, box-shadow .2s ease;
	box-shadow: none;
}
.woocommerce-Reviews .comment-form textarea {
	min-height: 130px;
	resize: vertical;
}
.woocommerce-Reviews .comment-form input[type="text"]:focus,
.woocommerce-Reviews .comment-form input[type="email"]:focus,
.woocommerce-Reviews .comment-form input[type="url"]:focus,
.woocommerce-Reviews .comment-form textarea:focus {
	outline: none;
	border-color: var(--clr-primary) !important;
	box-shadow: 0 0 0 3px rgba(0, 97, 255, .12) !important;
}

/* Save info checkbox */
.woocommerce-Reviews .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 14px 0 16px;
	font-size: .88rem;
	color: var(--clr-text);
}
.woocommerce-Reviews .comment-form-cookies-consent input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 3px 0 0;
	accent-color: var(--clr-primary);
	flex-shrink: 0;
	cursor: pointer;
}
.woocommerce-Reviews .comment-form-cookies-consent label {
	display: inline;
	font-size: .88rem;
	font-weight: 500;
	color: var(--clr-text-muted);
	margin: 0;
	cursor: pointer;
}

/* Submit button */
.woocommerce-Reviews .comment-form .form-submit { margin: 8px 0 0; }
.woocommerce-Reviews .comment-form .form-submit input[type="submit"],
.woocommerce-Reviews .comment-form .submit {
	background: var(--gradient-primary) !important;
	color: #FFFFFF !important;
	border: 0 !important;
	padding: 13px 28px !important;
	border-radius: 999px !important;
	font-family: var(--font-heading) !important;
	font-weight: 700 !important;
	font-size: .95rem !important;
	letter-spacing: .02em !important;
	cursor: pointer !important;
	box-shadow: 0 8px 20px rgba(0, 97, 255, .28) !important;
	transition: transform .2s ease, box-shadow .2s ease !important;
	text-transform: none !important;
	text-shadow: none !important;
}
.woocommerce-Reviews .comment-form .form-submit input[type="submit"]:hover,
.woocommerce-Reviews .comment-form .submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(0, 97, 255, .38) !important;
}

/* Existing review listing */
.woocommerce-Reviews .commentlist {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
}
.woocommerce-Reviews .commentlist li.comment {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	padding: 16px 18px;
	margin: 0 0 12px !important;
	box-shadow: 0 4px 12px rgba(15,23,41,.04);
}
.woocommerce-Reviews .commentlist li.comment .comment_container {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	display: flex;
	gap: 14px;
}
.woocommerce-Reviews .commentlist li.comment img.avatar {
	width: 48px !important;
	height: 48px !important;
	border-radius: 50% !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	flex-shrink: 0;
}
.woocommerce-Reviews .commentlist li.comment .comment-text { padding: 0 !important; border: 0 !important; flex: 1; min-width: 0; }
.woocommerce-Reviews .commentlist li.comment .star-rating { float: none; margin: 0 0 6px; font-size: 13px; color: var(--clr-accent-2, #FBBF24); }
.woocommerce-Reviews .commentlist li.comment .meta {
	font-size: .85rem;
	color: var(--clr-text-muted);
	margin-bottom: 6px;
}
.woocommerce-Reviews .commentlist li.comment .meta strong { color: var(--clr-text); font-family: var(--font-heading); }
.woocommerce-Reviews .commentlist li.comment .description { color: var(--clr-text); font-size: .95rem; line-height: 1.6; }
.woocommerce-Reviews .commentlist li.comment .description p:last-child { margin-bottom: 0; }

.woocommerce-noreviews {
	background: var(--clr-bg-alt);
	border: 1px dashed var(--clr-border-light);
	border-radius: var(--radius);
	padding: 16px 18px;
	color: var(--clr-text-muted);
	font-size: .92rem;
	margin: 0 0 18px;
}

/* ============ "What's included" section ============ */
.eiptv-product__why { margin: 48px 0 32px; }
.eiptv-product__why .section__head { text-align: center; margin-bottom: 32px; }
.eiptv-product__why-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
@media (max-width: 800px) { .eiptv-product__why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .eiptv-product__why-grid { grid-template-columns: 1fr; } }
.eiptv-product__why-card {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 22px 24px;
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.eiptv-product__why-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(15,23,41,.10); }
.eiptv-product__why-icon {
	width: 48px; height: 48px;
	background: rgba(0, 97, 255, .1);
	color: var(--clr-primary);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}
.eiptv-product__why-icon .icon { width: 24px; height: 24px; }
.eiptv-product__why-card h4 { font-size: 1rem; margin: 0 0 6px; }
.eiptv-product__why-card p { margin: 0; color: var(--clr-text-muted); font-size: .9rem; line-height: 1.5; }

/* ============ Related & Upsell products (pricing-card-v2 layout) ============ */
.eiptv-related {
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid var(--clr-border);
}
.eiptv-related .section__head { margin-bottom: 28px; }
.eiptv-related .section__head h2 { font-size: clamp(1.4rem, 2.5vw, 1.8rem); margin: 8px 0 0; }

/* Force-override default WC product grid styles inside our related/upsell sections */
.eiptv-related ul.products,
.eiptv-related .products { display: none !important; }

/* The grid we render (.eiptv-related__grid is also .pricing-grid) */
.eiptv-related__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	padding-top: 14px;
}
@media (max-width: 1024px) { .eiptv-related__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .eiptv-related__grid { grid-template-columns: 1fr; } }

/* Hide WC native breadcrumb that comes via theme woocommerce.php — we render our own at top */
body.single-product .wc-main > .woocommerce-breadcrumb,
body.single-product main.wc-main > .woocommerce-breadcrumb { display: none; }

/* Hide WC SKU/categories/tags meta block (we keep page clean) */
body.single-product .product_meta { display: none; }

/* ====================================================================
   54. Shop archive (woocommerce/archive-product.php + content-product.php)
==================================================================== */

.eiptv-shop {
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(16px, 3vw, 28px) 0;
}

/* Intro: optional category description below page header */
.eiptv-shop__intro { max-width: 880px; margin: 0 auto clamp(20px, 3vw, 32px); text-align: center; }
.eiptv-shop__intro-text {
	color: var(--clr-text-muted);
	font-size: 1rem;
	line-height: 1.7;
	margin: 0;
}
.eiptv-shop__intro-text p { margin: 0 0 .75em; }
.eiptv-shop__intro-text p:last-child { margin-bottom: 0; }

/* Toolbar: result count + sort dropdown */
.eiptv-shop__toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
	padding: 14px 18px;
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	box-shadow: 0 4px 16px rgba(15,23,41,.04);
	flex-wrap: wrap;
}
.eiptv-shop__toolbar .woocommerce-result-count {
	margin: 0 !important;
	color: var(--clr-text-muted);
	font-size: .9rem;
	font-weight: 500;
}
.eiptv-shop__toolbar .woocommerce-ordering { margin: 0 !important; }
.eiptv-shop__toolbar .woocommerce-ordering select.orderby {
	background: var(--clr-bg-alt) !important;
	border: 1px solid var(--clr-border) !important;
	border-radius: var(--radius-full) !important;
	padding: 8px 38px 8px 16px !important;
	font-family: var(--font-heading) !important;
	font-weight: 600;
	font-size: .88rem;
	color: var(--clr-text);
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%230061FF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 12px;
}
.eiptv-shop__toolbar .woocommerce-ordering select.orderby:focus {
	outline: none;
	border-color: var(--clr-primary) !important;
	box-shadow: 0 0 0 3px rgba(0, 97, 255, .12) !important;
}
@media (max-width: 540px) {
	.eiptv-shop__toolbar { flex-direction: column; align-items: stretch; gap: 10px; padding: 12px 14px; }
	.eiptv-shop__toolbar .woocommerce-ordering select.orderby { width: 100%; }
}

/* Grid (also has .pricing-grid class for consistency) */
.eiptv-shop__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	padding-top: 14px;
	margin-bottom: 32px;
}
@media (max-width: 1024px) { .eiptv-shop__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .eiptv-shop__grid { grid-template-columns: 1fr; } }

/* Hide any default WC archive markup that might leak in */
.eiptv-shop ul.products,
body.woocommerce-page > .woocommerce-products-header,
body.archive.woocommerce .woocommerce-products-header,
.wc-main > .woocommerce-products-header { display: none !important; }

/* Style the standalone .eiptv-shop__toolbar children when WC injects them */
.eiptv-shop__toolbar::after { content: ''; display: table; clear: both; }

/* Pagination (default WC output) */
.eiptv-shop__pagination { margin-top: 12px; }
.eiptv-shop__pagination .woocommerce-pagination {
	display: flex;
	justify-content: center;
	margin: 0;
	padding-top: 16px;
	border-top: 1px solid var(--clr-border);
}
.eiptv-shop__pagination .woocommerce-pagination ul {
	display: inline-flex !important;
	gap: 6px;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
}
.eiptv-shop__pagination .woocommerce-pagination ul li {
	display: inline-block !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
.eiptv-shop__pagination .woocommerce-pagination ul li a,
.eiptv-shop__pagination .woocommerce-pagination ul li span {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px !important;
	background: #FFFFFF !important;
	border: 1px solid var(--clr-border) !important;
	border-radius: var(--radius-sm) !important;
	color: var(--clr-text) !important;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .9rem;
	transition: all var(--dur) var(--ease);
	text-decoration: none;
}
.eiptv-shop__pagination .woocommerce-pagination ul li a:hover,
.eiptv-shop__pagination .woocommerce-pagination ul li .current {
	background: var(--gradient-primary) !important;
	color: #FFFFFF !important;
	border-color: transparent !important;
}

/* Empty state */
.eiptv-shop__empty {
	text-align: center;
	padding: clamp(48px, 8vw, 80px) 24px;
	background: var(--clr-bg-alt);
	border: 1px dashed var(--clr-border-light);
	border-radius: var(--radius-lg);
	max-width: 640px;
	margin: 24px auto;
}
.eiptv-shop__empty h2 { font-size: clamp(1.4rem, 2.5vw, 1.8rem); margin: 0 0 8px; }
.eiptv-shop__empty p { margin: 0 auto 1.25rem; max-width: 460px; }

/* WC notices/messages on shop pages */
.eiptv-shop .woocommerce-message,
.eiptv-shop .woocommerce-info,
.eiptv-shop .woocommerce-error { margin-bottom: 18px !important; }

/* Hide WC's "added to cart" inline button (use single CTA in card) */
.eiptv-shop__grid .added_to_cart { display: none !important; }

/* ====================================================================
   55. Free Trial section (24h try-before-you-buy)
==================================================================== */

.eiptv-trial { padding: clamp(32px, 4vw, 56px) 0; }

.eiptv-trial__banner {
	position: relative;
	background: linear-gradient(135deg, #0F1729 0%, #1E1B4B 50%, #0061FF 110%);
	border-radius: var(--radius-xl);
	padding: clamp(36px, 5vw, 64px) clamp(28px, 4vw, 56px);
	overflow: hidden;
	color: #FFFFFF;
	box-shadow: 0 24px 60px rgba(15,23,41,.25);
}

/* Decorative orbits */
.eiptv-trial__orb {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}
.eiptv-trial__orb--1 {
	width: 400px; height: 400px;
	background: radial-gradient(circle, rgba(0,212,255,.25), transparent 65%);
	top: -150px; right: -100px;
	animation: trial-orb 12s ease-in-out infinite;
}
.eiptv-trial__orb--2 {
	width: 300px; height: 300px;
	background: radial-gradient(circle, rgba(37,211,102,.18), transparent 65%);
	bottom: -100px; left: -80px;
	animation: trial-orb 10s ease-in-out infinite reverse;
}
@keyframes trial-orb {
	0%, 100% { transform: translate(0, 0); }
	50%      { transform: translate(20px, -20px); }
}

.eiptv-trial__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 48px;
	align-items: center;
}
@media (max-width: 980px) { .eiptv-trial__inner { grid-template-columns: 1fr; gap: 32px; } }

/* LEFT */
.eiptv-trial__pitch { color: #FFFFFF; }
.eiptv-trial__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(37, 211, 102, .15);
	border: 1px solid rgba(37, 211, 102, .35);
	color: #4ade80;
	font-family: var(--font-heading);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: 18px;
}
.eiptv-trial__live-dot {
	width: 8px; height: 8px;
	background: #25D366;
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(37, 211, 102, .7);
	animation: trial-pulse 1.5s infinite;
}
@keyframes trial-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .7); }
	70%  { box-shadow: 0 0 0 8px rgba(37, 211, 102, 0); }
	100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

.eiptv-trial__title {
	color: #FFFFFF;
	font-size: clamp(2rem, 4.2vw, 2.9rem);
	line-height: 1.1;
	margin: 0 0 16px;
}
.eiptv-trial__title-highlight,
.eiptv-trial__title em,
.eiptv-trial__title strong {
	background: linear-gradient(135deg, #FBBF24, #F59E0B);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: 800;
	font-style: normal;
	padding: 0 4px;
}
.eiptv-trial__lead {
	color: rgba(255,255,255,.85);
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 0 0 22px;
	max-width: 520px;
}

.eiptv-trial__bullets {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.eiptv-trial__bullets li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: rgba(255,255,255,.92);
	font-size: .95rem;
}
.eiptv-trial__bullets li .icon {
	color: #4ade80;
	background: rgba(37, 211, 102, .15);
	border-radius: 50%;
	padding: 3px;
	width: 22px; height: 22px;
	flex-shrink: 0;
	margin-top: 1px;
}
.eiptv-trial__bullets strong { color: #FFFFFF; font-weight: 700; }

.eiptv-trial__scarcity {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(251, 191, 36, .14);
	border: 1px solid rgba(251, 191, 36, .35);
	color: #FBBF24;
	padding: 8px 14px;
	border-radius: 999px;
	font-size: .85rem;
	font-weight: 500;
}
.eiptv-trial__scarcity strong { color: #FCD34D; font-weight: 800; font-family: var(--font-heading); font-size: 1rem; }

/* RIGHT — action card */
.eiptv-trial__action { width: 100%; }
.eiptv-trial__card {
	background: #FFFFFF;
	border-radius: var(--radius-lg);
	padding: 26px 28px;
	box-shadow: 0 20px 50px rgba(0,0,0,.3);
}
.eiptv-trial__card-title {
	color: var(--clr-text);
	font-size: 1.15rem;
	margin: 0 0 18px;
	text-align: center;
	font-family: var(--font-heading);
}

/* Buttons */
.eiptv-trial__btn {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 14px 20px;
	border-radius: 14px;
	border: 0;
	cursor: pointer;
	text-decoration: none;
	font-family: var(--font-heading);
	transition: transform .2s ease, box-shadow .2s ease;
	color: #FFFFFF;
}
.eiptv-trial__btn:hover { transform: translateY(-2px); }

.eiptv-trial__btn--wa {
	background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
	box-shadow: 0 10px 24px rgba(37, 211, 102, .4);
	color: #FFFFFF;
}
.eiptv-trial__btn--wa:hover { box-shadow: 0 14px 30px rgba(37, 211, 102, .5); color: #FFFFFF; }
.eiptv-trial__btn--email {
	background: var(--gradient-primary);
	box-shadow: 0 10px 24px rgba(0, 97, 255, .35);
	justify-content: center;
	font-weight: 700;
	font-size: .98rem;
	margin-top: 4px;
}
.eiptv-trial__btn--email:hover { box-shadow: 0 14px 30px rgba(0, 97, 255, .45); }
.eiptv-trial__btn--email[disabled] { opacity: .6; cursor: wait; }

.eiptv-trial__btn-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.2;
	flex: 1;
	text-align: left;
}
.eiptv-trial__btn-text strong {
	font-weight: 700;
	font-size: 1rem;
	margin-bottom: 2px;
}
.eiptv-trial__btn-text small {
	font-size: .76rem;
	opacity: .9;
	font-weight: 500;
}

/* Divider */
.eiptv-trial__divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0;
	color: var(--clr-text-muted);
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-weight: 600;
}
.eiptv-trial__divider::before,
.eiptv-trial__divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--clr-border);
}

/* Email form */
.eiptv-trial__form { display: flex; flex-direction: column; gap: 10px; }
.eiptv-trial__form-row {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 8px;
}
@media (max-width: 540px) { .eiptv-trial__form-row { grid-template-columns: 1fr; } }
.eiptv-trial__form input[type="email"],
.eiptv-trial__form select {
	padding: 12px 14px;
	border: 1px solid var(--clr-border);
	border-radius: 10px;
	background: var(--clr-bg-alt);
	color: var(--clr-text);
	font-size: .92rem;
	font-family: var(--font-body);
	transition: border-color .2s ease, box-shadow .2s ease;
	min-width: 0;
}
.eiptv-trial__form input[type="email"]:focus,
.eiptv-trial__form select:focus {
	outline: none;
	border-color: var(--clr-primary);
	box-shadow: 0 0 0 3px rgba(0, 97, 255, .12);
	background: #FFFFFF;
}
.eiptv-trial__form-msg {
	margin: 6px 0 0;
	font-size: .85rem;
	min-height: 1em;
	text-align: center;
	font-weight: 500;
}
.eiptv-trial__form-msg.is-success { color: #059669; }
.eiptv-trial__form-msg.is-error   { color: var(--clr-danger); }

/* Trust line under form */
.eiptv-trial__guarantee {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--clr-border);
	font-size: .78rem;
	color: var(--clr-text-muted);
	text-align: center;
}
.eiptv-trial__guarantee svg { color: var(--clr-success); flex-shrink: 0; }

/* ====================================================================
   56. Add-to-Cart toast + button states
==================================================================== */

/* Toast */
.eiptv-toast {
	position: fixed;
	top: 24px;
	right: 24px;
	z-index: 9999;
	min-width: 280px;
	max-width: 380px;
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 14px 16px;
	display: flex;
	align-items: center;
	gap: 14px;
	box-shadow: 0 16px 48px rgba(15, 23, 41, .18);
	opacity: 0;
	transform: translateX(120%);
	transition: opacity .35s var(--ease-out), transform .4s var(--ease-out);
	font-family: var(--font-body);
}
.eiptv-toast.is-visible { opacity: 1; transform: translateX(0); }
@media (max-width: 540px) {
	.eiptv-toast { right: 12px; left: 12px; min-width: 0; max-width: none; top: 12px; }
}

.eiptv-toast__icon { flex-shrink: 0; display: flex; }
.eiptv-toast__icon svg { display: block; }
.eiptv-toast__body { flex: 1; min-width: 0; line-height: 1.35; }
.eiptv-toast__body strong {
	display: block;
	color: var(--clr-text);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .95rem;
	margin-bottom: 2px;
}
.eiptv-toast__body span {
	display: block;
	color: var(--clr-text-muted);
	font-size: .82rem;
}
.eiptv-toast__cta {
	flex-shrink: 0;
	background: var(--gradient-primary);
	color: #FFFFFF !important;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .82rem;
	padding: 8px 14px;
	border-radius: 999px;
	text-decoration: none !important;
	white-space: nowrap;
	transition: transform .2s ease, box-shadow .2s ease;
	box-shadow: 0 4px 12px rgba(0, 97, 255, .3);
}
.eiptv-toast__cta:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(0, 97, 255, .4); color: #FFFFFF !important; }

.eiptv-toast__close {
	background: transparent;
	border: 0;
	color: var(--clr-text-muted);
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	padding: 0 4px;
	flex-shrink: 0;
	opacity: .6;
	transition: opacity .2s ease;
}
.eiptv-toast__close:hover { opacity: 1; color: var(--clr-text); }

.eiptv-toast--success { border-left: 4px solid #10B981; }
.eiptv-toast--error   { border-left: 4px solid #EF4444; }

/* Button loading + success states (single product + pricing CTA) */
.eiptv-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255,255,255,.35);
	border-top-color: #FFFFFF;
	border-radius: 50%;
	animation: eiptv-spin .7s linear infinite;
	vertical-align: -3px;
	margin-right: 6px;
}
@keyframes eiptv-spin { to { transform: rotate(360deg); } }

.eiptv-check {
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	margin-right: 4px;
	animation: eiptv-pop .35s cubic-bezier(.34,1.56,.64,1);
}
@keyframes eiptv-pop {
	0%   { transform: scale(0); opacity: 0; }
	100% { transform: scale(1); opacity: 1; }
}

button.single_add_to_cart_button.is-loading,
.pricing-card-v2__cta.is-loading,
.pricing-card-v2__cta.is-success {
	pointer-events: none;
}
button.single_add_to_cart_button.is-success,
.pricing-card-v2__cta.is-success {
	background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important;
	box-shadow: 0 8px 24px rgba(16, 185, 129, .35) !important;
}

/* Optional: shake the cart icon in header when item added */
@keyframes eiptv-cart-bump {
	0%, 100% { transform: scale(1); }
	30%      { transform: scale(1.25) rotate(-8deg); }
	60%      { transform: scale(.95)  rotate(6deg);  }
}
.header-cart .eiptv-bump { animation: eiptv-cart-bump .55s ease; }

/* ====================================================================
   57. Single post — magazine-style layout
==================================================================== */

.eiptv-post { color: var(--clr-text); }

/* HERO */
.eiptv-post__hero {
	position: relative;
	min-height: 420px;
	display: flex;
	align-items: flex-end;
	padding: clamp(60px, 10vw, 120px) 0 clamp(40px, 6vw, 64px);
	color: #FFFFFF;
	overflow: hidden;
}
.eiptv-post__hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.eiptv-post__hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.eiptv-post__hero-bg--placeholder {
	background:
		radial-gradient(circle at 20% 30%, rgba(0, 97, 255, .35), transparent 55%),
		radial-gradient(circle at 80% 70%, rgba(124, 58, 237, .3), transparent 55%),
		linear-gradient(135deg, #0F1729 0%, #1E1B4B 100%);
}
.eiptv-post__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15,23,41,.45) 0%, rgba(15,23,41,.85) 70%, rgba(15,23,41,.95) 100%);
	z-index: 1;
}
.eiptv-post__hero > .container { position: relative; z-index: 2; }

/* Breadcrumb in hero */
.eiptv-post__bc {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: .82rem;
	color: rgba(255,255,255,.7);
	margin-bottom: 18px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.12);
	padding: 6px 14px;
	border-radius: 999px;
	backdrop-filter: blur(8px);
}
.eiptv-post__bc a { color: rgba(255,255,255,.7); text-decoration: none; transition: color .2s ease; }
.eiptv-post__bc a:hover { color: #FFFFFF; }
.eiptv-post__bc svg { color: rgba(255,255,255,.4); flex-shrink: 0; }
.eiptv-post__bc [aria-current="page"] {
	color: #FFFFFF;
	font-weight: 700;
	font-family: var(--font-heading);
	max-width: 280px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Category pill */
.eiptv-post__cat {
	display: inline-block;
	background: var(--gradient-primary);
	color: #FFFFFF;
	font-family: var(--font-heading);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: 16px;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(0, 97, 255, .35);
}
.eiptv-post__cat:hover { color: #FFFFFF; transform: translateY(-1px); }

.eiptv-post__title {
	color: #FFFFFF;
	font-size: clamp(2rem, 5vw, 3.4rem);
	margin: 0 0 20px;
	line-height: 1.15;
	max-width: 800px;
}

.eiptv-post__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	color: rgba(255,255,255,.85);
	font-size: .92rem;
}
.eiptv-post__author { display: inline-flex; align-items: center; gap: 8px; }
.eiptv-post__avatar {
	border-radius: 50%;
	width: 32px;
	height: 32px;
	border: 2px solid rgba(255,255,255,.25);
}
.eiptv-post__author strong { color: #FFFFFF; font-family: var(--font-heading); font-weight: 700; }
.eiptv-post__sep { opacity: .4; }
.eiptv-post__reading {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.eiptv-post__reading svg { opacity: .8; }

/* BODY */
.eiptv-post__body {
	background: #FFFFFF;
	padding: clamp(32px, 5vw, 64px) 0;
}
.eiptv-post__content {
	font-size: 1.08rem;
	line-height: 1.85;
	color: var(--clr-text);
}
.eiptv-post__content p { margin: 0 0 1.4em; }
.eiptv-post__content > *:first-child { margin-top: 0; }
.eiptv-post__content h2 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 2em 0 .8em;
	padding-top: 8px;
}
.eiptv-post__content h3 {
	font-size: clamp(1.2rem, 2.4vw, 1.5rem);
	margin: 1.6em 0 .6em;
}
.eiptv-post__content h4 { font-size: 1.15rem; margin: 1.4em 0 .5em; }
.eiptv-post__content a { color: var(--clr-primary); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.eiptv-post__content a:hover { color: var(--clr-primary-dark); }
.eiptv-post__content blockquote {
	border-left: 4px solid var(--clr-primary);
	background: var(--clr-bg-alt);
	padding: 18px 24px;
	margin: 1.8em 0;
	border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
	font-style: italic;
	color: var(--clr-text);
	font-size: 1.05rem;
	line-height: 1.7;
}
.eiptv-post__content blockquote cite { display: block; margin-top: 12px; font-size: .88rem; color: var(--clr-text-muted); font-style: normal; font-weight: 600; }
.eiptv-post__content ul,
.eiptv-post__content ol { margin: 1em 0 1.4em; padding-left: 24px; }
.eiptv-post__content ul li,
.eiptv-post__content ol li { margin-bottom: .5em; }
.eiptv-post__content img,
.eiptv-post__content figure {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-lg);
	margin: 1.5em 0;
}
.eiptv-post__content figure { display: block; }
.eiptv-post__content figcaption {
	text-align: center;
	color: var(--clr-text-muted);
	font-size: .85rem;
	margin-top: 8px;
	font-style: italic;
}
.eiptv-post__content code {
	background: var(--clr-bg-alt);
	padding: 3px 8px;
	border-radius: 6px;
	font-size: .92em;
	color: var(--clr-primary);
	border: 1px solid var(--clr-border);
}
.eiptv-post__content pre {
	background: #0F1729;
	color: #E2E8F0;
	padding: 18px 22px;
	border-radius: var(--radius-lg);
	overflow-x: auto;
	margin: 1.5em 0;
	font-size: .9rem;
	line-height: 1.6;
}
.eiptv-post__content pre code {
	background: transparent;
	color: inherit;
	border: 0;
	padding: 0;
}
.eiptv-post__content hr {
	border: 0;
	height: 1px;
	background: var(--clr-border);
	margin: 2.5em 0;
}
.eiptv-post__content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5em 0;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius);
	overflow: hidden;
}
.eiptv-post__content th,
.eiptv-post__content td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--clr-border);
	text-align: left;
}
.eiptv-post__content th { background: var(--clr-bg-alt); font-family: var(--font-heading); font-weight: 700; }

/* Tags */
.eiptv-post__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 32px 0; padding-top: 24px; border-top: 1px solid var(--clr-border); }
.eiptv-post__tag {
	display: inline-block;
	background: var(--clr-bg-alt);
	color: var(--clr-text-muted);
	padding: 6px 14px;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 600;
	text-decoration: none;
	transition: all .2s ease;
	border: 1px solid var(--clr-border);
}
.eiptv-post__tag:hover { background: var(--clr-primary); color: #FFFFFF; border-color: var(--clr-primary); }

/* Share bar */
.eiptv-post__share {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 24px 0;
	padding: 18px 22px;
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
}
.eiptv-post__share-label {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .88rem;
	color: var(--clr-text);
	margin-right: 4px;
}
.eiptv-post__share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #FFFFFF;
	color: var(--clr-text-muted);
	border: 1px solid var(--clr-border);
	transition: all .2s ease;
	text-decoration: none;
}
.eiptv-post__share-btn:hover { transform: translateY(-2px); color: #FFFFFF; }
.eiptv-post__share-btn--whatsapp:hover { background: #25D366; border-color: #25D366; }
.eiptv-post__share-btn--twitter:hover  { background: #000000; border-color: #000000; }
.eiptv-post__share-btn--facebook:hover { background: #1877F2; border-color: #1877F2; }
.eiptv-post__share-btn--telegram:hover { background: #229ED9; border-color: #229ED9; }
.eiptv-post__share-btn svg { width: 18px; height: 18px; }

/* Author card */
.eiptv-post__author-card {
	display: flex;
	gap: 18px;
	padding: 24px 26px;
	background: linear-gradient(135deg, #F0F7FF 0%, #FFFFFF 100%);
	border: 1px solid rgba(0, 97, 255, .15);
	border-radius: var(--radius-lg);
	margin: 32px 0;
}
.eiptv-post__author-card-avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	flex-shrink: 0;
	border: 3px solid #FFFFFF;
	box-shadow: 0 4px 12px rgba(0, 97, 255, .2);
}
.eiptv-post__author-card-label {
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--clr-text-muted);
	margin-bottom: 4px;
}
.eiptv-post__author-card-name {
	font-family: var(--font-heading);
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--clr-text);
	margin-bottom: 6px;
}
.eiptv-post__author-card-bio { color: var(--clr-text-muted); font-size: .92rem; line-height: 1.55; margin: 0; }

/* Related posts at bottom */
.eiptv-post__related { margin-top: 0; }

/* Comments wrapper */
.eiptv-post__comments { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--clr-border); }

/* Hide WC breadcrumb if it leaks (it shouldn't on single post but safety) */
body.single-post main.site-main > .woocommerce-breadcrumb { display: none; }

/* ====================================================================
   58. Comments — header, list, and "Leave a comment" form
==================================================================== */

.eiptv-comments {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid var(--clr-border);
}

/* Header */
.eiptv-comments__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
	color: var(--clr-primary);
}
.eiptv-comments__title {
	font-size: 1.4rem;
	margin: 0;
	color: var(--clr-text);
}
.eiptv-comments__title strong { color: var(--clr-primary); }

/* List */
.eiptv-comments__list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 32px;
}
.eiptv-comments__list .comment,
.eiptv-comments__list .pingback {
	background: #FFFFFF;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	margin-bottom: 14px;
	box-shadow: 0 4px 16px rgba(15, 23, 41, .04);
	list-style: none;
	overflow: hidden;
}
.eiptv-comments__list .children {
	list-style: none !important;
	padding: 0 0 0 28px !important;
	margin: 14px 0 0;
	border-left: 2px solid var(--clr-border);
}

/* The .comment-body: avatar absolute, content padded */
.eiptv-comments__list .comment-body {
	position: relative;
	padding: 18px 22px 18px 78px;
	min-height: 80px;
}

/* Avatar — anchored to top-left corner of card */
.eiptv-comments__list .comment-body img.avatar {
	position: absolute;
	left: 22px;
	top: 18px;
	border-radius: 50% !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	border: 2px solid #FFFFFF;
	box-shadow: 0 2px 6px rgba(15, 23, 41, .08);
}

/* Meta footer: author + date inline */
.eiptv-comments__list .comment-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin: 0 0 8px;
	font-size: .85rem;
	color: var(--clr-text-muted);
	border: 0;
	padding: 0;
	background: transparent;
}
.eiptv-comments__list .comment-author {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-heading);
	font-weight: 700;
	color: var(--clr-text);
	font-size: 1rem;
}
.eiptv-comments__list .comment-author a {
	color: var(--clr-text);
	text-decoration: none;
}
.eiptv-comments__list .comment-author a:hover { color: var(--clr-primary); }
.eiptv-comments__list .comment-author .fn { font-style: normal; }

/* Subtle dot separator between author and date */
.eiptv-comments__list .comment-author + .comment-metadata::before {
	content: '·';
	margin-right: 6px;
	color: var(--clr-border-light);
	font-weight: 700;
}

.eiptv-comments__list .comment-metadata {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .82rem;
	color: var(--clr-text-muted);
}
.eiptv-comments__list .comment-metadata a {
	color: var(--clr-text-muted);
	text-decoration: none;
}
.eiptv-comments__list .comment-metadata a:hover { color: var(--clr-primary); }

/* Edit link badge */
.eiptv-comments__list .edit-link a {
	display: inline-block;
	background: rgba(0, 97, 255, .08);
	color: var(--clr-primary) !important;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .04em;
	padding: 2px 8px;
	border-radius: 999px;
	margin-left: 4px;
	transition: all .2s ease;
}
.eiptv-comments__list .edit-link a:hover { background: var(--clr-primary); color: #FFFFFF !important; }

/* Comment body text */
.eiptv-comments__list .comment-content {
	color: var(--clr-text);
	font-size: .96rem;
	line-height: 1.7;
	margin: 0;
}
.eiptv-comments__list .comment-content p { margin: 0 0 .7em; }
.eiptv-comments__list .comment-content p:last-child { margin-bottom: 0; }

/* Reply button */
.eiptv-comments__list .reply { margin-top: 12px; }
.eiptv-comments__list .reply a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: .82rem;
	color: var(--clr-primary);
	text-decoration: none !important;
	font-weight: 700;
	background: rgba(0, 97, 255, .08);
	padding: 6px 14px;
	border-radius: 999px;
	transition: all .2s ease;
	font-family: var(--font-heading);
}
.eiptv-comments__list .reply a::before {
	content: '↩';
	font-size: 1rem;
	line-height: 1;
}
.eiptv-comments__list .reply a:hover {
	background: var(--clr-primary);
	color: #FFFFFF;
	transform: translateY(-1px);
}

/* "says:" — hide */
.eiptv-comments__list .says { display: none; }

/* Pending moderation note */
.eiptv-comments__list .comment-awaiting-moderation {
	display: inline-block;
	background: rgba(251, 191, 36, .15);
	color: #B45309;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 600;
	margin-bottom: 8px;
}

/* Author highlight when post author replies */
.eiptv-comments__list .bypostauthor {
	background: linear-gradient(135deg, #F0F7FF 0%, #FFFFFF 100%);
	border-color: rgba(0, 97, 255, .25);
}
.eiptv-comments__list .bypostauthor .comment-author::after {
	content: 'AUTHOR';
	display: inline-block;
	background: var(--gradient-primary);
	color: #FFFFFF;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .12em;
	padding: 2px 8px;
	border-radius: 999px;
	margin-left: 8px;
	font-family: var(--font-heading);
	vertical-align: middle;
}

/* Comment form (.eiptv-cform) */
.eiptv-cform {
	background: linear-gradient(135deg, #F0F7FF 0%, #FFFFFF 100%);
	border: 1px solid rgba(0, 97, 255, .15);
	border-radius: var(--radius-lg);
	padding: clamp(22px, 3vw, 32px);
	margin-top: 32px;
	box-shadow: 0 8px 24px rgba(15, 23, 41, .04);
}
.eiptv-cform__title {
	font-size: 1.3rem;
	margin: 0 0 6px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.eiptv-cform__title::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 24px;
	background: var(--gradient-primary);
	border-radius: 2px;
}
.eiptv-cform__title small { font-weight: 500; font-size: .85rem; color: var(--clr-text-muted); margin-left: auto; }
#cancel-comment-reply-link {
	margin-left: 12px;
	font-size: .82rem;
	color: var(--clr-danger);
	text-decoration: none;
	font-weight: 600;
}
#cancel-comment-reply-link:hover { text-decoration: underline; }

.eiptv-cform__notes {
	color: var(--clr-text-muted);
	font-size: .85rem;
	margin: 0 0 18px;
}

/* Field rows */
.eiptv-cform .comment-form-author,
.eiptv-cform .comment-form-email,
.eiptv-cform .comment-form-url,
.eiptv-cform .comment-form-comment,
.eiptv-cform .eiptv-cform__field {
	margin-bottom: 14px;
}
.eiptv-cform .comment-form-author,
.eiptv-cform .comment-form-email {
	display: inline-block;
	width: calc(50% - 8px);
	vertical-align: top;
}
.eiptv-cform .comment-form-author { margin-right: 12px; }
@media (max-width: 540px) {
	.eiptv-cform .comment-form-author,
	.eiptv-cform .comment-form-email { display: block; width: 100%; margin-right: 0; }
}
.eiptv-cform .comment-form-url { display: none; }

.eiptv-cform__field--full { width: 100%; }

.eiptv-cform label {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--clr-text);
	margin-bottom: 6px;
}
.eiptv-cform label .req { color: var(--clr-danger); }

.eiptv-cform input[type="text"],
.eiptv-cform input[type="email"],
.eiptv-cform input[type="url"],
.eiptv-cform textarea {
	width: 100% !important;
	padding: 12px 14px !important;
	border: 1px solid var(--clr-border) !important;
	border-radius: var(--radius) !important;
	background: #FFFFFF !important;
	color: var(--clr-text) !important;
	font-family: var(--font-body) !important;
	font-size: .95rem !important;
	line-height: 1.5 !important;
	transition: border-color .2s ease, box-shadow .2s ease;
	box-shadow: none;
}
.eiptv-cform textarea {
	min-height: 120px;
	resize: vertical;
}
.eiptv-cform input:focus,
.eiptv-cform textarea:focus {
	outline: none;
	border-color: var(--clr-primary) !important;
	box-shadow: 0 0 0 3px rgba(0, 97, 255, .12) !important;
	background: #FFFFFF !important;
}
.eiptv-cform input::placeholder,
.eiptv-cform textarea::placeholder { color: var(--clr-text-dim); opacity: 1; }

/* Cookies consent + checkbox rows */
.eiptv-cform .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 14px 0;
	font-size: .85rem;
	color: var(--clr-text-muted);
}
.eiptv-cform .comment-form-cookies-consent input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 3px 0 0;
	accent-color: var(--clr-primary);
	flex-shrink: 0;
	cursor: pointer;
}
.eiptv-cform .comment-form-cookies-consent label {
	display: inline;
	font-size: .85rem;
	font-weight: 500;
	color: var(--clr-text-muted);
	margin: 0;
	cursor: pointer;
}

/* Submit button */
.eiptv-cform .form-submit { margin: 18px 0 0; padding-top: 16px; border-top: 1px dashed var(--clr-border-light); }
.eiptv-cform__submit,
.eiptv-cform .form-submit input[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	background: var(--gradient-primary) !important;
	color: #FFFFFF !important;
	border: 0 !important;
	padding: 13px 28px !important;
	border-radius: 999px !important;
	font-family: var(--font-heading) !important;
	font-weight: 700 !important;
	font-size: .98rem !important;
	letter-spacing: .02em !important;
	cursor: pointer !important;
	box-shadow: 0 8px 22px rgba(0, 97, 255, .32) !important;
	transition: transform .2s ease, box-shadow .2s ease !important;
	text-transform: none !important;
	text-shadow: none !important;
}
.eiptv-cform__submit:hover,
.eiptv-cform .form-submit input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(0, 97, 255, .42) !important;
}
.eiptv-cform__submit svg { flex-shrink: 0; }

/* Logged-in message */
.eiptv-cform .logged-in-as {
	color: var(--clr-text-muted);
	font-size: .9rem;
	margin: 0 0 18px;
	padding: 10px 14px;
	background: rgba(0, 97, 255, .06);
	border: 1px solid rgba(0, 97, 255, .15);
	border-radius: var(--radius);
}
.eiptv-cform .logged-in-as a { color: var(--clr-primary); font-weight: 600; }

/* ====================================================================
   59. Marketing Page template (templates/page-marketing.php)
==================================================================== */

.eiptv-marketing { color: var(--clr-text); }
.eiptv-marketing__top { padding: clamp(28px, 4vw, 48px) 0; background: #FFFFFF; }

/* 2-column layout: article + sticky offer */
.eiptv-marketing__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	gap: 36px;
	align-items: flex-start;
}
@media (max-width: 980px) { .eiptv-marketing__layout { grid-template-columns: 1fr; } }

/* Article body */
.eiptv-marketing__article { font-size: 1.05rem; line-height: 1.8; color: var(--clr-text); }
.eiptv-marketing__article > *:first-child { margin-top: 0; }
.eiptv-marketing__article h2 {
	font-size: clamp(1.4rem, 2.8vw, 1.8rem);
	margin: 1.8em 0 .7em;
	padding-bottom: .4em;
	border-bottom: 2px solid var(--clr-border);
}
.eiptv-marketing__article h3 { font-size: clamp(1.15rem, 2.2vw, 1.4rem); margin: 1.5em 0 .6em; }
.eiptv-marketing__article h4 { font-size: 1.1rem; margin: 1.3em 0 .5em; }
.eiptv-marketing__article p { margin: 0 0 1.2em; }
.eiptv-marketing__article a { color: var(--clr-primary); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.eiptv-marketing__article a:hover { color: var(--clr-primary-dark); }
.eiptv-marketing__article ul, .eiptv-marketing__article ol { margin: .8em 0 1.2em; padding-left: 24px; }
.eiptv-marketing__article ul li, .eiptv-marketing__article ol li { margin-bottom: .4em; }
.eiptv-marketing__article blockquote {
	border-left: 4px solid var(--clr-primary);
	background: var(--clr-bg-alt);
	padding: 16px 22px;
	margin: 1.6em 0;
	border-radius: 0 var(--radius) var(--radius) 0;
	font-style: italic;
}
.eiptv-marketing__article img,
.eiptv-marketing__article figure { max-width: 100%; height: auto; border-radius: var(--radius); margin: 1.4em 0; }

/* Inline mid-article CTA */
.eiptv-marketing__inline-cta {
	display: flex;
	gap: 18px;
	align-items: center;
	background: linear-gradient(135deg, #F0F7FF 0%, #FFFFFF 100%);
	border: 1px solid rgba(0, 97, 255, .18);
	border-radius: var(--radius-lg);
	padding: 22px 24px;
	margin: 2em 0;
	box-shadow: 0 8px 24px rgba(0, 97, 255, .08);
}
.eiptv-marketing__inline-cta-icon {
	flex-shrink: 0;
	width: 56px; height: 56px;
	background: rgba(251, 191, 36, .15);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.eiptv-marketing__inline-cta-body { flex: 1; min-width: 0; }
.eiptv-marketing__inline-cta-body h3 { margin: 0 0 4px; font-size: 1.1rem; line-height: 1.3; }
.eiptv-marketing__inline-cta-body p { margin: 0; color: var(--clr-text-muted); font-size: .92rem; line-height: 1.5; }
.eiptv-marketing__inline-cta-actions { display: flex; flex-direction: column; gap: 6px; flex-shrink: 0; }
.eiptv-marketing__inline-cta-actions .btn { white-space: nowrap; }
.eiptv-marketing__inline-cta-actions .btn--sm {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 8px 14px;
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .8rem;
	text-decoration: none;
}
@media (max-width: 640px) {
	.eiptv-marketing__inline-cta { flex-direction: column; text-align: center; }
	.eiptv-marketing__inline-cta-actions { flex-direction: row; justify-content: center; }
}

/* Sticky offer aside */
.eiptv-marketing__aside { position: sticky; top: 96px; }
@media (max-width: 980px) { .eiptv-marketing__aside { position: static; } }

.eiptv-marketing__offer-card {
	background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
	border: 2px solid var(--clr-primary);
	border-radius: var(--radius-lg);
	padding: 24px 22px;
	box-shadow: 0 16px 40px rgba(0, 97, 255, .15);
	text-align: center;
	margin-bottom: 14px;
	position: relative;
}

.eiptv-marketing__offer-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: linear-gradient(135deg, #FBBF24 0%, #F59E0B 100%);
	color: #1A1A1A;
	font-family: var(--font-heading);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .14em;
	padding: 4px 12px;
	border-radius: 999px;
	margin-bottom: 14px;
	box-shadow: 0 4px 12px rgba(251, 191, 36, .35);
}
.eiptv-marketing__offer-dot {
	width: 6px; height: 6px;
	background: #DC2626;
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(220, 38, 38, .7);
	animation: trial-pulse 1.4s infinite;
}

.eiptv-marketing__offer-num {
	font-family: var(--font-heading);
	font-size: 3rem;
	font-weight: 800;
	color: var(--clr-primary);
	line-height: 1;
	letter-spacing: -0.03em;
	margin-bottom: 6px;
}
.eiptv-marketing__offer-num small { font-size: .9rem; color: var(--clr-text-muted); font-weight: 500; }

.eiptv-marketing__offer-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	font-size: .88rem;
}
.eiptv-marketing__offer-tag s { color: var(--clr-text-muted); font-weight: 600; }
.eiptv-marketing__offer-save {
	background: rgba(16, 185, 129, .12);
	color: var(--clr-success);
	padding: 3px 10px;
	border-radius: 999px;
	font-weight: 700;
	font-size: .78rem;
	letter-spacing: .04em;
}

.eiptv-marketing__offer-features {
	list-style: none;
	padding: 0;
	margin: 0 0 18px;
	text-align: left;
}
.eiptv-marketing__offer-features li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 0;
	border-bottom: 1px dashed var(--clr-border);
	font-size: .88rem;
	color: var(--clr-text);
}
.eiptv-marketing__offer-features li:last-child { border-bottom: 0; }
.eiptv-marketing__offer-features li .icon {
	color: var(--clr-success);
	background: rgba(16, 185, 129, .1);
	border-radius: 50%;
	padding: 2px;
	width: 18px; height: 18px;
	flex-shrink: 0;
}

.eiptv-marketing__offer-trust {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--clr-border);
	font-size: .76rem;
	color: var(--clr-text-muted);
}
.eiptv-marketing__offer-trust span { display: inline-flex; align-items: center; gap: 4px; }
.eiptv-marketing__offer-trust .icon { color: var(--clr-primary); width: 14px; height: 14px; }

.eiptv-marketing__aside-help {
	display: flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
	color: #FFFFFF !important;
	padding: 14px 18px;
	border-radius: var(--radius-lg);
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(37, 211, 102, .25);
	transition: transform .2s ease, box-shadow .2s ease;
}
.eiptv-marketing__aside-help:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(37, 211, 102, .4); color: #FFFFFF !important; }
.eiptv-marketing__aside-help svg { flex-shrink: 0; }
.eiptv-marketing__aside-help strong { font-family: var(--font-heading); font-size: .92rem; }
.eiptv-marketing__aside-help span { font-size: .82rem; line-height: 1.4; }

/* ====================================================================
   60. Reseller landing page
==================================================================== */

.eiptv-reseller { color: var(--clr-text); }

/* HERO */
.eiptv-reseller__hero {
	position: relative;
	background: linear-gradient(135deg, #0F1729 0%, #1E1B4B 50%, #0061FF 110%);
	color: #FFFFFF;
	padding: clamp(56px, 8vw, 100px) 0;
	overflow: hidden;
}
.eiptv-reseller__hero-orbs { position: absolute; inset: 0; pointer-events: none; }
.eiptv-reseller__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(40px);
}
.eiptv-reseller__orb--1 {
	width: 420px; height: 420px;
	background: radial-gradient(circle, rgba(0, 212, 255, .35), transparent 65%);
	top: -120px; right: -120px;
	animation: trial-orb 14s ease-in-out infinite;
}
.eiptv-reseller__orb--2 {
	width: 320px; height: 320px;
	background: radial-gradient(circle, rgba(16, 245, 161, .25), transparent 65%);
	bottom: -100px; left: -80px;
	animation: trial-orb 11s ease-in-out infinite reverse;
}
.eiptv-reseller__orb--3 {
	width: 240px; height: 240px;
	background: radial-gradient(circle, rgba(251, 191, 36, .22), transparent 65%);
	top: 40%; left: 40%;
	animation: trial-orb 18s ease-in-out infinite;
}

.eiptv-reseller__hero-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 48px;
	align-items: center;
	position: relative;
	z-index: 1;
}
@media (max-width: 980px) { .eiptv-reseller__hero-grid { grid-template-columns: 1fr; gap: 32px; } }

.eiptv-reseller__hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(16, 245, 161, .12);
	border: 1px solid rgba(16, 245, 161, .35);
	color: #5eead4;
	font-family: var(--font-heading);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .14em;
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: 18px;
}
.eiptv-reseller__live-dot {
	width: 8px; height: 8px;
	background: #10F5A1;
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(16, 245, 161, .7);
	animation: trial-pulse 1.4s infinite;
}

.eiptv-reseller__hero-title {
	color: #FFFFFF;
	font-size: clamp(2.2rem, 4.8vw, 3.6rem);
	margin: 0 0 16px;
	line-height: 1.08;
}
.eiptv-reseller__hero-highlight {
	background: linear-gradient(135deg, #FBBF24, #F59E0B);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: 800;
}
.eiptv-reseller__hero-lead {
	color: rgba(255,255,255,.85);
	font-size: 1.1rem;
	line-height: 1.65;
	margin: 0 0 28px;
	max-width: 540px;
}

.eiptv-reseller__hero-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin-bottom: 28px;
	padding: 18px 0;
	border-top: 1px solid rgba(255,255,255,.1);
	border-bottom: 1px solid rgba(255,255,255,.1);
}
@media (max-width: 540px) { .eiptv-reseller__hero-stats { grid-template-columns: repeat(2, 1fr); } }
.eiptv-reseller__stat {}
.eiptv-reseller__stat-num {
	font-family: var(--font-heading);
	font-size: 2rem;
	font-weight: 800;
	color: #FFFFFF;
	line-height: 1;
}
.eiptv-reseller__stat-num small { font-size: 1rem; opacity: .7; font-weight: 500; }
.eiptv-reseller__stat-label {
	font-size: .76rem;
	color: rgba(255,255,255,.7);
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-top: 4px;
	font-weight: 500;
}

.eiptv-reseller__hero-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.eiptv-reseller__cta-wa {
	background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
	color: #FFFFFF !important;
	box-shadow: 0 12px 28px rgba(37, 211, 102, .4) !important;
}
.eiptv-reseller__cta-wa:hover { box-shadow: 0 16px 32px rgba(37, 211, 102, .5) !important; }

.eiptv-reseller__hero-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	color: rgba(255,255,255,.85);
	font-size: .88rem;
	margin: 0;
	align-items: center;
}
.eiptv-reseller__hero-trust svg { color: #10F5A1; vertical-align: -2px; margin-right: 4px; }

/* Hero earnings card */
.eiptv-reseller__earnings-card {
	background: rgba(0, 0, 0, .35);
	backdrop-filter: blur(20px);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: var(--radius-lg);
	padding: 24px;
	box-shadow: 0 20px 50px rgba(0,0,0,.35);
	max-width: 360px;
	margin-left: auto;
}
@media (max-width: 980px) { .eiptv-reseller__earnings-card { margin: 0 auto; } }
.eiptv-reseller__earnings-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 20px;
}
.eiptv-reseller__earnings-label {
	font-size: .76rem;
	color: rgba(255,255,255,.7);
	text-transform: uppercase;
	letter-spacing: .12em;
	margin-bottom: 6px;
}
.eiptv-reseller__earnings-num {
	font-family: var(--font-heading);
	font-size: 2.6rem;
	font-weight: 800;
	color: #FFFFFF;
	line-height: 1;
	font-feature-settings: "tnum";
}
.eiptv-reseller__earnings-trend {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: rgba(16, 245, 161, .15);
	border: 1px solid rgba(16, 245, 161, .35);
	color: #10F5A1;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 700;
	font-family: var(--font-heading);
}
.eiptv-reseller__earnings-bars {
	display: flex;
	gap: 8px;
	align-items: flex-end;
	height: 90px;
	margin-bottom: 14px;
}
.eiptv-reseller__earnings-bars span {
	flex: 1;
	background: linear-gradient(180deg, #10F5A1, rgba(16, 245, 161, .3));
	border-radius: 4px 4px 0 0;
	min-height: 8px;
	animation: bar-grow .8s var(--ease-out) backwards;
}
.eiptv-reseller__earnings-bars span:nth-child(1) { animation-delay: .05s; }
.eiptv-reseller__earnings-bars span:nth-child(2) { animation-delay: .1s; }
.eiptv-reseller__earnings-bars span:nth-child(3) { animation-delay: .15s; }
.eiptv-reseller__earnings-bars span:nth-child(4) { animation-delay: .2s; }
.eiptv-reseller__earnings-bars span:nth-child(5) { animation-delay: .25s; }
.eiptv-reseller__earnings-bars span:nth-child(6) { animation-delay: .3s; }
.eiptv-reseller__earnings-bars span:nth-child(7) { animation-delay: .35s; }
.eiptv-reseller__earnings-foot {
	display: flex;
	justify-content: space-between;
	font-size: .8rem;
	color: rgba(255,255,255,.7);
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,.12);
}
.eiptv-reseller__earnings-foot strong { color: #FFFFFF; font-weight: 700; }

/* CALCULATOR */
.eiptv-reseller__calc-section { padding-top: clamp(32px, 4vw, 48px); }
.eiptv-reseller__calc {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 32px;
	background: linear-gradient(135deg, #F0F7FF 0%, #FFFFFF 100%);
	border: 1px solid rgba(0, 97, 255, .15);
	border-radius: var(--radius-xl);
	padding: clamp(24px, 4vw, 40px);
	box-shadow: 0 16px 40px rgba(0, 97, 255, .08);
}
@media (max-width: 800px) { .eiptv-reseller__calc { grid-template-columns: 1fr; } }

.eiptv-reseller__calc-controls {}
.eiptv-reseller__calc-label {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .92rem;
	color: var(--clr-text);
	margin-bottom: 10px;
}
.eiptv-reseller__calc-value {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--clr-primary);
	font-feature-settings: "tnum";
}
.eiptv-reseller__calc-slider {
	width: 100%;
	-webkit-appearance: none;
	appearance: none;
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(90deg, #0061FF 0%, #0061FF var(--pct, 30%), #E2E8F0 var(--pct, 30%));
	background: var(--clr-bg-alt);
	outline: none;
	margin: 0;
}
.eiptv-reseller__calc-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 3px solid var(--clr-primary);
	box-shadow: 0 4px 12px rgba(0, 97, 255, .35);
	cursor: pointer;
	transition: transform .15s ease;
}
.eiptv-reseller__calc-slider::-webkit-slider-thumb:hover { transform: scale(1.15); }
.eiptv-reseller__calc-slider::-moz-range-thumb {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 3px solid var(--clr-primary);
	box-shadow: 0 4px 12px rgba(0, 97, 255, .35);
	cursor: pointer;
}
.eiptv-reseller__calc-range {
	display: flex;
	justify-content: space-between;
	color: var(--clr-text-muted);
	font-size: .76rem;
	margin-top: 8px;
}

.eiptv-reseller__calc-result {
	background: linear-gradient(135deg, #0061FF 0%, #1E40AF 100%);
	color: #FFFFFF;
	padding: 24px 26px;
	border-radius: var(--radius-lg);
	text-align: center;
	box-shadow: 0 16px 40px rgba(0, 97, 255, .35);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.eiptv-reseller__calc-result-label {
	font-size: .82rem;
	color: rgba(255,255,255,.85);
	text-transform: uppercase;
	letter-spacing: .12em;
	margin-bottom: 10px;
}
.eiptv-reseller__calc-result-num {
	font-family: var(--font-heading);
	font-size: clamp(2.8rem, 5vw, 3.6rem);
	font-weight: 800;
	color: #FFFFFF;
	line-height: 1;
	margin-bottom: 12px;
	font-feature-settings: "tnum";
}
.eiptv-reseller__calc-result-meta {
	display: flex;
	justify-content: center;
	gap: 8px;
	font-size: .85rem;
	color: rgba(255,255,255,.85);
	margin-bottom: 8px;
}
.eiptv-reseller__calc-result-meta strong { color: #FFFFFF; font-weight: 700; font-family: var(--font-heading); }
.eiptv-reseller__sep { opacity: .5; }
.eiptv-reseller__calc-yearly {
	font-size: .9rem;
	color: rgba(255,255,255,.85);
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,.18);
}
.eiptv-reseller__calc-yearly strong { color: #FBBF24; font-family: var(--font-heading); font-weight: 800; font-size: 1.1rem; }
.eiptv-reseller__calc-result .btn--primary { background: #FFFFFF !important; color: var(--clr-primary) !important; box-shadow: none !important; }
.eiptv-reseller__calc-result .btn--primary:hover { background: rgba(255,255,255,.92) !important; transform: translateY(-2px); }

/* SUCCESS STORY CARD */
.eiptv-reseller__story-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--clr-border);
}
.eiptv-reseller__story-head .testimonial__avatar { margin: 0; flex-shrink: 0; }
.eiptv-reseller__story-head > div:nth-child(2) { flex: 1; min-width: 0; }
.eiptv-reseller__story-income {
	text-align: right;
	flex-shrink: 0;
}
.eiptv-reseller__story-income small {
	display: block;
	font-size: .68rem;
	color: var(--clr-text-muted);
	text-transform: uppercase;
	letter-spacing: .08em;
}
.eiptv-reseller__story-income strong {
	font-family: var(--font-heading);
	font-size: 1.3rem;
	color: var(--clr-success);
	font-weight: 800;
	font-feature-settings: "tnum";
}
.eiptv-reseller__story-foot {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	padding: 6px 12px;
	background: rgba(0, 97, 255, .08);
	color: var(--clr-primary);
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 700;
	font-family: var(--font-heading);
}

/* FINAL APPLY BANNER */
.eiptv-reseller__final {
	position: relative;
	background: linear-gradient(135deg, #0F1729 0%, #1E1B4B 50%, #0061FF 110%);
	border-radius: var(--radius-xl);
	padding: clamp(40px, 6vw, 72px) clamp(28px, 4vw, 56px);
	color: #FFFFFF;
	overflow: hidden;
	text-align: center;
	box-shadow: 0 24px 60px rgba(15, 23, 41, .25);
}
.eiptv-reseller__final-orbs { position: absolute; inset: 0; pointer-events: none; }
.eiptv-reseller__final-inner { position: relative; z-index: 1; max-width: 720px; margin: 0 auto; }
.eiptv-reseller__final-title {
	color: #FFFFFF;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	margin: 0 0 14px;
	line-height: 1.15;
}
.eiptv-reseller__final-lead {
	color: rgba(255,255,255,.85);
	font-size: 1.02rem;
	margin: 0 auto 24px;
	max-width: 560px;
}
.eiptv-reseller__final-cta {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 20px;
}
.eiptv-reseller__final-trust {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 16px;
	color: rgba(255,255,255,.85);
	font-size: .88rem;
	justify-content: center;
}
.eiptv-reseller__final-trust span { display: inline-flex; align-items: center; gap: 4px; }
.eiptv-reseller__final-trust svg { color: #10F5A1; }

/* ----------------------------------------------------------
   60i. Movies & Series page (.eiptv-vod)
---------------------------------------------------------- */
.eiptv-vod__hero-wrap { padding: 56px 0; }
.eiptv-vod__trending-wrap,
.eiptv-vod__list-wrap { padding: 64px 0; }
.eiptv-vod__genres-wrap { padding: 72px 0; }
.eiptv-vod__studios-wrap { padding: 64px 0; }
.eiptv-vod__compare-wrap { padding: 72px 0; }
.eiptv-vod__features-wrap { padding: 56px 0; }
.eiptv-vod__cta-wrap { padding: 72px 0; }

.eiptv-vod__eyebrow {
	display: inline-block;
	padding: 4px 12px;
	background: rgba(0, 97, 255, .1);
	color: var(--clr-primary);
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	margin-bottom: .75rem;
}
.eiptv-vod__eyebrow--inverse {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}

.eiptv-vod__section-head {
	display: flex;
	gap: 1.5rem;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}
.eiptv-vod__section-head h2 {
	margin: 0;
	font-size: clamp(1.4rem, 2.2vw, 1.85rem);
	line-height: 1.25;
}
.eiptv-vod__section-head .section--dark h2,
.section--dark .eiptv-vod__section-head h2 { color: #fff; }
.eiptv-vod__see-all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--clr-primary);
	font-family: var(--font-heading);
	font-weight: 700;
	text-decoration: none;
	font-size: .92rem;
}
.eiptv-vod__see-all .icon { width: 14px; height: 14px; transition: transform .2s; }
.eiptv-vod__see-all:hover .icon { transform: translateX(3px); }

/* Hero band */
.eiptv-vod__hero {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 3rem;
	align-items: center;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 2.5rem;
	box-shadow: 0 12px 40px rgba(15, 23, 41, .06);
}
.eiptv-vod__hero-text h2 {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	line-height: 1.2;
	margin: 0 0 1rem;
}
.eiptv-vod__hero-text p {
	font-size: 1.02rem;
	color: var(--clr-text-muted);
	line-height: 1.7;
	margin: 0 0 1.5rem;
}
.eiptv-vod__hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 1rem; }
.eiptv-vod__hero-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.eiptv-vod__hero-actions .icon { width: 16px; height: 16px; }
.eiptv-vod__hero-trust {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--clr-text-muted);
	font-size: .88rem;
}
.eiptv-vod__hero-trust .icon { width: 14px; height: 14px; color: #10B981; }

.eiptv-vod__stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}
.eiptv-vod__stat {
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	color: #fff;
	padding: 1.5rem 1.25rem;
	border-radius: 14px;
	text-align: center;
	box-shadow: 0 8px 22px rgba(0, 97, 255, .25);
}
.eiptv-vod__stat:nth-child(2) { background: linear-gradient(135deg, #0F172A, #1E293B); }
.eiptv-vod__stat:nth-child(3) { background: linear-gradient(135deg, #7C3AED, #4C1D95); }
.eiptv-vod__stat:nth-child(4) { background: linear-gradient(135deg, #059669, #064E3B); }
.eiptv-vod__stat-num {
	font-family: var(--font-heading);
	font-size: 1.65rem;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 6px;
}
.eiptv-vod__stat-lbl {
	font-size: .78rem;
	opacity: .9;
	text-transform: uppercase;
	letter-spacing: .08em;
}
@media (max-width: 900px) {
	.eiptv-vod__hero { grid-template-columns: 1fr; padding: 1.75rem; gap: 2rem; }
}

/* LIVE badge */
.eiptv-vod__live-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	background: rgba(220, 38, 38, .15);
	color: #FCA5A5;
	border: 1px solid rgba(220, 38, 38, .35);
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .12em;
}
.eiptv-vod__live-dot {
	width: 6px; height: 6px;
	background: #DC2626;
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(220, 38, 38, .7);
	animation: eiptvVodPulse 1.6s infinite;
}
@keyframes eiptvVodPulse {
	0%   { box-shadow: 0 0 0 0 rgba(220, 38, 38, .7); }
	70%  { box-shadow: 0 0 0 8px rgba(220, 38, 38, 0); }
	100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
}

/* Horizontal posters rail */
.eiptv-vod__rail {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 18px;
}
.eiptv-vod__rail .media-card {
	aspect-ratio: 2/3;
	min-height: 0;
}

/* Genre tiles */
.eiptv-vod__genres {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
@media (max-width: 900px) { .eiptv-vod__genres { grid-template-columns: repeat(2, 1fr); } }
.eiptv-vod__genre {
	position: relative;
	display: block;
	padding: 1.75rem 1.25rem;
	border-radius: 16px;
	background: var(--g-bg, linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark)));
	color: #fff;
	text-decoration: none;
	min-height: 150px;
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
}
.eiptv-vod__genre::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .35));
	transition: opacity .2s;
}
.eiptv-vod__genre:hover {
	transform: translateY(-4px) scale(1.02);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .25);
}
.eiptv-vod__genre-icon {
	position: relative;
	z-index: 1;
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .15);
	border-radius: 12px;
	margin-bottom: 1rem;
	backdrop-filter: blur(6px);
}
.eiptv-vod__genre-icon .icon { width: 22px; height: 22px; color: #fff; }
.eiptv-vod__genre-label {
	position: relative;
	z-index: 1;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.15rem;
	line-height: 1.2;
}
.eiptv-vod__genre-count {
	position: relative;
	z-index: 1;
	font-size: .82rem;
	opacity: .85;
	margin-top: 4px;
}

/* Studios */
.eiptv-vod__studios {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin-top: 2rem;
}
@media (max-width: 900px) { .eiptv-vod__studios { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .eiptv-vod__studios { grid-template-columns: repeat(2, 1fr); } }
.eiptv-vod__studio {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 12px;
	padding: 1rem;
	text-align: center;
	transition: background .2s, transform .2s;
}
.eiptv-vod__studio:hover {
	background: rgba(255, 255, 255, .1);
	transform: translateY(-2px);
}
.eiptv-vod__studio-name {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1rem;
	color: #fff;
	margin-bottom: 4px;
}
.eiptv-vod__studio-tag {
	font-size: .72rem;
	color: rgba(255, 255, 255, .6);
	text-transform: uppercase;
	letter-spacing: .08em;
}

/* Comparison */
.eiptv-vod__compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-top: 2rem;
}
@media (max-width: 800px) { .eiptv-vod__compare { grid-template-columns: 1fr; } }

.eiptv-vod__compare-col {
	position: relative;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 1.75rem;
}
.eiptv-vod__compare-col--bad { opacity: .85; }
.eiptv-vod__compare-col--good {
	border-color: var(--clr-primary);
	box-shadow: 0 18px 40px rgba(0, 97, 255, .15);
}
.eiptv-vod__compare-badge {
	position: absolute;
	top: -12px; right: 16px;
	background: var(--clr-primary);
	color: #fff;
	padding: 5px 12px;
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(0, 97, 255, .35);
}
.eiptv-vod__compare-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid var(--clr-border);
	margin-bottom: 1rem;
}
.eiptv-vod__compare-col--good .eiptv-vod__compare-head { border-color: var(--clr-primary); }
.eiptv-vod__compare-title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.15rem;
}
.eiptv-vod__compare-price {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.6rem;
	color: var(--clr-primary);
}
.eiptv-vod__compare-col--bad .eiptv-vod__compare-price { color: #DC2626; text-decoration: line-through; }
.eiptv-vod__compare-price span { font-size: .82rem; font-weight: 500; opacity: .7; }
.eiptv-vod__compare-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.eiptv-vod__compare-col li {
	position: relative;
	padding-left: 26px;
	font-size: .92rem;
	line-height: 1.55;
	color: var(--clr-text-muted);
}
.eiptv-vod__compare-col--bad li::before {
	content: '✕';
	position: absolute;
	left: 0; top: 0;
	width: 18px; height: 18px;
	background: rgba(220, 38, 38, .12);
	color: #DC2626;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-weight: 700;
	font-size: .72rem;
}
.eiptv-vod__compare-col--good li::before {
	content: '';
	position: absolute;
	left: 0; top: .35em;
	width: 18px; height: 18px;
	background: var(--clr-primary);
	border-radius: 50%;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px;
}
.eiptv-vod__compare-col--good li strong { color: var(--clr-text); }

/* Clickable comparison card (live WC plan) */
.eiptv-vod__compare-col--link {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: transform .2s, box-shadow .2s;
}
.eiptv-vod__compare-col--link:hover {
	transform: translateY(-3px);
	box-shadow: 0 22px 48px rgba(0, 97, 255, .22);
}
.eiptv-vod__compare-sub {
	font-size: .82rem;
	color: var(--clr-text-muted);
	margin: -8px 0 1rem;
	font-style: italic;
}
.eiptv-vod__compare-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 1.25rem;
	padding: 10px 18px;
	background: var(--clr-primary);
	color: #fff;
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .92rem;
	box-shadow: 0 6px 16px rgba(0, 97, 255, .3);
	transition: background .15s, transform .15s;
}
.eiptv-vod__compare-cta .icon { width: 14px; height: 14px; transition: transform .2s; }
.eiptv-vod__compare-col--link:hover .eiptv-vod__compare-cta { background: var(--clr-primary-dark, #0050d6); }
.eiptv-vod__compare-col--link:hover .eiptv-vod__compare-cta .icon { transform: translateX(3px); }
.eiptv-vod__compare-savings {
	margin-top: 1.5rem;
	padding: 1.25rem;
	background: linear-gradient(135deg, #ECFDF5, #D1FAE5);
	border: 1px solid #6EE7B7;
	border-radius: 12px;
	text-align: center;
}
.eiptv-vod__compare-savings-num {
	font-family: var(--font-heading);
	font-size: 1.85rem;
	font-weight: 800;
	color: #065F46;
	line-height: 1;
}
.eiptv-vod__compare-savings-lbl {
	font-size: .82rem;
	color: #047857;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-top: 4px;
	font-weight: 600;
}

/* Feature chips */
.eiptv-vod__features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}
@media (max-width: 900px) { .eiptv-vod__features { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .eiptv-vod__features { grid-template-columns: 1fr; } }
.eiptv-vod__feature {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: 14px;
	padding: 1.25rem;
	transition: border-color .2s, transform .2s;
}
.eiptv-vod__feature:hover { border-color: var(--clr-primary); transform: translateY(-2px); }
.eiptv-vod__feature-icon {
	flex-shrink: 0;
	width: 40px; height: 40px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(0, 97, 255, .12);
	border-radius: 10px;
	color: var(--clr-primary);
}
.eiptv-vod__feature-icon .icon { width: 20px; height: 20px; }
.eiptv-vod__feature h4 { margin: 0 0 .25rem; font-size: .98rem; }
.eiptv-vod__feature p { margin: 0; color: var(--clr-text-muted); line-height: 1.55; font-size: .88rem; }

/* Final CTA */
.eiptv-vod__cta {
	position: relative;
	text-align: center;
	background: linear-gradient(135deg, #0F172A, #1E293B);
	color: #fff;
	border-radius: var(--radius-lg);
	padding: 3rem 2rem;
	overflow: hidden;
}
.eiptv-vod__cta::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(0, 97, 255, .25), transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(124, 58, 237, .25), transparent 50%);
	pointer-events: none;
}
.eiptv-vod__cta > * { position: relative; }
.eiptv-vod__cta-badge {
	display: inline-block;
	padding: 5px 14px;
	background: rgba(252, 211, 77, .15);
	color: #FBBF24;
	border: 1px solid rgba(252, 211, 77, .35);
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}
.eiptv-vod__cta h2 {
	margin: 0 0 .75rem;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	color: #fff;
}
.eiptv-vod__cta p {
	max-width: 540px;
	margin: 0 auto 1.75rem;
	color: rgba(255, 255, 255, .8);
	line-height: 1.7;
	font-size: 1.02rem;
}
.eiptv-vod__cta-actions {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 1.5rem;
}
.eiptv-vod__cta-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.eiptv-vod__cta-actions .icon { width: 18px; height: 18px; }
.btn--lg { padding: 14px 28px; font-size: 1rem; }
.eiptv-vod__cta-trust {
	display: inline-flex;
	gap: 1.75rem;
	flex-wrap: wrap;
	justify-content: center;
	color: rgba(255, 255, 255, .65);
	font-size: .85rem;
}
.eiptv-vod__cta-trust span { display: inline-flex; align-items: center; gap: 6px; }
.eiptv-vod__cta-trust .icon { width: 14px; height: 14px; color: #10B981; }

/* ----------------------------------------------------------
   60h. Channel list page (.eiptv-channels) — marketing edition
---------------------------------------------------------- */
.eiptv-channels__hero-wrap { padding: 56px 0 24px; }
.eiptv-channels__leagues-wrap { padding: 64px 0; }
.eiptv-channels__regions-wrap { padding: 56px 0; }
.eiptv-channels__toolbar-wrap { padding: 56px 0 24px; }
.eiptv-channels__list-wrap { padding: 24px 0 64px; }
.eiptv-channels__compare-wrap { padding: 64px 0; }
.eiptv-channels__cta-wrap { padding: 56px 0 80px; }

.eiptv-channels__eyebrow {
	display: inline-block;
	padding: 4px 12px;
	background: rgba(0, 97, 255, .1);
	color: var(--clr-primary);
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	margin-bottom: .75rem;
}
.eiptv-channels__eyebrow--inverse {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}

/* Marketing hero */
.eiptv-channels__hero {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 3rem;
	align-items: center;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 2.5rem;
	box-shadow: 0 12px 40px rgba(15, 23, 41, .06);
}
.eiptv-channels__live-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	background: rgba(220, 38, 38, .12);
	color: #B91C1C;
	border: 1px solid rgba(220, 38, 38, .35);
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: .72rem;
	letter-spacing: .12em;
	margin-bottom: 1rem;
}
.eiptv-channels__live-dot {
	width: 8px; height: 8px;
	background: #DC2626;
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(220, 38, 38, .7);
	animation: eiptvChLivePulse 1.6s infinite;
}
@keyframes eiptvChLivePulse {
	0%   { box-shadow: 0 0 0 0 rgba(220, 38, 38, .7); }
	70%  { box-shadow: 0 0 0 10px rgba(220, 38, 38, 0); }
	100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
}
.eiptv-channels__hero-text h2 {
	font-size: clamp(1.7rem, 3.2vw, 2.4rem);
	line-height: 1.18;
	margin: 0 0 1rem;
}
.eiptv-channels__hero-text p {
	font-size: 1.02rem;
	color: var(--clr-text-muted);
	line-height: 1.7;
	margin: 0 0 1.5rem;
}
.eiptv-channels__hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 1rem; }
.eiptv-channels__hero-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.eiptv-channels__hero-actions .icon { width: 16px; height: 16px; }
.eiptv-channels__hero-trust {
	display: flex;
	gap: 1.25rem;
	flex-wrap: wrap;
	color: var(--clr-text-muted);
	font-size: .85rem;
}
.eiptv-channels__hero-trust span { display: inline-flex; align-items: center; gap: 6px; }
.eiptv-channels__hero-trust .icon { width: 14px; height: 14px; color: #10B981; }

.eiptv-channels__hero-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}
.eiptv-channels__hstat {
	color: #fff;
	padding: 1.5rem 1.25rem;
	border-radius: 14px;
	text-align: center;
	box-shadow: 0 8px 22px rgba(15, 23, 41, .15);
}
.eiptv-channels__hstat--1 { background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6)); }
.eiptv-channels__hstat--2 { background: linear-gradient(135deg, #0F172A, #1E293B); }
.eiptv-channels__hstat--3 { background: linear-gradient(135deg, #F59E0B, #B45309); }
.eiptv-channels__hstat--4 { background: linear-gradient(135deg, #059669, #064E3B); }
.eiptv-channels__hstat-num {
	font-family: var(--font-heading);
	font-size: 1.7rem;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 6px;
}
.eiptv-channels__hstat-lbl {
	font-size: .78rem;
	opacity: .9;
	text-transform: uppercase;
	letter-spacing: .08em;
}
@media (max-width: 900px) {
	.eiptv-channels__hero { grid-template-columns: 1fr; padding: 1.75rem; gap: 2rem; }
}

/* Marquee ticker */
.eiptv-channels__marquee-wrap {
	background: linear-gradient(90deg, #0F172A, #1E293B);
	color: #fff;
	overflow: hidden;
	padding: 14px 0;
	border-top: 1px solid rgba(255, 255, 255, .05);
	border-bottom: 1px solid rgba(255, 255, 255, .05);
}
.eiptv-channels__marquee {
	display: flex;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.eiptv-channels__marquee-track {
	display: flex;
	gap: 36px;
	white-space: nowrap;
	animation: eiptvChMarquee 45s linear infinite;
	padding-right: 36px;
	flex-shrink: 0;
}
@keyframes eiptvChMarquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
.eiptv-channels__ticker-item {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .92rem;
	color: rgba(255, 255, 255, .85);
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* Premium leagues band */
.eiptv-channels__leagues {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-top: 2rem;
}
@media (max-width: 900px) { .eiptv-channels__leagues { grid-template-columns: repeat(2, 1fr); } }
.eiptv-channels__league {
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 14px;
	padding: 1.25rem;
	text-align: center;
	transition: background .2s, transform .2s, border-color .2s;
}
.eiptv-channels__league:hover {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(0, 97, 255, .5);
	transform: translateY(-3px);
}
.eiptv-channels__league-tag {
	display: inline-block;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	color: #fff;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: .85rem;
	letter-spacing: .04em;
	padding: 8px 12px;
	border-radius: 10px;
	margin-bottom: .75rem;
	box-shadow: 0 6px 16px rgba(0, 97, 255, .35);
}
.eiptv-channels__league-name {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
	color: #fff;
	margin-bottom: 4px;
}
.eiptv-channels__league-sub {
	font-size: .78rem;
	color: rgba(255, 255, 255, .6);
}

/* Continental coverage */
.eiptv-channels__regions {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 2rem;
}
@media (max-width: 900px) { .eiptv-channels__regions { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .eiptv-channels__regions { grid-template-columns: 1fr; } }
.eiptv-channels__region {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: 14px;
	padding: 1.25rem;
	text-align: center;
	transition: border-color .2s, transform .2s, box-shadow .2s;
}
.eiptv-channels__region:hover {
	border-color: var(--clr-primary);
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0, 97, 255, .12);
}
.eiptv-channels__region-flags {
	font-size: 1.5rem;
	letter-spacing: 4px;
	line-height: 1.4;
	margin-bottom: .5rem;
}
.eiptv-channels__region-name {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.05rem;
	margin-bottom: 4px;
}
.eiptv-channels__region-count {
	font-size: .82rem;
	color: var(--clr-primary);
	font-weight: 600;
}

/* Compare cable vs IPTV (reuses VOD compare visual lang) */
.eiptv-channels__compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-top: 2rem;
}
@media (max-width: 800px) { .eiptv-channels__compare { grid-template-columns: 1fr; } }

.eiptv-channels__compare-col {
	position: relative;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 1.75rem;
}
.eiptv-channels__compare-col--bad { opacity: .85; }
.eiptv-channels__compare-col--good {
	border-color: var(--clr-primary);
	box-shadow: 0 18px 40px rgba(0, 97, 255, .15);
}
.eiptv-channels__compare-badge {
	position: absolute;
	top: -12px; right: 16px;
	background: var(--clr-primary);
	color: #fff;
	padding: 5px 12px;
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(0, 97, 255, .35);
}
.eiptv-channels__compare-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid var(--clr-border);
	margin-bottom: 1rem;
}
.eiptv-channels__compare-col--good .eiptv-channels__compare-head { border-color: var(--clr-primary); }
.eiptv-channels__compare-title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.15rem;
}
.eiptv-channels__compare-price {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.6rem;
	color: var(--clr-primary);
}
.eiptv-channels__compare-col--bad .eiptv-channels__compare-price { color: #DC2626; text-decoration: line-through; }
.eiptv-channels__compare-price span { font-size: .82rem; font-weight: 500; opacity: .7; }
.eiptv-channels__compare-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.eiptv-channels__compare-col li {
	position: relative;
	padding-left: 26px;
	font-size: .92rem;
	line-height: 1.55;
	color: var(--clr-text-muted);
}
.eiptv-channels__compare-col--bad li::before {
	content: '✕';
	position: absolute;
	left: 0; top: 0;
	width: 18px; height: 18px;
	background: rgba(220, 38, 38, .12);
	color: #DC2626;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-weight: 700;
	font-size: .72rem;
}
.eiptv-channels__compare-col--good li::before {
	content: '';
	position: absolute;
	left: 0; top: .35em;
	width: 18px; height: 18px;
	background: var(--clr-primary);
	border-radius: 50%;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px;
}
.eiptv-channels__compare-col--good li strong { color: var(--clr-text); }

/* Clickable comparison card (live WC plan) */
.eiptv-channels__compare-col--link {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: transform .2s, box-shadow .2s;
}
.eiptv-channels__compare-col--link:hover {
	transform: translateY(-3px);
	box-shadow: 0 22px 48px rgba(0, 97, 255, .22);
}
.eiptv-channels__compare-sub {
	font-size: .82rem;
	color: var(--clr-text-muted);
	margin: -8px 0 1rem;
	font-style: italic;
}
.eiptv-channels__compare-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 1.25rem;
	padding: 10px 18px;
	background: var(--clr-primary);
	color: #fff;
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .92rem;
	box-shadow: 0 6px 16px rgba(0, 97, 255, .3);
	transition: background .15s, transform .15s;
}
.eiptv-channels__compare-cta .icon { width: 14px; height: 14px; transition: transform .2s; }
.eiptv-channels__compare-col--link:hover .eiptv-channels__compare-cta { background: var(--clr-primary-dark, #0050d6); }
.eiptv-channels__compare-col--link:hover .eiptv-channels__compare-cta .icon { transform: translateX(3px); }
.eiptv-channels__compare-savings {
	margin-top: 1.5rem;
	padding: 1.25rem;
	background: linear-gradient(135deg, #ECFDF5, #D1FAE5);
	border: 1px solid #6EE7B7;
	border-radius: 12px;
	text-align: center;
}
.eiptv-channels__compare-savings-num {
	font-family: var(--font-heading);
	font-size: 1.85rem;
	font-weight: 800;
	color: #065F46;
	line-height: 1;
}
.eiptv-channels__compare-savings-lbl {
	font-size: .82rem;
	color: #047857;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-top: 4px;
	font-weight: 600;
}

/* Final dark CTA */
.eiptv-channels__cta-final {
	position: relative;
	text-align: center;
	background: linear-gradient(135deg, #0F172A, #1E293B);
	color: #fff;
	border-radius: var(--radius-lg);
	padding: 3rem 2rem;
	overflow: hidden;
	margin-bottom: 2rem;
}
.eiptv-channels__cta-final::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(0, 97, 255, .25), transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(124, 58, 237, .25), transparent 50%);
	pointer-events: none;
}
.eiptv-channels__cta-final > * { position: relative; }
.eiptv-channels__cta-final-badge {
	display: inline-block;
	padding: 5px 14px;
	background: rgba(252, 211, 77, .15);
	color: #FBBF24;
	border: 1px solid rgba(252, 211, 77, .35);
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}
.eiptv-channels__cta-final h2 {
	margin: 0 0 .75rem;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	color: #fff;
}
.eiptv-channels__cta-final p {
	max-width: 540px;
	margin: 0 auto 1.75rem;
	color: rgba(255, 255, 255, .8);
	line-height: 1.7;
	font-size: 1.02rem;
}
.eiptv-channels__cta-final-actions {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 1.5rem;
}
.eiptv-channels__cta-final-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.eiptv-channels__cta-final-actions .icon { width: 18px; height: 18px; }
.eiptv-channels__cta-final-trust {
	display: inline-flex;
	gap: 1.75rem;
	flex-wrap: wrap;
	justify-content: center;
	color: rgba(255, 255, 255, .65);
	font-size: .85rem;
}
.eiptv-channels__cta-final-trust span { display: inline-flex; align-items: center; gap: 6px; }
.eiptv-channels__cta-final-trust .icon { width: 14px; height: 14px; color: #10B981; }

/* Stats strip */
.eiptv-channels__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	border-radius: var(--radius-lg);
	padding: 1.75rem 1rem;
	box-shadow: 0 12px 36px rgba(0, 97, 255, .25);
}
.eiptv-channels__stat {
	text-align: center;
	color: #fff;
	padding: 0 1rem;
	border-right: 1px solid rgba(255, 255, 255, .15);
}
.eiptv-channels__stat:last-child { border-right: none; }
.eiptv-channels__stat-num {
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 800;
	line-height: 1;
	margin-bottom: 6px;
}
.eiptv-channels__stat-lbl {
	font-size: .82rem;
	opacity: .9;
	text-transform: uppercase;
	letter-spacing: .08em;
}
@media (max-width: 700px) {
	.eiptv-channels__stats { grid-template-columns: repeat(2, 1fr); padding: 1.25rem .5rem; gap: 1rem 0; }
	.eiptv-channels__stat { border-right: none; }
}

/* Search box */
.eiptv-channels__search-box {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: 999px;
	padding: 8px 16px 8px 20px;
	box-shadow: 0 8px 24px rgba(15, 23, 41, .05);
	transition: border-color .2s, box-shadow .2s;
	max-width: 720px;
	margin: 0 auto;
}
.eiptv-channels__search-box:focus-within {
	border-color: var(--clr-primary);
	box-shadow: 0 0 0 4px rgba(0, 97, 255, .15);
}
.eiptv-channels__search-icon { color: var(--clr-text-muted); display: flex; }
.eiptv-channels__search-icon .icon { width: 20px; height: 20px; }
#eiptv-ch-search {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	font: inherit;
	font-size: 1rem;
	color: var(--clr-text);
	padding: 12px 0;
}
.eiptv-channels__count {
	flex-shrink: 0;
	padding: 6px 12px;
	background: var(--clr-bg-alt);
	border-radius: 999px;
	color: var(--clr-text-muted);
	font-size: .82rem;
	font-weight: 600;
}

/* Tabs */
.eiptv-channels__tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1.5rem;
}
.eiptv-channels__tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 14px;
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: 999px;
	color: var(--clr-text);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .88rem;
	cursor: pointer;
	transition: all .2s;
}
.eiptv-channels__tab .icon { width: 14px; height: 14px; }
.eiptv-channels__tab:hover {
	background: #fff;
	border-color: var(--clr-primary);
	color: var(--clr-primary);
}
.eiptv-channels__tab.is-active {
	background: var(--clr-primary);
	border-color: var(--clr-primary);
	color: #fff;
}
.eiptv-channels__tab-count {
	display: inline-block;
	min-width: 22px;
	padding: 0 6px;
	background: rgba(0, 0, 0, .08);
	border-radius: 999px;
	font-size: .72rem;
	line-height: 18px;
	font-weight: 700;
}
.eiptv-channels__tab.is-active .eiptv-channels__tab-count { background: rgba(255, 255, 255, .25); }

/* Group */
.eiptv-channels__group {
	margin-bottom: 2.5rem;
	scroll-margin-top: 100px;
}
.eiptv-channels__group:last-child { margin-bottom: 0; }
.eiptv-channels__group-head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid var(--clr-primary);
}
.eiptv-channels__group-icon {
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	border-radius: 12px;
	color: #fff;
	flex-shrink: 0;
}
.eiptv-channels__group-icon .icon { width: 22px; height: 22px; }
.eiptv-channels__group-head h2 { margin: 0; font-size: 1.3rem; line-height: 1.2; }
.eiptv-channels__group-count {
	font-size: .8rem;
	color: var(--clr-text-muted);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 600;
}

/* Channel grid */
.eiptv-channels__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 8px;
}
.eiptv-channels__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 14px;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: 10px;
	transition: border-color .15s, transform .15s, box-shadow .15s;
}
.eiptv-channels__item:hover {
	border-color: var(--clr-primary);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 97, 255, .1);
}
.eiptv-channels__flag {
	font-size: 1.15rem;
	line-height: 1;
	flex-shrink: 0;
}
.eiptv-channels__name {
	flex: 1;
	font-size: .92rem;
	font-weight: 500;
	color: var(--clr-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.eiptv-channels__quality {
	flex-shrink: 0;
	padding: 2px 8px;
	border-radius: 6px;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.eiptv-channels__quality--4k {
	background: linear-gradient(135deg, #FBBF24, #F59E0B);
	color: #78350F;
}
.eiptv-channels__quality--fhd {
	background: rgba(0, 97, 255, .12);
	color: var(--clr-primary);
}
.eiptv-channels__quality--hd {
	background: var(--clr-bg-alt);
	color: var(--clr-text-muted);
}

/* Empty state */
.eiptv-channels__empty {
	text-align: center;
	padding: 56px 24px;
	background: var(--clr-surface);
	border: 1px dashed var(--clr-border);
	border-radius: var(--radius-lg);
	margin-bottom: 2rem;
}
.eiptv-channels__empty .icon { width: 48px; height: 48px; color: var(--clr-text-muted); opacity: .5; margin-bottom: 1rem; }
.eiptv-channels__empty h3 { margin: 0 0 .5rem; font-size: 1.25rem; }
.eiptv-channels__empty .btn { margin-top: 1rem; }

/* CTA */
.eiptv-channels__cta {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.75rem;
	align-items: center;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 2rem;
	box-shadow: 0 12px 36px rgba(15, 23, 41, .05);
}
.eiptv-channels__cta-icon {
	width: 72px; height: 72px;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	border-radius: 18px;
	color: #fff;
	flex-shrink: 0;
	box-shadow: 0 12px 28px rgba(0, 97, 255, .3);
}
.eiptv-channels__cta-icon .icon { width: 36px; height: 36px; }
.eiptv-channels__cta h2 { margin: 0 0 .35rem; font-size: 1.3rem; }
.eiptv-channels__cta .muted { margin: 0 0 1.25rem; line-height: 1.6; }
.eiptv-channels__cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.eiptv-channels__cta-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.eiptv-channels__cta-actions .icon { width: 16px; height: 16px; }
@media (max-width: 600px) {
	.eiptv-channels__cta { grid-template-columns: 1fr; padding: 1.5rem; text-align: left; }
	.eiptv-channels__cta-icon { margin: 0; }
}

/* ----------------------------------------------------------
   60g. Legal pages (.eiptv-legal) — Privacy / Terms / Refund / Cookies
---------------------------------------------------------- */
.eiptv-legal { padding: 56px 0 80px; }

.eiptv-legal__layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 3rem;
	align-items: start;
}
@media (max-width: 1024px) {
	.eiptv-legal__layout { grid-template-columns: 1fr; gap: 2rem; }
}

/* TOC sidebar */
.eiptv-legal__toc-wrap { position: sticky; top: 100px; }
@media (max-width: 1024px) { .eiptv-legal__toc-wrap { position: static; } }

.eiptv-legal__toc {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	box-shadow: 0 8px 28px rgba(15, 23, 41, .05);
}
.eiptv-legal__toc-head { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 2px solid var(--clr-primary); }
.eiptv-legal__toc-eyebrow {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--clr-primary);
}
.eiptv-legal__toc-nav ol {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 2px;
	max-height: 50vh;
	overflow-y: auto;
}
.eiptv-legal__toc-nav a {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 8px 10px;
	border-radius: 8px;
	color: var(--clr-text);
	text-decoration: none;
	font-size: .9rem;
	line-height: 1.4;
	transition: background .15s, color .15s;
}
.eiptv-legal__toc-nav a:hover {
	background: var(--clr-bg-alt);
	color: var(--clr-primary);
}
.eiptv-legal__toc-num {
	flex-shrink: 0;
	width: 26px;
	font-family: var(--font-heading);
	font-weight: 700;
	color: var(--clr-primary);
	font-size: .82rem;
}

.eiptv-legal__toc-meta {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--clr-border);
	display: grid;
	gap: 12px;
}
.eiptv-legal__toc-row {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: .88rem;
}
.eiptv-legal__toc-row .icon { width: 16px; height: 16px; color: var(--clr-primary); flex-shrink: 0; margin-top: 2px; }
.eiptv-legal__toc-row span {
	display: block;
	font-size: .75rem;
	color: var(--clr-text-muted);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: 2px;
}
.eiptv-legal__toc-row strong,
.eiptv-legal__toc-row a {
	color: var(--clr-text);
	font-size: .9rem;
	font-weight: 600;
	word-break: break-word;
}
.eiptv-legal__toc-row a { color: var(--clr-primary); text-decoration: none; }
.eiptv-legal__toc-row a:hover { text-decoration: underline; }
.eiptv-legal__toc .btn { margin-top: 1.25rem; }

/* Content */
.eiptv-legal__content {
	min-width: 0;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 2.5rem 2.75rem;
	box-shadow: 0 8px 28px rgba(15, 23, 41, .04);
}
@media (max-width: 700px) { .eiptv-legal__content { padding: 1.5rem 1.25rem; } }

.eiptv-legal__lead {
	font-size: 1.08rem;
	line-height: 1.7;
	color: var(--clr-text);
	background: var(--clr-bg-alt);
	border-left: 4px solid var(--clr-primary);
	padding: 1.1rem 1.25rem;
	border-radius: 0 12px 12px 0;
	margin: 0 0 2rem;
}

.eiptv-legal__content h2 {
	font-size: 1.35rem;
	margin: 2.5rem 0 .75rem;
	padding-top: .75rem;
	scroll-margin-top: 100px;
	color: var(--clr-text);
	line-height: 1.3;
}
.eiptv-legal__content h2:first-of-type { margin-top: 0; padding-top: 0; }

.eiptv-legal__content p,
.eiptv-legal__content li { line-height: 1.75; }
.eiptv-legal__content p { margin: 0 0 1rem; }
.eiptv-legal__content ul,
.eiptv-legal__content ol { margin: 0 0 1.25rem 1.25rem; padding: 0; }
.eiptv-legal__content li { margin-bottom: .5rem; }
.eiptv-legal__content li strong { color: var(--clr-text); }
.eiptv-legal__content a {
	color: var(--clr-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.eiptv-legal__content a:hover { text-decoration: none; }

/* ----------------------------------------------------------
   60f. FAQ page (.eiptv-faq)
---------------------------------------------------------- */
.eiptv-faq__search-wrap { padding: 48px 0 32px; }
.eiptv-faq__groups-wrap { padding: 16px 0 64px; }
.eiptv-faq__help-wrap { padding: 64px 0; }

/* Search bar */
.eiptv-faq__search-box {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: 999px;
	padding: 8px 16px 8px 20px;
	box-shadow: 0 8px 28px rgba(15, 23, 41, .06);
	transition: border-color .2s, box-shadow .2s;
}
.eiptv-faq__search-box:focus-within {
	border-color: var(--clr-primary);
	box-shadow: 0 0 0 4px rgba(0, 97, 255, .15);
}
.eiptv-faq__search-icon { color: var(--clr-text-muted); display: flex; }
.eiptv-faq__search-icon .icon { width: 20px; height: 20px; }
#eiptv-faq-search {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	font: inherit;
	font-size: 1rem;
	color: var(--clr-text);
	padding: 12px 0;
}
.eiptv-faq__count {
	flex-shrink: 0;
	padding: 6px 12px;
	background: var(--clr-bg-alt);
	border-radius: 999px;
	color: var(--clr-text-muted);
	font-size: .82rem;
	font-weight: 600;
}

/* Category tabs */
.eiptv-faq__tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1.5rem;
}
.eiptv-faq__tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: 999px;
	color: var(--clr-text);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .88rem;
	cursor: pointer;
	transition: all .2s;
}
.eiptv-faq__tab .icon { width: 14px; height: 14px; }
.eiptv-faq__tab:hover {
	background: #fff;
	border-color: var(--clr-primary);
	color: var(--clr-primary);
}
.eiptv-faq__tab.is-active {
	background: var(--clr-primary);
	border-color: var(--clr-primary);
	color: #fff;
}

/* Group */
.eiptv-faq__group {
	margin-bottom: 2.5rem;
	scroll-margin-top: 100px;
}
.eiptv-faq__group:last-child { margin-bottom: 0; }
.eiptv-faq__group-head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid var(--clr-primary);
}
.eiptv-faq__group-icon {
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	border-radius: 12px;
	color: #fff;
	flex-shrink: 0;
}
.eiptv-faq__group-icon .icon { width: 22px; height: 22px; }
.eiptv-faq__group-head h2 { margin: 0; font-size: 1.3rem; line-height: 1.2; }
.eiptv-faq__group-count {
	font-size: .8rem;
	color: var(--clr-text-muted);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 600;
}

.eiptv-faq__list { display: grid; gap: 12px; }
.eiptv-faq__item { scroll-margin-top: 100px; }

/* Empty state */
.eiptv-faq__empty {
	text-align: center;
	padding: 64px 24px;
	background: var(--clr-surface);
	border: 1px dashed var(--clr-border);
	border-radius: var(--radius-lg);
	margin-bottom: 2rem;
}
.eiptv-faq__empty .icon { width: 48px; height: 48px; color: var(--clr-text-muted); opacity: .5; margin-bottom: 1rem; }
.eiptv-faq__empty h3 { margin: 0 0 .5rem; font-size: 1.25rem; }
.eiptv-faq__empty .btn { margin-top: 1rem; }

/* Help banner */
.eiptv-faq__help {
	text-align: center;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 2.5rem 1.75rem;
	box-shadow: 0 12px 40px rgba(15, 23, 41, .06);
}
.eiptv-faq__help-icon {
	width: 72px; height: 72px;
	margin: 0 auto 1rem;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	border-radius: 18px;
	color: #fff;
	box-shadow: 0 12px 28px rgba(0, 97, 255, .3);
}
.eiptv-faq__help-icon .icon { width: 36px; height: 36px; }
.eiptv-faq__help h2 { margin: 0 0 .5rem; font-size: clamp(1.4rem, 2.4vw, 1.8rem); }
.eiptv-faq__help .muted { max-width: 520px; margin: 0 auto 1.5rem; line-height: 1.6; }
.eiptv-faq__help-actions {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}
.eiptv-faq__help-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.eiptv-faq__help-actions .icon { width: 16px; height: 16px; }

@media (max-width: 600px) {
	.eiptv-faq__search-box { padding: 6px 12px 6px 16px; }
	.eiptv-faq__count { display: none; }
	.eiptv-faq__group-head h2 { font-size: 1.1rem; }
}

/* ----------------------------------------------------------
   60e. About page (.eiptv-about)
---------------------------------------------------------- */
.eiptv-about__story-wrap { padding: 64px 0; }
.eiptv-about__mission-wrap { padding: 64px 0; }
.eiptv-about__values-wrap,
.eiptv-about__why-wrap { padding: 72px 0; }
.eiptv-about__journey-wrap { padding: 72px 0; }
.eiptv-about__promise-wrap { padding: 64px 0; }

.eiptv-about__eyebrow {
	display: inline-block;
	padding: 4px 12px;
	background: rgba(0, 97, 255, .1);
	color: var(--clr-primary);
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	margin-bottom: .75rem;
}
.eiptv-about__eyebrow--inverse {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}

/* Story: text + media collage */
.eiptv-about__story {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 4rem;
	align-items: center;
}
.eiptv-about__story-text h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 1rem; line-height: 1.2; }
.eiptv-about__story-text p { line-height: 1.75; margin: 0 0 1rem; }
.eiptv-about__story-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 1.5rem; }
.eiptv-about__story-cta .btn { display: inline-flex; align-items: center; gap: 8px; }
.eiptv-about__story-cta .icon { width: 16px; height: 16px; }

.eiptv-about__story-media {
	position: relative;
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 16px;
	min-height: 460px;
}
.eiptv-about__media-main {
	grid-row: 1 / 3;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--clr-bg-alt);
	box-shadow: 0 12px 40px rgba(15, 23, 41, .12);
	position: relative;
}
.eiptv-about__media-main img,
.eiptv-about__media-sub img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.eiptv-about__media-sub {
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--clr-bg-alt);
	box-shadow: 0 8px 28px rgba(15, 23, 41, .12);
	align-self: end;
	min-height: 180px;
}
.eiptv-about__media-ph {
	width: 100%; height: 100%; min-height: 180px;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, #EEF2FF, #DBEAFE);
	color: var(--clr-primary);
}
.eiptv-about__media-ph .icon { width: 64px; height: 64px; opacity: .55; }

.eiptv-about__floating-stat {
	position: absolute;
	bottom: -20px; left: -20px;
	background: var(--clr-primary);
	color: #fff;
	padding: 14px 22px;
	border-radius: 14px;
	box-shadow: 0 14px 36px rgba(0, 97, 255, .35);
	z-index: 2;
}
.eiptv-about__floating-num { font-family: var(--font-heading); font-size: 1.6rem; font-weight: 800; line-height: 1; }
.eiptv-about__floating-lbl { font-size: .78rem; opacity: .9; margin-top: 2px; }

@media (max-width: 900px) {
	.eiptv-about__story { grid-template-columns: 1fr; gap: 2.5rem; }
	.eiptv-about__story-media { min-height: 360px; }
	.eiptv-about__floating-stat { left: 16px; bottom: -16px; }
}

/* Mission band (dark) */
.eiptv-about__mission { text-align: center; max-width: 760px; margin: 0 auto 3rem; }
.eiptv-about__mission h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin: 0 0 1rem; color: #fff; }
.eiptv-about__mission p { color: rgba(255, 255, 255, .8); line-height: 1.7; margin: 0; }

.eiptv-about__strip {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: var(--radius-lg);
	padding: 1.75rem;
}
.eiptv-about__strip-item { text-align: center; padding: .5rem; }
.eiptv-about__strip-icon {
	width: 44px; height: 44px;
	margin: 0 auto .75rem;
	display: flex; align-items: center; justify-content: center;
	background: rgba(0, 97, 255, .2);
	border-radius: 12px;
	color: #fff;
}
.eiptv-about__strip-icon .icon { width: 22px; height: 22px; }
.eiptv-about__strip-num { font-family: var(--font-heading); font-size: 1.75rem; font-weight: 800; color: #fff; line-height: 1; }
.eiptv-about__strip-lbl { font-size: .85rem; color: rgba(255, 255, 255, .7); margin-top: 6px; }
@media (max-width: 700px) {
	.eiptv-about__strip { grid-template-columns: repeat(2, 1fr); padding: 1.25rem; }
}

/* Values cards */
.eiptv-about__values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
@media (max-width: 900px) { .eiptv-about__values { grid-template-columns: 1fr; } }
.eiptv-about__value-card {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 2rem 1.75rem;
	text-align: left;
	transition: transform .2s, box-shadow .2s, border-color .2s;
}
.eiptv-about__value-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(15, 23, 41, .08);
	border-color: var(--clr-primary);
}
.eiptv-about__value-icon {
	width: 56px; height: 56px;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	color: #fff;
	border-radius: 14px;
	margin-bottom: 1.25rem;
}
.eiptv-about__value-icon .icon { width: 28px; height: 28px; }
.eiptv-about__value-card h3 { margin: 0 0 .5rem; font-size: 1.15rem; }
.eiptv-about__value-card p { margin: 0; color: var(--clr-text-muted); line-height: 1.65; }

/* Timeline */
.eiptv-about__timeline {
	list-style: none;
	padding: 0;
	margin: 0;
	position: relative;
	max-width: 820px;
	margin: 0 auto;
}
.eiptv-about__timeline::before {
	content: '';
	position: absolute;
	left: 78px; top: 8px; bottom: 8px;
	width: 2px;
	background: linear-gradient(to bottom, var(--clr-primary), rgba(0, 97, 255, .15));
}
.eiptv-about__milestone {
	position: relative;
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 32px;
	padding: 0 0 2rem 0;
	align-items: flex-start;
}
.eiptv-about__milestone:last-child { padding-bottom: 0; }
.eiptv-about__milestone-year {
	font-family: var(--font-heading);
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--clr-primary);
	background: #fff;
	padding: 6px 12px;
	border: 2px solid var(--clr-primary);
	border-radius: 12px;
	text-align: center;
	z-index: 1;
	width: 90px;
	box-shadow: 0 4px 12px rgba(0, 97, 255, .15);
}
.eiptv-about__milestone-body {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 1.25rem 1.5rem;
	flex: 1;
	transition: border-color .2s, transform .2s;
}
.eiptv-about__milestone-body:hover { border-color: var(--clr-primary); transform: translateX(4px); }
.eiptv-about__milestone-body h4 { margin: 0 0 .35rem; font-size: 1.1rem; }
.eiptv-about__milestone-body p { margin: 0; color: var(--clr-text-muted); line-height: 1.6; font-size: .95rem; }

@media (max-width: 700px) {
	.eiptv-about__timeline::before { left: 38px; }
	.eiptv-about__milestone { grid-template-columns: 70px 1fr; gap: 16px; }
	.eiptv-about__milestone-year { width: 64px; padding: 4px 6px; font-size: 1.05rem; }
}

/* Why-us grid */
.eiptv-about__why-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
@media (max-width: 900px) { .eiptv-about__why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .eiptv-about__why-grid { grid-template-columns: 1fr; } }
.eiptv-about__why-card {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	transition: border-color .2s, transform .2s;
}
.eiptv-about__why-card:hover { border-color: var(--clr-primary); transform: translateY(-2px); }
.eiptv-about__why-icon {
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(0, 97, 255, .1);
	color: var(--clr-primary);
	border-radius: 12px;
	margin-bottom: 1rem;
}
.eiptv-about__why-icon .icon { width: 22px; height: 22px; }
.eiptv-about__why-card h4 { margin: 0 0 .35rem; font-size: 1.02rem; }
.eiptv-about__why-card p { margin: 0; color: var(--clr-text-muted); line-height: 1.55; font-size: .92rem; }

/* Promise band (dark) */
.eiptv-about__promise {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 2rem;
	align-items: center;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--radius-lg);
	padding: 2.5rem;
}
.eiptv-about__promise-icon {
	width: 96px; height: 96px;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	border-radius: 24px;
	color: #fff;
	flex-shrink: 0;
	box-shadow: 0 12px 32px rgba(0, 97, 255, .35);
}
.eiptv-about__promise-icon .icon { width: 48px; height: 48px; }
.eiptv-about__promise h2 { margin: 0 0 .75rem; color: #fff; font-size: clamp(1.35rem, 2.2vw, 1.75rem); }
.eiptv-about__promise p { color: rgba(255, 255, 255, .8); line-height: 1.7; margin: 0 0 1.25rem; }
.eiptv-about__promise-stats {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
}
.eiptv-about__promise-stats > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.eiptv-about__promise-stats strong {
	font-family: var(--font-heading);
	font-size: 1.4rem;
	color: #fff;
	font-weight: 800;
}
.eiptv-about__promise-stats span {
	font-size: .82rem;
	color: rgba(255, 255, 255, .65);
	text-transform: uppercase;
	letter-spacing: .08em;
}
@media (max-width: 700px) {
	.eiptv-about__promise { grid-template-columns: 1fr; padding: 1.75rem; gap: 1.5rem; text-align: left; }
	.eiptv-about__promise-icon { margin: 0; }
}

/* ----------------------------------------------------------
   60d. DMCA Notice page (.eiptv-dmca)
---------------------------------------------------------- */
.eiptv-dmca__intro-wrap { padding: 48px 0 24px; }
.eiptv-dmca__req-wrap,
.eiptv-dmca__counter-wrap,
.eiptv-dmca__warn-wrap,
.eiptv-dmca__cta-wrap,
.eiptv-dmca__body-wrap { padding: 32px 0; }
.eiptv-dmca__agent-wrap { padding: 48px 0; }

/* Intro */
.eiptv-dmca__intro {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.25rem;
	align-items: flex-start;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 1.75rem;
	box-shadow: 0 8px 28px rgba(15, 23, 41, .05);
}
.eiptv-dmca__shield {
	width: 56px; height: 56px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(0, 97, 255, .1);
	border-radius: 14px;
	color: var(--clr-primary);
	flex-shrink: 0;
}
.eiptv-dmca__shield .icon { width: 28px; height: 28px; }
.eiptv-dmca__updated {
	font-size: .8rem;
	color: var(--clr-text-muted);
	text-transform: uppercase;
	letter-spacing: .08em;
	margin: 0 0 .5rem;
	font-weight: 600;
}
.eiptv-dmca__intro h2 { margin: 0 0 .5rem; font-size: 1.4rem; }
.eiptv-dmca__intro p { margin: 0; line-height: 1.7; color: var(--clr-text-muted); }
@media (max-width: 600px) {
	.eiptv-dmca__intro { grid-template-columns: 1fr; padding: 1.25rem; }
}

/* Section heads */
.eiptv-dmca__section-head { margin-bottom: 1.75rem; }
.eiptv-dmca__eyebrow {
	display: inline-block;
	padding: 4px 10px;
	background: rgba(0, 97, 255, .1);
	color: var(--clr-primary);
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	margin-bottom: .5rem;
}
.eiptv-dmca__section-head h2 { font-size: clamp(1.35rem, 2vw, 1.75rem); margin: 0 0 .5rem; }
.eiptv-dmca__section-head .muted { margin: 0; line-height: 1.6; }

/* Requirements list (numbered) */
.eiptv-dmca__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 16px;
	counter-reset: dmca;
}
.eiptv-dmca__list li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px;
	align-items: flex-start;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: 12px;
	padding: 16px 18px;
	transition: border-color .2s, transform .2s;
}
.eiptv-dmca__list li:hover { border-color: var(--clr-primary); transform: translateY(-1px); }
.eiptv-dmca__num {
	width: 36px; height: 36px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--clr-primary);
	color: #fff;
	border-radius: 50%;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
	flex-shrink: 0;
}
.eiptv-dmca__list h4 { margin: 0 0 .25rem; font-size: 1rem; font-weight: 700; }
.eiptv-dmca__list p { margin: 0; color: var(--clr-text-muted); font-size: .92rem; line-height: 1.55; }

/* Designated agent card */
.eiptv-dmca__agent-card {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	display: grid;
	gap: 1.25rem;
	box-shadow: 0 8px 28px rgba(15, 23, 41, .05);
}
.eiptv-dmca__agent-row {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px;
	align-items: flex-start;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--clr-border);
}
.eiptv-dmca__agent-row:last-child { padding-bottom: 0; border-bottom: none; }
.eiptv-dmca__agent-icon {
	width: 44px; height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--clr-bg-alt);
	border-radius: 12px;
	color: var(--clr-primary);
	flex-shrink: 0;
}
.eiptv-dmca__agent-icon .icon { width: 22px; height: 22px; }
.eiptv-dmca__agent-label {
	font-size: .8rem;
	color: var(--clr-text-muted);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 600;
	margin-bottom: 4px;
}
.eiptv-dmca__agent-value {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--clr-text);
	text-decoration: none;
	display: block;
	margin-bottom: .35rem;
}
a.eiptv-dmca__agent-value:hover { color: var(--clr-primary); }
.eiptv-dmca__agent-row .muted { margin: 0; font-size: .88rem; line-height: 1.55; }

/* Counter-notice grid */
.eiptv-dmca__counter-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
}
@media (max-width: 700px) { .eiptv-dmca__counter-grid { grid-template-columns: 1fr; } }
.eiptv-dmca__counter-card {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
}
.eiptv-dmca__counter-card h4 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 1rem;
	font-size: 1.05rem;
	padding-bottom: .75rem;
	border-bottom: 2px solid var(--clr-primary);
}
.eiptv-dmca__counter-card h4 .icon { width: 18px; height: 18px; color: var(--clr-primary); }
.eiptv-dmca__counter-card ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.eiptv-dmca__counter-card li {
	position: relative;
	padding-left: 22px;
	font-size: .92rem;
	line-height: 1.55;
	color: var(--clr-text-muted);
}
.eiptv-dmca__counter-card li::before {
	content: '';
	position: absolute;
	left: 0; top: .55em;
	width: 8px; height: 8px;
	background: var(--clr-primary);
	border-radius: 50%;
}

/* Warning banner */
.eiptv-dmca__warning {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px;
	align-items: flex-start;
	background: #FEF3C7;
	border: 1px solid #FCD34D;
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	color: #78350F;
}
.eiptv-dmca__warning-icon {
	width: 48px; height: 48px;
	display: inline-flex; align-items: center; justify-content: center;
	background: #FBBF24;
	color: #78350F;
	border-radius: 12px;
	flex-shrink: 0;
}
.eiptv-dmca__warning h3 { margin: 0 0 .5rem; color: #78350F; font-size: 1.1rem; }
.eiptv-dmca__warning p { margin: 0; line-height: 1.65; font-size: .94rem; }

/* CTA */
.eiptv-dmca__cta {
	text-align: center;
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 2.5rem 1.5rem;
}
.eiptv-dmca__cta h3 { margin: 0 0 .5rem; font-size: 1.35rem; }
.eiptv-dmca__cta .muted { max-width: 520px; margin: 0 auto 1.5rem; line-height: 1.6; }
.eiptv-dmca__cta-actions {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}
.eiptv-dmca__cta-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.eiptv-dmca__cta-actions .icon { width: 16px; height: 16px; }

/* ----------------------------------------------------------
   60c. Blog page (.eiptv-blog)
---------------------------------------------------------- */
.eiptv-blog__featured-wrap { padding: 56px 0 32px; }
.eiptv-blog__toolbar-wrap { padding: 16px 0 24px; }
.eiptv-blog__listing-wrap { padding: 24px 0 72px; }

/* Featured */
.eiptv-blog__featured {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 0;
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: 0 12px 40px rgba(15, 23, 41, .06);
}
.eiptv-blog__featured-media {
	position: relative;
	display: block;
	min-height: 320px;
	overflow: hidden;
	background: var(--clr-bg-alt);
}
.eiptv-blog__featured-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.eiptv-blog__featured-media:hover img { transform: scale(1.04); }
.eiptv-blog__featured-badge {
	position: absolute;
	top: 16px; left: 16px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: var(--clr-primary);
	color: #fff;
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: .8rem;
	letter-spacing: .03em;
	box-shadow: 0 4px 12px rgba(0, 97, 255, .35);
}
.eiptv-blog__featured-badge .icon { width: 14px; height: 14px; }
.eiptv-blog__featured-body {
	padding: 2.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
}
.eiptv-blog__featured-title {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	line-height: 1.25;
	margin: 0;
}
.eiptv-blog__featured-title a { color: var(--clr-text); text-decoration: none; }
.eiptv-blog__featured-title a:hover { color: var(--clr-primary); }
.eiptv-blog__featured-excerpt { color: var(--clr-text-muted); margin: 0; font-size: 1.02rem; line-height: 1.65; }
.eiptv-blog__featured-meta {
	display: flex;
	gap: 1.25rem;
	color: var(--clr-text-muted);
	font-size: .9rem;
}
.eiptv-blog__featured-meta span { display: inline-flex; align-items: center; gap: 6px; }
.eiptv-blog__featured-meta .icon { width: 14px; height: 14px; }
.eiptv-blog__featured-body .btn { align-self: flex-start; margin-top: .5rem; }

@media (max-width: 900px) {
	.eiptv-blog__featured { grid-template-columns: 1fr; }
	.eiptv-blog__featured-media { min-height: 240px; }
	.eiptv-blog__featured-body { padding: 1.5rem; }
}

/* Toolbar (pills + search) */
.eiptv-blog__toolbar {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 1rem 0;
	border-top: 1px solid var(--clr-border);
	border-bottom: 1px solid var(--clr-border);
}
.eiptv-blog__pills {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.eiptv-blog__pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: var(--clr-bg-alt);
	color: var(--clr-text);
	border: 1px solid var(--clr-border);
	border-radius: 999px;
	text-decoration: none;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .88rem;
	transition: all .2s;
	white-space: nowrap;
}
.eiptv-blog__pill:hover {
	background: #fff;
	border-color: var(--clr-primary);
	color: var(--clr-primary);
}
.eiptv-blog__pill.is-active {
	background: var(--clr-primary);
	border-color: var(--clr-primary);
	color: #fff;
}
.eiptv-blog__pill-count {
	display: inline-block;
	min-width: 20px;
	padding: 0 6px;
	background: rgba(0, 0, 0, .08);
	border-radius: 999px;
	font-size: .72rem;
	text-align: center;
	line-height: 18px;
}
.eiptv-blog__pill.is-active .eiptv-blog__pill-count { background: rgba(255, 255, 255, .25); }

.eiptv-blog__search {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: #fff;
	border: 1px solid var(--clr-border);
	border-radius: 999px;
	min-width: 240px;
	transition: border-color .2s, box-shadow .2s;
}
.eiptv-blog__search:focus-within {
	border-color: var(--clr-primary);
	box-shadow: 0 0 0 3px rgba(0, 97, 255, .15);
}
.eiptv-blog__search .icon { width: 16px; height: 16px; color: var(--clr-text-muted); flex-shrink: 0; }
.eiptv-blog__search input {
	border: none;
	outline: none;
	background: transparent;
	font: inherit;
	color: var(--clr-text);
	width: 100%;
}

/* Layout: main + sidebar */
.eiptv-blog__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 2.5rem;
	align-items: start;
}
.eiptv-blog__main { min-width: 0; }
.eiptv-blog__sidebar {
	position: sticky;
	top: 100px;
	display: grid;
	gap: 1.25rem;
}
@media (max-width: 1024px) {
	.eiptv-blog__layout { grid-template-columns: 1fr; }
	.eiptv-blog__sidebar { position: static; grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
	.eiptv-blog__sidebar { grid-template-columns: 1fr; }
}

/* Card meta inside grid */
.eiptv-blog__card-meta {
	display: flex;
	gap: 6px;
	align-items: center;
	font-size: .78rem;
	color: var(--clr-text-muted);
	margin-bottom: .5rem;
	text-transform: uppercase;
	letter-spacing: .05em;
}
.eiptv-blog__card-cat {
	color: var(--clr-primary);
	font-weight: 700;
	text-decoration: none;
}
.eiptv-blog__card-cat:hover { text-decoration: underline; }

/* Sidebar widgets */
.eiptv-blog__widget {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
}
.eiptv-blog__widget-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 1rem;
	font-size: 1rem;
	font-family: var(--font-heading);
	font-weight: 700;
	padding-bottom: .75rem;
	border-bottom: 2px solid var(--clr-primary);
}
.eiptv-blog__widget-title .icon { width: 18px; height: 18px; color: var(--clr-primary); }

/* Popular reads */
.eiptv-blog__popular { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.eiptv-blog__popular li { display: flex; gap: 12px; align-items: flex-start; }
.eiptv-blog__rank {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: var(--clr-bg-alt);
	border: 1px solid var(--clr-border);
	border-radius: 8px;
	font-family: var(--font-heading);
	font-weight: 700;
	color: var(--clr-primary);
	font-size: .9rem;
}
.eiptv-blog__popular-link {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-decoration: none;
	color: inherit;
	min-width: 0;
}
.eiptv-blog__popular-title {
	color: var(--clr-text);
	font-weight: 600;
	font-size: .92rem;
	line-height: 1.4;
	transition: color .15s;
}
.eiptv-blog__popular-link:hover .eiptv-blog__popular-title { color: var(--clr-primary); }
.eiptv-blog__popular-meta { color: var(--clr-text-muted); font-size: .78rem; }

/* Categories list */
.eiptv-blog__cats { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.eiptv-blog__cats a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 12px;
	border-radius: 8px;
	color: var(--clr-text);
	text-decoration: none;
	font-weight: 500;
	font-size: .92rem;
	transition: background .15s, color .15s;
}
.eiptv-blog__cats a:hover {
	background: var(--clr-bg-alt);
	color: var(--clr-primary);
}
.eiptv-blog__cat-count {
	display: inline-block;
	min-width: 24px;
	padding: 2px 8px;
	background: var(--clr-bg-alt);
	border-radius: 999px;
	font-size: .75rem;
	text-align: center;
	color: var(--clr-text-muted);
}
.eiptv-blog__cats a:hover .eiptv-blog__cat-count { background: var(--clr-primary); color: #fff; }

/* CTA widget */
.eiptv-blog__widget--cta {
	background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark, #0050d6));
	color: #fff;
	text-align: center;
	border: none;
}
.eiptv-blog__widget--cta .icon { width: 36px; height: 36px; margin: 0 auto .5rem; color: #fff; }
.eiptv-blog__widget--cta h3 { margin: 0 0 .25rem; font-size: 1.15rem; color: #fff; }
.eiptv-blog__widget--cta p { margin: 0 0 1rem; font-size: .9rem; opacity: .9; }
.eiptv-blog__widget--cta .btn--primary {
	background: #fff;
	color: var(--clr-primary);
	box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
}
.eiptv-blog__widget--cta .btn--primary:hover { background: #f3f4f6; transform: translateY(-1px); }
.btn--full { width: 100%; justify-content: center; }

/* Empty state */
.eiptv-blog__empty {
	text-align: center;
	padding: 64px 24px;
	background: var(--clr-surface);
	border: 1px dashed var(--clr-border);
	border-radius: var(--radius-lg);
}
.eiptv-blog__empty .icon { width: 48px; height: 48px; color: var(--clr-text-muted); margin-bottom: 1rem; opacity: .6; }
.eiptv-blog__empty h3 { margin: 0 0 .5rem; font-size: 1.25rem; }
.eiptv-blog__empty .btn { margin-top: 1.25rem; }

/* ----------------------------------------------------------
   60b. Contact (Contact Form 7) page
---------------------------------------------------------- */
.eiptv-contact-cf7 .grid--2 { gap: 2.5rem; }

.eiptv-contact-cf7__form-wrap {
	background: var(--clr-surface);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-lg);
	padding: 2rem;
	box-shadow: 0 4px 24px rgba(15, 23, 41, .04);
}
.eiptv-contact-cf7__head { margin-bottom: 1.5rem; }
.eiptv-contact-cf7__head h2 { margin: 0 0 .5rem; font-size: 1.5rem; }
.eiptv-contact-cf7__head .muted { margin: 0; }

.eiptv-contact-cf7__notice {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: #FFFBEB;
	border: 1px solid #FDE68A;
	border-radius: 12px;
	padding: 16px;
	color: #78350F;
}
.eiptv-contact-cf7__notice strong { display: block; margin-bottom: .25rem; color: #1A1A1A; }
.eiptv-contact-cf7__notice p { margin: 0; font-size: .92rem; line-height: 1.55; }
.eiptv-contact-cf7__notice a { color: var(--clr-primary); font-weight: 600; }

/* CF7 form re-skin (.wpcf7-form lives inside .eiptv-contact-cf7__form) */
.eiptv-contact-cf7__form .wpcf7 { margin: 0; }
.eiptv-contact-cf7__form .wpcf7-form p { margin: 0 0 1rem; }
.eiptv-contact-cf7__form label {
	display: block;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: .92rem;
	color: var(--clr-text);
	margin-bottom: 6px;
}
.eiptv-contact-cf7__form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):not(.wpcf7-checkbox):not(.wpcf7-radio) {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--clr-border);
	border-radius: 10px;
	background: #fff;
	font-family: var(--font-body);
	font-size: 1rem;
	color: var(--clr-text);
	transition: border-color .2s, box-shadow .2s;
}
.eiptv-contact-cf7__form .wpcf7-form-control:focus {
	outline: none;
	border-color: var(--clr-primary);
	box-shadow: 0 0 0 3px rgba(0, 97, 255, .15);
}
.eiptv-contact-cf7__form textarea.wpcf7-form-control {
	min-height: 140px;
	resize: vertical;
}
.eiptv-contact-cf7__form select.wpcf7-form-control {
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230F1729' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 38px;
}
.eiptv-contact-cf7__form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	background: var(--clr-primary);
	color: #fff;
	border: none;
	border-radius: 999px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	transition: background .2s, transform .15s, box-shadow .2s;
	box-shadow: 0 4px 12px rgba(0, 97, 255, .25);
}
.eiptv-contact-cf7__form .wpcf7-submit:hover {
	background: var(--clr-primary-dark, #0050d6);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 97, 255, .35);
}
.eiptv-contact-cf7__form .wpcf7-submit:disabled { opacity: .6; cursor: wait; transform: none; }
.eiptv-contact-cf7__form .wpcf7-spinner { margin-left: 10px; }

.eiptv-contact-cf7__form .wpcf7-not-valid-tip {
	color: #DC2626;
	font-size: .85rem;
	margin-top: 4px;
	display: block;
}
.eiptv-contact-cf7__form .wpcf7-form-control.wpcf7-not-valid {
	border-color: #DC2626;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, .12);
}
.eiptv-contact-cf7__form .wpcf7-response-output {
	margin: 1.25rem 0 0 !important;
	padding: 12px 16px !important;
	border-radius: 10px !important;
	border: 1px solid var(--clr-border) !important;
	font-size: .92rem;
}
.eiptv-contact-cf7__form .wpcf7 form.sent .wpcf7-response-output {
	background: #ECFDF5;
	border-color: #A7F3D0 !important;
	color: #065F46;
}
.eiptv-contact-cf7__form .wpcf7 form.invalid .wpcf7-response-output,
.eiptv-contact-cf7__form .wpcf7 form.failed .wpcf7-response-output {
	background: #FEF2F2;
	border-color: #FECACA !important;
	color: #991B1B;
}
.eiptv-contact-cf7__form .wpcf7-acceptance label {
	display: inline-flex;
	gap: 8px;
	align-items: flex-start;
	font-weight: 500;
	font-size: .9rem;
	color: var(--clr-text-muted);
	cursor: pointer;
}
.eiptv-contact-cf7__form .wpcf7-list-item { margin: 0; }

@media (max-width: 768px) {
	.eiptv-contact-cf7__form-wrap { padding: 1.25rem; }
	.eiptv-contact-cf7 .grid--2 { gap: 1.5rem; }
}

/* ============================================================
   60Z. Global responsive overrides — sweeps to fix mobile fitness
   Audit pass: 2026-04-24. Targets ≤768px and ≤480px specifically.
============================================================ */

/* ---- Single product page (.eiptv-product__*) — mobile fitness ---- */
.eiptv-pdp-main { padding: 32px 0 64px; }
@media (max-width: 768px) {
	.eiptv-pdp-main { padding: 16px 0 48px; }
	.eiptv-pdp-main .container { padding-left: 14px !important; padding-right: 14px !important; }

	/* The product card itself — give it breathing room from edges */
	.eiptv-product { padding: 0; }

	/* Breadcrumb chips: shrink + scroll if too long */
	.eiptv-product__bc { margin-bottom: 14px; }
	.eiptv-product__bc-list {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		font-size: .76rem !important;
		padding: 6px 12px !important;
	}
	.eiptv-product__bc-list::-webkit-scrollbar { display: none; }
	.eiptv-product__bc-item { white-space: nowrap; max-width: none !important; }
	.eiptv-product__bc-item.is-current span { max-width: none !important; }

	/* Layout: tighten gap between media and details */
	.eiptv-product__layout { gap: 18px !important; }

	/* Media: tighter padding */
	.eiptv-product__media { padding: 10px !important; margin-bottom: 12px !important; }
	.eiptv-product__placeholder-duration { font-size: 1.4rem !important; }
	.eiptv-product__placeholder-devices { font-size: .82rem !important; }
	.eiptv-product__media-placeholder svg { width: 56px !important; height: 56px !important; }

	/* Trust card */
	.eiptv-product__trust-card { padding: 14px !important; }
	.eiptv-product__trust-row { font-size: .85rem; gap: 10px !important; }

	/* Details column: title smaller */
	.eiptv-product__title {
		font-size: clamp(1.35rem, 5.5vw, 1.7rem) !important;
		line-height: 1.2 !important;
		margin-bottom: 10px !important;
	}

	.eiptv-product__plan-meta {
		gap: 8px 14px !important;
		font-size: .82rem !important;
		margin-bottom: 14px !important;
	}
	.eiptv-product__plan-meta .icon { width: 14px !important; height: 14px !important; }

	/* Price block — most important readability fix */
	.eiptv-product__price-block {
		padding: 14px 14px !important;
		margin-bottom: 16px !important;
	}
	.eiptv-product__price-block .price {
		font-size: 1.65rem !important;
		flex-wrap: wrap;
		gap: 4px 8px !important;
		align-items: baseline !important;
	}
	.eiptv-product__price-block .woocommerce-Price-currencySymbol {
		font-size: 1rem !important;
		margin-right: 2px !important;
	}
	.eiptv-product__price-block .price del { font-size: .85rem !important; }
	.eiptv-product__save {
		margin-left: 0 !important;
		margin-top: 6px !important;
		font-size: .62rem !important;
		padding: 3px 8px !important;
		display: inline-block !important;
	}

	/* Features list — single column, smaller */
	.eiptv-product__features {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
		margin-bottom: 16px !important;
	}
	.eiptv-product__features li { font-size: .88rem !important; }
	.eiptv-product__features li .icon { width: 18px !important; height: 18px !important; }

	/* Excerpt smaller */
	.eiptv-product__excerpt { font-size: .92rem !important; margin-bottom: 16px !important; }

	/* ===== ADD-TO-CART — the most important interaction ===== */
	.eiptv-product__cart { margin-bottom: 14px; }
	.eiptv-product__cart .cart {
		flex-direction: column !important;
		gap: 10px !important;
		margin: 0 !important;
	}
	.eiptv-product__cart .cart .quantity {
		width: 100%;
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.eiptv-product__cart .cart .quantity::before {
		content: 'Qty';
		font-family: var(--font-heading);
		font-weight: 600;
		font-size: .82rem;
		color: var(--clr-text-muted);
		text-transform: uppercase;
		letter-spacing: .08em;
	}
	.eiptv-product__cart .cart .quantity input.qty {
		flex: 1;
		width: auto !important;
		max-width: 120px;
		height: 48px !important;
		font-size: 1rem !important;
	}
	.eiptv-product__cart .cart button.single_add_to_cart_button {
		width: 100% !important;
		height: 56px !important;
		padding: 0 20px !important;
		font-size: 1.02rem !important;
		letter-spacing: .03em !important;
		box-shadow: 0 12px 28px rgba(0, 97, 255, .4) !important;
		text-decoration: none !important;
	}
	.eiptv-product__cart .cart button.single_add_to_cart_button::before {
		width: 20px !important;
		height: 20px !important;
	}

	/* Quick trust badges */
	.eiptv-product__quick-trust {
		gap: 12px 14px !important;
		font-size: .8rem !important;
		margin-bottom: 14px !important;
	}
	.eiptv-product__quick-trust span { white-space: nowrap; }
	.eiptv-product__quick-trust .icon { width: 14px !important; height: 14px !important; }

	/* Payment chips: smaller, wrap, with breathing room */
	.eiptv-product__pay-row {
		gap: 6px !important;
		flex-wrap: wrap !important;
		align-items: center;
	}
	.eiptv-product__pay-label { font-size: .72rem !important; flex-basis: 100%; margin-bottom: 4px; }
	.eiptv-product__pay {
		font-size: .68rem !important;
		padding: 4px 8px !important;
		letter-spacing: .04em !important;
	}

	/* WC tabs (.woocommerce-tabs) horizontal scroll on mobile */
	.woocommerce-tabs { padding-top: 16px !important; }
	.woocommerce-tabs ul.tabs {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		white-space: nowrap !important;
		flex-wrap: nowrap !important;
		padding: 0 !important;
		margin: 0 0 16px !important;
	}
	.woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
	.woocommerce-tabs ul.tabs li {
		flex-shrink: 0;
		font-size: .85rem !important;
	}
	.woocommerce-Tabs-panel { padding: 0 !important; font-size: .92rem; }
	.woocommerce-Tabs-panel h2 { font-size: 1.2rem !important; margin: 0 0 .75rem !important; }

	/* Why-this-plan grid */
	.eiptv-product__why { padding: 32px 0 !important; }
	.eiptv-product__why-card { padding: 16px !important; }
	.eiptv-product__why-icon { width: 40px !important; height: 40px !important; }
	.eiptv-product__why-icon .icon { width: 20px !important; height: 20px !important; }

	/* Related / upsell products grid */
	.related.products ul.products,
	.up-sells.products ul.products,
	ul.products { grid-template-columns: 1fr !important; gap: 12px !important; }
}

/* ---- Tiny phones ≤380px: even tighter ---- */
@media (max-width: 380px) {
	.eiptv-pdp-main .container { padding-left: 10px !important; padding-right: 10px !important; }
	.eiptv-product__title { font-size: 1.25rem !important; }
	.eiptv-product__price-block .price { font-size: 1.45rem !important; }
	.eiptv-product__cart .cart .quantity input.qty { max-width: 100px; }
}

/* ---- Stat cards (.stats-v2) — shrink internals so 2-col fits on mobile ---- */
@media (max-width: 768px) {
	.stats-v2 { gap: 10px !important; }
	.stat-card {
		padding: 14px !important;
		gap: 10px !important;
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
		min-width: 0;
	}
	.stat-card__icon { width: 40px !important; height: 40px !important; border-radius: 10px !important; }
	.stat-card__icon .icon { width: 20px !important; height: 20px !important; }
	.stat-card__num { font-size: 1.25rem !important; line-height: 1.1; }
	.stat-card__label { font-size: .75rem !important; line-height: 1.3; }
	.stat-card > div:last-child { min-width: 0; width: 100%; }
}
@media (max-width: 380px) {
	.stats-v2 { grid-template-columns: 1fr !important; }
	.stat-card { flex-direction: row; align-items: center; padding: 12px 14px !important; }
}

/* ---- Header — hide overflowing CTA & shrink icons on mobile (≤1024px) ---- */
@media (max-width: 1024px) {
	.header-cta { display: none !important; }
	.header-actions { gap: 4px; }
	.header-icon-btn { width: 36px; height: 36px; }
}

/* ---- On the smallest phones, drop the search icon to keep cart + hamburger visible ---- */
@media (max-width: 420px) {
	.header-search { display: none !important; }
	.site-header .container { padding-left: 12px; padding-right: 12px; }
}

/* ---- Hero v2: stack content ABOVE the visual on mobile ---- */
@media (max-width: 992px) {
	.hero-v2__content { order: 1; grid-row: 1; }
	.hero-v2__visual  { order: 2; grid-row: 2; max-width: 380px; margin: 0 auto; }
}

/* ---- Announcement bar: hide if there's no text (empty bar showing) ---- */
.announcement-bar:empty { display: none !important; }
.announcement-bar .announcement-bar__inner:empty { display: none !important; }
.announcement-bar__inner { padding: 0 12px; }
.announcement-bar__close { flex-shrink: 0; }

/* ---- Universal overflow guard ---- */
html, body { overflow-x: hidden; max-width: 100%; }
img, video, iframe, embed, object { max-width: 100%; height: auto; }
table { max-width: 100%; }
pre, code { overflow-x: auto; max-width: 100%; }

/* Wrap any long words / URLs that would otherwise widen the viewport */
.post-content, .eiptv-legal__content, .eiptv-blog__widget, .feature-card, .photo-card {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* ---- Tablet ≤1024px ---- */
@media (max-width: 1024px) {
	.eiptv-marketing__aside,
	.eiptv-cart__aside,
	.eiptv-checkout__aside { position: static !important; top: auto !important; }
}

/* ---- Tablet ≤960px ---- */
@media (max-width: 960px) {
	.alignwide { margin-left: 0; margin-right: 0; max-width: 100%; }
	.alignfull { margin-left: 0; margin-right: 0; }
}

/* ---- Tablet ≤768px ---- */
@media (max-width: 768px) {

	/* All sticky sidebars detach below tablet (audit items 11-14) */
	.eiptv-blog__sidebar,
	.eiptv-blog__toc-wrap,
	.eiptv-legal__toc-wrap,
	.eiptv-marketing__aside,
	.eiptv-cart__aside,
	.eiptv-checkout__aside { position: static !important; top: auto !important; }

	/* Section padding tightening */
	.section { padding: 48px 0; }
	.section--alt, .section--bright, .section--dark { padding: 48px 0; }
	.section__head { margin-bottom: 1.5rem; }

	/* Container side padding */
	.container, .container--narrow, .container--wide { padding-left: 16px; padding-right: 16px; }

	/* Headlines that were too big */
	h1 { font-size: clamp(1.6rem, 6vw, 2rem) !important; }
	h2 { font-size: clamp(1.35rem, 5vw, 1.7rem) !important; }
	h3 { font-size: clamp(1.15rem, 4vw, 1.4rem) !important; }

	/* Specific oversized numbers — audit items 6-10 */
	.reseller-teaser__earnings-num,
	.pricing-card-v2__price,
	.eiptv-marketing__title,
	.error-404__code { font-size: clamp(1.8rem, 7vw, 2.2rem) !important; line-height: 1.1; }
	.eiptv-reseller__stat-num { font-size: 1.5rem !important; }

	/* 3-col grids without proper mobile fallback — audit item 18 */
	.photo-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.sports-v2__pills { grid-template-columns: 1fr !important; }
	.compare-table__head, .compare-table__row { font-size: .82rem; }

	/* CTA padding (audit items 16-17) */
	.eiptv-vod__cta,
	.eiptv-channels__cta-final,
	.eiptv-channels__cta { padding: 2rem 1.25rem !important; }
	.eiptv-vod__cta h2,
	.eiptv-channels__cta-final h2 { font-size: clamp(1.4rem, 6vw, 1.8rem) !important; }

	/* Page header (inner pages) */
	.page-header { padding: 2.5rem 0 2rem; }
	.page-header__title { font-size: clamp(1.6rem, 6vw, 2rem) !important; }
	.page-header__subtitle { font-size: .95rem; }
	.breadcrumbs__list { font-size: .82rem; }

	/* Pricing/feature cards — give them room */
	.pricing-card-v2, .feature-card { padding: 1.25rem !important; }

	/* WooCommerce checkout/cart 2-cols → stack */
	.woocommerce-checkout form.checkout,
	.woocommerce form.checkout_coupon,
	.woocommerce-cart .woocommerce { display: block !important; }

	/* Tabs / pills — allow horizontal scroll if many */
	.eiptv-faq__tabs,
	.eiptv-channels__tabs,
	.eiptv-blog__pills {
		overflow-x: auto;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 4px;
		justify-content: flex-start;
	}
	.eiptv-faq__tabs::-webkit-scrollbar,
	.eiptv-channels__tabs::-webkit-scrollbar,
	.eiptv-blog__pills::-webkit-scrollbar { display: none; }
	.eiptv-faq__tab, .eiptv-channels__tab, .eiptv-blog__pill { flex-shrink: 0; }

	/* Section heads with right-aligned "see all" — stack */
	.eiptv-vod__section-head { flex-direction: column; align-items: flex-start; gap: .75rem; }

	/* Comparison cards — already 1 col, but tighten internals */
	.eiptv-vod__compare-col,
	.eiptv-channels__compare-col { padding: 1.5rem 1.25rem !important; }
	.eiptv-vod__compare-price,
	.eiptv-channels__compare-price { font-size: 1.4rem; }

	/* Footer columns — stack */
	.site-footer__cols { grid-template-columns: 1fr 1fr !important; }

	/* Hero stats grids */
	.eiptv-channels__hero-stats,
	.eiptv-vod__stats { grid-template-columns: repeat(2, 1fr) !important; gap: 8px; }
	.eiptv-channels__hstat-num,
	.eiptv-vod__stat-num { font-size: 1.3rem !important; }
}

/* ---- Phone ≤600px ---- */
@media (max-width: 600px) {

	/* Audit items 1, 3, 4, 5: make 4-col strips fully stack-friendly */
	.stats-v2 { grid-template-columns: repeat(2, 1fr) !important; }
	.eiptv-about__strip { grid-template-columns: repeat(2, 1fr) !important; }
	.eiptv-thankyou__facts { grid-template-columns: 1fr !important; }
	.compare-table__head, .compare-table__row { grid-template-columns: 1fr !important; gap: 6px; }

	/* Stat tiles inside hero collapse to 1 col on tiny screens */
	.eiptv-channels__hero-stats,
	.eiptv-vod__stats { grid-template-columns: 1fr !important; }

	/* Photo grid → 1 col on phones */
	.photo-grid { grid-template-columns: 1fr !important; }

	/* Pricing rail → 1 col */
	.pricing-grid-v2 { grid-template-columns: 1fr !important; }

	/* Footer fully stacks */
	.site-footer__cols { grid-template-columns: 1fr !important; }

	/* Trust badges / cta-trust rows wrap nicely */
	.eiptv-vod__cta-trust,
	.eiptv-channels__cta-final-trust,
	.eiptv-channels__hero-trust { gap: .75rem; font-size: .8rem; }
	.eiptv-vod__cta-trust span,
	.eiptv-channels__cta-final-trust span { flex-basis: 100%; justify-content: center; }

	/* Buttons full width by default on tiny screens */
	.eiptv-vod__hero-actions .btn,
	.eiptv-channels__hero-actions .btn,
	.eiptv-vod__cta-actions .btn,
	.eiptv-channels__cta-final-actions .btn {
		width: 100%;
		justify-content: center;
	}

	/* Page header — tighten breadcrumbs to one line scroll */
	.breadcrumbs__list { white-space: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.breadcrumbs__list::-webkit-scrollbar { display: none; }

	/* Forms / inputs — full width */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="search"],
	input[type="password"],
	textarea, select { max-width: 100% !important; box-sizing: border-box; }

	/* Tables: horizontal scroll for any wide table */
	table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }

	/* Reduce featured/floating absolute badges to avoid overflow */
	.eiptv-about__floating-stat { left: 12px !important; bottom: -12px !important; padding: 10px 14px; }
	.eiptv-about__floating-num { font-size: 1.3rem; }

	/* Marquee speed slow down so users can read on small screens */
	.eiptv-channels__marquee-track { animation-duration: 30s; gap: 24px; }

	/* DMCA / Legal numbered list — collapse to single column */
	.eiptv-dmca__list li { grid-template-columns: 1fr !important; gap: 8px; }
	.eiptv-dmca__list .eiptv-dmca__num { width: 28px; height: 28px; font-size: .85rem; }

	/* About promise band stack */
	.eiptv-about__promise-stats { gap: 1rem; }

	/* Cards inside genres / studios shrink padding */
	.eiptv-vod__genre, .eiptv-vod__studio,
	.eiptv-channels__league, .eiptv-channels__region { padding: 1rem !important; }

	/* Legal TOC list height bigger on mobile so readable */
	.eiptv-legal__toc-nav ol { max-height: none; }
}

/* ---- Tiny phone ≤380px ---- */
@media (max-width: 380px) {
	.section { padding: 36px 0; }
	.btn { padding: 10px 16px; font-size: .92rem; }
	.btn--lg { padding: 12px 18px; font-size: .95rem; }
	.eiptv-faq__search-box,
	.eiptv-channels__search-box { padding: 4px 8px 4px 12px; }
	#eiptv-faq-search,
	#eiptv-ch-search { font-size: .92rem; padding: 10px 0; }
}

/* ----------------------------------------------------------
   61. Print
---------------------------------------------------------- */
@media print {
	.site-header, .site-footer, .back-to-top, .social-proof, .announcement-bar, .mobile-nav, .top-bar { display: none !important; }
	body { background: #fff; color: #000; }
	a { color: #000; text-decoration: underline; }
}
