/* Poodles – Cães: componentes das páginas dos cães.
   Cores e fonte vêm do kit global do Elementor quando existem (com valores de reserva). */

:root {
	--pd-ink: #3e2c1e;
	--pd-text: #5e4632;
	--pd-brown: var(--e-global-color-secondary, #76593d);
	--pd-tan: var(--e-global-color-primary, #a87c4d);
	--pd-rust: var(--e-global-color-8aa9987, #a26238);
	--pd-rust-deep: #87502c;
	--pd-cream: var(--e-global-color-741db4b, #fff7e2);
	--pd-lilac: var(--e-global-color-9f5f16a, #e9e8ff);
	--pd-lilac-ink: #4b4778;
	--pd-studio: #ece6e1;
	--pd-studio-soft: #f6f2ee;
	--pd-line: rgba(62, 44, 30, 0.12);
	--pd-wa: #167d3f;
	--pd-wa-deep: #106232;
	--pd-r-lg: 28px;
	--pd-r: 20px;
	--pd-r-sm: 12px;
	--pd-shadow: 0 1px 2px rgba(62, 44, 30, 0.06), 0 14px 36px -14px rgba(62, 44, 30, 0.28);
	--pd-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--pd-font: var(--e-global-typography-primary-font-family, "Fredoka"), "Fredoka", ui-rounded, system-ui, sans-serif;
}

body.pd-page ::selection { background: var(--pd-lilac); color: var(--pd-ink); }

[class^="pd-"], [class*=" pd-"] { box-sizing: border-box; }

.pd-ico { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.pd-ico--fill { fill: currentColor; stroke: none; }

.pd-h1, .pd-h2, .pd-card__nome, .pd-btn, .pd-chip, .pd-dados, .pd-preco, .pd-pai, .pd-incluido, .pd-barra, .pd-migalhas, .pd-arquivo, .pd-vazio, .pd-hero-media, .pd-paginas {
	font-family: var(--pd-font);
}

.pd-h1 {
	margin: 0;
	font-weight: 600;
	font-size: clamp(2.5rem, 1.9rem + 3vw, 4.25rem);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--pd-ink);
	text-wrap: balance;
}
.pd-h2 {
	margin: 0 0 0.85em;
	font-weight: 600;
	font-size: clamp(1.6rem, 1.25rem + 1.4vw, 2.25rem);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--pd-ink);
	text-wrap: balance;
}

/* ------------------------------------------------------------ migalhas */
.pd-migalhas { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 20px; font-size: 0.875rem; color: var(--pd-brown); }
.pd-migalhas a { color: inherit; text-decoration: none; }
.pd-migalhas a:hover { color: var(--pd-ink); text-decoration: underline; text-underline-offset: 3px; }
.pd-migalhas > span[aria-hidden] { opacity: 0.45; }
.pd-migalhas [aria-current] { color: var(--pd-ink); font-weight: 500; }

/* ------------------------------------------------------------ galeria principal */
.pd-hero-media { position: relative; min-width: 0; }
.pd-hero-media__main {
	position: relative;
	aspect-ratio: 4 / 3;
	border-radius: var(--pd-r-lg);
	overflow: hidden;
	background: var(--pd-studio);
}
.pd-hero-media__open { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.pd-hero-media__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transition: opacity 0.34s var(--pd-ease), filter 0.34s var(--pd-ease), transform 0.9s var(--pd-ease);
}
.pd-hero-media.is-swapping .pd-hero-media__img { opacity: 0; filter: blur(8px); }
.pd-hero-media__open:hover .pd-hero-media__img { transform: scale(1.015); }
.pd-hero-media .pd-badge { position: absolute; top: 18px; left: 18px; }
.pd-hero-media__count {
	position: absolute; right: 16px; bottom: 16px;
	display: inline-flex; align-items: center; gap: 8px;
	min-height: 40px; padding: 0 16px 0 12px;
	border: 0; border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	color: var(--pd-ink);
	font: 500 0.9375rem/1 var(--pd-font);
	box-shadow: 0 6px 18px -8px rgba(62, 44, 30, 0.45);
	cursor: pointer;
	transition: background 0.2s, transform 0.2s var(--pd-ease);
}
.pd-hero-media__count:hover { background: #fff; transform: translateY(-1px); }
.pd-hero-media__count .pd-ico { width: 18px; height: 18px; }
.pd-hero-media--vazio .pd-hero-media__main { display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--pd-brown); }
.pd-hero-media--vazio .pd-ico { width: 40px; height: 40px; }

.pd-thumbs {
	display: grid; grid-auto-flow: column; grid-auto-columns: 78px; gap: 10px;
	margin: 12px 0 0; padding: 2px 2px 8px; list-style: none;
	overflow-x: auto; scroll-snap-type: x proximity; overscroll-behavior-x: contain;
	scrollbar-width: thin; scrollbar-color: var(--pd-studio) transparent;
}
.pd-thumbs li { margin: 0; padding: 0; scroll-snap-align: start; }
.pd-thumb {
	display: block; width: 78px; aspect-ratio: 1; padding: 0; border: 0;
	border-radius: var(--pd-r-sm); overflow: hidden; background: var(--pd-studio);
	cursor: pointer; opacity: 0.7;
	transition: opacity 0.2s, box-shadow 0.2s;
}
.pd-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pd-thumb:hover { opacity: 1; }
.pd-thumb.is-active { opacity: 1; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pd-rust); }

/* ------------------------------------------------------------ selos */
.pd-badge {
	display: inline-flex; align-items: center; gap: 7px;
	min-height: 30px; padding: 0 12px;
	border-radius: 999px;
	font: 500 0.8125rem/1 var(--pd-font); letter-spacing: 0.01em;
	background: var(--pd-lilac); color: var(--pd-lilac-ink);
	box-shadow: 0 4px 14px -6px rgba(62, 44, 30, 0.35);
}
.pd-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.pd-badge--cachorro-disponivel { background: var(--pd-wa); color: #fff; }
.pd-badge--reservado { background: #f6e3b4; color: #5d4210; }
.pd-badge--vendido { background: var(--pd-ink); color: #fff; }

/* ------------------------------------------------------------ texto da personalidade (classe no widget do Elementor) */
.pd-personalidade, .pd-personalidade p {
	font-family: var(--pd-font);
	font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem);
	line-height: 1.35;
	color: var(--pd-brown);
	margin: 0;
	text-wrap: pretty;
}
.pd-personalidade::first-letter, .pd-personalidade p::first-letter, .pd-personalidade .elementor-widget-container::first-letter { text-transform: uppercase; }

/* ------------------------------------------------------------ dados */
.pd-dados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.pd-dado {
	display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: start;
	padding: 16px 18px; border-radius: var(--pd-r); background: rgba(255, 255, 255, 0.55);
}
.pd-dado:last-child:nth-child(odd) { grid-column: 1 / -1; }
.pd-dado .pd-ico { grid-row: span 2; color: var(--pd-tan); margin-top: 1px; }
.pd-dado dt { margin: 0; font-size: 0.8125rem; line-height: 1.3; color: var(--pd-brown); }
.pd-dado dd { margin: 2px 0 0; font-weight: 500; font-size: 1.0625rem; line-height: 1.3; color: var(--pd-ink); }
.pd-dado dd small { display: block; margin-top: 2px; font-weight: 400; font-size: 0.8125rem; color: var(--pd-brown); }

.pd-preco {
	display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
	margin: 10px 0 0; padding: 18px 20px;
	border-radius: var(--pd-r); background: var(--pd-cream); color: var(--pd-brown);
}
.pd-preco strong { font-weight: 600; font-size: 1.75rem; line-height: 1; color: var(--pd-ink); font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------ botões */
.pd-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; }
.pd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 0 24px;
	border: 0; border-radius: 999px;
	font-weight: 500; font-size: 1.0625rem; line-height: 1;
	text-decoration: none !important; white-space: nowrap; cursor: pointer;
	transition: background-color 0.2s, color 0.2s, box-shadow 0.25s var(--pd-ease), transform 0.25s var(--pd-ease);
}
.pd-btn:hover { transform: translateY(-1px); }
.pd-btn:active { transform: translateY(0); }
.pd-btn:focus-visible, .pd-chip:focus-visible, .pd-thumb:focus-visible, .pd-card__link:focus-visible, .pd-pai:focus-visible, .pd-hero-media__open:focus-visible, .pd-hero-media__count:focus-visible, .pd-mosaico__item:focus-visible {
	outline: 3px solid var(--pd-lilac-ink); outline-offset: 3px;
}
.pd-btn--wa { background: var(--pd-wa); color: #fff !important; flex: 1 1 220px; }
.pd-btn--wa:hover { background: var(--pd-wa-deep); box-shadow: 0 10px 24px -12px rgba(16, 98, 50, 0.7); }
.pd-btn--pri { background: var(--pd-rust); color: #fff !important; }
.pd-btn--pri:hover { background: var(--pd-rust-deep); box-shadow: 0 10px 24px -12px rgba(135, 80, 44, 0.7); }
.pd-btn--sec { background: transparent; color: var(--pd-ink) !important; box-shadow: inset 0 0 0 1.5px rgba(62, 44, 30, 0.28); flex: 1 1 200px; }
.pd-btn--sec:hover { background: rgba(255, 255, 255, 0.6); box-shadow: inset 0 0 0 1.5px rgba(62, 44, 30, 0.45); }
.pd-btn--link { min-height: 44px; padding: 0 6px; background: none; color: var(--pd-brown) !important; }
.pd-btn--link:hover { color: var(--pd-ink) !important; }
.pd-btn--icon { width: 48px; min-height: 48px; padding: 0; flex: none; }

/* ------------------------------------------------------------ mosaico de fotos */
.pd-mosaico {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 15vw, 230px); gap: 12px;
}
.pd-mosaico__item { position: relative; display: block; overflow: hidden; border-radius: var(--pd-r); background: var(--pd-studio); }
.pd-mosaico__item img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform 0.8s var(--pd-ease); }
.pd-mosaico__item:hover img { transform: scale(1.035); }
/* Grupos de 5: uma grande (2×2) + quatro pequenas. As sobras fecham a grelha sem buracos. */
@media (min-width: 768px) {
	.pd-mosaico__item:nth-child(5n + 1) { grid-column: span 2; grid-row: span 2; }
	.pd-mosaico__item:nth-child(5n + 1):last-child { grid-column: 1 / -1; }
	.pd-mosaico__item:nth-child(5n + 2):last-child { grid-column: span 2; grid-row: span 2; }
	.pd-mosaico__item:nth-child(5n + 2):nth-last-child(2), .pd-mosaico__item:nth-child(5n + 3):last-child { grid-row: span 2; }
	.pd-mosaico__item:nth-child(5n + 4):last-child { grid-column: span 2; }
}
.pd-mosaico--n1 { grid-template-columns: 1fr; grid-auto-rows: auto; }
.pd-mosaico--n1 .pd-mosaico__item { aspect-ratio: 3 / 2; grid-column: auto !important; grid-row: auto !important; }

/* ------------------------------------------------------------ pais */
.pd-pais { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pd-pai {
	display: grid; grid-template-columns: minmax(0, 46%) 1fr; align-items: stretch;
	overflow: hidden; border-radius: var(--pd-r-lg); background: var(--pd-studio);
	color: var(--pd-ink) !important; text-decoration: none !important;
	transition: background 0.25s, box-shadow 0.3s var(--pd-ease);
}
a.pd-pai:hover { background: #e4ddd7; box-shadow: var(--pd-shadow); }
.pd-pai__media { display: grid; grid-template: 1fr / 1fr; place-items: center; min-height: 200px; background: var(--pd-studio); color: var(--pd-brown); overflow: hidden; }
.pd-pai__media img { grid-area: 1 / 1; display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform 0.8s var(--pd-ease); }
a.pd-pai:hover .pd-pai__media img { transform: scale(1.04); }
.pd-pai__txt { display: flex; flex-direction: column; gap: 6px; padding: 26px 24px; }
.pd-pai__txt strong { font-weight: 600; font-size: clamp(1.5rem, 1.3rem + 0.8vw, 2rem); line-height: 1.05; letter-spacing: -0.01em; }
.pd-pai__txt > span { font-size: 0.9375rem; color: var(--pd-brown); }
.pd-pai__txt em { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 14px; font-style: normal; font-weight: 500; color: var(--pd-rust); }
.pd-pai__txt em .pd-ico { width: 18px; height: 18px; transition: transform 0.3s var(--pd-ease); }
a.pd-pai:hover em .pd-ico { transform: translateX(3px); }

/* ------------------------------------------------------------ incluído */
.pd-incluido ul {
	display: flex; flex-wrap: wrap; margin: 0; padding: 8px; list-style: none;
	border-radius: var(--pd-r-lg); background: var(--pd-cream);
}
.pd-incluido li {
	flex: 1 1 200px; display: flex; align-items: center; gap: 14px; margin: 0;
	padding: 18px 20px; font-weight: 500; font-size: 1.0625rem; color: var(--pd-ink);
}
.pd-incluido li + li { box-shadow: inset 1px 0 0 rgba(118, 89, 61, 0.18); }
.pd-incluido .pd-ico { width: 28px; height: 28px; color: var(--pd-rust); }

/* ------------------------------------------------------------ cartão (base comum aos 3 estilos) */
.pd-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pd-card { position: relative; margin: 0; font-family: var(--pd-font); }
.pd-card__link { display: flex; flex-direction: column; height: 100%; color: var(--pd-ink) !important; text-decoration: none !important; border-radius: var(--pd-r-lg); }
.pd-card__media {
	position: relative; display: grid; grid-template: 1fr / 1fr; place-items: center;
	overflow: hidden; background: var(--pd-studio); color: var(--pd-brown);
}
.pd-card__media img { grid-area: 1 / 1; display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform 0.9s var(--pd-ease); }
.pd-card__media > .pd-ico { width: 40px; height: 40px; }
.pd-card__link:hover .pd-card__media img { transform: scale(1.045); }
.pd-card__media .pd-badge { position: absolute; top: 14px; left: 14px; }
.pd-card__body { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pd-card__top { display: flex; align-items: center; gap: 8px; }
.pd-card__nome { margin: 0 !important; font-family: var(--pd-font) !important; font-weight: 600 !important; font-size: 1.5rem !important; line-height: 1.1 !important; letter-spacing: -0.01em; color: var(--pd-ink) !important; }
.pd-card__sexo { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; flex: none; }
.pd-card__sexo .pd-ico { width: 15px; height: 15px; stroke-width: 2; }
.pd-card__sexo--macho { background: var(--pd-lilac); color: var(--pd-lilac-ink); }
.pd-card__sexo--femea { background: #f6e1d6; color: var(--pd-rust-deep); }
.pd-card__feitio { font-size: 1rem; line-height: 1.35; color: var(--pd-brown); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pd-card__feitio::first-letter { text-transform: uppercase; }
.pd-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.pd-card__tags > span { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; font-size: 0.8125rem; font-weight: 500; background: var(--pd-studio-soft); color: var(--pd-text); }
.pd-card__fim { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 12px; }
.pd-card__preco { font-weight: 600; font-size: 1.25rem; color: var(--pd-ink); font-variant-numeric: tabular-nums; }
.pd-card__ver { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-weight: 500; color: var(--pd-rust); }
.pd-card__ver .pd-ico { width: 18px; height: 18px; transition: transform 0.3s var(--pd-ease); }
.pd-card__link:hover .pd-card__ver .pd-ico { transform: translateX(3px); }

.pd-card__preco--topo { display: none; }

/* A · Painel de estúdio: o cartão inteiro no cinzento do estúdio, foto emoldurada. */
.pd-card--painel { border-radius: var(--pd-r-lg); background: var(--pd-studio); transition: background 0.25s, box-shadow 0.35s var(--pd-ease), transform 0.35s var(--pd-ease); }
.pd-card--painel:hover { background: #e4ddd7; box-shadow: var(--pd-shadow); transform: translateY(-2px); }
.pd-card--painel .pd-card__media { margin: 8px 8px 0; aspect-ratio: 4 / 3; border-radius: var(--pd-r); }
.pd-card--painel .pd-card__body { padding: 16px 20px 18px; }
.pd-card--painel .pd-card__tags > span { background: rgba(255, 255, 255, 0.6); }
.pd-card--painel .pd-card__fim { padding-top: 14px; }
.pd-card--painel .pd-card__ver-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pd-card--painel .pd-card__ver { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--pd-ink); color: #fff; transition: background 0.25s; }
.pd-card--painel .pd-card__link:hover .pd-card__ver { background: var(--pd-rust); }

/* B · Retrato: foto vertical grande, texto por baixo, "Ver Nome →" no fim. */
.pd-card--retrato .pd-card__media { aspect-ratio: 4 / 5; border-radius: var(--pd-r-lg); }
.pd-card--retrato .pd-card__body { padding: 16px 4px 0; }
.pd-card--retrato .pd-card__tags > span { background: none; padding: 0; min-height: 0; color: var(--pd-brown); }
.pd-card--retrato .pd-card__tags > span + span::before { content: "·"; margin-right: 6px; color: var(--pd-tan); }
.pd-card--retrato .pd-card__tags { gap: 6px; margin-top: 0; }
@media (hover: hover) {
	.pd-card--retrato .pd-card__ver { opacity: 0; transform: translateX(-6px); transition: opacity 0.3s, transform 0.4s var(--pd-ease); }
	.pd-card--retrato .pd-card__link:hover .pd-card__ver, .pd-card--retrato .pd-card__link:focus-visible .pd-card__ver { opacity: 1; transform: none; }
}

/* C · Etiqueta sobreposta: a foto é o cartão; nome e dados numa etiqueta branca por cima. */
.pd-card--etiqueta .pd-card__link { position: relative; overflow: hidden; }
.pd-card--etiqueta .pd-card__media { aspect-ratio: 4 / 5; border-radius: var(--pd-r-lg); }
.pd-card--etiqueta .pd-card__body {
	position: absolute; left: 10px; right: 10px; bottom: 10px; gap: 4px;
	padding: 14px 16px; border-radius: var(--pd-r);
	background: rgba(255, 255, 255, 0.92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: 0 10px 30px -14px rgba(62, 44, 30, 0.45);
	transition: transform 0.4s var(--pd-ease);
}
.pd-card--etiqueta .pd-card__link:hover .pd-card__body { transform: translateY(-4px); }
.pd-card--etiqueta .pd-card__nome { font-size: 1.3125rem !important; }
.pd-card--etiqueta .pd-card__feitio { display: none; }
.pd-card--etiqueta .pd-card__tags { margin-top: 0; }
.pd-card--etiqueta .pd-card__tags > span { min-height: 24px; font-size: 0.75rem; }
.pd-card--etiqueta .pd-card__fim { display: none; }
.pd-card--etiqueta .pd-card__preco--topo { display: inline; margin-left: auto; padding-left: 8px; font-size: 1.0625rem; white-space: nowrap; }

/* ------------------------------------------------------------ grelha, filtros, arquivo */
.pd-grelha { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 40px 24px; }
.pd-vazio { display: grid; justify-items: center; gap: 18px; padding: 56px 24px; border-radius: var(--pd-r-lg); background: var(--pd-studio); text-align: center; color: var(--pd-text); }
.pd-vazio p { margin: 0; font-size: 1.125rem; }

.pd-arquivo { margin: 0 0 28px; }
.pd-arquivo__sub { margin: 10px 0 0; font-size: 1.0625rem; color: var(--pd-brown); }
.pd-arquivo__texto { max-width: 60ch; margin: 14px 0 0; font-size: 1.125rem; line-height: 1.5; color: var(--pd-text); }

.pd-filtros { display: flex; flex-direction: column; gap: 10px; margin: 0 0 40px; }
.pd-filtros__linha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pd-filtros__rotulo { margin-right: 6px; font-weight: 500; font-size: 0.9375rem; color: var(--pd-brown); }
.pd-chip__cor { width: 16px; height: 16px; margin-left: -4px; border-radius: 50%; background: var(--pd-cor); box-shadow: inset 0 0 0 1px rgba(62, 44, 30, 0.22); flex: none; }
.pd-chip--cor { padding-left: 12px; }
.pd-chip.is-active .pd-chip__cor { box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85); }
.pd-chip.is-active:not(:first-child)::after { content: "×"; margin: 0 2px 0 -2px; font-size: 1.05rem; line-height: 1; opacity: 0.8; }
.pd-filtros__sep { width: 1px; height: 26px; margin: 0 6px; background: var(--pd-line); }
.pd-chip {
	display: inline-flex; align-items: center; gap: 8px;
	min-height: 42px; padding: 0 8px 0 16px; border-radius: 999px;
	background: var(--pd-studio-soft); color: var(--pd-ink) !important;
	font-weight: 500; font-size: 0.9375rem; text-decoration: none !important; white-space: nowrap;
	transition: background 0.2s, color 0.2s;
}
.pd-chip:not(:has(.pd-chip__n)) { padding-right: 16px; }
.pd-chip:hover { background: var(--pd-studio); }
.pd-chip__n { min-width: 26px; padding: 4px 8px; border-radius: 999px; background: #fff; color: var(--pd-brown); font-size: 0.75rem; line-height: 1; text-align: center; font-variant-numeric: tabular-nums; }
.pd-chip.is-active { background: var(--pd-ink); color: #fff !important; }
.pd-chip.is-active .pd-chip__n { background: rgba(255, 255, 255, 0.16); color: #fff; }

.pd-paginas { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 48px 0 0; }
.pd-paginas .page-numbers { display: inline-grid; place-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; border-radius: 999px; background: var(--pd-studio-soft); color: var(--pd-ink); text-decoration: none; font-weight: 500; }
.pd-paginas .page-numbers.current { background: var(--pd-ink); color: #fff; }
.pd-paginas a.page-numbers:hover { background: var(--pd-studio); }

/* ------------------------------------------------------------ barra de contacto (telemóvel) */
.pd-barra {
	position: fixed; z-index: 60;
	left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 8px 8px 8px 8px; border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
	box-shadow: 0 0 0 1px var(--pd-line), 0 18px 40px -16px rgba(62, 44, 30, 0.45);
	transition: transform 0.45s var(--pd-ease), opacity 0.3s;
}
.pd-barra.is-tucked { transform: translateY(calc(100% + 24px)); opacity: 0; pointer-events: none; }
.pd-barra__quem { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pd-barra__quem img { width: 44px !important; height: 44px !important; border-radius: 50%; object-fit: cover; flex: none; }
.pd-barra__quem span { display: flex; flex-direction: column; min-width: 0; }
.pd-barra__quem strong { font-weight: 600; font-size: 1rem; line-height: 1.15; color: var(--pd-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-barra__quem small { font-size: 0.8125rem; color: var(--pd-brown); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-barra__acoes { display: flex; gap: 6px; flex: none; }
.pd-barra .pd-btn { min-height: 48px; font-size: 1rem; padding: 0 20px; }
.pd-barra .pd-btn--icon { padding: 0; }
@media (min-width: 1025px) { .pd-barra { display: none; } }
@media (max-width: 1024px) { body.single-poodle { padding-bottom: 88px; } }
.pd-barra .pd-btn--wa.pd-btn--icon { flex: none; width: 48px; flex-basis: auto; }
.pd-barra .pd-btn--pri { flex: none; }
.pd-barra .pd-btn__curto { display: none; }
@media (max-width: 400px) { .pd-barra .pd-btn__longo { display: none; } .pd-barra .pd-btn__curto { display: inline; } .pd-barra .pd-btn--pri { padding: 0 18px; } }
@media (max-width: 340px) { .pd-barra__quem span { display: none; } }

/* ------------------------------------------------------------ páginas completas ([poodle_pagina], [poodle_arquivo]) */
.pd-pagina { width: 100%; color: var(--pd-text); font-family: var(--pd-font); }
.elementor-widget-shortcode:has(> .elementor-widget-container > .elementor-shortcode > .pd-pagina),
.elementor-widget-shortcode:has(.pd-pagina) { margin-bottom: 0 !important; }
.pd-wrap { width: 100%; max-width: 1328px; margin: 0 auto; padding: 0 24px; }
.pd-topo { padding-top: 28px; padding-bottom: 96px; }
.pd-hero { display: grid; grid-template-columns: minmax(0, 57fr) minmax(0, 41fr); gap: 32px; align-items: stretch; }
.pd-hero__info { display: flex; flex-direction: column; gap: 20px; }
.pd-hero__info > .pd-acoes { margin-top: auto; padding-top: 8px; }
.pd-hero__nome { font-size: clamp(2.6rem, 1.9rem + 2.6vw, 4.25rem); letter-spacing: -0.025em; }
.pd-secoes { display: flex; flex-direction: column; gap: 96px; padding-top: 0; padding-bottom: 96px; }
.pd-form-secao + .pd-secoes { padding-top: 96px; }
.pd-secoes > * { margin: 0 !important; }
.pd-arquivo-wrap { padding-top: 56px; padding-bottom: 112px; }
.pd-form-secao { background: var(--pd-studio); padding: 96px 0; box-shadow: 0 0 0 100vmax var(--pd-studio); clip-path: inset(0 -100vmax); }
.pd-form-grid { display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); gap: 48px; align-items: start; }
.pd-form-intro { display: flex; flex-direction: column; gap: 16px; }
/* O texto "Pedir informações…" acompanha o scroll até ao fim do formulário (só em ecrãs largos). */
@media (min-width: 1025px) {
	.pd-form-intro { position: sticky; top: 40px; }
	.admin-bar .pd-form-intro { top: 72px; }
	.pd-js-fixo .pd-form-intro { position: relative; top: 0 !important; will-change: transform; }
}
.pd-form-intro .pd-h2 { margin: 0; font-size: clamp(2rem, 1.5rem + 1.8vw, 2.75rem); }
.pd-form-intro p { margin: 0; max-width: 42ch; font-size: 1.1875rem; line-height: 1.5; color: var(--pd-text); }
.pd-form-intro .pd-acoes { margin-top: 8px; }
.pd-form-intro .pd-btn--wa { flex: 0 1 auto; }
div.pd-form-caixa { padding: 32px; border-radius: var(--pd-r-lg); background: #fff; box-shadow: var(--pd-shadow); }

/* Formulário próprio */
.pd-form { margin: 0; font-family: var(--pd-font); }
.pd-form__grid { display: flex; flex-wrap: wrap; gap: 16px 14px; }
.pd-campo { flex: 1 1 100%; display: flex; flex-direction: column; gap: 6px; margin: 0; }
.pd-campo--metade { flex: 1 1 calc(50% - 7px); min-width: 200px; }
.pd-campo label { font-weight: 500; font-size: 0.9375rem; color: var(--pd-ink); }
.pd-campo label span { font-weight: 400; color: var(--pd-brown); }
.pd-campo input[type="text"], .pd-campo input[type="email"], .pd-campo input[type="tel"], .pd-campo textarea {
	width: 100%; min-height: 52px; margin: 0; padding: 12px 16px !important;
	border: 1.5px solid rgba(62, 44, 30, 0.18) !important; border-radius: 14px !important;
	background: var(--pd-studio-soft) !important; color: var(--pd-ink) !important; box-shadow: none;
	font: 400 1rem/1.4 var(--pd-font) !important;
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.pd-campo textarea { min-height: 128px; resize: vertical; }
.pd-campo ::placeholder { color: #8a735f; opacity: 1; }
.pd-campo input:focus, .pd-campo textarea:focus { outline: none; border-color: var(--pd-lilac-ink) !important; background: #fff !important; box-shadow: 0 0 0 4px var(--pd-lilac) !important; }
.pd-campo input:user-invalid, .pd-campo textarea:user-invalid { border-color: #b8432f !important; }
.pd-campo--check { flex-direction: row; align-items: flex-start; gap: 10px; }
.pd-campo--check input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--pd-rust); }
.pd-campo--check label { font-weight: 400; font-size: 0.875rem; line-height: 1.45; color: var(--pd-text); }
.pd-campo--check a { color: var(--pd-rust); text-underline-offset: 2px; }
.pd-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pd-form button.pd-form__enviar {
	-webkit-appearance: none; appearance: none;
	display: inline-flex !important; align-items: center; justify-content: center;
	width: 100%; min-height: 56px; margin-top: 20px; padding: 0 24px !important;
	border: 0 !important; border-radius: 999px !important;
	background: var(--pd-rust) !important; color: #fff !important;
	font: 500 1.0625rem/1 var(--pd-font) !important; text-transform: none !important; letter-spacing: normal !important;
	box-shadow: none; cursor: pointer;
}
.pd-form button.pd-form__enviar:hover, .pd-form button.pd-form__enviar:focus { background: var(--pd-rust-deep) !important; color: #fff !important; }
.pd-form button.pd-form__enviar:focus-visible { outline: 3px solid var(--pd-lilac-ink); outline-offset: 3px; }
.pd-form__enviar:disabled { opacity: 0.6; cursor: progress; transform: none; }
.pd-form.is-sending .pd-form__enviar span::after { content: "…"; }
.pd-form__msg { margin: 14px 0 0; padding: 12px 16px; border-radius: 14px; font-size: 1rem; }
.pd-form__msg.is-ok { background: #e3f1e8; color: #0f5a2c; }
.pd-form__msg.is-erro { background: #f8e4df; color: #8f2a19; }

/* Painel de informação ao lado da foto: o mesmo cinzento do estúdio (classe "pd-painel" no contentor do Elementor) */
.pd-painel { background: var(--pd-studio) !important; border-radius: var(--pd-r-lg) !important; padding: 44px 40px !important; overflow: hidden; }
.pd-hero__info { background: var(--pd-studio); border-radius: var(--pd-r-lg); padding: 40px; }
/* Dentro do painel: dados como células com linhas finas (sem caixas dentro da caixa) e botões no fundo. */
.pd-painel .pd-dados, .pd-hero__info .pd-dados { gap: 0; border-top: 1px solid rgba(62, 44, 30, 0.14); }
.pd-painel .pd-dado, .pd-hero__info .pd-dado { padding: 16px 12px 16px 0; border-radius: 0; background: none; border-bottom: 1px solid rgba(62, 44, 30, 0.14); }
.pd-painel .pd-dado:nth-child(even), .pd-hero__info .pd-dado:nth-child(even) { padding-left: 16px; box-shadow: inset 1px 0 0 rgba(62, 44, 30, 0.14); }
.pd-painel .pd-dado:last-child:nth-child(odd), .pd-hero__info .pd-dado:last-child:nth-child(odd) { box-shadow: none; }
.pd-painel .pd-preco, .pd-hero__info .pd-preco { margin: 0; padding: 18px 0 0; border-radius: 0; background: none; }
.pd-painel > .elementor-widget-shortcode:has(.pd-acoes), .pd-painel > .e-con-inner > .elementor-widget-shortcode:has(.pd-acoes) { margin-top: auto; padding-top: 12px; }
@media (max-width: 767px) { .pd-painel, .pd-hero__info { padding: 28px 20px !important; border-radius: var(--pd-r) !important; } }

/* Coluna fixa ao scroll (classe "pd-sticky" no contentor do Elementor) */
@media (min-width: 1025px) {
	.pd-sticky { position: sticky !important; top: 32px; align-self: flex-start; }
	.admin-bar .pd-sticky { top: 64px; }
}

/* ------------------------------------------------------------ responsivo */
@media (max-width: 1024px) {
	.pd-hero { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.pd-form-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.pd-pais { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.pd-wrap { padding: 0 16px; }
	.pd-topo { padding-top: 16px; padding-bottom: 64px; }
	.pd-secoes { gap: 64px; padding-bottom: 64px; }
	.pd-form-secao + .pd-secoes { padding-top: 64px; }
	.pd-arquivo-wrap { padding-top: 32px; padding-bottom: 72px; }
	.pd-form-secao { padding: 64px 0; }
	div.pd-form-caixa { padding: 20px; }
	.pd-hero-media__main { border-radius: var(--pd-r); }
	.pd-thumbs { grid-auto-columns: 64px; }
	.pd-thumb { width: 64px; }
	.pd-mosaico { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 8px; }
	.pd-mosaico__item:nth-child(3n + 1) { grid-column: span 2; grid-row: span 2; }
	.pd-mosaico__item:nth-child(3n + 2):last-child { grid-column: span 2; }
	.pd-pai { grid-template-columns: 40% 1fr; }
	.pd-pai__media { min-height: 150px; }
	.pd-pai__txt { padding: 18px; }
	.pd-incluido li { flex-basis: 50%; padding: 16px; }
	.pd-incluido li + li { box-shadow: none; }
	.pd-grelha { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.pd-card__nome { font-size: 1.1875rem !important; }
	.pd-card__feitio { font-size: 0.875rem; }
	.pd-card__tags > span { font-size: 0.75rem; min-height: 22px; padding: 0 8px; }
	.pd-card__media .pd-badge { top: 10px; left: 10px; }
	.pd-card--painel .pd-card__media { margin: 6px 6px 0; }
	.pd-card--painel .pd-card__body { padding: 12px 12px 14px; }
	.pd-card--painel .pd-card__ver { width: 34px; height: 34px; }
	/* No telemóvel a "Etiqueta" passa a "Retrato": texto por baixo da foto, nada a tapar o cão. */
	.pd-card--etiqueta .pd-card__link { overflow: visible; }
	.pd-card--etiqueta .pd-card__media { aspect-ratio: 4 / 5; }
	.pd-card--etiqueta .pd-card__body {
		position: static; padding: 12px 2px 0; gap: 4px; border-radius: 0;
		background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; transform: none !important;
	}
	.pd-card--etiqueta .pd-card__nome { font-size: 1.1875rem !important; }
	.pd-card--etiqueta .pd-card__feitio { display: -webkit-box; }
	.pd-card--etiqueta .pd-card__tags { display: none; }
	.pd-card--etiqueta .pd-card__preco--topo { display: none; }
	.pd-card--etiqueta .pd-card__fim { display: flex; padding-top: 4px; }
	.pd-card--etiqueta .pd-card__fim:not(:has(.pd-card__preco)) { display: none; }
	.pd-card--etiqueta .pd-card__preco { font-size: 1.0625rem; }
	.pd-card--etiqueta .pd-card__ver { display: none; }
	.pd-card__sexo { width: 22px; height: 22px; }
	.pd-filtros { gap: 4px; }
	.pd-filtros__linha { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 2px 16px 8px; scrollbar-width: none; }
	.pd-filtros__linha::-webkit-scrollbar { display: none; }
	.pd-btn--wa, .pd-btn--sec { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.pd-hero-media__img, .pd-mosaico__item img, .pd-card__media img, .pd-pai__media img, .pd-btn, .pd-barra { transition: none !important; }
	.pd-hero-media__open:hover .pd-hero-media__img, .pd-mosaico__item:hover img, .pd-card__link:hover .pd-card__media img, a.pd-pai:hover .pd-pai__media img { transform: none; }
}

/* ------------------------------------------------------------ blindagem contra estilos de botões do tema */
.pd-hero-media button.pd-thumb,
.pd-hero-media button.pd-hero-media__count {
	-webkit-appearance: none; appearance: none;
	border: 0 !important; margin: 0; text-transform: none; letter-spacing: normal;
}
.pd-hero-media button.pd-thumb { display: block !important; padding: 0 !important; border-radius: var(--pd-r-sm) !important; background: var(--pd-studio) !important; }
.pd-hero-media button.pd-hero-media__count { display: inline-flex !important; align-items: center; gap: 8px !important; border-radius: 999px !important; background: rgba(255, 255, 255, 0.9) !important; color: var(--pd-ink) !important; padding: 0 16px 0 12px !important; font: 500 0.9375rem/1 var(--pd-font) !important; }
.pd-hero-media button.pd-hero-media__count:hover { background: #fff !important; }

/* ------------------------------------------------------------ secções do template (somem quando o componente está vazio) */
.pd-secoes > .elementor-widget-shortcode:not(:has([class*="pd-"])),
.pd-secoes > .e-con-inner > .elementor-widget-shortcode:not(:has([class*="pd-"])) { display: none; }
.pd-titulo .elementor-heading-title { text-wrap: balance; }

/* ------------------------------------------------------------ formulário */
.pd-form-secao { scroll-margin-top: 24px; }
.pd-form .elementor-field-textual { background: #f6f2ee !important; }
.pd-form-caixa { padding: 32px !important; border-radius: var(--pd-r-lg) !important; background: #fff; box-shadow: var(--pd-shadow); }
.pd-form, .pd-form .elementor-field-label, .pd-form .elementor-field, .pd-form .elementor-field-textual, .pd-form .elementor-field-textual::placeholder { font-family: var(--pd-font) !important; }
.pd-form .elementor-field-group { margin-bottom: 0; }
.pd-form .elementor-field-label { font-family: var(--pd-font); font-weight: 500; font-size: 0.9375rem; color: var(--pd-ink); margin-bottom: 6px; }
.pd-form .elementor-field-textual {
	min-height: 52px; padding: 12px 16px !important;
	border: 1.5px solid rgba(62, 44, 30, 0.18) !important; border-radius: 14px !important;
	background: var(--pd-studio-soft) !important; color: var(--pd-ink) !important;
	font-family: var(--pd-font); font-size: 1rem !important;
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.pd-form textarea.elementor-field-textual { min-height: 128px; }
.pd-form .elementor-field-textual::placeholder { color: #8a735f; opacity: 1; }
.pd-form .elementor-field-textual:focus { border-color: var(--pd-lilac-ink) !important; background: #fff !important; box-shadow: 0 0 0 4px var(--pd-lilac) !important; outline: none; }
.pd-form .elementor-button {
	min-height: 56px; border-radius: 999px !important; background: var(--pd-rust) !important; color: #fff !important;
	font-family: var(--pd-font) !important; font-weight: 500 !important; font-size: 1.0625rem !important; text-transform: none !important;
	transition: background 0.2s, transform 0.25s var(--pd-ease), box-shadow 0.25s var(--pd-ease);
}
.pd-form .elementor-button:hover { background: var(--pd-rust-deep) !important; transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(135, 80, 44, 0.7); }
.pd-form .elementor-message { font-family: var(--pd-font); font-size: 1rem; margin-top: 14px; }
.pd-form .elementor-message.elementor-message-success { color: var(--pd-wa); }
.pd-form .elementor-message.elementor-message-danger, .pd-form .elementor-error .elementor-field-textual { color: #9b2c1e; }
.pd-form .elementor-error .elementor-field-textual { border-color: #b8432f !important; }
.pd-form-contacto .pd-acoes { margin-top: 10px; }
.pd-form-contacto .pd-btn--wa { flex: 0 1 auto; }
@media (max-width: 767px) { .pd-form-caixa { padding: 20px !important; } }
