/* Builder V2: block override -> Section token -> page/theme token -> safe fallback */

.builder-v2-cascade-text[data-cascade-role="text"] {
	font-size: var(--builder-v2-block-text-size, var(--text-size, 18px)) !important;
	font-family: var(--builder-v2-block-text-font, var(--text-font, inherit)) !important;
	font-weight: var(--builder-v2-block-text-weight, var(--text-weight, 400)) !important;
	line-height: var(--builder-v2-block-text-line, var(--text-line, 1.4)) !important;
	letter-spacing: var(--builder-v2-block-text-letter-spacing, var(--text-znak, 0)) !important;
	text-transform: var(--builder-v2-block-text-transform, var(--text-registr, none)) !important;
	color: var(--builder-v2-block-text-color, var(--text-color, #303030)) !important;
}
.builder-v2-cascade-text[data-cascade-role="heading"] {
	font-size: var(--builder-v2-block-head-size, var(--head-size, 30px)) !important;
	font-family: var(--builder-v2-block-head-font, var(--head-font, inherit)) !important;
	font-weight: var(--builder-v2-block-head-weight, var(--head-weight, 700)) !important;
	line-height: var(--builder-v2-block-head-line, var(--head-line, 1.25)) !important;
	letter-spacing: var(--builder-v2-block-head-letter-spacing, var(--head-znak, 0)) !important;
	text-transform: var(--builder-v2-block-head-transform, var(--head-registr, none)) !important;
	color: var(--builder-v2-block-head-color, var(--head-color, #303030)) !important;
}
.builder-v2-section-shell .builder-v2-cascade-text[data-cascade-role="text"],
.builder-v2-section .builder-v2-cascade-text[data-cascade-role="text"] {
	font-size: var(--builder-v2-block-text-size, var(--builder-v2-section-text-size, var(--text-size, 18px))) !important;
	font-family: var(--builder-v2-block-text-font, var(--builder-v2-section-text-font, var(--text-font, inherit))) !important;
	font-weight: var(--builder-v2-block-text-weight, var(--builder-v2-section-text-weight, var(--text-weight, 400))) !important;
	line-height: var(--builder-v2-block-text-line, var(--builder-v2-section-text-line, var(--text-line, 1.4))) !important;
	letter-spacing: var(--builder-v2-block-text-letter-spacing, var(--builder-v2-section-text-letter-spacing, var(--text-znak, 0))) !important;
	text-transform: var(--builder-v2-block-text-transform, var(--builder-v2-section-text-transform, var(--text-registr, none))) !important;
	color: var(--builder-v2-block-text-color, var(--builder-v2-section-text-color, var(--text-color, #303030))) !important;
}
.builder-v2-section-shell .builder-v2-cascade-text[data-cascade-role="heading"],
.builder-v2-section .builder-v2-cascade-text[data-cascade-role="heading"] {
	font-size: var(--builder-v2-block-head-size, var(--builder-v2-section-head-size, var(--head-size, 30px))) !important;
	font-family: var(--builder-v2-block-head-font, var(--builder-v2-section-head-font, var(--head-font, inherit))) !important;
	font-weight: var(--builder-v2-block-head-weight, var(--builder-v2-section-head-weight, var(--head-weight, 700))) !important;
	line-height: var(--builder-v2-block-head-line, var(--builder-v2-section-head-line, var(--head-line, 1.25))) !important;
	letter-spacing: var(--builder-v2-block-head-letter-spacing, var(--builder-v2-section-head-letter-spacing, var(--head-znak, 0))) !important;
	text-transform: var(--builder-v2-block-head-transform, var(--builder-v2-section-head-transform, var(--head-registr, none))) !important;
	color: var(--builder-v2-block-head-color, var(--builder-v2-section-head-color, var(--head-color, #303030))) !important;
}

.builder-v2-cascade-link {
	color: var(--builder-v2-block-link-title-color, var(--link-title-color, currentColor)) !important;
}
.builder-v2-cascade-link .link_title,
.builder-v2-cascade-link > .inlink,
.builder-v2-cascade-link .inlink {
	font-size: var(--builder-v2-block-link-title-size, var(--link-title-size, 21px)) !important;
	font-family: var(--builder-v2-block-link-title-font, var(--link-title-font, inherit)) !important;
	font-weight: var(--builder-v2-block-link-title-weight, var(--link-title-weight, 400)) !important;
	line-height: var(--builder-v2-block-link-title-line, var(--link-title-line, 1.3)) !important;
	letter-spacing: var(--builder-v2-block-link-title-letter-spacing, var(--link-title-znak, 0)) !important;
	text-transform: var(--builder-v2-block-link-title-transform, var(--link-title-registr, none)) !important;
	color: inherit !important;
}
.builder-v2-cascade-link .link_desc {
	font-size: var(--builder-v2-block-link-subtitle-size, var(--link-subtitle-size, 17px)) !important;
	font-family: var(--builder-v2-block-link-subtitle-font, var(--link-subtitle-font, inherit)) !important;
	font-weight: var(--builder-v2-block-link-subtitle-weight, var(--link-subtitle-weight, 400)) !important;
	line-height: var(--builder-v2-block-link-subtitle-line, var(--link-subtitle-line, 1.1)) !important;
	letter-spacing: var(--builder-v2-block-link-subtitle-letter-spacing, var(--link-subtitle-znak, 0)) !important;
	text-transform: var(--builder-v2-block-link-subtitle-transform, var(--link-subtitle-registr, none)) !important;
	color: var(--builder-v2-block-link-subtitle-color, var(--link-subtitle-color, currentColor)) !important;
}
.builder-v2-cascade-link[data-cascade-background="block"] { background: var(--builder-v2-block-link-background) !important; }
.builder-v2-cascade-link[data-cascade-border="block"] {
	border-style: solid !important;
	border-width: var(--builder-v2-block-link-border-width, 0) !important;
	border-color: var(--builder-v2-block-link-border-color, transparent) !important;
}
.builder-v2-cascade-link[data-cascade-radius="block"] { border-radius: var(--builder-v2-block-link-radius, var(--link-border-radius, 34px)) !important; }
.builder-v2-cascade-link[data-cascade-shadow="block"] { box-shadow: var(--builder-v2-block-link-shadow, none) !important; }

.builder-v2-section-shell .builder-v2-cascade-link,
.builder-v2-section .builder-v2-cascade-link {
	color: var(--builder-v2-block-link-title-color, var(--builder-v2-section-link-title-color, var(--link-title-color, currentColor))) !important;
	background: var(--builder-v2-block-link-background, var(--builder-v2-section-link-background, var(--link-bg-color, transparent))) !important;
	border-style: solid !important;
	border-width: var(--builder-v2-block-link-border-width, var(--builder-v2-section-link-border-width, var(--link-border-width, 0))) !important;
	border-color: var(--builder-v2-block-link-border-color, var(--builder-v2-section-link-border-color, var(--link-border-color, transparent))) !important;
	border-radius: var(--builder-v2-block-link-radius, var(--link-border-radius, 34px)) !important;
	box-shadow: var(--builder-v2-block-link-shadow, var(--builder-v2-section-link-shadow, none)) !important;
}
.builder-v2-section-shell .builder-v2-cascade-link .link_title,
.builder-v2-section-shell .builder-v2-cascade-link > .inlink,
.builder-v2-section-shell .builder-v2-cascade-link .inlink,
.builder-v2-section .builder-v2-cascade-link .link_title,
.builder-v2-section .builder-v2-cascade-link > .inlink,
.builder-v2-section .builder-v2-cascade-link .inlink {
	font-size: var(--builder-v2-block-link-title-size, var(--builder-v2-section-link-title-size, var(--link-title-size, 21px))) !important;
	font-family: var(--builder-v2-block-link-title-font, var(--builder-v2-section-link-title-font, var(--link-title-font, inherit))) !important;
	font-weight: var(--builder-v2-block-link-title-weight, var(--builder-v2-section-link-title-weight, var(--link-title-weight, 400))) !important;
	line-height: var(--builder-v2-block-link-title-line, var(--builder-v2-section-link-title-line, var(--link-title-line, 1.3))) !important;
	letter-spacing: var(--builder-v2-block-link-title-letter-spacing, var(--builder-v2-section-link-title-letter-spacing, var(--link-title-znak, 0))) !important;
	text-transform: var(--builder-v2-block-link-title-transform, var(--builder-v2-section-link-title-transform, var(--link-title-registr, none))) !important;
	color: inherit !important;
}
.builder-v2-section-shell .builder-v2-cascade-link .link_desc,
.builder-v2-section .builder-v2-cascade-link .link_desc {
	font-size: var(--builder-v2-block-link-subtitle-size, var(--builder-v2-section-link-subtitle-size, var(--link-subtitle-size, 17px))) !important;
	font-family: var(--builder-v2-block-link-subtitle-font, var(--builder-v2-section-link-subtitle-font, var(--link-subtitle-font, inherit))) !important;
	font-weight: var(--builder-v2-block-link-subtitle-weight, var(--builder-v2-section-link-subtitle-weight, var(--link-subtitle-weight, 400))) !important;
	line-height: var(--builder-v2-block-link-subtitle-line, var(--builder-v2-section-link-subtitle-line, var(--link-subtitle-line, 1.1))) !important;
	letter-spacing: var(--builder-v2-block-link-subtitle-letter-spacing, var(--builder-v2-section-link-subtitle-letter-spacing, var(--link-subtitle-znak, 0))) !important;
	text-transform: var(--builder-v2-block-link-subtitle-transform, var(--builder-v2-section-link-subtitle-transform, var(--link-subtitle-registr, none))) !important;
	color: var(--builder-v2-block-link-subtitle-color, var(--builder-v2-section-link-subtitle-color, var(--link-subtitle-color, currentColor))) !important;
}

/* Section editor's shadow preview reads the same namespaced tokens. */
.be-section-shadow-preview > span {
	color: var(--builder-v2-section-link-title-color, var(--link-title-color, #fff)) !important;
	font-family: var(--builder-v2-section-link-title-font, var(--link-title-font, inherit)) !important;
	font-size: var(--builder-v2-section-link-title-size, var(--link-title-size, 18px)) !important;
	font-weight: var(--builder-v2-section-link-title-weight, var(--link-title-weight, 400)) !important;
	line-height: var(--builder-v2-section-link-title-line, var(--link-title-line, 1.3)) !important;
	letter-spacing: var(--builder-v2-section-link-title-letter-spacing, var(--link-title-znak, 0)) !important;
	text-transform: var(--builder-v2-section-link-title-transform, var(--link-title-registr, none)) !important;
}
.be-section-shadow-preview small {
	color: var(--builder-v2-section-link-subtitle-color, var(--link-subtitle-color, rgba(255,255,255,.72))) !important;
	font-family: var(--builder-v2-section-link-subtitle-font, var(--link-subtitle-font, inherit)) !important;
	font-size: var(--builder-v2-section-link-subtitle-size, var(--link-subtitle-size, 14px)) !important;
	font-weight: var(--builder-v2-section-link-subtitle-weight, var(--link-subtitle-weight, 400)) !important;
	line-height: var(--builder-v2-section-link-subtitle-line, var(--link-subtitle-line, 1.1)) !important;
	letter-spacing: var(--builder-v2-section-link-subtitle-letter-spacing, var(--link-subtitle-znak, 0)) !important;
	text-transform: var(--builder-v2-section-link-subtitle-transform, var(--link-subtitle-registr, none)) !important;
}

/* Legacy blocks have no explicit override metadata. Keep Section behavior until migration-on-edit. */
.builder-v2-section-shell .bl-heading:not(.builder-v2-cascade-text),
.builder-v2-section .bl-heading:not(.builder-v2-cascade-text) {
	color: var(--builder-v2-section-head-color, var(--head-color, #303030)) !important;
	font-family: var(--builder-v2-section-head-font, var(--head-font, inherit)) !important;
	font-size: var(--builder-v2-section-head-size, var(--head-size, 30px)) !important;
	font-weight: var(--builder-v2-section-head-weight, var(--head-weight, 700)) !important;
	line-height: var(--builder-v2-section-head-line, var(--head-line, 1.25)) !important;
	letter-spacing: var(--builder-v2-section-head-letter-spacing, var(--head-znak, 0)) !important;
	text-transform: var(--builder-v2-section-head-transform, var(--head-registr, none)) !important;
}
.builder-v2-section-shell .bl-text:not(.builder-v2-cascade-text),
.builder-v2-section .bl-text:not(.builder-v2-cascade-text) {
	color: var(--builder-v2-section-text-color, var(--text-color, #303030)) !important;
	font-family: var(--builder-v2-section-text-font, var(--text-font, inherit)) !important;
	font-size: var(--builder-v2-section-text-size, var(--text-size, 18px)) !important;
	font-weight: var(--builder-v2-section-text-weight, var(--text-weight, 400)) !important;
	line-height: var(--builder-v2-section-text-line, var(--text-line, 1.4)) !important;
	letter-spacing: var(--builder-v2-section-text-letter-spacing, var(--text-znak, 0)) !important;
	text-transform: var(--builder-v2-section-text-transform, var(--text-registr, none)) !important;
}
.builder-v2-section-shell .bl-link .block-content > a:not(.builder-v2-cascade-link),
.builder-v2-section-shell .bl-phone .block-content > a:not(.builder-v2-cascade-link),
.builder-v2-section .bl-link .block-content > a:not(.builder-v2-cascade-link),
.builder-v2-section .bl-phone .block-content > a:not(.builder-v2-cascade-link) {
	background: var(--builder-v2-section-link-background, var(--link-bg-color, transparent)) !important;
	border: var(--builder-v2-section-link-border-width, var(--link-border-width, 0)) solid var(--builder-v2-section-link-border-color, var(--link-border-color, transparent)) !important;
	box-shadow: var(--builder-v2-section-link-shadow, none) !important;
	color: var(--builder-v2-section-link-title-color, var(--link-title-color, currentColor)) !important;
}
.builder-v2-section-shell .bl-link .block-content > a:not(.builder-v2-cascade-link) .inlink,
.builder-v2-section .bl-link .block-content > a:not(.builder-v2-cascade-link) .inlink {
	color: var(--builder-v2-section-link-title-color, var(--link-title-color, currentColor)) !important;
}
.builder-v2-section-shell .bl-link .block-content > a:not(.builder-v2-cascade-link) .link_desc,
.builder-v2-section .bl-link .block-content > a:not(.builder-v2-cascade-link) .link_desc {
	color: var(--builder-v2-section-link-subtitle-color, var(--link-subtitle-color, currentColor)) !important;
}