/*
 * Videobook – nowy landing page.
 * Loaded only for the "Videobook – nowy landing page" template; everything is scoped to body.vbn-page.
 * Content is edited in Themify Builder – these rules hook into the "Additional CSS class" fields:
 *   rows:     vbn-header, vbn-row (+ vbn-hero, vbn-w820…vbn-w1120 width, vbn-author), vbn-footer, vbn-footer-bottom, vbn-bar
 *   columns:  vbn-center, vbn-grid vbn-grid--280|250 (cards), vbn-masonry, vbn-demo
 *   subrows:  vbn-hero-offer, vbn-offer, vbn-footer-top
 *   modules:  vbn-heading, vbn-span, vbn-numbered, vbn-acc (+ --badges, --faq), vbn-buttons (+ --sm, --lg, --block),
 *             vbn-benefit, vbn-feature, vbn-checklist, vbn-pills, vbn-review …
 *   buttons:  per-button class vbn-btn--outline, vbn-btn--white, vbn-btn--ghost
 */

html:has(body.vbn-page) { scroll-behavior: smooth; }

body.vbn-page {
	--vbn-bg: #faf5f0;
	--vbn-text: #39393a;
	--vbn-muted: #6b6b6c;
	--vbn-navy: #012f69;
	--vbn-orange: #fd4c00;
	--vbn-amber: #ffb93f;
	--vbn-yellow: #ffdc00;
	--vbn-green: #88c388;
	--vbn-sky: #d6f0ff;
	--vbn-line: #f1e4d8;
	--vbn-display: 'Sour Gummy', cursive;

	background: var(--vbn-bg);
	color: var(--vbn-text);
	font-family: Karla, system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

/* Site header/footer are replaced by the page's own rows */
.vbn-page #tbp_header,
.vbn-page #tbp_footer,
.vbn-page #headerwrap,
.vbn-page #footerwrap { display: none !important; }

.vbn-page #pagewrap,
.vbn-page #body,
.vbn-page #layout,
.vbn-page #content { background: transparent; padding: 0; overflow: visible; }

.vbn-page .themify_builder_content { overflow: visible; }

/* ---------- Base inside builder content ---------- */
.vbn-page .themify_builder_content h1,
.vbn-page .themify_builder_content h2,
.vbn-page .themify_builder_content h3,
.vbn-page .themify_builder_content p {
	margin: 0;
	padding: 0;
	letter-spacing: normal;
	text-transform: none;
	text-wrap: pretty;
}
.vbn-page .themify_builder_content *, .vbn-page .themify_builder_content *::before, .vbn-page .themify_builder_content *::after { box-sizing: border-box; }
.vbn-page .themify_builder_content a { color: var(--vbn-orange); text-decoration: none; }
.vbn-page .themify_builder_content a:hover { color: var(--vbn-navy); }
.vbn-page .themify_builder_content strong { font-weight: 700; }

/* ---------- Rows & layout ---------- */
.vbn-page .module_row.vbn-row { padding: 76px 24px 0; background: transparent; }
.vbn-page .module_row.vbn-row--last { padding-bottom: 48px; }

.vbn-page .module_row.vbn-row > .row_inner { width: 100%; max-width: 1020px; }
.vbn-page .module_row.vbn-w820 > .row_inner { max-width: 820px; }
.vbn-page .module_row.vbn-w900 > .row_inner { max-width: 900px; }
.vbn-page .module_row.vbn-w960 > .row_inner { max-width: 960px; }
.vbn-page .module_row.vbn-w1020 > .row_inner { max-width: 1020px; }
.vbn-page .module_row.vbn-w1120 > .row_inner { max-width: 1120px; }

.vbn-page .vbn-center,
.vbn-page .vbn-center .tb_text_wrap { text-align: center; }

.vbn-page .module.vbn-mt32 { margin-top: 32px; }

/* Card grids: the column itself becomes a grid, every module is a card, vbn-span modules take the full width */
.vbn-page .module_column.vbn-grid { display: grid; gap: 18px; align-content: start; }
.vbn-page .module_column.vbn-grid--280 { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); }
.vbn-page .module_column.vbn-grid--250 { grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); }
.vbn-page .module_column.vbn-grid > .vbn-span { grid-column: 1 / -1; }
.vbn-page .module_column.vbn-grid > .vbn-heading { margin-bottom: 12px; }
.vbn-page .module_column.vbn-grid > .module-buttons.vbn-span { margin-top: 10px; }

/* ---------- Typography ---------- */
.vbn-page .vbn-heading h2 {
	font-family: var(--vbn-display);
	font-weight: 700;
	font-size: clamp(26px, 3.2vw, 40px);
	line-height: 1.2;
	margin: 0 0 12px;
	text-align: center;
	color: var(--vbn-navy);
}
.vbn-page .vbn-heading h2 span { color: var(--vbn-orange); }
.vbn-page .vbn-heading:not(:has(.vbn-sub)) h2 { margin-bottom: 28px; }
.vbn-page .vbn-heading .vbn-sub {
	text-align: center;
	font-size: 17px;
	margin: 0 auto 28px;
	max-width: 54ch;
	color: var(--vbn-muted);
}

/* ---------- Buttons ---------- */
@keyframes vbnCtaPulse {
	0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(136, 195, 136, 0.55); }
	50% { transform: scale(1.035); box-shadow: 0 0 0 12px rgba(136, 195, 136, 0); }
}

.vbn-page .module.vbn-buttons { text-align: center; }
.vbn-page .module.vbn-buttons .module-buttons-item { margin: 0; }
.vbn-page .module.vbn-buttons a.builder_button {
	display: inline-block;
	padding: 16px 34px;
	border-radius: 999px;
	border: 0;
	background: var(--vbn-green);
	color: var(--vbn-navy);
	font-family: var(--vbn-display);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
	animation: vbnCtaPulse 2.4s ease-in-out infinite;
	will-change: transform;
	transition: background-color 0.2s ease;
}
.vbn-page .module.vbn-buttons a.builder_button:hover { color: var(--vbn-navy); }
.vbn-page .module.vbn-buttons--sm a.builder_button { padding: 11px 24px; font-size: 15px; }
.vbn-page .module.vbn-buttons--lg a.builder_button { padding: 18px 40px; font-size: clamp(16px, 1.7vw, 19px); }
.vbn-page .module.vbn-buttons--block .module-buttons-item { display: block; }
.vbn-page .module.vbn-buttons--block a.builder_button { display: block; padding: 20px 32px; font-size: 19px; }

.vbn-page .module.vbn-buttons a.builder_button.vbn-btn--outline {
	background: #ffffff;
	border: 2px solid var(--vbn-navy);
	animation: none;
}
.vbn-page .module.vbn-buttons a.builder_button.vbn-btn--outline:hover { background: var(--vbn-sky); }
.vbn-page .module.vbn-buttons a.builder_button.vbn-btn--white {
	padding: 15px 30px;
	background: #ffffff;
	animation: none;
}
.vbn-page .module.vbn-buttons a.builder_button.vbn-btn--ghost {
	padding: 13px 28px;
	background: transparent;
	border: 2px solid var(--vbn-yellow);
	color: var(--vbn-yellow);
	animation: none;
}
.vbn-page .module.vbn-buttons a.builder_button.vbn-btn--ghost:hover { background: rgba(255, 220, 0, 0.15); }

@media (prefers-reduced-motion: reduce) {
	html:has(body.vbn-page) { scroll-behavior: auto; }
	.vbn-page .module.vbn-buttons a.builder_button { animation: none; }
}

/* ---------- Header ---------- */
.vbn-page .module_row.vbn-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(250, 245, 240, 0.96);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 2px dotted var(--vbn-amber);
}
.admin-bar.vbn-page .module_row.vbn-header { top: 32px; }
@media (max-width: 782px) { .admin-bar.vbn-page .module_row.vbn-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar.vbn-page .module_row.vbn-header { top: 0; } }

.vbn-page .vbn-header > .row_inner { width: 100%; max-width: 1120px; }
.vbn-page .vbn-header .module_column {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 10px 24px;
}
.vbn-page .vbn-logo img { height: 48px; width: auto; display: block; }

/* ---------- Hero ---------- */
.vbn-page .module_row.vbn-hero { padding-top: 56px; }
.vbn-page .vbn-hero-title .vbn-kicker {
	margin: 0 0 6px;
	font-family: var(--vbn-display);
	font-size: clamp(19px, 2.2vw, 26px);
	font-weight: 500;
	color: var(--vbn-navy);
}
.vbn-page .vbn-hero-title h1 {
	font-family: var(--vbn-display);
	font-weight: 700;
	font-size: clamp(32px, 4.6vw, 58px);
	line-height: 1.1;
	margin: 0 0 22px;
	color: var(--vbn-orange);
}

.vbn-page .module.vbn-video {
	width: 100%;
	max-width: 860px;
	aspect-ratio: 16 / 9;
	margin: 0 auto 22px;
	border-radius: 24px;
	overflow: hidden;
	background: var(--vbn-navy);
}
.vbn-page .module.vbn-video .tb_text_wrap,
.vbn-page .module.vbn-video wistia-player { display: block; height: 100%; }

.vbn-page .vbn-claims p {
	font-size: clamp(17px, 1.8vw, 20px);
	font-weight: 600;
	color: var(--vbn-navy);
	margin-bottom: 6px;
}

.vbn-page .module_subrow.vbn-hero-offer {
	margin-top: 56px;
	gap: 36px;
	align-items: center;
}
.vbn-page .vbn-mockup img { width: 100%; max-width: 520px; height: auto; display: block; margin: 0 auto; }
.vbn-page .vbn-lead p { line-height: 1.6; margin: 0 0 26px; font-size: 21px; }
.vbn-page .vbn-lead strong { color: var(--vbn-orange); }

.vbn-page .vbn-countdown {
	margin-top: 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	column-gap: 16px;
	row-gap: 6px;
	background: #ffffff;
	border: 2px dotted var(--vbn-amber);
	border-radius: 22px;
	padding: 20px 26px;
}
.vbn-page .vbn-countdown__label { font-family: var(--vbn-display); font-size: 17px; font-weight: 600; color: var(--vbn-navy); }
.vbn-page .vbn-countdown__value { display: flex; align-items: baseline; gap: 8px; }
.vbn-page .vbn-countdown__num { font-family: var(--vbn-display); font-size: 40px; font-weight: 700; color: var(--vbn-orange); line-height: 1; }
.vbn-page .vbn-countdown__unit { font-family: var(--vbn-display); font-size: 20px; font-weight: 600; color: var(--vbn-orange); }
.vbn-page .vbn-countdown__note { font-size: 14px; color: var(--vbn-muted); }

/* ---------- Accordions (Themify accordion module) ---------- */
.vbn-page .vbn-acc ul.ui {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: vbn-acc;
}
.vbn-page .vbn-acc ul.ui > li {
	margin: 0;
	background: #ffffff;
	border: 2px solid var(--vbn-line);
	border-radius: 20px;
	overflow: hidden;
	counter-increment: vbn-acc;
}
.vbn-page .vbn-acc--faq ul.ui > li { border-radius: 18px; }

.vbn-page .vbn-acc .accordion-title { margin: 0; padding: 0; border: 0; background: none; }
.vbn-page .vbn-acc ul.ui .accordion-title a {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 18px 22px;
	background: transparent;
	border: 0;
	color: var(--vbn-navy);
	font-family: var(--vbn-display);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	transition: background-color 0.15s ease;
}
.vbn-page .vbn-acc ul.ui .accordion-title a:hover { background: var(--vbn-bg); color: var(--vbn-navy); }
.vbn-page .vbn-acc ul.ui .accordion-title a:focus-visible { outline: 3px solid var(--vbn-amber); outline-offset: -3px; }
.vbn-page .vbn-acc .accordion-title-wrap { flex: 1; }
.vbn-page .vbn-acc .accordion-icon,
.vbn-page .vbn-acc .accordion-active-icon { display: none; }

/* +/– sign */
.vbn-page .vbn-acc ul.ui .accordion-title a::after {
	content: '+';
	font-family: Karla, system-ui, sans-serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	color: var(--vbn-orange);
	flex-shrink: 0;
}
.vbn-page .vbn-acc ul.ui > li.builder-accordion-active .accordion-title a::after { content: '–'; }

/* Yellow number badges */
.vbn-page .vbn-acc--badges ul.ui .accordion-title a { font-size: 19px; }
.vbn-page .vbn-acc--badges ul.ui .accordion-title a::before {
	content: counter(vbn-acc);
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--vbn-yellow);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 700;
	color: var(--vbn-navy);
	flex-shrink: 0;
}

.vbn-page .vbn-acc--faq ul.ui .accordion-title a { padding: 20px 24px; }

.vbn-page .vbn-acc .accordion-content {
	padding: 0 22px 20px 56px;
	border: 0;
	background: none;
	font-size: 16px;
	line-height: 1.65;
	color: var(--vbn-text);
}
.vbn-page .vbn-acc--badges .accordion-content { padding-left: 70px; }
.vbn-page .vbn-acc--faq .accordion-content { padding: 0 24px 22px; }
.vbn-page .vbn-acc .accordion-content p { margin: 0; }
.vbn-page .vbn-acc .accordion-content ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
/* List items keep inline content (e.g. <strong>) flowing; the marker is positioned in the left padding */
.vbn-page .vbn-acc .accordion-content li {
	position: relative;
	margin: 0;
	padding-left: 26px;
	line-height: 1.6;
}
.vbn-page .vbn-acc .accordion-content li::before {
	content: '◆';
	position: absolute;
	left: 0;
	top: 0;
	color: var(--vbn-amber);
	font-weight: 700;
}

@media (max-width: 600px) {
	.vbn-page .vbn-acc .accordion-content,
	.vbn-page .vbn-acc--badges .accordion-content { padding-left: 22px; }
}

/* Numbered list (Text module with an <ol>; first <strong> in each item is its title) */
.vbn-page .vbn-numbered ol {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: vbn-num;
}
.vbn-page .vbn-numbered li {
	position: relative;
	margin: 0;
	min-height: 84px;
	padding: 20px 24px 20px 88px;
	background: #ffffff;
	border: 2px dashed var(--vbn-amber);
	border-radius: 20px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--vbn-text);
	counter-increment: vbn-num;
}
.vbn-page .vbn-numbered li::before {
	content: counter(vbn-num);
	position: absolute;
	left: 22px;
	top: 20px;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	background: var(--vbn-orange);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--vbn-display);
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 4px 0 rgba(253, 76, 0, 0.18);
}
.vbn-page .vbn-numbered li > strong:first-child {
	display: block;
	margin-bottom: 4px;
	font-family: var(--vbn-display);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--vbn-navy);
}

@media (max-width: 600px) {
	.vbn-page .vbn-numbered li { padding: 18px 18px 18px 70px; }
	.vbn-page .vbn-numbered li::before { left: 16px; top: 18px; width: 40px; height: 40px; font-size: 19px; }
}

.vbn-page .vbn-punchline p {
	margin: 26px auto 0;
	max-width: 60ch;
	text-align: center;
	font-family: var(--vbn-display);
	font-size: clamp(19px, 2.2vw, 25px);
	line-height: 1.4;
	font-weight: 600;
	color: var(--vbn-navy);
}
.vbn-page .vbn-punchline span { color: var(--vbn-orange); }

/* ---------- Cards ---------- */
.vbn-page .module.vbn-benefit { background: var(--vbn-sky); border-radius: 24px; padding: 28px 26px; }
.vbn-page .vbn-benefit h3 {
	font-family: var(--vbn-display);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 8px;
	color: var(--vbn-navy);
}
.vbn-page .vbn-benefit p { font-size: 16px; line-height: 1.6; }

.vbn-page .module.vbn-feature {
	max-width: none;
	background: #ffffff;
	border: 2px dashed var(--vbn-amber);
	border-radius: 22px;
	padding: 28px 24px;
	text-align: center;
}
.vbn-page .vbn-feature .image-wrap { display: block; max-width: none; }
.vbn-page .vbn-feature img { width: 62px; height: 62px; object-fit: contain; margin: 0 auto 14px; display: block; }
.vbn-page .vbn-feature .image-content { padding: 0; }
.vbn-page .vbn-feature .image-title {
	font-family: var(--vbn-display);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 8px;
	color: var(--vbn-orange);
}
.vbn-page .vbn-feature .image-caption { font-size: 15px; line-height: 1.55; color: var(--vbn-text); }

/* ---------- Lists ---------- */
.vbn-page .vbn-checklist ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.vbn-page .vbn-checklist li {
	position: relative;
	margin: 0;
	background: #ffffff;
	border-radius: 20px;
	padding: 20px 24px 20px 56px;
	border: 2px solid var(--vbn-line);
	font-size: 17px;
	line-height: 1.6;
}
.vbn-page .vbn-checklist li::before,
.vbn-page .vbn-offer-list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	color: var(--vbn-green);
	font-weight: 700;
}
.vbn-page .vbn-checklist li::before { left: 24px; top: 20px; font-size: 20px; line-height: 1.3; }

/* ---------- Author ---------- */
.vbn-page .module_row.vbn-author > .row_inner { gap: 40px; align-items: center; }
.vbn-page .vbn-author-photo { max-width: 340px; width: 100%; margin: 0 auto; }
.vbn-page .vbn-author-photo img { width: 100%; height: auto; display: block; }
.vbn-page .vbn-author-text h2 {
	font-family: var(--vbn-display);
	font-weight: 700;
	font-size: clamp(24px, 3vw, 36px);
	line-height: 1.2;
	margin: 0 0 14px;
	color: var(--vbn-navy);
}
.vbn-page .vbn-author-text .vbn-hello {
	font-family: var(--vbn-display);
	font-size: clamp(18px, 2vw, 23px);
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 16px;
	color: var(--vbn-orange);
}
.vbn-page .vbn-author-text p { margin: 0 0 22px; font-size: 16px; line-height: 1.7; }
.vbn-page .vbn-pills ul { display: flex; gap: 12px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.vbn-page .vbn-pills li {
	margin: 0;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--vbn-sky);
	font-size: 15px;
	font-weight: 600;
	color: var(--vbn-navy);
}

/* ---------- Demo ---------- */
.vbn-page .module_column.vbn-demo {
	background: var(--vbn-navy);
	border-radius: 28px;
	padding: clamp(26px, 4vw, 44px);
	text-align: center;
}
.vbn-page .vbn-demo-heading h2 {
	font-family: var(--vbn-display);
	font-weight: 700;
	font-size: clamp(26px, 3.2vw, 38px);
	line-height: 1.2;
	margin: 0 0 10px;
	color: #ffffff;
}
.vbn-page .vbn-demo-heading p { margin: 0 0 26px; font-size: 17px; color: var(--vbn-sky); }

.vbn-page .module.vbn-demo-preview {
	display: block;
	max-width: 760px;
	margin: 0 auto 22px;
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	border: 3px solid var(--vbn-yellow);
	background: #ffffff;
}
.vbn-page .vbn-demo-preview .image-wrap,
.vbn-page .vbn-demo-preview .image-wrap a { display: block; max-width: none; }
.vbn-page .vbn-demo-preview img { width: 100%; height: auto; display: block; }
/* Image title = the "start demo" button over the preview; the whole preview is clickable (link #podglad-demo) */
.vbn-page .vbn-demo-preview .image-content {
	position: absolute;
	inset: 0;
	padding: 0 16px;
	background: rgba(1, 47, 105, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	transition: background-color 0.2s ease;
}
.vbn-page .vbn-demo-preview:hover .image-content { background: rgba(1, 47, 105, 0.2); }
.vbn-page .vbn-demo-preview .image-title {
	margin: 0;
	padding: 0;
	width: max-content;
	max-width: 100%;
	border-radius: 999px;
	background: var(--vbn-yellow);
	color: var(--vbn-navy);
	font-family: var(--vbn-display);
	font-weight: 700;
	font-size: clamp(17px, 2vw, 22px);
	line-height: 1.2;
	box-shadow: 0 8px 24px rgba(1, 47, 105, 0.35);
	pointer-events: auto;
	transition: transform 0.2s ease;
}
.vbn-page .vbn-demo-preview:hover .image-title { transform: scale(1.05); }
.vbn-page .vbn-demo-preview .image-title a { display: block; padding: 18px 36px; color: inherit; }
.vbn-page .vbn-demo-preview a:focus-visible,
.vbn-page .vbn-demo-retry a:focus-visible { outline: 3px solid var(--vbn-yellow); outline-offset: 4px; }

.vbn-page .module[hidden],
.vbn-page .vbn-demo-frame[hidden] { display: none !important; }

.vbn-page .vbn-demo-frame {
	max-width: 900px;
	margin: 0 auto 18px;
	border-radius: 20px;
	overflow: hidden;
	background: #ffffff;
	aspect-ratio: 16 / 10;
	border: 3px solid var(--vbn-yellow);
}
@media (max-width: 600px) {
	.vbn-page .vbn-demo-frame { aspect-ratio: 3 / 4; }
}
.vbn-page .vbn-demo-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
/* Added by videobook-nowy.js a few seconds after the demo starts, in case the flipbook hangs */
.vbn-page p.vbn-demo-retry { margin: 0 0 14px; font-size: 15px; color: var(--vbn-sky); }
.vbn-page .vbn-demo-retry a,
.vbn-page .vbn-demo-retry a:hover { color: var(--vbn-yellow); text-decoration: underline; }
.vbn-page .vbn-demo-hint p { font-size: 15px; color: var(--vbn-sky); }

/* ---------- Offer ---------- */
.vbn-page .module_subrow.vbn-offer {
	background: #ffffff;
	border: 2px dashed var(--vbn-orange);
	border-radius: 28px;
	padding: clamp(26px, 4vw, 48px);
	gap: 36px;
	align-items: center;
}
.vbn-page .vbn-offer-list p { margin: 0 0 14px; font-size: 16px; color: var(--vbn-navy); }
.vbn-page .vbn-offer-list ul {
	display: flex;
	flex-direction: column;
	gap: 11px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.vbn-page .vbn-offer-list li { position: relative; margin: 0; padding-left: 26px; font-size: 17px; font-weight: 500; }

.vbn-page .module.vbn-offer-arrow { max-width: none; }
.vbn-page .vbn-offer-arrow img {
	width: 150px;
	height: 42px;
	object-fit: cover;
	margin: 0 auto 10px;
	display: block;
	transform: rotate(-8deg);
}
.vbn-page .vbn-price p { margin-bottom: 18px; }
.vbn-page .vbn-price .vbn-price-now {
	font-size: clamp(30px, 3.6vw, 44px);
	font-weight: 700;
	color: var(--vbn-orange);
}
.vbn-page .vbn-price del {
	font-size: 20px;
	font-weight: 600;
	color: var(--vbn-muted);
	margin-left: 12px;
}
.vbn-page .vbn-note p { margin-top: 14px; font-size: 14px; color: var(--vbn-muted); }

/* ---------- Reviews (masonry) ---------- */
.vbn-page .module_column.vbn-masonry { display: block; columns: 3 280px; column-gap: 16px; }
.vbn-page .module_column.vbn-masonry > .vbn-span { column-span: all; }
.vbn-page .module.vbn-review { max-width: none; margin-bottom: 16px; break-inside: avoid; }
.vbn-page .vbn-review .image-wrap { display: block; max-width: none; }
.vbn-page .vbn-review img { width: 100%; height: auto; display: block; border-radius: 16px; }

/* ---------- Footer ---------- */
.vbn-page .module_row.vbn-footer { background: var(--vbn-navy); padding: 48px 24px 44px; margin-top: 0; }
.vbn-page .vbn-footer > .row_inner,
.vbn-page .vbn-footer-bottom > .row_inner { width: 100%; max-width: 1120px; }
.vbn-page .module_subrow.vbn-footer-top { margin-bottom: 34px; }
.vbn-page .vbn-footer-top .module_column {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	flex-wrap: wrap;
}
.vbn-page .vbn-social { display: flex; gap: 12px; align-items: center; }
.vbn-page .vbn-social .module-icon-item { margin: 0; padding: 0; }
.vbn-page .vbn-social .module-icon-item a {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--vbn-orange);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.15s ease;
}
.vbn-page .vbn-social .module-icon-item a:hover { transform: translateY(-2px); }
.vbn-page .vbn-social em { background: none; padding: 0; margin: 0; width: auto; height: auto; color: #ffffff; font-size: 20px; line-height: 1; }
.vbn-page .vbn-social svg { width: 20px; height: 20px; fill: #ffffff; color: #ffffff; }
.vbn-page .vbn-ruler img { height: 62px; width: auto; display: block; }
.vbn-page .vbn-footer-mail a {
	font-family: var(--vbn-display);
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 600;
	color: var(--vbn-orange);
}
.vbn-page .vbn-footer-mail a:hover { color: #ffffff; }
.vbn-page .vbn-footer-links p {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px 40px;
}
.vbn-page .vbn-footer-links a { color: #ffffff; font-size: 16px; font-weight: 600; }
.vbn-page .vbn-footer-links a:hover { color: var(--vbn-amber); }

.vbn-page .module_row.vbn-footer-bottom { background: #ffffff; padding: 38px 24px 120px; text-align: center; }
.vbn-page .vbn-copyright,
.vbn-page .vbn-copyright p { margin: 0 0 10px; font-size: 16px; color: var(--vbn-text); text-align: center; }
.vbn-page .vbn-copyright a { color: var(--vbn-text); }

/* ---------- Sticky purchase bar (toggled by videobook-nowy.js) ---------- */
.vbn-page .module_row.vbn-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	background: var(--vbn-navy);
	padding: 12px 24px;
	transform: translateY(100%);
	visibility: hidden;
	transition: transform 0.3s ease, visibility 0.3s;
}
.vbn-page .module_row.vbn-bar.is-visible { transform: translateY(0); visibility: visible; }
.vbn-page .vbn-bar > .row_inner { width: 100%; max-width: 1120px; }
.vbn-page .vbn-bar .module_column {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.vbn-page .vbn-bar-text p { color: #ffffff; font-size: 16px; font-weight: 600; }
.vbn-page .vbn-bar-text span { color: var(--vbn-yellow); }
.vbn-page .vbn-bar .module.vbn-buttons a.builder_button { padding: 13px 28px; font-size: 16px; white-space: nowrap; }

@media (max-width: 600px) {
	.vbn-page .vbn-bar .module_column { justify-content: center; gap: 8px; text-align: center; }
}

/* Keep the bar reachable while editing in the front-end builder */
.vbn-page.themify_builder_active .module_row.vbn-bar,
.vbn-page .tb_active_builder .module_row.vbn-bar { position: relative; transform: none; visibility: visible; }
.vbn-page.themify_builder_active .module_row.vbn-header { position: relative; top: auto; }

/* Two-column sections stack on small screens regardless of the per-column Builder settings */
@media (max-width: 760px) {
	.vbn-page .module_subrow.vbn-hero-offer,
	.vbn-page .module_subrow.vbn-offer,
	.vbn-page .module_row.vbn-author > .row_inner { --col: none; --area: var(--aream2_auto); }
}

.vbn-page .module-image.image-top .image-content { margin: 0; }