/* ==========================================================================
   SDB — Kingster Child | Theme Adaptation
   Adaptação específica do Kingster/GoodLayers ao SDB — Design System
   ========================================================================== */

/**
 * Escopo:
 * - Apenas sites com o child theme governado.
 * - Apenas adaptação específica ao Kingster/GoodLayers.
 * - O SDB — Design System continua a ser a fonte oficial de tokens.
 * - O SDB Side Navigation tem ficheiro próprio: sdb-side-navigation.css.
 */

/* --------------------------------------------------------------------------
   1. Base de adaptação Kingster
   --------------------------------------------------------------------------
   O child theme consome diretamente tokens --sdb-* do SDB — Design System.
   Aliases visuais antigos do plugin SDB — Estilos Globais Kingster não são
   recriados aqui para evitar uma identidade visual paralela.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   2. Top Bar Kingster — integração editorial com o Design System
   --------------------------------------------------------------------------
   Intervenção conservadora:
   - mantém cores de fundo configuradas no Kingster;
   - normaliza tipografia, espaçamento, foco e legibilidade;
   - evita redesenhar a estrutura do tema pai.
   -------------------------------------------------------------------------- */

body.sdb-kingster-child .kingster-top-bar,
body.sdb-kingster-child .kingster-top-bar a,
body.sdb-kingster-child .kingster-top-bar-menu a {
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit)) !important;
	font-size: var(--sdb-topbar-font-size, 14px) !important;
	font-weight: var(--sdb-topbar-font-weight, 400) !important;
	letter-spacing: var(--sdb-nav-letter-spacing, 0.01em) !important;
	line-height: var(--sdb-line-height-body, 1.45) !important;
}

body.sdb-kingster-child .kingster-top-bar {
	border-bottom: 1px solid color-mix(in srgb, var(--sdb-color-border, #eef3f8) 82%, transparent);
}

body.sdb-kingster-child .kingster-top-bar a {
	text-decoration: none;
	text-underline-offset: 0.22em;
	transition: color 160ms ease, opacity 160ms ease, text-decoration-color 160ms ease;
}

body.sdb-kingster-child .kingster-top-bar a:hover,
body.sdb-kingster-child .kingster-top-bar a:focus-visible {
	color: var(--sdb-color-primary, #0058b7) !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: currentColor;
}

body.sdb-kingster-child .kingster-top-bar a:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--sdb-color-primary, #0058b7) 50%, transparent);
	outline-offset: 3px;
	border-radius: var(--sdb-radius-sm, 6px);
}

body.sdb-kingster-child .kingster-top-bar-menu > li {
	margin-left: clamp(12px, 1.35vw, 22px);
}

/* --------------------------------------------------------------------------
   3. Header Kingster clássico — integração conservadora
   --------------------------------------------------------------------------
   Esta camada foi intencionalmente reduzida depois dos testes da v1.1.4.
   O Kingster/GoodLayers controla grande parte da navegação, incluindo
   posicionamento, fundos, dropdowns, mega menu e estados ativos. O child theme
   deve apenas melhorar a integração tipográfica e acessível sem redesenhar a
   estrutura do menu clássico.

   Regra prática:
   - NÃO criar sublinhados/indicadores próprios no menu principal;
   - NÃO alterar backgrounds, larguras, posições ou radius dos dropdowns;
   - NÃO interferir com mega menu;
   - NÃO forçar cores que o Kingster já permite configurar.
   -------------------------------------------------------------------------- */

body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-header-wrap,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-header-background,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-fixed-navigation {
	font-family: var(--sdb-font-body, inherit);
}

body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-header-wrap {
	border-bottom: 1px solid color-mix(in srgb, var(--sdb-color-border, #eef3f8) 68%, transparent);
}

body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-logo,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-logo-inner {
	line-height: 1;
}

body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-logo img {
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------------------
   4. Navegação Kingster clássica — modo não invasivo
   --------------------------------------------------------------------------
   Mantém o comportamento nativo do Kingster. Apenas aplica tokens tipográficos
   e melhora focus-visible. Dropdowns, mega menu, hover/current e CTAs mantêm
   as regras do tema/opções Kingster para evitar conflitos visuais.
   -------------------------------------------------------------------------- */

body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-navigation,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-main-menu,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-main-menu-right,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .sf-menu,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .sf-menu > li > a {
	font-family: var(--sdb-nav-font, var(--sdb-font-heading, inherit));
	font-size: var(--sdb-nav-font-size, inherit);
	font-weight: var(--sdb-nav-font-weight, inherit);
	letter-spacing: var(--sdb-nav-letter-spacing, inherit);
}

body.sdb-kingster-child:not(.sdb-side-nav-enabled) .sf-menu ul.sub-menu li a,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .sf-menu .sf-mega a,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .sf-menu .sf-mega-section a {
	font-family: var(--sdb-font-body, inherit);
	font-size: var(--sdb-type-body-sm-size, inherit);
	font-weight: var(--sdb-font-weight-regular, inherit);
	letter-spacing: var(--sdb-nav-letter-spacing, inherit);
}

body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-navigation a:focus-visible,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-main-menu-right a:focus-visible,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-mobile-menu a:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--sdb-color-primary, #0058b7) 48%, transparent);
	outline-offset: 4px;
	border-radius: var(--sdb-radius-sm, 6px);
}

body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-main-menu-right-button,
body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-main-menu-right-button a {
	font-family: var(--sdb-nav-font, var(--sdb-font-heading, inherit));
	font-weight: var(--sdb-font-weight-semibold, 600);
	letter-spacing: var(--sdb-nav-letter-spacing, 0.01em);
}

body.sdb-kingster-child .kingster-mobile-header,
body.sdb-kingster-child .kingster-mobile-menu,
body.sdb-kingster-child .kingster-mobile-menu a {
	font-family: var(--sdb-nav-font, var(--sdb-font-heading, inherit));
	font-size: var(--sdb-nav-font-size, inherit);
	font-weight: var(--sdb-nav-font-weight, inherit);
}

body.sdb-kingster-child:not(.sdb-side-nav-enabled) .kingster-mobile-header {
	border-bottom: 1px solid color-mix(in srgb, var(--sdb-color-border, #eef3f8) 70%, transparent);
}

/* --------------------------------------------------------------------------
   5. Page titles e breadcrumbs Kingster
   --------------------------------------------------------------------------
   Intervenção conservadora:
   - não altera imagens/fundos definidos no Kingster;
   - não adiciona overlays;
   - não força alinhamento global;
   - aplica apenas acabamento, tipografia e breadcrumbs via tokens SDB.
   -------------------------------------------------------------------------- */

body.sdb-kingster-child .kingster-page-title-wrap {
	font-family: var(--sdb-font-body, inherit);
}

body.sdb-kingster-child .kingster-page-title-wrap.kingster-style-custom {
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	border-bottom: 1px solid color-mix(in srgb, var(--sdb-color-border, #eef3f8) 72%, transparent);
	border-bottom-left-radius: var(--sdb-radius-lg, 14px);
	border-bottom-right-radius: var(--sdb-radius-lg, 14px);
	box-shadow: var(--sdb-shadow-element, 0 8px 24px rgba(31, 42, 54, 0.06));
}

body.sdb-kingster-child .kingster-page-title-wrap .kingster-page-title-container,
body.sdb-kingster-child .kingster-page-title-wrap .kingster-page-title-content {
	position: relative;
	z-index: 2;
}

/* Título principal — respeita cor/alinhamento/tamanho base definidos no Kingster */
body.sdb-kingster-child .kingster-page-title-wrap .kingster-page-title {
	font-family: var(--sdb-font-heading, inherit);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.08;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

/* Caption/subtítulo — respeita cor/alinhamento definidos no Kingster */
body.sdb-kingster-child .kingster-page-title-wrap .kingster-page-caption {
	font-family: var(--sdb-font-body, inherit);
	font-weight: var(--sdb-font-weight-regular, 400);
	line-height: 1.45;
	letter-spacing: -0.01em;
	max-width: 820px;
}

/* Breadcrumbs Kingster — discretos, legíveis e alinhados ao DS */
body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs,
body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs a,
body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs span {
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: var(--sdb-type-body-sm-size, 14px);
	font-weight: var(--sdb-font-weight-medium, 500);
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs {
	margin-top: 16px;
	opacity: 0.86;
}

body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs a {
	text-decoration: none;
	text-underline-offset: 0.24em;
	transition: opacity 160ms ease, text-decoration-color 160ms ease;
}

body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs a:hover,
body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs a:focus-visible {
	opacity: 1;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: currentColor;
}

body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs a:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--sdb-color-primary, #0058b7) 48%, transparent);
	outline-offset: 3px;
	border-radius: var(--sdb-radius-sm, 6px);
}

/* Evita títulos excessivamente estreitos em desktop, sem forçar layout agressivo */
@media (min-width: 1024px) {
	body.sdb-kingster-child .kingster-page-title-wrap .kingster-page-title {
		max-width: 980px;
	}
}

/* Variação Missão Dom Bosco, se usada no body */
body.sdb-kingster-child.is-mdb .kingster-page-title-wrap .kingster-page-caption,
body.sdb-kingster-child.is-mdb .kingster-page-title-wrap .kingster-page-title {
	color: var(--sdb-mdb-color-primary, var(--sdb-color-secondary, #f26722)) !important;
}

/* Mobile */
@media (max-width: 767px) {
	body.sdb-kingster-child .kingster-page-title-wrap.kingster-style-custom {
		border-bottom-left-radius: var(--sdb-radius-md, 10px);
		border-bottom-right-radius: var(--sdb-radius-md, 10px);
	}

	body.sdb-kingster-child .kingster-page-title-wrap .kingster-page-title {
		line-height: 1.12;
		letter-spacing: -0.03em;
	}

	body.sdb-kingster-child .kingster-page-title-wrap .kingster-page-caption {
		line-height: 1.45;
	}

	body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs,
	body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs a,
	body.sdb-kingster-child .kingster-page-title-wrap .kingster-breadcrumbs span {
		font-size: var(--sdb-type-label-md-size, 12px);
		letter-spacing: 0.035em;
	}
}

/* --------------------------------------------------------------------------
   6. Gutenberg/media em contexto Kingster
   -------------------------------------------------------------------------- */

body.sdb-kingster-child .wp-block-image figcaption,
body.sdb-kingster-child .wp-block-embed figcaption,
body.sdb-kingster-child .blocks-gallery-caption.wp-element-caption {
	font-size: var(--sdb-type-body-sm-size, 14px);
	color: var(--sdb-color-muted, #8f9ba4);
}

body.sdb-kingster-child .blocks-gallery-caption.wp-element-caption {
	text-align: right !important;
	margin-bottom: 20px !important;
}

body.sdb-kingster-child .wp-block-image figcaption {
	font-size: 12px;
}

body.sdb-kingster-child figure.wp-block-embed,
body.sdb-kingster-child figure.wp-block-image:not(.wp-block-gallery figure),
body.sdb-kingster-child figure.wp-block-gallery {
	margin-bottom: 2rem;
}

body.sdb-kingster-child pre {
	font-size: 16px;
	padding: 30px;
	background: var(--sdb-color-surface-high, var(--sdb-color-background, #f2f2f2));
	margin-bottom: 40px;
	border-radius: var(--sdb-radius-md, 10px);
}

/* --------------------------------------------------------------------------
   7. GoodLayers / Kingster structural polish
   -------------------------------------------------------------------------- */

body.sdb-kingster-child .kingster-content-area,
body.sdb-kingster-child .kingster-sidebar-area {
	padding-top: 30px;
}

body.sdb-kingster-child .gdlr-core-page-list.gdlr-core-style-grid .gdlr-core-thumbnail,
body.sdb-kingster-child .gdlr-core-class-list.gdlr-core-style-grid .gdlr-core-thumbnail,
body.sdb-kingster-child .gdlr-core-course-info-item .gdlr-core-course-info-item-inner,
body.sdb-kingster-child .gdlr-core-course-item.gdlr-core-course-style-list-info .gdlr-core-course-item-list,
body.sdb-kingster-child .gdlr-core-course-item.gdlr-core-course-style-grid .gdlr-core-course-item-list-inner,
body.sdb-kingster-child .gdlr-core-course-search-item .gdlr-core-search-frame,
body.sdb-kingster-child .kingster-single-article-thumbnail img,
body.sdb-kingster-child .gdlr-core-hover-opacity {
	border-radius: var(--sdb-radius-md, 10px) !important;
	box-shadow: var(--sdb-shadow-element, 5px 5px 10px rgba(143, 155, 164, 0.08));
	overflow: hidden;
}

body.sdb-kingster-child .gdlr-core-alert-box-item-inner {
	border-radius: var(--sdb-radius-md, 10px) !important;
	box-shadow: var(--sdb-shadow-element, 5px 5px 5px rgba(143, 154, 164, 0.05)) !important;
	padding-top: 25px !important;
	padding-bottom: 10px !important;
	border-style: solid;
	overflow: hidden;
}

/* --------------------------------------------------------------------------
   8. Single post Kingster — leitura editorial
   --------------------------------------------------------------------------
   Intervenção conservadora:
   - mantém o HTML do Kingster/GoodLayers;
   - melhora hierarquia, leitura e metadados;
   - evita controlar overlays, page titles ou opções já geridas no tema.
   -------------------------------------------------------------------------- */

body.sdb-kingster-child.single-post .kingster-single-article {
	font-family: var(--sdb-font-body, inherit);
}

body.sdb-kingster-child.single-post .kingster-single-article-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"title title"
		"date meta";
	align-items: center;
	column-gap: 32px;
	row-gap: 18px;
	margin: 0 0 34px;
	padding-bottom: 22px;
	border-bottom: 1px solid color-mix(in srgb, var(--sdb-color-border, #eef3f8) 82%, transparent);
}

/* Permite reorganizar título/meta sem alterar templates do Kingster. */
body.sdb-kingster-child.single-post .kingster-single-article-head-right {
	display: contents;
}

body.sdb-kingster-child.single-post h1.kingster-single-article-title {
	grid-area: title;
	max-width: 980px;
	margin: 0;
	font-family: var(--sdb-font-heading, inherit);
	font-size: clamp(32px, 4vw, 48px) !important;
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.13 !important;
	letter-spacing: -0.038em;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child.single-post .kingster-single-article-date-wrapper {
	grid-area: date;
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: auto;
	max-width: max-content;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 8px 14px !important;
	border: 1px solid color-mix(in srgb, var(--sdb-color-primary, #0058b7) 18%, var(--sdb-color-border, #eef3f8)) !important;
	border-radius: var(--sdb-radius-pill, 999px) !important;
	background: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 6%, var(--sdb-color-surface, #ffffff));
	box-shadow: var(--sdb-shadow-element, 0 4px 12px rgba(143, 154, 164, 0.08));
	box-sizing: border-box;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1;
	letter-spacing: 0.035em;
	color: var(--sdb-color-primary, currentColor);
}

/* Data antes do JS converter visualmente. */
body.sdb-kingster-child.single-post .kingster-single-article-date-day,
body.sdb-kingster-child.single-post .kingster-single-article-date-month,
body.sdb-kingster-child.single-post .kingster-single-article-date-year {
	display: inline-flex !important;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
	border: 0;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12px !important;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	color: inherit;
}

body.sdb-kingster-child.single-post .kingster-single-article-date-month::before,
body.sdb-kingster-child.single-post .kingster-single-article-date-year::before {
	content: "/";
	display: inline-block;
	margin: 0 8px;
	color: color-mix(in srgb, var(--sdb-color-muted, #8e9aa7) 55%, transparent);
}

/* Data depois do JS: preserva o HTML original e mostra uma versão legível. */
body.sdb-kingster-child.single-post .kingster-single-article-date-wrapper.sdb-date-enhanced {
	text-transform: none;
	letter-spacing: 0.01em;
}

body.sdb-kingster-child.single-post .kingster-single-article-date-wrapper.sdb-date-enhanced .kingster-single-article-date-day,
body.sdb-kingster-child.single-post .kingster-single-article-date-wrapper.sdb-date-enhanced .kingster-single-article-date-month,
body.sdb-kingster-child.single-post .kingster-single-article-date-wrapper.sdb-date-enhanced .kingster-single-article-date-year {
	display: none !important;
}

body.sdb-kingster-child.single-post .sdb-single-date-readable {
	display: inline-flex;
	align-items: center;
	font: inherit;
	line-height: inherit;
	color: inherit;
}

body.sdb-kingster-child.single-post .kingster-blog-info-wrapper,
body.sdb-kingster-child.single-post .kingster-single-article-head-right .kingster-blog-info-wrapper {
	grid-area: meta;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px 14px;
	margin: 0;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	letter-spacing: 0.085em;
	text-transform: uppercase;
	color: var(--sdb-color-muted, #8e9aa7);
}

body.sdb-kingster-child.single-post .kingster-blog-info-wrapper a {
	color: inherit;
	text-decoration: none;
}

body.sdb-kingster-child.single-post .kingster-blog-info-wrapper a:hover {
	color: var(--sdb-color-primary, #0058b7);
}

body.sdb-kingster-child.single-post .kingster-blog-info-wrapper .kingster-blog-info {
	position: relative;
	margin: 0;
}

body.sdb-kingster-child.single-post .kingster-blog-info-wrapper .kingster-blog-info + .kingster-blog-info::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin-right: 14px;
	border-radius: 50%;
	vertical-align: middle;
	background: color-mix(in srgb, var(--sdb-color-muted, #8e9aa7) 48%, transparent);
}

@media (max-width: 767px) {
	body.sdb-kingster-child.single-post .kingster-single-article-head {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		margin-bottom: 28px;
		padding-bottom: 20px;
	}

	body.sdb-kingster-child.single-post .kingster-single-article-head-right {
		display: contents;
	}

	body.sdb-kingster-child.single-post h1.kingster-single-article-title {
		order: 1;
		font-size: clamp(28px, 7vw, 38px) !important;
		line-height: 1.16 !important;
		letter-spacing: -0.032em;
	}

	body.sdb-kingster-child.single-post .kingster-single-article-date-wrapper {
		order: 2;
		padding: 8px 13px !important;
		font-size: 11px;
	}

	body.sdb-kingster-child.single-post .kingster-blog-info-wrapper,
	body.sdb-kingster-child.single-post .kingster-single-article-head-right .kingster-blog-info-wrapper {
		order: 3;
		justify-content: flex-start;
		font-size: 11px;
		letter-spacing: 0.07em;
	}
}

/* --------------------------------------------------------------------------
   8.1 Single post Kingster — imagem destacada
   -------------------------------------------------------------------------- */

body.sdb-kingster-child.single-post .kingster-single-article-thumbnail {
	margin: 0 0 34px;
}

body.sdb-kingster-child.single-post .kingster-single-article-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--sdb-radius-lg, 14px) !important;
	box-shadow: var(--sdb-shadow-element, 0 8px 24px rgba(31, 42, 54, 0.08));
}

body.sdb-kingster-child.single-post .kingster-single-article-thumbnail + .kingster-single-article-content {
	margin-top: 0;
}

@media (max-width: 767px) {
	body.sdb-kingster-child.single-post .kingster-single-article-thumbnail {
		margin-bottom: 26px;
	}

	body.sdb-kingster-child.single-post .kingster-single-article-thumbnail img {
		border-radius: var(--sdb-radius-md, 10px) !important;
	}
}

/* --------------------------------------------------------------------------
   8.2 Single post Kingster — corpo editorial
   -------------------------------------------------------------------------- */

body.sdb-kingster-child.single-post .kingster-single-article-content {
	font-family: var(--sdb-font-body, inherit);
	font-size: var(--sdb-type-body-md-size, 17px);
	line-height: var(--sdb-line-height-body, 1.74);
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child.single-post .kingster-single-article-content > *:first-child {
	margin-top: 0;
}

body.sdb-kingster-child.single-post .kingster-single-article-content > *:last-child {
	margin-bottom: 0;
}

body.sdb-kingster-child.single-post .kingster-single-article-content p {
	margin-bottom: 1.45em;
}

body.sdb-kingster-child.single-post .kingster-single-article-content ul,
body.sdb-kingster-child.single-post .kingster-single-article-content ol {
	margin: 0 0 1.55em 1.25em;
	padding-left: 1.1em;
}

body.sdb-kingster-child.single-post .kingster-single-article-content li {
	margin-bottom: 0.45em;
}

body.sdb-kingster-child.single-post .kingster-single-article-content h2,
body.sdb-kingster-child.single-post .kingster-single-article-content h3,
body.sdb-kingster-child.single-post .kingster-single-article-content h4 {
	font-family: var(--sdb-font-heading, inherit);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.2;
	letter-spacing: -0.025em;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child.single-post .kingster-single-article-content h2 {
	margin-top: 2.1em;
	margin-bottom: 0.75em;
	font-size: clamp(26px, 3vw, 34px);
}

body.sdb-kingster-child.single-post .kingster-single-article-content h3 {
	margin-top: 1.8em;
	margin-bottom: 0.65em;
	font-size: clamp(22px, 2.5vw, 28px);
}

body.sdb-kingster-child.single-post .kingster-single-article-content h4 {
	margin-top: 1.6em;
	margin-bottom: 0.55em;
	font-size: clamp(19px, 2vw, 23px);
}

body.sdb-kingster-child.single-post .kingster-single-article-content a {
	color: var(--sdb-color-primary, currentColor);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

body.sdb-kingster-child.single-post .kingster-single-article-content blockquote {
	margin: 2.1em 0;
	padding: 22px 26px;
	border-left: 4px solid var(--sdb-color-primary, #0058b7);
	border-radius: var(--sdb-radius-md, 10px);
	background: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 5%, var(--sdb-color-surface, #ffffff));
	box-shadow: var(--sdb-shadow-element, 0 8px 22px rgba(31, 42, 54, 0.05));
}

body.sdb-kingster-child.single-post .kingster-single-article-content blockquote p:last-child {
	margin-bottom: 0;
}

body.sdb-kingster-child.single-post .kingster-single-article-content figure,
body.sdb-kingster-child.single-post .kingster-single-article-content .wp-caption {
	margin-top: 2em;
	margin-bottom: 2em;
}

body.sdb-kingster-child.single-post .kingster-single-article-content figcaption,
body.sdb-kingster-child.single-post .kingster-single-article-content .wp-caption-text {
	margin-top: 10px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 13px;
	line-height: 1.45;
	color: var(--sdb-color-muted, #8e9aa7);
}

body.sdb-kingster-child.single-post .kingster-single-article-content table {
	width: 100%;
	margin: 2em 0;
	border-collapse: collapse;
	font-size: 0.95em;
}

body.sdb-kingster-child.single-post .kingster-single-article-content th,
body.sdb-kingster-child.single-post .kingster-single-article-content td {
	padding: 12px 14px;
	border: 1px solid var(--sdb-color-border, #eef3f8);
	vertical-align: top;
}

body.sdb-kingster-child.single-post .kingster-single-article-content th {
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-weight: var(--sdb-font-weight-semibold, 600);
	background: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 5%, var(--sdb-color-surface, #ffffff));
}

body.sdb-kingster-child.single-post .kingster-single-nav-area,
body.sdb-kingster-child.single-post .kingster-single-related-post-wrap,
body.sdb-kingster-child.single-post .kingster-comments-area {
	margin-top: 42px;
	padding-top: 32px;
	border-top: 1px solid var(--sdb-color-border, #eef3f8);
}

@media (max-width: 767px) {
	body.sdb-kingster-child.single-post .kingster-single-article-content {
		font-size: var(--sdb-type-body-md-size, 16px);
		line-height: var(--sdb-line-height-body, 1.68);
	}

	body.sdb-kingster-child.single-post .kingster-single-article-content blockquote {
		padding: 18px 20px;
	}

	body.sdb-kingster-child.single-post .kingster-single-nav-area,
	body.sdb-kingster-child.single-post .kingster-single-related-post-wrap,
	body.sdb-kingster-child.single-post .kingster-comments-area {
		margin-top: 32px;
		padding-top: 24px;
	}
}

/* --------------------------------------------------------------------------
   8.3 GoodLayers / Kingster — Blog Column, arquivos e pesquisa
   --------------------------------------------------------------------------
   Versão editorial consolidada:
   - aplica-se aos blocos de blog do GoodLayers, incluindo Blog Column;
   - mantém escopo no child theme;
   - usa tokens do SDB — Design System;
   - não substitui a lógica/layout do GoodLayers.
   -------------------------------------------------------------------------- */

body.sdb-kingster-child.archive .kingster-content-area,
body.sdb-kingster-child.search .kingster-content-area,
body.sdb-kingster-child.blog .kingster-content-area {
	padding-top: 42px;
}

body.sdb-kingster-child .gdlr-core-blog-item {
	margin-bottom: 0;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-item-list {
	margin-bottom: 32px !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0 !important;
	border: 1px solid var(--sdb-color-border, #eef3f8);
	border-radius: var(--sdb-radius-lg, 14px);
	background: var(--sdb-color-surface, #ffffff);
	box-shadow: var(--sdb-shadow-element, 0 8px 22px rgba(31, 42, 54, 0.06));
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid:hover {
	transform: translateY(-2px);
	box-shadow: var(--sdb-shadow-card, 0 14px 30px rgba(31, 42, 54, 0.08));
	border-color: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 16%, var(--sdb-color-border, #eef3f8));
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid .gdlr-core-blog-thumbnail,
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid .gdlr-core-blog-thumbnail-wrap {
	position: relative;
	margin: 0 0 24px !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: hidden;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid .gdlr-core-blog-thumbnail img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid .gdlr-core-blog-thumbnail::before,
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid .gdlr-core-blog-thumbnail::after {
	content: none !important;
	display: none !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid .gdlr-core-blog-grid-content-wrap {
	flex: 1 1 auto;
	padding: 28px 28px 26px !important;
}

/* Cards com imagem: a imagem já cria o topo visual; o conteúdo começa depois dela. */
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid > .gdlr-core-blog-thumbnail + .gdlr-core-blog-grid-content-wrap,
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid > .gdlr-core-blog-thumbnail-wrap + .gdlr-core-blog-grid-content-wrap {
	padding-top: 0 !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info-wrapper {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px 10px;
	margin: 0 0 16px !important;
	padding: 0 !important;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12px !important;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1.25;
	letter-spacing: 0.075em;
	text-transform: uppercase;
	color: var(--sdb-color-muted, #8f9ba4) !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info {
	display: inline-flex !important;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	line-height: 1.25 !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info::before,
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info::after {
	content: none !important;
	display: none !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info + .gdlr-core-blog-info::before {
	content: "" !important;
	display: inline-block !important;
	width: 4px;
	height: 4px;
	margin-right: 10px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--sdb-color-muted, #8f9ba4) 46%, transparent);
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info a {
	color: inherit !important;
	text-decoration: none;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info-category a,
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info .gdlr-core-blog-info-category a {
	display: inline-flex !important;
	align-items: center;
	max-width: 100%;
	padding: 5px 11px !important;
	border: 1px solid color-mix(in srgb, var(--sdb-color-primary, #0058b7) 18%, var(--sdb-color-border, #eef3f8));
	border-radius: var(--sdb-radius-pill, 999px) !important;
	background: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 7%, var(--sdb-color-surface, #ffffff));
	color: var(--sdb-color-primary, #0058b7) !important;
	font-size: 10px !important;
	font-weight: var(--sdb-font-weight-semibold, 600) !important;
	line-height: 1.15 !important;
	letter-spacing: 0.075em;
	text-transform: uppercase;
	text-decoration: none !important;
	white-space: nowrap;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info-category a:hover,
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info .gdlr-core-blog-info-category a:hover {
	border-color: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 30%, var(--sdb-color-border, #eef3f8));
	background: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 10%, var(--sdb-color-surface, #ffffff));
	color: var(--sdb-color-primary, #0058b7) !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-thumbnail .gdlr-core-blog-info-category,
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-thumbnail .gdlr-core-blog-info {
	position: static !important;
	inset: auto !important;
	transform: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-title {
	margin: 0 0 13px !important;
	font-family: var(--sdb-font-heading, inherit) !important;
	font-size: clamp(23px, 2.1vw, 30px) !important;
	font-weight: var(--sdb-font-weight-bold, 700) !important;
	line-height: 1.16 !important;
	letter-spacing: -0.028em;
	color: var(--sdb-color-text, inherit) !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-title a {
	color: inherit !important;
	text-decoration: none;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-title a:hover {
	color: var(--sdb-color-primary, #0058b7) !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-content {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--sdb-font-body, inherit);
	font-size: 15.5px;
	line-height: 1.62;
	color: var(--sdb-color-muted, #6d7680);
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-content p {
	margin: 0 0 8px !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-content:last-child,
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-content p:last-child {
	margin-bottom: 0 !important;
}

body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-excerpt-read-more,
body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-read-more {
	margin-top: 16px !important;
}

body.sdb-kingster-child .gdlr-core-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 26px;
}

body.sdb-kingster-child .gdlr-core-pagination .page-numbers {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px !important;
	border: 1px solid var(--sdb-color-border, #eef3f8) !important;
	border-radius: var(--sdb-radius-md, 10px) !important;
	background: var(--sdb-color-surface, #ffffff) !important;
	box-shadow: var(--sdb-shadow-element, 0 4px 12px rgba(31, 42, 54, 0.04));
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 13px !important;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1 !important;
	text-decoration: none !important;
}

body.sdb-kingster-child .gdlr-core-pagination .page-numbers.current,
body.sdb-kingster-child .gdlr-core-pagination .page-numbers:hover {
	background: var(--sdb-color-primary, #0058b7) !important;
	border-color: var(--sdb-color-primary, #0058b7) !important;
	color: var(--sdb-color-on-primary, #ffffff) !important;
}

@media (max-width: 767px) {
	body.sdb-kingster-child.archive .kingster-content-area,
	body.sdb-kingster-child.search .kingster-content-area,
	body.sdb-kingster-child.blog .kingster-content-area {
		padding-top: 28px;
	}

	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-item-list {
		margin-bottom: 24px !important;
	}

	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid {
		transform: none !important;
	}

	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid .gdlr-core-blog-thumbnail,
	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid .gdlr-core-blog-thumbnail-wrap {
		margin-bottom: 20px !important;
	}

	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid .gdlr-core-blog-grid-content-wrap {
		padding: 24px 22px 24px !important;
	}

	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid > .gdlr-core-blog-thumbnail + .gdlr-core-blog-grid-content-wrap,
	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-grid > .gdlr-core-blog-thumbnail-wrap + .gdlr-core-blog-grid-content-wrap {
		padding-top: 0 !important;
	}

	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-info-wrapper {
		margin-bottom: 14px !important;
		font-size: 11px !important;
		gap: 7px 9px;
	}

	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-title {
		font-size: clamp(21px, 6vw, 26px) !important;
		line-height: 1.18 !important;
	}

	body.sdb-kingster-child .gdlr-core-blog-item .gdlr-core-blog-content {
		font-size: 15px;
		line-height: 1.6;
	}
}

/* --------------------------------------------------------------------------
   9. Social share GoodLayers
   -------------------------------------------------------------------------- */

body.sdb-kingster-child .gdlr-core-social-share-wrap a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	margin-right: 10px !important;
	border-radius: 50% !important;
	background-color: var(--sdb-color-surface-high, var(--sdb-color-background, #f2f2f4)) !important;
}

body.sdb-kingster-child .gdlr-core-social-share-wrap a i {
	font-size: 18px !important;
	color: var(--sdb-color-muted, #8f9ba4) !important;
}

body.sdb-kingster-child .gdlr-core-social-share-wrap a:hover {
	background-color: var(--sdb-color-border, #ddd) !important;
}

body.sdb-kingster-child .gdlr-core-social-share-wrap a:hover i {
	color: var(--sdb-color-primary, #0058b7) !important;
}

/* --------------------------------------------------------------------------
   10. Forms / Contact Form 7 in Kingster context
   --------------------------------------------------------------------------
   Conservative adapter layer: improves form legibility and DS token alignment
   without changing Contact Form 7 logic, field structure or submission states.
*/

body.sdb-kingster-child .kingster-page-wrapper form,
body.sdb-kingster-child .kingster-content-area form,
body.sdb-kingster-child .gdlr-core-page-builder-body form,
body.sdb-kingster-child .wpcf7 form {
	font-family: var(--sdb-font-body, inherit);
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child .wpcf7 p {
	margin-bottom: 18px;
}

body.sdb-kingster-child .wpcf7 label,
body.sdb-kingster-child .kingster-page-wrapper form label,
body.sdb-kingster-child .kingster-content-area form label,
body.sdb-kingster-child .gdlr-core-page-builder-body form label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 13px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child .kingster-page-wrapper input[type="text"],
body.sdb-kingster-child .kingster-page-wrapper input[type="email"],
body.sdb-kingster-child .kingster-page-wrapper input[type="url"],
body.sdb-kingster-child .kingster-page-wrapper input[type="tel"],
body.sdb-kingster-child .kingster-page-wrapper input[type="search"],
body.sdb-kingster-child .kingster-page-wrapper input[type="number"],
body.sdb-kingster-child .kingster-page-wrapper input[type="password"],
body.sdb-kingster-child .kingster-page-wrapper textarea,
body.sdb-kingster-child .kingster-page-wrapper select,
body.sdb-kingster-child .kingster-content-area input[type="text"],
body.sdb-kingster-child .kingster-content-area input[type="email"],
body.sdb-kingster-child .kingster-content-area input[type="url"],
body.sdb-kingster-child .kingster-content-area input[type="tel"],
body.sdb-kingster-child .kingster-content-area input[type="search"],
body.sdb-kingster-child .kingster-content-area input[type="number"],
body.sdb-kingster-child .kingster-content-area input[type="password"],
body.sdb-kingster-child .kingster-content-area textarea,
body.sdb-kingster-child .kingster-content-area select,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="text"],
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="email"],
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="url"],
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="tel"],
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="search"],
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="number"],
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="password"],
body.sdb-kingster-child .gdlr-core-page-builder-body textarea,
body.sdb-kingster-child .gdlr-core-page-builder-body select,
body.sdb-kingster-child .wpcf7 input[type="text"],
body.sdb-kingster-child .wpcf7 input[type="email"],
body.sdb-kingster-child .wpcf7 input[type="url"],
body.sdb-kingster-child .wpcf7 input[type="tel"],
body.sdb-kingster-child .wpcf7 input[type="number"],
body.sdb-kingster-child .wpcf7 textarea,
body.sdb-kingster-child .wpcf7 select {
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	padding: 12px 15px;
	border: 1px solid var(--sdb-color-border, #dbe4ec);
	border-radius: var(--sdb-radius-md, 12px);
	background-color: var(--sdb-color-surface, #ffffff);
	box-shadow: none;
	font-family: var(--sdb-font-body, inherit);
	font-size: 15px;
	line-height: var(--sdb-line-height-body, 1.55);
	color: var(--sdb-color-text, inherit);
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

body.sdb-kingster-child .kingster-page-wrapper textarea,
body.sdb-kingster-child .kingster-content-area textarea,
body.sdb-kingster-child .gdlr-core-page-builder-body textarea,
body.sdb-kingster-child .wpcf7 textarea {
	min-height: 140px;
	resize: vertical;
}

body.sdb-kingster-child .kingster-page-wrapper input::placeholder,
body.sdb-kingster-child .kingster-content-area input::placeholder,
body.sdb-kingster-child .gdlr-core-page-builder-body input::placeholder,
body.sdb-kingster-child .wpcf7 input::placeholder,
body.sdb-kingster-child .kingster-page-wrapper textarea::placeholder,
body.sdb-kingster-child .kingster-content-area textarea::placeholder,
body.sdb-kingster-child .gdlr-core-page-builder-body textarea::placeholder,
body.sdb-kingster-child .wpcf7 textarea::placeholder {
	color: var(--sdb-color-muted, #7f8c99);
	opacity: 0.78;
}

body.sdb-kingster-child .kingster-page-wrapper input[type="text"]:focus,
body.sdb-kingster-child .kingster-page-wrapper input[type="email"]:focus,
body.sdb-kingster-child .kingster-page-wrapper input[type="url"]:focus,
body.sdb-kingster-child .kingster-page-wrapper input[type="tel"]:focus,
body.sdb-kingster-child .kingster-page-wrapper input[type="search"]:focus,
body.sdb-kingster-child .kingster-page-wrapper input[type="number"]:focus,
body.sdb-kingster-child .kingster-page-wrapper input[type="password"]:focus,
body.sdb-kingster-child .kingster-page-wrapper textarea:focus,
body.sdb-kingster-child .kingster-page-wrapper select:focus,
body.sdb-kingster-child .kingster-content-area input[type="text"]:focus,
body.sdb-kingster-child .kingster-content-area input[type="email"]:focus,
body.sdb-kingster-child .kingster-content-area input[type="url"]:focus,
body.sdb-kingster-child .kingster-content-area input[type="tel"]:focus,
body.sdb-kingster-child .kingster-content-area input[type="search"]:focus,
body.sdb-kingster-child .kingster-content-area input[type="number"]:focus,
body.sdb-kingster-child .kingster-content-area input[type="password"]:focus,
body.sdb-kingster-child .kingster-content-area textarea:focus,
body.sdb-kingster-child .kingster-content-area select:focus,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="text"]:focus,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="email"]:focus,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="url"]:focus,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="tel"]:focus,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="search"]:focus,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="number"]:focus,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="password"]:focus,
body.sdb-kingster-child .gdlr-core-page-builder-body textarea:focus,
body.sdb-kingster-child .gdlr-core-page-builder-body select:focus,
body.sdb-kingster-child .wpcf7 input[type="text"]:focus,
body.sdb-kingster-child .wpcf7 input[type="email"]:focus,
body.sdb-kingster-child .wpcf7 input[type="url"]:focus,
body.sdb-kingster-child .wpcf7 input[type="tel"]:focus,
body.sdb-kingster-child .wpcf7 input[type="number"]:focus,
body.sdb-kingster-child .wpcf7 textarea:focus,
body.sdb-kingster-child .wpcf7 select:focus {
	border-color: var(--sdb-color-primary, #0058b7);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sdb-color-primary, #0058b7) 16%, transparent);
	outline: 0;
}

body.sdb-kingster-child .wpcf7 .wpcf7-list-item {
	margin-left: 0;
	margin-right: 18px;
}

body.sdb-kingster-child .wpcf7 .wpcf7-list-item label {
	display: inline-flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 14px;
	font-weight: var(--sdb-font-weight-regular, 400);
	letter-spacing: 0;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child .wpcf7 input[type="checkbox"],
body.sdb-kingster-child .wpcf7 input[type="radio"] {
	width: auto;
	min-height: 0;
	margin-top: 0.25em;
	accent-color: var(--sdb-color-primary, #0058b7);
}

body.sdb-kingster-child .wpcf7 input[type="submit"],
body.sdb-kingster-child .kingster-page-wrapper input[type="submit"],
body.sdb-kingster-child .kingster-content-area input[type="submit"],
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px 24px;
	border: 1px solid var(--sdb-color-primary, #0058b7);
	border-radius: var(--sdb-radius-pill, 999px);
	background-color: var(--sdb-color-primary, #0058b7);
	box-shadow: var(--sdb-shadow-element, none);
	font-family: var(--sdb-font-heading, var(--sdb-font-body, inherit));
	font-size: 14px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--sdb-color-on-primary, #ffffff);
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

body.sdb-kingster-child .wpcf7 input[type="submit"]:hover,
body.sdb-kingster-child .kingster-page-wrapper input[type="submit"]:hover,
body.sdb-kingster-child .kingster-content-area input[type="submit"]:hover,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="submit"]:hover {
	background-color: var(--sdb-color-editorial-accent, var(--sdb-color-primary, #0058b7));
	border-color: var(--sdb-color-editorial-accent, var(--sdb-color-primary, #0058b7));
	transform: translateY(-1px);
}

body.sdb-kingster-child .wpcf7 input[type="submit"]:focus-visible,
body.sdb-kingster-child .kingster-page-wrapper input[type="submit"]:focus-visible,
body.sdb-kingster-child .kingster-content-area input[type="submit"]:focus-visible,
body.sdb-kingster-child .gdlr-core-page-builder-body input[type="submit"]:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--sdb-color-primary, #0058b7) 26%, transparent);
	outline-offset: 3px;
}

body.sdb-kingster-child .wpcf7 .wpcf7-spinner {
	margin: 0 0 0 12px;
	vertical-align: middle;
}

body.sdb-kingster-child .wpcf7 .wpcf7-not-valid {
	border-color: var(--sdb-state-error-border, #b42318);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sdb-state-error-border, #b42318) 12%, transparent);
}

body.sdb-kingster-child .wpcf7 .wpcf7-not-valid-tip {
	margin-top: 7px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 13px;
	line-height: 1.45;
	color: var(--sdb-state-error-border, #b42318);
}

body.sdb-kingster-child .wpcf7 form .wpcf7-response-output {
	margin: 22px 0 0;
	padding: 14px 16px;
	border: 1px solid var(--sdb-color-border, #dbe4ec);
	border-radius: var(--sdb-radius-md, 12px);
	background-color: var(--sdb-color-surface, #ffffff);
	font-family: var(--sdb-font-body, inherit);
	font-size: 14px;
	line-height: 1.55;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child .wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--sdb-state-success-border, #2f855a);
	background-color: color-mix(in srgb, var(--sdb-state-success-border, #2f855a) 8%, var(--sdb-color-surface, #ffffff));
}

body.sdb-kingster-child .wpcf7 form.invalid .wpcf7-response-output,
body.sdb-kingster-child .wpcf7 form.unaccepted .wpcf7-response-output,
body.sdb-kingster-child .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: var(--sdb-color-on-warning, #1f2a36);
	background-color: color-mix(in srgb, var(--sdb-color-on-warning, #1f2a36) 8%, var(--sdb-color-surface, #ffffff));
}



/* -------------------------------------------------------------------------
 * 17.1 Contact Form 7 + GoodLayers form columns
 * ------------------------------------------------------------------------- */

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column {
	width: 100%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column::after {
	content: "";
	display: table;
	clear: both;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column > [class*="gdlr-core-column-"] {
	box-sizing: border-box;
	margin-bottom: 18px;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column > .gdlr-core-column-60 {
	width: 100%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column > .gdlr-core-column-45 {
	width: 75%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column > .gdlr-core-column-40 {
	width: 66.6667%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column > .gdlr-core-column-30 {
	width: 50%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column > .gdlr-core-column-20 {
	width: 33.3333%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column > .gdlr-core-column-15 {
	width: 25%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column .clear {
	clear: both;
	display: block;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	font-size: 0;
	line-height: 0;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column textarea,
body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column select {
	width: 100%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column .wpcf7-acceptance {
	display: block;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column .wpcf7-acceptance .wpcf7-list-item {
	display: block;
	margin: 0;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column .wpcf7-acceptance label {
	align-items: flex-start;
	max-width: 100%;
}

body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column .gdlr-core-left-align input[type="submit"] {
	width: auto;
}

body.sdb-kingster-child .wpcf7 .cf-turnstile,
body.sdb-kingster-child .wpcf7 [data-sitekey] {
	margin-top: 4px;
	margin-bottom: 18px;
}

@media (max-width: 767px) {
	body.sdb-kingster-child .wpcf7 input[type="submit"],
	body.sdb-kingster-child .kingster-page-wrapper input[type="submit"],
	body.sdb-kingster-child .kingster-content-area input[type="submit"],
	body.sdb-kingster-child .gdlr-core-page-builder-body input[type="submit"] {
		width: 100%;
	}
}


@media (max-width: 767px) {
	body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column > [class*="gdlr-core-column-"] {
		width: 100%;
		margin-bottom: 16px;
	}

	body.sdb-kingster-child .wpcf7 .gdlr-core-input-wrap.gdlr-core-with-column .gdlr-core-left-align input[type="submit"] {
		width: 100%;
	}
}


/* --------------------------------------------------------------------------
 * 12. GoodLayers content blocks — conservative SDB alignment
 * --------------------------------------------------------------------------
 * Stabilized in v1.2.1. This section intentionally excludes Portfolio,
 * Personnel and similar GoodLayers plugin-specific blocks, because they are
 * not part of the planned implementation for this network.
 */

body.sdb-kingster-child .gdlr-core-accordion-style-box-icon .gdlr-core-accordion-item-tab,
body.sdb-kingster-child .gdlr-core-toggle-box-style-box-icon .gdlr-core-toggle-box-item-tab {
	border-radius: var(--sdb-radius-md, 12px);
	border-color: var(--sdb-color-border, #e6edf5);
	background: var(--sdb-color-surface, #ffffff);
	box-shadow: none;
}

body.sdb-kingster-child .gdlr-core-accordion-style-box-icon .gdlr-core-accordion-item-title,
body.sdb-kingster-child .gdlr-core-toggle-box-style-box-icon .gdlr-core-toggle-box-item-title {
	font-family: var(--sdb-font-heading, inherit);
	font-weight: var(--sdb-font-weight-semibold, 600);
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child .gdlr-core-accordion-item-content,
body.sdb-kingster-child .gdlr-core-toggle-box-item-content {
	font-family: var(--sdb-font-body, inherit);
	line-height: var(--sdb-line-height-body, 1.7);
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child .gdlr-core-tab-item .gdlr-core-tab-item-title {
	font-family: var(--sdb-font-heading, inherit);
	font-weight: var(--sdb-font-weight-semibold, 600);
	border-radius: var(--sdb-radius-sm, 8px) var(--sdb-radius-sm, 8px) 0 0;
}

body.sdb-kingster-child .gdlr-core-tab-item .gdlr-core-tab-item-content {
	font-family: var(--sdb-font-body, inherit);
	line-height: var(--sdb-line-height-body, 1.7);
}

body.sdb-kingster-child .gdlr-core-icon-list-item ul,
body.sdb-kingster-child .gdlr-core-icon-list-item li {
	font-family: var(--sdb-font-body, inherit);
	line-height: var(--sdb-line-height-body, 1.7);
}

body.sdb-kingster-child .gdlr-core-icon-list-item .gdlr-core-icon-list-icon-wrap {
	color: var(--sdb-color-primary, currentColor);
}

body.sdb-kingster-child .gdlr-core-column-service-item .gdlr-core-column-service-title,
body.sdb-kingster-child .gdlr-core-icon-item .gdlr-core-icon-item-title,
body.sdb-kingster-child .gdlr-core-title-item .gdlr-core-title-item-title {
	font-family: var(--sdb-font-heading, inherit);
	font-weight: var(--sdb-font-weight-bold, 700);
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child .gdlr-core-column-service-item .gdlr-core-column-service-content,
body.sdb-kingster-child .gdlr-core-icon-item .gdlr-core-icon-item-caption,
body.sdb-kingster-child .gdlr-core-title-item .gdlr-core-title-item-caption {
	font-family: var(--sdb-font-body, inherit);
	line-height: var(--sdb-line-height-body, 1.7);
	color: var(--sdb-color-muted, inherit);
}

body.sdb-kingster-child .gdlr-core-call-to-action-item,
body.sdb-kingster-child .gdlr-core-call-to-action-item-inner {
	border-radius: var(--sdb-radius-lg, 16px);
}

body.sdb-kingster-child .gdlr-core-call-to-action-item .gdlr-core-call-to-action-item-title {
	font-family: var(--sdb-font-heading, inherit);
	font-weight: var(--sdb-font-weight-bold, 700);
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child .gdlr-core-call-to-action-item .gdlr-core-call-to-action-item-caption {
	font-family: var(--sdb-font-body, inherit);
	line-height: var(--sdb-line-height-body, 1.7);
	color: var(--sdb-color-muted, inherit);
}

body.sdb-kingster-child .gdlr-core-button,
body.sdb-kingster-child .gdlr-core-load-more,
body.sdb-kingster-child .gdlr-core-page-builder-body .gdlr-core-button {
	font-family: var(--sdb-font-heading, inherit);
	font-weight: var(--sdb-font-weight-semibold, 600);
	border-radius: var(--sdb-radius-pill, 999px);
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body.sdb-kingster-child .gdlr-core-button:focus-visible,
body.sdb-kingster-child .gdlr-core-load-more:focus-visible {
	outline: 2px solid var(--sdb-color-primary, currentColor);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	body.sdb-kingster-child .gdlr-core-button,
	body.sdb-kingster-child .gdlr-core-load-more,
	body.sdb-kingster-child .gdlr-core-page-builder-body .gdlr-core-button {
		transition: none;
	}
}
/* --------------------------------------------------------------------------
   13. Search template — SDB editorial adapter
   --------------------------------------------------------------------------
   Custom child-theme search.php template. Keeps Kingster header/footer and
   uses SDB tokens without relying on GoodLayers layout classes.
*/

body.sdb-kingster-child.search .sdb-search-template {
	padding: 52px 0 64px;
}

body.sdb-kingster-child.search .sdb-search-template__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}

body.sdb-kingster-child.search .sdb-search-template__header {
	max-width: 840px;
	margin: 0 0 34px;
}

body.sdb-kingster-child.search .sdb-search-template__eyebrow {
	display: inline-flex;
	align-items: center;
	margin: 0 0 10px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sdb-color-primary, #0058b7);
}

body.sdb-kingster-child.search .sdb-search-template__title {
	margin: 0;
	font-family: var(--sdb-font-heading, inherit);
	font-size: clamp(34px, 4vw, 54px);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child.search .sdb-search-template__summary {
	margin: 14px 0 0;
	font-family: var(--sdb-font-body, inherit);
	font-size: 17px;
	line-height: var(--sdb-line-height-body, 1.62);
	color: var(--sdb-color-muted, #6d7680);
}

body.sdb-kingster-child.search .sdb-search-template__form {
	max-width: 760px;
	margin: 0 0 36px;
	padding: 22px;
	border: 1px solid var(--sdb-color-border, #e5edf4);
	border-radius: var(--sdb-radius-lg, 16px);
	background: var(--sdb-color-surface, #ffffff);
	box-shadow: var(--sdb-shadow-element, 0 8px 22px rgba(31, 42, 54, 0.06));
}

body.sdb-kingster-child.search .sdb-search-template__form .search-form {
	display: flex;
	gap: 12px;
	align-items: stretch;
	margin: 0;
}

body.sdb-kingster-child.search .sdb-search-template__form label {
	flex: 1 1 auto;
	margin: 0;
}

body.sdb-kingster-child.search .sdb-search-template__form .search-field {
	min-height: 48px;
}

body.sdb-kingster-child.search .sdb-search-template__form .search-submit {
	min-height: 48px;
	padding: 12px 22px;
	border-radius: var(--sdb-radius-pill, 999px);
	white-space: nowrap;
}

body.sdb-kingster-child.search .sdb-search-results {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
}

body.sdb-kingster-child.search .sdb-search-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	border: 1px solid var(--sdb-color-border, #e5edf4);
	border-radius: var(--sdb-radius-lg, 16px);
	background: var(--sdb-color-surface, #ffffff);
	box-shadow: var(--sdb-shadow-element, 0 8px 22px rgba(31, 42, 54, 0.06));
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.sdb-kingster-child.search .sdb-search-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--sdb-shadow-card, 0 14px 30px rgba(31, 42, 54, 0.08));
	border-color: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 16%, var(--sdb-color-border, #e5edf4));
}

body.sdb-kingster-child.search .sdb-search-card__thumbnail {
	display: block;
	background: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 5%, var(--sdb-color-surface, #ffffff));
}

body.sdb-kingster-child.search .sdb-search-card__thumbnail img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
}

body.sdb-kingster-child.search .sdb-search-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 26px 28px 24px;
}

body.sdb-kingster-child.search .sdb-search-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin: 0 0 14px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1.25;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--sdb-color-muted, #7f8c99);
}

body.sdb-kingster-child.search .sdb-search-card__type {
	color: var(--sdb-color-primary, #0058b7);
}

body.sdb-kingster-child.search .sdb-search-card__title {
	margin: 0 0 12px;
	font-family: var(--sdb-font-heading, inherit);
	font-size: clamp(22px, 2vw, 28px);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.15;
	letter-spacing: -0.025em;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child.search .sdb-search-card__title a {
	color: inherit;
	text-decoration: none;
}

body.sdb-kingster-child.search .sdb-search-card__title a:hover,
body.sdb-kingster-child.search .sdb-search-card__title a:focus-visible {
	color: var(--sdb-color-primary, #0058b7);
}

body.sdb-kingster-child.search .sdb-search-card__excerpt {
	margin: 0;
	font-family: var(--sdb-font-body, inherit);
	font-size: 15.5px;
	line-height: var(--sdb-line-height-body, 1.62);
	color: var(--sdb-color-muted, #6d7680);
}

body.sdb-kingster-child.search .sdb-search-card__link {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	margin-top: 18px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 13px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1.2;
	color: var(--sdb-color-primary, #0058b7);
	text-decoration: none;
}

body.sdb-kingster-child.search .sdb-search-card__link:hover,
body.sdb-kingster-child.search .sdb-search-card__link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

body.sdb-kingster-child.search .sdb-search-template__pagination {
	margin-top: 34px;
}

body.sdb-kingster-child.search .sdb-search-empty {
	max-width: 760px;
	padding: 34px;
	border: 1px solid var(--sdb-color-border, #e5edf4);
	border-radius: var(--sdb-radius-lg, 16px);
	background: var(--sdb-color-surface, #ffffff);
	box-shadow: var(--sdb-shadow-element, 0 8px 22px rgba(31, 42, 54, 0.06));
}

body.sdb-kingster-child.search .sdb-search-empty__title {
	margin: 0 0 10px;
	font-family: var(--sdb-font-heading, inherit);
	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.15;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child.search .sdb-search-empty__text {
	margin: 0 0 22px;
	font-size: 16px;
	line-height: var(--sdb-line-height-body, 1.62);
	color: var(--sdb-color-muted, #6d7680);
}

@media (max-width: 900px) {
	body.sdb-kingster-child.search .sdb-search-results {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	body.sdb-kingster-child.search .sdb-search-template {
		padding: 36px 0 46px;
	}

	body.sdb-kingster-child.search .sdb-search-template__inner {
		padding: 0 20px;
	}

	body.sdb-kingster-child.search .sdb-search-template__form {
		padding: 18px;
	}

	body.sdb-kingster-child.search .sdb-search-template__form .search-form {
		flex-direction: column;
	}

	body.sdb-kingster-child.search .sdb-search-template__form .search-submit {
		width: 100%;
	}

	body.sdb-kingster-child.search .sdb-search-card__body {
		padding: 23px 22px 22px;
	}
}




/* Hide Kingster's native no-results/404 block when the child-theme search
   template is active. Kingster can inject its own "NOT FOUND" search panel
   before the custom search.php output on empty searches; this prevents the
   duplicated mixed layout without changing the parent theme templates. */
body.sdb-kingster-child.search.sdb-search-template-active.sdb-search-no-results .kingster-not-found-wrap,
body.sdb-kingster-child.search.sdb-search-template-active.sdb-search-no-results .kingster-not-found-container,
body.sdb-kingster-child.search.sdb-search-template-active.sdb-search-no-results .kingster-not-found-content,
body.sdb-kingster-child.search.sdb-search-template-active.sdb-search-no-results .kingster-404-wrap,
body.sdb-kingster-child.search.sdb-search-template-active.sdb-search-no-results .kingster-404-content,
body.sdb-kingster-child.search.sdb-search-template-active.sdb-search-no-results [class*="not-found"],
body.sdb-kingster-child.search.sdb-search-template-active.sdb-search-no-results [class*="notfound"] {
	display: none !important;
}

/* --------------------------------------------------------------------------
   14. Página 404 — SDB editorial adapter
   -------------------------------------------------------------------------- */

body.sdb-kingster-child.error404 .sdb-error404-template {
	padding: 64px 0 76px;
	background: var(--sdb-color-background, #f6f8fb);
}

body.sdb-kingster-child.error404 .sdb-error404-template__inner {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 24px;
}

body.sdb-kingster-child.error404 .sdb-error404-card {
	display: grid;
	grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
	gap: 34px;
	align-items: center;
	padding: 44px;
	border: 1px solid var(--sdb-color-border, #e5edf4);
	border-radius: var(--sdb-radius-lg, 18px);
	background: var(--sdb-color-surface, #ffffff);
	box-shadow: var(--sdb-shadow-card, 0 12px 34px rgba(31, 42, 54, 0.08));
}

body.sdb-kingster-child.error404 .sdb-error404-card__code {
	font-family: var(--sdb-font-heading, inherit);
	font-size: clamp(72px, 12vw, 132px);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 0.95;
	letter-spacing: -0.08em;
	color: var(--sdb-color-primary, #0058b7);
}

body.sdb-kingster-child.error404 .sdb-error404-card__eyebrow {
	display: inline-flex;
	margin: 0 0 12px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1.25;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sdb-color-primary, #0058b7);
}

body.sdb-kingster-child.error404 .sdb-error404-card__title {
	margin: 0 0 14px;
	font-family: var(--sdb-font-heading, inherit);
	font-size: clamp(32px, 4.5vw, 54px);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.08;
	letter-spacing: -0.04em;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child.error404 .sdb-error404-card__text {
	max-width: 680px;
	margin: 0;
	font-family: var(--sdb-font-body, inherit);
	font-size: 17px;
	line-height: var(--sdb-line-height-body, 1.62);
	color: var(--sdb-color-muted, #6d7680);
}

body.sdb-kingster-child.error404 .sdb-error404-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

body.sdb-kingster-child.error404 .sdb-error404-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 22px;
	border-radius: var(--sdb-radius-pill, 999px);
	background: var(--sdb-color-primary, #0058b7);
	font-family: var(--sdb-font-heading, inherit);
	font-size: 14px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1.2;
	color: #ffffff;
	text-decoration: none;
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

body.sdb-kingster-child.error404 .sdb-error404-card__button:hover,
body.sdb-kingster-child.error404 .sdb-error404-card__button:focus-visible {
	transform: translateY(-1px);
	box-shadow: var(--sdb-shadow-element, 0 8px 22px rgba(31, 42, 54, 0.12));
	color: #ffffff;
	text-decoration: none;
}

body.sdb-kingster-child.error404 .sdb-error404-search {
	max-width: 760px;
	margin: 28px auto 0;
	padding: 28px;
	border: 1px solid var(--sdb-color-border, #e5edf4);
	border-radius: var(--sdb-radius-lg, 16px);
	background: var(--sdb-color-surface, #ffffff);
	box-shadow: var(--sdb-shadow-element, 0 8px 22px rgba(31, 42, 54, 0.06));
}

body.sdb-kingster-child.error404 .sdb-error404-search__title {
	margin: 0 0 8px;
	font-family: var(--sdb-font-heading, inherit);
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.16;
	color: var(--sdb-color-text, inherit);
}

body.sdb-kingster-child.error404 .sdb-error404-search__text {
	margin: 0 0 18px;
	font-size: 15.5px;
	line-height: var(--sdb-line-height-body, 1.62);
	color: var(--sdb-color-muted, #6d7680);
}

body.sdb-kingster-child.error404 .sdb-error404-search .search-form {
	display: flex;
	gap: 12px;
	align-items: stretch;
	margin: 0;
}

body.sdb-kingster-child.error404 .sdb-error404-search label {
	flex: 1 1 auto;
	margin: 0;
}

body.sdb-kingster-child.error404 .sdb-error404-search .search-field {
	width: 100%;
}

body.sdb-kingster-child.error404 .sdb-error404-search .search-submit {
	flex: 0 0 auto;
}

@media (max-width: 767px) {
	body.sdb-kingster-child.error404 .sdb-error404-template {
		padding: 38px 0 52px;
	}

	body.sdb-kingster-child.error404 .sdb-error404-template__inner {
		padding: 0 20px;
	}

	body.sdb-kingster-child.error404 .sdb-error404-card {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 30px 24px;
	}

	body.sdb-kingster-child.error404 .sdb-error404-card__code {
		font-size: clamp(64px, 24vw, 96px);
	}

	body.sdb-kingster-child.error404 .sdb-error404-search {
		padding: 22px;
	}

	body.sdb-kingster-child.error404 .sdb-error404-search .search-form {
		flex-direction: column;
	}

	body.sdb-kingster-child.error404 .sdb-error404-search .search-submit {
		width: 100%;
	}
}


/* --------------------------------------------------------------------------
   15. Footer Kingster — SDB conservative adapter
   --------------------------------------------------------------------------

   Keep the parent theme in control of footer backgrounds, columns and widget
   layout. This layer only aligns typography, links, lists, forms and focus
   states with the SDB Design System tokens.
*/

body.sdb-kingster-child .kingster-footer-wrapper,
body.sdb-kingster-child .kingster-footer-wrapper .widget,
body.sdb-kingster-child .kingster-footer-wrapper p,
body.sdb-kingster-child .kingster-footer-wrapper li {
	font-family: var(--sdb-font-body, inherit);
	line-height: var(--sdb-line-height-body, 1.62);
}

body.sdb-kingster-child .kingster-footer-wrapper .kingster-widget-title,
body.sdb-kingster-child .kingster-footer-wrapper .widget-title,
body.sdb-kingster-child .kingster-footer-wrapper h1,
body.sdb-kingster-child .kingster-footer-wrapper h2,
body.sdb-kingster-child .kingster-footer-wrapper h3,
body.sdb-kingster-child .kingster-footer-wrapper h4,
body.sdb-kingster-child .kingster-footer-wrapper h5,
body.sdb-kingster-child .kingster-footer-wrapper h6 {
	font-family: var(--sdb-font-heading, inherit);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.18;
	letter-spacing: -0.015em;
}

body.sdb-kingster-child .kingster-footer-wrapper .kingster-widget-title,
body.sdb-kingster-child .kingster-footer-wrapper .widget-title {
	margin-bottom: 18px;
	font-size: clamp(18px, 1.5vw, 22px);
}

body.sdb-kingster-child .kingster-footer-wrapper a {
	text-decoration: none;
	text-underline-offset: 0.22em;
	transition: color 160ms ease, opacity 160ms ease, text-decoration-color 160ms ease;
}

body.sdb-kingster-child .kingster-footer-wrapper a:hover,
body.sdb-kingster-child .kingster-footer-wrapper a:focus-visible {
	text-decoration: underline;
}

body.sdb-kingster-child .kingster-footer-wrapper a:focus-visible {
	outline: 2px solid var(--sdb-color-primary, currentColor);
	outline-offset: 3px;
	border-radius: var(--sdb-radius-sm, 6px);
}

body.sdb-kingster-child .kingster-footer-wrapper ul,
body.sdb-kingster-child .kingster-footer-wrapper ol {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

body.sdb-kingster-child .kingster-footer-wrapper li {
	margin-bottom: 8px;
}

body.sdb-kingster-child .kingster-footer-wrapper .menu li,
body.sdb-kingster-child .kingster-footer-wrapper .widget_pages li,
body.sdb-kingster-child .kingster-footer-wrapper .widget_nav_menu li,
body.sdb-kingster-child .kingster-footer-wrapper .widget_categories li,
body.sdb-kingster-child .kingster-footer-wrapper .widget_recent_entries li {
	padding-top: 0;
	padding-bottom: 8px;
}

body.sdb-kingster-child .kingster-footer-wrapper .widget_recent_entries .post-date,
body.sdb-kingster-child .kingster-footer-wrapper .rss-date,
body.sdb-kingster-child .kingster-footer-wrapper .wp-block-latest-posts__post-date {
	display: block;
	margin-top: 3px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12px;
	font-weight: var(--sdb-font-weight-medium, 500);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.72;
}

body.sdb-kingster-child .kingster-footer-wrapper input[type="text"],
body.sdb-kingster-child .kingster-footer-wrapper input[type="email"],
body.sdb-kingster-child .kingster-footer-wrapper input[type="search"],
body.sdb-kingster-child .kingster-footer-wrapper input[type="tel"],
body.sdb-kingster-child .kingster-footer-wrapper textarea,
body.sdb-kingster-child .kingster-footer-wrapper select {
	min-height: 44px;
	border-radius: var(--sdb-radius-md, 12px);
	font-family: var(--sdb-font-body, inherit);
}

body.sdb-kingster-child .kingster-footer-wrapper input[type="submit"],
body.sdb-kingster-child .kingster-footer-wrapper button,
body.sdb-kingster-child .kingster-footer-wrapper .gdlr-core-button {
	font-family: var(--sdb-font-heading, inherit);
	font-weight: var(--sdb-font-weight-semibold, 600);
	border-radius: var(--sdb-radius-pill, 999px);
}

body.sdb-kingster-child .kingster-footer-wrapper input[type="submit"]:focus-visible,
body.sdb-kingster-child .kingster-footer-wrapper button:focus-visible,
body.sdb-kingster-child .kingster-footer-wrapper .gdlr-core-button:focus-visible {
	outline: 2px solid var(--sdb-color-primary, currentColor);
	outline-offset: 3px;
}

body.sdb-kingster-child .kingster-copyright-wrapper,
body.sdb-kingster-child .kingster-copyright-wrapper p,
body.sdb-kingster-child .kingster-copyright-wrapper a {
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 13px;
	font-weight: var(--sdb-font-weight-medium, 500);
	line-height: 1.55;
}

body.sdb-kingster-child .kingster-copyright-wrapper a {
	text-decoration: none;
}

body.sdb-kingster-child .kingster-copyright-wrapper a:hover,
body.sdb-kingster-child .kingster-copyright-wrapper a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.22em;
}

@media (max-width: 767px) {
	body.sdb-kingster-child .kingster-footer-wrapper .kingster-widget-title,
	body.sdb-kingster-child .kingster-footer-wrapper .widget-title {
		margin-bottom: 12px;
	}

	body.sdb-kingster-child .kingster-footer-wrapper li {
		margin-bottom: 7px;
	}

	body.sdb-kingster-child .kingster-copyright-wrapper,
	body.sdb-kingster-child .kingster-copyright-wrapper p,
	body.sdb-kingster-child .kingster-copyright-wrapper a {
		font-size: 12.5px;
	}
}


/* -------------------------------------------------------------------------
 * 15. Footer newsletter CTA
 * Área opcional antes do footer, controlada por site no Customizer.
 * Versão compacta/editorial: menos altura, menos peso visual e formulário
 * integrado no cartão, sem competir com o conteúdo.
 * ---------------------------------------------------------------------- */

body.sdb-kingster-child .sdb-footer-newsletter {
	position: relative;
	z-index: 3;
	max-width: 1120px;
	margin: clamp(38px, 5vw, 68px) auto clamp(-42px, -3vw, -28px);
	padding: 0 24px;
}

body.sdb-kingster-child .sdb-footer-newsletter__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
	padding: clamp(28px, 4vw, 44px);
	border: 1px solid color-mix(in srgb, var(--sdb-color-border, #d9e2ec) 78%, transparent);
	border-radius: var(--sdb-radius-lg, 22px);
	background: var(--sdb-color-surface, #ffffff);
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.075);
	overflow: hidden;
}

body.sdb-kingster-child .sdb-footer-newsletter__inner::before {
	content: "";
	position: absolute;
	inset: auto -92px -126px auto;
	width: 260px;
	height: 260px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 7%, transparent);
	pointer-events: none;
}

body.sdb-kingster-child .sdb-footer-newsletter__content,
body.sdb-kingster-child .sdb-footer-newsletter__form {
	position: relative;
	z-index: 1;
}

body.sdb-kingster-child .sdb-footer-newsletter__eyebrow {
	margin: 0 0 8px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12px;
	font-weight: var(--sdb-font-weight-bold, 700);
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--sdb-color-primary, #0058b7);
}

body.sdb-kingster-child .sdb-footer-newsletter__title {
	max-width: 640px;
	margin: 0;
	font-family: var(--sdb-font-heading, inherit);
	font-size: clamp(28px, 3.25vw, 42px);
	font-weight: var(--sdb-font-weight-bold, 700);
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: var(--sdb-color-text, #1f2937);
}

body.sdb-kingster-child .sdb-footer-newsletter__text {
	max-width: 580px;
	margin: 12px 0 0;
	font-family: var(--sdb-font-body, inherit);
	font-size: clamp(15.5px, 1.35vw, 17px);
	line-height: 1.65;
	color: var(--sdb-color-muted, #6b7280);
}

body.sdb-kingster-child .sdb-footer-newsletter__form {
	padding: clamp(18px, 2.4vw, 24px);
	border: 1px solid color-mix(in srgb, var(--sdb-color-border, #d9e2ec) 70%, transparent);
	border-radius: var(--sdb-radius-lg, 20px);
	background: color-mix(in srgb, var(--sdb-color-background, #f7f9fb) 44%, var(--sdb-color-surface, #ffffff));
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045);
}

body.sdb-kingster-child .sdb-footer-newsletter__form .wpcf7,
body.sdb-kingster-child .sdb-footer-newsletter__form form {
	margin: 0;
}

body.sdb-kingster-child .sdb-footer-newsletter__form form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: flex-end;
}

body.sdb-kingster-child .sdb-footer-newsletter__form p {
	margin: 0;
}

body.sdb-kingster-child .sdb-footer-newsletter__form label {
	display: block;
	width: 100%;
	margin: 0 0 7px;
	font-family: var(--sdb-font-meta, var(--sdb-font-body, inherit));
	font-size: 12.5px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	line-height: 1.3;
	color: var(--sdb-color-muted, #6b7280);
}

body.sdb-kingster-child .sdb-footer-newsletter__form .wpcf7-form-control-wrap {
	display: block;
}

body.sdb-kingster-child .sdb-footer-newsletter__form input[type="email"],
body.sdb-kingster-child .sdb-footer-newsletter__form input[type="text"] {
	width: min(100%, 340px);
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid var(--sdb-color-border, #d9e2ec);
	border-radius: var(--sdb-radius-md, 14px);
	background: var(--sdb-color-surface, #ffffff);
	font-family: var(--sdb-font-body, inherit);
	font-size: 14.5px;
	box-shadow: none;
}

body.sdb-kingster-child .sdb-footer-newsletter__form input[type="email"]:focus,
body.sdb-kingster-child .sdb-footer-newsletter__form input[type="text"]:focus {
	border-color: var(--sdb-color-primary, #0058b7);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sdb-color-primary, #0058b7) 13%, transparent);
	outline: none;
}

body.sdb-kingster-child .sdb-footer-newsletter__form input[type="submit"],
body.sdb-kingster-child .sdb-footer-newsletter__form button,
body.sdb-kingster-child .sdb-footer-newsletter__form .wpcf7-submit {
	min-height: 48px;
	padding: 0 22px;
	border-radius: var(--sdb-radius-pill, 999px);
	font-family: var(--sdb-font-heading, inherit);
	font-size: 13.5px;
	font-weight: var(--sdb-font-weight-semibold, 600);
	letter-spacing: 0.01em;
}

body.sdb-kingster-child .sdb-footer-newsletter__form .wpcf7-spinner {
	margin-top: 12px;
}

body.sdb-kingster-child .sdb-footer-newsletter__form .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 12.5px;
}

body.sdb-kingster-child .sdb-footer-newsletter__form .wpcf7-response-output {
	width: 100%;
	margin: 12px 0 0;
	border-radius: var(--sdb-radius-md, 12px);
	font-family: var(--sdb-font-body, inherit);
	font-size: 13.5px;
}

body.sdb-kingster-child .sdb-footer-newsletter--brand .sdb-footer-newsletter__inner {
	border-color: color-mix(in srgb, var(--sdb-color-primary, #0058b7) 24%, transparent);
	background: linear-gradient(135deg, var(--sdb-color-primary, #0058b7), color-mix(in srgb, var(--sdb-color-primary, #0058b7) 80%, #111827));
}

body.sdb-kingster-child .sdb-footer-newsletter--brand .sdb-footer-newsletter__eyebrow,
body.sdb-kingster-child .sdb-footer-newsletter--brand .sdb-footer-newsletter__title,
body.sdb-kingster-child .sdb-footer-newsletter--brand .sdb-footer-newsletter__text {
	color: #ffffff;
}

body.sdb-kingster-child .sdb-footer-newsletter--brand .sdb-footer-newsletter__text {
	opacity: 0.88;
}

body.sdb-kingster-child .sdb-footer-newsletter--brand .sdb-footer-newsletter__form {
	border-color: rgba(255, 255, 255, 0.20);
	background: rgba(255, 255, 255, 0.13);
	box-shadow: none;
	backdrop-filter: blur(8px);
}

body.sdb-kingster-child .sdb-footer-newsletter--warm .sdb-footer-newsletter__inner {
	background: color-mix(in srgb, var(--sdb-color-secondary, #f2b705) 7%, var(--sdb-color-surface, #ffffff));
}

body.sdb-kingster-child.sdb-footer-newsletter-enabled .kingster-footer-wrapper {
	padding-top: clamp(66px, 7vw, 104px);
}

@media (max-width: 900px) {
	body.sdb-kingster-child .sdb-footer-newsletter__inner {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	body.sdb-kingster-child .sdb-footer-newsletter__form {
		max-width: 560px;
	}

	body.sdb-kingster-child .sdb-footer-newsletter__form input[type="email"],
	body.sdb-kingster-child .sdb-footer-newsletter__form input[type="text"] {
		width: 100%;
	}
}

@media (max-width: 767px) {
	body.sdb-kingster-child .sdb-footer-newsletter {
		margin-top: 32px;
		margin-bottom: -34px;
		padding: 0 16px;
	}

	body.sdb-kingster-child .sdb-footer-newsletter__inner {
		padding: 24px 18px;
		border-radius: var(--sdb-radius-lg, 20px);
	}

	body.sdb-kingster-child .sdb-footer-newsletter__inner::before {
		width: 190px;
		height: 190px;
		inset: auto -90px -100px auto;
	}

	body.sdb-kingster-child .sdb-footer-newsletter__form {
		padding: 16px;
	}

	body.sdb-kingster-child .sdb-footer-newsletter__form form {
		display: block;
	}

	body.sdb-kingster-child .sdb-footer-newsletter__form p,
	body.sdb-kingster-child .sdb-footer-newsletter__form .wpcf7-form-control-wrap,
	body.sdb-kingster-child .sdb-footer-newsletter__form input[type="submit"],
	body.sdb-kingster-child .sdb-footer-newsletter__form button,
	body.sdb-kingster-child .sdb-footer-newsletter__form .wpcf7-submit {
		width: 100%;
	}

	body.sdb-kingster-child .sdb-footer-newsletter__form input[type="submit"],
	body.sdb-kingster-child .sdb-footer-newsletter__form button,
	body.sdb-kingster-child .sdb-footer-newsletter__form .wpcf7-submit {
		margin-top: 10px;
	}

	body.sdb-kingster-child.sdb-footer-newsletter-enabled .kingster-footer-wrapper {
		padding-top: 76px;
	}
}
