/**
 * SeleQuest · estilos do tema que o theme.json não cobre.
 *
 * Regras do manual de marca aplicadas aqui:
 * - tokens semânticos por superfície (Papel / Base) com as quatro correções de contraste;
 * - estados sempre com forma e rótulo, nunca só cor;
 * - no máximo um elemento em Tensão por ecrã (o cronómetro do cartão de missão);
 * - elementos gráficos (onda, malha de pontos, alvo) nunca por trás de texto corrido.
 *
 * @package BDW_Selequest_Theme
 */

/* ---------- Tokens semânticos ---------- */

:root {
	--sq-fg: var(--wp--preset--color--neutro-800);
	--sq-fg-muted: var(--wp--preset--color--neutro-500);
	--sq-link: var(--wp--preset--color--acao-500);
	--sq-link-hover: var(--wp--preset--color--acao-600);
	--sq-ok-text: var(--wp--preset--color--progresso-700);
	--sq-warn-text: var(--wp--preset--color--recompensa-700);
	--sq-danger-text: var(--wp--preset--color--tensao-500);
	--sq-surface: var(--wp--preset--color--papel);
	--sq-card: var(--wp--preset--color--papel);
	--sq-card-alt: var(--wp--preset--color--neutro-100);
	--sq-border: var(--wp--preset--color--neutro-200);
	--sq-border-strong: var(--wp--preset--color--neutro-300);
	--sq-icon-tile: var(--wp--preset--color--acao-100);
	--sq-shadow-1: var(--wp--preset--shadow--elevado-1);
	--sq-shadow-2: var(--wp--preset--shadow--elevado-2);
	--sq-radius-sm: 4px;
	--sq-radius-md: 8px;
	--sq-radius-lg: 12px;
	--sq-header-height: 72px;
}

/* Superfície escura: fundo Base. Ação 400 e Tensão 400 para texto, Neutro 300 para secundário. */
.has-base-background-color,
.sq-dark {
	--sq-fg: var(--wp--preset--color--papel);
	--sq-fg-muted: var(--wp--preset--color--neutro-300);
	--sq-link: var(--wp--preset--color--acao-400);
	--sq-link-hover: var(--wp--preset--color--acao-300, #9DBEEC);
	--sq-ok-text: var(--wp--preset--color--progresso-500);
	--sq-warn-text: var(--wp--preset--color--recompensa-500);
	--sq-danger-text: var(--wp--preset--color--tensao-400);
	--sq-surface: var(--wp--preset--color--base);
	--sq-card: var(--wp--preset--color--neutro-800);
	--sq-card-alt: var(--wp--preset--color--neutro-700);
	--sq-border: var(--wp--preset--color--neutro-700);
	--sq-border-strong: var(--wp--preset--color--neutro-500);
	--sq-icon-tile: var(--wp--preset--color--neutro-700);
	--sq-shadow-1: none;
	--sq-shadow-2: none;
	color: var(--sq-fg);
}

.has-base-background-color a:where(:not(.wp-element-button)),
.sq-dark a:where(:not(.wp-element-button)) {
	color: var(--sq-link);
}

.has-base-background-color a:where(:not(.wp-element-button)):hover,
.sq-dark a:where(:not(.wp-element-button)):hover {
	color: var(--sq-link-hover);
}

/* ---------- Base ---------- */

html {
	scroll-padding-top: calc(var(--sq-header-height) + 16px);
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

:where(.wp-site-blocks) :focus-visible {
	outline: 2px solid var(--sq-link);
	outline-offset: 2px;
}

::selection {
	background: var(--wp--preset--color--acao-100);
	color: var(--wp--preset--color--neutro-800);
}

/* Medida de linha de 60 a 75 caracteres no texto corrido. */
.entry-content > p,
.wp-block-post-content > p,
.sq-measure {
	max-width: 68ch;
}

.wp-block-post-content > p.has-text-align-center {
	margin-inline: auto;
}

/* Números de produto: JetBrains Mono com algarismos tabulares. */
p.is-style-data,
.sq-data,
.wp-block-post-date,
time {
	font-family: var(--wp--preset--font-family--dados);
	font-variant-numeric: tabular-nums;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ---------- Estrutura das páginas ---------- */

.wp-site-blocks > main,
.wp-site-blocks > .sq-footer-part,
.wp-site-blocks > footer {
	margin-block-start: 0;
}

/* Nas landing pages as secções encostam umas às outras; o espaço vem do padding de cada secção. */
.sq-landing .wp-block-post-content > .alignfull,
.sq-landing .wp-block-post-content > .alignfull + * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.sq-page-head .wp-block-post-title,
.sq-page-head .wp-block-query-title {
	max-width: 22ch;
}

/* ---------- Secções ---------- */

.sq-section {
	padding-top: var(--wp--preset--spacing--90);
	padding-bottom: var(--wp--preset--spacing--90);
}

.sq-section--tight {
	padding-top: var(--wp--preset--spacing--80);
	padding-bottom: var(--wp--preset--spacing--80);
}

.sq-section + .sq-section:not(.has-background) {
	padding-top: 0;
}

.sq-section.has-background + .sq-section:not(.has-background),
.sq-section:not(.has-background) + .sq-section.has-background {
	padding-top: var(--wp--preset--spacing--90);
}

.sq-section-head {
	max-width: 760px;
	margin-bottom: var(--wp--preset--spacing--70);
}

.sq-section-head.has-text-align-center,
.sq-section-head.is-centered {
	margin-inline: auto;
	text-align: center;
}

.sq-section-head > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

.sq-section-head > .is-style-eyebrow + * {
	margin-top: var(--wp--preset--spacing--30);
}

/* Em colunas, o cabeçalho de secção fica junto do texto que o segue. */
.wp-block-column > .sq-section-head {
	margin-bottom: var(--wp--preset--spacing--50);
}

.sq-cta-row {
	margin-top: var(--wp--preset--spacing--60);
}

/* ---------- Estilos de parágrafo ---------- */

.is-style-eyebrow {
	color: var(--sq-fg-muted);
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.8px;
	line-height: 1.4;
	text-transform: uppercase;
}

.is-style-lead {
	color: var(--sq-fg-muted);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
}

.is-style-muted,
.sq-muted {
	color: var(--sq-fg-muted);
}

.is-style-small {
	color: var(--sq-fg-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

/* ---------- Grupos: cartões e texturas ---------- */

.wp-block-group.is-style-card,
.wp-block-group.is-style-card-raised {
	background: var(--sq-card);
	border: 1px solid var(--sq-border);
	border-radius: var(--sq-radius-lg);
	box-shadow: var(--sq-shadow-1);
	padding: var(--wp--preset--spacing--50);
}

.wp-block-group.is-style-card-raised {
	box-shadow: var(--sq-shadow-2);
}

.wp-block-group.is-style-card > :first-child,
.wp-block-group.is-style-card-raised > :first-child {
	margin-top: 0;
}

.wp-block-group.is-style-card > * + *,
.wp-block-group.is-style-card-raised > * + * {
	margin-top: var(--wp--preset--spacing--30);
}

.wp-block-group.is-style-card h3,
.wp-block-group.is-style-card-raised h3 {
	font-size: var(--wp--preset--font-size--large);
}

/* Cartões em colunas ocupam a altura toda. */
.wp-block-column > .wp-block-group.is-style-card:only-child,
.wp-block-column > .wp-block-group.is-style-card-raised:only-child {
	height: 100%;
}

/* Malha de pontos: cada ponto é um candidato. Cobertura máxima de 20 %. */
.wp-block-group.is-style-dots {
	background-image: radial-gradient(circle, var(--sq-border) 1.5px, transparent 1.6px);
	background-position: right top;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	position: relative;
}

.wp-block-group.is-style-dots::before {
	background-image: radial-gradient(circle, var(--sq-border-strong) 1.5px, transparent 1.6px);
	background-size: 16px 16px;
	content: "";
	height: 40%;
	inset-block-start: 0;
	inset-inline-end: 0;
	-webkit-mask-image: linear-gradient(225deg, #000 0%, transparent 70%);
	mask-image: linear-gradient(225deg, #000 0%, transparent 70%);
	pointer-events: none;
	position: absolute;
	width: 40%;
}

.wp-block-group.is-style-dots > * {
	position: relative;
}

/* A onda: curva da fita, sempre cortada pelo limite do suporte e fora do texto corrido. */
.wp-block-group.is-style-wave {
	overflow: hidden;
	position: relative;
}

.wp-block-group.is-style-wave::after {
	background: url("../images/onda.svg") no-repeat right bottom / contain;
	bottom: -12%;
	content: "";
	height: 85%;
	pointer-events: none;
	position: absolute;
	right: -6%;
	width: min(48%, 640px);
}

.wp-block-group.is-style-wave:not(.has-base-background-color)::after {
	background-image: url("../images/onda-clara.svg");
}

.wp-block-group.is-style-wave > * {
	position: relative;
	z-index: 1;
}

@media (max-width: 781px) {
	.wp-block-group.is-style-wave::after {
		opacity: 0.6;
		width: 70%;
		height: 45%;
	}
}

/* ---------- Ícones ---------- */

.wp-block-image.is-style-icon {
	align-items: center;
	background: var(--sq-icon-tile);
	border-radius: var(--sq-radius-md);
	display: flex;
	height: 48px;
	justify-content: center;
	margin-bottom: var(--wp--preset--spacing--40);
	width: 48px;
}

.wp-block-image.is-style-icon img {
	height: 24px;
	width: 24px;
}

/* ---------- Listas ---------- */

ul.is-style-ticks,
ol.is-style-ticks {
	list-style: none;
	padding-left: 0;
}

.is-style-ticks > li {
	padding-left: 28px;
	position: relative;
}

.is-style-ticks > li + li {
	margin-top: var(--wp--preset--spacing--20);
}

.is-style-ticks > li::before {
	background-color: var(--sq-fg-muted);
	content: "";
	height: 18px;
	left: 0;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	position: absolute;
	top: 3px;
	width: 18px;
}

ul.is-style-divided,
ol.is-style-divided {
	border-top: 1px solid var(--sq-border);
	list-style: none;
	padding-left: 0;
}

.is-style-divided > li {
	border-bottom: 1px solid var(--sq-border);
	padding: var(--wp--preset--spacing--30) 0;
}

/* ---------- Botões ---------- */

.wp-block-button .wp-block-button__link {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	white-space: normal;
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline {
	background: transparent;
	border-color: var(--sq-border-strong);
	color: var(--sq-fg);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--sq-card-alt);
	border-color: var(--sq-border-strong);
	color: var(--sq-fg);
}

.wp-block-button.is-style-link > .wp-block-button__link {
	background: transparent;
	border-color: transparent;
	color: var(--sq-link);
	padding-left: 0;
	padding-right: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wp-block-button.is-style-link > .wp-block-button__link:hover {
	background: transparent;
	color: var(--sq-link-hover);
}

/* ---------- Perguntas (details) ---------- */

.wp-block-details {
	border-bottom: 1px solid var(--sq-border);
	padding: var(--wp--preset--spacing--40) 0;
}

.wp-block-details:first-of-type {
	border-top: 1px solid var(--sq-border);
}

.wp-block-details + .wp-block-details {
	margin-top: 0;
}

.wp-block-details summary {
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	padding-right: 32px;
	position: relative;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	border-bottom: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
	height: 8px;
	position: absolute;
	right: 6px;
	top: 6px;
	transform: rotate(45deg);
	transition: transform 0.15s ease;
	width: 8px;
}

.wp-block-details[open] summary::after {
	transform: rotate(-135deg);
	top: 10px;
}

.wp-block-details > summary + * {
	margin-top: var(--wp--preset--spacing--30);
}

.wp-block-details > :not(summary) {
	color: var(--sq-fg-muted);
	max-width: 68ch;
}

/* ---------- Tabelas de dados ---------- */

.wp-block-table.is-style-data {
	border: 1px solid var(--sq-border);
	border-radius: var(--sq-radius-lg);
	overflow-x: auto;
}

.wp-block-table.is-style-data table {
	border-collapse: collapse;
	table-layout: auto;
	width: 100%;
}

.wp-block-table.is-style-data th,
.wp-block-table.is-style-data td {
	border: 0;
	border-bottom: 1px solid var(--sq-border);
	padding: 12px 16px;
	text-align: left;
	vertical-align: top;
}

.wp-block-table.is-style-data thead th {
	white-space: nowrap;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--papel);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.wp-block-table.is-style-data thead {
	border-bottom: 0;
}

.wp-block-table.is-style-data tbody tr:nth-child(even) td {
	background: var(--wp--preset--color--neutro-100);
}

.wp-block-table.is-style-data tbody tr:last-child td {
	border-bottom: 0;
}

.wp-block-table.is-style-data td:first-child {
	font-weight: 600;
}

.wp-block-table.is-style-data figcaption {
	color: var(--sq-fg-muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
	padding: 12px 16px;
	text-align: left;
}

.wp-block-table.is-style-numbers td:last-child,
.wp-block-table.is-style-numbers th:last-child {
	font-family: var(--wp--preset--font-family--dados);
	font-variant-numeric: tabular-nums;
	text-align: right;
}

/* ---------- Estados: cor, forma e rótulo ---------- */

.sq-badge,
p.sq-badge {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	gap: 7px;
	line-height: 1.4;
	padding: 3px 10px;
	width: fit-content;
}

.sq-badge::before {
	border: 2px solid currentColor;
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 9px;
	width: 9px;
}

.sq-badge--ok {
	background: var(--wp--preset--color--progresso-100);
	color: var(--wp--preset--color--progresso-700);
}

.sq-badge--ok::before {
	background: currentColor;
}

.sq-badge--progress {
	background: var(--wp--preset--color--acao-100);
	color: var(--wp--preset--color--acao-700);
}

.sq-badge--review {
	background: var(--wp--preset--color--recompensa-100);
	color: var(--wp--preset--color--recompensa-700);
}

.sq-badge--review::before {
	background: currentColor;
	border-radius: 1px;
	transform: rotate(45deg);
}

.sq-badge--neutral {
	background: var(--wp--preset--color--neutro-100);
	color: var(--wp--preset--color--neutro-700);
}

.sq-badge--neutral::before {
	background: currentColor;
}

.sq-badge--soon {
	background: var(--sq-card-alt);
	color: var(--sq-fg);
}

/* ---------- Cartão de missão (superfície do candidato) ---------- */

.wp-block-group.sq-mission {
	background: var(--wp--preset--color--neutro-800);
	border: 1px solid var(--wp--preset--color--neutro-700);
	border-radius: var(--sq-radius-lg);
	color: var(--wp--preset--color--papel);
	padding: var(--wp--preset--spacing--50);
}

.wp-block-group.sq-mission > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

.sq-mission__head {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--30);
	justify-content: space-between;
}

.sq-mission__head > * {
	margin: 0;
}

.sq-mission .is-style-eyebrow {
	color: var(--wp--preset--color--neutro-300);
}

.sq-mission h3 {
	font-size: var(--wp--preset--font-size--x-large);
	margin-top: var(--wp--preset--spacing--20);
}

.sq-xp {
	color: var(--wp--preset--color--recompensa-500);
	font-family: var(--wp--preset--font-family--dados);
	font-weight: 500;
	white-space: nowrap;
}

.sq-timer {
	color: var(--wp--preset--color--tensao-400);
	font-family: var(--wp--preset--font-family--dados);
	font-variant-numeric: tabular-nums;
	font-weight: 500;
	white-space: nowrap;
}

.sq-progress {
	background: var(--wp--preset--color--neutro-700);
	border-radius: 999px;
	height: 8px;
	overflow: hidden;
}

.sq-progress > span {
	background: var(--wp--preset--color--progresso-500);
	border-radius: inherit;
	display: block;
	height: 100%;
}

.sq-dark .sq-progress,
.has-base-background-color .sq-progress {
	background: var(--wp--preset--color--neutro-700);
}

.sq-mission__foot {
	align-items: center;
	color: var(--wp--preset--color--neutro-300);
	display: flex;
	font-size: var(--wp--preset--font-size--small);
	justify-content: space-between;
}

.sq-mission__foot > * {
	margin: 0;
}

/* Opções de resposta reveladas com details (sem JavaScript). */
.sq-options .wp-block-details {
	background: var(--sq-card);
	border: 1px solid var(--sq-border);
	border-radius: var(--sq-radius-md);
	padding: var(--wp--preset--spacing--40);
}

.sq-options .wp-block-details + .wp-block-details {
	margin-top: var(--wp--preset--spacing--30);
}

.sq-options .wp-block-details:first-of-type {
	border-top: 1px solid var(--sq-border);
}

.sq-options .wp-block-details[open] {
	border-color: var(--sq-link);
}

.sq-options .wp-block-details summary {
	font-weight: 600;
}

/* ---------- Dossiê (superfície do recrutador) ---------- */

.wp-block-group.sq-dossier {
	background: var(--wp--preset--color--papel);
	border: 1px solid var(--wp--preset--color--neutro-200);
	border-radius: var(--sq-radius-lg);
	box-shadow: var(--wp--preset--shadow--elevado-2);
	color: var(--wp--preset--color--neutro-800);
	padding: var(--wp--preset--spacing--50);
	--sq-fg: var(--wp--preset--color--neutro-800);
	--sq-fg-muted: var(--wp--preset--color--neutro-500);
	--sq-link: var(--wp--preset--color--acao-500);
	--sq-border: var(--wp--preset--color--neutro-200);
	--sq-card: var(--wp--preset--color--papel);
	--sq-card-alt: var(--wp--preset--color--neutro-100);
}

.wp-block-group.sq-dossier > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

.sq-dossier__head {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	justify-content: space-between;
}

.sq-dossier__head > * {
	margin: 0;
}

.sq-dossier h3 {
	font-size: var(--wp--preset--font-size--large);
}

.sq-dossier .wp-block-table {
	margin: 0;
}

.sq-dossier .wp-block-details {
	color: var(--wp--preset--color--acao-500);
}

.sq-dossier .wp-block-details:first-of-type {
	border-top: 1px solid var(--wp--preset--color--neutro-200);
}

/* ---------- Passos numerados ---------- */

.sq-steps .sq-step-number {
	color: var(--sq-fg-muted);
	font-family: var(--wp--preset--font-family--dados);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
}

.sq-steps .wp-block-column {
	border-top: 2px solid var(--sq-border);
	padding-top: var(--wp--preset--spacing--40);
}

.sq-steps .wp-block-column > * + * {
	margin-top: var(--wp--preset--spacing--30);
}

.sq-steps h3 {
	font-size: var(--wp--preset--font-size--large);
}

/* ---------- Planos ---------- */

.sq-plan.is-style-card,
.sq-plan.is-style-card-raised {
	display: flex;
	flex-direction: column;
}

.sq-plan .wp-block-buttons {
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--40);
}

.sq-plan--featured.wp-block-group {
	border: 2px solid var(--wp--preset--color--acao-500);
}

.sq-plan h3 {
	font-size: var(--wp--preset--font-size--x-large);
}

.sq-plan .sq-price {
	color: var(--sq-fg-muted);
	font-family: var(--wp--preset--font-family--marca);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
}

/* ---------- Cabeçalho ---------- */

.sq-header {
	background: var(--wp--preset--color--papel);
	border-bottom: 1px solid var(--wp--preset--color--neutro-200);
	position: sticky;
	top: 0;
	z-index: 50;
}

.admin-bar .sq-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 600px) {
	.admin-bar .sq-header {
		top: 0;
	}
}

.sq-header__inner {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--50);
	justify-content: space-between;
	min-height: var(--sq-header-height);
}

.sq-header__brand,
.sq-header__brand .wp-block-site-logo {
	flex: 0 0 auto;
	line-height: 0;
}

.sq-header__nav {
	flex: 1 1 auto;
	justify-content: flex-end;
}

.sq-header__actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: var(--wp--preset--spacing--30);
}

.sq-header__actions .wp-block-buttons {
	gap: var(--wp--preset--spacing--20);
}

.sq-header .wp-block-navigation a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--neutro-800);
	text-decoration: none;
	white-space: nowrap;
}

@media (min-width: 600px) and (max-width: 900px) {
	.sq-header .wp-block-navigation {
		font-size: var(--wp--preset--font-size--small);
	}

	.sq-header .wp-block-navigation .wp-block-navigation__container {
		gap: var(--wp--preset--spacing--30);
	}
}

.sq-header .wp-block-navigation a:where(:not(.wp-element-button)):hover,
.sq-header .wp-block-navigation .current-menu-item > a {
	color: var(--wp--preset--color--acao-600);
}

.sq-header .wp-block-navigation .current-menu-item > a {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

.sq-header .wp-block-button__link {
	font-size: var(--wp--preset--font-size--small);
	min-height: 40px;
	padding: 8px 14px;
}

@media (max-width: 1080px) {
	.sq-header__actions .sq-hide-tablet {
		display: none;
	}
}

@media (max-width: 600px) {
	.sq-header__actions .wp-block-buttons {
		display: none;
	}
}

/* Menu móvel em sobreposição. */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--papel);
	color: var(--wp--preset--color--neutro-800);
	padding: var(--wp--preset--spacing--50);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	gap: var(--wp--preset--spacing--40);
	padding-top: var(--wp--preset--spacing--60);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-size: var(--wp--preset--font-size--large);
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	min-height: 44px;
	min-width: 44px;
	justify-content: center;
}

/* ---------- Rodapé ---------- */

.sq-footer {
	font-size: var(--wp--preset--font-size--small);
}

.sq-footer h2,
.sq-footer .wp-block-heading {
	color: var(--wp--preset--color--neutro-300);
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.sq-footer .wp-block-navigation {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
}

.sq-footer .wp-block-navigation a {
	color: var(--wp--preset--color--papel);
	text-decoration: none;
}

.sq-footer .wp-block-navigation a:hover {
	color: var(--wp--preset--color--acao-400);
	text-decoration: underline;
}

.sq-footer__bottom {
	border-top: 1px solid var(--wp--preset--color--neutro-700);
	color: var(--wp--preset--color--neutro-300);
	padding-top: var(--wp--preset--spacing--50);
}

.sq-footer__bottom > * {
	margin: 0;
}

/* ---------- Seletor de idioma ([B] SeleQuest Languages) ---------- */

.wp-block-bdw-selequest-languages-switcher ul {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wp-block-bdw-selequest-languages-switcher a,
.wp-block-bdw-selequest-languages-switcher span[aria-current] {
	border: 1px solid transparent;
	border-radius: var(--sq-radius-md);
	color: inherit;
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	min-height: 36px;
	align-items: center;
	padding: 4px 10px;
	text-decoration: none;
}

.wp-block-bdw-selequest-languages-switcher a:hover {
	background: var(--sq-card-alt);
}

.wp-block-bdw-selequest-languages-switcher span[aria-current] {
	border-color: var(--sq-border-strong);
}

/* ---------- Blog ---------- */

.sq-post-card {
	height: 100%;
}

.sq-post-card .wp-block-post-title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
}

.sq-post-card .wp-block-post-featured-image img {
	border-radius: var(--sq-radius-md);
}

.wp-block-post-template.is-layout-grid {
	gap: var(--wp--preset--spacing--50);
}

.wp-block-query-pagination {
	font-weight: 600;
	margin-top: var(--wp--preset--spacing--70);
}

.wp-block-post-content :where(h2, h3) {
	margin-top: var(--wp--preset--spacing--70);
}

.wp-block-post-content :where(h2 + p, h3 + p) {
	margin-top: var(--wp--preset--spacing--30);
}

/* Documento (textos legais e leitura longa). */
.sq-document .wp-block-post-content h2 {
	font-size: var(--wp--preset--font-size--x-large);
}

.sq-document .wp-block-post-content h3 {
	font-size: var(--wp--preset--font-size--large);
}

/* ---------- Estado vazio e 404: o alvo concêntrico ---------- */

.sq-target {
	background: url("../images/alvo.svg") no-repeat center / contain;
	height: 160px;
	margin-inline: auto;
	width: 160px;
}

/* ---------- Formulário de contacto ([B] SeleQuest Site Content) ---------- */

.sq-form {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

.sq-form p {
	margin: 0;
}

.sq-form__consent {
	align-items: flex-start;
	display: flex;
	gap: 10px;
}

.sq-form__consent input {
	flex: 0 0 auto;
	height: 20px;
	margin-top: 2px;
	width: 20px;
}

.sq-form label {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	margin-bottom: 6px;
}

.sq-form input[type="text"],
.sq-form input[type="email"],
.sq-form select,
.sq-form textarea {
	background: var(--wp--preset--color--papel);
	border: 1px solid var(--wp--preset--color--neutro-300);
	border-radius: var(--sq-radius-md);
	box-sizing: border-box;
	color: var(--wp--preset--color--neutro-800);
	font: inherit;
	min-height: 44px;
	padding: 9px 12px;
	width: 100%;
}

.sq-form textarea {
	min-height: 140px;
	resize: vertical;
}

.sq-form input:focus-visible,
.sq-form select:focus-visible,
.sq-form textarea:focus-visible {
	border-color: var(--wp--preset--color--acao-500);
	outline: 2px solid var(--wp--preset--color--acao-500);
	outline-offset: 1px;
}

/* ---------- Responsivo ---------- */

@media (max-width: 781px) {
	.sq-hide-mobile {
		display: none !important;
	}

	.wp-block-columns.sq-reverse-mobile {
		flex-direction: column-reverse;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.sq-header,
	.sq-footer,
	.wp-block-buttons {
		display: none !important;
	}
}
