/*
Theme Name: Bark TYD
Theme URI: https://www.trainyourdog.pt
Author: Fractional
Author URI: https://wearefractional.ai
Description: Child theme do Bark 0.0.18 para a Train Your Dog. Aplica a variacao banjo com a identidade TYD: paleta deep blue / yellow / nude e as fontes Bebas Neue (display) e DM Sans (corpo). As personalizacoes vivem aqui para sobreviverem as atualizacoes do tema pai.
Template: bark
Version: 1.3.23
Requires at least: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bark-tyd
*/

/* Regras que o theme.json nao cobre.
   O sistema TYD nao usa sombras em lado nenhum: a profundidade e feita
   com blocos de cor chapada. */
.wp-block-group,
.wp-block-column,
.wp-block-cover { box-shadow: none; }

/* Bebas Neue so tem Regular (400). Impedir que o browser sintetize
   um falso negrito quando um bloco pede peso alto num titulo. */
h1, h2, h3, h4, h5, h6 { font-synthesis-weight: none; }

/* As fotografias nunca sao arredondadas. */
.wp-block-post-featured-image img,
figure.wp-block-image img { border-radius: 0; }

/* -------------------------------------------------------------------------
   Movimento. O sistema TYD nao muda a cor no hover — "a paleta e pequena
   demais para sombrear" — baixa a opacidade para 0.85 e escala 0.98 no clique.
   ------------------------------------------------------------------------- */
.wp-element-button,
.wp-block-button__link {
	transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1),
	            transform 120ms cubic-bezier(0.4, 0, 0.2, 1);
}

.wp-element-button:hover,
.wp-block-button__link:hover { opacity: 0.85; }

.wp-element-button:active,
.wp-block-button__link:active { transform: scale(0.98); }

/* -------------------------------------------------------------------------
   Contact Form 7. O Bark so estiliza formularios do Jetpack, e o plugin de
   formulario escolhido e o CF7 — sem isto os campos ficam por estilizar.
   ------------------------------------------------------------------------- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="date"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	padding: 12px 16px;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	background-color: var(--wp--preset--color--theme-1);
	border: 1px solid var(--wp--preset--color--theme-5);
	border-radius: var(--wp--custom--tyd--radius-sm);
	transition: border-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.wpcf7 textarea { min-height: 140px; }

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	outline: 2px solid var(--wp--preset--color--theme-4);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--theme-5);
}

.wpcf7 label { font-weight: 500; display: block; }

.wpcf7 input[type="submit"] {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--theme-5);
	background-color: var(--wp--preset--color--theme-4);
	border: 0;
	border-radius: var(--wp--custom--tyd--radius-pill);
	padding: 14px 22px;
	cursor: pointer;
	transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.wpcf7 input[type="submit"]:hover { opacity: 0.85; }

/* =========================================================================
   Barra do topo, rodapé e Home (task Fractional 779a4ae6).
   Traduz o mockup aprovado pelo Ricardo (v2 de 15/09/2026) para blocos
   nativos. Os blocos só levam classes tyd-*; o desenho vive aqui, para que
   o conteúdo continue editável no editor sem CSS inline.
   ========================================================================= */

.tyd-top,
.tyd-foot,
.tyd-home {
	--tyd-gutter: clamp(20px, 4vw, 48px);
	--tyd-blue: var(--wp--preset--color--theme-5);
	--tyd-yellow: var(--wp--preset--color--theme-4);
	--tyd-nude: var(--wp--preset--color--theme-3);
	--tyd-white: var(--wp--preset--color--theme-1);
	--tyd-sand: #EEE7E2;
	--tyd-ochre: #8A6E10;
	--tyd-top-h: 76px;
}

/* Os filhos diretos do .wp-site-blocks levam blockGap entre si; na Home as
   secções encostam umas às outras. */
body.home .wp-site-blocks > * { margin-block-start: 0; }

/* O layout "flow" do WP mete blockGap entre irmãos; aqui o espaçamento é
   todo explícito, e em grelhas/flex desalinha as colunas. */
.tyd-home .wp-block-post-content > *,
.tyd-home .is-layout-flow > *,
.tyd-top .is-layout-flow > *,
.tyd-foot .is-layout-flow > * { margin-block-start: 0; }

.tyd-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: var(--tyd-gutter);
}

.tyd-top :where(p, h1, h2, h3, figure, ul),
.tyd-foot :where(p, h1, h2, h3, figure, ul),
.tyd-home :where(p, h1, h2, h3, figure, ul, blockquote) { margin: 0; }

.tyd-top .wp-block-image img,
.tyd-foot .tyd-logo img,
.tyd-home .wp-block-image img { border-radius: 0; }

/* Botões: pílula compacta; o outline herda a cor do fundo onde está. */
.tyd-top .wp-block-button__link,
.tyd-foot .wp-block-button__link,
.tyd-home .wp-block-button__link {
	padding: 0.75em 1.5em;
	font-size: 15px;
	line-height: 1.6;
	border: 1px solid var(--tyd-yellow);
}

.tyd-home .is-style-outline > .wp-block-button__link {
	background: transparent;
	color: inherit;
	border: 1px solid currentColor;
}

.tyd-home .wp-block-buttons { gap: 12px; }
.tyd-home .wp-block-button__link { padding: 15px 26px; font-weight: 700; }

.tyd-home a:not(.wp-block-button__link):hover,
.tyd-foot a:not(.wp-block-button__link):hover,
.tyd-top a:not(.wp-block-button__link):hover { color: inherit; opacity: 0.85; }

/* ---- Barra do topo ---------------------------------------------------- */
.tyd-top { background: var(--tyd-blue); color: var(--tyd-nude); }

.tyd-top > .tyd-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: var(--tyd-top-h);
}

.tyd-logo img { display: block; width: auto; height: 40px; }

.tyd-top-nav { display: flex; align-items: center; gap: clamp(12px, 2.2vw, 32px); }

.tyd-menu { font-size: 15px; font-weight: 400; gap: clamp(12px, 2.2vw, 32px); }

.tyd-top a:not(.wp-block-button__link),
.tyd-foot a:not(.wp-block-button__link) { color: inherit; font-weight: inherit; }

/* ---- Home: tipografia comum ------------------------------------------- */
.tyd-home {
	color: var(--tyd-blue);
	font-size: 17px;
	line-height: 1.6;
}

.tyd-home :where(h1, h2, h3),
.tyd-num {
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	line-height: 1;
}

.tyd-sec { padding-block: clamp(56px, 7vw, 96px); }

.tyd-sec h2 { font-size: clamp(44px, 5.4vw, 76px); line-height: 0.92; margin-bottom: 24px; }

.tyd-nude { background: var(--tyd-nude); }
.tyd-white { background: var(--tyd-white); }
.tyd-sand { background: var(--tyd-sand); }

.tyd-home .tyd-wrap > * + *,
.tyd-home .tyd-cards > article > * + * { margin-block-start: 0; }

/* Os botões dos cartões de serviço assentam todos no fundo, na mesma linha.
   Tem de vir depois do zero acima, que tem a mesma especificidade. */
.tyd-home .tyd-cards > article > .wp-block-buttons { margin-block-start: auto; }

/* ---- Hero -------------------------------------------------------------- */
.tyd-hero {
	position: relative;
	overflow: hidden;
	background: var(--tyd-blue);
	color: var(--tyd-nude);
	display: flex;
	flex-direction: column;
}

.tyd-hero .tyd-hero-photo { position: relative; flex: 0 0 auto; height: clamp(300px, 58vh, 640px); }

.tyd-hero .tyd-hero-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 45%;
}

.tyd-hero-text {
	position: relative;
	flex: 0 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 5vw, 80px);
	align-items: end;
	padding-top: clamp(32px, 4vw, 56px);
	padding-bottom: clamp(36px, 4.5vw, 64px);
}

.tyd-home .tyd-kicker {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.6;
	color: var(--tyd-yellow);
	margin-bottom: 16px;
}

.tyd-big {
	font-family: var(--wp--preset--font-family--bebas-neue);
	text-transform: uppercase;
	color: var(--tyd-white);
	font-size: clamp(48px, 6vw, 96px);
	line-height: 0.9;
}

.tyd-hero-text p:not(.tyd-big) { margin-bottom: 26px; max-width: 46ch; }

/* ---- Serviços ----------------------------------------------------------- */
/* Título e texto lado a lado, com o texto alinhado ao fundo do título. */
.tyd-intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 5vw, 72px);
	align-items: end;
	margin-bottom: clamp(36px, 5vw, 56px);
}

.tyd-intro h2 { margin-bottom: 0; }
.tyd-intro p { font-size: 18px; line-height: 1.55; max-width: 46ch; }

.tyd-lead { font-size: 20px; margin-bottom: 16px !important; }
.tyd-muted { font-size: 15px; opacity: 0.85; }

/* ---- Números ------------------------------------------------------------ */
.tyd-numbers { padding-block: clamp(44px, 5vw, 72px); }
.tyd-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 56px); }
.tyd-stats p { font-size: 16px; }
.tyd-stats .tyd-num { display: block; font-size: clamp(56px, 7vw, 96px); line-height: 0.9; }

.tyd-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2vw, 24px);
}

.tyd-cards-4 { grid-template-columns: repeat(4, 1fr); }

/* Cartão branco com a foto a toda a largura. Só os cantos de baixo são
   arredondados: as fotografias nunca levam cantos arredondados. */
.tyd-cards article { display: flex; flex-direction: column; background: var(--tyd-white); border-radius: 0 0 10px 10px; }
.tyd-cards article > :not(figure) { padding-inline: 22px; }
.tyd-cards img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.tyd-cards figure { margin-bottom: 22px; }
.tyd-cards h3 { font-size: 28px; margin-bottom: 12px; }
.tyd-cards p { font-size: 16px; line-height: 1.55; margin-bottom: 22px; }
.tyd-cards .wp-block-buttons { margin-top: auto; padding-bottom: 22px; }
.tyd-home .tyd-cards .wp-block-button__link { padding: 12px 22px; }
.tyd-cards > .tyd-card-primary { background: var(--tyd-yellow); }
.tyd-home .tyd-card-primary .wp-block-button__link { background: var(--tyd-blue); border-color: var(--tyd-blue); color: var(--tyd-white); }

/* Avaliação: o CTA principal, em bloco amarelo com a foto à direita. Vive numa
   secção própria, com o mesmo fundo e colada à dos cartões, para cada uma
   caber num ecrã. */
.tyd-home .tyd-sec-follow.tyd-sec { padding-top: 0; }
.tyd-feature {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: clamp(28px, 4vw, 44px) !important;
}

.tyd-feature-txt { background: var(--tyd-yellow); border-radius: 10px 0 0 10px; padding: clamp(28px, 3.5vw, 44px); }
.tyd-feature .tyd-card-kicker { font-size: 13px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 12px; }
.tyd-feature h3 { font-size: clamp(36px, 4vw, 56px); line-height: 0.95; margin-bottom: 14px; }
.tyd-feature-txt > p:not(.tyd-card-kicker) { font-size: 17px; line-height: 1.55; max-width: 42ch; margin-bottom: 24px; }
.tyd-feature .wp-block-image { height: 100%; max-height: 420px; }
.tyd-feature img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 40%; }
.tyd-home .tyd-feature .wp-block-button__link { background: var(--tyd-blue); border-color: var(--tyd-blue); color: var(--tyd-white); }

/* ---- Onde treinamos ----------------------------------------------------- */
.tyd-dark { background: var(--tyd-blue); color: var(--tyd-nude); position: relative; overflow: hidden; }
.tyd-dark h2 { color: var(--tyd-yellow); }

.tyd-home .tyd-dogmark {
	position: absolute;
	right: -80px;
	bottom: -80px;
	width: 560px;
	max-width: 55%;
	opacity: 0.3;
	mix-blend-mode: multiply;
	pointer-events: none;
}

.tyd-home .tyd-hero .tyd-dogmark,
.tyd-home .tyd-pagehead .tyd-dogmark { right: -70px; bottom: -70px; width: 380px; }
.tyd-home .tyd-dogmark-left { left: -90px; right: auto; width: 460px; max-width: 50%; }

.tyd-cities { position: relative; }

.tyd-cities-head {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 6vw, 96px);
	align-items: end;
	margin-bottom: clamp(28px, 4vw, 44px);
}

.tyd-cities-head h2 { margin-bottom: 0; }
.tyd-cities-head p { font-size: 17px; margin: 0; max-width: 42ch; }

/* Uma cidade por linha: nome à esquerda, o que lá fazemos à direita. */
.tyd-city-list { border-top: 0.5px solid var(--tyd-yellow); }

.tyd-city-list > p {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-block: 0;
	padding-block: 16px;
	border-bottom: 0.5px solid var(--tyd-yellow);
	font-size: 15px;
}

.tyd-city-list .tyd-num { font-size: clamp(34px, 4vw, 54px); color: var(--tyd-white); }
.tyd-city-list .tyd-city-base { color: var(--tyd-yellow); }

.tyd-cities .wp-block-buttons { margin-top: 28px; }

/* ---- Testemunhos -------------------------------------------------------- */
/* Um testemunho em destaque à esquerda; os outros dois empilhados à direita. */
.tyd-quotes { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: clamp(20px, 3vw, 40px); }
.tyd-quotes > :first-child { grid-row: 1 / 3; }

.tyd-home .tyd-quotes .wp-block-quote {
	background: var(--tyd-nude);
	border: 0;
	border-radius: 10px;
	padding: clamp(22px, 2.4vw, 32px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	font-size: 16px;
	font-style: normal;
}

.tyd-home .tyd-quotes .wp-block-quote:first-child { padding: clamp(24px, 3vw, 40px); gap: 32px; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.35; }

.tyd-home .tyd-quotes cite {
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-size: 20px;
	font-style: normal;
	text-transform: uppercase;
	line-height: 1;
}

.tyd-home .tyd-quotes .wp-block-quote:first-child cite { font-size: 22px; }

.tyd-more { font-size: 15px; font-weight: 700; }

/* ---- Blog --------------------------------------------------------------- */
/* Título da secção com o "ver todos" na mesma linha (blog e testemunhos). */
.tyd-blog-head,
.tyd-sec-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; flex-wrap: wrap; margin-bottom: 32px; }
.tyd-blog-head h2,
.tyd-sec-head h2 { margin-bottom: 0; }

/* O artigo mais recente em destaque à esquerda; os dois seguintes à direita,
   com a foto e o título lado a lado. */
.tyd-posts .wp-block-post-template {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	column-gap: clamp(20px, 3vw, 40px);
	row-gap: 20px;
	align-items: start;
	list-style: none;
	padding: 0;
	margin: 0;
}

.tyd-posts .wp-block-post-template > li { display: flex; flex-direction: column; margin: 0; }
.tyd-posts .wp-block-post-template > li:first-child { grid-row: 1 / 3; }
.tyd-posts .wp-block-post-featured-image { margin: 0; }
.tyd-posts .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tyd-posts li:first-child .wp-block-post-featured-image img { aspect-ratio: 3 / 2 !important; }
.tyd-posts .wp-block-post-date { font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; margin: 18px 0 8px; }
.tyd-home .tyd-posts .wp-block-post-title { font-size: clamp(30px, 3vw, 40px); margin: 0 0 12px; }
.tyd-posts .wp-block-post-title a { text-decoration: none; }
.tyd-posts .wp-block-post-excerpt { font-size: 16px; max-width: 52ch; margin: 0; }

.tyd-posts .wp-block-post-template > li:not(:first-child) {
	display: grid;
	grid-template-columns: 4fr 5fr;
	grid-template-rows: 1fr auto auto 1fr;
	column-gap: clamp(14px, 1.6vw, 24px);
	height: 100%;
	box-sizing: border-box;
}

.tyd-posts .wp-block-post-template > li:nth-child(2) { padding-bottom: 20px; border-bottom: 0.5px solid var(--tyd-blue); }
/* A foto preenche a altura da linha em vez de a definir: quem manda é o texto. */
.tyd-posts li:not(:first-child) .wp-block-post-featured-image { position: relative; grid-row: 1 / 5; min-height: 160px; }
.tyd-posts li:not(:first-child) .wp-block-post-featured-image a { position: absolute; inset: 0; }
.tyd-posts li:not(:first-child) .wp-block-post-featured-image img { aspect-ratio: auto !important; }
.tyd-posts li:not(:first-child) .wp-block-post-date { grid-row: 2; margin: 0 0 6px; }
.tyd-home .tyd-posts li:not(:first-child) .wp-block-post-title { grid-row: 3; font-size: 26px; line-height: 1.05; margin: 0; }
.tyd-posts li:not(:first-child) .wp-block-post-excerpt { display: none; }
.tyd-posts .wp-block-post-excerpt__excerpt { margin: 0; }
.tyd-posts .wp-block-post-excerpt__more-text { display: none; }

/* ---- Faixa final -------------------------------------------------------- */
.tyd-band { background: var(--tyd-yellow); }

.tyd-band > .tyd-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	padding-block: 56px;
}

.tyd-band h2 { font-size: clamp(38px, 4.6vw, 64px); line-height: 0.95; margin-bottom: 8px; }

/* Variante: título e botão à esquerda, texto à direita. */
.tyd-band-split > .tyd-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 24px clamp(24px, 4vw, 64px); }
.tyd-band-split h2 { margin-bottom: 16px; }
.tyd-band-split .tyd-wrap > p { font-size: 16px; max-width: 46ch; }

.tyd-home .tyd-band .wp-block-button__link {
	background: var(--tyd-blue);
	border-color: var(--tyd-blue);
	color: var(--tyd-nude);
}

/* ---- Rodapé ------------------------------------------------------------- */
.tyd-foot { background: var(--tyd-blue); color: var(--tyd-nude); font-size: 14px; line-height: 1.6; }

.tyd-foot-cols {
	display: grid;
	grid-template-columns: 1.4fr repeat(4, 1fr);
	gap: 32px;
	padding-top: 64px;
	padding-bottom: 40px;
}

.tyd-foot .tyd-logo img { height: 48px; }
.tyd-foot .tyd-logo + p { margin-top: 16px; }

.tyd-foot h3 {
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
	color: var(--tyd-yellow);
	margin-bottom: 12px;
}

.tyd-foot-cols ul { list-style: none; padding: 0; display: grid; gap: 6px; }

.tyd-legal { border-top: 0.5px solid var(--tyd-nude); }

.tyd-legal > .tyd-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px 24px;
	flex-wrap: wrap;
	padding-top: 20px;
	padding-bottom: 24px;
	font-size: 13px;
}

.tyd-legal-menu { font-size: 13px; font-weight: 400; gap: 8px 20px; flex-wrap: wrap; }

.tyd-prr { background: var(--tyd-white); padding: 24px var(--tyd-gutter); }
.tyd-prr .wp-block-image { margin: 0 auto; }
.tyd-prr img { display: block; width: 100%; max-width: 760px; height: auto; margin: 0 auto; }

/* ---- Estreito ----------------------------------------------------------- */
@media (max-width: 900px) {
	.tyd-hero-text,
	.tyd-intro,
	.tyd-cities-head,
	.tyd-feature { grid-template-columns: 1fr; }
	.tyd-cards { grid-template-columns: repeat(2, 1fr); }
	.tyd-quotes,
	.tyd-posts .wp-block-post-template { grid-template-columns: 1fr; grid-template-rows: none; }
	.tyd-quotes > :first-child,
	.tyd-posts .wp-block-post-template > li:first-child { grid-row: auto; }
	.tyd-feature-txt { border-radius: 10px 10px 0 0; }
	.tyd-ticks-cols,
	.tyd-band-split > .tyd-wrap { grid-template-columns: 1fr; }
	.tyd-foot-cols { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
	.tyd-cards { grid-template-columns: 1fr; }
}

/* =========================================================================
   Tabela de Preços (task Fractional 3c30a251).
   Template page-tyd: a mesma base da Home (.tyd-home) para páginas interiores
   a toda a largura. Os preços vivem em blocos Tabela: .tyd-plist é a lista
   descrição/valor dos cartões, .tyd-ptable a grelha com cabeçalho. Na coluna
   da descrição, o itálico é a linha pequena por baixo ("45€ por aula").
   ========================================================================= */

body.page-template-page-tyd .wp-site-blocks > * { margin-block-start: 0; }

.tyd-pagehead { position: relative; overflow: hidden; background: var(--tyd-blue); color: var(--tyd-nude); }

.tyd-pagehead-grid {
	position: relative;
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: clamp(24px, 5vw, 80px);
	align-items: end;
	padding-top: clamp(40px, 6vw, 80px);
	padding-bottom: clamp(40px, 6vw, 72px);
}

.tyd-page .tyd-pagehead .tyd-big { font-size: clamp(52px, 7vw, 104px); }

.tyd-page .tyd-chips { gap: 10px; margin-top: 24px; }

.tyd-page .tyd-chips .wp-block-button__link {
	padding: 0.45em 1.1em;
	font-size: 14px;
	border-color: var(--tyd-nude);
	color: var(--tyd-nude);
}

.tyd-sechead {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 5vw, 80px);
	align-items: end;
}

.tyd-page .tyd-sechead h2 { margin-bottom: 0; }

.tyd-pgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2vw, 24px);
	align-items: stretch;
	margin-top: 32px !important;
}

.tyd-pgrid-2 { grid-template-columns: 1.4fr 1fr; }

.tyd-page .tyd-pcard {
	background: var(--tyd-white);
	color: var(--tyd-blue);
	border-radius: 10px;
	padding: 28px;
}

.tyd-page .tyd-pcard-nude { background: var(--tyd-nude); }

.tyd-page .tyd-pcard.tyd-pack { background: var(--tyd-yellow); }

.tyd-page .tyd-dark .tyd-wrap { position: relative; }

.tyd-page .tyd-pcard h3 { font-size: 28px; margin-bottom: 6px; color: var(--tyd-blue); }
.tyd-page .tyd-pcard .tyd-h3-gap { margin-top: 28px; }
.tyd-page .tyd-sub { font-size: 14px; margin-bottom: 16px; opacity: 0.85; }
.tyd-page .tyd-note { font-size: 13px; margin-top: 14px; }
.tyd-page .tyd-small { font-size: 15px; }

/* Blocos Tabela: sem as molduras do core nem do Bark. */
.tyd-page .wp-block-table { margin: 0; overflow-x: auto; }

.tyd-page .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.tyd-page .wp-block-table :where(th, td) {
	border: 0;
	border-bottom: 0.5px solid var(--tyd-blue);
	text-align: left;
	vertical-align: baseline;
}

.tyd-page .wp-block-table thead { border: 0; }

/* Lista descrição / valor. */
.tyd-plist td { padding: 12px 0; }
.tyd-plist tr:last-child td { border-bottom: 0; }

.tyd-plist td:last-child {
	padding-left: 16px;
	text-align: right;
	white-space: nowrap;
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-size: 30px;
	line-height: 1;
}

.tyd-plist em { display: block; font-size: 12px; font-style: normal; opacity: 0.75; }

/* Grelha com cabeçalho (épocas do hotel, banho). */
.tyd-ptable :where(th, td) { padding: 12px 8px; }

.tyd-ptable th {
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 0.02em;
}

/* Valor na última coluna; com .tyd-ptable-precos, em todas menos a primeira. */
.tyd-ptable td:last-child,
.tyd-ptable-precos td:not(:first-child) {
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-size: 26px;
	line-height: 1;
}

@media (max-width: 900px) {
	.tyd-pagehead-grid,
	.tyd-sechead,
	.tyd-pgrid,
	.tyd-pgrid-2 { grid-template-columns: 1fr; }
}

/* =========================================================================
   Mobile (≤600px) — regras de adaptação do mockup mobile de 390px.
   ========================================================================= */

/* A barra fixa só existe na Home e só em mobile. Fica fora do .tyd-foot,
   por isso repete as variáveis. */
.tyd-sticky {
	display: none;
	--tyd-gutter: 20px;
	--tyd-blue: var(--wp--preset--color--theme-5);
	--tyd-yellow: var(--wp--preset--color--theme-4);
	--tyd-white: var(--wp--preset--color--theme-1);
}

/* Menu em hambúrguer até 900px (telemóvel e tablet). O core só mostra o hambúrguer
   abaixo de 600px e acima disso põe o menu em linha, que não cabe no tablet; entre
   600 e 900 anulam-se as regras do core. */
@media (max-width: 900px) {
	.tyd-menu { display: flex; order: 2; }
	.tyd-menu .wp-block-navigation__responsive-container-open { color: var(--tyd-nude); min-width: 44px; min-height: 44px; justify-content: center; }
	.tyd-menu .wp-block-navigation__responsive-container.is-menu-open { padding: 24px var(--tyd-gutter); }
	.tyd-menu .is-menu-open .wp-block-navigation__container { font-family: var(--wp--preset--font-family--bebas-neue); font-size: 36px; gap: 16px; }

	/* Produtos no menu mobile: fechado por defeito, abre ao tocar (JS no functions.php
	   põe .tyd-sub-open no item). O core mostra sempre os submenus abertos no overlay. */
	.tyd-menu .is-menu-open .has-child { flex-direction: row !important; flex-wrap: wrap; align-items: center; }
	.tyd-menu .is-menu-open .has-child > .wp-block-navigation__submenu-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		color: inherit;
		background: none;
		border: 0;
		cursor: pointer;
	}
	.tyd-menu .is-menu-open .has-child > .wp-block-navigation__submenu-icon svg { width: 18px; height: 18px; stroke: currentColor; transform: none !important; transition: transform 0.2s; }
	.tyd-menu .is-menu-open .has-child.tyd-sub-open > .wp-block-navigation__submenu-icon svg { transform: rotate(180deg) !important; }
	.tyd-menu .is-menu-open .has-child > .wp-block-navigation__submenu-container { display: none !important; }
	.tyd-menu .is-menu-open .has-child.tyd-sub-open > .wp-block-navigation__submenu-container {
		display: flex !important;
		flex-basis: 100%;
		border: 0 !important;
		padding: 8px 0 0 16px !important;
		gap: 12px;
		font-family: var(--wp--preset--font-family--dm-sans, inherit);
		font-size: 18px;
	}
	.tyd-menu .is-menu-open .has-child.tyd-sub-open > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 4px 0; }
}

@media (min-width: 600px) and (max-width: 900px) {
	.tyd-menu .wp-block-navigation__responsive-container-open { display: flex !important; }
	.tyd-menu .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.tyd-menu .is-menu-open .wp-block-navigation__responsive-container-close { display: flex !important; }
}

@media (max-width: 600px) {
	.tyd-top,
	.tyd-foot,
	.tyd-home { --tyd-gutter: 20px; --tyd-top-h: 64px; }

	/* Toques e escalas: alvos de 44px, corpo nunca abaixo de 15px. */
	.tyd-top .wp-block-button__link,
	.tyd-home .wp-block-button__link,
	.tyd-foot .wp-block-button__link { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
	.tyd-home h2,
	.tyd-sec h2 { font-size: 40px; }
	.tyd-home h3,
	.tyd-cards h3 { font-size: 24px; }

	/* Barra do topo: logo, CTA curto e menu em hambúrguer. */
	.tyd-logo img { height: 36px; }
	.tyd-top-nav { gap: 12px; }
	.tyd-top .wp-block-button__link { padding: 0.5em 1.1em; font-size: 14px; }

	/* Hero: a foto deixa de ocupar o ecrã e passa a bloco de 280px. */
	.tyd-hero { height: auto; min-height: 0; }
	.tyd-hero .tyd-hero-photo { flex: 0 0 280px; height: 280px; }
	.tyd-hero-text { gap: 20px; padding-top: 28px; padding-bottom: 36px; }
	.tyd-big { font-size: 52px; }
	.tyd-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.tyd-hero .wp-block-button,
	.tyd-hero .wp-block-button__link { width: 100%; }

	/* Números em linha de três. */
	.tyd-stats { grid-template-columns: repeat(3, 1fr); gap: 12px; }
	.tyd-stats p { font-size: 13px; line-height: 1.35; }
	.tyd-stats .tyd-num { font-size: 36px; margin-bottom: 4px; }

	/* Serviços e testemunhos: rail horizontal, a sangrar até às margens. */
	.tyd-cards,
	.tyd-quotes {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--tyd-gutter);
		margin-inline: calc(-1 * var(--tyd-gutter));
		padding: 0 var(--tyd-gutter) 8px;
		scrollbar-width: none;
	}
	.tyd-cards::-webkit-scrollbar,
	.tyd-quotes::-webkit-scrollbar { display: none; }
	.tyd-cards > article,
	.tyd-quotes > .wp-block-quote { flex: 0 0 250px; scroll-snap-align: start; }
	.tyd-quotes > .wp-block-quote { flex-basis: 290px; }

	.tyd-cards img { aspect-ratio: 5 / 4; }
	.tyd-cards figure { margin-bottom: 14px; }
	.tyd-cards article > :not(figure) { padding-inline: 16px; }
	.tyd-cards article > .wp-block-buttons { padding-bottom: 16px; }
	.tyd-cards p { margin-bottom: 14px; }
	.tyd-cards .wp-block-button,
	.tyd-cards .wp-block-button__link,
	.tyd-feature .wp-block-button,
	.tyd-feature .wp-block-button__link { width: 100%; }
	.tyd-home .tyd-quotes .wp-block-quote:first-child { font-size: 17px; line-height: 1.6; }

	/* Cidades: o texto passa para baixo do nome; o CTA a toda a largura. */
	.tyd-city-list > p { flex-direction: column; gap: 4px; padding-block: 16px; font-size: 15px; }
	.tyd-city-list .tyd-num { font-size: 36px; }
	.tyd-cities .wp-block-button,
	.tyd-cities .wp-block-button__link { width: 100%; }
	.tyd-home .tyd-dogmark { width: 320px; max-width: 80%; right: -80px; bottom: -40px; }
	.tyd-home .tyd-dogmark-left { left: -80px; right: auto; }

	/* Blog e testemunhos: rail horizontal; o "ver todos" do cabeçalho passa para o fim. */
	.tyd-wrap:has(> .tyd-blog-head),
	.tyd-wrap:has(> .tyd-sec-head) { display: flex; flex-direction: column; }
	.tyd-blog-head,
	.tyd-sec-head { display: contents; }
	.tyd-blog-head h2,
	.tyd-sec-head h2 { margin-bottom: 24px; }
	.tyd-blog-head .tyd-more,
	.tyd-sec-head .tyd-more { order: 3; margin-top: 24px; text-align: center; }

	.tyd-posts .wp-block-post-template {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--tyd-gutter);
		margin-inline: calc(-1 * var(--tyd-gutter));
		padding: 0 var(--tyd-gutter) 8px;
		scrollbar-width: none;
	}
	/* O core limita o post-template a max-width:100%, o que corta a sangria. */
	.tyd-posts .wp-block-post-template { max-width: none; }
	.tyd-posts .wp-block-post-template::-webkit-scrollbar { display: none; }
	.tyd-posts .wp-block-post-template > li,
	.tyd-posts .wp-block-post-template > li:not(:first-child),
	.tyd-posts .wp-block-post-template > li:nth-child(2) { display: flex; flex: 0 0 250px; height: auto; padding: 0; border: 0; scroll-snap-align: start; }
	.tyd-posts li .wp-block-post-featured-image img,
	.tyd-posts li:first-child .wp-block-post-featured-image img,
	.tyd-posts li:not(:first-child) .wp-block-post-featured-image img { aspect-ratio: 4 / 3 !important; }
	.tyd-posts li:not(:first-child) .wp-block-post-featured-image { min-height: 0; }
	.tyd-posts li:not(:first-child) .wp-block-post-featured-image a { position: static; }
	.tyd-posts li .wp-block-post-date,
	.tyd-posts li:not(:first-child) .wp-block-post-date { margin: 14px 0 6px; }
	.tyd-posts li:not(:first-child) .wp-block-post-excerpt { display: block; }
	.tyd-home .tyd-posts .wp-block-post-title,
	.tyd-home .tyd-posts li:not(:first-child) .wp-block-post-title { font-size: 22px; margin: 0 0 8px; }

	/* Faixa final. */
	.tyd-band > .tyd-wrap { padding-block: 44px; }
	.tyd-band h2 { font-size: 40px; }
	.tyd-band .wp-block-buttons,
	.tyd-band .wp-block-button,
	.tyd-band .wp-block-button__link { width: 100%; }

	/* Rodapé: marca centrada, colunas 2×2, corpo a 15px. */
	.tyd-foot { font-size: 15px; }
	.tyd-foot-cols { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding-top: 44px; }
	.tyd-foot-cols > :first-child { grid-column: 1 / -1; text-align: center; }
	.tyd-foot-cols > :first-child .tyd-logo img { margin-inline: auto; }
	.tyd-legal > .tyd-wrap { font-size: 13px; }

	/* Barra fixa no fundo: o CTA nunca sai do ecrã. */
	body.home .tyd-sticky {
		display: block;
		position: fixed;
		inset: auto 0 0 0;
		z-index: 50;
		background: var(--tyd-white);
		border-top: 0.5px solid var(--tyd-blue);
		padding: 10px var(--tyd-gutter) calc(10px + env(safe-area-inset-bottom));
	}
	body.home .tyd-sticky .wp-block-buttons { display: flex; flex-wrap: nowrap; gap: 10px; }
	body.home .tyd-sticky-main { flex: 1 1 auto; }
	body.home .tyd-sticky-main .wp-block-button__link { width: 100%; }
	body.home .tyd-sticky-call .wp-block-button__link { background: transparent; color: var(--tyd-blue); border: 1px solid var(--tyd-blue); }
	body.home .tyd-prr { padding-bottom: calc(24px + 64px + env(safe-area-inset-bottom)); }
}

/* -------------------------------------------------------------------------
   Logótipo no editor. O editor põe style="height:auto" inline no <img> do
   bloco Imagem, que ganha à altura fixa do .tyd-logo img, e o SVG estica até
   à largura da coluna. O .block-editor-block-list__block só existe no editor:
   o site publicado não é afetado.
   ------------------------------------------------------------------------- */
.block-editor-block-list__block.tyd-logo img { width: auto !important; height: 44px !important; }
.tyd-foot .block-editor-block-list__block.tyd-logo img { height: 48px !important; }

@media (max-width: 600px) {
	.block-editor-block-list__block.tyd-logo img { height: 36px !important; }
}

/* O mesmo no espaço entre a barra do topo, o main e o rodapé: no site é o
   body.home / body.page-template-page-tyd que o anula, e o editor não tem
   essas classes. Só onde há .tyd-home, para as páginas legais manterem o ar. */
.is-root-container:has(> .tyd-home) > * { margin-block-start: 0; }

/* =========================================================================
   Treino Canino, Contactos e Obrigado (task Fractional 1f9e4ade).
   Mockups v2 de 15/09/2026. Mesmo template page-tyd da Tabela de Preços.
   ========================================================================= */

/* ---- Cabeçalho: texto em cima, foto de altura fixa por baixo (Treino) -- */
.tyd-pagehead-fit { display: flex; flex-direction: column; }

/* O texto vai num grupo a toda a largura, para o cão de fundo ficar no canto
   desse bloco e ser cortado antes da foto. */
.tyd-pagehead-top { position: relative; overflow: hidden; }

.tyd-pagehead-fit .tyd-pagehead-grid {
	position: relative;
	flex: 0 0 auto;
	padding-top: clamp(40px, 5vw, 72px);
	padding-bottom: clamp(36px, 4.5vw, 64px);
}

.tyd-page .tyd-kicker { text-transform: uppercase; }
.tyd-page .tyd-pagehead-fit .tyd-big { font-size: clamp(48px, 6vw, 96px); line-height: 0.9; }
.tyd-pagehead p:not(.tyd-big):not(.tyd-kicker) { margin-bottom: 20px; }

.tyd-widephoto { position: relative; flex: 0 0 auto; height: clamp(240px, 42vh, 460px); }

.tyd-widephoto img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 45%;
}

/* ---- Texto e foto lado a lado ------------------------------------------ */
.tyd-split {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}

.tyd-split-rev > :first-child { order: 2; }
.tyd-split p:not(.tyd-lead) + p { margin-top: 14px; }
.tyd-split p:not(.tyd-lead) { max-width: 52ch; }
.tyd-split .tyd-lead { line-height: 1.5; max-width: 44ch; margin-bottom: 18px !important; }
.tyd-split img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }

/* Listas em linhas simples; no azul as linhas são amarelas. */
.tyd-ticks { list-style: none; padding: 0; margin-top: 24px !important; border-top: 0.5px solid currentColor; }
.tyd-ticks li { padding: 14px 0; border-bottom: 0.5px solid currentColor; font-size: 16px; }
.tyd-dark .tyd-ticks,
.tyd-dark .tyd-ticks li { border-color: var(--tyd-yellow); }

/* Passos numerados: 01, 02… em Bebas, no amarelo escuro que se lê sobre branco. */
.tyd-steps { counter-reset: tyd-step; }
.tyd-steps li { counter-increment: tyd-step; display: flex; gap: 16px; line-height: 1.55; }
.tyd-steps li::before {
	content: counter(tyd-step, decimal-leading-zero);
	flex: none;
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-size: 20px;
	line-height: 1.3;
	color: var(--tyd-ochre);
}

.tyd-ticks-cols { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(24px, 4vw, 56px); }
.tyd-ticks-cols li { padding-block: 16px; line-height: 1.55; }

.tyd-ticks-big li {
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-size: 26px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--tyd-white);
}

/* ---- Formatos de treino ------------------------------------------------- */
.tyd-formats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 2vw, 24px);
	margin-top: 32px !important;
}

.tyd-formats > article {
	display: flex;
	flex-direction: column;
	background: var(--tyd-white);
	border-radius: 10px;
	padding: 24px;
}

.tyd-formats h3 { font-size: 28px; margin-bottom: 12px; }
.tyd-formats p { font-size: 16px; line-height: 1.55; margin-bottom: 24px; }
.tyd-formats .wp-block-buttons { margin-top: auto; }
.tyd-home .tyd-formats .wp-block-button__link { padding: 12px 22px; }

/* A avaliação é o primeiro passo: cartão amarelo com o botão em azul. */
.tyd-formats > .tyd-format-primary { background: var(--tyd-yellow); }
.tyd-formats .tyd-card-kicker { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 10px; }
.tyd-home .tyd-format-primary .wp-block-button__link { background: var(--tyd-blue); border-color: var(--tyd-blue); color: var(--tyd-white); }

/* ---- Contactos: formulário no cabeçalho --------------------------------- */
.tyd-cform {
	display: flex;
	align-items: center;
	min-height: calc(100vh - var(--tyd-top-h));
	min-height: calc(100svh - var(--tyd-top-h));
}

.tyd-cform > .tyd-pagehead-grid {
	align-items: start;
	padding-top: clamp(28px, 5vh, 64px);
	padding-bottom: clamp(28px, 5vh, 64px);
}

.tyd-page .tyd-cform .tyd-big { font-size: clamp(48px, min(6.5vw, 10vh), 104px); margin-bottom: 20px; }
.tyd-cform .tyd-muted { margin-bottom: 0; font-size: 15px; opacity: 1; color: #C9B69F; }
.tyd-cform .tyd-pagehead-grid > div > p:not(.tyd-kicker):not(.tyd-muted) { font-size: 18px; line-height: 1.55; max-width: 40ch; margin-bottom: 12px; }

/* O formulário vai num cartão nude claro, com o texto e as bordas em azul. */
.tyd-cform .wpcf7 { background: var(--tyd-sand); color: var(--tyd-blue); border-radius: 10px; padding: clamp(22px, 2.6vw, 32px); }

.tyd-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.tyd-form > * { min-width: 0; }
.tyd-form .tyd-full { grid-column: 1 / -1; }
.tyd-form .wpcf7-form-control-wrap { display: block; }

.tyd-home .wpcf7 .tyd-form label {
	display: grid;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
	color: var(--tyd-blue);
}

.tyd-home .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
	box-sizing: border-box;
	width: 100%;
	font-size: 16px;
	font-weight: 400;
	color: var(--tyd-blue);
	background: var(--tyd-white);
	border: 0.5px solid var(--tyd-blue);
	border-radius: 5px;
	padding: 13px 14px;
}

.tyd-home .wpcf7 textarea { min-height: 110px; resize: vertical; }

.tyd-form .tyd-consent { font-size: 14px; }
.tyd-home .wpcf7 .tyd-form .tyd-consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.tyd-form .tyd-consent .wpcf7-list-item { margin: 0; }
.tyd-form .tyd-consent input { margin: 4px 0 0; }
.tyd-form .tyd-consent a { color: inherit; text-decoration: underline; }

.tyd-home .wpcf7 input[type="submit"] {
	font-size: 15px;
	line-height: 1.6;
	padding: 0.75em 1.5em;
	color: var(--tyd-blue);
	background: var(--tyd-yellow);
}

/* Mensagens do CF7 sobre o azul: sem as molduras coloridas do plugin. */
.tyd-cform .wpcf7-not-valid-tip { color: var(--tyd-ochre); font-size: 13px; font-weight: 400; }
.tyd-cform .wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 0; border: 0; color: var(--tyd-blue); font-size: 14px; }
.tyd-cform .wpcf7-spinner { margin: 0 0 0 12px; vertical-align: middle; }

/* ---- Contactos diretos -------------------------------------------------- */
.tyd-ccards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(16px, 2vw, 28px);
	margin-top: 32px !important;
}

.tyd-page .tyd-ccard { display: flex; flex-direction: column; background: var(--tyd-white); border-radius: 10px; padding: clamp(22px, 2.6vw, 32px); }
.tyd-page .tyd-ccard h3 { font-size: 30px; margin-bottom: 8px; }
.tyd-page .tyd-ccard .wp-block-buttons { margin-top: auto; }
.tyd-page .tyd-ccard .tyd-sub { font-size: 15px; margin-bottom: 20px; opacity: 1; }
.tyd-page .tyd-ccard .tyd-dl { margin-bottom: 24px; }

/* Rótulo e valor em linhas finas. */
.tyd-page .tyd-dl table { border-top: 0.5px solid var(--tyd-blue); }
.tyd-page .tyd-dl :where(td) { border: 0; border-bottom: 0.5px solid var(--tyd-blue); padding: 12px 12px 12px 0; font-size: 15px; line-height: 1.5; vertical-align: top; }
.tyd-page .tyd-dl td:first-child { width: 110px; min-width: 110px; white-space: nowrap; font-size: 14px; font-weight: 700; }
.tyd-page .tyd-dl a { font-weight: 400; }
.tyd-page .tyd-dl small { font-size: 13px; }

.tyd-page .tyd-dl td:last-child { width: 100%; padding-right: 0; }

/* ---- Obrigado ----------------------------------------------------------- */
.tyd-thanks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 100%;
	height: calc(100vh - var(--tyd-top-h));
	height: calc(100svh - var(--tyd-top-h));
	min-height: 520px;
	overflow: hidden;
	background: var(--tyd-blue);
	color: var(--tyd-nude);
}

.tyd-thanks-txt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(32px, 6vw, 96px);
	padding-left: max(var(--tyd-gutter), calc((100vw - 1240px) / 2 + var(--tyd-gutter)));
}

.tyd-page .tyd-thanks .tyd-big { font-size: clamp(52px, 6vw, 96px); margin-bottom: 20px; }
.tyd-thanks .wp-block-buttons { margin-top: 32px; }
.tyd-thanks .wp-block-image { height: 100%; min-height: 0; }
.tyd-thanks img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }

/* ---- Estreito ----------------------------------------------------------- */
@media (max-width: 1100px) {
	.tyd-formats { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
	.tyd-split,
	.tyd-ccards,
	.tyd-thanks,
	.tyd-form { grid-template-columns: 1fr; }
	.tyd-split-rev > :first-child { order: 0; }
	.tyd-thanks { height: auto; grid-template-rows: auto; }
	.tyd-thanks img { max-height: 45vh; }
}

@media (max-width: 600px) {
	.tyd-formats { grid-template-columns: 1fr; }

	/* Cabeçalho do Treino: texto primeiro, foto em bloco de 280px. */
	.tyd-pagehead-fit .tyd-widephoto { flex: 0 0 280px; height: 280px; }
	.tyd-page .tyd-pagehead .tyd-big { font-size: 52px; }
	.tyd-pagehead .wp-block-buttons,
	.tyd-band .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.tyd-pagehead .wp-block-button,
	.tyd-pagehead .wp-block-button__link,
	.tyd-thanks .wp-block-button,
	.tyd-thanks .wp-block-button__link,
	.tyd-ccard .wp-block-button,
	.tyd-ccard .wp-block-button__link,
	.tyd-home .wpcf7 input[type="submit"] { width: 100%; }

	.tyd-cform { min-height: 0; }
	.tyd-page .tyd-ccard h3 { font-size: 34px; }
	.tyd-page .tyd-dl td:first-child { width: 84px; min-width: 84px; }

	.tyd-thanks-txt { padding: 36px var(--tyd-gutter); }
	.tyd-page .tyd-thanks .tyd-big { font-size: 52px; }
	.tyd-thanks img { max-height: none; aspect-ratio: 4 / 3; height: auto; }
}

/* =========================================================================
   Produtos, curso online, ebooks e Obrigado do ebook (task Fractional fc7f0b67).
   Mesmo template page-tyd. O botão "Comprar ebook" é um bloco Botão com a
   classe .tyd-buy e href #comprar-<service_id>; o script no functions.php
   troca o salto pelo checkout do Stripe.
   ========================================================================= */

/* Submenu Produtos: sobre o azul, sem o fundo branco do core. */
.tyd-menu .wp-block-navigation__submenu-container {
	background: var(--tyd-blue) !important;
	color: var(--tyd-nude) !important;
	border: 0.5px solid var(--tyd-nude) !important;
	padding: 6px 0;
	min-width: 240px;
}

.tyd-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 16px; }

/* ---- Cartões de produto ------------------------------------------------ */
.tyd-prods { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 28px); }

/* Os cantos de cima ficam retos: as fotografias nunca são arredondadas. */
.tyd-prod {
	display: flex;
	flex-direction: column;
	background: var(--tyd-white);
	border-radius: 0 0 10px 10px;
	overflow: hidden;
}

.tyd-prod .wp-block-image { background: var(--tyd-sand); }
.tyd-prod .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.tyd-prod .tyd-contain img { object-fit: contain; padding: 12px; box-sizing: border-box; }
.tyd-prod .tyd-top-crop img { object-position: 50% 20%; }

.tyd-prod-body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.tyd-page .tyd-type { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 10px; color: var(--tyd-ochre); }
.tyd-prod h3 { font-size: 30px; margin-bottom: 12px; }
.tyd-prod p:not(.tyd-type) { font-size: 16px; line-height: 1.55; margin-bottom: 24px; }
.tyd-home .tyd-prod .wp-block-button__link { padding: 12px 22px; }
.tyd-prod .wp-block-buttons { margin-top: auto; }

/* ---- Como funciona a compra / números do curso ------------------------- */
.tyd-facts { display: grid; gap: clamp(16px, 2vw, 28px); grid-template-columns: repeat(3, 1fr); }
.tyd-facts > div { border-top: 1px solid var(--tyd-blue); padding-top: 16px; }
.tyd-facts h3 { font-size: 28px; margin-bottom: 6px; }

/* Como funciona a compra: duas colunas entre linhas finas. */
.tyd-how { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(20px, 3vw, 40px); margin-top: 4px !important; border-top: 0.5px solid var(--tyd-blue); }
.tyd-how > div { padding-block: 24px; border-bottom: 0.5px solid var(--tyd-blue); }
.tyd-how h3 { font-size: 30px; margin-bottom: 12px; }
.tyd-how p { font-size: 16px; max-width: 50ch; }

/* ---- Programa / capítulos numerados ------------------------------------- */
.tyd-split-top { align-items: start; }

.tyd-chapters { list-style: none; padding: 0; counter-reset: tyd-ch; }

.tyd-chapters li {
	counter-increment: tyd-ch;
	display: grid;
	grid-template-columns: 64px 1fr;
	column-gap: 12px;
	padding: 16px 0;
	border-bottom: 0.5px solid currentColor;
	font-size: 14px;
}

.tyd-chapters li::before {
	content: counter(tyd-ch, decimal-leading-zero);
	grid-row: span 2;
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-size: 34px;
	line-height: 1;
	color: var(--tyd-yellow);
}

.tyd-chapters strong { display: block; font-size: 17px; }
.tyd-dark .tyd-chapters { max-width: 820px; }

/* ---- Compra ------------------------------------------------------------ */
.tyd-page .tyd-payfine { font-size: 13px; opacity: 0.85; margin-top: 14px; }
.tyd-pagehead .tyd-payfine { margin-bottom: 0 !important; }
.tyd-payfine a { color: inherit; }

.tyd-buy-erro { font-size: 14px; margin-top: 12px; color: var(--tyd-yellow); }
.tyd-band .tyd-buy-erro { color: var(--tyd-blue); flex-basis: 100%; margin-top: 0; }
.tyd-band p a { color: inherit; }

/* ---- Capas e autor ------------------------------------------------------ */
.tyd-split .tyd-cover img { aspect-ratio: auto; object-fit: contain; }
.tyd-split .tyd-cover-portrait img { max-width: 420px; margin-inline: auto; }

.tyd-split.tyd-author { grid-template-columns: 1fr 1.2fr; }
.tyd-split .tyd-author-photo img { aspect-ratio: 3 / 2; }

.tyd-page .tyd-kicker-blue { color: var(--tyd-blue); }

/* Comentários dos leitores: grelha simples de 2 colunas, todos iguais. Anula o
   destaque do primeiro testemunho da Home. */
.tyd-quotes-2 { grid-template-columns: repeat(2, 1fr); }
.tyd-quotes.tyd-quotes-2 { grid-template-rows: none; }
.tyd-quotes.tyd-quotes-2 > :first-child { grid-row: auto; }
.tyd-home .tyd-quotes.tyd-quotes-2 .wp-block-quote,
.tyd-home .tyd-quotes.tyd-quotes-2 .wp-block-quote:first-child { background: var(--tyd-white); padding: clamp(22px, 2.6vw, 32px); gap: 24px; font-size: 16px; line-height: 1.6; }
.tyd-home .tyd-quotes.tyd-quotes-2 .wp-block-quote:first-child cite { font-size: 20px; }

.tyd-thanks .tyd-muted { margin-top: 12px; }

@media (max-width: 900px) {
	.tyd-prods,
	.tyd-how,
	.tyd-facts,
	.tyd-quotes-2,
	.tyd-split.tyd-author { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	/* As regras de rail horizontal do ≤600 apanham .tyd-quotes; aqui não. */
	.tyd-quotes.tyd-quotes-2 { display: grid; overflow: visible; margin-inline: 0; padding: 0; }
	.tyd-prod h3 { font-size: 26px; }
	.tyd-chapters li { grid-template-columns: 48px 1fr; }
	.tyd-chapters li::before { font-size: 28px; }
}


/* =========================================================================
   Blog: índice, arquivo de categoria e artigo (task Fractional 511c3e07).
   v2: desenho da Mariana de 15/09/2026 (Mockup-Blog-TYD.html). Os 74 artigos
   vêm do site antigo em HTML clássico e não se tocam: o que o desenho pede por
   cima do texto é feito à saída, no functions.php (bark_tyd_blog_article_html).
   ========================================================================= */

body.blog .wp-site-blocks > *,
body.archive .wp-site-blocks > *,
body.search .wp-site-blocks > *,
body.single-post .wp-site-blocks > * { margin-block-start: 0; }

.tyd-blog > *,
.tyd-blog .is-layout-flow > *,
.tyd-blog .wp-block-post-template > li > * { margin-block-start: 0; }

.tyd-blog .tyd-white { background: var(--tyd-white); }

/* O menu marca "Blog" em todas as páginas do blog. */
body:is(.blog, .archive, .search, .single-post) .tyd-menu a[href$="/blog/"] { box-shadow: inset 0 -2px 0 var(--wp--preset--color--theme-4); }

/* ---- Peças comuns -------------------------------------------------------- */
.tyd-blog .tyd-kicker { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 12px; }
.tyd-label { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 12px; }
.tyd-btitle { font-size: clamp(52px, 6.4vw, 92px) !important; line-height: 0.95 !important; }

.tyd-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 13px; margin: 12px 0 6px !important; }
.tyd-chip { background: var(--tyd-nude); border-radius: 999px; padding: 2px 10px; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }

.tyd-blog .wp-block-post-title a { text-decoration: none; }
.tyd-blog .wp-block-post-excerpt { font-size: 15px; }
.tyd-blog .wp-block-post-excerpt__excerpt { margin: 0; }
.tyd-blog .wp-block-post-excerpt__more-text { display: none; }
.tyd-blog .wp-block-post-featured-image { margin: 0; }
.tyd-blog .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.tyd-blog :where(.wp-block-post-template) { list-style: none; margin: 0; padding: 0; max-width: none; }

.tyd-tchips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.tyd-tchips a,
.tyd-cats a {
	display: inline-flex;
	align-items: center;
	padding: 0.45em 1.1em;
	border-radius: 999px;
	background: var(--tyd-nude);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
}
.tyd-tchips a.is-on { background: var(--tyd-blue); color: var(--tyd-nude); }

.tyd-pages { margin-top: clamp(40px, 5vw, 56px) !important; gap: 8px; font-size: 15px; font-weight: 700; }
.tyd-pages a,
.tyd-pages .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	box-sizing: border-box;
	color: var(--tyd-blue);
	text-decoration: none;
	border: 1px solid var(--tyd-blue);
	border-radius: 999px;
}
.tyd-pages .page-numbers.current { background: var(--tyd-blue); color: var(--tyd-nude); }
.tyd-pages .page-numbers.dots { border: 0; min-width: 0; padding: 0 4px; }
.tyd-pages .wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: 8px; }

.tyd-rec-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin: 0 0 24px; }
.tyd-blog .tyd-rec-title { font-size: clamp(28px, 3vw, 40px); margin: 0; }
.tyd-blog .tyd-rec-head .tyd-more { margin: 0; }

/* ---- Índice: cabeçalho ------------------------------------------------------ */
.tyd-bhead { background: var(--tyd-nude); }
.tyd-bhead > .tyd-wrap { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(32px, 4vw, 48px); }
.tyd-bhead .tyd-kicker { color: var(--tyd-blue); }
.tyd-bhead-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(24px, 5vw, 80px);
	align-items: end;
	padding-bottom: clamp(28px, 4vw, 40px);
	border-bottom: 0.5px solid var(--tyd-blue);
}
.tyd-bhead .tyd-btitle { margin: 0; }

.tyd-search .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.tyd-search .wp-block-search__input {
	width: 100%;
	font: inherit;
	font-size: 16px;
	color: var(--tyd-blue);
	background: var(--tyd-white);
	border: 0;
	border-radius: 999px;
	padding: 14px 22px;
}
.tyd-search .wp-block-search__input:focus { outline: 2px solid var(--tyd-yellow); outline-offset: 1px; }
.tyd-shint { font-size: 13px; margin: 10px 0 0 22px !important; opacity: 0.8; }

.tyd-temas-box { padding-top: clamp(24px, 3vw, 32px); }
.tyd-temas-head { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.tyd-blog .tyd-temas-title { font-size: 26px; margin: 0; }
.tyd-todas summary { cursor: pointer; font-size: 14px; font-weight: 700; }
.tyd-todas[open] { flex-basis: 100%; }
.tyd-todas[open] summary { margin-bottom: 12px; }
.tyd-home .tyd-cats { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.tyd-cats .cat-item { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.tyd-cats a { background: var(--tyd-white); }
.tyd-cats a::first-letter { text-transform: uppercase; }
.tyd-cats .cat-item-1 { display: none; } /* "Sem categoria" */

.tyd-temas { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; list-style: none; margin: 0; padding: 0; }
.tyd-temas a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	box-sizing: border-box;
	min-height: 96px;
	padding: 16px;
	background: var(--tyd-white);
	border-radius: 10px;
	text-decoration: none;
	transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
.tyd-temas a:hover { opacity: 0.85; }
.tyd-temas strong { font-family: var(--wp--preset--font-family--bebas-neue); font-weight: 400; font-size: 24px; line-height: 1; text-transform: uppercase; }
.tyd-temas span { font-size: 13px; line-height: 1.35; opacity: 0.8; }
.tyd-bhead .tyd-tchips { display: none; }

/* ---- Índice: destaque e grelha -------------------------------------------------- */
.tyd-bsec { padding-block: clamp(40px, 6vw, 72px); }

.tyd-feat .wp-block-post-template > li { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: clamp(48px, 6vw, 72px); }
.tyd-feat .tyd-feat-photo img { min-height: 360px; }
.tyd-feat-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(28px, 4vw, 56px);
	background: var(--tyd-blue);
	color: var(--tyd-nude);
	border-radius: 0 10px 10px 0; /* a foto fica reta */
}
.tyd-feat .tyd-kicker { color: var(--tyd-yellow); }
.tyd-home .tyd-feat .wp-block-post-title { font-size: clamp(34px, 3.6vw, 52px); color: var(--tyd-white); margin: 0 0 16px; }
/* Os links herdam o azul do tema; no bloco azul ficariam invisíveis. */
.tyd-feat .wp-block-post-title a,
.tyd-ahead .wp-block-post-title a { color: inherit; }
.tyd-feat .wp-block-post-excerpt { font-size: 17px; margin: 0 0 24px; max-width: 44ch; }
.tyd-feat-cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.tyd-feat-cta .tyd-meta { margin: 0 !important; font-size: 14px; }
.tyd-readmore {
	display: inline-block;
	padding: 0.75em 1.5em;
	border-radius: 999px;
	background: var(--tyd-yellow);
	color: var(--tyd-blue);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.tyd-bcards { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.4vw, 32px); }
.tyd-bcards > li,
.tyd-ccards .wp-block-post-template > li { display: flex; flex-direction: column; margin: 0; }
.tyd-home .tyd-bcards .wp-block-post-title,
.tyd-home .tyd-ccards .wp-block-post-title,
.tyd-home .tyd-rows .wp-block-post-title { font-size: 26px; margin: 0 0 8px; }

/* ---- Categoria e pesquisa -------------------------------------------------------- */
.tyd-chead { background: var(--tyd-nude); }
.tyd-chead > .tyd-wrap {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 24px;
	flex-wrap: wrap;
	padding-top: clamp(32px, 5vw, 56px);
	padding-bottom: clamp(32px, 5vw, 48px);
}
.tyd-chead .tyd-btitle { margin: 0 0 12px; }
.tyd-crumb-static,
.tyd-crumb { font-size: 13px; margin-bottom: 12px !important; }
.tyd-crumb-static a,
.tyd-crumb a { font-weight: 700; text-decoration: none; }
.tyd-crumb-static a::after { content: " /"; font-weight: 400; }
.tyd-chead .is-style-outline .wp-block-button__link { border-color: var(--tyd-blue); color: var(--tyd-blue); }
.tyd-blog-search .tyd-search { margin-top: 16px; max-width: 480px; }
.tyd-stitle { font-size: clamp(40px, 5vw, 72px) !important; }

.tyd-csec { padding-block: clamp(40px, 6vw, 72px); }
.tyd-rows .wp-block-post-template { border-top: 0.5px solid var(--tyd-blue); }
.tyd-rows .wp-block-post-template > li {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: clamp(20px, 3vw, 32px);
	align-items: center;
	padding: 24px 0;
	margin: 0;
	border-bottom: 0.5px solid var(--tyd-blue);
}
.tyd-rows .tyd-meta { margin-top: 0 !important; }
.tyd-rows .wp-block-post-excerpt { max-width: 60ch; }
.tyd-outros { margin-top: 40px; }
.tyd-blog .tyd-prox { font-size: 24px; margin: 0 0 12px; }

/* ---- Artigo ---------------------------------------------------------------------- */
.tyd-progress { position: sticky; top: 0; z-index: 20; height: 3px; }
.tyd-progress span { display: block; height: 100%; width: 0; background: var(--tyd-yellow); }

.tyd-ahead { background: var(--tyd-blue); color: var(--tyd-nude); }
.tyd-ahead > .tyd-wrap { max-width: 1040px; padding-top: clamp(36px, 5vw, 64px); padding-bottom: clamp(32px, 4vw, 48px); }
.tyd-ahead .tyd-crumb a { color: var(--tyd-yellow); }
.tyd-ahead .tyd-crumb a + a { color: inherit; font-weight: 400; }
.tyd-home .tyd-atitle { font-size: clamp(44px, 5.6vw, 80px); line-height: 0.95; color: var(--tyd-nude); margin: 0 0 16px; }
.tyd-asub { font-size: 19px; max-width: 56ch; margin: 0 0 20px !important; }
.tyd-byline { font-size: 14px; opacity: 0.85; }

.tyd-home .tyd-aphoto { margin: 0; }
.tyd-aphoto img { display: block; width: 100%; height: clamp(240px, 34vw, 480px) !important; object-fit: cover; object-position: 50% 60%; }

.tyd-agrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: clamp(32px, 6vw, 96px);
	max-width: 1140px;
	padding-top: clamp(40px, 5vw, 64px);
	padding-bottom: clamp(56px, 7vw, 96px);
}

.tyd-atext .wp-block-post-content { font-size: 18px; line-height: 1.7; overflow-wrap: break-word; }
.tyd-atext .wp-block-post-content > :where(p, ul, ol, blockquote, figure, table, details) { margin: 0 0 1.1em; }
.tyd-atext .wp-block-post-content .tyd-lead { font-size: 21px; line-height: 1.55; }
.tyd-atext .wp-block-post-content :where(h2, h3, h4) { margin: 1.6em 0 0.5em; scroll-margin-top: 24px; }
.tyd-atext .wp-block-post-content h2 { font-size: clamp(30px, 3vw, 40px); }
.tyd-atext .wp-block-post-content :where(h3, h4) { font-size: 26px; }
.tyd-atext .wp-block-post-content a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.tyd-atext .wp-block-post-content img { max-width: 100%; height: auto; border-radius: 0; }
.tyd-atext .wp-block-post-content .aligncenter { display: block; margin-inline: auto; }
.tyd-atext .wp-block-post-content .alignleft { float: left; margin: 0.3em 1.5em 1em 0; }
.tyd-atext .wp-block-post-content .alignright { float: right; margin: 0.3em 0 1em 1.5em; }

/* Listas com visto, como no desenho. */
.tyd-atext .wp-block-post-content ul { list-style: none; padding: 0; }
.tyd-atext .wp-block-post-content ul li { position: relative; padding-left: 30px; }
.tyd-atext .wp-block-post-content ul li + li { margin-top: 0.5em; }
.tyd-atext .wp-block-post-content ul li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.45em;
	width: 14px;
	height: 8px;
	border-left: 2.5px solid var(--tyd-blue);
	border-bottom: 2.5px solid var(--tyd-blue);
	transform: rotate(-45deg);
}

.tyd-pausa {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	margin: 2em 0 !important;
	padding: 24px 28px;
	background: var(--tyd-nude);
	border-radius: 10px;
}
.tyd-pausa p { margin: 0; font-size: 15px; max-width: 40ch; }
.tyd-pausa .tyd-pausa-title { font-family: var(--wp--preset--font-family--bebas-neue); font-size: 28px; line-height: 1; text-transform: uppercase; max-width: none; margin-bottom: 4px; }
.tyd-atext .wp-block-post-content .tyd-pausa .wp-element-button { background: var(--tyd-blue); color: var(--tyd-nude); border-radius: 999px; padding: 0.75em 1.5em; font-size: 15px; font-weight: 700; text-decoration: none; }

.tyd-faq { border-top: 0.5px solid var(--tyd-blue); margin: 0 !important; }
.tyd-faq:last-child { border-bottom: 0.5px solid var(--tyd-blue); }
.tyd-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; font-size: 17px; font-weight: 700; }
.tyd-faq summary::-webkit-details-marker { display: none; }
.tyd-faq summary::after { content: "+"; font-weight: 400; font-size: 22px; line-height: 1; }
.tyd-faq[open] summary::after { content: "−"; }
.tyd-faq ul { font-size: 16px; margin: 0 0 18px; }

.tyd-aside > * { margin-bottom: 24px !important; }
.tyd-aside .tyd-toc-box { position: sticky; top: 24px; }
.tyd-toc { background: var(--tyd-nude); border-radius: 10px; padding: 20px 22px; }
.tyd-toc [data-tyd-toc] { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.tyd-toc [data-tyd-toc] a { display: block; padding-left: 12px; border-left: 2px solid transparent; text-decoration: none; opacity: 0.75; }
.tyd-toc [data-tyd-toc] a.is-on { border-color: var(--tyd-blue); opacity: 1; font-weight: 700; }
.tyd-toc-rail { display: none; }

.tyd-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tyd-share .tyd-label { flex-basis: 100%; margin: 0; }
.tyd-wa a,
.tyd-copy {
	display: inline-flex;
	align-items: center;
	padding: 0.4em 1em;
	border: 1px solid var(--tyd-blue);
	border-radius: 999px;
	background: transparent;
	color: var(--tyd-blue);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.tyd-ebook { background: var(--tyd-blue); color: var(--tyd-nude); border-radius: 10px; padding: 22px; }
.tyd-ebook .tyd-kicker { color: var(--tyd-yellow); }
.tyd-home .tyd-ebook h3 { font-size: 26px; color: var(--tyd-white); margin: 0 0 8px; }
.tyd-ebook .tyd-ebook-text { font-size: 14px; margin: 0 0 16px; }

.tyd-related .tyd-ccards .wp-block-post-template { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tyd-ccards .wp-block-post-template > li { background: var(--tyd-white); border-radius: 0 0 10px 10px; overflow: hidden; }
.tyd-ccards .wp-block-post-template > li > :not(.wp-block-post-featured-image) { padding-inline: 20px; }
.tyd-ccards .wp-block-post-template > li > :last-child { padding-bottom: 20px; }
.tyd-home .tyd-ccards .wp-block-post-title { font-size: 22px; }
.tyd-related .tyd-more a { text-decoration: none; }

.tyd-asticky { display: none; }

/* ---- Estreito ------------------------------------------------------------------------ */
@media (max-width: 900px) {
	.tyd-bhead-grid,
	.tyd-agrid { grid-template-columns: 1fr; }
	.tyd-temas { grid-template-columns: repeat(3, 1fr); }
	.tyd-feat .wp-block-post-template > li { grid-template-columns: 1fr; }
	.tyd-feat .tyd-feat-photo img { min-height: 0; aspect-ratio: 16 / 10; }
	.tyd-feat-text { border-radius: 0 0 10px 10px; }
	.tyd-bcards,
	.tyd-related .tyd-ccards .wp-block-post-template { grid-template-columns: 1fr 1fr !important; }
	.tyd-aside { display: none; }
	.tyd-toc-rail { display: block; margin-bottom: 28px; }
	.tyd-toc-rail [data-tyd-toc] { display: flex; flex-wrap: wrap; gap: 8px; }
	.tyd-toc-rail [data-tyd-toc] a { padding: 0.35em 0.9em; border: 1px solid var(--tyd-blue); border-radius: 999px; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
	.tyd-toc-rail [data-tyd-toc] a.is-on { background: var(--tyd-blue); color: var(--tyd-nude); }
}

/* ---- Mobile (≤600) ------------------------------------------------------------------------ */
@media (max-width: 600px) {
	/* A regra da Home põe o .tyd-white .tyd-wrap em coluna flex; aqui não. */
	.tyd-blog .tyd-white .tyd-wrap { display: block; }

	.tyd-btitle { font-size: 48px !important; }
	.tyd-bhead-grid { border: 0; padding-bottom: 0; }
	.tyd-temas-head,
	.tyd-temas { display: none; }
	.tyd-bhead .tyd-tchips,
	.tyd-toc-rail [data-tyd-toc] {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: calc(-1 * var(--tyd-gutter));
		padding: 0 var(--tyd-gutter) 4px;
		scrollbar-width: none;
	}
	.tyd-bhead .tyd-tchips a { background: var(--tyd-white); }
	.tyd-bhead .tyd-tchips a.is-on { background: var(--tyd-blue); }

	.tyd-feat-text { padding: 24px; }
	.tyd-home .tyd-feat .wp-block-post-title { font-size: 34px; }
	.tyd-feat .tyd-readmore { display: none; }

	.tyd-bcards { grid-template-columns: 1fr !important; gap: 0; }
	.tyd-bcards > li {
		display: grid;
		grid-template-columns: 96px 1fr;
		grid-template-rows: auto auto 1fr;
		column-gap: 14px;
		padding: 14px 0;
		border-bottom: 0.5px solid rgba(45, 74, 87, 0.3);
	}
	.tyd-bcards > li > .wp-block-post-featured-image { grid-row: 1 / 4; aspect-ratio: 1 !important; }
	.tyd-bcards .tyd-meta { margin-top: 0 !important; font-size: 11px; }
	.tyd-bcards .tyd-chip { background: none; padding: 0; }
	.tyd-home .tyd-bcards .wp-block-post-title { font-size: 20px; margin-bottom: 4px; }
	.tyd-bcards .wp-block-post-excerpt { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	/* Em mobile, "Mais artigos" em botão largo e sem números. */
	.tyd-feed .tyd-pages .wp-block-query-pagination-numbers,
	.tyd-feed .tyd-pages .wp-block-query-pagination-previous { display: none; }
	.tyd-feed .tyd-pages .wp-block-query-pagination-next { flex: 1; justify-content: center; }

	.tyd-rows .wp-block-post-template > li { grid-template-columns: 110px 1fr; gap: 14px; align-items: start; }
	.tyd-home .tyd-rows .wp-block-post-title { font-size: 22px; }
	.tyd-rows .wp-block-post-excerpt { font-size: 14px; }
	.tyd-chead .wp-block-buttons { display: none; }

	.tyd-home .tyd-atitle { font-size: 44px; }
	.tyd-asub { font-size: 17px; }
	.tyd-atext .wp-block-post-content { font-size: 17px; }
	.tyd-atext .wp-block-post-content .tyd-lead { font-size: 19px; }
	.tyd-atext .wp-block-post-content :where(.alignleft, .alignright) { float: none; margin: 0 0 1em; }
	.tyd-pausa .wp-element-button { width: 100%; text-align: center; }

	.tyd-related .tyd-ccards .wp-block-post-template {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin-inline: calc(-1 * var(--tyd-gutter));
		padding: 0 var(--tyd-gutter) 8px;
		scrollbar-width: none;
	}
	.tyd-related .tyd-ccards .wp-block-post-template > li { flex: 0 0 260px; scroll-snap-align: start; }
	.tyd-related .tyd-rec-head .tyd-more { display: none; }

	body.single-post .tyd-asticky {
		display: flex;
		align-items: center;
		gap: 10px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 30;
		padding: 10px 20px calc(10px + env(safe-area-inset-bottom));
		background: var(--wp--preset--color--theme-1);
		border-top: 0.5px solid rgba(45, 74, 87, 0.3);
	}
	body.single-post .tyd-asticky .wp-block-buttons { flex: 1; }
	body.single-post .tyd-asticky .wp-block-button,
	body.single-post .tyd-asticky .wp-block-button__link { width: 100%; text-align: center; }
	body.single-post .tyd-asticky .tyd-copy { --tyd-blue: var(--wp--preset--color--theme-5); }
	body.single-post .tyd-prr { padding-bottom: calc(24px + 64px + env(safe-area-inset-bottom)); }
}

/* [qbutton] dos artigos importados: botão alinhado com o texto do artigo. */
.tyd-qbutton { margin-block: 32px; }

/* Ícone do CookieYes (canto inferior esquerdo): em telemóvel, na Home e nos artigos,
   ficava por cima da barra fixa de baixo. Sobe para cima dela (72px da barra + 12px). */
@media (max-width: 600px) {
	body:is(.home, .single-post) .cky-btn-revisit-wrapper { bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
}

/* =========================================================================
   Desktop: só ocupa o ecrã inteiro o que é o primeiro ecrã de uma página
   (o hero da Home e os cabeçalhos com foto a toda a largura: Treino, Hotel e
   creche, Curso online) e o Obrigado. As outras secções têm a altura do
   conteúdo, como nos desenhos: nada de encolher títulos, fotos ou margens
   pela altura da janela.
   ========================================================================= */
@media (min-width: 901px) {
	.tyd-hero,
	.tyd-pagehead-fit {
		height: calc(100vh - var(--tyd-top-h));
		height: calc(100svh - var(--tyd-top-h));
		min-height: 560px;
	}

	.tyd-hero .tyd-hero-photo,
	.tyd-pagehead-fit .tyd-widephoto { flex: 1 1 auto; height: auto; min-height: 220px; }

	/* Desenho da Home que não depende da altura da janela. */
	.tyd-hero-text { grid-template-columns: 1.3fr 1fr; }
	.tyd-feature { margin-top: 0 !important; }
	.tyd-cards img { aspect-ratio: 3 / 2; object-position: 50% 62%; }
	.tyd-cards p { line-height: 1.45; }
}

/* =========================================================================
   Ajustes aos desenhos das páginas (.dc.html de 16/09/2026).
   ========================================================================= */

/* ---- Cabeçalhos das páginas interiores: duas colunas iguais ------------- */
.tyd-pagehead-grid { padding-top: clamp(44px, 5.5vw, 80px); padding-bottom: clamp(40px, 5vw, 72px); }
@media (min-width: 901px) {
	.tyd-pagehead-grid { grid-template-columns: 1fr 1fr; }
}
.tyd-page .tyd-pagehead .tyd-big { font-size: clamp(48px, 6vw, 96px); }
.tyd-pagehead-grid > div > p:not(.tyd-big):not(.tyd-kicker) { font-size: 17px; max-width: 46ch; }

/* ---- Contactos: o formulário não estica até ao fim do ecrã -------------- */
.tyd-cform { display: block; min-height: 0; }
.tyd-cform > .tyd-pagehead-grid { align-items: start; padding-bottom: clamp(48px, 6vw, 88px); }
/* Formulário: todos os campos com a mesma altura. Os <select> perdem o aspeto
   nativo (o Safari ignora o padding e deixava-os com metade da altura) e levam
   a seta desenhada. Duas colunas no desktop, uma no telemóvel. */
.tyd-home .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], select) { height: 50px; padding-block: 0; line-height: 1.2; }
.tyd-home .wpcf7 .tyd-form select.wpcf7-select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 40px;
	text-overflow: ellipsis;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232D4A57' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}
.tyd-home .wpcf7 textarea { height: 150px; min-height: 0; resize: vertical; }
.tyd-home .wpcf7 .tyd-form label { align-content: start; }
.tyd-form .tyd-consent input[type="checkbox"] { width: 20px; height: 20px; margin: 1px 0 0; flex: none; accent-color: var(--tyd-blue); }
.tyd-home .wpcf7 .tyd-form .tyd-consent label { align-items: center; line-height: 1.5; }
.tyd-home .wpcf7 input[type="submit"] { min-height: 50px; padding-block: 0; }

@media (min-width: 901px) {
	.tyd-form { grid-template-columns: 1fr 1fr; column-gap: 16px; row-gap: 18px; }
}


/* ---- Hotel e creche: "Antes de marcar" em três colunas ------------------ */
@media (min-width: 1101px) {
	.tyd-ticks-cols { grid-template-columns: repeat(3, 1fr); }
}

/* ---- Tabela de preços ---------------------------------------------------- */
.tyd-sechead { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 16px; }
.tyd-sechead p { font-size: 16px; line-height: 1.5; }
.tyd-pgrid { align-items: start; margin-top: 24px !important; }
.tyd-page .tyd-dark .tyd-pcard:not(.tyd-pack) { background: var(--tyd-white); }
.tyd-page .tyd-pcard { padding: clamp(22px, 2.4vw, 30px); }

/* ---- Faixa final: título em duas linhas (Produtos) ------------------------ */
.tyd-band > .tyd-wrap { padding-block: clamp(44px, 5vw, 72px); }
.tyd-band p { max-width: 56ch; }
.tyd-band-2l h2 { max-width: 20ch; font-size: clamp(34px, 4.2vw, 56px); }

/* ---- Curso online: factos em cartões brancos ----------------------------- */
.tyd-facts-sec.tyd-sec { padding-block: clamp(48px, 6vw, 80px); }
.tyd-facts > div { background: var(--tyd-white); border: 0; border-radius: 10px; padding: 26px; }
.tyd-facts h3 { font-size: 34px; margin-bottom: 10px; }
.tyd-facts p { font-size: 16px; line-height: 1.55; }

/* ---- Capítulos: número pequeno ao lado, título em Bebas ------------------- */
.tyd-chapters { border-top: 0.5px solid var(--tyd-yellow); }
.tyd-chapters li { grid-template-columns: auto 1fr; column-gap: 18px; padding: 16px 0; border-bottom: 0.5px solid var(--tyd-yellow); font-size: 16px; line-height: 1.55; }
.tyd-chapters li::before { font-size: 22px; line-height: 1.2; flex: none; }
.tyd-chapters strong {
	display: block;
	margin-bottom: 4px;
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--tyd-white);
}
.tyd-dark .tyd-split .tyd-chapters { max-width: none; }
.tyd-split-top > div > p { font-size: 17px; max-width: 40ch; }

/* ---- Ebooks: capas num cartão de cor, títulos mais pequenos --------------- */
.tyd-split:has(.tyd-cover) h2,
.tyd-author h2 { font-size: clamp(40px, 4.8vw, 64px); line-height: 0.95; margin-bottom: 18px; }
.tyd-split .tyd-cover { background: var(--tyd-sand); border-radius: 10px; padding: clamp(20px, 2.4vw, 32px); box-sizing: border-box; }
.tyd-nude .tyd-split .tyd-cover { background: var(--tyd-white); }
.tyd-split .tyd-cover-portrait img { max-width: 360px; }
@media (min-width: 901px) {
	.tyd-split.tyd-author { grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); }
}
.tyd-author .tyd-kicker { font-size: 13px; letter-spacing: 0.16em; margin-bottom: 12px; }
.tyd-split:has(.tyd-cover) { gap: clamp(28px, 5vw, 72px); }

/* Leitores: o primeiro comentário em destaque, na coluna da esquerda. */
@media (min-width: 901px) {
	.tyd-quotes.tyd-quotes-2 { grid-template-rows: auto auto; grid-auto-flow: column; gap: clamp(16px, 2vw, 24px); margin-top: 28px !important; }
	.tyd-home .tyd-quotes.tyd-quotes-2 .wp-block-quote:first-child { font-size: clamp(20px, 2.1vw, 26px); line-height: 1.4; }
	.tyd-home .tyd-quotes.tyd-quotes-2 .wp-block-quote:first-child cite { font-size: 22px; }
}

/* ---- Páginas legais: cabeçalho azul, índice fixo e texto ----------------- */
.tyd-legal-head .tyd-wrap { position: relative; padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(36px, 4.5vw, 64px); }
.tyd-page .tyd-legal-head .tyd-big { font-size: clamp(44px, 5.4vw, 80px); line-height: 0.92; }
.tyd-legal-head .tyd-wrap > p:not(.tyd-big):not(.tyd-kicker) { margin: 20px 0 0 !important; font-size: 17px; max-width: 60ch; }
.tyd-legal-head .tyd-wrap > p.tyd-revisao { margin-top: 16px !important; font-size: 14px; color: #C9B69F; }
.tyd-home .tyd-legal-head .tyd-kicker { margin-bottom: 14px; }
.tyd-legal-sec.tyd-sec { padding-block: clamp(48px, 6vw, 80px); }

.tyd-legal-grid { display: flex; flex-wrap: wrap; gap: clamp(28px, 4vw, 64px); align-items: flex-start; }
.tyd-ltoc { flex: 1 1 240px; min-width: 220px; position: sticky; top: 16px; }
.tyd-ltoc-title { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 12px !important; }
.tyd-ltoc nav { border-top: 0.5px solid var(--tyd-blue); }
.tyd-ltoc a { font-weight: 400; display: block; padding: 10px 0; border-bottom: 0.5px solid var(--tyd-blue); font-size: 15px; line-height: 1.4; color: inherit; text-decoration: none; }

.tyd-legal-body { flex: 3 1 460px; min-width: 0; max-width: 68ch; font-size: 16px; line-height: 1.65; }
.tyd-legal-body > * + * { margin-top: 14px !important; }
.tyd-legal-body :where(h2, h3) { scroll-margin-top: 24px; }
.tyd-legal-body h2 { font-size: clamp(28px, 3vw, 38px); margin-top: 40px !important; }
.tyd-legal-body h3 { font-size: 24px; line-height: 1.05; margin-top: 32px !important; }
.tyd-legal-body h2 + h3 { margin-top: 6px !important; }
.tyd-legal-body > :first-child { margin-top: 0 !important; }
.tyd-legal-body :where(ul, ol) { padding-left: 1.2em; }
.tyd-legal-body li + li { margin-top: 6px; }
.tyd-legal-body a { color: inherit; font-weight: 400; text-decoration: underline; }
.tyd-legal-body:not(:has(h2)) h3 { font-size: clamp(28px, 3vw, 38px); margin-top: 36px !important; }
.tyd-legal-body .tyd-revisao { font-size: 14px; opacity: 0.85; }

/* Ficha do projeto: rótulo e valor em linhas finas. */
.tyd-drows { border-top: 0.5px solid var(--tyd-blue); }
.tyd-drows > p { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 4px 24px; margin: 0 !important; padding: 14px 0; border-bottom: 0.5px solid var(--tyd-blue); font-size: 16px; line-height: 1.5; }
.tyd-drows strong { font-size: 14px; }
.tyd-legal-body .tyd-box { background: var(--tyd-sand); border-radius: 10px; padding: 24px; margin-top: 32px !important; }

/* Resolução de litígios: dois cartões lado a lado. */
.tyd-lcards { display: flex; flex-wrap: wrap; gap: clamp(20px, 3vw, 32px); }
.tyd-lcard { flex: 1 1 380px; min-width: min(100%, 300px); display: flex; flex-direction: column; background: var(--tyd-sand); border-radius: 10px; padding: clamp(24px, 3vw, 36px); font-size: 16px; line-height: 1.65; }
.tyd-lcard h2 { font-size: clamp(28px, 3vw, 36px); margin-bottom: 16px !important; }
.tyd-lcard > p { margin-bottom: 16px !important; }
.tyd-lcard .tyd-drows { margin-bottom: 20px !important; }
.tyd-lcard .tyd-drows > p { display: block; padding: 12px 0; }
.tyd-lcard a { color: inherit; font-weight: 400; text-decoration: underline; word-break: break-word; }
.tyd-lcard .tyd-logo-box { margin-top: auto !important; align-self: flex-start; background: var(--tyd-white); border-radius: 5px; padding: 16px; }
.tyd-lcard .tyd-logo-box img { display: block; width: 180px; height: auto; }

@media (max-width: 900px) {
	.tyd-ltoc { position: static; }
}

/* =========================================================================
   Mobile (≤600px): proposta "design_handoff_mobile" de 16/09/2026.
   Barra do topo fixa com CTA curto, sem barra fixa no fundo; listas em vez
   de grelhas; rails só nos serviços da Home e nos chips.
   ========================================================================= */
.tyd-mob,
.tyd-cards > article.tyd-mob { display: none; }

@media (max-width: 900px) {
	.tyd-ticks-cols { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.tyd-mob { display: revert; }
	.tyd-cards > article.tyd-mob { display: flex; }
	.tyd-desk,
	.tyd-mob-hide { display: none !important; }

	/* ---- Barra do topo fixa; sem barra no fundo -------------------------- */
	.wp-site-blocks > .wp-block-template-part:has(> .tyd-top) { position: sticky; top: 0; z-index: 60; }
	.tyd-top > .tyd-wrap { min-height: 64px; padding: 12px 20px; }
	.tyd-logo img { height: 32px; }
	.tyd-top-nav { gap: 10px; }
	.tyd-top .wp-block-button__link { min-height: 44px; padding: 0 16px; font-size: 13px; font-weight: 700; }
	body .tyd-sticky,
	body.home .tyd-sticky { display: none !important; }
	body.home .tyd-prr { padding-bottom: 24px; }
	body.home .cky-btn-revisit-wrapper { bottom: 16px !important; }
	.tyd-foot .tyd-logo img { height: 44px; }

	/* ---- Escala e ritmo -------------------------------------------------- */
	.tyd-sec { padding-block: 32px 36px; }
	.tyd-home h2,
	.tyd-sec h2 { font-size: 38px; margin-bottom: 16px; }
	.tyd-page .tyd-pagehead .tyd-big,
	.tyd-page .tyd-legal-head .tyd-big { font-size: 48px; }
	.tyd-pagehead-grid { padding-top: 32px; padding-bottom: 36px; gap: 16px; }
	.tyd-pagehead-grid > div > p:not(.tyd-big):not(.tyd-kicker) { font-size: 16px; }
	.tyd-pagehead-fit .tyd-widephoto { flex: 0 0 220px; height: 220px; }
	.tyd-split { gap: 20px; }
	.tyd-split img { aspect-ratio: 4 / 3; }
	.tyd-split .tyd-author-photo img { aspect-ratio: 3 / 2; }
	.tyd-split .tyd-lead { font-size: 18px; }
	.tyd-ticks-big li { font-size: 24px; }

	/* ---- Home ------------------------------------------------------------ */
	.tyd-home .tyd-kicker-blue { color: var(--tyd-blue); margin-bottom: 12px; text-transform: uppercase; font-size: 12px; letter-spacing: 0.16em; }
	.tyd-home .tyd-sec-follow { display: none; }
	.tyd-cards > .tyd-card-primary { background: var(--tyd-yellow); }
	.tyd-home .tyd-card-primary .wp-block-button__link { background: var(--tyd-blue); border-color: var(--tyd-blue); color: var(--tyd-white); }

	.tyd-stats { grid-template-columns: 1fr; gap: 0; }
	.tyd-stats p { font-size: 15px; line-height: 1.4; padding-block: 14px; border-bottom: 0.5px solid var(--tyd-blue); }
	.tyd-stats p:first-child { padding-top: 0; }
	.tyd-stats p:last-child { border-bottom: 0; padding-bottom: 0; }
	.tyd-stats .tyd-num { font-size: 44px; margin-bottom: 2px; }

	.tyd-city-list > p { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: baseline; gap: 16px; line-height: 1.35; padding-block: 12px; text-align: right; }
	.tyd-city-list .tyd-num { font-size: 30px; text-align: left; flex: none; }
	.tyd-cities .wp-block-button,
	.tyd-cities .wp-block-button__link { width: auto; }

	body.home .tyd-quotes { display: grid; gap: 12px; overflow: visible; margin-inline: 0; padding: 0; }
	body.home .tyd-quotes > .wp-block-quote { flex: none; }
	.tyd-home .tyd-quotes .wp-block-quote:first-child { font-size: 16px; padding: clamp(22px, 2.4vw, 32px); gap: 24px; }
	.tyd-home .tyd-quotes .wp-block-quote:first-child cite { font-size: 20px; }
	body.home .tyd-sec-head .tyd-more,
	body.home .tyd-blog-head .tyd-more { display: none; }

	body.home .tyd-posts .wp-block-post-template { display: grid; gap: 24px; overflow: visible; margin-inline: 0; padding: 0; }
	body.home .tyd-posts .wp-block-post-template > li,
	body.home .tyd-posts .wp-block-post-template > li:not(:first-child),
	body.home .tyd-posts .wp-block-post-template > li:nth-child(2) { display: flex; flex-direction: column; flex: none; }
	body.home .tyd-posts .wp-block-post-excerpt,
	body.home .tyd-posts li:not(:first-child) .wp-block-post-excerpt { display: none; }
	.tyd-home .tyd-posts .wp-block-post-title,
	.tyd-home .tyd-posts li:not(:first-child) .wp-block-post-title { font-size: 24px; margin: 0; }

	/* ---- Cartões empilhados com botão a toda a largura -------------------- */
	.tyd-cards.tyd-cards-4 { display: grid; gap: 14px; overflow: visible; margin-inline: 0; padding: 0; }
	.tyd-cards.tyd-cards-4 > article { flex: none; }
	.tyd-cards-4 img { aspect-ratio: 5 / 4; }
	.tyd-formats .wp-block-button,
	.tyd-formats .wp-block-button__link,
	.tyd-prod .wp-block-button,
	.tyd-prod .wp-block-button__link { width: 100%; }
	.tyd-formats { gap: 14px; }
	.tyd-prods { gap: 14px; }

	/* ---- Chips em rail (Produtos, Tabela) -------------------------------- */
	.tyd-pagehead-grid > * { min-width: 0; }
	.tyd-page .tyd-pagehead .tyd-chips {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		overflow-x: auto;
		margin-inline: -20px;
		padding: 0 20px 4px;
		scrollbar-width: none;
	}
	.tyd-page .tyd-pagehead .tyd-chips::-webkit-scrollbar { display: none; }
	.tyd-page .tyd-pagehead .tyd-chips .wp-block-button { width: auto; flex: none; }
	.tyd-page .tyd-pagehead .tyd-chips .wp-block-button__link { width: auto; white-space: nowrap; padding: 0 16px; }

	/* ---- Tabela de preços ------------------------------------------------ */
	.tyd-sechead p { display: none; }
	.tyd-pgrid { gap: 14px; }
	.tyd-page .tyd-pcard { padding: 20px; }
	.tyd-plist td:last-child { font-size: 26px; }
	.tyd-page .tyd-note { font-size: 15px; }
	.tyd-ptable:not(.tyd-ptable-precos) thead { display: none; }
	.tyd-ptable:not(.tyd-ptable-precos) tr { display: grid; grid-template-columns: 1fr auto; column-gap: 16px; padding: 12px 0; border-bottom: 0.25px solid var(--tyd-blue); }
	.tyd-ptable:not(.tyd-ptable-precos) td { border: 0 !important; padding: 0 !important; }
	.tyd-ptable:not(.tyd-ptable-precos) td:first-child { grid-column: 1; font-size: 15px; }
	.tyd-ptable:not(.tyd-ptable-precos) td:nth-child(2) { grid-column: 1; grid-row: 2; font-size: 14px; opacity: 0.85; }
	.tyd-ptable:not(.tyd-ptable-precos) td:last-child { grid-column: 2; grid-row: 1 / 3; align-self: center; text-align: right; }
	.tyd-page .wp-block-table :where(th, td) { border-bottom-width: 0.25px; }

	/* ---- Ebooks ---------------------------------------------------------- */
	.tyd-split .tyd-cover-portrait img { max-width: 240px; }

	/* ---- Páginas legais: índice numa faixa clara ------------------------- */
	.tyd-legal-sec.tyd-sec { padding-top: 0; }
	.tyd-legal-grid { gap: 28px; }
	.tyd-ltoc { flex-basis: 100%; margin-inline: -20px; padding: 20px 20px 24px; background: var(--tyd-sand); }
	.tyd-legal-body { font-size: 16px; }
	.tyd-lcards { padding-top: 32px; }

	/* ---- Blog (índice) --------------------------------------------------- */
	.tyd-shint { display: none; }
	.tyd-bhead,
	.tyd-bhead > .tyd-wrap { padding-top: 0 !important; margin-top: 0 !important; }
	.tyd-bhead-grid { margin-top: 0 !important; }
	.tyd-bhead-grid { background: var(--tyd-blue); color: var(--tyd-nude); margin-inline: -20px; padding: 32px 20px 24px !important; }
	.tyd-bhead-grid .tyd-kicker { color: var(--tyd-yellow) !important; }
	.tyd-bhead-grid .tyd-btitle { color: var(--tyd-white) !important; }
	.tyd-bhead .tyd-tchips { padding-top: 16px !important; padding-bottom: 16px !important; }
	.tyd-feat-text { background: var(--tyd-white) !important; color: var(--tyd-blue) !important; padding: 20px 0 0 !important; }
	.tyd-feat .tyd-kicker { color: var(--tyd-ochre) !important; }
	.tyd-home .tyd-feat .wp-block-post-title { font-size: 32px; color: var(--tyd-blue); }
	.tyd-feat .wp-block-post-title a { color: inherit; }
	.tyd-feat .wp-block-post-excerpt { font-size: 16px; }
	.tyd-feat .tyd-readmore { display: inline-flex !important; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 100px; background: var(--tyd-yellow); color: var(--tyd-blue) !important; font-size: 15px; font-weight: 700; text-decoration: none; }
	.tyd-feat .tyd-meta { display: none; }
	.tyd-rec-title { display: block; width: 100%; padding-bottom: 12px; border-bottom: 0.5px solid var(--tyd-blue); }

	.tyd-bcards > li { display: flex !important; flex-direction: column; padding: 20px 0 !important; border-bottom: 0 !important; }
	.tyd-bcards > li > .wp-block-post-featured-image { aspect-ratio: 16 / 9 !important; margin-bottom: 14px; }
	.tyd-bcards > li > .wp-block-post-featured-image img { aspect-ratio: 16 / 9 !important; }
	.tyd-bcards .tyd-meta { font-size: 12px !important; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 6px !important; }
	.tyd-bcards .tyd-chip { color: var(--tyd-ochre); font-weight: 700; margin-right: 8px; }
	.tyd-home .tyd-bcards .wp-block-post-title { font-size: 24px; }
	.tyd-bcards .wp-block-post-excerpt { display: none !important; }

	.tyd-feed .tyd-pages { justify-content: flex-start; gap: 8px; }
	.tyd-feed .tyd-pages .wp-block-query-pagination-numbers { display: flex !important; gap: 8px; }
	.tyd-feed .tyd-pages .wp-block-query-pagination-next { display: none !important; }
	.tyd-feed .tyd-pages .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; border-radius: 100px; border: 1px solid var(--tyd-blue); font-size: 15px; font-weight: 700; color: var(--tyd-blue); text-decoration: none; box-sizing: border-box; }
	.tyd-feed .tyd-pages .page-numbers.current { background: var(--tyd-blue); color: var(--tyd-white); }
	.tyd-feed .tyd-pages .page-numbers.dots { border: 0; min-width: 20px; }
}

/* ---- Hotel e Creche: enquadramento das fotos dos cartões -------------------
   As fotos são verticais e os cartões horizontais: só se vê uma faixa. A posição
   vertical é por foto (classe do anexo), para não cortar cabeças. Vale para
   desktop (3:2) e mobile (5:4). */
.tyd-cards img.wp-image-29615 { object-position: 50% 55%; } /* Creche: orelhas dos dois cães */
.tyd-cards img.wp-image-29616 { object-position: 50% 25%; } /* Hotel: cabeças do tratador e do cão */
.tyd-cards img.wp-image-29618 { object-position: 50% 15%; } /* Banho: cabeça do golden */
.tyd-cards img.wp-image-29617 { object-position: 50% 48%; } /* Transporte: tejadilho, DOG BUS e rodas */

/* ---- Roleta do destaque nos cartões ------------------------------------------
   Cartões de 4 da Hotel e Creche (.tyd-cards-4) e Formatos de treino (.tyd-formats).
   O amarelo passa de cartão em cartão (a cada 3 s) e fixa-se no cartão com o rato
   ou o foco. A classe .tyd-roleta e o .is-lit são postos pelo script
   bark_tyd_cards_roleta_script (functions.php); sem JS fica o cartão -primary. */
.tyd-roleta > article { transition: background-color 400ms cubic-bezier(0.4, 0, 0.2, 1); }
.tyd-cards.tyd-roleta > article:not(.is-lit),
.tyd-formats.tyd-roleta > article:not(.is-lit) { background: var(--tyd-white); }
.tyd-cards.tyd-roleta > article.is-lit,
.tyd-formats.tyd-roleta > article.is-lit { background: var(--tyd-yellow); }
.tyd-home .tyd-roleta > article .wp-block-button__link {
	background: transparent;
	color: var(--tyd-blue);
	border-color: var(--tyd-blue);
	transition: background-color 400ms cubic-bezier(0.4, 0, 0.2, 1), color 400ms cubic-bezier(0.4, 0, 0.2, 1),
	            opacity 200ms cubic-bezier(0.4, 0, 0.2, 1), transform 120ms cubic-bezier(0.4, 0, 0.2, 1);
}
.tyd-home .tyd-roleta > article.is-lit .wp-block-button__link { background: var(--tyd-blue); color: var(--tyd-white); }
@media (prefers-reduced-motion: reduce) {
	.tyd-roleta > article,
	.tyd-home .tyd-roleta > article .wp-block-button__link { transition: none; }
}
