/*
 * Components for HTML produced by inc/converter (formerly Elementor widgets).
 * Class contract: .bn-section .bn-row .bn-col .bn-col__wrap .bn-col__in .bn-w .bn-w-<type> .bn-el-<id>.
 * Per element values (colors, paddings, widths) are generated into a <style> block next to each page body.
 * Values below reproduce the Elementor 3.1 defaults used by the old site (kit 33).
 */

:root {
	--bn-k-primary: #6ec1e4;
	--bn-k-text: #7a7a7a;
	--bn-k-accent: #61ce70;
	--bn-k-secondary: #54595f;
	--bn-k-head: var(--bn-font-heading, "Jura", sans-serif);
	--bn-k-body: var(--bn-font-text, "Montserrat", sans-serif);
	--bn-k-line: #d4d4d4;
	--bn-content-max: 1140px;
	--bn-anim-dist: 60px;
}

html,
body {
	overflow-x: clip;
}

/* ---------- Page body, sections, columns ---------- */
.bn-body,
.bn-pbody {
	width: 100%;
}

.bn-section {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.bn-section.bn-stretch {
	width: var(--bn-vw, 100vw);
	margin-left: calc(50% - var(--bn-vw, 100vw) / 2);
}

.bn-row {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.bn-boxed > .bn-row {
	max-width: var(--bn-content-max);
}

.bn-section--inner {
	width: 100%;
}

.bn-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.bn-col {
	position: relative;
	display: flex;
	width: 100%;
	min-height: 1px;
	box-sizing: border-box;
}

.bn-col__wrap {
	position: relative;
	display: flex;
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
}

.bn-col__in {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	width: 100%;
}

.bn-col.bn-empty > .bn-col__wrap { padding: 0; }
.bn-gap-no .bn-col__wrap { padding: 0; }
.bn-gap-narrow .bn-col__wrap { padding: 5px; }
.bn-gap-extended .bn-col__wrap { padding: 15px; }
.bn-gap-wide .bn-col__wrap { padding: 20px; }
.bn-gap-wider .bn-col__wrap { padding: 30px; }

/* vertical alignment: section level centers the column content box, column level aligns the widgets */
.bn-section.bn-va-start > .bn-row > .bn-col > .bn-col__wrap { align-items: flex-start; }
.bn-section.bn-va-center > .bn-row > .bn-col > .bn-col__wrap { align-items: center; }
.bn-section.bn-va-end > .bn-row > .bn-col > .bn-col__wrap { align-items: flex-end; }
.bn-section.bn-va-start > .bn-row { align-content: flex-start; }
.bn-section.bn-va-center > .bn-row { align-content: center; }
.bn-section.bn-va-end > .bn-row { align-content: flex-end; }
.bn-col.bn-va-start > .bn-col__wrap > .bn-col__in { align-content: flex-start; align-items: flex-start; }
.bn-col.bn-va-center > .bn-col__wrap > .bn-col__in { align-content: center; align-items: center; }
.bn-col.bn-va-end > .bn-col__wrap > .bn-col__in { align-content: flex-end; align-items: flex-end; }

/* shape dividers */
.bn-sdiv {
	position: absolute;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	direction: ltr;
	pointer-events: none;
}

.bn-sdiv--top { top: -1px; }
.bn-sdiv--bottom { bottom: -1px; }
.bn-sdiv--flip { transform: rotate(180deg); }
.bn-sdiv--above { z-index: 2; }
.bn-sdiv--back svg { z-index: -1; }

.bn-sdiv svg {
	display: block;
	max-width: none;
	position: relative;
	left: 50%;
	width: calc(100% + 1.3px);
	height: 100px;
	transform: translateX(-50%);
}

.bn-sdiv path {
	fill: #fff;
	transform-origin: center;
}

.bn-section > .bn-row {
	z-index: 1;
}

/* visibility per device (desktop above 1024, tablet 768 to 1024, phone up to 767) */
@media (min-width: 1025px) { .bn-hide-d { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .bn-hide-t { display: none !important; } }
@media (max-width: 767px) { .bn-hide-m { display: none !important; } }

/* ---------- Widget base ---------- */
.bn-w {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.bn-w:not(:last-child) {
	margin-bottom: 20px;
}

.bn-ico {
	max-width: none;
	display: inline-block;
	width: 1em;
	height: 1em;
	overflow: visible;
	fill: currentColor;
	vertical-align: -0.125em;
}

/* ---------- Entrance animation and scroll effects (components.js) ---------- */
.bn-js .bn-anim:not(.bn-in) {
	opacity: 0;
}

.bn-js .bn-anim[data-bn-anim] {
	transition: opacity 1s ease, transform 1s ease;
}

.bn-js .bn-anim:not(.bn-in)[data-bn-anim="fadeInUp"] { transform: translate3d(0, var(--bn-anim-dist), 0); }
.bn-js .bn-anim:not(.bn-in)[data-bn-anim="fadeInDown"] { transform: translate3d(0, calc(var(--bn-anim-dist) * -1), 0); }
.bn-js .bn-anim:not(.bn-in)[data-bn-anim="fadeInLeft"] { transform: translate3d(calc(var(--bn-anim-dist) * -1), 0, 0); }
.bn-js .bn-anim:not(.bn-in)[data-bn-anim="fadeInRight"] { transform: translate3d(var(--bn-anim-dist), 0, 0); }

.bn-anim.bn-in {
	opacity: 1;
}

[data-bn-fx] {
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
	.bn-js .bn-anim:not(.bn-in) {
		opacity: 1;
		transform: none;
	}

	.bn-js .bn-anim[data-bn-anim] {
		transition: none;
	}
}

/* ---------- Content typography (The7 values inside Elementor content on the old site) ---------- */
/* :where keeps specificity at zero so widget rules always win */
:where(.bn-body, .bn-pbody) {
	color: var(--bn-k-text);
}

:where(.bn-body, .bn-pbody) :is(h1, h2, h3, h4, h5, h6) {
	margin: 0 0 10px;
	color: #333;
	font-family: var(--bn-font-heading, "Jura", sans-serif);
	font-weight: 700;
	text-transform: uppercase;
}

:where(.bn-body, .bn-pbody) h1 { font-size: 34px; }
:where(.bn-body, .bn-pbody) h2 { font-size: 34px; }
:where(.bn-body, .bn-pbody) h3 { font-size: 24px; }
:where(.bn-body, .bn-pbody) h4 { font-size: 20px; }
:where(.bn-body, .bn-pbody) h5 { font-size: 16px; }
:where(.bn-body, .bn-pbody) h6 { font-size: 14px; }

/* Line heights of plain headings (classic post content: The7 values). Headings made from Elementor widgets (class bb-*) keep the old Elementor default of 30px (base.css). */
:where(.bn-body, .bn-pbody) h1:not([class*="bb-"]):not(.bn-ah) { line-height: 49px; }
:where(.bn-body, .bn-pbody) h2:not([class*="bb-"]):not(.bn-ah) { line-height: 39px; }
:where(.bn-body, .bn-pbody) h3:not([class*="bb-"]):not(.bn-ah) { line-height: 29px; }
:where(.bn-body, .bn-pbody) h4:not([class*="bb-"]):not(.bn-ah) { line-height: 25px; }
:where(.bn-body, .bn-pbody) h5:not([class*="bb-"]):not(.bn-ah) { line-height: 21px; }
:where(.bn-body, .bn-pbody) h6:not([class*="bb-"]):not(.bn-ah) { line-height: 19px; }

:where(.bn-body, .bn-pbody) p { text-align: justify !important; } /* old child theme: p { text-align: justify !important } */

:where(.bn-body, .bn-pbody) a { color: var(--bn-color-accent, #3db048); }

:where(.bn-body, .bn-pbody) :is(ul, ol) { margin: 0 0 10px 20px; padding: 0; }
:where(.bn-body, .bn-pbody) blockquote { margin: 0 0 10px; padding: 20px 25px; font-weight: 700; }
:where(.bn-body, .bn-pbody) table { margin: 0 0 10px; }

:where(.bn-body, .bn-pbody) .alignright { float: right; display: block; margin: 0 0 10px 30px; }
:where(.bn-body, .bn-pbody) .alignleft { float: left; display: block; margin: 0 30px 10px 0; }
:where(.bn-body, .bn-pbody) .aligncenter { display: block; margin: 0 auto 10px; }

:where(.bn-body, .bn-pbody) :is(sub, sup) {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

:where(.bn-body, .bn-pbody) sup { top: -0.5em; }
:where(.bn-body, .bn-pbody) sub { bottom: -0.25em; }

/* ---------- Heading and text ---------- */
.bn-heading {
	margin: 0;
	padding: 0;
	line-height: 1;
	color: var(--bn-k-primary);
	font-family: var(--bn-font-heading, "Jura", sans-serif);
	font-weight: 600;
	text-transform: uppercase;
}

/* The7 custom CSS of the old site: h2.elementor-heading-title { font-size: 24px !important } */
h2.bn-heading {
	font-size: 24px !important;
}

.bn-heading a {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

.bn-w-text-editor {
	color: var(--bn-k-text);
	font-family: var(--bn-font-text, "Montserrat", sans-serif);
	font-weight: 400;
}

/* ---------- Image ---------- */
.bn-image img {
	display: inline-block;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

/* Elementor centers the image widget unless the widget sets its own alignment (generated rules come later and win). */
.bn-w-image > .bn-w__c {
	line-height: 0;
	text-align: center;
}

/* ---------- Button ---------- */
.bn-btn {
	display: inline-block;
	box-sizing: border-box;
	padding: 12px 24px;
	border-radius: 3px;
	background-color: var(--bn-k-accent);
	color: #fff;
	font-family: var(--bn-font-heading, "Jura", sans-serif);
	font-weight: 500;
	font-size: 15px;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	fill: currentColor;
	cursor: pointer;
	transition: all 0.3s;
}

.bn-btn:hover,
.bn-btn:focus {
	color: #fff;
	text-decoration: none;
}

.bn-btn--xs { padding: 10px 20px; font-size: 13px; }
.bn-btn--md { padding: 15px 30px; font-size: 16px; }
.bn-btn--lg { padding: 20px 40px; font-size: 18px; }
.bn-btn--xl { padding: 25px 50px; font-size: 20px; }

.bn-btn__icon { display: inline-block; margin-right: 5px; }
.bn-btn__icon--right { margin-right: 0; margin-left: 5px; }

.bn-hover-grow:hover,
.bn-hover-grow:focus {
	transform: scale(1.1);
}

/* ---------- Kit defaults of the old site (global colors and fonts) ---------- */
.bn-iconbox__title,
.bn-imagebox__title,
.bn-acc__title,
.bn-cta__title,
.bn-flip__title,
.bn-ah {
	font-family: var(--bn-k-head);
	font-weight: 600;
}

.bn-iconbox__title,
.bn-imagebox__title,
.bn-acc__title { color: var(--bn-k-primary); }

.bn-iconbox__title { font-size: 20px; line-height: 30px; }
.bn-iconbox__icon { color: var(--bn-k-primary); }
.bn-iconbox__desc,
.bn-imagebox__desc,
.bn-acc__content,
.bn-iconlist__item,
.bn-cta__desc,
.bn-flip__desc {
	color: var(--bn-k-text);
	font-family: var(--bn-k-body);
	font-weight: 400;
}

.bn-flip__desc { color: inherit; }
.bn-iconlist__icon { color: var(--bn-k-primary); }
.bn-iconlist__text { color: var(--bn-k-secondary); }
.bn-acc__item[open] .bn-acc__title { color: var(--bn-k-accent); }
.bn-ah__plain { color: var(--bn-k-secondary); }
.bn-ah__mark { stroke: var(--bn-k-accent); }
.bn-btn { font-family: var(--bn-k-head); }

/* ---------- Spacer and divider ---------- */
.bn-spacer {
	height: 50px;
}

.bn-divider {
	display: flex;
	padding: 15px 0;
}

.bn-divider__line {
	display: flex;
	width: 100%;
	border-top: 1px solid var(--bn-k-secondary);
}

/* ---------- Accordion (native details, exclusive through name attribute) ---------- */
.bn-acc {
	text-align: left;
}

.bn-acc__item {
	border: 1px solid var(--bn-k-line);
}

.bn-acc__item + .bn-acc__item {
	border-top: 0;
}

.bn-acc__title {
	display: block;
	margin: 0;
	padding: 15px 20px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	list-style: none;
}

.bn-acc__title::-webkit-details-marker { display: none; }
.bn-acc__title::marker { content: ""; }

.bn-acc__icon {
	display: inline-block;
	width: 1.2em;
}

.bn-acc__icon--right { float: right; text-align: right; }
.bn-acc__icon--left { float: left; text-align: left; }
.bn-acc__opened { display: none; }
.bn-acc__item[open] .bn-acc__closed { display: none; }
.bn-acc__item[open] .bn-acc__opened { display: inline; }

.bn-acc__plus::before { content: "+"; font-weight: 700; }
.bn-acc__minus::before { content: "\2212"; font-weight: 700; }

.bn-acc__content {
	padding: 15px 20px;
	border-top: 1px solid var(--bn-k-line);
}

.bn-acc__content > :last-child { margin-bottom: 0; }

@media (max-width: 767px) {
	.bn-acc__title { padding: 12px 15px; }
	.bn-acc__content { padding: 7px 15px; }
}

/* ---------- Icon list ---------- */
.bn-iconlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bn-iconlist__item {
	position: relative;
	margin: 0;
	padding: 0;
}

.bn-iconlist__item,
.bn-iconlist__link {
	display: flex;
	align-items: flex-start;
}

.bn-iconlist__link { color: inherit; text-decoration: none; }
.bn-iconlist__icon { flex-shrink: 0; width: 1.25em; }
.bn-iconlist__icon + .bn-iconlist__text { align-self: center; padding-left: 5px; }

/* ---------- Icon box and image box ---------- */
.bn-iconbox,
.bn-imagebox {
	text-align: center;
}

.bn-iconbox--left,
.bn-imagebox--left { display: flex; flex-direction: row; text-align: left; }
.bn-iconbox--right,
.bn-imagebox--right { display: flex; flex-direction: row-reverse; text-align: right; }
.bn-iconbox--va-top,
.bn-imagebox--va-top { align-items: flex-start; }
.bn-iconbox--va-bottom,
.bn-imagebox--va-bottom { align-items: flex-end; }
.bn-imagebox--va-middle { align-items: center; }

.bn-iconbox {
	display: flex;
	align-items: center;
}

.bn-iconbox__content,
.bn-iconbox__icon {
	padding: 5px;
}

.bn-iconbox__icon {
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 50px;
	line-height: 1;
}

.bn-iconbox__icon a { color: inherit; display: inline-flex; }
.bn-iconbox--top .bn-iconbox__icon { margin: 0 auto 15px; }
.bn-iconbox__content { flex-grow: 1; }
/* Phones (Elementor default, measured on live): the icon is a block with the body line height and the title is centered
   unless the widget sets its own mobile alignment (those rules are scoped per widget and win). */
@media (max-width: 767px) {
	.bn-iconbox--left,
	.bn-iconbox--right { text-align: center; }
	.bn-iconbox--left .bn-iconbox__icon,
	.bn-iconbox--right .bn-iconbox__icon { display: block; line-height: inherit; }
	.bn-iconbox--left .bn-iconbox__icon svg,
	.bn-iconbox--right .bn-iconbox__icon svg { display: inline-block; }
}
.bn-iconbox__title a { color: inherit; }
.bn-iconbox__desc { margin: 0; }

.bn-imagebox__img { display: inline-block; margin: 0 auto 15px; max-width: 100%; }
.bn-imagebox--left .bn-imagebox__img,
.bn-imagebox--right .bn-imagebox__img { margin-top: 0; margin-bottom: 0; }
.bn-imagebox__img img { width: 100%; height: auto; max-width: 100%; vertical-align: baseline; }
.bn-imagebox__content { width: 100%; }
.bn-imagebox__title a { color: inherit; }
.bn-imagebox__desc { margin: 0; }

/* ---------- Call to action (classic skin: image above, text block below) ---------- */
.bn-cta {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

.bn-w-call-to-action > .bn-w__c { overflow: hidden; }

.bn-cta__bg-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	min-height: 200px;
	overflow: hidden;
}

.bn-cta__bg,
.bn-cta__overlay {
	position: absolute;
	inset: 0;
	transition: all 1.5s;
}

.bn-cta__bg {
	z-index: 1;
	background-size: cover;
	background-position: 50%;
}

.bn-cta__overlay { z-index: 2; }
.bn-cta:hover .bn-cta__bg { transform: scale(1.05); }

.bn-cta__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	width: 100%;
	padding: 35px;
	box-sizing: border-box;
	overflow: hidden;
	min-height: 152px;
	background-color: #f7f7f7;
	color: #55595c;
	transition: all 0.4s;
}

.bn-cta--va-top .bn-cta__content { align-content: flex-start; align-items: flex-start; }
.bn-cta--va-bottom .bn-cta__content { align-content: flex-end; align-items: flex-end; }

.bn-cta__title {
	width: 100%;
	margin: 0;
	font-size: 23px;
	color: #55595c;
}

.bn-cta__title:not(:last-child),
.bn-cta__desc:not(:last-child) { margin-bottom: 15px; }
.bn-cta__desc { width: 100%; color: #55595c; }

.bn-cta__btn {
	margin-left: auto;
	margin-right: auto;
	border: 2px solid #55595c;
	background: transparent;
	color: #55595c;
}

/* ---------- Flip box (hover or keyboard focus shows the back) ---------- */
.bn-flip {
	position: relative;
	height: 280px;
	overflow: hidden;
	background: #fff;
}

.bn-flip__side {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	transition: transform 0.8s, opacity 0.8s;
}

.bn-flip__layer {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	box-sizing: border-box;
	padding: 35px;
	text-align: center;
	color: #fff;
}

.bn-flip__layer::before { z-index: 0; }
.bn-flip__inner { position: relative; z-index: 1; width: 100%; }
.bn-flip__title { margin: 0 0 20px; line-height: 1; color: inherit; }
.bn-flip__desc { margin: 0; font-size: 14px; color: inherit; }
.bn-flip__btn { margin-top: 20px; border: 2px solid #fff; background: transparent; color: #fff; }

.bn-flip--push .bn-flip__back { transform: translateX(100%); }
.bn-flip--push:hover .bn-flip__front,
.bn-flip--push:focus-within .bn-flip__front { transform: translateX(-100%); }
.bn-flip--push:hover .bn-flip__back,
.bn-flip--push:focus-within .bn-flip__back { transform: translateX(0); }

.bn-flip--slide .bn-flip__back { transform: translateX(100%); }
.bn-flip--slide:hover .bn-flip__back,
.bn-flip--slide:focus-within .bn-flip__back { transform: translateX(0); }

.bn-flip--flip { overflow: visible; perspective: 1000px; }
.bn-flip--flip .bn-flip__side { backface-visibility: hidden; }
.bn-flip--flip .bn-flip__back { transform: rotateY(180deg); }
.bn-flip--flip:hover .bn-flip__front,
.bn-flip--flip:focus-within .bn-flip__front { transform: rotateY(-180deg); }
.bn-flip--flip:hover .bn-flip__back,
.bn-flip--flip:focus-within .bn-flip__back { transform: rotateY(0); }

.bn-flip--fade .bn-flip__back { opacity: 0; }
.bn-flip--fade:hover .bn-flip__back,
.bn-flip--fade:focus-within .bn-flip__back { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
	.bn-flip__side { transition: none; }
}

/* ---------- Advanced heading (Ultimate Addons) ---------- */
.bn-advh { text-align: left; }
.bn-advh__heading { margin: 0 0 15px; font-weight: 600; }
.bn-advh__sub { margin: 15px 0 0; font-family: var(--bn-font-heading); font-weight: 400; color: #54595f; }
.bn-advh__text { display: block; }
.bn-advh__sep { width: 20%; height: 0; border-top: 2px solid currentColor; margin: 3px 0 0; }
.bn-advh__desc { margin-top: 15px; }

/* ---------- Animated headline (highlight style) ---------- */
.bn-ah { font-size: 43px; line-height: 1.2; }
.bn-ah__hl { position: relative; display: inline-block; }
.bn-ah__mark {
	position: absolute;
	left: -10px;
	top: -10px;
	width: calc(100% + 20px);
	height: calc(100% + 20px);
	overflow: visible;
	fill: none;
	stroke: currentColor;
	stroke-width: 9;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}

/* ---------- Social icons ---------- */
.bn-social {
	display: flex;
	flex-wrap: wrap;
	--bn-icon-size: 25px;
	--bn-icon-padding: 0.5em;
}

.bn-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: content-box;
	width: var(--bn-icon-size);
	height: var(--bn-icon-size);
	padding: var(--bn-icon-padding);
	border-radius: 10%;
	font-size: var(--bn-icon-size);
	line-height: 1;
	background-color: #818a91;
	color: #fff;
	text-decoration: none;
	transition: background-color 0.3s, color 0.3s;
}

.bn-social__link .bn-ico { height: 1em; width: 1em; }

/* ---------- Map, forms, cf7 wrapper ---------- */
.bn-map iframe {
	display: block;
	width: 100%;
	height: 300px;
	border: 0;
}

.bn-cf7 { width: 100%; }
.bn-cf7 .wpcf7-not-valid { border-color: var(--bn-cf7-error, #ffa000); }

/* ---------- Posts list ([bionika_posts]) ---------- */
.bn-posts {
	display: grid;
	grid-template-columns: repeat(var(--bn-cols, 3), minmax(0, 1fr));
	gap: 30px;
}

.bn-posts__item { min-width: 0; }

.bn-posts__thumb {
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / var(--bn-thumb-ratio, 0.66);
}

.bn-posts__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bn-posts__title { margin: 15px 0 5px; font-size: 20px; line-height: 1.3; }
.bn-posts__title a { color: inherit; }
.bn-posts__meta { margin-bottom: 8px; font-size: 13px; }
.bn-posts__excerpt { margin-bottom: 10px; }
.bn-posts__more { font-family: var(--bn-font-heading, "Jura", sans-serif); font-weight: 700; }

.bn-posts--classic.bn-posts--thumb-left .bn-posts__item { display: flex; align-items: flex-start; gap: var(--bn-thumb-gap, 18px); }
.bn-posts--classic.bn-posts--thumb-left .bn-posts__thumb { flex: 0 0 var(--bn-thumb-w, 30%); }
.bn-posts--classic.bn-posts--thumb-left .bn-posts__title { margin-top: 0; }

.bn-posts--carousel {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.bn-posts--carousel .bn-posts__item { flex: 0 0 calc((100% - 40px) / var(--bn-cols, 3)); scroll-snap-align: start; }
.bn-posts--cards .bn-posts__thumb { border-radius: 16px; }
.bn-posts__pager { margin-top: 20px; text-align: center; }
.bn-posts__pager .page-numbers { display: inline-block; padding: 4px 10px; }

/* ---------- Info box ---------- */
.bn-infobox { display: flex; gap: 20px; align-items: flex-start; }
.bn-infobox--top { display: block; text-align: center; }
.bn-infobox--right { flex-direction: row-reverse; }
.bn-infobox__img { flex: 0 0 auto; }
.bn-infobox__img img { max-width: 100%; height: auto; }
.bn-infobox__title { margin: 0 0 10px; }
.bn-infobox__sep { width: 40px; margin: 10px 0; border-top: 2px solid currentColor; }
.bn-infobox__desc { margin: 0 0 10px; }
.bn-infobox__link { font-weight: 700; }

/* ---------- Site logo widget ---------- */
.bn-logo { display: inline-block; vertical-align: top; }
.bn-logo img { display: block; max-width: 100%; height: auto; }

/* ---------- Deferred widgets (forms, popups): nothing is drawn ---------- */
.bn-w-form[data-bn-skipped] { display: none; }

/* ---------- Phone and tablet behavior of the old Elementor output ---------- */
/* Image boxes with the image left or right stack with the image on top, centered (Elementor default below 768 px). */
@media (max-width: 767px) {
	.bn-imagebox--left,
	.bn-imagebox--right {
		display: block;
		text-align: center;
	}

	.bn-imagebox--left .bn-imagebox__img,
	.bn-imagebox--right .bn-imagebox__img {
		display: block;
		margin: 0 auto !important;
	}
}

/* Fixed (parallax) section backgrounds do not paint on touch browsers, Elementor turned them into normal ones. */
@media (max-width: 1024px) {
	.bn-section {
		background-attachment: scroll !important;
	}
}
