/* ==========================================================================
   Sousènsi — home
   Hero e faixa corrida (widgets do tema) e as seções da página, marcadas no Elementor com
   uma classe sd-home-* (Avançado › Classes CSS). Para mover ou duplicar uma seção, leve a
   classe junto; os blocos de dentro usam as classes sd-step__*, sd-founder__*, sd-news__* etc.
   ========================================================================== */

/* -------------------------------------------------------------- hero (slider do tema) */

/* O widget do slider tem margin-top -10px no Elementor, que compensava a margem de 9px do aviso
   do topo (zerada em layout.css). Sem isso a foto subiria por baixo do aviso no desktop e por
   baixo do cabeçalho sólido no celular. */
body.sd .elementor-widget-container:has(> .c-ip-slider) { margin-top: 0 !important; }

/* No desktop o cabeçalho fica sobre a foto: o topo do hero reserva essa altura para o bloco
   centralizado não encostar no logo */
@media (min-width: 1190px) {
	body.sd .c-ip-slider__item--full { padding-top: 120px !important; }
	body.sd .c-ip-slider__item--full .c-ip-slider__wrap { padding-bottom: 48px !important; }
}

/* Selo perto do título, título e frase formando um bloco, botão separado por um respiro maior */
body.sd .c-ip-slider__text-above { margin: 0 0 18px !important; }

/* Selo em pílula cheia na Terracota (o prêmio) */
body.sd .c-ip-slider__text-above-inner {
	display: inline-block;
	font-family: var(--sd-text) !important;
	font-size: var(--sd-caps-size) !important;
	font-weight: 500 !important;
	font-style: normal !important;
	letter-spacing: var(--sd-caps-tracking) !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	padding: 8px 14px !important;
	background: var(--sd-clay);
	color: var(--sd-white) !important;
	border-radius: var(--sd-pill);
}

/* Selos que não são prêmio (<span class="sd-badge-quiet">Passo 1 da rotina</span>): só contorno,
   para o prêmio ser o destaque */
body.sd .c-ip-slider__text-above-inner:has(.sd-badge-quiet) {
	background: transparent;
	color: var(--sd-ink) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 38, 29, 0.45);
}

body.sd .c-ip-slider__title { margin: 0 0 14px !important; }
body.sd .c-ip-slider__title,
body.sd .c-ip-slider__title-inner {
	font-size: var(--sd-step-5) !important;
	line-height: 1.02 !important;
}
body.sd .c-ip-slider__title-inner em { display: block; }

body.sd .c-ip-slider__description {
	font-family: var(--sd-text) !important;
	font-size: var(--sd-step-1) !important;
	font-weight: var(--sd-light-weight) !important;
	letter-spacing: 0.01em !important;
	line-height: 1.45 !important;
	color: var(--sd-ink) !important;
	max-width: 34ch;
	padding-right: 0 !important;   /* o tema põe 150px, que espremia o texto e deixava palavras órfãs */
	text-wrap: balance;
	margin: 0 0 36px !important;
}

/* Linha de benefícios abaixo da frase (<span class="sd-hero__specs"><span>…</span><span>…</span></span>):
   menor e mais clara, como num rótulo, um item por linha */
body.sd .c-ip-slider__description .sd-hero__specs {
	display: block;
	margin-top: 14px;
	font-size: var(--sd-step--1);
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.7;
	color: var(--sd-ink);
	opacity: 0.72;
}
body.sd .c-ip-slider__description .sd-hero__specs > span {
	display: block;
	text-wrap: balance;
}

/* Botão em contorno fino, preenchido no hover */
body.sd .c-ip-slider__button.c-button {
	background: transparent !important;
	border-color: var(--sd-ink) !important;
	color: var(--sd-ink) !important;
	padding: 15px 32px !important;
}
body.sd .c-ip-slider__button.c-button:hover {
	background: var(--sd-ink) !important;
	color: var(--sd-white) !important;
}

/* Celular e tablet: véu suave à esquerda para o texto não disputar com a foto */
@media (max-width: 1189px) {
	body.sd .c-ip-slider__item--full { position: relative; }
	body.sd .c-ip-slider__item--full::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, rgba(247, 247, 245, .88) 0%, rgba(247, 247, 245, .55) 55%, rgba(247, 247, 245, 0) 85%);
		pointer-events: none;
		z-index: 1;
	}
	body.sd .c-ip-slider__item--full .c-ip-slider__wrap { position: relative; z-index: 2; }
}
@media (max-width: 767px) {
	body.sd .c-ip-slider__title,
	body.sd .c-ip-slider__title-inner { font-size: 2.125rem !important; }
	/* Selo do prêmio em uma linha só dentro da pílula */
	body.sd .c-ip-slider__text-above-inner {
		font-size: 0.625rem !important;
		letter-spacing: 0.06em !important;
		white-space: nowrap;
	}
}

/* Navegação entre slides. No desktop ficam só as setas nas laterais (aparecem no hover). No
   celular, sem setas, as bolinhas vão centralizadas na base do hero, no Azul profundo, com a
   ativa alongada em pílula. Sai o arco animado em volta da bolinha (parecia um carregando) e a
   seta de rolar a página. */
body.sd .c-ip-slider__scroll,
body.sd .c-ip-slider__circle { display: none !important; }
body.sd .c-ip-slider__list--full .owl-prev,
body.sd .c-ip-slider__list--full .owl-next { color: var(--sd-ink) !important; }

@media (min-width: 768px) {
	body.sd .c-ip-slider__list--full .owl-dots { display: none !important; }
}
@media (max-width: 767px) {
	body.sd .c-ip-slider__list--full .owl-dots {
		left: 50% !important;
		right: auto !important;
		bottom: 28px !important;
		transform: translateX(-50%) !important;
		gap: 8px;
		color: var(--sd-blue-deep) !important;
		z-index: 3;
	}
	body.sd .c-ip-slider__list--full .owl-dots > .owl-dot {
		width: 8px;
		height: 8px;
		margin: 0 !important;
		border-radius: var(--sd-pill);
		background: currentColor;
		opacity: 0.3;
		transition: width .3s var(--sd-ease), opacity .3s var(--sd-ease);
	}
	body.sd .c-ip-slider__list--full .owl-dots > .owl-dot::before,
	body.sd .c-ip-slider__list--full .owl-dots > .owl-dot::after { display: none !important; }
	body.sd .c-ip-slider__list--full .owl-dots > .owl-dot.active { width: 22px; opacity: 1; }
	/* Área de toque maior que a bolinha */
	body.sd .c-ip-slider__list--full .c-ip-slider__dot { inset: -10px -4px; width: auto; height: auto; }
}

/* -------------------------------------------------------------- faixa corrida
   Fecha o topo com uma faixa branca e as frases do briefing em caixa alta, como na assinatura
   da marca */

body.sd .elementor-widget-ideapark-running-line > .elementor-widget-container {
	background: var(--sd-white) !important;
	border-block: 1px solid var(--sd-line);
	padding: 15px 0 !important;
}
body.sd .c-ip-running-line__title {
	font-family: var(--sd-text) !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	font-style: normal !important;
	letter-spacing: var(--sd-caps-tracking) !important;
	text-transform: uppercase !important;
	color: var(--sd-ink) !important;
}
body.sd .c-ip-running-line__item svg {
	width: 16px !important;
	height: auto;
}
body.sd .c-ip-running-line__item svg * { fill: var(--sd-blue) !important; }

/* -------------------------------------------------------------- títulos de seção
   Título com destaque e frase de apoio, centralizados (vitrine, vídeos, fechamento) */

body.sd .sd-section__title .elementor-heading-title {
	font-family: var(--sd-display) !important;
	font-weight: var(--sd-display-weight) !important;
	font-size: var(--sd-step-3) !important;
	text-align: center;
	text-wrap: balance;
	margin-bottom: 14px;
}
body.sd .sd-section__lead .elementor-heading-title {
	font-family: var(--sd-text) !important;
	font-weight: var(--sd-light-weight) !important;
	font-size: var(--sd-step-1) !important;
	line-height: 1.55 !important;
	color: var(--sd-ink-soft) !important;
	text-align: center;
	text-wrap: balance;
	max-width: 40ch;
	margin: 0 auto clamp(40px, 4.5vw, 64px);
}

/* Rótulo pequeno em caixa alta acima do título (tagline da abertura) */
body.sd .sd-eyebrow .elementor-heading-title {
	display: block;
	font-family: var(--sd-text) !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: var(--sd-caps-tracking) !important;
	line-height: 1.4 !important;
	text-transform: uppercase !important;
	color: var(--sd-ink) !important;
	margin: 0 0 20px;
}

/* Seções de uma coluna sem a margem padrão das seções do Elementor; nas de título, sem recuo */
body.sd .sd-home-abertura,
body.sd .sd-home-vitrine,
body.sd .sd-home-videos,
body.sd .sd-home-depoimentos,
body.sd .sd-home-garantias,
body.sd .sd-home-fechamento { margin: 0 !important; }
body.sd .sd-home-abertura .elementor-element-populated,
body.sd .sd-home-vitrine .elementor-element-populated,
body.sd .sd-home-videos .elementor-element-populated { padding: 0 !important; }
/* o tema recua o container das seções no celular; aqui o recuo já vem da própria seção */
body.sd .sd-home-abertura > .elementor-container,
body.sd .sd-home-vitrine > .elementor-container,
body.sd .sd-home-videos > .elementor-container,
body.sd .sd-home-fundadora > .elementor-container { padding-inline: 0 !important; }

/* -------------------------------------------------------------- abertura: a rotina em dois passos */

body.sd .sd-home-abertura {
	padding: clamp(56px, 6vw, 88px) 16px !important;
	text-align: center;
}
body.sd .sd-routine__title .elementor-heading-title {
	font-family: var(--sd-display) !important;
	font-weight: var(--sd-display-weight) !important;
	font-size: var(--sd-step-3) !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	text-wrap: balance;
	margin: 0 auto 16px;
}
body.sd .sd-routine__lead .elementor-heading-title {
	font-family: var(--sd-text) !important;
	font-weight: var(--sd-light-weight) !important;
	font-size: var(--sd-step-1) !important;
	line-height: 1.55 !important;
	color: var(--sd-ink-soft) !important;
	max-width: 60ch;
	margin: 0 auto;
	text-wrap: balance;
}

/* Os passos: as duas fotos (fundo das colunas) lado a lado, com um respiro entre elas */
body.sd .sd-home-passos { margin-top: 0 !important; }
body.sd .sd-home-passos > .elementor-container {
	gap: 16px;
	padding-inline: 16px;
}
body.sd .sd-home-passos .elementor-column,
body.sd .sd-home-passos .elementor-element-populated { margin: 0 !important; }
body.sd .sd-home-passos .elementor-widget-wrap {
	flex-direction: column;
	align-items: flex-start;
	/* topo alinhado nas duas fotos, mesmo com nomes de tamanhos diferentes */
	justify-content: flex-start !important;
	align-content: flex-start !important;
}
body.sd .sd-step__label .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--sd-text) !important;
	font-size: var(--sd-caps-size) !important;
	font-weight: 500 !important;
	letter-spacing: var(--sd-caps-tracking) !important;
	text-transform: uppercase !important;
	color: var(--sd-ink) !important;
	margin-bottom: 20px;
}
/* <span class="sd-step__n">1</span> */
body.sd .sd-step__n {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 0.8125rem;
	letter-spacing: 0;
}
body.sd .sd-step__name .elementor-heading-title {
	font-family: var(--sd-display) !important;
	font-weight: var(--sd-display-weight) !important;
	font-size: var(--sd-step-3) !important;
	line-height: 1.15 !important;
	max-width: 15ch;
	margin-bottom: 8px;
}
body.sd .sd-step__desc .elementor-heading-title {
	font-family: var(--sd-text) !important;
	font-weight: var(--sd-light-weight) !important;
	font-size: var(--sd-step-0) !important;
	line-height: 1.5 !important;
	color: var(--sd-ink-soft) !important;
	max-width: 34ch;
}
body.sd .sd-step__button { margin-top: 32px; }

/* O símbolo azul que encosta na foto não ocupa altura: o respiro abaixo dos passos fica igual ao de cima */
body.sd .sd-home-simbolo { height: 0; margin: 0 !important; overflow: visible; }
body.sd .sd-home-simbolo img { transform: translateY(-17px); }

@media (max-width: 767px) {
	body.sd .sd-routine__lead .elementor-heading-title { font-size: 1.0625rem !important; }
	body.sd .sd-home-passos > .elementor-container { flex-direction: column; }
	body.sd .sd-home-passos .elementor-column { width: 100% !important; }
	/* No celular o produto da foto fica atrás do texto: o mesmo véu suave do hero */
	body.sd .sd-home-passos .elementor-widget-wrap { position: relative; }
	body.sd .sd-home-passos .elementor-widget-wrap::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, rgba(247, 247, 245, .88) 0%, rgba(247, 247, 245, .6) 55%, rgba(247, 247, 245, 0) 90%);
		pointer-events: none;
	}
	body.sd .sd-home-passos .elementor-widget-wrap > .elementor-widget { position: relative; z-index: 1; }
}

/* -------------------------------------------------------------- vitrine e vídeos */

body.sd .sd-home-vitrine { padding: clamp(56px, 6vw, 88px) 10px 0 !important; }
body.sd .sd-home-videos { padding: clamp(56px, 6vw, 88px) 16px 0 !important; }

/* Uma avaliação só passa a ideia de "pouca gente comprou": na home, sem estrelas por enquanto */
body.sd.home .c-product-grid__star-rating { display: none !important; }

@media (max-width: 767px) {
	body.sd .sd-section__lead .elementor-heading-title { font-size: 1.0625rem !important; }
}

/* -------------------------------------------------------------- depoimentos
   Widget HTML (.sd-reviews, comportamento em assets/js/depoimentos.js): carrossel de rolagem
   nativa, três por vez no desktop, ordem sorteada a cada visita. */

body.sd .sd-home-depoimentos { padding: clamp(40px, 4.5vw, 64px) 16px 0 !important; }
body.sd .sd-reviews-wrap { max-width: 1200px; margin: 0 auto; }
body.sd .sd-reviews {
	--sd-reviews-gap: clamp(24px, 3vw, 48px);
	display: flex;
	gap: var(--sd-reviews-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	text-align: left;
}
body.sd .sd-reviews::-webkit-scrollbar { display: none; }
body.sd .sd-reviews > .sd-review {
	flex: 0 0 calc((100% - 2 * var(--sd-reviews-gap)) / 3);
	scroll-snap-align: start;
}
body.sd .sd-reviews__nav {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 32px;
}
body.sd .sd-reviews__nav[hidden] { display: none; }
body.sd .sd-reviews__nav button {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0 !important;
	border: 1px solid var(--sd-line) !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--sd-ink) !important;
	cursor: pointer;
	transition: border-color .25s var(--sd-ease), opacity .25s var(--sd-ease);
}
body.sd .sd-reviews__nav button:hover:not(:disabled) { border-color: var(--sd-ink) !important; }
body.sd .sd-reviews__nav button:disabled { opacity: .35; cursor: default; }
body.sd .sd-reviews__nav svg { fill: none !important; stroke: currentColor !important; }
body.sd .sd-review {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	margin: 0;
	padding-top: 24px;
	border-top: 1px solid var(--sd-line);
}
body.sd .sd-review blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	quotes: none;
}
body.sd .sd-review blockquote::before,
body.sd .sd-review blockquote::after { content: none; }
body.sd .sd-review blockquote p {
	font-family: var(--sd-text);
	font-style: normal;
	font-weight: var(--sd-light-weight);
	font-size: var(--sd-step-0);
	line-height: 1.65;
	color: var(--sd-ink);
	margin: 0;
}
body.sd .sd-review figcaption { display: flex; align-items: center; gap: 12px; }
body.sd .sd-review img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
body.sd .sd-review figcaption span {
	display: flex;
	flex-direction: column;
	font-size: var(--sd-step--1);
	line-height: 1.4;
	color: var(--sd-ink-soft);
}
body.sd .sd-review figcaption strong { font-size: 0.875rem; font-weight: 500; color: var(--sd-ink); }

@media (max-width: 1024px) {
	body.sd .sd-reviews > .sd-review { flex-basis: calc((100% - var(--sd-reviews-gap)) / 2); }
}
@media (max-width: 767px) {
	/* Um depoimento por vez, com o próximo aparecendo na borda */
	body.sd .sd-home-depoimentos { padding-inline: 0 !important; }
	body.sd .sd-reviews {
		--sd-reviews-gap: 16px;
		/* um depoimento longo não estica os outros (só um aparece por vez) */
		align-items: flex-start;
		overflow-y: hidden;
		transition: height .3s var(--sd-ease);
		padding: 0 16px;
		scroll-padding-inline: 16px;
	}
	body.sd .sd-reviews > .sd-review { flex-basis: 82%; }
}

/* -------------------------------------------------------------- fundadora
   Duas colunas: texto (.sd-founder__content) e foto (.sd-founder__photo) */

body.sd .sd-home-fundadora {
	padding: clamp(56px, 6vw, 88px) 16px !important;
	margin: 0 !important;
}
body.sd .sd-founder__content > .elementor-widget-wrap {
	align-content: center !important;
	justify-content: center !important;
	text-align: left !important;
}
body.sd .sd-founder__content > .elementor-widget-wrap > .elementor-widget { width: 100%; max-width: 34rem !important; margin-inline: auto !important; }
body.sd .sd-founder__title .elementor-heading-title {
	font-family: var(--sd-display) !important;
	font-weight: var(--sd-display-weight) !important;
	font-size: var(--sd-step-3) !important;
	line-height: 1.2 !important;
	text-align: left !important;
	text-wrap: balance;
	margin-bottom: 20px;
}
body.sd .sd-founder__text .elementor-heading-title {
	font-family: var(--sd-text) !important;
	font-weight: var(--sd-light-weight) !important;
	font-size: var(--sd-step-0) !important;
	line-height: 1.65 !important;
	color: var(--sd-ink-soft) !important;
	text-align: left !important;
	text-wrap: pretty;   /* evita palavra sozinha na última linha */
}

/* Citação: frase em Trirong itálico, como as frases do manual, com um filete Terracota */
body.sd .sd-founder__quote {
	margin: 28px 0;
	padding: 2px 0 2px 20px;
	border: 0;
	border-left: 1px solid var(--sd-clay);
	background: none;
	quotes: none;
}
body.sd .sd-founder__quote::before,
body.sd .sd-founder__quote::after { content: none; }
body.sd .sd-founder__quote p {
	font-family: var(--sd-accent) !important;
	font-style: italic !important;
	font-weight: 300;
	font-size: var(--sd-step-2);
	line-height: 1.3;
	color: var(--sd-ink);
	margin: 0;
}

/* Fatos da fórmula: linha técnica com ícone fino na cor do texto. Não são pílulas: em
   contorno, eles se confundiriam com o botão "Conheça a história". */
body.sd .sd-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}
body.sd .sd-facts li {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
	padding: 0;
	font-size: var(--sd-step--1);
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.7;
	white-space: nowrap;
	color: var(--sd-ink);
	opacity: 0.72;
}
body.sd .sd-facts__icon { display: block; flex: none; }
body.sd .sd-facts__icon,
body.sd .sd-facts__icon * { fill: none !important; stroke: currentColor !important; }
body.sd .sd-founder__button { margin-top: 32px; }

@media (max-width: 767px) {
	/* Foto em cima, texto embaixo */
	body.sd .sd-home-fundadora > .elementor-container { flex-direction: column; gap: 32px; }
	body.sd .sd-home-fundadora .elementor-column { width: 100% !important; max-width: none !important; }
	body.sd .sd-founder__photo { order: -1; }
	body.sd .sd-founder__content .elementor-element-populated { padding: 0 10px !important; }
	body.sd .sd-founder__photo .elementor-widget,
	body.sd .sd-founder__photo .elementor-widget-container { width: 100% !important; max-width: none !important; }
	body.sd .sd-founder__photo img { width: 100% !important; max-width: none !important; }
	body.sd .sd-facts { gap: 8px 20px; }
}

/* -------------------------------------------------------------- garantias e fechamento */

body.sd .sd-home-garantias { padding: 0 16px !important; }

/* O manifesto da marca abre o Instagram e a newsletter */
body.sd .sd-home-fechamento { padding: clamp(56px, 6vw, 88px) 16px 0 !important; }
body.sd .sd-home-fechamento .sd-section__title .elementor-heading-title { max-width: 24ch; margin-inline: auto; }
body.sd .sd-home-fechamento .sd-section__lead a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }

/* Instagram (plugin Smash Balloon): o manifesto acima já apresenta o perfil. Sem cabeçalho do
   plugin, grade na largura do site, sem ícones de play nem "Carregar mais". */
body.sd .sd-home-instagram { padding: 0 16px !important; margin: 0 !important; min-height: 0 !important; }
body.sd .sd-home-instagram .elementor-widget-wrap,
body.sd .sd-home-instagram .elementor-widget,
body.sd .sd-home-instagram .elementor-shortcode { padding: 0 !important; margin: 0 !important; }
body.sd #sb_instagram {
	max-width: 1200px;
	margin: 0 auto !important;
	padding: 0 !important;
}
body.sd #sb_instagram .sb_instagram_header,
body.sd #sb_instagram .sbi_item .sbi_playbtn,
body.sd #sb_instagram .sbi_load_btn { display: none !important; }
body.sd #sb_instagram #sbi_images { padding: 0 !important; gap: 12px !important; }
body.sd #sb_instagram .sbi_item { padding: 0 !important; }
body.sd #sb_instagram .sbi_photo_wrap,
body.sd #sb_instagram .sbi_photo { border-radius: 4px; overflow: hidden; }
body.sd #sb_instagram .sbi_photo { display: block; aspect-ratio: 1; }
body.sd #sb_instagram .sbi_photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--sd-ease); }
body.sd #sb_instagram .sbi_photo:hover img { transform: scale(1.03); }
body.sd #sb_instagram #sbi_load { margin: 32px 0 0 !important; padding: 0 !important; }
body.sd #sb_instagram .sbi_follow_btn { margin: 0 !important; }
body.sd #sb_instagram .sbi_follow_btn a {
	background: transparent !important;
	color: var(--sd-ink) !important;
	border: 1px solid var(--sd-ink) !important;
	border-radius: var(--sd-pill) !important;
	box-shadow: none !important;
	font-family: var(--sd-text) !important;
	font-style: normal !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	padding: 15px 30px !important;
}
body.sd #sb_instagram .sbi_follow_btn a:hover { background: var(--sd-ink) !important; color: var(--sd-white) !important; }
body.sd #sb_instagram .sbi_follow_btn svg { color: currentColor !important; }

/* -------------------------------------------------------------- newsletter
   Painel no Azul claro (seção interna .sd-news): texto à esquerda (.sd-news__text) e o
   formulário do Contact Form 7 à direita (.sd-news__form). Textos no Marrom: o cinza fica sem
   contraste nesse azul. */

body.sd .sd-home-newsletter { margin: 0 !important; padding: clamp(56px, 6vw, 88px) 16px !important; background: transparent !important; }
body.sd .sd-home-newsletter div { box-shadow: none !important; }
body.sd .sd-home-newsletter .elementor-column,
body.sd .sd-home-newsletter .elementor-widget-wrap { background: transparent !important; padding: 0 !important; margin: 0 !important; }
body.sd .sd-home-newsletter > .elementor-container { max-width: 1200px !important; }
body.sd .sd-home-newsletter > .elementor-container > .elementor-column { width: 100% !important; }

body.sd .sd-news { margin: 0 !important; }
body.sd .sd-news > .elementor-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: clamp(32px, 5vw, 80px);
	max-width: none !important;
	padding: clamp(40px, 5vw, 72px) !important;
	background: var(--sd-sky);
	border-radius: 4px;
	text-align: left;
}
body.sd .sd-news .elementor-column { width: auto !important; }
body.sd .sd-news .elementor-widget-wrap { display: block !important; }
body.sd .sd-news .elementor-widget:not(:last-child) { margin-bottom: 0 !important; }
body.sd .sd-news__title .elementor-heading-title {
	font-family: var(--sd-display) !important;
	font-weight: var(--sd-display-weight) !important;
	font-size: var(--sd-step-3) !important;
	line-height: 1.2 !important;
	color: var(--sd-ink) !important;
	margin: 0 0 12px;
}
body.sd .sd-news__lead .elementor-heading-title {
	font-family: var(--sd-text) !important;
	font-size: var(--sd-step-0) !important;
	font-weight: var(--sd-light-weight) !important;
	line-height: 1.6 !important;
	letter-spacing: 0 !important;
	color: var(--sd-ink) !important;
	max-width: 42ch;
	margin: 0;
}
body.sd .sd-news .wpcf7,
body.sd .sd-news .wpcf7-form { width: 100%; margin: 0; }
body.sd .sd-news .h-inline-form { display: flex; gap: 0; }
body.sd .sd-news .wpcf7-form-control-wrap { flex: 1; }
/* Campo e botão como uma pílula só (no celular, empilhados, cada um a sua) */
body.sd .sd-news input[type="email"] {
	width: 100% !important;
	height: 52px !important;
	padding: 0 24px !important;
	background: var(--sd-white) !important;
	border: 1px solid var(--sd-white) !important;
	border-radius: var(--sd-pill) 0 0 var(--sd-pill) !important;
	font-family: var(--sd-text) !important;
	font-size: 0.9375rem !important;
	color: var(--sd-ink) !important;
}
body.sd .sd-news input[type="email"]:focus { outline: none; border-color: var(--sd-blue) !important; }
body.sd .sd-news input[type="email"]::placeholder { color: var(--sd-ink-soft); opacity: 1; }
body.sd .sd-news .wpcf7-submit {
	height: 52px !important;
	padding: 0 28px !important;
	border-radius: 0 var(--sd-pill) var(--sd-pill) 0 !important;
	white-space: nowrap;
}
body.sd .sd-news__note .elementor-heading-title {
	margin: 12px 0 0;
	font-family: var(--sd-text) !important;
	font-size: var(--sd-step--1) !important;
	font-weight: var(--sd-text-weight) !important;
	line-height: 1.65 !important;
	letter-spacing: 0 !important;
	color: var(--sd-ink) !important;
}
body.sd .sd-news .wpcf7-response-output { margin: 12px 0 0 !important; padding: 0 !important; border: 0 !important; font-size: var(--sd-step--1); color: var(--sd-ink); }
body.sd .sd-news .wpcf7-not-valid-tip { font-size: var(--sd-step--1); margin-top: 6px; }

@media (max-width: 767px) {
	body.sd .sd-news > .elementor-container { grid-template-columns: 1fr; padding: 36px 24px !important; }
	body.sd .sd-news .h-inline-form { flex-direction: column; gap: 8px; }
	body.sd .sd-news input[type="email"],
	body.sd .sd-news .wpcf7-submit { border-radius: var(--sd-pill) !important; width: 100% !important; }
}
