/*
Theme Name: Prime Odontologia
Theme URI: https://www.primeimplantodontia.com.br/
Author: MG Studio
Author URI: https://www.mgstudio.com.br/
Description: Tema exclusivo da Prime Odontologia (roxo + dourado). Todo o conteúdo é editável pelo editor de blocos; tratamentos e tecnologias têm cadastro próprio. Bilíngue com Polylang.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: prime
License: Proprietário — MG Studio
*/

/* ==========================================================
   Tokens (mesmos nomes do staging)
   ========================================================== */
:root {
	--roxo-prime: #2D132E;
	--roxo-900: #1C0C1D;
	--roxo-500: #6A4A6C;
	--roxo-300: #A691A7;
	--roxo-100: #ECE6EC;
	--dourado-prime: #C49A4A;
	--dourado-700: #7E6023;
	--dourado-300: #DCC48A;
	--dourado-100: #F6EFE0;
	--lavanda: #EDE8DF;
	--creme: #F5F2ED;
	--branco: #FFFFFF;
	--texto: #2D132E;
	--texto-suave: #6A4A6C;
	--text-on-dark: #F5F2ED;
	--border-soft: rgba(45, 19, 46, 0.12);
	--border-gold: rgba(196, 154, 74, 0.38);

	--font-title: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--font-body: "Montserrat", system-ui, -apple-system, sans-serif;

	--radius-sm: 3px;
	--radius-md: 4px;
	--radius-lg: 6px;
	--radius-pill: 999px;
	--shadow-sm: 0 0 0 1px rgba(46, 46, 48, 0.07);
	--shadow-md: 0 0 0 1px rgba(46, 46, 48, 0.09);
	--shadow-lg: 0 0 0 1px rgba(46, 46, 48, 0.11), 0 24px 60px rgba(28, 28, 30, 0.05);
	--ease: cubic-bezier(0.16, 1, 0.3, 1);
	--dur: 200ms;
	--dur-slow: 380ms;

	--container: 1160px;
}

/* ==========================================================
   Base
   ========================================================== */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	margin: 0;
	background: var(--creme);
	color: var(--texto);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--dourado-700); }
a:hover { color: var(--roxo-prime); }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus {
	clip: auto; width: auto; height: auto; z-index: 9999; top: 8px; left: 8px;
	background: var(--branco); color: var(--roxo-prime); padding: 10px 16px;
}

/* ---- Títulos ---- */
h1, h2, h3, h4, h5, h6 { color: var(--roxo-prime); margin: 0; }
h1, .prime-h1 {
	font-family: var(--font-title);
	font-weight: 500;
	font-size: clamp(34px, 4.4vw, 62px);
	line-height: 1.14;
	letter-spacing: -0.012em;
}
h2 {
	font-family: var(--font-title);
	font-weight: 500;
	font-size: clamp(26px, 3.2vw, 38px);
	line-height: 1.25;
	letter-spacing: -0.012em;
}
/* Cormorant fica frágil abaixo de 20px: títulos de card e menores em Montserrat. */
h3, h4, h5, h6 {
	font-family: var(--font-body);
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.35;
}
h3 { font-size: 20px; }
h4 { font-size: 15.5px; letter-spacing: .04em; text-transform: uppercase; }

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

/* Olho (rótulo pequeno acima do título) */
.prime-eyebrow {
	font-family: var(--font-body) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase;
	color: var(--dourado-700);
	line-height: 1.5 !important;
	margin-bottom: 12px !important;
}
.prime-escuro .prime-eyebrow,
.wp-block-cover .prime-eyebrow,
.has-roxo-background-color .prime-eyebrow,
.has-roxo-escuro-background-color .prime-eyebrow { color: var(--dourado-300); }

.prime-lead {
	font-size: 17px;
	line-height: 1.6;
	color: var(--texto-suave);
	max-width: 560px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.prime-suave { color: var(--texto-suave); }

/* Filete dourado (estilo do bloco Separador) */
.wp-block-separator.is-style-filete,
.wp-block-separator.is-style-filete-grosso {
	border: 0 !important;
	background: var(--dourado-prime) !important;
	opacity: 1;
	height: 1px;
	width: 44px !important;
	max-width: 44px !important;
	margin-top: 20px !important;
	margin-bottom: 22px !important;
	margin-left: 0;
	margin-right: auto;
}
.wp-block-separator.is-style-filete-grosso { height: 2px; width: 56px !important; max-width: 56px !important; border-radius: 2px; }
.wp-block-separator.is-style-filete.aligncenter,
.wp-block-separator.is-style-filete-grosso.aligncenter,
.has-text-align-center + .wp-block-separator.is-style-filete,
.has-text-align-center + .wp-block-separator.is-style-filete-grosso { margin-left: auto !important; margin-right: auto !important; }
.wp-block-separator.is-style-filete-curto {
	border: 0 !important; background: var(--dourado-prime) !important; opacity: 1;
	height: 1px; width: 32px !important; max-width: 32px !important;
	margin: 0 0 14px !important;
}

/* ==========================================================
   Estrutura de página
   ========================================================== */
.prime-main { display: block; }
.prime-main > .entry-content > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.prime-main > .entry-content > :not(.alignfull) { padding-left: 32px; padding-right: 32px; box-sizing: border-box; }

/* Seção: grupo de largura total com respiro vertical */
.prime-section {
	padding: 96px 32px !important;
	box-sizing: border-box;
}
.prime-section.prime-section--compacta { padding-top: 80px !important; padding-bottom: 80px !important; }
.prime-section.prime-section--topo-curto { padding-top: 64px !important; }
.prime-section > * { max-width: var(--container); margin-left: auto !important; margin-right: auto !important; }
.prime-section > .alignwide { max-width: 1220px; }
.prime-section > .prime-estreita { max-width: 760px; }
.prime-section > .prime-media { max-width: 1000px; }
.prime-section > .alignfull { max-width: none; }

.prime-cabecalho-secao { text-align: center; margin-bottom: 52px !important; }
.prime-cabecalho-secao > * { margin-left: auto; margin-right: auto; }
.prime-cabecalho-secao .wp-block-separator { margin-left: auto !important; margin-right: auto !important; }
.prime-cabecalho-secao h2 + .wp-block-separator { margin-top: 20px !important; margin-bottom: 0 !important; }
.prime-cabecalho-secao .prime-lead { margin-top: 18px !important; }

/* Cores de fundo vindas da paleta */
.has-roxo-background-color, .has-roxo-escuro-background-color { color: var(--text-on-dark); }
.has-roxo-background-color h2, .has-roxo-escuro-background-color h2,
.has-roxo-background-color h3, .has-roxo-escuro-background-color h3 { color: #fff; }
.has-roxo-background-color p, .has-roxo-escuro-background-color p { color: rgba(245, 239, 245, .85); }

/* ==========================================================
   Cabeçalho
   ========================================================== */
.prime-header {
	position: relative;
	z-index: 100;
	background: var(--roxo-prime);
	border-top: 2px solid var(--dourado-prime);
	border-bottom: 2px solid var(--dourado-prime);
}
.prime-headrow {
	box-sizing: border-box;
	width: 100%;
	display: flex;
	align-items: center;
	gap: 34px;
	padding: 14px 44px;
}
.prime-logo { flex: 1 1 0; display: flex; justify-content: flex-start; }
.prime-logo a { display: inline-flex; }
.prime-logo img { height: 56px; width: auto; display: block; }
.prime-logo .prime-logo-texto {
	font-family: var(--font-title); color: var(--dourado-prime); font-size: 30px;
	letter-spacing: .2em; text-decoration: none;
}
.prime-nav { flex: none; }
.prime-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 26px; }
.prime-nav li { position: relative; }
.prime-nav a {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--text-on-dark);
	text-decoration: none;
	white-space: nowrap;
	padding-bottom: 6px;
	border-bottom: 2px solid transparent;
	transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.prime-nav a:hover { color: var(--dourado-prime); }
.prime-nav .current-menu-item > a,
.prime-nav .current-page-ancestor > a,
.prime-nav .current-menu-ancestor > a,
.prime-nav .current_page_item > a { color: var(--dourado-prime); border-bottom-color: var(--dourado-prime); }
.prime-nav .sub-menu { display: none; }

.prime-headcta { flex: 1 1 0; display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.prime-idiomas { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.prime-idiomas li { display: inline-flex; }
.prime-idiomas li + li::before { content: "|"; color: rgba(245, 242, 237, .35); font-size: 12px; margin: 0 6px; }
.prime-idiomas a {
	font-family: var(--font-body); font-size: 12px; font-weight: 600; letter-spacing: .12em;
	text-transform: uppercase; color: rgba(245, 242, 237, .7); text-decoration: none;
}
.prime-idiomas a:hover, .prime-idiomas .current-lang a { color: var(--dourado-prime); }
.prime-insta {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 50%;
	border: 1px solid rgba(245, 242, 237, .28);
	color: var(--text-on-dark);
	transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.prime-insta:hover { border-color: var(--dourado-prime); color: var(--dourado-prime); }
.prime-insta svg, .prime-insta img { width: 17px; height: 17px; display: block; }
.prime-cta {
	font-family: var(--font-body);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	background: var(--dourado-prime);
	color: var(--roxo-prime);
	padding: 13px 26px;
	border-radius: var(--radius-pill);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.prime-cta:hover { background: var(--dourado-300); color: var(--roxo-900); }

.prime-burger {
	display: none;
	background: none; border: 0; padding: 4px; cursor: pointer;
	color: var(--dourado-prime); margin-left: auto;
}
.prime-burger:hover { color: var(--dourado-300); }
.prime-burger svg { width: 26px; height: 26px; display: block; }

/* Gaveta do menu no celular. Nunca esconder com display:none: ela abre por max-height. */
.prime-drawer {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0 32px;
	background: var(--roxo-prime);
	border-top: 1px solid transparent;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transform: translateY(-10px);
	pointer-events: none;
	transition: max-height .38s cubic-bezier(.16, .8, .24, 1), opacity .28s ease, transform .32s cubic-bezier(.16, .8, .24, 1), padding .38s ease, border-color .38s ease;
}
.prime-drawer.is-open {
	padding: 8px 32px 18px;
	border-top-color: rgba(245, 242, 237, .12);
	max-height: 640px;
	opacity: 1;
	transform: none;
	pointer-events: auto;
}
.prime-drawer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.prime-drawer a {
	display: block;
	font-family: var(--font-body); font-size: 15px; font-weight: 500;
	text-transform: uppercase; letter-spacing: .16em;
	color: var(--text-on-dark); text-decoration: none; padding: 9px 0;
}
.prime-drawer a:hover, .prime-drawer .current-menu-item > a, .prime-drawer .current-page-ancestor > a { color: var(--dourado-prime); }
.prime-drawer .sub-menu { display: none; }
.prime-drawer .prime-cta { margin-top: 14px; justify-content: center; color: var(--roxo-prime); padding: 13px 26px; font-size: 12.5px; }
.prime-drawer .prime-idiomas { margin-top: 12px; }

@media (max-width: 1360px) {
	.prime-nav { display: none; }
	.prime-burger { display: inline-flex; }
	.prime-headcta { flex: none; }
}
@media (max-width: 700px) {
	.prime-headcta { display: none; }
	.prime-headrow { gap: 16px; padding-left: 18px; padding-right: 18px; }
}

/* ==========================================================
   Rodapé
   ========================================================== */
.prime-footer {
	background: var(--roxo-900);
	color: var(--text-on-dark);
	border-top: 2px solid var(--dourado-prime);
}
.prime-footer-main { padding: 56px 32px 40px; }
.prime-footer-main > * { max-width: var(--container); margin-left: auto; margin-right: auto; }
.prime-footer .wp-block-columns { gap: 32px; margin-bottom: 0; }
.prime-footer p, .prime-footer li {
	font-family: var(--font-body); font-size: 14px; line-height: 1.7;
	color: rgba(255, 255, 255, .92); margin: 0;
}
.prime-footer p + p { margin-top: 8px; }
.prime-footer h2, .prime-footer h3, .prime-footer h4, .prime-footer .prime-footer-titulo {
	font-family: var(--font-body) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase;
	color: #fff !important;
	margin: 0 0 12px !important;
	line-height: 1.5;
}
.prime-footer a { color: rgba(255, 255, 255, .92); text-decoration: none; transition: color var(--dur) var(--ease); }
.prime-footer a:hover, .prime-footer a:focus-visible { color: var(--dourado-prime); }
.prime-footer .prime-forte a, .prime-footer .prime-forte { font-weight: 700; color: #fff; }
.prime-footer .prime-apagado { color: rgba(245, 239, 245, .55) !important; }
.prime-footer .wp-block-image { margin: 0; }
.prime-footer .wp-block-image img { height: 76px; width: auto; }
.prime-footer .prime-icone--contorno { border-color: rgba(255, 255, 255, .3); color: #fff; margin-bottom: 10px; }
.prime-footer-bottom {
	background: #130814;
	border-top: 2px solid var(--dourado-prime);
	padding: 20px 32px;
}
.prime-footer-bottom-inner {
	max-width: var(--container); margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
}
.prime-copy { font-family: var(--font-body); font-size: 12.5px; color: rgba(255, 255, 255, .72); }
.prime-assinatura {
	font-family: var(--font-body); font-size: 11px; text-transform: lowercase; letter-spacing: .02em;
	color: rgba(255, 255, 255, .42); text-decoration: none; white-space: nowrap;
}
.prime-assinatura:hover { color: var(--dourado-prime); }
@media (max-width: 860px) {
	.prime-footer .wp-block-columns { flex-direction: column; gap: 36px; }
}

/* Botão flutuante do WhatsApp */
.prime-whats {
	position: fixed; right: 24px; bottom: 24px; z-index: 200;
	width: 58px; height: 58px; border-radius: 50%;
	background: var(--dourado-prime);
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 20px rgba(45, 19, 46, .38);
	transition: transform .25s, box-shadow .25s, background .25s;
	color: var(--roxo-prime);
}
.prime-whats:hover {
	background: var(--dourado-300);
	box-shadow: 0 10px 26px rgba(45, 19, 46, .5);
	transform: translateY(-2px) scale(1.06);
}
.prime-whats svg { width: 32px; height: 32px; display: block; }

/* ==========================================================
   Banners (bloco Capa)
   ========================================================== */
.wp-block-cover.prime-hero {
	min-height: 92vh !important;
	padding: 0 32px !important;
	align-items: center;
}
.prime-hero .wp-block-cover__inner-container {
	max-width: 1160px !important; width: 100%; margin: 0 auto; color: #fff;
}
.prime-hero .wp-block-cover__inner-container > * { max-width: 620px; margin-left: 0 !important; margin-right: auto !important; }
.prime-hero h1 {
	color: #fff;
	font-size: clamp(38px, 4.4vw, 64px);
	line-height: 1.12;
	letter-spacing: .004em;
	text-shadow: 0 2px 20px rgba(45, 19, 46, .6), 0 1px 3px rgba(45, 19, 46, .35);
}
.prime-hero h1::before {
	content: ""; display: block; width: 64px; height: 2px;
	background: var(--dourado-prime); margin: 0 0 30px;
}

.wp-block-cover.prime-pagehero {
	min-height: 0 !important;
	padding: 92px 32px !important;
}
.prime-pagehero .wp-block-cover__inner-container { max-width: 760px !important; margin: 0 auto; color: #fff; text-align: center; }
.prime-pagehero .wp-block-cover__inner-container > * { margin-left: auto !important; margin-right: auto !important; }
.prime-pagehero .prime-eyebrow { font-size: 14px !important; letter-spacing: .2em !important; margin-bottom: 18px !important; }
.prime-pagehero h1 { color: #fff; }
.prime-pagehero p:not(.prime-eyebrow) { color: rgba(255, 255, 255, .85); max-width: 600px; margin-top: 18px; }
.prime-pagehero .wp-block-buttons { margin-top: 28px; justify-content: center; }
.prime-voltar a {
	font-size: 14px; color: var(--dourado-300); text-decoration: none;
	display: inline-flex; align-items: center; gap: 6px;
}
.prime-voltar a:hover { color: #fff; }

/* Faixa com foto de fundo (CTA, experiência) */
.wp-block-cover.prime-faixa { min-height: 0 !important; padding: 96px 32px !important; }
.prime-faixa .wp-block-cover__inner-container { max-width: 1160px !important; margin: 0 auto; color: #fff; }
.prime-faixa h2, .prime-faixa h3 { color: #fff; }
.prime-faixa p { color: rgba(255, 255, 255, .85); }
.prime-faixa.prime-centro .wp-block-cover__inner-container { max-width: 680px !important; text-align: center; }
.prime-faixa.prime-centro .wp-block-buttons { justify-content: center; }

/* ==========================================================
   Botões
   ========================================================== */
.wp-block-button .wp-block-button__link {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .16em;
	text-transform: uppercase;
	line-height: 1;
	padding: 14px 28px;
	border-radius: var(--radius-md);
	border: 1px solid transparent;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
	background: var(--roxo-prime);
	color: #fff;
}
.wp-block-button .wp-block-button__link:hover { background: var(--roxo-900); color: #fff; box-shadow: 0 0 0 1px rgba(196, 154, 74, .45), 0 6px 18px rgba(196, 154, 74, .18); }
.wp-block-button.is-style-contorno .wp-block-button__link { background: transparent; color: var(--roxo-900); border-color: var(--roxo-prime); }
.wp-block-button.is-style-contorno .wp-block-button__link:hover { background: var(--dourado-100); color: var(--roxo-900); box-shadow: none; }
.wp-block-button.is-style-dourado .wp-block-button__link { background: var(--dourado-prime); color: var(--roxo-prime); }
.wp-block-button.is-style-dourado .wp-block-button__link:hover { background: var(--dourado-300); color: var(--roxo-900); }
.wp-block-button.is-style-foto .wp-block-button__link {
	background: rgba(255, 255, 255, .06); color: #fff; border-color: rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.wp-block-button.is-style-foto .wp-block-button__link:hover { background: rgba(255, 255, 255, .16); box-shadow: none; }
.wp-block-buttons.is-content-justification-center, .prime-centro .wp-block-buttons { justify-content: center; }
.wp-block-buttons { gap: 14px; }

/* Link de texto sublinhado em dourado ("Saiba mais") */
.prime-link a, a.prime-link {
	font-family: var(--font-body); font-size: 13px; font-weight: 600; letter-spacing: .16em;
	text-transform: uppercase; color: var(--dourado-700); text-decoration: none;
	border-bottom: 1px solid var(--dourado-700); padding-bottom: 3px;
}
.prime-link a:hover { color: var(--roxo-prime); border-color: var(--dourado-prime); }

/* ==========================================================
   Grades e cards
   ========================================================== */
.prime-grade { display: grid !important; gap: 24px; }
.prime-grade > * { margin: 0 !important; }
.prime-grade--4 { grid-template-columns: repeat(4, 1fr); }
.prime-grade--3 { grid-template-columns: repeat(3, 1fr); gap: 26px; }
.prime-grade--2 { grid-template-columns: repeat(2, 1fr); gap: 28px; }
@media (max-width: 1180px) { .prime-grade--4 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) {
	.prime-grade--4, .prime-grade--3 { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 860px) { .prime-grade--3.prime-grade--1-no-mobile, .prime-grade--2 { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .prime-grade--4, .prime-grade--3 { grid-template-columns: 1fr; } }

/* Card de tecnologia (home) — o card inteiro é clicável pelo "Saiba mais" */
.prime-teccard {
	position: relative;
	display: flex !important;
	flex-direction: column;
	background: var(--branco);
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: transform .38s var(--ease), box-shadow .38s var(--ease);
	gap: 0 !important;
}
.prime-teccard:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.prime-teccard > .wp-block-image { margin: 0 !important; height: 180px; overflow: hidden; flex: none; }
.prime-teccard > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.prime-teccard:hover > .wp-block-image img { transform: scale(1.07); }
.prime-teccard > .wp-block-group {
	padding: 24px 24px 26px; display: flex; flex-direction: column; flex: 1 1 auto; gap: 0 !important;
}
.prime-teccard > .wp-block-group > * { margin-top: 0 !important; }
.prime-teccard h3 { font-size: 20px; margin: 0 0 8px; }
.prime-teccard p { font-size: 14px; line-height: 1.65; color: var(--texto-suave); margin: 0 0 18px; }
.prime-teccard .prime-saibamais { margin-top: auto !important; margin-bottom: 0; }
.prime-saibamais a {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
	color: var(--dourado-700); text-decoration: none; transition: gap .3s var(--ease);
}
.prime-saibamais a::after {
	content: ""; width: 14px; height: 14px; flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.prime-teccard .prime-saibamais a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.prime-teccard:hover .prime-saibamais a { gap: 10px; }

/* Card genérico com ícone (valores, pilares, atributos) */
.prime-card {
	background: var(--branco);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
	padding: 34px 28px !important;
	transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
	gap: 0 !important;
}
.prime-card > * { margin-top: 0 !important; }
.prime-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.prime-card.has-text-align-center, .prime-card.prime-centro { text-align: center; }
.prime-card.prime-centro .prime-icone { margin-left: auto; margin-right: auto; }
.prime-card .prime-icone { margin-bottom: 16px; }
.prime-card h3 { font-size: 19px; margin: 0 0 10px; }
.prime-card p { font-size: 15px; line-height: 1.65; color: var(--texto-suave); margin: 0; }

/* Ícone */
.prime-icone {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	color: var(--roxo-prime); line-height: 0;
}
.prime-icone svg { width: var(--icone, 24px); height: var(--icone, 24px); stroke-width: 1.5; display: block; }
.prime-icone--circulo { width: var(--circulo, 46px); height: var(--circulo, 46px); border-radius: 50%; }
.prime-icone--lavanda { background: var(--lavanda); color: var(--roxo-prime); }
.prime-icone--roxo-claro { background: var(--roxo-100); color: var(--roxo-prime); }
.prime-icone--dourado-claro { background: var(--dourado-100); color: var(--dourado-prime); }
.prime-icone--dourado { background: var(--dourado-prime); color: #fff; }
.prime-icone--vidro { background: rgba(255, 255, 255, .14); color: var(--dourado-300); }
.prime-icone--contorno { border: 1px solid var(--border-soft); }
.prime-icone--cor-dourado { color: var(--dourado-prime); }
.prime-icone--cor-branco { color: #fff; }
.wp-block-prime-icone { margin: 0; }
.prime-icone-wrap { display: block; line-height: 0; }
.prime-icone-wrap.has-text-align-center, .prime-icone-wrap.aligncenter { text-align: center; }

/* Duas colunas: imagem + texto */
.prime-cols { gap: 64px !important; margin-bottom: 0 !important; }
.prime-cols.prime-cols--56 { gap: 56px !important; }
.prime-cols .wp-block-image { margin: 0; }
.prime-cols .wp-block-image img { width: 100%; display: block; }
.prime-cols p { font-size: 16.5px; line-height: 1.75; }
.prime-cols h2 + .wp-block-separator { margin-top: 16px !important; }
.prime-img-sombra { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); }
.prime-img-sombra img { display: block; width: 100%; }
@media (max-width: 781px) {
	.prime-cols { gap: 36px !important; }
	.prime-cols.prime-img-primeiro-mobile > .wp-block-column:has(.wp-block-image) { order: -1; }
}

/* Equipe */
.prime-equipe .wp-block-image { margin: 0 0 22px; height: 340px; border-radius: var(--radius-md); overflow: hidden; }
.prime-equipe .wp-block-image img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.prime-equipe img[src*="equipe-fernanda"] { object-position: 74% 16%; }
.prime-equipe img[src*="equipe-juliano"] { object-position: 66% 28%; }
.prime-equipe h3 { font-size: 22px; margin: 0 0 4px; }
.prime-equipe .prime-cro { font-size: 13px; font-weight: 600; letter-spacing: .05em; color: var(--dourado-700); margin-bottom: 16px; }
.prime-equipe p { font-size: 15.5px; line-height: 1.75; }

/* Galeria */
.prime-galeria.wp-block-gallery { gap: 14px !important; }
.prime-galeria.wp-block-gallery .wp-block-image { border-radius: var(--radius-md); overflow: hidden; cursor: zoom-in; }
.prime-galeria.wp-block-gallery .wp-block-image img {
	aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: 100% !important;
	transition: transform var(--dur-slow) var(--ease);
}
.prime-galeria.wp-block-gallery .wp-block-image:hover img { transform: scale(1.05); }
.wp-lightbox-overlay .scrim { background-color: rgba(20, 12, 28, .92) !important; }

/* Experiência (4 fases) */
.prime-experiencia h2 { font-size: clamp(24px, 3.4vw, 36px); margin-bottom: 44px; }
.prime-fase .prime-icone { margin-bottom: 16px; }
.prime-fase .prime-fase-titulo {
	font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
	color: var(--dourado-300) !important; margin: 0 0 4px;
}
.prime-fase .prime-fase-sub { font-size: 15px; color: rgba(255, 255, 255, .85); margin: 0 0 14px; }
.prime-fase ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; }
.prime-fase li { font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .82); }
.prime-fases { gap: 28px !important; }
@media (max-width: 860px) { .prime-fases.prime-grade--4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .prime-fases.prime-grade--4 { grid-template-columns: 1fr; } }

/* Linhas de contato / como chegar */
.prime-linha { display: flex !important; gap: 14px !important; align-items: center; flex-wrap: nowrap !important; }
.prime-linha.prime-linha--topo { align-items: flex-start; }
.prime-linha > .wp-block-group { gap: 0 !important; flex: 1 1 auto; }
.prime-linha > .wp-block-group > * { margin: 0 !important; }
.prime-rotulo { font-size: 12px !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--texto-suave); line-height: 1.6; }
.prime-valor { font-size: 16px; color: var(--roxo-prime); font-weight: 500; line-height: 1.5; }
.prime-valor a { color: var(--roxo-prime); text-decoration: none; }
.prime-valor a:hover {
	color: var(--dourado-700); text-decoration: underline; text-decoration-color: var(--dourado-prime); text-underline-offset: 4px;
}
.prime-linha-titulo { font-weight: 600; font-size: 15.5px; color: var(--roxo-prime); line-height: 1.5; }
.prime-linha-texto { font-size: 15px; color: var(--texto-suave); line-height: 1.55; }
.prime-lista-linhas { gap: 20px !important; }
.prime-lista-linhas > * { margin: 0 !important; }
.prime-caixa-horario {
	display: flex !important; gap: 10px !important; align-items: center;
	background: var(--lavanda); border-radius: var(--radius-md); padding: 14px 18px !important;
	color: var(--roxo-500); font-size: 14.5px;
}
.prime-caixa-horario p { margin: 0 !important; color: var(--roxo-500); font-size: 14.5px; }
.prime-caixa-form {
	background: var(--creme); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); padding: 36px !important;
}
.prime-mapa { position: relative; height: 440px; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); background: var(--lavanda); }
.prime-mapa iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(.15) saturate(.95); }
.prime-mapa .prime-mapa-selo {
	position: absolute; left: 16px; bottom: 16px; background: #fff; border-radius: var(--radius-md);
	padding: 10px 16px; box-shadow: var(--shadow-md); font-size: 13px; color: var(--roxo-prime); font-weight: 500;
}

/* Pontos turísticos */
.prime-spot {
	background: var(--branco); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md);
	gap: 0 !important;
}
.prime-spot > .wp-block-image { margin: 0 !important; aspect-ratio: 4 / 3; overflow: hidden; }
.prime-spot > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.prime-spot > .wp-block-group { padding: 26px 28px !important; gap: 0 !important; }
.prime-spot > .wp-block-group > * { margin-top: 0 !important; }
.prime-spot h3 { font-size: 23px; margin: 0 0 10px; }
.prime-spot p { font-size: 15.5px; line-height: 1.6; color: var(--texto-suave); }
.prime-selo {
	display: inline-block; font-size: 12px !important; font-weight: 500; letter-spacing: .04em; line-height: 1 !important;
	padding: 6px 12px; border-radius: var(--radius-pill); background: var(--lavanda); color: var(--roxo-500) !important;
	margin-bottom: 12px !important;
}
.prime-noite { background: var(--branco); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); gap: 0 !important; }
.prime-noite > .wp-block-image { margin: 0 !important; aspect-ratio: 4 / 3; overflow: hidden; }
.prime-noite > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.prime-noite > .prime-linha { padding: 18px 20px !important; align-items: flex-start; }
.prime-noite .prime-linha-titulo { font-size: 15px; margin-bottom: 4px !important; }
.prime-noite .prime-linha-texto { font-size: 13.5px; }

/* Blocos de duas colunas na seção roxa */
.has-roxo-background-color .prime-cols p { color: rgba(255, 255, 255, .85); }

/* ==========================================================
   Perguntas frequentes (bloco Detalhes)
   ========================================================== */
.wp-block-details {
	background: var(--branco);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	overflow: hidden;
	margin: 0 0 10px !important;
	padding: 0 !important;
}
.wp-block-details summary {
	list-style: none;
	cursor: pointer;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 18px 22px;
	font-family: var(--font-body); font-weight: 600; font-size: 16px; color: var(--roxo-prime); line-height: 1.45;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%;
	background: var(--lavanda) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232D132E' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 15px 15px no-repeat;
	transition: background-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.wp-block-details[open] summary::after {
	background-color: var(--roxo-prime);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	transform: rotate(45deg);
}
.wp-block-details > :not(summary) {
	padding: 0 22px; margin: 0 0 20px !important;
	font-size: 15px; line-height: 1.65; color: var(--texto-suave);
}
.prime-faq-titulo {
	font-size: 13px !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
	color: var(--dourado-700) !important; margin: 18px 0 14px !important;
}

/* ==========================================================
   Tratamentos (bloco dinâmico)
   ========================================================== */
.prime-trat { max-width: 1220px; margin: 0 auto; }
.prime-cattabs {
	display: flex; gap: 10px; padding-bottom: 6px; margin: 0 0 36px; justify-content: center; flex-wrap: wrap;
	scrollbar-width: none;
}
.prime-cattabs::-webkit-scrollbar { display: none; }
.prime-cattabs button {
	display: inline-flex; align-items: center; gap: 8px; border: 0; cursor: pointer;
	padding: 11px 20px; border-radius: var(--radius-pill); background: var(--creme); color: var(--roxo-prime);
	font-family: var(--font-body); font-size: 13.5px; font-weight: 600; letter-spacing: .03em; white-space: nowrap;
	transition: background .22s ease, box-shadow .22s ease, color .22s ease; flex: none;
}
.prime-cattabs button svg { width: 16px; height: 16px; stroke-width: 1.5; }
.prime-cattabs button:hover { background: var(--dourado-100); box-shadow: inset 0 0 0 1px var(--dourado-prime); }
.prime-cattabs button.is-active { background: var(--roxo-prime); color: #fff; }
.prime-cattabs button.is-active:hover { box-shadow: 0 4px 14px rgba(45, 19, 46, .3); }

.prime-trlayout { display: grid; grid-template-columns: 270px 1fr; gap: 44px; align-items: start; }
.prime-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 24px; }
.prime-sidebar[hidden], .prime-trpanel[hidden] { display: none !important; }
.prime-sidebar-group { display: flex; flex-direction: column; gap: 4px; }
.prime-sidebar-label {
	font-family: var(--font-body); font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--dourado-700); padding: 14px 16px 6px;
}
.prime-sidebar-group button {
	display: block; text-align: left; background: transparent; border: 0; border-radius: var(--radius-md);
	padding: 12px 16px; cursor: pointer; font-family: var(--font-body); font-size: 13.5px; font-weight: 500; color: var(--texto);
	transition: background .22s ease, box-shadow .22s ease, color .22s ease; position: relative;
}
.prime-sidebar-group button:hover { background: var(--dourado-100); box-shadow: inset 3px 0 0 var(--dourado-prime); color: var(--roxo-prime); }
.prime-sidebar-group button.is-active { background: var(--lavanda); font-weight: 600; color: var(--roxo-prime); }
.prime-sidebar-group button.is-active:hover { box-shadow: inset 3px 0 0 var(--dourado-prime); }

.prime-trpanel { display: flex; flex-direction: column; gap: 28px; }
.prime-trimg { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); height: 320px; }
.prime-trimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.prime-trpanel h3.prime-trtitulo { font-size: clamp(22px, 3vw, 30px); letter-spacing: .01em; margin: 0 0 14px; }
.prime-trpanel .prime-trlinha { display: block; width: 56px; height: 2px; background: var(--dourado-prime); border-radius: 2px; }
.prime-trbody > * { margin-top: 0; margin-bottom: 14px; }
.prime-trbody p, .prime-trbody li { font-size: 16px; line-height: 1.7; color: var(--texto); }
.prime-trbody ul { padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.prime-trbody li { line-height: 1.6; }
.prime-trbody h4 { margin: 24px 0 12px; }
.prime-trbody .wp-block-details > :not(summary), .prime-trbody .wp-block-details p { font-size: 15px; color: var(--texto-suave); }
.prime-trcta { margin-top: 12px; }

@media (max-width: 960px) {
	.prime-trlayout { grid-template-columns: 1fr; gap: 28px; }
	.prime-sidebar { position: static; }
	.prime-trimg { height: 220px; }
}
@media (max-width: 720px) {
	.prime-cattabs {
		flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto;
		scroll-snap-type: x proximity; padding: 2px 2px 12px; -webkit-overflow-scrolling: touch;
	}
	.prime-cattabs button { scroll-snap-align: start; }
	.prime-cattabs::after {
		content: ""; flex: 0 0 auto; align-self: stretch; width: 46px; position: sticky; right: -2px;
		pointer-events: none; opacity: 1; transition: opacity .3s ease;
		background:
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23C49A4A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center / 9px 16px,
			linear-gradient(to right, rgba(255, 255, 255, 0), #fff 52%);
		animation: prime-setinha 2.8s ease-in-out infinite;
	}
	.prime-cattabs[data-catfim]::after { opacity: 0; }
	.prime-sidebar-group { gap: 2px; border-top: 1px solid var(--border-soft); padding-top: 10px; }
	.prime-sidebar-group button { width: 100%; border-radius: 0; padding: 13px 34px 13px 14px; }
	.prime-sidebar-group button::after {
		content: ""; position: absolute; right: 14px; top: 50%; margin-top: -7px; width: 8px; height: 14px; opacity: .6;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23C49A4A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 8px 14px;
	}
}
@keyframes prime-setinha {
	0%, 58%, 100% { background-position: right 16px center, 0 0; }
	76% { background-position: right 10px center, 0 0; }
}

/* ==========================================================
   Tecnologias (bloco dinâmico)
   ========================================================== */
.prime-tec { display: grid; grid-template-columns: 280px 1fr; gap: 44px; align-items: start; max-width: 1200px; margin: 0 auto; }
.prime-tectabs { display: flex; flex-direction: column; gap: 6px; }
.prime-tectabs button {
	display: flex; align-items: center; gap: 12px; text-align: left; background: transparent; border: 0;
	border-radius: var(--radius-md); padding: 14px 16px; cursor: pointer; transition: background var(--dur) var(--ease);
	font-family: var(--font-body); font-size: 15px; font-weight: 500; color: var(--texto);
}
.prime-tectabs button:hover { background: var(--dourado-100); }
.prime-tectabs button .prime-icone { width: 42px; height: 42px; border-radius: 50%; background: var(--dourado-100); color: var(--dourado-prime); transition: background var(--dur) var(--ease); }
.prime-tectabs button .prime-icone svg { width: 21px; height: 21px; }
.prime-tectabs button.is-active { background: var(--dourado-100); font-weight: 600; color: var(--roxo-prime); }
.prime-tectabs button.is-active .prime-icone { background: var(--dourado-prime); color: #fff; }
.prime-teccard-grande {
	display: grid; grid-template-columns: 1fr 1fr; border-radius: var(--radius-lg); overflow: hidden;
	box-shadow: var(--shadow-md); min-height: 360px; scroll-margin-top: 100px; background: var(--branco);
}
.prime-teccard-grande[hidden] { display: none; }
.prime-teccard-grande .prime-tecimg { overflow: hidden; }
.prime-teccard-grande .prime-tecimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.prime-teccard-grande .prime-tectexto { padding: 44px 40px; display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.prime-teccontador { font-size: 12.5px; font-weight: 600; letter-spacing: .1em; color: var(--dourado-700); }
.prime-teccard-grande h3 { font-size: 30px; letter-spacing: .01em; margin: 0; }
.prime-teccard-grande .prime-trlinha { width: 56px; height: 2px; background: var(--dourado-prime); border-radius: 2px; display: block; }
.prime-teccard-grande .prime-tectexto p { font-size: 16.5px; line-height: 1.65; color: var(--texto); margin: 0; }
@media (max-width: 860px) {
	.prime-tec { grid-template-columns: 1fr; }
	.prime-teccard-grande { grid-template-columns: 1fr; min-height: 0; }
	.prime-teccard-grande .prime-tecimg { height: 240px; }
	.prime-teccard-grande .prime-tectexto { padding: 32px 26px; }
}

/* ==========================================================
   Formulário de contato
   ========================================================== */
.prime-form { display: flex; flex-direction: column; gap: 16px; }
.prime-form .prime-form-linha { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.prime-form label { display: flex; flex-direction: column; gap: 6px; }
.prime-form label span { font-size: 13px; font-weight: 500; letter-spacing: .02em; color: var(--texto-suave); }
.prime-form input, .prime-form textarea, .prime-form select {
	font-family: var(--font-body); font-size: 15px; color: var(--texto); background: var(--branco);
	border: 1px solid var(--border-soft); border-radius: var(--radius-sm); padding: 12px 14px; width: 100%;
	box-sizing: border-box; outline: none; transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.prime-form textarea { resize: vertical; min-height: 110px; }
.prime-form input:hover, .prime-form textarea:hover { border-color: var(--dourado-300); }
.prime-form input:focus, .prime-form textarea:focus { border-color: var(--dourado-prime); box-shadow: 0 0 0 3px rgba(196, 154, 74, .18); }
.prime-form button {
	font-family: var(--font-body); font-weight: 600; font-size: 15px; letter-spacing: .16em; text-transform: uppercase;
	border: 1px solid transparent; border-radius: var(--radius-md); padding: 15px 28px; cursor: pointer;
	background: var(--roxo-prime); color: #fff; transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.prime-form button:hover { background: var(--roxo-900); box-shadow: 0 0 0 1px rgba(196, 154, 74, .45), 0 6px 18px rgba(196, 154, 74, .18); }
.prime-form .prime-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.prime-form-ok, .prime-form-erro {
	text-align: center; padding: 40px 0; color: var(--roxo-prime); font-size: 17px;
	display: flex; flex-direction: column; gap: 12px; align-items: center;
}
.prime-form-ok svg { width: 40px; height: 40px; color: var(--dourado-prime); stroke-width: 1.5; }
.prime-form-erro { padding: 0 0 16px; font-size: 15px; color: #8a1c1c; }
@media (max-width: 860px) { .prime-form .prime-form-linha { grid-template-columns: 1fr; } }

/* ==========================================================
   Revelação no scroll
   ========================================================== */
.reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .7s cubic-bezier(.22, .61, .36, 1), transform .7s cubic-bezier(.22, .61, .36, 1);
	transition-delay: var(--reveal-delay, 0ms);
}
.reveal:not(.is-visible) { will-change: opacity, transform; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.prime-cattabs::after { animation: none !important; }
	.reveal, .reveal.is-visible { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ==========================================================
   Mobile
   ========================================================== */
@media (max-width: 720px) {
	.prime-section { padding-top: 48px !important; padding-bottom: 56px !important; padding-left: 20px !important; padding-right: 20px !important; }
	.wp-block-cover.prime-hero { min-height: 74vh !important; padding: 0 20px !important; }
	.prime-hero h1 { font-size: 28px; }
	.wp-block-cover.prime-pagehero { padding: 54px 20px !important; }
	.wp-block-cover.prime-faixa { padding: 64px 20px !important; }
	.prime-equipe .wp-block-image { height: auto; aspect-ratio: 4 / 3; }
	.prime-cabecalho-secao { margin-bottom: 36px !important; }
	.prime-mapa { height: 320px; }
	.prime-caixa-form { padding: 24px !important; }
	.prime-whats { right: 16px; bottom: 16px; }
}

/* Páginas genéricas (política de privacidade etc.) */
.prime-generica { max-width: 760px; margin: 0 auto; padding: 72px 24px 96px; }
.prime-generica h1 { margin-bottom: 32px; }
.prime-generica h2 { margin: 32px 0 12px; }

/* ==========================================================
   Utilitários usados no conteúdo
   ========================================================== */
.prime-mt-44 { margin-top: 44px !important; }
.prime-mt-48 { margin-top: 48px !important; }
.prime-mt-52 { margin-top: 52px !important; }
.prime-mb-44 { margin-bottom: 44px !important; }
.prime-max-480 { max-width: 480px; }
.prime-max-280 { max-width: 280px; }
.prime-centro { text-align: center; }
.prime-centro .wp-block-buttons { justify-content: center; }
.prime-section > .prime-estreita { max-width: 720px; }
.prime-media-wrap > * { max-width: 1000px; }
.prime-cabecalho-esq { margin-bottom: 22px !important; }
.prime-cabecalho-esq > * { margin-top: 0 !important; }
.prime-cabecalho-esq .wp-block-separator { margin-top: 14px !important; margin-bottom: 0 !important; }
.prime-cabecalho-esq .prime-eyebrow { margin-bottom: 12px !important; }
.has-roxo-background-color .prime-cabecalho-esq h2 { color: #fff; }
.has-roxo-escuro-background-color h2 { font-size: clamp(24px, 3vw, 34px); line-height: 1.35; }
.prime-cta-texto { font-size: 17px; line-height: 1.7; margin: 18px 0 30px !important; }
.prime-botao-pequeno .wp-block-button__link { padding: 10px 18px; font-size: 13px; }
.prime-dentista { gap: 0 !important; }
.prime-dentista > * { margin-top: 0 !important; }
.prime-grade--noite { gap: 18px; }
.prime-card--atributo { padding: 28px !important; border-radius: var(--radius-md); }
.prime-card--atributo .prime-icone { margin-bottom: 14px; }
.prime-card--atributo h3 { font-size: 19px; }
.prime-editar-link { font-size: 12px; margin: 0; }
.prime-editar-link a { color: var(--texto-suave); }
.prime-footer-cols p.prime-forte { margin-top: 8px; }
.prime-footer .prime-icone-link { display: inline-flex; color: #fff; }
.prime-footer .prime-icone-link:hover .prime-icone { border-color: var(--dourado-prime); color: var(--dourado-prime); }
.prime-footer .wp-block-prime-icone { margin-bottom: 10px; }
.prime-tecbody p { font-size: 16.5px; line-height: 1.65; color: var(--texto); }
.prime-trat .prime-trpanels { min-width: 0; }
.prime-section > .prime-trat, .prime-section > .prime-tec { max-width: 1220px; }

/* Correções da primeira revisão */
.wp-block-cover.prime-hero .wp-block-cover__inner-container { width: 100% !important; max-width: 1160px !important; margin-left: auto !important; margin-right: auto !important; }
.prime-trat [hidden], .prime-tec [hidden] { display: none !important; }
.prime-section > .prime-lead, .prime-section .prime-lead { max-width: 560px; margin-left: auto !important; margin-right: auto !important; }
.prime-dentista p { margin-bottom: 14px !important; font-size: 15.5px; line-height: 1.75; }
.prime-dentista p:last-child { margin-bottom: 0 !important; }
.prime-dentista .prime-cro { margin-bottom: 16px !important; }
.prime-fase .prime-fase-titulo + ul { margin-top: 14px; }
.prime-voltar { margin-bottom: 18px !important; }
.prime-drawer ul.prime-idiomas { flex-direction: row; margin-top: 16px; }
.prime-drawer .prime-idiomas a { padding: 0; font-size: 13px; letter-spacing: .12em; }

/* Logo do cabeçalho nunca encolhe (entre 1361 e ~1600px ela era espremida pelo menu). */
.prime-logo { flex: 0 0 auto; }
.prime-logo img { max-width: none; flex-shrink: 0; }
.prime-headcta { flex: 0 0 auto; }
.prime-nav { flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; }
@media (min-width: 1361px) and (max-width: 1680px) {
	.prime-headrow { padding-left: 28px; padding-right: 28px; gap: 24px; }
	.prime-nav ul { gap: 20px; }
	.prime-nav a { letter-spacing: .1em; }
	.prime-headcta .prime-insta { display: none; }
	.prime-headcta .prime-cta { padding: 12px 20px; letter-spacing: .12em; }
}
@media (max-width: 1360px) { .prime-nav { display: none; } }
