/*
 * IPTVB "Liquid glass" visual style (v5) — implements LIQUID-GLASS-CHANGES.md
 * from Claude Design on top of the classic (v4) styles. Active when <body>
 * has .iptvb-glass (see iptvb_visual_style()).
 *
 * The GENERATED block applies the spec's colour mapping (§2–§5, §7) to every
 * section stylesheet and inline style — rebuild with
 * `node tools/build-glass.mjs` after section CSS changes. The hand-written
 * rules below cover §1 (page backdrop), §6 (header) and the mobile menu.
 * Text colours, accent text #FF5A67, the white trial button and success green
 * are unchanged, as specified.
 */

/* §1 Page backdrop: sections are see-through, so the body carries the ambient light. */
body.iptvb-glass {
	background-color: #0b0b0e;
}

/*
 * The spec uses background-attachment: fixed; a fixed layer gives the same
 * result and also works on iOS Safari, which ignores fixed backgrounds.
 */
body.iptvb-glass::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	background-color: #0b0b0e;
	background-image:
		radial-gradient(60vw 50vw at 12% 18%, rgba(215, 25, 42, 0.32), transparent 60%),
		radial-gradient(50vw 45vw at 90% 55%, rgba(215, 25, 42, 0.22), transparent 62%),
		radial-gradient(45vw 40vw at 40% 95%, rgba(120, 120, 140, 0.16), transparent 60%);
	pointer-events: none;
}

/* <GENERATED by tools/build-glass.mjs — do not edit> */
.iptvb-glass .iptvb-btn--primary {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-btn--primary:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-devices {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-devices__opt[aria-checked="true"] {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-article__cta-btn {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-article__cta-btn:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-cats {
	background: transparent !important;
}

.iptvb-glass .iptvb-city__section {
	background: transparent !important;
}

.iptvb-glass .iptvb-city__section--alt {
	background: rgba(255, 255, 255, 0.025) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-city__btn--primary {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-city__btn--primary:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-city__stats li {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-city__hero-media {
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-city__answer {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-city__card {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-city__photo {
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-city__banner {
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-city__chips li {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.iptvb-glass .iptvb-city__speeds {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-city__speeds th,
.iptvb-glass .iptvb-city__speeds td {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-city__num {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-city__sign {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
}

.iptvb-glass .iptvb-city__qa[open] .iptvb-city__sign {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-contact__field {
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.iptvb-glass .iptvb-contact__submit {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-contact__submit:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-contact__aside {
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-contact__row {
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-contact__row:hover {
	border-color: rgba(255, 255, 255, 0.16) !important;
}

.iptvb-glass .iptvb-contact__links {
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-contact__links a {
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-cta .iptvb-cta__btn--primary {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-cta .iptvb-cta__btn--primary:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-alldev {
	background: rgba(255, 255, 255, 0.025) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-alldev .iptvb-alldev__tile {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-alldev a.iptvb-alldev__tile:hover {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
}

.iptvb-glass .iptvb-faq__search {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-faq__cat {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.iptvb-glass .iptvb-faq__count {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
}

.iptvb-glass .iptvb-faq__cat[aria-pressed="true"] {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-faq__card {
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-faq__card-btn {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-faq__card-btn:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-faq__item {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-faq__item[open] {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
}

.iptvb-glass .iptvb-faq__sign {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
}

.iptvb-glass .iptvb-faq__item[open] .iptvb-faq__sign {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-faq__empty {
	border: 1px dashed rgba(255, 255, 255, 0.16) !important;
}

.iptvb-glass .iptvb-faqh__item {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-faqh__item.is-open {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
}

.iptvb-glass .iptvb-faqh__sign {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
}

.iptvb-glass .iptvb-faqh__q[aria-expanded="true"] .iptvb-faqh__sign {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-feat {
	background: rgba(255, 255, 255, 0.025) !important;
}

.iptvb-glass .iptvb-feat__card {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-trial__field {
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.iptvb-glass .iptvb-how .iptvb-how__btn--primary {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-how .iptvb-how__btn--primary:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-how .iptvb-how__btn--ghost {
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.iptvb-glass .iptvb-legal__toc {
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-legal__section {
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-plan {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-plan__badge {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__note {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-plan .iptvb-plan__cta {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
}

.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__cta {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__cta:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-plan__rule {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
}

.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__cta:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-price-table-wrap {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-price-table th,
.iptvb-glass .iptvb-price-table td {
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-setup-guide .iptvb-setup-guide__tab {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-footer {
	background: rgba(0, 0, 0, 0.35) !important;
}

.iptvb-glass .iptvb-footer__chip {
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-header {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-logo__mark {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-lang__link[aria-current="true"] {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-citytree__children {
	border-left: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-mobile-devices__all {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-sp {
	background: transparent !important;
}

.iptvb-glass .iptvb-sp__arrow--prev {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.iptvb-glass .iptvb-sp__arrow--next {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-sp__arrow--next:hover {
	background: linear-gradient(180deg, rgba(255, 92, 82, 0.9), rgba(255, 69, 58, 0.78)) !important;
}

.iptvb-glass .iptvb-sp__more li {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-stats {
	background: transparent !important;
}

.iptvb-glass .iptvb-stats__item {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
}

.iptvb-glass .iptvb-rv {
	background: rgba(255, 255, 255, 0.025) !important;
}

.iptvb-glass .iptvb-rv__shot {
	background: transparent !important;
}

.iptvb-glass .iptvb-trust__bar {
	background: rgba(255, 255, 255, 0.025) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-trust__badge {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-main [style*="background:#18181d" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="background:#16161b" i]:not(.iptvb-hero *) {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
}

.iptvb-glass .iptvb-main [style*="background:#1a1a1f" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="background:#1c1c22" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="background:#1e1e24" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="background:#111113" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="background:#111114" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="background:#1f1f25" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="background:#24242a" i]:not(.iptvb-hero *) {
	background: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
}

.iptvb-glass .iptvb-main [style*="background:#0e0e11" i]:not(.iptvb-hero *) {
	background: transparent !important;
}

.iptvb-glass .iptvb-main [style*="background:#131317" i]:not(.iptvb-hero *) {
	background: rgba(255, 255, 255, 0.025) !important;
}

.iptvb-glass .iptvb-main [style*="background:#08080a" i]:not(.iptvb-hero *) {
	background: rgba(0, 0, 0, 0.35) !important;
}

.iptvb-glass .iptvb-main [style*="background:#d7192a" i]:not(.iptvb-hero *) {
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62)) !important;
	-webkit-backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	backdrop-filter: blur(8px) saturate(180%) brightness(1.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35) !important;
	color: #fff !important;
}

.iptvb-glass .iptvb-main [style*="border:1px solid #2a2a31" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="border-color:#2a2a31" i]:not(.iptvb-hero *) {
	border-color: rgba(255, 255, 255, 0.14) !important;
}

.iptvb-glass .iptvb-main [style*="border:1px solid #222228" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="border-color:#222228" i]:not(.iptvb-hero *) {
	border-color: rgba(255, 255, 255, 0.08) !important;
}

.iptvb-glass .iptvb-main [style*="border:1px solid #33333b" i]:not(.iptvb-hero *),
.iptvb-glass .iptvb-main [style*="border-color:#33333b" i]:not(.iptvb-hero *) {
	border-color: rgba(255, 255, 255, 0.16) !important;
}

/* Hover light: glass catches the pointer light (pointer devices only). */
@media (hover: hover) and (pointer: fine) {
	.iptvb-glass .iptvb-devices,
	.iptvb-glass .iptvb-city__stats li,
	.iptvb-glass .iptvb-city__answer,
	.iptvb-glass .iptvb-city__card,
	.iptvb-glass .iptvb-city__chips li,
	.iptvb-glass .iptvb-city__speeds,
	.iptvb-glass .iptvb-faq__search,
	.iptvb-glass .iptvb-faq__cat,
	.iptvb-glass .iptvb-faq__item,
	.iptvb-glass .iptvb-faqh__item,
	.iptvb-glass .iptvb-feat__card,
	.iptvb-glass .iptvb-plan,
	.iptvb-glass .iptvb-plan .iptvb-plan__cta,
	.iptvb-glass .iptvb-price-table-wrap,
	.iptvb-glass .iptvb-setup-guide .iptvb-setup-guide__tab,
	.iptvb-glass .iptvb-sp__arrow--prev,
	.iptvb-glass .iptvb-sp__more li,
	.iptvb-glass .iptvb-stats__item,
	.iptvb-glass .iptvb-trust__badge,
	.iptvb-glass .iptvb-main [style*="background:#18181d" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#16161b" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-city__sign,
	.iptvb-glass .iptvb-alldev .iptvb-alldev__tile,
	.iptvb-glass .iptvb-faq__count,
	.iptvb-glass .iptvb-faq__item[open],
	.iptvb-glass .iptvb-faq__sign,
	.iptvb-glass .iptvb-faqh__item.is-open,
	.iptvb-glass .iptvb-faqh__sign,
	.iptvb-glass .iptvb-plan__rule,
	.iptvb-glass .iptvb-main [style*="background:#1a1a1f" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#1c1c22" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#1e1e24" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#111113" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#111114" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#1f1f25" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#24242a" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-btn--primary,
	.iptvb-glass .iptvb-article__cta-btn,
	.iptvb-glass .iptvb-city__btn--primary,
	.iptvb-glass .iptvb-city__num,
	.iptvb-glass .iptvb-city__qa[open] .iptvb-city__sign,
	.iptvb-glass .iptvb-contact__submit,
	.iptvb-glass .iptvb-cta .iptvb-cta__btn--primary,
	.iptvb-glass .iptvb-faq__card-btn,
	.iptvb-glass .iptvb-faq__item[open] .iptvb-faq__sign,
	.iptvb-glass .iptvb-how .iptvb-how__btn--primary,
	.iptvb-glass .iptvb-plan__badge,
	.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__note,
	.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__cta,
	.iptvb-glass .iptvb-logo__mark,
	.iptvb-glass .iptvb-sp__arrow--next,
	.iptvb-glass .iptvb-main [style*="background:#d7192a" i]:not(.iptvb-hero *) {
		transition: border-color 0.25s ease, box-shadow 0.25s ease;
	}

	.iptvb-glass .iptvb-devices:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-city__stats li:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-city__answer:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-city__card:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-city__chips li:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-city__speeds:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faq__search:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faq__cat:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faq__item:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faqh__item:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-feat__card:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-plan .iptvb-plan__cta:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-price-table-wrap:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-setup-guide .iptvb-setup-guide__tab:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-sp__arrow--prev:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-sp__more li:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-stats__item:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-trust__badge:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#18181d" i]:not(.iptvb-hero *):not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#16161b" i]:not(.iptvb-hero *):not(.iptvb-plan):hover {
		background: radial-gradient(280px circle at var(--glass-px, 50%) var(--glass-py, -30%), rgba(255, 255, 255, 0.16), transparent 65%) fixed, linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.045)) !important;
		border-color: rgba(255, 255, 255, 0.28) !important;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), inset 0 -1px 0 rgba(255, 255, 255, 0.08), 0 24px 60px -24px rgba(0, 0, 0, 0.75), 0 0 44px -14px rgba(255, 255, 255, 0.14) !important;
	}

	.iptvb-glass .iptvb-city__sign:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-alldev .iptvb-alldev__tile:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faq__count:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faq__item[open]:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faq__sign:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faqh__item.is-open:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faqh__sign:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-plan__rule:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#1a1a1f" i]:not(.iptvb-hero *):not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#1c1c22" i]:not(.iptvb-hero *):not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#1e1e24" i]:not(.iptvb-hero *):not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#111113" i]:not(.iptvb-hero *):not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#111114" i]:not(.iptvb-hero *):not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#1f1f25" i]:not(.iptvb-hero *):not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#24242a" i]:not(.iptvb-hero *):not(.iptvb-plan):hover {
		background: radial-gradient(200px circle at var(--glass-px, 50%) var(--glass-py, -30%), rgba(255, 255, 255, 0.11), transparent 65%) fixed, rgba(255, 255, 255, 0.1) !important;
		border-color: rgba(255, 255, 255, 0.26) !important;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0 32px -12px rgba(255, 255, 255, 0.14) !important;
	}

	.iptvb-glass .iptvb-btn--primary:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-article__cta-btn:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-city__btn--primary:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-city__num:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-city__qa[open] .iptvb-city__sign:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-contact__submit:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-cta .iptvb-cta__btn--primary:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faq__card-btn:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-faq__item[open] .iptvb-faq__sign:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-how .iptvb-how__btn--primary:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-plan__badge:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__note:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__cta:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-logo__mark:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-sp__arrow--next:not(.iptvb-plan):hover,
	.iptvb-glass .iptvb-main [style*="background:#d7192a" i]:not(.iptvb-hero *):not(.iptvb-plan):hover {
		background: radial-gradient(140px circle at var(--glass-px, 50%) var(--glass-py, -30%), rgba(255, 255, 255, 0.38), transparent 65%) fixed, linear-gradient(180deg, rgba(255, 92, 82, 0.92), rgba(255, 69, 58, 0.8)) !important;
		border-color: rgba(255, 255, 255, 0.4) !important;
		box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.7), inset 0 -1px 1px rgba(255, 255, 255, 0.35), inset 1px 0 1px rgba(255, 255, 255, 0.25), inset -1px 0 1px rgba(255, 255, 255, 0.25), 0 10px 40px rgba(255, 69, 58, 0.55) !important;
	}
}

/* Spec note: lighter blur on phones so scrolling stays smooth. */
@media (max-width: 819px) {
	.iptvb-glass .iptvb-devices,
	.iptvb-glass .iptvb-city__stats li,
	.iptvb-glass .iptvb-city__answer,
	.iptvb-glass .iptvb-city__card,
	.iptvb-glass .iptvb-city__chips li,
	.iptvb-glass .iptvb-city__speeds,
	.iptvb-glass .iptvb-city__sign,
	.iptvb-glass .iptvb-alldev .iptvb-alldev__tile,
	.iptvb-glass .iptvb-alldev a.iptvb-alldev__tile:hover,
	.iptvb-glass .iptvb-faq__search,
	.iptvb-glass .iptvb-faq__cat,
	.iptvb-glass .iptvb-faq__count,
	.iptvb-glass .iptvb-faq__item,
	.iptvb-glass .iptvb-faq__item[open],
	.iptvb-glass .iptvb-faq__sign,
	.iptvb-glass .iptvb-faqh__item,
	.iptvb-glass .iptvb-faqh__item.is-open,
	.iptvb-glass .iptvb-faqh__sign,
	.iptvb-glass .iptvb-feat__card,
	.iptvb-glass .iptvb-plan,
	.iptvb-glass .iptvb-plan .iptvb-plan__cta,
	.iptvb-glass .iptvb-plan__rule,
	.iptvb-glass .iptvb-price-table-wrap,
	.iptvb-glass .iptvb-setup-guide .iptvb-setup-guide__tab,
	.iptvb-glass .iptvb-sp__arrow--prev,
	.iptvb-glass .iptvb-sp__more li,
	.iptvb-glass .iptvb-stats__item,
	.iptvb-glass .iptvb-trust__badge,
	.iptvb-glass .iptvb-main [style*="background:#18181d" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#16161b" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#1a1a1f" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#1c1c22" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#1e1e24" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#111113" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#111114" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#1f1f25" i]:not(.iptvb-hero *),
	.iptvb-glass .iptvb-main [style*="background:#24242a" i]:not(.iptvb-hero *) {
		-webkit-backdrop-filter: blur(12px) saturate(160%);
		backdrop-filter: blur(12px) saturate(160%);
	}
}

/* Spec note: reduced transparency → the v4 solid colours. */
@media (prefers-reduced-transparency: reduce) {
	.iptvb-glass .iptvb-btn--primary {
		background: var(--iptvb-accent) !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-btn--primary:hover {
		background: var(--iptvb-accent-hover) !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-devices {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-devices__opt[aria-checked="true"] {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-article__cta-btn {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-article__cta-btn:hover {
		background: #b01220 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-cats {
		background: #0e0e11 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__section {
		background: #0e0e11 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__section--alt {
		border-top: 1px solid #222228 !important;
		border-bottom: 1px solid #222228 !important;
		background: #131317 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__btn--primary {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__btn--primary:hover {
		background: #b01220 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__stats li {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__hero-media {
		border: 1px solid #2a2a31 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__answer {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__card {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__photo {
		border: 1px solid #2a2a31 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__banner {
		border: 1px solid #2a2a31 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__chips li {
		border: 1px solid #33333b !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__speeds {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__speeds th,
	.iptvb-glass .iptvb-city__speeds td {
		border-bottom: 1px solid #222228 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__num {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__sign {
		background: #24242a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-city__qa[open] .iptvb-city__sign {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-contact__field {
		border: 1px solid #33333b !important;
		background: #0e0e11 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-contact__submit {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-contact__submit:hover {
		background: #b01220 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-contact__aside {
		border: 1px solid #2a2a31 !important;
		background: #131317 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-contact__row {
		border: 1px solid #222228 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-contact__row:hover {
		border-color: #33333b !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-contact__links {
		border-top: 1px solid #222228 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-contact__links a {
		border: 1px solid #2a2a31 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-cta .iptvb-cta__btn--primary {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-cta .iptvb-cta__btn--primary:hover {
		background: #b01220 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-alldev {
		border-top: 1px solid #222228 !important;
		border-bottom: 1px solid #222228 !important;
		background: #131317 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-alldev .iptvb-alldev__tile {
		border: 1px solid #2a2a31 !important;
		background: #1a1a1f !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-alldev a.iptvb-alldev__tile:hover {
		background: #1e1e24 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__search {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__cat {
		border: 1px solid #33333b !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__count {
		background: #24242a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__cat[aria-pressed="true"] {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__card {
		border: 1px solid #2a2a31 !important;
		background: #131317 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__card-btn {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__card-btn:hover {
		background: #b01220 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__item {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__item[open] {
		background: #1c1c22 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__sign {
		background: #24242a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__item[open] .iptvb-faq__sign {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faq__empty {
		border: 1px dashed #33333b !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faqh__item {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faqh__item.is-open {
		background: #1c1c22 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faqh__sign {
		background: #24242a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-faqh__q[aria-expanded="true"] .iptvb-faqh__sign {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-feat {
		background: #131317 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-feat__card {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-trial__field {
		border: 1px solid #33333b !important;
		background: #0e0e11 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-how .iptvb-how__btn--primary {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-how .iptvb-how__btn--primary:hover {
		background: #b01220 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-how .iptvb-how__btn--ghost {
		border: 1px solid #33333b !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-legal__toc {
		border: 1px solid #2a2a31 !important;
		background: #131317 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-legal__section {
		border-top: 1px solid #222228 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-plan {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-plan__badge {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__note {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-plan .iptvb-plan__cta {
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__cta {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__cta:hover {
		background: #b01220 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-plan__rule {
		background: #24242a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-plan.is-featured .iptvb-plan__cta:hover {
		background: #b01220 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-price-table-wrap {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-price-table th,
	.iptvb-glass .iptvb-price-table td {
		border-top: 1px solid #222228 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-setup-guide .iptvb-setup-guide__tab {
		border: 1.5px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-footer {
		background: var(--iptvb-deep) !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-footer__chip {
		border: 1px solid #2a2a31 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-header {
		border-bottom: 1px solid var(--iptvb-rule) !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-logo__mark {
		background: var(--iptvb-accent) !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-lang__link[aria-current="true"] {
		background: var(--iptvb-accent) !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-citytree__children {
		border-left: 1px solid #2a2a31 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-mobile-devices__all {
		border-bottom: 1px solid var(--iptvb-rule) !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-sp {
		background: #0e0e11 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-sp__arrow--prev {
		border: 1px solid #33333b !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-sp__arrow--next {
		background: #d7192a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-sp__arrow--next:hover {
		background: #b01220 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-sp__more li {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-stats {
		background: #0e0e11 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-stats__item {
		background: #16161b !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-rv {
		background: #131317 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-rv__shot {
		background-color: #0e0e11 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-trust__bar {
		border: 1px solid #2a2a31 !important;
		background: #131317 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-trust__badge {
		border: 1px solid #2a2a31 !important;
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#18181d" i]:not(.iptvb-hero *) {
		background: #18181d !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#16161b" i]:not(.iptvb-hero *) {
		background: #16161b !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#1a1a1f" i]:not(.iptvb-hero *) {
		background: #1a1a1f !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#1c1c22" i]:not(.iptvb-hero *) {
		background: #1c1c22 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#1e1e24" i]:not(.iptvb-hero *) {
		background: #1e1e24 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#111113" i]:not(.iptvb-hero *) {
		background: #111113 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#111114" i]:not(.iptvb-hero *) {
		background: #111114 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#1f1f25" i]:not(.iptvb-hero *) {
		background: #1f1f25 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#24242a" i]:not(.iptvb-hero *) {
		background: #24242a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#0e0e11" i]:not(.iptvb-hero *) {
		background: #0e0e11 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#131317" i]:not(.iptvb-hero *) {
		background: #131317 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#08080a" i]:not(.iptvb-hero *) {
		background: #08080a !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.iptvb-glass .iptvb-main [style*="background:#d7192a" i]:not(.iptvb-hero *) {
		background: #d7192a !important;
		box-shadow: none !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}
/* </GENERATED> */

/* §6 Header, scrolled / inner pages: lighter tint, existing blur kept. */
body.iptvb-glass.iptvb-glass .iptvb-header {
	border-bottom-color: rgba(255, 255, 255, 0.08);
	background: rgba(20, 20, 26, 0.45);
}

/* Over the home hero (before scrolling) the header stays as designed. */
body.iptvb-glass.iptvb-glass.iptvb-has-overlay-header .iptvb-header:not(.is-scrolled):not(.is-menu-open) {
	border-bottom-color: transparent;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));
}

/* Mobile menu: a dense glass sheet so links stay readable over the page.
   The header itself must NOT get a backdrop-filter while the menu is open:
   a filter makes it the containing block of the fixed menu panel and would
   squeeze the panel into the header's 60px. */
body.iptvb-glass.iptvb-glass .iptvb-header.is-menu-open {
	background: rgba(20, 20, 26, 0.96);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

body.iptvb-glass.iptvb-glass .iptvb-mobile-menu {
	background: rgba(20, 20, 26, 0.9);
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
}

body.iptvb-glass.iptvb-glass .iptvb-mobile-menu :is(.iptvb-mobile-menu__link, .iptvb-mobile-menu__langs a) {
	border-color: rgba(255, 255, 255, 0.08);
}

body.iptvb-glass.iptvb-glass .iptvb-mobile-menu__langs a {
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.07);
}

/* The spec replaces red fills only: the featured plan keeps its v4 red border. */
body.iptvb-glass.iptvb-glass .iptvb-plan.is-featured {
	border-color: #d7192a !important;
}

/* Pricing: the gray "Choose plan" buttons turn into red glass on hover (white text stays readable). */
@media (hover: hover) and (pointer: fine) {
	body.iptvb-glass.iptvb-glass .iptvb-plan:not(.is-featured) .iptvb-plan__cta:hover {
		border-color: rgba(255, 255, 255, 0.4) !important;
		background:
			radial-gradient(140px circle at var(--glass-px, 50%) var(--glass-py, -30%), rgba(255, 255, 255, 0.3), transparent 65%) fixed,
			linear-gradient(180deg, rgba(255, 92, 82, 0.92), rgba(255, 69, 58, 0.8)) !important;
		box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.7), inset 0 -1px 1px rgba(255, 255, 255, 0.35), inset 1px 0 1px rgba(255, 255, 255, 0.25), inset -1px 0 1px rgba(255, 255, 255, 0.25), 0 10px 40px rgba(255, 69, 58, 0.5) !important;
		color: #fff !important;
	}
}

/* Grouped glass grid ("Everything you need to stream"): the classic design draws
   dividers by letting a solid #2A2A31 container show through 1px gaps. In glass,
   the container is one frosted card and the cells are translucent, so the gaps
   read as fine glass hairlines. */
body.iptvb-glass.iptvb-glass .iptvb-main [style*="background:#2A2A31" i][style*="gap:1px" i] {
	border-color: rgba(255, 255, 255, 0.14) !important;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.07)) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 20px 50px -24px rgba(0, 0, 0, 0.7) !important;
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
}

body.iptvb-glass.iptvb-glass .iptvb-main [style*="background:#2A2A31" i][style*="gap:1px" i] > * {
	background: rgba(12, 12, 16, 0.55) !important;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	transition: background-color 0.25s ease;
}

@media (hover: hover) and (pointer: fine) {
	body.iptvb-glass.iptvb-glass .iptvb-main [style*="background:#2A2A31" i][style*="gap:1px" i] > *:hover {
		background:
			radial-gradient(260px circle at var(--glass-px, 50%) var(--glass-py, -30%), rgba(255, 255, 255, 0.12), transparent 65%) fixed,
			rgba(22, 22, 28, 0.45) !important;
	}
}

@media (prefers-reduced-transparency: reduce) {
	body.iptvb-glass.iptvb-glass .iptvb-main [style*="background:#2A2A31" i][style*="gap:1px" i] {
		background: #2a2a31 !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	body.iptvb-glass.iptvb-glass .iptvb-main [style*="background:#2A2A31" i][style*="gap:1px" i] > * {
		background: #111114 !important;
	}
}

/* §7 Red liquid glass on the hero's primary button and the language pills. */
body.iptvb-glass.iptvb-glass :is(.iptvb-hero .iptvb-hero__btn--primary, .iptvb-lang__link[aria-current="true"], .iptvb-mobile-menu__langs a[aria-current="true"]) {
	border-color: rgba(255, 255, 255, 0.22);
	background: linear-gradient(180deg, rgba(255, 69, 58, 0.78), rgba(255, 59, 48, 0.62));
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.55), inset 0 -1px 1px rgba(255, 255, 255, 0.3), inset 1px 0 1px rgba(255, 255, 255, 0.2), inset -1px 0 1px rgba(255, 255, 255, 0.2), 0 8px 32px rgba(255, 69, 58, 0.35);
	color: #fff;
}

/* Hover light on the hand-styled red glass (pointer devices only). */
@media (hover: hover) and (pointer: fine) {
	body.iptvb-glass.iptvb-glass :is(.iptvb-hero .iptvb-hero__btn--primary, .iptvb-lang__link[aria-current="true"]) {
		transition: border-color 0.25s ease, box-shadow 0.25s ease;
	}

	body.iptvb-glass.iptvb-glass :is(.iptvb-hero .iptvb-hero__btn--primary, .iptvb-lang__link[aria-current="true"]):hover {
		border-color: rgba(255, 255, 255, 0.4);
		background:
			radial-gradient(140px circle at var(--glass-px, 50%) var(--glass-py, -30%), rgba(255, 255, 255, 0.38), transparent 65%) fixed,
			linear-gradient(180deg, rgba(255, 92, 82, 0.92), rgba(255, 69, 58, 0.8));
		box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.7), inset 0 -1px 1px rgba(255, 255, 255, 0.35), inset 1px 0 1px rgba(255, 255, 255, 0.25), inset -1px 0 1px rgba(255, 255, 255, 0.25), 0 10px 40px rgba(255, 69, 58, 0.55);
	}

	/* The clear glass hero button and the language pill frame light up too. */
	body.iptvb-glass.iptvb-glass :is(.iptvb-hero .iptvb-hero__btn--glass, .iptvb-lang, .iptvb-hero__devs) {
		transition: border-color 0.25s ease, box-shadow 0.25s ease;
	}

	body.iptvb-glass.iptvb-glass :is(.iptvb-hero .iptvb-hero__btn--glass, .iptvb-lang, .iptvb-hero__devs):hover {
		border-color: rgba(255, 255, 255, 0.34);
		background-image: radial-gradient(220px circle at var(--glass-px, 50%) var(--glass-py, -30%), rgba(255, 255, 255, 0.16), transparent 65%);
		background-attachment: fixed;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 0 36px -12px rgba(255, 255, 255, 0.18);
	}
}

/* Reduced transparency: v4 solids for the hand-written parts too. */
@media (prefers-reduced-transparency: reduce) {
	body.iptvb-glass::before {
		display: none;
	}

	body.iptvb-glass {
		background-color: #0e0e11;
	}

	body.iptvb-glass.iptvb-glass .iptvb-header {
		border-bottom-color: #222228;
		background: rgba(14, 14, 17, 0.97);
	}

	body.iptvb-glass.iptvb-glass :is(.iptvb-header.is-menu-open, .iptvb-mobile-menu) {
		background: #0e0e11;
	}

	body.iptvb-glass.iptvb-glass :is(.iptvb-hero .iptvb-hero__btn--primary, .iptvb-lang__link[aria-current="true"], .iptvb-mobile-menu__langs a[aria-current="true"]) {
		background: #d7192a;
		box-shadow: 0 4px 14px -4px rgba(215, 25, 42, 0.8);
	}
}

/* §8 "Cities" mega menu: liquid glass panel (Claude Design cities-menu). */
body.iptvb-glass .iptvb-cities {
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04));
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), inset 0 -1px 1px rgba(255, 255, 255, 0.08), 0 40px 80px -30px rgba(0, 0, 0, 0.8);
	-webkit-backdrop-filter: blur(30px) saturate(180%) brightness(1.05);
	backdrop-filter: blur(30px) saturate(180%) brightness(1.05);
}

@media (prefers-reduced-transparency: reduce) {
	body.iptvb-glass .iptvb-cities {
		border-color: #2a2a31;
		background: rgba(24, 24, 29, 0.97);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

/*
 * §10 Home stats: the hero above and the plans below are solid, so a
 * see-through stats band showed the page glow as a red stripe. Use the
 * solid colour both edges end on (#0e0e11) instead; the cards stay glass.
 */
body.iptvb-glass .iptvb-stats {
	background: #0e0e11 !important;
}
