/*
Theme Name:  TOO SOCIAL Child
Description: Tema personalizado para o website da TOO SOCIAL, agência de comunicação e marketing. Desenvolvido à medida para apresentar serviços, portfólio e resultados.
Theme URI:   https://serifada.com/
Author:      Agência Serifada
Author URI:  https://serifada.com/
Template:    salient
Version:     1.0.0
Text Domain: toosocial-child
*/

/*-------------------------------------------------------------------------*/
/* Estilos personalizados TOO SOCIAL
/*-------------------------------------------------------------------------*/

/*-------------------------------------------------------------------------*/
/* Classes utilitárias de tipografia (campo "Extra class name" do WPBakery)
/* Aplicam-se ao elemento e a tudo o que estiver dentro dele.
/* Famílias: .ts-acto  .ts-lato  .ts-open  .ts-open-sc
/* Pesos:    .ts-300 .ts-400 .ts-500 .ts-600 .ts-700 .ts-900
/* Estilo:   .ts-italic  .ts-normal  .ts-upper  .ts-none
/*-------------------------------------------------------------------------*/

.ts-acto, .ts-acto * { font-family: 'TS Acto', Georgia, serif !important; font-style: italic !important; }
.ts-lato, .ts-lato * { font-family: 'TS Lato', Helvetica, Arial, sans-serif !important; }
.ts-open, .ts-open * { font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important; }
.ts-open-sc, .ts-open-sc * { font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important; }

.ts-300, .ts-300 * { font-weight: 300 !important; }
.ts-400, .ts-400 * { font-weight: 400 !important; }
.ts-500, .ts-500 * { font-weight: 500 !important; }
.ts-600, .ts-600 * { font-weight: 600 !important; }
.ts-700, .ts-700 * { font-weight: 700 !important; }
.ts-900, .ts-900 * { font-weight: 900 !important; }

.ts-italic, .ts-italic * { font-style: italic !important; }
.ts-normal, .ts-normal * { font-style: normal !important; }
.ts-upper, .ts-upper * { text-transform: uppercase !important; }
.ts-none, .ts-none * { text-transform: none !important; }

/*-------------------------------------------------------------------------*/
/* Separadores verticais entre colunas internas (ex.: Resultados Reais)
/* Uso: classe "ts-divided" no campo "Extra class name" da LINHA INTERNA.
/* Ajustes opcionais na mesma linha, via Design Options > CSS:
/*   --ts-linha: cor · --ts-espessura · --ts-altura · --ts-recuo (centrar no gap)
/*-------------------------------------------------------------------------*/

.ts-divided {
	--ts-linha: #d3c733;
	--ts-espessura: 1px;
	--ts-altura: 60%;
	--ts-recuo: 0px;
}

.ts-divided > .row_col_wrap_12_inner > .wpb_column { position: relative; }

.ts-divided > .row_col_wrap_12_inner > .wpb_column + .wpb_column::before {
	content: "";
	position: absolute;
	left: calc(var(--ts-recuo) * -1);
	top: 50%;
	transform: translateY(-50%);
	width: var(--ts-espessura);
	height: var(--ts-altura);
	background: var(--ts-linha);
	pointer-events: none;
}

/* Em tablet/telemóvel as colunas empilham: a linha passa a horizontal, por cima. */
@media (max-width: 999px) {
	.ts-divided > .row_col_wrap_12_inner > .wpb_column + .wpb_column::before {
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		width: var(--ts-altura);
		height: var(--ts-espessura);
	}
}

/*-------------------------------------------------------------------------*/
/* Paginação global dos carrosséis (Flickity): sempre pontos, no vermelho
/* da marca. O Salient usa barras por omissão e pontos só nalguns estilos.
/*-------------------------------------------------------------------------*/

#ajax-content-wrap .flickity-page-dots .dot,
.flickity-page-dots .dot {
	width: 1.125rem !important;
	height: 1.125rem !important;
	margin: 0 0.5rem !important;
	opacity: 1 !important;
}

#ajax-content-wrap .flickity-page-dots .dot::before,
.flickity-page-dots .dot::before {
	top: 0 !important;
	left: 0 !important;
	width: 1.125rem !important;
	height: 1.125rem !important;
	margin: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: inset 0 0 0 1px #cb2b21 !important;
	transform: none !important;
	transition: background-color .2s ease !important;
}

#ajax-content-wrap .flickity-page-dots .dot.is-selected::before,
.flickity-page-dots .dot.is-selected::before {
	background: #cb2b21 !important;
	box-shadow: inset 0 0 0 1px #cb2b21 !important;
	transform: none !important;
}

/* Secções de fundo escuro: ponto branco, para manter contraste. */
.span_12.light .flickity-page-dots .dot::before,
[data-color*="-light"] .flickity-page-dots .dot::before {
	box-shadow: inset 0 0 0 1px #fff !important;
}
.span_12.light .flickity-page-dots .dot.is-selected::before,
[data-color*="-light"] .flickity-page-dots .dot.is-selected::before {
	background: #fff !important;
}

/* Sliders do Salient que usam Swiper (Nectar Slider, Home Slider). */
#ajax-content-wrap .slider-pagination .swiper-pagination-switch,
.slider-pagination .swiper-pagination-switch {
	width: 1.125rem !important;
	height: 1.125rem !important;
	margin: 0 0.5rem !important;
	border-radius: 50% !important;
	opacity: 1 !important;
	background: transparent !important;
	box-shadow: inset 0 0 0 1px #cb2b21 !important;
}
#ajax-content-wrap .slider-pagination .swiper-pagination-switch::before,
.slider-pagination .swiper-pagination-switch::before { display: none !important; }
#ajax-content-wrap .slider-pagination .swiper-active-switch,
.slider-pagination .swiper-active-switch { background: #cb2b21 !important; }

/*-------------------------------------------------------------------------*/
/* Número manuscrito antes de um título (ex.: "1 Marca & Estratégia")
/* Uso: "ts-num-1" … "ts-num-6" no "Extra class name" do elemento de título.
/* Funciona com a classe no próprio título (Custom Heading) ou num
/* invólucro com o título dentro (Responsive Text, Text Block).
/*-------------------------------------------------------------------------*/

:is(.ts-num-1,.ts-num-2,.ts-num-3,.ts-num-4,.ts-num-5,.ts-num-6):is(h1,h2,h3,h4,h5,h6,p)::before,
:is(.ts-num-1,.ts-num-2,.ts-num-3,.ts-num-4,.ts-num-5,.ts-num-6) :is(h1,h2,h3,h4,h5,h6,p):first-child::before {
	content: "";
	display: inline-block;
	width: 0.55em;
	height: 1.3em;
	margin-right: 0.22em;
	vertical-align: -0.3em;
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: auto 100%;
}

.ts-num-1:is(h1,h2,h3,h4,h5,h6,p)::before, .ts-num-1 :is(h1,h2,h3,h4,h5,h6,p):first-child::before { background-image: url("/wp-content/uploads/2026/09/numero-manuscrito-1.svg"); width: 0.45em; }
.ts-num-2:is(h1,h2,h3,h4,h5,h6,p)::before, .ts-num-2 :is(h1,h2,h3,h4,h5,h6,p):first-child::before { background-image: url("/wp-content/uploads/2026/09/numero-manuscrito-2.svg"); width: 0.83em; }
.ts-num-3:is(h1,h2,h3,h4,h5,h6,p)::before, .ts-num-3 :is(h1,h2,h3,h4,h5,h6,p):first-child::before { background-image: url("/wp-content/uploads/2026/09/numero-manuscrito-3.svg"); width: 0.48em; }
.ts-num-4:is(h1,h2,h3,h4,h5,h6,p)::before, .ts-num-4 :is(h1,h2,h3,h4,h5,h6,p):first-child::before { background-image: url("/wp-content/uploads/2026/09/numero-manuscrito-4.svg"); width: 0.52em; }
.ts-num-5:is(h1,h2,h3,h4,h5,h6,p)::before, .ts-num-5 :is(h1,h2,h3,h4,h5,h6,p):first-child::before { background-image: url("/wp-content/uploads/2026/09/numero-manuscrito-5.png"); width: 0.62em; }
.ts-num-6:is(h1,h2,h3,h4,h5,h6,p)::before, .ts-num-6 :is(h1,h2,h3,h4,h5,h6,p):first-child::before { background-image: url("/wp-content/uploads/2026/09/numero-manuscrito-6.png"); width: 0.74em; }

/*-------------------------------------------------------------------------*/
/* Escala de tamanhos responsiva (clamp) — substitui font-size inline.
/* Uso no "Extra class name" de Text Blocks: ts-fs-32, ts-fs-20, …
/* O valor é o tamanho no desenho (ecrã largo); desce até ao mínimo no telemóvel.
/*-------------------------------------------------------------------------*/

.ts-fs-48, .ts-fs-48 :is(p,span,li,a,strong,em) { font-size: clamp(1.875rem, 23.66px + 1.690vw, 3rem) !important; line-height: 1.2 !important; }
.ts-fs-36, .ts-fs-36 :is(p,span,li,a,strong,em) { font-size: clamp(1.5rem, 19.77px + 1.127vw, 2.25rem) !important; line-height: 1.25 !important; }
.ts-fs-32, .ts-fs-32 :is(p,span,li,a,strong,em) { font-size: clamp(1.25rem, 15.77px + 1.127vw, 2rem) !important; line-height: 1.4 !important; }
.ts-fs-30, .ts-fs-30 :is(p,span,li,a,strong,em) { font-size: clamp(1.25rem, 16.48px + 0.939vw, 1.875rem) !important; line-height: 1.4 !important; }
.ts-fs-26, .ts-fs-26 :is(p,span,li,a,strong,em) { font-size: clamp(1.125rem, 15.18px + 0.751vw, 1.625rem) !important; line-height: 1.45 !important; }
.ts-fs-35, .ts-fs-35 :is(p,span,li,a,strong,em) { font-size: clamp(1.375rem, 17.42px + 1.221vw, 2.1875rem) !important; line-height: 1.35 !important; }
.ts-fs-27, .ts-fs-27 :is(p,span,li,a,strong,em) { font-size: clamp(1.125rem, 14.83px + 0.845vw, 1.6875rem) !important; line-height: 1.4 !important; }
.ts-fs-28, .ts-fs-28 :is(p,span,li,a,strong,em) { font-size: clamp(1.1875rem, 15.83px + 0.845vw, 1.75rem) !important; line-height: 1.4 !important; }
.ts-fs-24, .ts-fs-24 :is(p,span,li,a,strong,em) { font-size: clamp(1.125rem, 15.89px + 0.563vw, 1.5rem) !important; line-height: 1.45 !important; }
.ts-fs-20, .ts-fs-20 :is(p,span,li,a,strong,em) { font-size: clamp(1rem, 14.59px + 0.376vw, 1.25rem) !important; line-height: 1.5 !important; }
.ts-fs-18, .ts-fs-18 :is(p,span,li,a,strong,em) { font-size: clamp(0.9375rem, 13.94px + 0.282vw, 1.125rem) !important; line-height: 1.55 !important; }
.ts-fs-16, .ts-fs-16 :is(p,span,li,a,strong,em) { font-size: clamp(0.875rem, 13.30px + 0.188vw, 1rem) !important; line-height: 1.6 !important; }

/* Cores da marca e alinhamento */
.ts-cor-vermelho, .ts-cor-vermelho :is(p,span,li,strong,em) { color: #cb2b21 !important; }
.ts-cor-escuro, .ts-cor-escuro :is(p,span,li,strong,em) { color: #350a0a !important; }
.ts-cor-amarelo, .ts-cor-amarelo :is(p,span,li,strong,em) { color: #fdf9a6 !important; }
.ts-centro, .ts-centro :is(p,li) { text-align: center !important; }
.ts-esquerda, .ts-esquerda :is(p,li) { text-align: left !important; }
.ts-direita, .ts-direita :is(p,li) { text-align: right !important; }
.ts-justificado, .ts-justificado :is(p,li) { text-align: justify !important; hyphens: auto; }

/*-------------------------------------------------------------------------*/
/* FAQ (acordeão Salient, estilo "minimal") ao jeito do design da Rita.
/* Uso: classe "ts-faq" na LINHA (vc_row) que contém o acordeão.
/*-------------------------------------------------------------------------*/

.ts-faq .toggles .toggle {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff;
	transition: background-color .25s ease;
}
.ts-faq .toggles .toggle:nth-child(odd) { background: #fcf1ef; }
/* Faixas rosa a toda a largura do ecrã, como no desenho (o texto mantém a posição) */
.ts-faq .toggles .toggle:nth-child(odd) { box-shadow: 0 0 0 100vmax #fcf1ef; clip-path: inset(0 -100vmax); }

.ts-faq .toggles .toggle > .toggle-title { margin: 0 !important; padding: 0 !important; border: 0 !important; }

.ts-faq .toggles .toggle > .toggle-title a.toggle-heading {
	display: flex !important;
	align-items: flex-start;
	gap: clamp(0.875rem, 1.4vw, 1.5rem);
	padding: clamp(1.125rem, 2vw, 1.875rem) clamp(1.125rem, 6%, 5.625rem) !important;
	margin: 0 !important;
	font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-align: left !important;
	color: #2d0b0a !important;
	font-size: clamp(1.0625rem, 13.13px + 1.033vw, 1.75rem) !important;
	line-height: 1.35 !important;
	border: 0 !important;
}

/* A cruz desenhada: esconde o ícone Font Awesome e traça duas linhas finas. */
.ts-faq .toggles .toggle > .toggle-title a.toggle-heading i {
	position: relative !important;
	flex: 0 0 auto;
	display: block !important;
	width: clamp(1.25rem, 1.9vw, 2rem) !important;
	height: clamp(1.25rem, 1.9vw, 2rem) !important;
	margin: clamp(0.1875rem, 0.3vw, 0.375rem) 0 0 !important;
	top: auto !important; left: auto !important; right: auto !important;
	transform: rotate(-4deg);
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	font-size: 0 !important;
	transition: transform .3s ease;
}
.ts-faq .toggles .toggle > .toggle-title a.toggle-heading i::before,
.ts-faq .toggles .toggle > .toggle-title a.toggle-heading i::after {
	content: "" !important;
	position: absolute;
	left: 50%; top: 50%;
	background: #2d0b0a !important;
	border-radius: 2px;
	transition: transform .3s ease, background-color .3s ease;
}
.ts-faq .toggles .toggle > .toggle-title a.toggle-heading i::before { width: 100%; height: 1.6px; transform: translate(-50%, -50%) rotate(-2deg); }
.ts-faq .toggles .toggle > .toggle-title a.toggle-heading i::after  { width: 1.6px; height: 115%; transform: translate(-50%, -45%) rotate(3deg); }

/* Aberto: cruz passa a vermelho e roda ligeiramente. */
.ts-faq .toggles .toggle.open > .toggle-title a.toggle-heading i { transform: rotate(-4deg) scale(1.05); }
.ts-faq .toggles .toggle.open > .toggle-title a.toggle-heading i::before,
.ts-faq .toggles .toggle.open > .toggle-title a.toggle-heading i::after { background: #cb2b21 !important; }
.ts-faq .toggles .toggle > .toggle-title a.toggle-heading:hover i::before,
.ts-faq .toggles .toggle > .toggle-title a.toggle-heading:hover i::after { background: #cb2b21 !important; }

/* Resposta: alinhada com a cruz, como no design. */
.ts-faq .toggles .toggle > div[role="region"] .inner-toggle-wrap {
	padding: 0 clamp(1.125rem, 6%, 5.625rem) clamp(1.375rem, 2.6vw, 2.5rem) !important;
	border: 0 !important;
}
.ts-faq .toggles .toggle .inner-toggle-wrap,
.ts-faq .toggles .toggle .inner-toggle-wrap :is(p,li) {
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	color: #350a0a !important;
	font-size: clamp(1.125rem, 12.01px + 1.596vw, 2.1875rem) !important;
	line-height: 1.45 !important;
	text-align: left !important;
}
.ts-faq .toggles .toggle .inner-toggle-wrap p:last-child { padding-bottom: 0 !important; margin-bottom: 0 !important; }

/* Salient "minimal" desenha linhas entre itens: removidas. */
.ts-faq .toggles[data-style="minimal"] .toggle,
.ts-faq .toggles[data-style="minimal"] .toggle:last-child { border-bottom: 0 !important; }

/*-------------------------------------------------------------------------*/
/* Formulário de contacto (CF7) ao jeito do design da Rita.
/* Uso: [contact-form-7 id="…" html_class="ts-form"]
/*-------------------------------------------------------------------------*/

.ts-form {
	--ts-f-texto: #2d0b0a;
	--ts-f-linha: rgba(45, 11, 10, .45);
	--ts-f-cheio: #2d0b0a;
	--ts-f-cheio-texto: #fdf9a6;
	color: var(--ts-f-texto);
	font-family: 'TS Open Sans', Helvetica, Arial, sans-serif;
}

/* Topo: título dentro de uma elipse desenhada + "Sem Compromisso" */
.ts-form .ts-form__topo { width: fit-content; margin: 0 auto clamp(1.25rem, 2.4vw, 2.5rem); }
.ts-form .ts-form__titulo {
	display: inline-block;
	margin: 0 !important;
	padding: .6em 1.35em !important;
	background: url("/wp-content/uploads/2026/09/circle2.svg") center / 100% 100% no-repeat;
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-weight: 700 !important;
	font-style: italic !important;
	font-size: clamp(1.75rem, 21.2px + 1.8vw, 3rem) !important;
	line-height: 1.1 !important;
	color: var(--ts-f-texto) !important;
	letter-spacing: 0 !important;
}
.ts-form .ts-form__subtitulo {
	margin: .25em 0 0 !important;
	padding: 0 !important;
	text-align: right;
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-weight: 700 !important;
	font-style: italic !important;
	font-size: clamp(1.25rem, 14.7px + 1.41vw, 2.1875rem) !important;
	line-height: 1.2 !important;
	color: var(--ts-f-texto) !important;
}

/* Campos: etiqueta por cima, só uma linha por baixo (sem caixa) */
.ts-form .ts-form__campo { margin: 0 0 clamp(1rem, 1.6vw, 1.625rem); }
.ts-form .ts-form__linha { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(1.125rem, 2.4vw, 2.5rem); }
.ts-form label,
.ts-form legend {
	display: block;
	margin: 0 0 .2em;
	padding: 0;
	font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: clamp(0.9375rem, 12.18px + 0.751vw, 1.4375rem) !important;
	line-height: 1.35 !important;
	color: var(--ts-f-texto) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.ts-form .wpcf7-form-control-wrap { display: block; }
.ts-form input:is([type=text],[type=email],[type=tel]),
.ts-form textarea {
	width: 100% !important;
	margin: 0 !important;
	padding: .35em 0 !important;
	border: 0 !important;
	border-bottom: 2px solid var(--ts-f-linha) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ts-f-texto) !important;
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-size: clamp(0.9375rem, 13.2px + 0.47vw, 1.25rem) !important;
	line-height: 1.4 !important;
	transition: border-color .2s ease;
}
.ts-form textarea { min-height: 2.6em !important; height: 2.6em; resize: vertical; }
.ts-form input:is([type=text],[type=email],[type=tel]):focus,
.ts-form textarea:focus { outline: none !important; border-bottom-color: #cb2b21 !important; }

/* Grupos de botões (serviços e valor) */
.ts-form .ts-form__grupo { margin: 0 0 clamp(1.125rem, 1.8vw, 1.875rem); padding: 0; border: 0; min-width: 0; }
.ts-form .ts-form__grupo legend { margin-bottom: .55em; }
.ts-form .ts-pills { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(0.375rem, .7vw, 0.75rem); }
.ts-form .ts-pills .wpcf7-list-item { margin: 0 !important; display: block; }
.ts-form .ts-pills label { margin: 0 !important; cursor: pointer; }
.ts-form .ts-pills input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ts-form .ts-pills .wpcf7-list-item-label {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.4em;
	margin: 0 !important;
	padding: .3em .6em;
	border: 1px solid var(--ts-f-cheio);
	border-radius: 4px;
	background: transparent;
	color: var(--ts-f-texto);
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 400;
	font-size: clamp(0.75rem, 9.89px + 0.563vw, 1.125rem) !important;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease;
}
.ts-form .ts-pills .wpcf7-list-item-label::before,
.ts-form .ts-pills .wpcf7-list-item-label::after { display: none !important; }
.ts-form .ts-pills label:hover .wpcf7-list-item-label { background: rgba(45, 11, 10, .08); }
.ts-form .ts-pills input:checked + .wpcf7-list-item-label { background: var(--ts-f-cheio); color: var(--ts-f-cheio-texto); }
.ts-form .ts-pills input:focus-visible + .wpcf7-list-item-label { outline: 2px solid #cb2b21; outline-offset: 2px; }

/* Consentimentos: círculo vazado, cheio quando marcado */
.ts-form .ts-form__consentimentos { margin: clamp(0.5rem, 1vw, 1rem) 0 clamp(1rem, 1.6vw, 1.5rem); }
.ts-form .wpcf7-acceptance { display: block; margin: 0 0 .6em; }
.ts-form .wpcf7-acceptance .wpcf7-list-item { margin: 0 !important; }
.ts-form .wpcf7-acceptance label {
	display: flex !important;
	align-items: flex-start;
	gap: .55em;
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: clamp(0.8125rem, 11.59px + 0.376vw, 1.0625rem) !important;
	line-height: 1.4 !important;
	cursor: pointer;
}
.ts-form .wpcf7-acceptance input {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	width: 1.05em;
	height: 1.05em;
	margin: .12em 0 0 !important;
	border: 1px solid var(--ts-f-texto);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background-color .2s ease, box-shadow .2s ease;
}
.ts-form .wpcf7-acceptance input:checked { background: var(--ts-f-cheio); box-shadow: inset 0 0 0 2px var(--ts-f-cheio-texto); }
.ts-form .wpcf7-acceptance input:focus-visible { outline: 2px solid #cb2b21; outline-offset: 2px; }
.ts-form .wpcf7-acceptance a { color: inherit !important; text-decoration: underline; }

/* Botão Enviar */
.ts-form .ts-form__enviar { display: flex; justify-content: flex-end; align-items: center; gap: 0.75rem; }
.ts-form .wpcf7-submit {
	margin: 0 !important;
	padding: .45em 1.6em !important;
	border: 0 !important;
	border-radius: 2px !important;
	background: #350a0a !important;
	color: #fff !important;
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-size: clamp(1.0625rem, 13.8px + 0.85vw, 1.625rem) !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	cursor: pointer;
	transition: background-color .2s ease;
}
.ts-form .wpcf7-submit:hover { background: #cb2b21 !important; }
.ts-form .wpcf7-spinner { margin: 0 !important; }

/* Mensagens de erro e de envio */
.ts-form .wpcf7-not-valid-tip { color: #cb2b21 !important; font-size: 0.8125rem !important; margin-top: .25em; }
.ts-form .wpcf7-not-valid { border-bottom-color: #cb2b21 !important; }
.ts-form .wpcf7-response-output {
	margin: 1em 0 0 !important;
	padding: .8em 1em !important;
	border: 1px solid var(--ts-f-texto) !important;
	border-radius: 4px;
	font-size: 0.9375rem;
	color: var(--ts-f-texto);
}
.ts-form.sent .wpcf7-response-output { border-color: #2d0b0a !important; background: rgba(255, 255, 255, .5); }

/* Telemóvel: telefone e email em coluna; botões em duas colunas */
@media (max-width: 690px) {
	.ts-form .ts-form__linha { grid-template-columns: 1fr; }
	.ts-form .ts-pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ts-form .ts-form__enviar { justify-content: stretch; }
	.ts-form .wpcf7-submit { width: 100%; }
}

/* Ecrã depois de enviar (design da Rita, prancheta 10): o formulário dá lugar ao painel. */
.ts-form .ts-form__sucesso { display: none; }
.ts-form.sent > :not(.ts-form__sucesso) { display: none !important; }
.ts-form.sent { width: 100%; }
.ts-form.sent .ts-form__sucesso {
	display: flex;
	width: 100%;
	box-sizing: border-box;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(1.125rem, 2vw, 2rem);
	min-height: clamp(26.25rem, 62vh, 47.5rem);
	padding: clamp(1.75rem, 4vw, 3.75rem) 20px;
	background: #93706e;
	border-radius: 6px;
	text-align: center;
}
.ts-form .ts-form__sucesso-texto {
	margin: 0 !important;
	padding: 0 !important;
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 500 !important;
	font-size: clamp(1.125rem, 14.8px + 0.85vw, 1.875rem) !important;
	line-height: 1.35 !important;
	color: #fdf9a6 !important;
}
.ts-form .ts-form__sucesso-titulo {
	display: inline-block;
	margin: 0 !important;
	padding: .6em 1.6em !important;
	background: url("/wp-content/uploads/2026/09/circle1.svg") center / 100% 100% no-repeat;
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-weight: 700 !important;
	font-style: italic !important;
	font-size: clamp(1.5rem, 18.4px + 1.5vw, 2.625rem) !important;
	line-height: 1.1 !important;
	color: #fdf9a6 !important;
}
/* O painel substitui a caixa de mensagem do CF7 em caso de sucesso. */
.ts-form.sent .wpcf7-response-output { display: none !important; }

/* Pinta a coluna inteira com a cor do painel quando o envio corre bem (browsers com :has). */
.wpb_column:has(.ts-form.sent) > .vc_column-inner > .column-bg-overlay-wrap .column-bg-overlay,
.wpb_column:has(.ts-form.sent) > .vc_column-inner { background-color: #93706e !important; }

/*-------------------------------------------------------------------------*/
/* Newsletter "Social News" (formulário MC4WP) — campo com linha e botão discreto.
/* Só aparece aos visitantes depois de a chave API do Mailchimp ser configurada.
/*-------------------------------------------------------------------------*/

.mc4wp-form .ts-news {
	display: flex;
	align-items: stretch;
	gap: 0.625rem;
	border-bottom: 1px solid rgba(53, 10, 10, .45);
	transition: border-color .2s ease;
}
.mc4wp-form .ts-news:focus-within { border-bottom-color: #cb2b21; }
.mc4wp-form .ts-news input[type=email] {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 !important;
	padding: .45em 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #350a0a !important;
	font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 300 !important;
	font-size: clamp(0.9375rem, 13.2px + 0.47vw, 1.25rem) !important;
	line-height: 1.4 !important;
}
.mc4wp-form .ts-news input[type=email]::placeholder { color: rgba(53, 10, 10, .7); }
.mc4wp-form .ts-news input[type=email]:focus { outline: none !important; }
.mc4wp-form .ts-news__enviar {
	flex: 0 0 auto;
	align-self: center;
	margin: 0 !important;
	padding: .4em 1.1em !important;
	border: 0 !important;
	border-radius: 2px !important;
	background: #350a0a !important;
	color: #fff !important;
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: clamp(0.875rem, 12.6px + 0.38vw, 1.125rem) !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
	transition: background-color .2s ease;
}
.mc4wp-form .ts-news__enviar:hover { background: #cb2b21 !important; }
.mc4wp-form .ts-news__aviso {
	margin: .7em 0 0 !important;
	padding: 0 !important;
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-size: clamp(0.75rem, 11.3px + 0.19vw, 0.875rem) !important;
	line-height: 1.45 !important;
	color: rgba(53, 10, 10, .85) !important;
}
.mc4wp-form .ts-news__aviso a { color: inherit !important; text-decoration: underline; }
.mc4wp-form .mc4wp-response { margin-top: .8em; font-size: 0.9375rem; color: #350a0a; }
.mc4wp-form .mc4wp-response .mc4wp-error { color: #cb2b21; }

/* Visto da newsletter no formulário de contactos (integração MC4WP ↔ CF7): igual aos consentimentos. */
.ts-form .mc4wp-checkbox { display: block; margin: 0 0 .6em; }
.ts-form .mc4wp-checkbox label {
	display: flex !important;
	align-items: flex-start;
	gap: .55em;
	margin: 0 !important;
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: clamp(0.8125rem, 11.59px + 0.376vw, 1.0625rem) !important;
	line-height: 1.4 !important;
	cursor: pointer;
}
.ts-form .mc4wp-checkbox input {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	width: 1.05em;
	height: 1.05em;
	margin: .12em 0 0 !important;
	border: 1px solid var(--ts-f-texto);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background-color .2s ease, box-shadow .2s ease;
}
.ts-form .mc4wp-checkbox input:checked { background: var(--ts-f-cheio); box-shadow: inset 0 0 0 2px var(--ts-f-cheio-texto); }
.ts-form .mc4wp-checkbox input:focus-visible { outline: 2px solid #cb2b21; outline-offset: 2px; }

/*-------------------------------------------------------------------------*/
/* Banner de cookies (CookieYes): tipos de letra e detalhes nas cores da marca.
/* Textos e cores principais estão nas definições do próprio CookieYes.
/*-------------------------------------------------------------------------*/

.cky-consent-container, .cky-modal, .cky-btn-revisit-wrapper,
.cky-consent-container *, .cky-modal * { font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important; }
.cky-consent-container .cky-title, .cky-modal .cky-preference-title {
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-weight: 700 !important;
	font-style: italic !important;
	color: #350a0a !important;
}
.cky-btn { font-family: 'TS Lato', Helvetica, Arial, sans-serif !important; font-weight: 700 !important; border-radius: 4px !important; }

.cky-notice-des a.cky-policy, .cky-notice-des button.cky-policy,
button.cky-show-desc-btn:not(:hover):not(:active),
.cky-preference-content-wrapper .cky-show-desc-btn,
.cky-accordion-header-des a, .cky-preference-content-wrapper a { color: #cb2b21 !important; }
.cky-switch input[type="checkbox"]:checked,
.cky-opt-out-checkbox:checked { background: #cb2b21 !important; }
.cky-btn:focus-visible, .cky-footer-wrapper a:focus-visible,
.cky-switch input[type="checkbox"]:focus-visible, .cky-opt-out-checkbox:focus-visible,
.cky-accordion-btn:focus-visible { outline-color: #cb2b21 !important; box-shadow: 0 0 0 2px #cb2b21 !important; }
.cky-btn-revisit-wrapper { background-color: #cb2b21 !important; }

/* Complementos da escala: dourado dos traços manuscritos e texto relativo mais pequeno. */
.ts-cor-dourado, .ts-cor-dourado :is(p,span,li,strong,em) { color: #d3c733 !important; }
.ts-menor { font-size: 75% !important; }

/*=========================================================================*/
/* AJUSTES MOBILE E COMPONENTES (auditoria de 2026-09-18)
/*=========================================================================*/

/* Newsletter "Social News": campo cheio e arredondado como no design; botão vira seta dentro do campo. */
.mc4wp-form .ts-news {
	position: relative;
	display: block !important;
	max-width: 20rem;
	margin: 0 auto;
	border-bottom: 0 !important;
}
.mc4wp-form .ts-news input[type=email] {
	width: 100% !important;
	padding: .75em 3em .75em 1.2em !important;
	border-radius: 5px !important;
	background: rgba(203, 43, 33, .22) !important;
	color: #2d0b0a !important;
	font-weight: 400 !important;
	font-size: clamp(0.9375rem, 13.9px + 0.3vw, 1.125rem) !important;
}
.mc4wp-form .ts-news input[type=email]::placeholder { color: #2d0b0a; opacity: .85; }
.mc4wp-form .ts-news input[type=email]:focus { box-shadow: inset 0 0 0 2px #cb2b21 !important; }
.mc4wp-form .ts-news__enviar {
	position: absolute !important;
	right: 6px; top: 0; bottom: 0;
	margin: auto 0 !important;
	transform: none;
	width: 2.25rem; height: 2.25rem;
	display: flex !important; align-items: center; justify-content: center;
	padding: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #350a0a !important;
	font-size: 0 !important;
}
.mc4wp-form .ts-news__enviar::before { content: "→"; font-size: 1.25rem; line-height: 1; font-family: 'TS Lato', Helvetica, Arial, sans-serif; }
.mc4wp-form .ts-news__enviar:hover { background: rgba(53, 10, 10, .1) !important; }
.mc4wp-form .ts-news__aviso { text-align: center; max-width: 26.25rem; margin-left: auto !important; margin-right: auto !important; }

/* Carrosséis com pontos: reservar espaço por baixo (os pontos ficam a -40px e tapavam o bloco seguinte). */
.nectar-flickity.nectar-carousel:has(> .flickity-page-dots) { margin-bottom: 4rem !important; }

/* Caixa dividida (ex.: "Quer o mesmo? | Fale Connosco"). Classe "ts-caixa-dupla" na LINHA INTERNA. */
.ts-caixa-dupla > .row_col_wrap_12_inner > .wpb_column { padding-left: 0 !important; padding-right: 0 !important; }
.ts-caixa-dupla > .row_col_wrap_12_inner > .wpb_column > .vc_column-inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(0.875rem, 1.6vw, 1.5rem) clamp(1rem, 2vw, 2rem) !important;
	height: 100%;
}
@media (max-width: 999px) {
	.ts-caixa-dupla > .row_col_wrap_12_inner > .wpb_column { width: 100% !important; margin: 0 !important; }
	.ts-caixa-dupla > .row_col_wrap_12_inner > .wpb_column > .vc_column-inner { min-height: 64px; padding: 16px 20px !important; }
}

/* Respiro lateral no telemóvel para linhas/colunas com padding 0. Classe "ts-respiro". */
@media (max-width: 999px) {
	.wpb_row.ts-respiro > .row_col_wrap_12 > .wpb_column > .vc_column-inner,
	.wpb_column.ts-respiro > .vc_column-inner { padding-left: 20px !important; padding-right: 20px !important; }
}

/* Margens negativas de "column margin" personalizadas saem do ecrã quando as colunas empilham. */
@media (max-width: 999px) {
	.carrossel-portfolio > .row_col_wrap_12,
	.carrossel-3x4 > .row_col_wrap_12,
	#resultados > .row_col_wrap_12_inner { margin-left: 0 !important; margin-right: 0 !important; }
	.carrossel-portfolio > .row_col_wrap_12 > .wpb_column,
	.carrossel-3x4 > .row_col_wrap_12 > .wpb_column { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Texto corrido no telemóvel: o corpo do tema é 26px (tamanho de desenho) e não encolhe sozinho. */
@media (max-width: 690px) {
	.main-content > .row > :is(p, blockquote),
	.main-content > .row > :is(ul, ol) > li,
	#portfolio-extra :is(p, li),
	.wpb_text_column:not([class*="ts-fs-"]) :is(p, li):not(form *) { font-size: 18px !important; line-height: 1.6 !important; }
}

/* Rodapé: títulos das colunas a 30px ficavam enormes no telemóvel. */
@media (max-width: 690px) {
	#footer-outer .ts-cta__title,
	#footer-outer .widget :is(h2, h3) { font-size: 22px !important; line-height: 30px !important; }
}

/* Home › Resultados Reais: números e legendas no telemóvel (tamanho vem gravado no elemento). */
@media (max-width: 690px) {
	#resultados .nectar-milestone .number { font-size: 60px !important; line-height: 1.05 !important; }
	#resultados .nectar-milestone .number :is(h2, span) { font-size: inherit !important; line-height: inherit !important; }
	#resultados .nectar-milestone .symbol-wrap { font-size: 37px !important; line-height: 37px !important; }
	#resultados .nectar-milestone .subject { font-size: 22px !important; line-height: 1.25 !important; }
}

/* Página de projeto: navegação "Projeto anterior / seguinte" no telemóvel. */
@media (max-width: 690px) {
	#portfolio-nav .controls, #portfolio-nav .controls li { font-size: 16px !important; }
	#portfolio-nav h3 { font-size: 19px !important; line-height: 1.3 !important; }
}

/*-------------------------------------------------------------------------*/
/* Arquivo do Portefólio (elemento Post Grid) ao jeito do design.
/*-------------------------------------------------------------------------*/

/* Filtros: pequenos, vermelhos, separados por "•", na ordem do design. */
.nectar-post-grid-filters > div { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; row-gap: 0.5rem; }
.nectar-post-grid-filters > div > a {
	margin: 0 !important;
	padding: 0 !important;
	font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: clamp(0.8125rem, 11.9px + 0.3vw, 1.0625rem) !important;
	line-height: 1.4 !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	color: #cb2b21 !important;
}
/* A "•" fica fora do link (no espaço entre filtros), para o sublinhado de hover/ativo apanhar só a palavra */
.nectar-post-grid-filters > div > a { position: relative; }
.nectar-post-grid-filters > div > a:not(:first-child) { margin-left: 2.1em !important; }
.nectar-post-grid-filters > div > a:not(:first-child)::before {
	content: "•";
	position: absolute;
	left: -1.35em;
	top: 0;
	margin: 0;
	color: #cb2b21;
	text-decoration: none;
	pointer-events: none;
}
.nectar-post-grid-filters > div > a.active { color: #350a0a !important; }
.nectar-post-grid-filters a[data-filter="-1"] { order: 0; }
.nectar-post-grid-filters a[data-filter="social-media"] { order: 1; }
.nectar-post-grid-filters a[data-filter="branding"] { order: 2; }
.nectar-post-grid-filters a[data-filter="design"] { order: 3; }
.nectar-post-grid-filters a[data-filter="website"] { order: 4; }
.nectar-post-grid-filters a[data-filter="performance"] { order: 5; }
.nectar-post-grid-filters a[data-filter="multimedia"] { order: 6; }
.nectar-post-grid-filters a[data-filter="imprensa"] { order: 7; }
.nectar-post-grid-filters > h4 { font-size: 1.0625rem !important; padding: .45em 1.2em .45em 2.6em !important; }
/* Ícone "+" do botão Filtrar (telemóvel): à esquerda do texto, dentro do padding (o Salient fixa-o a 40px) */
.nectar-post-grid-filters > h4::after { left: 1.2em !important; }
.nectar-post-grid-filters > h4::before { left: calc(1.2em + 7px) !important; }

/* Cartões: altura proporcional em vez de 75vh; título vermelho em Lato itálico; etiquetas em caixinhas no fundo. */
@media (min-width: 1000px) {
	.nectar-post-grid[data-grid-item-height] .nectar-post-grid-item { min-height: 0 !important; height: auto !important; aspect-ratio: 1 / 1; }
	.nectar-post-grid[data-grid-item-height] .nectar-post-grid-item > .inner { height: 100%; }
}
.nectar-post-grid .nectar-post-grid-item .content { display: flex !important; flex-direction: column; height: 100%; box-sizing: border-box; }
.nectar-post-grid .nectar-post-grid-item .item-main { order: 1; }
.nectar-post-grid .nectar-post-grid-item .meta-category { order: 2; margin-top: auto !important; display: flex; flex-wrap: wrap; gap: 0.375rem; }
.nectar-post-grid .post-heading, .nectar-post-grid .post-heading span {
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-weight: 700 !important;
	font-style: italic !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: #cb2b21 !important;
	font-size: clamp(1.25rem, 14.37px + 1.502vw, 2.25rem) !important;
	line-height: 1.15 !important;
}
.nectar-post-grid .meta-category a {
	margin: 0 !important;
	padding: .35em .8em !important;
	border: 1px solid rgba(53, 10, 10, .35) !important;
	border-radius: 3px !important;
	background: #fff !important;
	color: #350a0a !important;
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 500 !important;
	font-size: clamp(0.6875rem, 10.3px + 0.19vw, 0.8125rem) !important;
	line-height: 1.2 !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
}
.nectar-post-grid .nectar-post-grid-item[data-has-img="false"] .nectar-post-grid-item-bg { background-color: #f3efe6 !important; }

/* Portfólio: "Carregar mais" igual aos botões da Home (nectar_cta, extra-color-2) */
body .nectar-post-grid-wrap .load-more-wrap .load-more {
	display: inline-block;
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-size: 1.75rem !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.1 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	color: #fff !important;
	background-color: #350a0a !important;
	border: 0 !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	padding: .65em 1.5em !important;
	transition: background-color .25s ease, transform .25s ease;
}
body .nectar-post-grid-wrap .load-more-wrap .load-more:hover,
body .nectar-post-grid-wrap .load-more-wrap .load-more:focus-visible {
	color: #fff !important;
	background-color: #cb2b21 !important;
	border-color: transparent !important;
	transform: translateY(-2px);
}
@media only screen and (max-width: 690px) {
	body .nectar-post-grid-wrap .load-more-wrap .load-more { font-size: 22px !important; }
}

/* Rodapé: LinkedIn só com o "in" (como no design) e ícones na cor da marca */
#footer-outer .wp-block-social-links .wp-social-link,
#footer-outer .wp-block-social-links .wp-social-link a { color: #cb2b21 !important; }
#footer-outer .wp-social-link-linkedin svg { display: none; }
#footer-outer .wp-block-social-links .wp-social-link a { display: flex; align-items: center; }
#footer-outer .wp-block-social-links { align-items: center; }
#footer-outer .wp-social-link-linkedin .wp-block-social-link-anchor::before {
	content: "";
	display: block;
	width: 2.25rem;
	height: 2.25rem;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 9.75h4V21H3zM9.5 9.75h3.83v1.54h.05c.53-1.01 1.84-2.08 3.79-2.08 4.05 0 4.8 2.67 4.8 6.14V21h-4v-5.01c0-1.2-.02-2.74-1.67-2.74-1.67 0-1.93 1.3-1.93 2.65V21h-4z'/%3E%3C/svg%3E") center / 80% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 9.75h4V21H3zM9.5 9.75h3.83v1.54h.05c.53-1.01 1.84-2.08 3.79-2.08 4.05 0 4.8 2.67 4.8 6.14V21h-4v-5.01c0-1.2-.02-2.74-1.67-2.74-1.67 0-1.93 1.3-1.93 2.65V21h-4z'/%3E%3C/svg%3E") center / 80% no-repeat;
}

/* Rodapé: caixa do telefone + WhatsApp termina onde termina o texto "Obtenha um diagnóstico…" */
#footer-outer .ts-cta { width: fit-content; max-width: 100%; }

/* ==========================================================================
   AJUSTES AO DESIGN DA RITA (set/2026) — larguras e margens laterais
   No design o conteúdo ocupa ~1340px num ecrã de 1920px, com margens de ~14,5%.
   O site tinha 1425px fixos com 90px de margem, o que em portáteis colava
   o conteúdo às bordas. Usamos uma variável própria (--ts-pad) para não
   afetar o espaçamento interno das linhas do construtor.
   ========================================================================== */
@media only screen and (min-width: 1000px) {
	:root { --ts-pad: clamp(60px, 14.5vw, 290px); --ts-conteudo: 1340px; }
	body .container-wrap .container,
	body #footer-outer .container,
	body .nectar_fullscreen_zoom_recent_projects .container {
		max-width: calc(var(--ts-conteudo) + 2 * var(--ts-pad)) !important;
		padding-left: var(--ts-pad) !important;
		padding-right: var(--ts-pad) !important;
	}
	body .container .container:not(.tab-container):not(.recent-post-container):not(.normal-container) {
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	body .nectar_section.full-width-content > .row_col_wrap_12,
	body .full-width-content > .row_col_wrap_12 {
		max-width: calc(var(--ts-conteudo) + 2 * var(--ts-pad));
		padding-left: var(--ts-pad);
		padding-right: var(--ts-pad);
	}
}

/* Portfólio: título a branco sobre degradê, para se ler em qualquer imagem */
.nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .content::before {
	content: "";
	position: absolute;
	left: 0; right: 0; top: 0;
	height: 62%;
	background: linear-gradient(to bottom, rgba(45,11,10,.78) 0%, rgba(45,11,10,.45) 45%, rgba(45,11,10,0) 100%);
	border-radius: 5px 5px 0 0;
	pointer-events: none;
	z-index: 0;
}
.nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .content > * { position: relative; z-index: 1; }
.nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .post-heading,
.nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .post-heading a {
	color: #fff !important;
	max-width: 100%;
}
.nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .content { padding-right: 6% !important; }

/* Espaçamentos verticais (correções da Rita, 23-09) */
@media only screen and (min-width: 1000px) {
	/* Hero da Home com a proporção do desenho (845px a 1920px), sem passar a altura do ecrã */
	body .wpb_row.ts-hero.vc_row-o-full-height,
	body .wpb_row.ts-hero.vc_row-o-full-height > .row_col_wrap_12 {
		min-height: min(100vh, 44vw) !important;
		height: min(100vh, 44vw) !important;
	}
	/* Logótipos de clientes mais pequenos (pedido da Rita, 28-09: um pouco menores que no desenho) */
	.quem-decidiu .img-with-animation {
		max-width: 76% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		display: block;
	}
}

/* Rodapé como no desenho: 325px de altura a 1920px, conteúdo de 172px a 1644px,
   colunas encostadas às pontas e copyright logo a seguir ao conteúdo. */
@media only screen and (min-width: 1000px) {
	/* Margens iguais às do conteúdo (pedido da Rita: alinhar o rodapé com o resto do site) */
	:root { --ts-pad-rodape: var(--ts-pad); }
	body #footer-outer #footer-widgets .container,
	body #footer-outer #copyright .container {
		max-width: calc(var(--ts-conteudo) + 2 * var(--ts-pad-rodape)) !important;
		padding-left: var(--ts-pad-rodape) !important;
		padding-right: var(--ts-pad-rodape) !important;
	}
	body #footer-outer #footer-widgets .container > .row {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 2.5rem;
		padding-top: 3.375rem !important;
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	body #footer-outer #footer-widgets .container > .row::before,
	body #footer-outer #footer-widgets .container > .row::after { display: none; }
	body #footer-outer #footer-widgets .row > .col {
		width: auto !important;
		max-width: 34%;
		float: none !important;
		margin: 0 !important;
	}
	#footer-outer #footer-widgets .widget { margin-bottom: 0.9375rem !important; }
	#footer-outer #footer-widgets .widget:last-child { margin-bottom: 0 !important; }
	#footer-outer #block-7 { margin-bottom: 1.25rem !important; }
	#footer-outer #block-7 img { width: 13rem !important; }
	#footer-outer #block-8 p { line-height: 1.875rem !important; }
	#footer-outer #block-11,
	#footer-outer #block-11 h3 { margin-bottom: 2px !important; }
	#footer-outer .ts-cta__sub { margin-bottom: 1rem !important; }
	#footer-outer .ts-cta__phone { min-height: 3.625rem; }
	#footer-outer #copyright { padding: 0.5rem 0 1rem !important; }
	#footer-outer .ts-cta__row { align-items: center; }
	#footer-outer .ts-cta__wa { width: 3rem; min-height: 3rem; height: 3rem; border-radius: 6px; }
	#footer-outer .ts-cta__wa svg { width: 1.5rem; height: 1.5rem; }
	#footer-outer #copyright .social { display: none; }
}

/* Ícones sociais do rodapé alinhados com o texto da coluna */
#footer-outer .wp-block-social-links { gap: 0.875rem; margin: 0 !important; padding: 0 !important; }
#footer-outer .wp-block-social-links .wp-social-link { margin: 0 !important; }
#footer-outer .wp-block-social-links .wp-block-social-link-anchor { padding: 0 !important; }
#footer-outer .wp-block-social-links.has-large-icon-size { font-size: 1.875rem; }
#footer-outer .wp-social-link-linkedin .wp-block-social-link-anchor::before { width: 1.875rem; height: 1.875rem; }

/* Rodapé em Lato Light, como no desenho (o telefone mantém o negrito) */
#footer-outer #footer-widgets p,
#footer-outer #footer-widgets p a,
#footer-outer #copyright p { font-family: 'TS Lato', Helvetica, Arial, sans-serif !important; font-weight: 300 !important; }
#footer-outer #footer-widgets p strong,
#footer-outer #footer-widgets p strong a,
#footer-outer #footer-widgets p a strong { font-weight: 700 !important; }
#footer-outer .wp-block-social-links .wp-social-link-instagram svg { width: 1.875rem; height: 1.875rem; }
#footer-outer .wp-social-link-linkedin .wp-block-social-link-anchor::before { -webkit-mask-size: 92%; mask-size: 92%; }

/* Serviços: imagens do carrossel com o mesmo formato; carrossel 16×9 sem recorte (contain), 3×4 com recorte central */
.carrossel-16x9 .nectar-flickity .cell img { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; object-fit: contain; }
.carrossel-3x4 .nectar-flickity .cell img { width: 100% !important; height: auto !important; aspect-ratio: 3 / 4; object-fit: cover; }

/* Contactos: cartão amarelo com 750px de 1340px (56%) e contactos centrados na coluna da esquerda */
@media only screen and (min-width: 1000px) {
	.ts-contactos > .row_col_wrap_12 > .wpb_column:first-child { width: 44% !important; }
	.ts-contactos > .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { padding-left: 30% !important; padding-right: 4% !important; }
	.ts-contactos > .row_col_wrap_12 > .wpb_column:last-child { width: 56% !important; }
	.ts-contactos > .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding: 2.625rem 12% 2.8125rem !important; }
	.ts-contactos .wpb_raw_code { margin-bottom: 0 !important; }
}
/* Pílulas do formulário: mais espaço entre elas (18px no desenho) */
.ts-form .ts-pills { gap: clamp(0.5rem, .95vw, 1.125rem) !important; }

/* Sobre: imagens das faixas rosa com o formato do desenho (425×625 a 1920px), recorte central */
@media only screen and (min-width: 1000px) {
	.ts-sobre-banda .img-with-animation {
		width: 26.125rem !important;
		max-width: none !important;
		aspect-ratio: 418 / 626;
		object-fit: cover;
		transform: none !important;
	}
	/* A foto sai ~28px (a 1920) para fora da faixa, em cima e em baixo, como no desenho */
	.ts-sobre-banda { overflow: visible !important; padding-top: 0 !important; padding-bottom: 0 !important; }
	.ts-sobre-banda .img-with-aniamtion-wrap { margin-top: -1.75rem !important; margin-bottom: -1.75rem !important; transform: none !important; }
	.ts-sobre-banda .img-with-aniamtion-wrap .inner, .ts-sobre-banda .img-with-aniamtion-wrap .hover-wrap { transform: none !important; }
	/* Faixa 1: foto encostada à direita (passa ~16px a margem, como no desenho); faixa 2: à esquerda */
	.ts-sobre-banda > .row_col_wrap_12 > .wpb_column:last-child .img-with-aniamtion-wrap { display: flex; justify-content: flex-end; margin-right: -1rem !important; }
}

/* Sobre, tablet e telemóvel: a foto ampliada (1.15) sai ~48px da faixa; mais espaço entre as faixas
   e por baixo do texto, para a foto da faixa 2 não encostar ao texto da faixa 1 */
@media (max-width: 999px) {
	.ts-sobre-banda { padding-bottom: 40px !important; }
	.ts-sobre-banda + .ts-sobre-banda { margin-top: 130px !important; }
}
@media (max-width: 690px) {
	.ts-sobre-banda + .ts-sobre-banda { margin-top: 90px !important; }
}

/* 1º Passo: título dos desafios parte em "…a enfrentar / algum destes desafios?" como no desenho */
.ts-titulo-estreito { max-width: 41.25rem; margin-left: auto !important; margin-right: auto !important; }
/* 1º Passo: faixa "Durante 30 minutos" com a lista e o botão recolhidos ~8,5% de cada lado */
@media only screen and (min-width: 1000px) {
	.ts-passo-lista > .row_col_wrap_12 { padding-left: 8.5% !important; padding-right: 8.5% !important; }
	.ts-passo-lista > .row_col_wrap_12 > .wpb_column:first-child { width: 67% !important; }
	.ts-passo-lista > .row_col_wrap_12 > .wpb_column:last-child { width: 33% !important; }
	.ts-passo-lista a, .ts-passo-lista a * { white-space: nowrap !important; }
}

/* ==========================================================================
   Barra fixa: telefone + "Quero crescer!" sempre visível no fundo do ecrã
   (como na Esmalte Clinic). 44px em todos os ecrãs; botão com 30px.
   ========================================================================== */
:root { --ts-barra-h: 44px; }

.ts-barra {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9990;
	height: var(--ts-barra-h);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(16px, 2.4vw, 30px);
	padding: 0 16px;
	background: #cb2b21;
	font-family: 'TS Lato', Helvetica, Arial, sans-serif;
}
.ts-barra__tel {
	color: #2d0b0a !important;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .01em;
	text-decoration: none !important;
	white-space: nowrap;
}
.ts-barra__tel:hover { color: #fdf9a6 !important; }
.ts-barra__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 210px;
	height: 30px;
	padding: 0 24px;
	border-radius: 4px;
	background: #fdf9a6;
	color: #2d0b0a !important;
	font-size: 20px;
	font-style: italic;
	font-weight: 400;
	line-height: 1;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background-color .2s ease, color .2s ease;
}
.ts-barra__cta:hover,
.ts-barra__cta:focus-visible { background: #2d0b0a; color: #fdf9a6 !important; }
.ts-barra a:focus-visible { outline: 2px solid #fdf9a6; outline-offset: 3px; }

@media (max-width: 690px) {
	.ts-barra__tel { font-size: 14px; }
	.ts-barra__cta { min-width: 0; height: 30px; padding: 0 16px; font-size: 17px; }
}

/* A barra não tapa o fim do rodapé nem os botões flutuantes */
#footer-outer { padding-bottom: var(--ts-barra-h) !important; }
body #to-top { bottom: calc(var(--ts-barra-h) + 17px) !important; }
.cky-btn-revisit-wrapper { bottom: calc(var(--ts-barra-h) + 15px) !important; }
.cky-consent-container.cky-box-bottom-left,
.cky-consent-container.cky-box-bottom-right { bottom: calc(var(--ts-barra-h) + 16px) !important; }
.cky-consent-container.cky-banner-bottom { bottom: var(--ts-barra-h) !important; }

/* ==========================================================================
   Página de projeto (portfólio) — modelo das pranchetas 7 e 5 da Rita
   ts-proj-topo · ts-proj-lado · resultados-port · ts-proj-galeria
   ========================================================================== */

/* Categorias sobre a imagem de topo: iguais às etiquetas dos cartões da grelha do portfólio */
.ts-proj-topo .nectar-meta-category-el a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 7.8125rem;
	height: 2.5rem;
	margin: 0 !important;
	padding: 0 0.875rem !important;
	border: 1px solid rgba(53, 10, 10, .6) !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: #350a0a !important;
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-size: 1.125rem !important;
	font-weight: 400 !important;
	letter-spacing: .01em !important;
	line-height: 1 !important;
	text-transform: uppercase;
}
.ts-proj-topo .nectar-meta-category-el a::before,
.ts-proj-topo .nectar-meta-category-el a::after { display: none !important; content: none !important; }
@media (max-width: 690px) {
	.ts-proj-topo .nectar-meta-category-el a { min-width: 0; height: 32px; font-size: 14px !important; padding: 0 10px !important; }
}

/* Imagem e texto com a mesma altura (exceto nos projetos com logo, .ts-proj-logo): a imagem preenche a coluna (recorte central),
   no mínimo quadrada, que é o formato standard do desenho (667×665). */
@media only screen and (min-width: 1000px) {
	.ts-proj-lado:not(.ts-proj-logo) > .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { position: relative; min-height: 100%; aspect-ratio: 1 / 1; }
	.ts-proj-lado:not(.ts-proj-logo) > .row_col_wrap_12 > .wpb_column:first-child .wpb_wrapper { position: absolute; inset: 0; }
	.ts-proj-lado:not(.ts-proj-logo) > .row_col_wrap_12 > .wpb_column:first-child :is(.img-with-aniamtion-wrap, .img-with-aniamtion-wrap .inner, .hover-wrap, .hover-wrap-inner, .nectar-video-box, .nectar-video-box > .inner-wrap) { height: 100% !important; }
	.ts-proj-lado:not(.ts-proj-logo) > .row_col_wrap_12 > .wpb_column:first-child img { width: 100% !important; height: 100% !important; object-fit: cover; }
	/* Logo do cliente (modelo aprovado pela Rita no Ferjorimo): coluna com a altura do texto, logo centrado */
	.ts-proj-logo > .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { height: 100%; display: flex; flex-direction: column; justify-content: center; }
	.ts-proj-lado .wpb_text_column p { font-size: 1.625rem !important; line-height: 2.9375rem !important; text-align: justify; }
}

/* Resultados: números a 78px com o símbolo do mesmo tamanho e na mesma linha */
.resultados-port .nectar-milestone .number { display: flex; justify-content: center; align-items: baseline; flex-wrap: nowrap; white-space: nowrap; font-size: 4.875rem !important; line-height: 1 !important; }
.resultados-port .nectar-milestone .number :is(h2, span) { font-size: inherit !important; line-height: inherit !important; }
.resultados-port .nectar-milestone .symbol-wrap { font-size: inherit !important; line-height: inherit !important; }
.resultados-port .nectar-milestone .symbol-wrap .symbol { font-size: inherit !important; font-family: 'TS Lato', Helvetica, Arial, sans-serif !important; font-weight: 900; }
.resultados-port .nectar-milestone .subject {
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-style: italic !important;
	font-size: 1.8125rem !important;
	line-height: 1.3 !important;
	padding: 0.875rem 0 0 !important;
}
/* Nota "*Resultados de…": Open Sans Light itálico, como no desenho */
.resultados-port .wpb_text_column p { font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important; font-weight: 300 !important; font-style: italic !important; font-size: 1.25rem !important; }
@media only screen and (min-width: 1000px) {
	.wpb_row.resultados-port { padding-top: 3.75rem !important; padding-bottom: 3.75rem !important; }
	.wpb_row.resultados-port > .row_col_wrap_12 > .wpb_column { margin-top: 0 !important; margin-bottom: 0 !important; }
	.resultados-port .ts-divided > .row_col_wrap_12_inner > .wpb_column > .vc_column-inner { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
	.resultados-port .nectar-milestone .subject { white-space: nowrap; }
}
@media (max-width: 999px) {
	.resultados-port .nectar-milestone .number { font-size: 56px !important; }
	.resultados-port .nectar-milestone .subject { font-size: 20px !important; }
	#portfolio-extra .wpb_row.resultados-port .wpb_text_column p, .wpb_row.resultados-port .wpb_text_column p { font-size: 15px !important; line-height: 1.5 !important; }
	/* Empilhados: sem a margem de 50px entre números, com a linha dourada a meio do espaço */
	.resultados-port .ts-divided > .row_col_wrap_12_inner > .wpb_column { margin-bottom: 0 !important; }
	.resultados-port .ts-divided > .row_col_wrap_12_inner > .wpb_column > .vc_column-inner { padding-top: 18px !important; padding-bottom: 18px !important; }
}
@media (max-width: 690px) {
	.resultados-port .nectar-milestone .number { font-size: 48px !important; }
	.resultados-port .nectar-milestone .subject { font-size: 18px !important; padding-top: 8px !important; }
	#portfolio-extra .wpb_row.resultados-port .wpb_text_column p, .wpb_row.resultados-port .wpb_text_column p { font-size: 14px !important; }
}

/* Galeria: vídeos com o mesmo formato quadrado das imagens */
.ts-proj-galeria .nectar-video-box img { aspect-ratio: 1 / 1; width: 100%; object-fit: cover; }

.ts-proj-topo .nectar-meta-category-el { gap: 0.625rem !important; }
.ts-proj-topo .nectar-meta-category-el a:hover { background: #fdf9a6 !important; }

/* Portfólio (grelha): etiquetas como no desenho da Rita, a fundo branco —
   caixas de 125×40px, lado a lado, a 12–14px do canto inferior esquerdo da imagem */
body .nectar-post-grid .nectar-post-grid-item .meta-category { gap: 0.625rem !important; }
body .nectar-post-grid .nectar-post-grid-item .meta-category a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 7.8125rem;
	height: 2.5rem;
	padding: 0 0.875rem !important;
	border: 1px solid rgba(53, 10, 10, .6) !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: #350a0a !important;
	font-family: 'TS Open Sans SemiCondensed', 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-size: 1.125rem !important;
	font-weight: 400 !important;
	letter-spacing: .01em !important;
	line-height: 1 !important;
}
body .nectar-post-grid .nectar-post-grid-item .meta-category a:hover { background: #fdf9a6 !important; }
@media only screen and (min-width: 1000px) {
	body .nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .content { padding: 0.875rem 6% 0.75rem 0.875rem !important; }
}
@media (max-width: 690px) {
	body .nectar-post-grid .nectar-post-grid-item .meta-category a { min-width: 0; height: 32px; font-size: 14px !important; padding: 0 10px !important; }
}
/* Portfólio (grelha): título no topo e a branco (inclui o span interno), sobre o degradê escuro */
body .nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .content { justify-content: flex-start !important; }
body .nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .content .item-main { margin-top: 0 !important; margin-bottom: auto !important; }
body .nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .post-heading,
body .nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .post-heading :is(a, span) { color: #fff !important; }
/* A ligação que cobre o cartão fica por cima de tudo, sem ocupar espaço (senão empurra o título para baixo) */
body .nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .content > a.nectar-post-grid-link { position: absolute !important; inset: 0; z-index: 3 !important; }
body .nectar-post-grid-wrap[data-style="content_overlaid"] .nectar-post-grid-item .content .meta-category { position: relative; z-index: 4; }
/* Etiquetas da grelha com 10px entre elas (o contentor vinha como block e ignorava o gap) */
body .nectar-post-grid-wrap .nectar-post-grid-item .content .meta-category { display: flex !important; flex-wrap: wrap; gap: 0.625rem !important; }
body .nectar-post-grid-wrap .nectar-post-grid-item .content .meta-category a { margin: 0 !important; }

/* Rodapé: ícones sociais na mesma linha e com o mesmo tamanho (caixas 30×30, centrados) */
#footer-outer .wp-block-social-links { align-items: center !important; }
#footer-outer .wp-block-social-links .wp-social-link { display: flex !important; align-items: center; height: 1.875rem; line-height: 0; }
#footer-outer .wp-block-social-links .wp-block-social-link-anchor { display: flex !important; align-items: center; justify-content: center; width: 1.875rem; height: 1.875rem; line-height: 0; }
#footer-outer .wp-block-social-links .wp-social-link-instagram svg { width: 1.875rem !important; height: 1.875rem !important; display: block; }
#footer-outer .wp-social-link-linkedin .wp-block-social-link-anchor::before { width: 1.875rem !important; height: 1.875rem !important; -webkit-mask-size: 100% !important; mask-size: 100% !important; }
/* Rodapé: o telefone em negrito também em Lato (o <strong> herdava a Open Sans) */
#footer-outer #footer-widgets strong { font-family: 'TS Lato', Helvetica, Arial, sans-serif !important; font-weight: 700 !important; }

/* Portfólio (grelha): só uma borda na etiqueta — o estilo nativo "see-through" desenhava outra no ::before */
body .nectar-post-grid .nectar-post-grid-item .meta-category a::before,
body .nectar-post-grid .nectar-post-grid-item .meta-category a::after { display: none !important; content: none !important; }

/* Menu do telemóvel: fundo vermelho opaco, ligações amarelas e "Ser SOCIAL" como botão amarelo */
#slide-out-widget-area-bg { opacity: 1 !important; }
#slide-out-widget-area .menu > li > a,
#slide-out-widget-area .off-canvas-menu-container .menu > li > a {
	color: #fdf9a6 !important;
	opacity: 1 !important;
}
#slide-out-widget-area .menu > li > a:hover,
#slide-out-widget-area .menu > li.current-menu-item > a { color: #fff !important; }
#slide-out-widget-area .menu > li.ts-700 { margin-top: 1.125rem !important; }
#slide-out-widget-area .menu > li.ts-700 > a {
	display: inline-block !important;
	padding: 0.625rem 1.75rem !important;
	border-radius: 4px;
	background: #fdf9a6 !important;
	color: #cb2b21 !important;
	font-weight: 700 !important;
}
#slide-out-widget-area .menu > li.ts-700 > a:hover { background: #fff !important; color: #cb2b21 !important; }
#slide-out-widget-area .menu > li.ts-700 > a::after,
#slide-out-widget-area .menu > li.ts-700 > a::before { display: none !important; }


/* ==========================================================================
   Tipografia medida nas pranchetas (imagens) da Rita — set/2026
   ========================================================================== */
/* Cores ts-cor-* também nos títulos dentro do bloco (o tema pinta os h1–h6) */
.ts-cor-dourado :is(h1,h2,h3,h4,h5,h6) { color: #d3c733 !important; }
.ts-cor-vermelho :is(h1,h2,h3,h4,h5,h6) { color: #cb2b21 !important; }
.ts-cor-escuro :is(h1,h2,h3,h4,h5,h6) { color: #350a0a !important; }
.ts-cor-amarelo :is(h1,h2,h3,h4,h5,h6) { color: #fdf9a6 !important; }

/* Rodapé: copyright Lato Light 18px */
#footer-outer #copyright p { font-size: 1.125rem !important; font-weight: 300 !important; }
@media (max-width: 690px) { #footer-outer #copyright p { font-size: 14px !important; } }

/* Newsletter: "Social News" Open Sans Regular 42px + "letter" menor */
.ts-news-titulo { font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important; font-weight: 400 !important; font-style: normal !important; font-size: clamp(1.75rem, 23.4px + 1.23vw, 2.625rem) !important; line-height: 1.15 !important; color: #350a0a !important; }
.ts-news-titulo span { font-size: .65em; }

/* Home › Resultados: números Lato Black; símbolo (%, x) Lato Light, alinhado em baixo */
#resultados .nectar-milestone .number :is(h2, h2 span) { font-family: 'TS Lato', Helvetica, Arial, sans-serif !important; font-weight: 900 !important; }
#resultados .nectar-milestone .symbol-wrap .symbol { font-family: 'TS Lato', Helvetica, Arial, sans-serif !important; font-weight: 300 !important; }

/* Home › "Nos meios sociais": texto dos cartões Open Sans Regular 26px */
@media only screen and (min-width: 1000px) {
	.wpb_row.meios blockquote p { font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important; font-weight: 400 !important; font-size: 1.4375rem !important; line-height: 2.125rem !important; }
	/* Cartões com margem interior menor (28px a 1920) e todos com a altura do mais alto */
	.wpb_row.meios .nectar-flickity.nectar-carousel[data-column-padding="50px"] .inner-wrap { padding: 1.75rem !important; }

}

/* Home › "Os clientes dizem": nome por cima (Lato Bold Itálico, dourado), texto Open Sans 27px */
.testimonial_slider blockquote { display: flex !important; flex-direction: column; }
body #ajax-content-wrap .testimonial_slider blockquote span.testimonial-name {
	order: -1;
	margin: 0 0 1.125rem !important;
	font-family: 'TS Lato', Helvetica, Arial, sans-serif !important;
	font-weight: 700 !important;
	font-style: italic !important;
	font-size: clamp(1.25rem, 16.48px + 0.939vw, 1.875rem) !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	color: #d3c733 !important;
}
.testimonial_slider blockquote .title,
.testimonial_slider blockquote .image-icon { display: none !important; }
.testimonial_slider blockquote p {
	font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: clamp(1.0625rem, 13.48px + 0.939vw, 1.6875rem) !important;
	line-height: 1.65 !important;
	text-align: justify;
}
/* Home › Resultados: "+" antes de 800 e 770, como no desenho (fora do número para não ser apagado pela contagem) */
.ts-mais .nectar-milestone .number h2::before { content: "+"; }

/* Home › Resultados Reais (≥691px): número, símbolo e legenda escalam com a largura do círculo
   (container query), para "+800%" caber numa linha em ecrãs de portátil. 80/50/36px a 1920. */
@media (min-width: 691px) {
	#resultados .wpb_column > .vc_column-inner { container-type: inline-size; padding-left: 12% !important; padding-right: 12% !important; }
	#resultados .nectar-milestone .number { white-space: nowrap !important; font-size: min(5rem, 25.5cqi) !important; line-height: 1 !important; }
	#resultados .nectar-milestone .number h2 { font-size: inherit !important; line-height: inherit !important; }
	#resultados .nectar-milestone .number .symbol-wrap { font-size: min(3.125rem, 16cqi) !important; line-height: 1 !important; }
	#resultados .nectar-milestone .subject { font-size: min(2.25rem, 11.5cqi) !important; line-height: 1.15 !important; }
}
/* Telemóvel: círculos empilhados mais juntos (sem a margem de 50px do tema) */
@media (max-width: 690px) {
	#resultados > .row_col_wrap_12_inner > .wpb_column { margin-bottom: 0 !important; }
	#resultados > .row_col_wrap_12_inner > .wpb_column > .vc_column-inner { padding-top: 6px !important; padding-bottom: 6px !important; }
}
/* Telemóvel: cartões de "Nos meios sociais" com 30px de margem interior (50px no computador) */
@media (max-width: 690px) {
	.wpb_row.meios .nectar-flickity.nectar-carousel[data-column-padding="50px"] .inner-wrap { padding: 30px !important; }
}
/* Tablet e telemóvel: "O sucesso dos nossos clientes…" com entrelinha mais curta */
@media (max-width: 999px) {
	.wpb_row.somos .nectar-responsive-text h2 { line-height: 1.2 !important; }
}

/* ==========================================================================
   Escala proporcional (set/2026, vídeo da Rita)
   Desenho feito a 1920px. Em computador (≥1000px) a raiz do site escala com
   a largura do ecrã: 16px a 1920, 12px a 1440 (75%), mínimo 11,2px. Como os
   tamanhos do tema, dos módulos e deste ficheiro estão em rem, tudo acompanha.
   Abaixo de 1000px a raiz fica em 16px (tablet e telemóvel como estavam).
   ========================================================================== */
html { font-size: 16px; }
@media (min-width: 1000px) {
	html { font-size: clamp(11.2px, 0.83333vw, 16px); }

	/* Cabeçalho: logo 24px e 30px de margem a 1920 */
	:root { --header-nav-height: 5.25rem; }
	#header-space { height: calc(5.25rem + var(--nectar_hook_before_nav_content_height, 0px)) !important; }
	#header-outer #logo, #header-outer .logo-clone, #header-outer .logo-spacing { margin-top: 1.875rem !important; margin-bottom: 1.875rem !important; }
	#header-outer #logo img, #header-outer .logo-clone img, #header-outer .logo-spacing img { height: 1.5rem !important; }
	/* O tamanho do menu vem de Salient › Typography (convertido para rem no functions.php) */
}

/* Home (vídeo da Rita, 28-09): medidas do desenho a 1920, em rem para escalar */
@media (min-width: 1000px) {
	/* Caixa dupla ("Quer o mesmo? | Fale Connosco", "Sessão Diagnóstico | Agendar"…): 822×76 no desenho */
	.ts-caixa-dupla { max-width: 51.375rem; margin-left: auto !important; margin-right: auto !important; }
	.ts-caixa-dupla > .row_col_wrap_12_inner > .wpb_column { padding-top: 0 !important; padding-bottom: 0 !important; }
	.ts-caixa-dupla > .row_col_wrap_12_inner > .wpb_column > .vc_column-inner { padding: 0.875rem 1.5rem !important; min-height: 4.75rem; }

	/* "Somos uma agência…": frase manuscrita com 865px, centrada à esquerda do "O" rosa */
	.wpb_row.somos > .row_col_wrap_12 > .wpb_column { padding-right: 0 !important; }
	.wpb_row.somos > .row_col_wrap_12 > .wpb_column > .vc_column-inner { max-width: 69.75rem; padding-right: 0 !important; }
	.wpb_row.somos .img-with-aniamtion-wrap { max-width: 54rem; margin-left: auto; margin-right: auto; }
}

/* Home › "Marque a sua Reunião Estratégica": o "O" com 1005×826 a 1920 e o botão dentro do furo */
@media (min-width: 1000px) {
	.wpb_row.ts-marque > .row_col_wrap_12 > .wpb_column { max-width: 62.8125rem; margin-left: auto !important; margin-right: auto !important; float: none; }
	.wpb_row.ts-marque > .row_col_wrap_12 > .wpb_column > .vc_column-inner { padding: 13.75rem 2rem 15.875rem !important; }
}

/* Home › "Nos meios sociais": cartões de 512px a 1920 (o terceiro espreita); texto alinhado à esquerda (pedido da Rita, 28-09) */
.wpb_row.meios blockquote p { text-align: left !important; }
@media (min-width: 1000px) {
	.wpb_row.meios .nectar-flickity .flickity-slider > .cell { width: 37.5% !important; }
}

/* Telemóvel: as secções agrupadas (vc_section de largura total) herdavam 90px de margem do tema
   de cada lado, o que deixava o conteúdo com ~200px de largura (ex.: faixas e lista do Sobre). */
@media (max-width: 690px) {
	.nectar_section.full-width-content > .row_col_wrap_12 { padding-left: 20px !important; padding-right: 20px !important; }
}

/* Sobre: frase dourada em 2 linhas e texto das faixas com o entrelinhado do desenho (~1,8) */
@media (min-width: 1000px) {
	body.page-id-237 .ts-cor-dourado.ts-centro h2 { line-height: 1.2 !important; }
	.ts-sobre-banda .wpb_text_column.ts-fs-26 p { line-height: 1.8 !important; }
}
@media (max-width: 999px) { .ts-br-desk { display: none; } }

/* Títulos de página: tamanho medido em cada prancheta a 1437px (o módulo só aceita vw inteiros) */
@media (min-width: 1000px) {
	body.page-id-237 .nectar-highlighted-text h1 { font-size: 5.37vw !important; }
	body.page-id-189 .nectar-highlighted-text h1 { font-size: 5.41vw !important; }
	body.page-id-458 .nectar-highlighted-text h1 { font-size: 5.4vw !important; }
	body.page-id-179 .nectar-highlighted-text h1 { font-size: 5.42vw !important; }
	body.page-id-282 .nectar-highlighted-text h1 { font-size: 5.36vw !important; }
	body.page-id-2 .ts-hero .nectar-highlighted-text h1 { font-size: 5.55vw !important; }
	.wpb_row.ts-marque .nectar-highlighted-text h2 { font-size: 5.3vw !important; }
}

/* 1º Passo: o megafone não cabe no telemóvel (ficava cortado na margem direita) */
@media (max-width: 690px) { .megafone, .img-with-aniamtion-wrap.megafone { display: none !important; } }

/* Serviços: a caixa amarela (degradê de cada linha) passa ~68px (a 1437) para lá do conteúdo,
   até depois do botão "Ser SOCIAL", como no desenho. Imagens do carrossel mais altas (782×481). */
@media (min-width: 1000px) {
	body.page-id-458 .wpb_row:not(.inner_row) > .row-bg-wrap { left: -4.25rem !important; right: -4.25rem !important; width: auto !important; }
	body.page-id-458 .carrossel-16x9 .nectar-flickity .cell img { aspect-ratio: 13 / 8; }
	/* Etiquetas amarelas com 76% da coluna, centradas por cima do texto; divisória com 735px (a 1437), centrada */
	body.page-id-458 .carrossel-portfolio .ts-cor-vermelho.ts-centro { max-width: 76%; margin-left: auto !important; margin-right: auto !important; }
	body.page-id-458 .quem-decidiu .divider-wrap { max-width: 72.8%; margin-left: auto; margin-right: auto; }
}

/* Contactos (vídeo da Rita, 17:00–18:00): o tema força 15px 22px no botão de envio com um seletor forte,
   por isso o nosso seletor tem mais especificidade. Opções numa linha, botão Enviar retangular (175×63 a 1920)
   e mais espaço entre o telefone da Rita e o nome do Tiago, como no desenho. */
@media (min-width: 1000px) {
	.ts-form .ts-pills .wpcf7-list-item-label { font-size: 1rem !important; white-space: nowrap; padding: .3em .4em; }
	body .container-wrap .ts-form input.wpcf7-submit[type="submit"] { font-size: 1.8125rem !important; padding: .45em 1.6em !important; }
	.ts-contactos > .row_col_wrap_12 > .wpb_column:first-child .wpb_text_column p:nth-child(2) { margin-bottom: 1.9rem !important; }
}
body .container-wrap .ts-form input.wpcf7-submit[type="submit"] { padding: .45em 1.6em !important; }

/* Serviços: vídeos (a tocar sozinhos, sem som) dentro dos carrosséis com o formato das imagens */
.carrossel-3x4 .nectar_video_player_self_hosted .wpb_video_wrapper,
.carrossel-16x9 .nectar_video_player_self_hosted .wpb_video_wrapper { height: auto !important; padding: 0 !important; }
.carrossel-3x4 .nectar_video_player_self_hosted .wpb_video_wrapper { aspect-ratio: 3 / 4; }
.carrossel-16x9 .nectar_video_player_self_hosted .wpb_video_wrapper { aspect-ratio: 16 / 9; }
.carrossel-3x4 .nectar_video_player_self_hosted video,
.carrossel-16x9 .nectar_video_player_self_hosted video { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
.carrossel-3x4 .nectar_video_player_self_hosted video { object-fit: cover; }
.carrossel-16x9 .nectar_video_player_self_hosted video { object-fit: contain; }
/* Mesma margem de baixo que as imagens (15px do tema): o carrossel alinha as células por baixo */
.carrossel-3x4 .nectar_video_player_self_hosted, .carrossel-16x9 .nectar_video_player_self_hosted { margin-bottom: 15px !important; }
/* O link da lightbox (YouTube) fica por cima do vídeo */
.carrossel-3x4 .flickity-slider__link, .carrossel-16x9 .flickity-slider__link { position: absolute; inset: 0; z-index: 5; cursor: pointer; }
@media (min-width: 1000px) {
	body.page-id-458 .carrossel-16x9 .nectar_video_player_self_hosted .wpb_video_wrapper { aspect-ratio: 13 / 8; }
}

/* ==========================================================================
   Comentários da Rita/Tiago (email de 28-09, 19:17 computador e 19:38 telemóvel)
   ========================================================================== */
@media (min-width: 1000px) {
	/* 1º Passo: caixa "Sessão Diagnóstico 360° | Agendar" ligeiramente mais pequena */
	body.page-id-189 .ts-caixa-dupla { max-width: 53.45rem; } /* a largura da caixa dos desafios (640px a 1437) */
	body.page-id-189 .ts-caixa-dupla em { white-space: nowrap; }
	/* Home › "Os clientes dizem": caixas mais pequenas (menos margem interior, letra 18px a 1437) */
	.testimonial_slider[data-style="multiple_visible"] blockquote p { padding: 2rem 2.25rem 2rem 5rem !important; font-size: 1.5rem !important; line-height: 1.6 !important; }

	/* Botões mais finos: menos altura e letra ~7% menor */
	.wpb_row.ts-marque .nectar-cta .link_wrap { padding: .45em 1.35em !important; }
	.wpb_row.ts-marque .nectar-cta,
	.wpb_row.ts-marque .nectar-cta .link_wrap,
	.wpb_row.ts-marque .nectar-cta .link_text { font-size: 1.6875rem !important; line-height: 1.1 !important; }
	body.page-id-189 .nectar-cta.ts-upper .link_wrap { padding-top: .6em !important; padding-bottom: .6em !important; }
	body .nectar-post-grid-wrap .load-more-wrap .load-more { padding-top: .45em !important; padding-bottom: .45em !important; }
}
@media (max-width: 690px) {
	/* Home: círculos dos resultados mais juntos (a caixa de cada círculo tinha 380px) */
	#resultados > .row_col_wrap_12_inner > .wpb_column > .vc_column-inner { min-height: 290px !important; }
	/* "O sucesso dos nossos clientes…" no máximo do tamanho do título seguinte */
	.wpb_row.somos .nectar-responsive-text h2 { font-size: 36px !important; line-height: 1.2 !important; }
	/* Logótipos de clientes proporcionais ao título */
	.quem-decidiu .img-with-animation { max-width: 62% !important; margin-left: auto !important; margin-right: auto !important; display: block; }
	/* "Nos meios sociais": texto dos cartões com o tamanho do texto normal (estava a 24px) */
	.wpb_row.meios blockquote p { font-family: 'TS Open Sans', Helvetica, Arial, sans-serif !important; font-size: 16px !important; line-height: 1.55 !important; }
}
/* Textos manuscritos: versão de computador e versão de telemóvel (Prancheta 16 e 17 da Rita) */
.img-with-aniamtion-wrap:has(img[src*="frase1-mobile"]),
.img-with-aniamtion-wrap:has(img[src*="description-mobile"]) { display: none !important; }
@media (max-width: 690px) {
	.img-with-aniamtion-wrap:has(img[src*="frase1-mobile"]),
	.img-with-aniamtion-wrap:has(img[src*="description-mobile"]) { display: block !important; }
	.img-with-aniamtion-wrap:has(img[src*="frase1."]),
	.img-with-aniamtion-wrap:has(img[src*="description."]) { display: none !important; }
}
/* "Nos meios sociais": todos os cartões com a altura do mais alto (o carrossel do Salient alinha-os pela base).
   Só a partir do tablet: no telemóvel vê-se um cartão de cada vez. */
@media (min-width: 691px) {
	.wpb_row.meios .nectar-flickity .flickity-slider { align-items: stretch !important; }
	.wpb_row.meios .nectar-flickity .flickity-slider > .cell { height: auto !important; display: flex !important; flex-direction: column; }
	.wpb_row.meios .nectar-flickity .cell > .inner-wrap-outer { flex: 1 1 auto; display: flex; flex-direction: column; }
	.wpb_row.meios .nectar-flickity .cell .inner-wrap { flex: 1 1 auto; }
}

/* Projetos: carrossel de vídeos por baixo da galeria de imagens (pedido da Rita, 28-09).
   Vídeos a tocar sozinhos, sem som, no formato original (ts-vid-v 9:16, ts-vid-h 16:9); ao clicar abre o YouTube. */
.ts-proj-videos .nectar_video_player_self_hosted .wpb_video_wrapper { height: auto !important; padding: 0 !important; aspect-ratio: 9 / 16; }
.ts-proj-videos.ts-vid-h .nectar_video_player_self_hosted .wpb_video_wrapper { aspect-ratio: 16 / 9; }
.ts-proj-videos .nectar_video_player_self_hosted video { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.ts-proj-videos .nectar_video_player_self_hosted { margin-bottom: 15px !important; }
.ts-proj-videos .flickity-slider__link { position: absolute; inset: 0; z-index: 5; cursor: pointer; }
.ts-proj-videos.ts-vid-single .flickity-page-dots { display: none !important; }
/* Galeria com uma só imagem: imagem grande no formato original (3:2), sem o recorte quadrado */
.ts-proj-galeria:is(.ts-galeria-1, .ts-galeria-grande) img.img-with-animation { aspect-ratio: auto !important; height: auto !important; object-fit: initial !important; }
.ts-proj-galeria.ts-galeria-grande .flickity-page-dots:has(.dot:only-child) { display: none !important; }

/* ==========================================================================
   Telemóvel: ritmo vertical uniforme em todas as páginas (29-09)
   Secções com 40px de espaço interior; 24px entre o título e o conteúdo;
   carrosséis sem os 90px de margem do Salient (bolinhas 28px abaixo).
   (:not(#ts-x) só serve para ganhar às regras por id que o Salient gera
   a partir dos campos "padding no telemóvel" dos módulos.)
   ========================================================================== */
@media (max-width: 690px) {
	:root { --ts-m-sec: 40px; --ts-m-tit: 24px; }

	/* Linhas sem a margem de 39px do tema; carrosséis sem margens do Salient */
	.wpb_row:not(.inner_row):not(#ts-x) { margin-bottom: 0 !important; }
	.wpb_row .nectar-flickity.nectar-carousel { margin-top: 0 !important; }
	.nectar-flickity.nectar-carousel.nectar-carousel:not(.masonry) .flickity-viewport { margin: 0 0 56px !important; }
	body.page-id-458 .nectar-flickity.nectar-carousel.nectar-carousel:not(.masonry) .flickity-viewport { margin-bottom: 76px !important; }
	.nectar-flickity.nectar-carousel .flickity-page-dots { bottom: -48px !important; }

	/* Títulos de secção: 24px até ao conteúdo */
	.wpb_row:not(.ts-hero) .nectar-responsive-text:has(h2),
	.wpb_row:not(.ts-hero) .wpb_wrapper > h2.vc_custom_heading { margin-bottom: var(--ts-m-tit) !important; }
	.wpb_row:not(.ts-hero) .nectar-responsive-text > h2 { margin-bottom: 0 !important; }
	.wpb_row:not(.inner_row) .inner_row:has(.nectar-responsive-text h2):not(:has(.nectar-flickity, .nectar-milestone)) { margin-bottom: 0 !important; }

	/* Home */
	body.page-id-2 .wpb_row:has(#resultados) { padding-top: var(--ts-m-sec) !important; padding-bottom: 0 !important; }
	body.page-id-2 #resultados { margin-bottom: 0 !important; }
	body.page-id-2 #quer-o-mesmo { padding-top: 32px !important; padding-bottom: var(--ts-m-sec) !important; }
	body.page-id-2 .wpb_row.somos { padding-top: var(--ts-m-sec) !important; padding-bottom: var(--ts-m-sec) !important; }
	body.page-id-2 .wpb_row.quem-decidiu { margin-top: 0 !important; padding-top: var(--ts-m-sec) !important; padding-bottom: var(--ts-m-sec) !important; }
	body.page-id-2 #clientes { padding-top: var(--ts-m-sec) !important; padding-bottom: var(--ts-m-sec) !important; }
	body.page-id-2 .wpb_row.meios { padding-top: var(--ts-m-sec) !important; padding-bottom: var(--ts-m-sec) !important; }

	/* 1º Passo */
	body.page-id-189 .wpb_row.quem-decidiu { padding-top: var(--ts-m-sec) !important; padding-bottom: var(--ts-m-sec) !important; }

	/* Serviços: conteúdo com 16px de margem dentro do fundo amarelo e o mesmo ritmo nos três serviços */
	body.page-id-458 .wpb_row:not(.inner_row):not(#ts-x) > .row_col_wrap_12 { padding-left: 16px !important; padding-right: 16px !important; margin-left: 0 !important; margin-right: 0 !important; }
	body.page-id-458 .wpb_row.quem-decidiu:not(#ts-x):has(h2) { padding-top: var(--ts-m-sec) !important; padding-bottom: var(--ts-m-tit) !important; }
	body.page-id-458 .wpb_row.quem-decidiu:not(#ts-x):not(:has(h2)):has(.divider-wrap) { padding-top: 16px !important; padding-bottom: 0 !important; }
	body.page-id-458 .wpb_row.quem-decidiu:not(:has(h2)) .divider-wrap { margin: 0 !important; }
	body.page-id-458 .wpb_row.quem-decidiu.ts-faq:not(#ts-x):has(h2) { padding-top: 64px !important; }
	body.page-id-458 .wpb_row:not(#ts-x):has(.nectar-flickity) { padding-top: 0 !important; padding-bottom: 0 !important; }
	body.page-id-458 .wpb_row:not(.inner_row):not(#ts-x):has(.wpb_text_column.ts-centro) { padding-top: 0 !important; padding-bottom: 24px !important; }
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro) > .row_col_wrap_12 > .wpb_column { margin-bottom: 32px !important; }
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro) > .row_col_wrap_12 > .wpb_column:last-child { margin-bottom: 0 !important; }
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro) > .row_col_wrap_12 > .wpb_column:has(.ts-centro):not(:has(.ts-open-sc)) { margin-bottom: 16px !important; }
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro) .vc_column-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro) .wpb_text_column.ts-centro { margin-bottom: 16px !important; }
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro) .wpb_column:has(.ts-centro):not(:has(.ts-open-sc)) .wpb_text_column.ts-centro { margin-bottom: 0 !important; }
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro) .wpb_text_column.ts-fs-30:not(.ts-centro) { margin-bottom: 0 !important; }
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro) .divider-wrap { margin: 24px 0 0 !important; }
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro) .divider-wrap .divider { margin: 0 !important; }
	/* último item antes da divisória entre serviços: sem a linha própria (evita duas linhas seguidas) */
	body.page-id-458 .wpb_row:has(.wpb_text_column.ts-centro):has(+ .wpb_row.quem-decidiu .divider-wrap) .wpb_column:last-child .divider-wrap { display: none !important; }

	/* Projetos */
	.wpb_row.ts-proj-lado:not(#ts-x) { padding-top: 32px !important; padding-bottom: var(--ts-m-sec) !important; }
	.ts-proj-lado > .row_col_wrap_12 > .wpb_column:first-child { margin-bottom: var(--ts-m-tit) !important; }
	.ts-proj-lado > .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
	.wpb_row.resultados-port:not(#ts-x) { padding-top: var(--ts-m-sec) !important; padding-bottom: var(--ts-m-sec) !important; }
	.resultados-port .ts-divided > .row_col_wrap_12_inner > .wpb_column:first-child > .vc_column-inner { padding-top: 0 !important; }
	.wpb_row.ts-proj-galeria:not(#ts-x) { padding-top: var(--ts-m-sec) !important; padding-bottom: 0 !important; }
	.wpb_row.ts-proj-videos:not(#ts-x) { padding-top: var(--ts-m-sec) !important; padding-bottom: var(--ts-m-sec) !important; }

	/* Social Newsletter (secção global no fim das páginas): 12px entre a caixa e os ícones, 40px até ao rodapé */
	.wpb_row:not(.inner_row):not(#ts-x):has(.ts-news) { margin-bottom: var(--ts-m-sec) !important; }
	.wpb_row:has(.ts-news) .inner_row:has(.ts-news) + .inner_row { margin-top: 12px !important; }
}

/* ==========================================================================
   Alterações finais da Rita/Tiago (emails de 29-09, 17:33 e 17:36)
   ========================================================================== */
/* Testemunhos: aspas pequenas e dentro da margem, alinhadas com a 1.ª linha */
@media (min-width: 1000px) {
	.testimonial_slider[data-style="multiple_visible"] blockquote p::before { left: 1.25rem !important; top: 1.75rem !important; font-size: 5rem !important; line-height: 1 !important; }
}
/* "Nos meios sociais": logos alinhados em baixo (a altura igual é feita por JS no functions.php) */
@media (min-width: 691px) {
	.wpb_row.meios .cell .inner-wrap { display: flex !important; flex-direction: column; }
	.wpb_row.meios .cell blockquote { flex: 1 1 auto; display: flex !important; flex-direction: column; }
	.wpb_row.meios .cell blockquote > .inner { flex: 1 1 auto; display: flex !important; flex-direction: column; }
	.wpb_row.meios .cell blockquote .image-icon { margin-top: auto !important; }
}
/* O projeto Le Babachris Imprensa foi apagado: o filtro "Imprensa" deixa de ter projetos */
.nectar-post-grid-filters a[data-filter="imprensa"] { display: none !important; }

@media (max-width: 690px) {
	/* "Marque a sua Reunião": o "O" vai de ponta a ponta do ecrã e o texto cabe no buraco */
	.wpb_row.ts-marque:not(#ts-x) { overflow: visible !important; clip-path: inset(0 -100vmax); padding-top: 0 !important; padding-bottom: 0 !important; }
	.wpb_row.ts-marque > .row_col_wrap_12 > .wpb_column { overflow: visible !important; }
	.wpb_row.ts-marque > .row_col_wrap_12 > .wpb_column > .vc_column-inner { min-height: 600px !important; display: flex !important; flex-direction: column; justify-content: center; align-items: center; padding: 0 !important; }
	.wpb_row.ts-marque .column-image-bg-wrap, .wpb_row.ts-marque .column-image-bg-wrap .inner-wrap, .wpb_row.ts-marque .column-image-bg { overflow: visible !important; }
	.wpb_row.ts-marque .column-image-tag { width: 560px !important; height: 597px !important; max-width: none !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; object-fit: contain !important; }
	.wpb_row.ts-marque .wpb_wrapper { max-width: 200px; margin: 0 auto; position: relative; z-index: 2; flex-direction: column !important; justify-content: center !important; }
	.wpb_row.ts-marque h2 { font-size: 26px !important; line-height: 1.15 !important; }
	.wpb_row.ts-marque .vc_custom_heading:not(h2) { font-size: 16px !important; line-height: 1.35 !important; margin-bottom: 18px !important; }
	.wpb_row.ts-marque .nectar-cta, .wpb_row.ts-marque .nectar-cta * { font-size: 17px !important; }
	.wpb_row.ts-marque .nectar-cta .link_wrap { padding: .55em 1.1em !important; }

	/* Contactos: espaço antes do rodapé */
	body.page-id-282 .nectar_section.top-level { padding-bottom: 48px !important; }
}
