/* ==========================================================================
   British IPTV Sub – global design system
   Loaded on every page when the design is live (or in private preview).
   Structure: 1 tokens · 2 font · 3 base · 4 layout · 5 buttons · 6 header
              7 footer · 8 price cards · 9 CTA band · 10 articles
              11 archives · 12 404 · 13 FAQ accordion · 14 responsive
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
body.bis {
	--bis-navy-950: #030817;
	--bis-navy-900: #06132c;
	--bis-navy-800: #071b3c;
	--bis-navy-700: #0b2452;
	--bis-blue: #0866ff;
	--bis-blue-500: #2a7fff;
	--bis-cyan: #00a8ff;
	--bis-purple: #6d28d9;
	--bis-gold: #f5c451;
	--bis-gold-600: #e0a631;
	--bis-soft: #f6f9ff;
	--bis-ink: #0b1734;
	--bis-body: #33405a;
	--bis-muted: #66748c;
	--bis-line: #e3eaf6;
	--bis-on-dark: #e6eeff;
	--bis-on-dark-muted: #9fb0d0;

	--bis-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--bis-h1: clamp(2rem, 1rem + 2.1vw, 2.95rem);
	--bis-h2: clamp(1.65rem, 1.2rem + 1.35vw, 2.35rem);

	--bis-r-sm: 10px;
	--bis-r: 14px;
	--bis-r-lg: 18px;
	--bis-shadow: 0 14px 34px -16px rgba(11, 23, 52, .22), 0 2px 6px rgba(11, 23, 52, .05);
	--bis-wrap: 1200px;
	--bis-gutter: 24px;

	--bis-ico-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--bis-ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 4.5 4.5L19.5 6.5'/%3E%3C/svg%3E");
	--bis-ico-crown: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m2.5 7.5 5 4.2L12 4.5l4.5 7.2 5-4.2-2.2 11.5H4.7z' fill='%23000'/%3E%3C/svg%3E");
	--bis-ico-wa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5 5 16a8.5 8.5 0 1 1 3.2 3.1l-4.7 1.4z'/%3E%3Cpath d='M9 8.5c.2 3 3.3 6.3 6.5 6.5l1.2-1.5-2-1-1 .8c-1.1-.5-2.2-1.6-2.8-2.8l.8-1-1-2L9 8.5z'/%3E%3C/svg%3E");

	/* Map Elementor globals onto the design system (kit is updated to match). */
	--e-global-color-primary: var(--bis-blue);
	--e-global-color-secondary: var(--bis-navy-900);
	--e-global-color-text: var(--bis-body);
	--e-global-color-accent: var(--bis-blue);
	--e-global-typography-primary-font-family: var(--bis-font);
	--e-global-typography-secondary-font-family: var(--bis-font);
	--e-global-typography-text-font-family: var(--bis-font);
	--e-global-typography-accent-font-family: var(--bis-font);
}

/* 2. Font -------------------------------------------------------------------- */
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/inter-latin-var.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 3. Base -------------------------------------------------------------------- */
body.bis {
	font-family: var(--bis-font);
	color: var(--bis-body);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
/* One typeface site-wide. Individual Elementor widgets carry legacy font
   choices (Roboto, Jost…) at high specificity; icon fonts are excluded. */
body.bis :is(h1, h2, h3, h4, h5, h6, p, a, li, td, th, label, input, select, textarea, button, blockquote, figcaption,
	.elementor-heading-title, .elementor-button, .elementor-item, .ekit-heading--title, .elementskit-section-title, .ekit-accordion-title) {
	font-family: var(--bis-font) !important;
}
body.bis a { color: var(--bis-blue); }
body.bis :focus-visible { outline: 2px solid var(--bis-cyan); outline-offset: 3px; border-radius: 4px; }
body.bis img { max-width: 100%; height: auto; }
body.bis .bis-ico { display: block; flex: none; }

/* 4. Layout primitives ------------------------------------------------------- */
body.bis .e-con[class*="bis-"] {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px;
	--widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
	--display: flex; --flex-direction: column; --flex-wrap: nowrap; --justify-content: flex-start; --align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	padding: 0;
	gap: 0;
	min-width: 0;
}
body.bis .e-con.bis-wrap,
body.bis .bis-wrap:not(.e-con) {
	width: 100%;
	max-width: calc(var(--bis-wrap) + 2 * var(--bis-gutter));
	margin-inline: auto;
	padding-inline: var(--bis-gutter);
}
body.bis .e-con.bis-wrap--narrow { max-width: calc(820px + 2 * var(--bis-gutter)); }
body.bis .e-con.bis-sec { padding-block: 88px; position: relative; }
body.bis .bis-center,
body.bis .bis-center .elementor-heading-title { text-align: center; }
body.bis :where(.e-con[class*="bis-"]) > .elementor-widget[class*="bis-"] { width: 100%; max-width: 100%; }

/* Section headings */
body.bis .bis-h2 .elementor-heading-title {
	font-size: var(--bis-h2);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.022em;
	color: var(--bis-ink);
}
body.bis .bis-h2--light .elementor-heading-title { color: #fff; }
body.bis .bis-grad {
	background: linear-gradient(90deg, #1a8cff, var(--bis-blue));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
body.bis :is(.bis-h1, .bis-h2--light) .bis-grad { background-image: linear-gradient(90deg, #58c6ff, #2f8bff 70%); }
body.bis .bis-sub { color: var(--bis-muted); font-size: 1.0625rem; line-height: 1.65; }
body.bis .bis-sub p { margin: 0; }
body.bis .bis-sub a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body.bis .bis-center.bis-sub { max-width: 660px; margin: 14px auto 0; }
body.bis .bis-sub--light { color: var(--bis-on-dark-muted); }
body.bis .bis-ticks { color: var(--bis-blue); font-size: .9375rem; font-weight: 600; margin-top: 12px; }
body.bis .bis-ticks p, body.bis .bis-ticks strong { margin: 0; font-weight: 600; }
body.bis .bis-caption { color: var(--bis-muted); font-size: .875rem; margin-top: 6px; }
body.bis .bis-caption p { margin: 0; }

/* 5. Buttons ----------------------------------------------------------------- */
body.bis .bis-btn .elementor-button,
body.bis .bis-plan .elementor-price-table__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 15px 26px;
	border: 1px solid transparent;
	border-radius: var(--bis-r-sm);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0;
	text-decoration: none;
	color: #fff;
	background: linear-gradient(180deg, #2179ff 0%, var(--bis-blue) 100%);
	box-shadow: 0 12px 26px -12px rgba(8, 102, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .2);
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
body.bis .bis-btn .elementor-button:hover,
body.bis .bis-plan .elementor-price-table__button:hover {
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 16px 30px -12px rgba(8, 102, 255, 1), inset 0 1px 0 rgba(255, 255, 255, .25);
	background: linear-gradient(180deg, #3388ff 0%, #0b6cff 100%);
}
body.bis .bis-btn .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; }
body.bis .bis-btn--ghost .elementor-button {
	background: rgba(255, 255, 255, .02);
	border: 1.5px solid rgba(255, 255, 255, .55);
	box-shadow: none;
}
body.bis .bis-btn--ghost .elementor-button:hover {
	background: rgba(255, 255, 255, .1);
	border-color: #fff;
	box-shadow: none;
}
body.bis .bis-btn--light .elementor-button { border-color: rgba(255, 255, 255, .35); }
body.bis .bis-btn--sm .elementor-button { min-height: 44px; padding: 11px 20px; font-size: .9375rem; }
body.bis .bis-btn--arrow .elementor-button-text::after,
body.bis .bis-plan .elementor-price-table__button::after {
	content: "";
	display: inline-block;
	width: 17px;
	height: 17px;
	margin-left: 10px;
	vertical-align: -3px;
	background: currentColor;
	-webkit-mask: var(--bis-ico-arrow) center / contain no-repeat;
	mask: var(--bis-ico-arrow) center / contain no-repeat;
	transition: transform .18s ease;
}
body.bis .bis-btn--arrow .elementor-button:hover .elementor-button-text::after,
body.bis .bis-plan .elementor-price-table__button:hover::after { transform: translateX(3px); }
body.bis .bis-btn--wa .elementor-button-text::before {
	content: "";
	display: inline-block;
	width: 19px;
	height: 19px;
	margin-right: 9px;
	vertical-align: -4px;
	background: currentColor;
	-webkit-mask: var(--bis-ico-wa) center / contain no-repeat;
	mask: var(--bis-ico-wa) center / contain no-repeat;
}
body.bis .e-con.bis-btn-row { display: flex; flex-flow: row wrap; gap: 14px; }
body.bis .e-con.bis-btn-row > .elementor-widget { width: auto; }
body.bis .e-con.bis-btn-row--center { justify-content: center; margin-top: 30px; }

/* 6. Header ------------------------------------------------------------------ */
body.bis .elementor-location-header {
	position: sticky;
	top: 0;
	z-index: 1000;
}
body.admin-bar.bis .elementor-location-header { top: var(--wp-admin--admin-bar--height, 0px); }
body.bis .e-con.bis-header {
	background: rgba(3, 8, 23, .88);
	-webkit-backdrop-filter: saturate(150%) blur(14px);
	backdrop-filter: saturate(150%) blur(14px);
	border-bottom: 1px solid rgba(130, 170, 255, .1);
	transition: box-shadow .25s ease, background-color .25s ease;
}
body.bis.bis-scrolled .e-con.bis-header { background: rgba(3, 8, 23, .96); box-shadow: 0 10px 30px -14px rgba(0, 0, 0, .8); }
body.bis .e-con.bis-header__bar {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 86px;
}
body.bis .e-con.bis-header__bar > .elementor-widget { width: auto; }
body.bis .bis-logo { display: inline-flex; line-height: 0; }
body.bis .bis-logo svg { width: 208px; height: auto; display: block; }
body.bis .bis-footer__logo .bis-logo svg { width: 220px; }
body.bis .bis-header__logo { flex: none; }
body.bis .bis-nav { flex: 1 1 auto; }
body.bis .bis-nav .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; }
body.bis .bis-nav .elementor-nav-menu--main .elementor-item {
	color: rgba(230, 238, 255, .86);
	font-size: .9375rem;
	font-weight: 500;
	padding: 12px 15px;
	transition: color .18s ease;
}
body.bis .bis-nav .elementor-nav-menu--main .elementor-item:hover,
body.bis .bis-nav .elementor-nav-menu--main .elementor-item:focus,
body.bis .bis-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #fff; }
body.bis .bis-nav.e--pointer-underline .elementor-item::after,
body.bis .bis-nav .e--pointer-underline .elementor-item::after {
	background-color: var(--bis-blue);
	height: 2.5px;
	border-radius: 2px;
	left: 15px;
	right: 15px;
	width: auto;
	bottom: 2px;
}
body.bis .bis-nav .elementor-menu-toggle {
	color: #fff;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: var(--bis-r-sm);
	padding: 10px;
	font-size: 22px;
	margin-left: auto;
}
body.bis .bis-nav .elementor-menu-toggle svg { fill: #fff; width: 22px; height: 22px; }
body.bis .bis-nav .elementor-nav-menu--dropdown {
	background: var(--bis-navy-900);
	border-top: 1px solid rgba(130, 170, 255, .14);
	box-shadow: 0 24px 40px -20px rgba(0, 0, 0, .9);
}
body.bis .bis-nav .elementor-nav-menu--dropdown .elementor-item {
	color: var(--bis-on-dark);
	font-size: 1rem;
	font-weight: 500;
	padding: 15px 24px;
	border-bottom: 1px solid rgba(255, 255, 255, .05);
}
body.bis .bis-nav .elementor-nav-menu--dropdown .elementor-item:hover,
body.bis .bis-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
	background: rgba(8, 102, 255, .16);
	color: #fff;
}
body.bis .bis-header__cta { flex: none; }

/* 7. Footer ------------------------------------------------------------------ */
body.bis .e-con.bis-footer {
	background:
		radial-gradient(ellipse 50% 80% at 85% 0%, rgba(8, 102, 255, .14), transparent 60%),
		var(--bis-navy-950);
	border-top: 1px solid rgba(130, 170, 255, .1);
	padding: 64px 0 28px;
	color: var(--bis-on-dark-muted);
}
body.bis .e-con.bis-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.25fr) minmax(0, .8fr);
	gap: 48px;
}
body.bis .e-con.bis-footer__brand { display: flex; flex-direction: column; gap: 18px; }
body.bis .bis-footer__blurb { font-size: .9375rem; line-height: 1.65; max-width: 360px; }
body.bis .bis-footer__blurb p { margin: 0; }
body.bis .bis-footer__wa-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: .9375rem;
	font-weight: 600;
	text-decoration: none;
	padding: 10px 16px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	transition: border-color .18s ease, background-color .18s ease;
}
body.bis .bis-footer__wa-link svg { width: 20px; height: 20px; color: #25d366; }
body.bis .bis-footer__wa-link:hover { border-color: #25d366; background: rgba(37, 211, 102, .08); color: #fff; }
body.bis .bis-footer__title .elementor-heading-title {
	color: #fff;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 14px;
}
body.bis .bis-fnav .elementor-nav-menu--main .elementor-nav-menu { display: grid; grid-template-columns: 1fr; gap: 2px; }
body.bis .bis-footer__nav:not(.bis-footer__nav--main) .bis-fnav .elementor-nav-menu--main .elementor-nav-menu { grid-template-columns: 1fr 1fr; column-gap: 28px; }
body.bis .bis-fnav .elementor-nav-menu--main .elementor-item {
	color: var(--bis-on-dark-muted);
	font-size: .9375rem;
	font-weight: 500;
	padding: 6px 0;
	justify-content: flex-start;
}
body.bis .bis-fnav .elementor-nav-menu--main .elementor-item:hover,
body.bis .bis-fnav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #fff; }
body.bis .bis-fnav .elementor-item::before,
body.bis .bis-fnav .elementor-item::after { display: none; }
body.bis .e-con.bis-footer__bottom {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px 32px;
	margin-top: 44px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .08);
}
body.bis .e-con.bis-footer__bottom > .elementor-widget { width: auto; }
body.bis .bis-footer__copy { font-size: .875rem; color: #8293b5; }
body.bis .bis-footer__cookie { font-size: .8125rem; color: #6b7a99; max-width: 640px; }
body.bis .bis-footer__copy p, body.bis .bis-footer__cookie p { margin: 0; }

/* 8. Price cards (home + /pricing/ + every price-table restyled) ------------- */
body.bis .bis-plan { position: relative; }
body.bis .bis-plans .bis-plan,
body.bis .bis-plans .bis-plan > .elementor-widget-container { height: 100%; }
body.bis .bis-plan .elementor-price-table {
	display: flex;
	flex-direction: column;
	text-align: center;
	background: #fff;
	border: 1px solid var(--bis-line);
	border-radius: 16px;
	box-shadow: var(--bis-shadow);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}
body.bis .bis-plans .bis-plan .elementor-price-table { height: 100%; }
body.bis .bis-plan .elementor-price-table:hover { transform: translateY(-3px); box-shadow: 0 22px 44px -18px rgba(11, 23, 52, .3); }
body.bis .bis-plan .elementor-price-table__header {
	background: transparent;
	padding: 24px 18px 18px;
}
body.bis .bis-plan .elementor-price-table__heading {
	color: var(--bis-ink);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}
body.bis .bis-plan .elementor-price-table__subheading {
	display: block;
	color: var(--bis-muted);
	font-size: .8125rem;
	font-weight: 500;
	margin-top: 5px;
}
body.bis .bis-plan .elementor-price-table__price {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: center;
	gap: 2px;
	padding: 18px 12px 16px;
	color: #fff;
	font-weight: 800;
	font-size: 1rem;
	background: linear-gradient(95deg, var(--bis-blue) 0%, #2a8bff 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}
body.bis .bis-plan .elementor-price-table__currency { font-size: 1.5rem; font-weight: 700; line-height: 1; margin-top: 7px; }
body.bis .bis-plan .elementor-price-table__integer-part { font-size: 3rem; font-weight: 800; line-height: .95; letter-spacing: -.03em; }
body.bis .bis-plan .elementor-price-table__after-price { display: flex; flex-direction: row; align-items: flex-start; gap: 8px; text-align: left; }
body.bis .bis-plan .elementor-price-table__fractional-part { font-size: 1.125rem; font-weight: 700; line-height: 1; margin-top: 6px; }
body.bis .bis-plan .elementor-price-table__period {
	width: auto;
	flex: none;
	align-self: flex-end;
	margin: 0 0 4px 8px;
	font-size: .875rem;
	font-weight: 500;
	color: rgba(255, 255, 255, .9);
}
body.bis .bis-plan .elementor-price-table__features-list {
	list-style: none;
	margin: 0;
	padding: 20px 22px 8px;
	text-align: left;
	color: #26324d;
}
body.bis .bis-plan .elementor-price-table__features-list li {
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.4;
	padding: 6px 0;
	margin: 0;
	text-align: left;
}
body.bis .bis-plan .elementor-price-table__features-list li::before { display: none; }
body.bis .bis-plan .elementor-price-table__feature-inner {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin: 0 !important;
}
body.bis .bis-plan .elementor-price-table__feature-inner::before {
	content: "";
	flex: none;
	width: 15px;
	height: 15px;
	margin-top: 2px;
	background: var(--bis-ink);
	-webkit-mask: var(--bis-ico-check) center / contain no-repeat;
	mask: var(--bis-ico-check) center / contain no-repeat;
}
body.bis .bis-plan .elementor-price-table__feature-inner i,
body.bis .bis-plan .elementor-price-table__feature-inner svg { display: none; }
body.bis .bis-plan .elementor-price-table__footer { margin-top: auto; padding: 14px 22px 22px; }
body.bis .bis-plan .elementor-price-table__button { width: 100%; min-height: 50px; font-size: 1rem; }
body.bis .bis-plan .elementor-price-table__additional_info { color: var(--bis-muted); font-size: .75rem; margin: 10px 0 0; }

/* Premium: black + gold */
body.bis .bis-plan--premium .elementor-price-table {
	background: linear-gradient(180deg, #11131b 0%, #07080c 100%);
	border: 1px solid rgba(245, 196, 81, .7);
	box-shadow: 0 0 0 1px rgba(245, 196, 81, .12), 0 22px 50px -20px rgba(245, 196, 81, .45), 0 2px 8px rgba(0, 0, 0, .3);
}
body.bis .bis-plan--premium .elementor-price-table:hover { box-shadow: 0 0 0 1px rgba(245, 196, 81, .2), 0 26px 56px -20px rgba(245, 196, 81, .6); }
body.bis .bis-plan--premium .elementor-price-table__header { position: relative; }
body.bis .bis-plan--premium .elementor-price-table__header::after {
	content: "";
	position: absolute;
	top: 18px;
	right: 18px;
	width: 28px;
	height: 28px;
	background: linear-gradient(180deg, #ffe08a, var(--bis-gold-600));
	-webkit-mask: var(--bis-ico-crown) center / contain no-repeat;
	mask: var(--bis-ico-crown) center / contain no-repeat;
	filter: drop-shadow(0 0 6px rgba(245, 196, 81, .6));
}
body.bis .bis-plan--premium .elementor-price-table__heading { color: #fff; }
body.bis .bis-plan--premium .elementor-price-table__subheading { color: var(--bis-gold); }
body.bis .bis-plan--premium .elementor-price-table__price {
	background: linear-gradient(180deg, #000 0%, #0b0b10 100%);
	border-top: 1px solid rgba(245, 196, 81, .55);
	border-bottom: 1px solid rgba(245, 196, 81, .55);
	box-shadow: none;
}
body.bis .bis-plan--premium .elementor-price-table__features-list { color: #e9ecf5; }
body.bis .bis-plan--premium .elementor-price-table__feature-inner::before { background: var(--bis-gold); }
body.bis .bis-plan--premium .elementor-price-table__button {
	color: #1a1305;
	background: linear-gradient(180deg, #ffdb7a 0%, #f2b53a 100%);
	box-shadow: 0 12px 26px -12px rgba(245, 196, 81, .9), inset 0 1px 0 rgba(255, 255, 255, .45);
}
body.bis .bis-plan--premium .elementor-price-table__button:hover {
	color: #1a1305;
	background: linear-gradient(180deg, #ffe395 0%, #f5bf4f 100%);
	box-shadow: 0 16px 30px -12px rgba(245, 196, 81, 1), inset 0 1px 0 rgba(255, 255, 255, .5);
}
body.bis .bis-plan--premium .elementor-price-table__additional_info { color: #9aa3b5; }
body.bis .bis-plan .elementor-price-table__ribbon { display: none; }

/* 9. CTA band ---------------------------------------------------------------- */
body.bis .e-con.bis-cta { padding: 24px 0 88px; }
body.bis .e-con.bis-cta__box {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 26px;
	padding: 30px 40px;
	border-radius: var(--bis-r-lg);
	background:
		radial-gradient(ellipse 45% 120% at 88% 50%, rgba(109, 40, 217, .65), transparent 60%),
		radial-gradient(ellipse 40% 120% at 5% 0%, rgba(0, 168, 255, .35), transparent 60%),
		linear-gradient(100deg, #082a8c 0%, #0a3fd1 48%, #251a86 100%);
	box-shadow: 0 26px 60px -26px rgba(8, 60, 200, .8);
	border: 1px solid rgba(255, 255, 255, .12);
	color: #fff;
}
body.bis .e-con.bis-cta__box::after {
	content: "";
	position: absolute;
	inset: 0 0 0 auto;
	width: 44%;
	background: repeating-linear-gradient(105deg, rgba(255, 255, 255, .06) 0 46px, transparent 46px 60px);
	-webkit-mask: linear-gradient(90deg, transparent, #000 60%);
	mask: linear-gradient(90deg, transparent, #000 60%);
	pointer-events: none;
}
body.bis .e-con.bis-cta__box > * { position: relative; z-index: 1; width: auto; }
body.bis .bis-cta__play {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .75);
	color: #fff;
	box-shadow: 0 0 30px rgba(0, 168, 255, .45);
}
body.bis .bis-cta__play svg { margin-left: 3px; }
body.bis .bis-cta__title .elementor-heading-title { color: #fff; font-size: clamp(1.3rem, 1rem + .9vw, 1.6rem); font-weight: 800; line-height: 1.25; letter-spacing: -.015em; }
body.bis .bis-cta__sub { color: rgba(235, 241, 255, .82); font-size: .9688rem; margin-top: 6px; }
body.bis .bis-cta__sub p { margin: 0; }

/* 10. Articles (single post template) --------------------------------------- */
body.bis .e-con.bis-post-hero {
	padding: 56px 0 50px;
	color: #fff;
	background:
		radial-gradient(ellipse 50% 90% at 85% 10%, rgba(8, 102, 255, .38), transparent 60%),
		radial-gradient(ellipse 35% 80% at 100% 100%, rgba(109, 40, 217, .3), transparent 60%),
		linear-gradient(180deg, var(--bis-navy-950), var(--bis-navy-900));
}
body.bis .bis-crumbs { font-size: .8125rem; color: var(--bis-on-dark-muted); margin-bottom: 14px; }
body.bis .bis-crumbs p { margin: 0; }
body.bis .bis-crumbs a { color: #cfe0ff; text-decoration: none; }
body.bis .bis-crumbs a:hover { color: #fff; text-decoration: underline; }
body.bis .bis-crumbs .separator { margin: 0 6px; opacity: .6; }
body.bis .bis-post-title .elementor-heading-title {
	color: #fff;
	font-size: clamp(1.9rem, 1.2rem + 2vw, 2.75rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.022em;
}
body.bis .bis-post-meta { margin-top: 16px; }
body.bis .bis-post-meta .elementor-icon-list-items { gap: 6px 0; }
body.bis .bis-post-meta .elementor-icon-list-text,
body.bis .bis-post-meta a { color: var(--bis-on-dark-muted); font-size: .875rem; text-decoration: none; }
body.bis .bis-post-meta a:hover { color: #fff; }
body.bis .bis-post-meta .elementor-icon-list-item:not(:last-child)::after {
	content: "•";
	position: static;
	border: 0;
	height: auto;
	width: auto;
	margin: 0 10px;
	color: rgba(159, 176, 208, .6);
}
body.bis .e-con.bis-post-body { padding: 44px 0 16px; }
body.bis .bis-post-thumb img {
	width: 100%;
	border-radius: 16px;
	box-shadow: var(--bis-shadow);
	margin-bottom: 34px;
}
body.bis .bis-prose { color: var(--bis-body); font-size: 1.0625rem; line-height: 1.75; }
body.bis .bis-prose :is(h2, h3, h4) { color: var(--bis-ink); font-weight: 800; letter-spacing: -.015em; line-height: 1.25; }
body.bis .bis-prose h2 { font-size: clamp(1.4rem, 1.15rem + .8vw, 1.75rem); margin: 2.1em 0 .6em; }
body.bis .bis-prose h3 { font-size: 1.25rem; margin: 1.8em 0 .5em; }
body.bis .bis-prose h4 { font-size: 1.0625rem; margin: 1.5em 0 .4em; }
body.bis .bis-prose p { margin: 0 0 1.15em; }
body.bis .bis-prose a { color: var(--bis-blue); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.bis .bis-prose a:hover { color: #0049c2; }
body.bis .bis-prose :is(ul, ol) { margin: 0 0 1.3em; padding-left: 1.3em; }
body.bis .bis-prose li { margin: .35em 0; }
body.bis .bis-prose li::marker { color: var(--bis-blue); }
body.bis .bis-prose img { border-radius: 12px; }
body.bis .bis-prose figure { margin: 1.8em 0; }
body.bis .bis-prose figcaption { color: var(--bis-muted); font-size: .875rem; text-align: center; margin-top: 8px; }
body.bis .bis-prose blockquote { margin: 1.6em 0; padding: 18px 22px; border-left: 4px solid var(--bis-blue); background: var(--bis-soft); border-radius: 0 12px 12px 0; color: var(--bis-ink); }
body.bis .bis-prose table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: .9375rem; display: block; overflow-x: auto; }
body.bis .bis-prose :is(th, td) { border: 1px solid var(--bis-line); padding: 11px 14px; text-align: left; vertical-align: top; }
body.bis .bis-prose th { background: var(--bis-soft); color: var(--bis-ink); font-weight: 700; }
body.bis .bis-prose tr:nth-child(even) td { background: #fbfcff; }

/* 11. Archives / blog index / search (Hello theme markup) ------------------- */
body.bis:is(.blog, .archive, .search) .site-main {
	max-width: calc(var(--bis-wrap) + 2 * var(--bis-gutter));
	margin: 0 auto;
	padding: 0 var(--bis-gutter) 88px;
}
body.bis:is(.blog, .archive, .search) .page-header {
	position: relative;
	padding: 60px 0 52px;
	margin-bottom: 48px;
	color: #fff;
	/* full-bleed background without horizontal overflow */
	border-image: linear-gradient(180deg, var(--bis-navy-950), var(--bis-navy-900)) fill 0 // 0 100vw;
}
body.bis:is(.blog, .archive, .search) .page-header .entry-title {
	color: #fff;
	font-size: clamp(2rem, 1.3rem + 2vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -.022em;
	margin: 0;
}
body.bis:is(.blog, .archive, .search) .archive-description { color: var(--bis-on-dark-muted); margin: 10px 0 0; }
body.bis:is(.blog, .archive, .search) .page-content {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}
body.bis:is(.blog, .archive, .search) .page-content article.post,
body.bis.search .page-content article {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--bis-line);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: var(--bis-shadow);
	margin: 0;
	transition: transform .2s ease, box-shadow .2s ease;
}
body.bis:is(.blog, .archive, .search) .page-content article:hover { transform: translateY(-3px); box-shadow: 0 22px 44px -18px rgba(11, 23, 52, .3); }
body.bis:is(.blog, .archive, .search) .page-content article > a { order: -1; display: block; line-height: 0; }
body.bis:is(.blog, .archive, .search) .page-content article img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
body.bis:is(.blog, .archive, .search) .page-content .entry-title { font-size: 1.125rem; font-weight: 700; line-height: 1.35; margin: 0; padding: 20px 22px 8px; }
body.bis:is(.blog, .archive, .search) .page-content .entry-title a { color: var(--bis-ink); text-decoration: none; }
body.bis:is(.blog, .archive, .search) .page-content .entry-title a:hover { color: var(--bis-blue); }
body.bis:is(.blog, .archive, .search) .page-content article p { color: var(--bis-muted); font-size: .9375rem; line-height: 1.6; margin: 0; padding: 0 22px 24px; }
body.bis:is(.blog, .archive, .search) .pagination { display: flex; justify-content: space-between; gap: 16px; margin-top: 44px; }
body.bis:is(.blog, .archive, .search) .pagination a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	border: 1px solid var(--bis-line);
	border-radius: 999px;
	color: var(--bis-ink);
	font-weight: 600;
	text-decoration: none;
	background: #fff;
}
body.bis:is(.blog, .archive, .search) .pagination a:hover { border-color: var(--bis-blue); color: var(--bis-blue); }

/* Page title band (Hello theme title on standard pages) */
body.bis.page:not(.home) .site-main > .page-header {
	padding: 40px 0 36px;
	margin: 0;
	border-image: linear-gradient(180deg, var(--bis-navy-950), var(--bis-navy-900)) fill 0 // 0 100vw;
}
body.bis.page:not(.home) .site-main > .page-header .entry-title {
	color: #fff;
	font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.4rem);
	font-weight: 800;
	letter-spacing: -.022em;
	margin: 0;
}

/* 12. 404 -------------------------------------------------------------------- */
body.bis .e-con.bis-404 {
	padding: 120px 0;
	background:
		radial-gradient(ellipse 50% 70% at 50% 0%, rgba(8, 102, 255, .35), transparent 60%),
		linear-gradient(180deg, var(--bis-navy-950), var(--bis-navy-900));
}
body.bis .bis-404__code .elementor-heading-title {
	font-size: clamp(5rem, 3rem + 8vw, 9rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.04em;
	background: linear-gradient(180deg, #fff, #5cb4ff);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

/* 13. FAQ accordion (ElementsKit markup) ------------------------------------ */
body.bis .bis-faq__acc .elementskit-accordion .elementskit-card {
	background: #fff;
	border: 1px solid var(--bis-line);
	border-radius: var(--bis-r);
	margin: 0 0 12px;
	overflow: hidden;
	box-shadow: 0 6px 18px -12px rgba(11, 23, 52, .18);
}
body.bis .bis-faq__acc .elementskit-accordion .elementskit-card-header { background: transparent; border: 0; padding: 0; }
body.bis .bis-faq__acc .elementskit-accordion .elementskit-card-header > .elementskit-btn-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 18px 22px;
	background: transparent;
	border: 0;
	color: var(--bis-ink);
	text-decoration: none;
}
body.bis .bis-faq__acc .ekit-accordion-title { font-size: 1rem; font-weight: 600; line-height: 1.4; color: inherit; text-align: left; }
body.bis .bis-faq__acc .elementskit-btn-link:not(.collapsed) { color: var(--bis-blue); }
body.bis .bis-faq__acc .ekit_accordion_icon_group { color: var(--bis-blue); font-size: 14px; }
body.bis .bis-faq__acc .elementskit-card-body {
	padding: 0 22px 20px;
	color: var(--bis-muted);
	font-size: .9688rem;
	line-height: 1.7;
	border: 0;
}
body.bis .bis-faq__acc .elementskit-card-body p { margin: 0 0 .7em; }
body.bis .bis-faq__acc .elementskit-card-body p:last-child { margin: 0; }

/* 14. Responsive ------------------------------------------------------------- */
@media (max-width: 1100px) {
	body.bis .e-con.bis-footer__top { grid-template-columns: 1fr 1fr; }
	body.bis .e-con.bis-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 1024px) {
	body.bis .e-con.bis-sec { padding-block: 72px; }
	body.bis .bis-nav { flex: 0 0 auto; order: 3; }
	body.bis .bis-header__cta { margin-left: auto; }
	body.bis:is(.blog, .archive, .search) .page-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.bis .e-con.bis-cta__box { grid-template-columns: auto minmax(0, 1fr); }
	body.bis .e-con.bis-cta__box > .elementor-widget-button { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	body.bis { --bis-gutter: 18px; }
	body.bis .e-con.bis-sec { padding-block: 60px; }
	body.bis .e-con.bis-header__bar { min-height: 68px; gap: 12px; }
	body.bis .bis-logo svg { width: 164px; }
	body.bis .bis-footer__logo .bis-logo svg { width: 190px; }
	body.bis .e-con.bis-footer { padding-top: 48px; }
	body.bis .e-con.bis-footer__top { grid-template-columns: 1fr; gap: 32px; }
	body.bis .e-con.bis-footer__bottom { flex-direction: column; align-items: flex-start; }
	body.bis .e-con.bis-cta__box { grid-template-columns: 1fr; padding: 28px 22px; text-align: left; gap: 18px; }
	body.bis .bis-btn .elementor-button { width: 100%; }
	body.bis .e-con.bis-btn-row > .elementor-widget { width: 100%; }
	body.bis:is(.blog, .archive, .search) .page-content { grid-template-columns: 1fr; }
	body.bis:is(.blog, .archive, .search) .page-header { padding: 44px 0 38px; margin-bottom: 32px; }
	body.bis .bis-prose { font-size: 1rem; }
}
@media (max-width: 420px) {
	body.bis .bis-header__cta { display: none; }
	body.bis .bis-nav { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
	body.bis *, body.bis *::before, body.bis *::after { transition: none !important; scroll-behavior: auto !important; }
}
