/*
Theme Name: Blocksy Child
Theme URI: https://creativethemes.com/blocksy/
Description: Tema filho para personalizações do site Ana Sesso.
Author: Projeto Ana Sesso
Template: blocksy
Version: 1.0.1
Text Domain: blocksy-child
*/

/* Título principal da Home. Na entrada do layout desktop, a coluna de texto
 * ainda é estreita para os 55px definidos pelo bloco; a escala intermediária
 * preserva palavras inteiras sem alterar a composição nos demais breakpoints. */
#gspb_heading-id-gsbp-b79fa63 {
	max-width: 100%;
	min-width: 0;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: balance;
}

@media (max-width: 689.98px) {
	#gspb_heading-id-gsbp-b79fa63 {
		font-size: clamp(17px, calc(4px + 8.125vw), 30px);
	}
}

@media (min-width: 1000px) and (max-width: 1279.98px) {
	#gspb_heading-id-gsbp-b79fa63 {
		font-size: clamp(45px, 4.3vw, 55px);
	}
}

/* Citação institucional do footer. A largura útil e a escala responsiva
 * evitam que frases longas deixem o rodapé visualmente pesado. */
#footer #gspb_heading-id-gsbp-7e0ecbc {
	font-size: 20px !important;
	line-height: 1.45;
	border-inline-start: 0 !important;
	margin-inline: 0;
	padding-inline: 24px !important;
}

#footer #gspb_text-id-gsbp-3a93019 {
	font-size: 15px;
	line-height: 1.4;
	margin-bottom: 12px !important;
}

@media (max-width: 999.98px) {
	#footer #gspb_heading-id-gsbp-7e0ecbc {
		font-size: 19px !important;
		padding-inline: 20px !important;
	}
}

@media (max-width: 689.98px) {
	#footer #gspb_heading-id-gsbp-7e0ecbc {
		font-size: 17px !important;
		line-height: 1.45;
		padding-inline: 0 !important;
	}
}

/* Aspas de fechamento das citações da Home. As regras ficam no tema filho
 * para que o posicionamento não dependa da regeneração do CSS do Greenshift. */
#gspb_iconBox-id-gsbp-home-quote-close-1,
#gspb_iconBox-id-gsbp-home-quote-close-2 {
	position: absolute;
	right: 28px;
	bottom: 28px;
}

#gspb_iconBox-id-gsbp-home-quote-close-1 svg {
	width: 28px;
	height: 28px;
}

#gspb_iconBox-id-gsbp-home-quote-close-2 svg {
	width: 50px;
	height: 50px;
}

/* Área de toque e foco do acionador do menu mobile. O SVG permanece nas
 * dimensões originais; somente o botão interativo atende ao alvo de 44 px. */
@media (max-width: 999px) {
	.ct-header-trigger[data-id="trigger"] {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
	}

	.ct-header-trigger[data-id="trigger"]:focus-visible {
		outline: 3px solid var(--theme-palette-color-2, #A08035);
		outline-offset: 3px;
	}
}

/* Introdução semântica da página de posts, que não renderiza o conteúdo
 * cadastrado na página estática usada pelo WordPress. */
.anasesso-content-archive-intro {
	margin-bottom: 48px;
	text-align: center;
}

.anasesso-content-archive-intro h1 {
	margin-bottom: 12px;
}

.anasesso-content-archive-intro p {
	max-width: 720px;
	margin: 0 auto;
}

@media (max-width: 689.98px) {
	.anasesso-content-archive-intro {
		margin-bottom: 36px;
	}
}

/* Blocos institucionais da página Contato: leitura alinhada à esquerda no
 * desktop e centralizada quando as colunas passam ao layout responsivo. */
#gspb_container-id-gsbp-4183334,
#gspb_container-id-gsbp-732e739 {
	text-align: left;
}

#gspb_container-id-gsbp-4183334 :is(h3, p, .gspb_text),
#gspb_container-id-gsbp-732e739 :is(h3, p, .gspb_text) {
	text-align: left !important;
}

@media (max-width: 991.98px) {
	#gspb_container-id-gsbp-4183334,
	#gspb_container-id-gsbp-732e739 {
		text-align: center;
	}

	#gspb_container-id-gsbp-4183334 :is(h3, p, .gspb_text),
	#gspb_container-id-gsbp-732e739 :is(h3, p, .gspb_text) {
		text-align: center !important;
	}
}
/* A Ana Sesso: timeline em blocos nativos do WordPress. */
.anasesso-timeline {
	position: relative;
	scroll-margin-top: 140px;
	margin-bottom: clamp(70px, 9vw, 120px);
	padding: clamp(38px, 6vw, 72px) clamp(20px, 5vw, 64px);
	border-radius: 30px;
	background: var(--theme-palette-color-5, #f4efe3);
}

.anasesso-timeline__eyebrow {
	margin-bottom: 10px;
	color: var(--theme-palette-color-1, #004650);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
}

.anasesso-timeline > h2 {
	margin-top: 0;
	margin-bottom: 12px;
}

.anasesso-timeline__items {
	position: relative;
	display: flex;
	flex-wrap: nowrap !important;
	width: calc(100% - 128px);
	gap: 28px;
	margin: 34px auto 0;
	padding: 0 0 24px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.anasesso-timeline__items::-webkit-scrollbar {
	display: none;
}

.anasesso-timeline__items:focus-visible {
	outline: 3px solid var(--theme-palette-color-2, #a08035);
	outline-offset: 3px;
}

.anasesso-timeline__items::before {
	position: absolute;
	top: 20px;
	left: 0;
	width: calc((500% + 56px) / 3);
	height: 1px;
	background: var(--theme-palette-color-1, #004650);
	content: "";
	opacity: .65;
}

.anasesso-timeline__items > .anasesso-timeline__item {
	position: relative;
	flex: 0 0 calc((100% - 56px) / 3) !important;
	width: calc((100% - 56px) / 3) !important;
	min-width: 0;
	min-height: 230px;
	padding: 0 26px 26px;
	background: transparent;
	scroll-snap-align: start;
}

.anasesso-timeline__item::before {
	position: absolute;
	z-index: 0;
	top: 70px;
	right: 0;
	bottom: 0;
	left: 0;
	border: 1px solid rgb(0 70 80 / 7%);
	border-radius: 14px;
	background: rgb(255 255 255 / 46%);
	box-shadow: 0 6px 16px rgb(0 47 54 / 5%);
	content: "";
}

.anasesso-timeline__item::after {
	position: absolute;
	top: 42px;
	left: 50%;
	height: 28px;
	border-left: 1px dashed var(--theme-palette-color-1, #004650);
	content: "";
	opacity: .65;
}

.anasesso-timeline__icon {
	position: relative;
	z-index: 2;
	width: 42px;
	height: 42px;
	margin: 0 auto 50px;
	border: 0;
	border-radius: 50%;
	background: var(--theme-palette-color-1, #004650);
	color: #fff;
	font-size: 0;
	font-weight: 700;
	line-height: 42px;
	text-align: center;
}

.anasesso-timeline__icon::after {
	display: inline-block;
	width: 18px;
	height: 18px;
	background: var(--theme-palette-color-6, #fff);
	content: "";
	vertical-align: middle;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%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='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E") center/contain no-repeat;
}

.anasesso-timeline__item h3 {
	position: relative;
	z-index: 1;
	margin: 0 0 24px;
	font-size: clamp(21px, 2vw, 25px);
	text-align: center;
}

.anasesso-timeline__item h3::after {
	display: block;
	width: 34px;
	height: 1px;
	margin: 12px auto 0;
	background: var(--theme-palette-color-2, #a08035);
	content: "";
}

.anasesso-timeline__item p:last-child {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: 104px;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
	text-align: center;
}

.anasesso-timeline__controls {
	pointer-events: none;
	position: absolute;
	top: 51%;
	right: 18px;
	left: 18px;
	display: flex;
	box-sizing: border-box;
	width: auto !important;
	justify-content: space-between;
	gap: 0;
	transform: translateY(-50%);
}

.anasesso-timeline__arrow {
	pointer-events: auto;
	display: grid;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: rgb(0 47 54 / 85%);
	color: #fff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.anasesso-timeline__arrow:hover,
.anasesso-timeline__arrow:focus-visible {
	background: var(--theme-palette-color-2, #a08035);
	color: var(--theme-palette-color-4, #002f36);
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.anasesso-timeline__arrow:disabled {
	cursor: default;
	opacity: .28;
}

/* Ícones semânticos para as três etapas de Como trabalhamos. */
#gspb_heading-id-gsbp-486b083::before,
#gspb_heading-id-gsbp-67ff742::before,
#gspb_heading-id-gsbp-1bfef13::before {
	display: inline-block;
	width: 1.15em;
	height: 1.15em;
	margin-right: .55em;
	background-color: var(--theme-palette-color-1, #004650);
	content: "";
	vertical-align: -.18em;
}

/* Os pictogramas genéricos do template são substituídos pelos ícones acima. */
#gspb_iconBox-id-gsbp-455305e,
#gspb_iconBox-id-gsbp-08b0a42 {
	display: none;
}

#gspb_heading-id-gsbp-486b083::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4M8 11h6M11 8v6'/%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='black' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4M8 11h6M11 8v6'/%3E%3C/svg%3E") center/contain no-repeat;
}

#gspb_heading-id-gsbp-67ff742::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L8 18l-4 1 1-4Z'/%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='black' stroke-width='2'%3E%3Cpath d='M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L8 18l-4 1 1-4Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

#gspb_heading-id-gsbp-1bfef13::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M20 6 9 17l-5-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='black' stroke-width='2'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width: 781px) {
	.anasesso-timeline__items {
		width: calc(100% - 80px);
		gap: 24px;
	}

	.anasesso-timeline__items::before {
		width: calc((500% + 72px) / 2);
	}

	#trajetoria .anasesso-timeline__items.wp-block-columns > .anasesso-timeline__item.wp-block-column {
		flex: 0 0 calc((100% - 24px) / 2) !important;
		width: calc((100% - 24px) / 2) !important;
	}
}

@media (max-width: 480px) {
	.anasesso-timeline {
		border-radius: 20px;
		padding-bottom: 38px;
	}

	.anasesso-timeline__notice {
		margin-bottom: 28px;
	}

	.anasesso-timeline__items {
		display: block !important;
		width: 100%;
		margin: 28px 0 0;
		padding: 0;
		overflow: visible;
		scroll-snap-type: none;
	}

	.anasesso-timeline__items::before {
		top: 12px;
		right: auto;
		bottom: 20px;
		left: 11px;
		width: 1px;
		height: auto;
		opacity: .8;
	}

	#trajetoria .anasesso-timeline__items.wp-block-columns > .anasesso-timeline__item.wp-block-column {
		flex: none !important;
		width: 100% !important;
		min-height: 0;
		margin: 0 0 26px;
		padding: 0 0 0 52px;
	}

	.anasesso-timeline__item::before {
		display: none;
	}

	.anasesso-timeline__item::after {
		top: 11px;
		left: 34px;
		width: 14px;
		height: 1px;
		border: 0;
		background: var(--theme-palette-color-2, #a08035);
		opacity: 1;
	}

	.anasesso-timeline__icon {
		position: absolute;
		top: 0;
		left: 0;
		width: 23px;
		height: 23px;
		margin: 0;
		box-shadow: 0 0 0 4px var(--theme-palette-color-5, #f4efe3);
		line-height: 23px;
	}

	.anasesso-timeline__icon::after {
		width: 13px;
		height: 13px;
	}

	.anasesso-timeline__item h3,
	.anasesso-timeline__item p:last-child {
		text-align: left;
	}

	.anasesso-timeline__item p:last-child {
		display: block;
		min-height: 0;
	}

	.anasesso-timeline__item h3 {
		margin-bottom: 4px;
	}

	.anasesso-timeline__item h3::after,
	.anasesso-timeline__controls {
		display: none;
	}
}

/* Serviços: pictogramas editoriais específicos, sem alterar a serialização Greenshift. */
#gspb_iconBox-id-gsbp-21e929d svg,
#gspb_iconBox-id-gsbp-dd470f8 svg,
#gspb_iconBox-id-gsbp-ff35701 svg,
#gspb_iconBox-id-gsbp-b36ecc9 svg,
#gspb_iconBox-id-gsbp-9a2eac5 svg,
#gspb_iconBox-id-gsbp-e7ce3e8 svg {
	display: none;
}

#gspb_iconBox-id-gsbp-21e929d .gspb_iconBox__wrapper::before,
#gspb_iconBox-id-gsbp-dd470f8 .gspb_iconBox__wrapper::before,
#gspb_iconBox-id-gsbp-ff35701 .gspb_iconBox__wrapper::before,
#gspb_iconBox-id-gsbp-b36ecc9 .gspb_iconBox__wrapper::before,
#gspb_iconBox-id-gsbp-9a2eac5 .gspb_iconBox__wrapper::before,
#gspb_iconBox-id-gsbp-e7ce3e8 .gspb_iconBox__wrapper::before {
	display: block;
	width: 50px;
	height: 50px;
	background: var(--theme-palette-color-1, #004650);
	content: "";
}

/* FAQ da página A Ana Sesso: restaura o visual original do acordeão. */
body.page-id-12 #gspb_accordion-id-gsbp-96df6b3 .gs-accordion-item {
	margin-bottom: 15px;
	overflow: hidden;
	border: 0;
	border-radius: 20px;
	background: var(--theme-palette-color-5, #f4efe3);
}

body.page-id-12 #gspb_accordion-id-gsbp-96df6b3 .gs-accordion-item > .gs-accordion-item__title {
	padding: 31px 35px;
	border: 0;
	background: var(--theme-palette-color-5, #f4efe3);
	color: var(--theme-palette-color-1, #004650);
	font-size: 20px;
	line-height: 1.35;
}

body.page-id-12 #gspb_accordion-id-gsbp-96df6b3 .gs-accordion-item > .gs-accordion-item__content {
	border: 0;
	background: var(--theme-palette-color-5, #f4efe3);
}

body.page-id-12 #gspb_accordion-id-gsbp-96df6b3 .gs-accordion-item > .gs-accordion-item__content > .gs-accordion-item__text {
	padding: 0 35px 31px;
	color: var(--theme-palette-color-1, #004650);
	font-size: 18px;
	line-height: 1.55;
}

@media (max-width: 575.98px) {
	body.page-id-12 #gspb_accordion-id-gsbp-96df6b3 .gs-accordion-item > .gs-accordion-item__title {
		padding: 24px;
		font-size: 18px;
	}

	body.page-id-12 #gspb_accordion-id-gsbp-96df6b3 .gs-accordion-item > .gs-accordion-item__content > .gs-accordion-item__text {
		padding: 0 24px 24px;
		font-size: 16px;
	}
}

/* Mantém Serviços visualmente ativo também nas subpáginas do grupo. */
.ct-header-menu .current-page-ancestor > .ct-menu-link,
.ct-header-menu .current-menu-ancestor > .ct-menu-link,
.ct-header-menu .current-menu-parent > .ct-menu-link {
	color: var(--theme-link-hover-color);
}

.anasesso-menu-home-icon {
	display: block;
	width: 20px;
	height: 20px;
}

/* Mantém navegação e redes na mesma linha nas larguras desktop mais estreitas. */
@media (min-width: 1000px) {
	[data-header*="type-1"] .ct-header [data-id="menu"] {
		--menu-items-spacing: 16px;
		--menu-items-gap: 4px;
	}

	[data-header*="type-1"] [data-id="socials"].ct-header-socials {
		--items-spacing: 8px;
		--wrap: nowrap;
	}
}

@media (min-width: 1024px) {
	[data-header*="type-1"] .ct-header [data-id="menu"] {
		--menu-items-gap: 8px;
	}
}

.anasesso-about-profile {
	margin: 0 auto 90px;
	padding: clamp(28px, 5vw, 64px);
	max-width: 1180px;
	border-radius: 32px;
	background: #f4efe3;
}

.anasesso-about-profile__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 20px;
}

.anasesso-professional-activity {
	margin: 0 auto 90px;
	padding: clamp(28px, 5vw, 64px);
	max-width: 1180px;
	border-radius: 32px;
	background: var(--theme-palette-color-5, #f4efe3);
}

.anasesso-professional-activity figure {
	margin: 0;
}

.anasesso-photo-slider {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
}

.anasesso-photo-slider__track {
	display: flex;
	width: 100%;
	transition: transform 700ms ease-in-out;
}

.anasesso-photo-slider__radio {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.anasesso-photo-slider:has(#ana-sesso-foto-2:checked) .anasesso-photo-slider__track {
	transform: translate3d(-100%, 0, 0);
}

.anasesso-photo-slider:has(#ana-sesso-foto-3:checked) .anasesso-photo-slider__track {
	transform: translate3d(-200%, 0, 0);
}

.anasesso-photo-slider__slide {
	position: relative;
	flex: 0 0 100%;
	margin: 0;
}

.anasesso-photo-slider__slide img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.anasesso-photo-slider__slide figcaption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 18px 20px;
	background: linear-gradient(transparent, rgb(0 0 0 / 72%));
	color: #fff;
	font-size: 14px;
}

.anasesso-photo-slider__button {
	position: absolute;
	top: 50%;
	z-index: 1;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: rgb(0 47 54 / 85%);
	color: #fff;
	font-size: 34px;
	line-height: 36px;
	transform: translateY(-50%);
	cursor: pointer;
	text-align: center;
}

.anasesso-photo-slider__button--previous,
.anasesso-photo-slider__button--next {
	display: none;
}

.anasesso-photo-slider:has(#ana-sesso-foto-1:checked) .anasesso-photo-slider__previous-1,
.anasesso-photo-slider:has(#ana-sesso-foto-2:checked) .anasesso-photo-slider__previous-2,
.anasesso-photo-slider:has(#ana-sesso-foto-3:checked) .anasesso-photo-slider__previous-3,
.anasesso-photo-slider:has(#ana-sesso-foto-1:checked) .anasesso-photo-slider__next-1,
.anasesso-photo-slider:has(#ana-sesso-foto-2:checked) .anasesso-photo-slider__next-2,
.anasesso-photo-slider:has(#ana-sesso-foto-3:checked) .anasesso-photo-slider__next-3 {
	display: block;
}

.anasesso-photo-slider__button:hover,
.anasesso-photo-slider__button:focus-visible {
	background: var(--theme-palette-color-2, #a08035);
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.anasesso-photo-slider__button--previous { left: 14px; }
.anasesso-photo-slider__button--next { right: 14px; }

@media (max-width: 781px) {
	.anasesso-about-profile {
		margin-bottom: 56px;
		border-radius: 20px;
	}

	.anasesso-professional-activity {
		margin-bottom: 56px;
		border-radius: 20px;
	}

	.anasesso-about-profile__photo img {
		max-width: 260px;
		margin: 0 auto;
	}
}

/* Subpáginas de serviços em blocos nativos, integradas ao Blocksy. */
.anasesso-service-detail {
	--as-space: clamp(64px, 8vw, 110px);
}

.anasesso-service-hero,
.anasesso-service-section,
.anasesso-service-cta {
	margin-bottom: var(--as-space);
}

.anasesso-service-hero {
	padding: clamp(32px, 6vw, 72px);
	border-radius: 32px;
	background: var(--theme-palette-color-5, #f4efe3);
}

.anasesso-service-hero h1 {
	margin-top: 0;
	font-size: clamp(38px, 5vw, 64px);
}

.anasesso-service-hero figure,
.anasesso-service-case figure {
	margin: 0;
}

.anasesso-service-hero img,
.anasesso-service-case img {
	width: 100%;
	border-radius: 22px;
}

.anasesso-service-eyebrow {
	margin-bottom: 10px;
	color: var(--theme-palette-color-2, #a08035);
	font-size: 13px;
	font-weight: 750;
	letter-spacing: .08em;
}

.anasesso-service-lead {
	max-width: 850px;
	margin-right: auto;
	margin-left: auto;
}

.anasesso-service-cards,
.anasesso-service-steps {
	margin-top: 42px;
	gap: 24px;
}

.anasesso-service-cards > .wp-block-column,
.anasesso-service-steps > .wp-block-column {
	padding: clamp(24px, 3vw, 36px);
	border-radius: 20px;
	background: var(--theme-palette-color-5, #f4efe3);
}

.anasesso-service-cards h3,
.anasesso-service-steps h3 {
	margin-top: 0;
}

.anasesso-course-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 42px;
	gap: 24px;
}

.anasesso-course-grid > .wp-block-column {
	width: auto !important;
	margin: 0 !important;
	padding: clamp(26px, 4vw, 42px);
	border: 1px solid rgb(0 70 80 / 10%);
	border-radius: 22px;
	background: var(--theme-palette-color-5, #f4efe3);
}

.anasesso-course-grid h2 {
	margin-top: 0;
	font-size: clamp(24px, 2.5vw, 32px);
}

.anasesso-course-grid .wp-block-column > p:last-child {
	margin-bottom: 0;
	font-weight: 700;
}

@media (max-width: 640px) {
	.anasesso-course-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.anasesso-client-cases {
	margin: 0 auto var(--as-space, 80px);
	padding: clamp(32px, 6vw, 64px);
	max-width: 1180px;
	border-radius: 28px;
	background: var(--theme-palette-color-1, #004650);
	color: #fff;
}

.anasesso-client-cases h2,
.anasesso-client-cases h3 {
	color: #fff;
}

.anasesso-client-cases .anasesso-service-eyebrow {
	color: var(--theme-palette-color-2, #d4b768);
}

.anasesso-client-cases__grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 42px;
	gap: 24px;
}

.anasesso-client-cases__grid > .wp-block-column {
	width: auto !important;
	margin: 0 !important;
	flex-basis: auto !important;
	padding: clamp(24px, 3vw, 36px);
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 20px;
}

/* Dois cards permanecem legíveis no tablet; no celular a leitura é empilhada. */
@media (max-width: 640px) {
	.anasesso-client-cases__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.anasesso-client-cases__image {
	margin: 0 0 22px;
}

.anasesso-client-cases__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 12px;
	background: #fff;
	object-fit: contain;
}

.anasesso-client-cases__source {
	margin-top: 16px;
	color: rgb(255 255 255 / 75%);
	font-size: 13px;
}


.anasesso-service-section--tint,
.anasesso-service-case,
.anasesso-service-cta {
	padding: clamp(32px, 6vw, 64px);
	border-radius: 28px;
	background: var(--theme-palette-color-5, #f4efe3);
}

.anasesso-service-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.anasesso-service-checklist li {
	position: relative;
	margin-bottom: 12px;
	padding-left: 30px;
}

.anasesso-service-checklist li::before {
	position: absolute;
	left: 0;
	color: var(--theme-palette-color-1, #004650);
	content: "✓";
	font-weight: 800;
}

.anasesso-service-number {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--theme-palette-color-1, #004650);
	color: #fff;
	font-size: 13px;
	font-weight: 750;
	line-height: 46px;
	text-align: center;
}

.anasesso-service-gallery .wp-block-gallery {
	margin-top: 34px;
	display: flex;
	flex-wrap: nowrap;
	gap: 22px !important;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.anasesso-service-gallery .wp-block-gallery::-webkit-scrollbar {
	display: none;
}

.anasesso-service-gallery .wp-block-gallery > .wp-block-image {
	flex: 0 0 calc((100% - 66px) / 4);
	width: calc((100% - 66px) / 4) !important;
	scroll-snap-align: start;
}

.anasesso-service-gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	object-fit: cover;
}

.anasesso-gallery-controls {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}

.anasesso-gallery-arrow {
	display: inline-grid;
	width: 46px;
	height: 46px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--theme-palette-color-1, #004650);
	color: #fff;
	font-size: 23px;
	line-height: 1;
	cursor: pointer;
}

.anasesso-gallery-arrow:hover,
.anasesso-gallery-arrow:focus-visible {
	background: var(--theme-palette-color-2, #a08035);
	color: var(--theme-palette-color-4, #002f36);
}

.anasesso-gallery-arrow:disabled {
	cursor: default;
	opacity: .35;
}

@media (max-width: 781px) {
	.anasesso-service-gallery .wp-block-gallery > .wp-block-image {
		flex-basis: calc((100% - 22px) / 2);
		width: calc((100% - 22px) / 2) !important;
	}
}

@media (max-width: 480px) {
	.anasesso-service-gallery .wp-block-gallery > .wp-block-image {
		flex-basis: 100%;
		width: 100% !important;
	}
}

.anasesso-service-faq details {
	margin-bottom: 14px;
	padding: 22px 26px;
	border: 0;
	border-radius: 14px;
	background: var(--theme-palette-color-5, #f4efe3);
}

.anasesso-service-faq summary {
	color: var(--theme-palette-color-1, #004650);
	font-weight: 700;
	cursor: pointer;
}

/* QA-09: foco visível nos controles interativos que removem o contorno
 * nativo. A regra é restrita aos componentes auditados e não altera layout. */
.swiper-pagination-bullet[tabindex="0"]:focus-visible,
body.page-id-12 .gs-accordion-item__title[tabindex="0"]:focus-visible,
.anasesso-service-faq summary:focus-visible,
.fcal_wrap .day.day-enabled[tabindex="0"]:focus-visible {
	outline: 3px solid var(--theme-palette-color-2, #a08035) !important;
	outline-offset: 3px;
}

.anasesso-service-faq details p {
	margin-bottom: 0;
}

.anasesso-service-cta {
	text-align: center;
}

.anasesso-service-cta .wp-block-buttons {
	justify-content: center;
}

@media (max-width: 781px) {
	.anasesso-service-hero,
	.anasesso-service-section--tint,
	.anasesso-service-case,
	.anasesso-service-cta {
		border-radius: 20px;
	}

	.anasesso-service-hero .wp-block-columns {
		flex-direction: column-reverse;
	}
}

/* Revisão: documento com verificação. */
#gspb_iconBox-id-gsbp-21e929d .gspb_iconBox__wrapper::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v5h4M9 14l2 2 4-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='black' stroke-width='1.8'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v5h4M9 14l2 2 4-5'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Preparação: páginas organizadas. */
#gspb_iconBox-id-gsbp-dd470f8 .gspb_iconBox__wrapper::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 4h10v14H5zM9 7h10v14H9M8 8h4M8 11h4'/%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='black' stroke-width='1.8'%3E%3Cpath d='M5 4h10v14H5zM9 7h10v14H9M8 8h4M8 11h4'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Copidesque: lapiseira editorial. */
#gspb_iconBox-id-gsbp-ff35701 .gspb_iconBox__wrapper::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='m4 20 4-1 11-11-3-3L5 16zM14 7l3 3M4 20h6'/%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='black' stroke-width='1.8'%3E%3Cpath d='m4 20 4-1 11-11-3-3L5 16zM14 7l3 3M4 20h6'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Consultoria: diálogo e diagnóstico. */
#gspb_iconBox-id-gsbp-b36ecc9 .gspb_iconBox__wrapper::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M4 5h16v11H9l-5 4zM8 9h8M8 12h5'/%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='black' stroke-width='1.8'%3E%3Cpath d='M4 5h16v11H9l-5 4zM8 9h8M8 12h5'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Assessoria: comunicação entre pessoas. */
#gspb_iconBox-id-gsbp-9a2eac5 .gspb_iconBox__wrapper::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M4 6h16v11H7l-3 3zM8 10h8M8 13h6'/%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='black' stroke-width='1.8'%3E%3Cpath d='M4 6h16v11H7l-3 3zM8 10h8M8 13h6'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Padronização: guia de critérios. */
#gspb_iconBox-id-gsbp-e7ce3e8 .gspb_iconBox__wrapper::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 4h14v16H5zM8 8h8M8 12h8M8 16h5'/%3E%3Cpath d='m15 16 1 1 2-3'/%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='black' stroke-width='1.8'%3E%3Cpath d='M5 4h14v16H5zM8 8h8M8 12h8M8 16h5'/%3E%3Cpath d='m15 16 1 1 2-3'/%3E%3C/svg%3E") center/contain no-repeat;
}


/* Chamada telefônica da página Serviços: rótulo na primeira linha e contato na segunda. */
#gspb_container-id-gsbp-6a2d9b1 {
	display: grid !important;
	grid-template-columns: auto auto;
	align-items: center !important;
	justify-content: start !important;
}


#gspb_container-id-gsbp-6a2d9b1 #gspb_text-id-gsbp-13e7eb8 {
	grid-column: 1 / -1;
	margin-right: 0 !important;
	text-align: left;
}

#gspb_container-id-gsbp-6a2d9b1 #gspb_text-id-gsbp-24783e8 {
	width: auto !important;
	white-space: nowrap;
}

@media (max-width: 999.98px) {
	#gspb_container-id-gsbp-6a2d9b1 {
		justify-content: center !important;
	}

	#gspb_container-id-gsbp-6a2d9b1 #gspb_text-id-gsbp-13e7eb8 {
		text-align: center;
	}
}
