/* Fontes servidas localmente (SIL Open Font License 1.1): Bricolage Grotesque e Figtree. */
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('../fonts/bricolage-grotesque-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('../fonts/bricolage-grotesque-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/figtree-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/figtree-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* ==========================================================================
   Dinho's Motel — estilos do site (mobile-first).
   Tokens e regras: design system "Dinho's Motel" (claude.ai/artifact/PwmycogjzYFmmZGYSeqBSK).
   Breakpoints: 600px (2 colunas), 900px (menu desktop), 1200px (largura total).
   ========================================================================== */

:root {
	/* Cores */
	--papel: #ffffff;
	--nevoa: #f3f6f3;
	--linha: #dde4de;
	--linha-forte: #7a897f;
	--tinta: #15211b;
	--tinta-suave: #56635b;
	--verde: #009157;
	--verde-acao: #007d4b;
	--verde-escuro: #006b40;
	--verde-claro: #e1f4ea;
	--vermelho: #e0060b;
	--vermelho-escuro: #b00509;
	--rosado: #fbedec;
	--mata: #0e2a1c;
	--texto-sobre-mata: #ffffff;
	--texto-sobre-mata-suave: #b9ccc0;
	--sobre-verde: #ffffff;
	--veu: rgba(14, 42, 28, 0.62);
	--foco: var(--vermelho);

	/* Tipografia */
	--font-display: "Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;
	--font-texto: Figtree, system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Espaçamento */
	--espaco-1: 4px;
	--espaco-2: 8px;
	--espaco-3: 12px;
	--espaco-4: 16px;
	--espaco-5: 24px;
	--espaco-6: 32px;
	--espaco-7: 48px;
	--espaco-8: 64px;
	--espaco-9: 96px;
	--espaco-10: 128px;

	/* Forma */
	--raio-sm: 6px;
	--raio-md: 12px;
	--raio-lg: 20px;
	--raio-pill: 999px;
	--sombra-cartao: 0 1px 2px rgba(14, 42, 28, 0.06), 0 8px 24px rgba(14, 42, 28, 0.08);
	--sombra-flutuante: 0 10px 30px rgba(14, 42, 28, 0.24);

	/* Layout */
	--container: 1200px;
	--container-texto: 680px;
	--cabecalho-altura: 64px;
	--gutter: var(--espaco-4);
}

@media (min-width: 900px) {
	:root {
		--cabecalho-altura: 76px;
		--gutter: var(--espaco-6);
	}
}

/* Base ------------------------------------------------------------------- */
html { scroll-padding-top: calc(var(--cabecalho-altura) + var(--espaco-4)); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body.dm { margin: 0; background: var(--papel); color: var(--tinta); font-family: var(--font-texto); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; overflow-x: clip; }
/* A página nunca rola para o lado no celular. "clip" (e não "hidden") não quebra o cabeçalho fixo. */
html:has(body.dm) { overflow-x: clip; }
.dm *, .dm *::before, .dm *::after { box-sizing: border-box; }
.dm img, .dm svg, .dm iframe { max-width: 100%; }
.dm img { height: auto; display: block; }
.dm h1, .dm h2, .dm h3, .dm h4 { font-family: var(--font-display); font-weight: 700; margin: 0; line-height: 1.15; letter-spacing: -0.01em; text-wrap: balance; color: inherit; }
.dm p { margin: 0; }
.dm a { color: var(--verde-acao); text-underline-offset: 3px; }
.dm a:hover { color: var(--verde-escuro); }
.dm button { font: inherit; }
.dm ul, .dm ol { margin: 0; padding: 0; }
.dm :focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; border-radius: 2px; }
.dm .dm-escuro :focus-visible, .dm .dm-escuro:focus-visible { outline-color: var(--texto-sobre-mata); }
/* Elementos com rolagem lateral (carrosséis, galerias, abas) prendem o .dm-sr dentro deles; sem isso ele alarga a página. */
.dm .dm-cards-rolagem, .dm-galeria, .dm-filtros, .dm-abas ul { position: relative; }
.dm-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dm-nowrap { white-space: nowrap; }
.dm-pular { position: absolute; left: var(--espaco-4); top: -100px; z-index: 100; background: var(--papel); color: var(--tinta); padding: var(--espaco-3) var(--espaco-4); border-radius: var(--raio-md); box-shadow: var(--sombra-cartao); }
.dm-pular:focus { top: var(--espaco-4); }
.dm-principal { display: block; }
.dm-principal:focus { outline: none; }

.dm-ico { display: inline-flex; width: 24px; height: 24px; flex: none; }
.dm-ico svg { width: 100%; height: 100%; display: block; }

/* Layout ----------------------------------------------------------------- */
.dm-container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.dm-estreito { max-width: calc(820px + 2 * var(--gutter)); }
.dm-pilha { display: flex; flex-direction: column; gap: var(--espaco-6); min-width: 0; }
.dm-secao { padding-block: var(--espaco-8); }
.dm-secao-nevoa { background: var(--nevoa); }
.dm-dividido { display: grid; gap: var(--espaco-7); }
.dm-dividido > * { min-width: 0; }
@media (min-width: 900px) {
	.dm-secao { padding-block: var(--espaco-9); }
	.dm-dividido { grid-template-columns: 1fr 1fr; gap: var(--espaco-8); align-items: start; }
	.dm-dividido-texto { grid-template-columns: 1.2fr 1fr; }
}

/* Tipografia de apoio ---------------------------------------------------- */
.dm-eyebrow { font: 700 13px/16px var(--font-texto); letter-spacing: 0.12em; text-transform: uppercase; color: var(--vermelho); }
.dm-escuro .dm-eyebrow { color: var(--texto-sobre-mata); }
.dm-titulo-secao { display: flex; flex-direction: column; gap: var(--espaco-3); max-width: var(--container-texto); }
.dm-titulo-secao.dm-centro { margin: 0 auto; text-align: center; align-items: center; }
.dm-titulo-secao h2 { font-size: 30px; line-height: 36px; }
.dm-titulo-secao-lead { font-size: 18px; line-height: 28px; color: var(--tinta-suave); }
.dm-subtitulo { font: 600 22px/28px var(--font-display); }
@media (min-width: 900px) {
	.dm-titulo-secao h2 { font-size: 40px; line-height: 46px; }
	.dm-titulo-secao-lead { font-size: 20px; line-height: 30px; }
	.dm-subtitulo { font-size: 24px; line-height: 30px; }
}

/* Texto corrido (conteúdo do editor) */
.dm-texto { max-width: var(--container-texto); color: var(--tinta); }
.dm .dm-texto > * + * { margin-top: var(--espaco-4); }
.dm .dm-texto h2 { font-size: 24px; line-height: 30px; margin-top: var(--espaco-7); }
.dm .dm-texto h3 { font-size: 20px; line-height: 26px; margin-top: var(--espaco-6); }
.dm .dm-texto ul, .dm .dm-texto ol { padding-left: 1.3em; }
.dm-texto li + li { margin-top: var(--espaco-2); }
.dm-texto-lead > p:first-child { font-size: 19px; line-height: 30px; }
.dm-texto strong { font-weight: 700; }
.dm-faq-resposta.dm-texto, .dm-experiencia .dm-texto { color: var(--tinta-suave); }
.dm-faq-resposta strong, .dm-experiencia .dm-texto strong { color: var(--tinta); }

/* Botões ----------------------------------------------------------------- */
.dm-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--espaco-2); min-height: 48px; padding: 0 var(--espaco-5); border-radius: var(--raio-pill); border: 1.5px solid transparent; font: 600 16px/20px var(--font-texto); text-decoration: none; cursor: pointer; text-align: center; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.dm-btn .dm-ico { width: 20px; height: 20px; }
.dm-btn-sm { min-height: 40px; padding: 0 var(--espaco-4); font-size: 15px; }
.dm a.dm-btn-primario, .dm .dm-btn-primario { background: var(--verde-acao); color: var(--sobre-verde); }
.dm a.dm-btn-primario:hover, .dm .dm-btn-primario:hover { background: var(--verde-escuro); color: var(--sobre-verde); }
.dm a.dm-btn-secundario, .dm .dm-btn-secundario { background: transparent; color: var(--verde-acao); border-color: var(--verde-acao); }
.dm a.dm-btn-secundario:hover, .dm .dm-btn-secundario:hover { background: var(--verde-claro); color: var(--verde-escuro); }
.dm a.dm-btn-claro, .dm .dm-btn-claro { background: var(--papel); color: var(--mata); }
.dm a.dm-btn-claro:hover, .dm .dm-btn-claro:hover { background: var(--verde-claro); color: var(--mata); }
.dm a.dm-btn-contorno-claro, .dm .dm-btn-contorno-claro { background: transparent; color: var(--texto-sobre-mata); border-color: var(--texto-sobre-mata); }
.dm a.dm-btn-contorno-claro:hover, .dm .dm-btn-contorno-claro:hover { background: rgba(255, 255, 255, 0.12); color: var(--texto-sobre-mata); }
.dm a.dm-btn-link, .dm .dm-btn-link { min-height: 44px; padding: 0; border: 0; background: none; color: var(--verde-acao); justify-content: flex-start; }
.dm a.dm-btn-link:hover { color: var(--verde-escuro); text-decoration: underline; }
.dm .dm-btn-icone { width: 44px; min-height: 44px; padding: 0; }
.dm .dm-btn-icone .dm-ico { width: 22px; height: 22px; }

/* Selos ------------------------------------------------------------------ */
.dm-selos { display: flex; flex-wrap: wrap; gap: var(--espaco-2); list-style: none; }
.dm-selo { display: inline-flex; align-items: center; gap: var(--espaco-1); padding: 4px 10px; border-radius: var(--raio-pill); font: 600 13px/16px var(--font-texto); white-space: nowrap; }
.dm-selo .dm-ico { width: 14px; height: 14px; }
.dm-selo-verde { background: var(--verde-claro); color: var(--verde-escuro); }
.dm-selo-vermelho { background: var(--rosado); color: var(--vermelho-escuro); }
.dm-selo-neutro { background: var(--nevoa); color: var(--tinta-suave); }
.dm-secao-nevoa .dm-selo-neutro { background: var(--papel); }
.dm-selo-destaque { background: var(--vermelho); color: var(--texto-sobre-mata); }
.dm-selo-claro { background: var(--papel); color: var(--tinta); }

/* Cabeçalho -------------------------------------------------------------- */
.dm-cabecalho { position: sticky; top: 0; z-index: 40; background: var(--papel); border-bottom: 1px solid var(--linha); padding-top: env(safe-area-inset-top, 0px); transition: box-shadow .2s ease; }
.dm-cabecalho.dm-rolou { box-shadow: var(--sombra-cartao); }
.admin-bar .dm-cabecalho { top: 46px; }
@media (min-width: 783px) { .admin-bar .dm-cabecalho { top: 32px; } }
@media (max-width: 600px) { .admin-bar .dm-cabecalho { top: 0; } }
.dm-cabecalho-in { max-width: calc(var(--container) + 2 * var(--gutter)); margin: 0 auto; height: var(--cabecalho-altura); padding: 0 var(--gutter); display: flex; align-items: center; gap: var(--espaco-4); }
.dm-cabecalho-logo { display: block; flex: none; }
.dm-cabecalho-logo img { height: 40px; width: auto; }
.dm-menu-botao { margin-left: auto; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: var(--raio-pill); background: transparent; color: var(--tinta); cursor: pointer; }
.dm-menu-botao:hover { background: var(--nevoa); }
.dm-menu-fechar { display: none; }
.dm-menu-aberto .dm-menu-abrir { display: none; }
.dm-menu-aberto .dm-menu-fechar { display: inline-flex; }
.dm-cabecalho-whats { display: none; }

/* Menu do celular (gaveta) */
.dm-menu { position: absolute; left: 0; right: 0; top: 100%; height: calc(100vh - var(--cabecalho-altura)); height: calc(100dvh - var(--cabecalho-altura) - env(safe-area-inset-top, 0px)); z-index: 39; border-top: 1px solid var(--linha); background: var(--papel); padding: var(--espaco-5) var(--gutter) calc(var(--espaco-7) + env(safe-area-inset-bottom, 0px)); overflow-y: auto; display: flex; flex-direction: column; gap: var(--espaco-6); visibility: hidden; opacity: 0; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s; }
.dm-menu-aberto .dm-menu { visibility: visible; opacity: 1; transform: none; transition: opacity .2s ease, transform .2s ease; }
.dm-menu-aberto { overflow: hidden; }
.dm-nav-lista { list-style: none; display: flex; flex-direction: column; }
.dm-nav-lista li { border-bottom: 1px solid var(--linha); }
.dm-nav-lista a { display: flex; align-items: center; min-height: 56px; font: 600 22px/28px var(--font-display); color: var(--tinta); text-decoration: none; }
.dm-nav-lista a:hover, .dm-nav-lista .current-menu-item > a, .dm-nav-lista a[aria-current="page"] { color: var(--verde-acao); }
.dm-menu-extra { display: flex; flex-direction: column; gap: var(--espaco-4); }
.dm-menu-info { font-size: 15px; line-height: 23px; color: var(--tinta-suave); }

@media (min-width: 900px) {
	.dm-cabecalho-logo img { height: 48px; }
	.dm-menu-botao { display: none; }
	.dm-menu { position: static; height: auto; border: 0; visibility: visible; opacity: 1; transform: none; transition: none; padding: 0; overflow: visible; background: none; margin-left: auto; flex-direction: row; }
	.dm-menu-extra { display: none; }
	.dm-nav-lista { flex-direction: row; gap: var(--espaco-5); }
	.dm-nav-lista li { border: 0; }
	.dm-nav-lista a { min-height: 44px; font: 500 15px/20px var(--font-texto); border-bottom: 2px solid transparent; }
	.dm-nav-lista .current-menu-item > a, .dm-nav-lista a[aria-current="page"] { border-bottom-color: var(--verde-acao); }
	.dm-cabecalho-whats { display: inline-flex; }
	.dm-menu-aberto { overflow: auto; }
}
@media (min-width: 900px) and (max-width: 1080px) {
	.dm-nav-lista { gap: var(--espaco-4); }
	.dm-nav-lista a { font-size: 14px; }
}

/* Hero ------------------------------------------------------------------- */
.dm-hero { position: relative; isolation: isolate; overflow: hidden; color: var(--texto-sobre-mata); background: var(--mata); }
.dm-hero-sem-foto { background: radial-gradient(circle at 88% 12%, rgba(0, 145, 87, 0.42), transparent 55%), radial-gradient(circle at 6% 100%, rgba(224, 6, 11, 0.20), transparent 45%), var(--mata); }
.dm-hero-foto { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; z-index: -2; }
/* Escurecimento neutro (sem tom de cor) só onde fica o texto; intensidade em Configurações. */
.dm-hero:not(.dm-hero-sem-foto)::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: var(--dm-veu-forca, 0.8); background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.55) 55%, rgba(0, 0, 0, 0.35) 100%); }
.dm-hero:not(.dm-hero-sem-foto) .dm-hero-in { text-shadow: 0 1px 14px rgba(0, 0, 0, 0.35); }
.dm-hero:not(.dm-hero-sem-foto) .dm-btn { text-shadow: none; }
.dm-hero-in { position: relative; max-width: calc(var(--container) + 2 * var(--gutter)); margin: 0 auto; padding: var(--espaco-8) var(--gutter) var(--espaco-7); display: flex; flex-direction: column; gap: var(--espaco-4); }
.dm-hero h1 { font-size: 34px; line-height: 38px; letter-spacing: -0.015em; max-width: 18ch; }
.dm-hero-home h1 { font-size: 40px; line-height: 42px; letter-spacing: -0.02em; max-width: 12ch; }
.dm-hero-lead { font-size: 18px; line-height: 28px; max-width: 34em; color: var(--texto-sobre-mata); }
.dm-hero-acoes { display: flex; flex-direction: column; gap: var(--espaco-3); margin-top: var(--espaco-3); }
.dm-hero-home .dm-hero-in { padding-top: var(--espaco-9); padding-bottom: var(--espaco-8); min-height: min(560px, 78svh); justify-content: flex-end; }
@media (min-width: 600px) {
	.dm-hero-acoes { flex-direction: row; flex-wrap: wrap; }
}
@media (min-width: 900px) {
	.dm-hero-in { padding-top: var(--espaco-9); padding-bottom: var(--espaco-8); gap: var(--espaco-5); }
	.dm-hero:not(.dm-hero-sem-foto)::after { background: linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.6) 38%, rgba(0, 0, 0, 0.15) 75%, rgba(0, 0, 0, 0) 100%); }
	.dm-hero h1 { font-size: 48px; line-height: 52px; }
	.dm-hero-home h1 { font-size: 64px; line-height: 64px; }
	.dm-hero-lead { font-size: 20px; line-height: 30px; }
	.dm-hero-home .dm-hero-in { padding-top: var(--espaco-10); padding-bottom: var(--espaco-9); min-height: 600px; }
}

/* Foto ausente (espaço reservado) */
.dm-foto-vazia { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--espaco-2); width: 100%; height: 100%; min-height: 160px; background: linear-gradient(135deg, var(--verde-claro), var(--nevoa) 60%, var(--rosado)); color: var(--tinta-suave); font: 500 13px/18px var(--font-texto); }
.dm-foto-vazia .dm-ico { width: 32px; height: 32px; color: var(--verde); }

/* Diferenciais ----------------------------------------------------------- */
.dm-diferenciais { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espaco-5) var(--espaco-4); }
.dm-diferencial { display: flex; flex-direction: column; gap: var(--espaco-2); }
.dm-diferencial-ico { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: var(--raio-pill); background: var(--verde-claro); color: var(--verde); }
.dm-diferencial strong { font: 600 17px/22px var(--font-texto); }
.dm-diferencial > span:last-child { font: 400 15px/21px var(--font-texto); color: var(--tinta-suave); }
@media (min-width: 600px) { .dm-diferenciais { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .dm-diferenciais { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* Cartões de suíte ------------------------------------------------------- */
.dm-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--espaco-5); }
@media (min-width: 600px) { .dm-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .dm-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* No celular, listas secundárias rolam na horizontal */
@media (max-width: 899px) {
	.dm .dm-cards-rolagem { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--espaco-4); margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) var(--espaco-3); scrollbar-width: none; }
	.dm-cards-rolagem::-webkit-scrollbar { display: none; }
	.dm .dm-cards-rolagem > * { flex: 0 0 min(82%, 340px); scroll-snap-align: start; }
}
.dm-card-suite { display: flex; flex-direction: column; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-lg); overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.dm-card-suite:hover { box-shadow: var(--sombra-cartao); transform: translateY(-2px); }
.dm-card-suite[hidden] { display: none; }
.dm-card-suite-foto { position: relative; display: block; text-decoration: none; aspect-ratio: 3 / 2; background: var(--nevoa); overflow: hidden; }
.dm-card-suite-foto img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .4s ease; }
.dm-card-suite:hover .dm-card-suite-foto img { transform: scale(1.03); }
.dm-card-suite-foto .dm-selos { position: absolute; left: var(--espaco-3); top: var(--espaco-3); right: var(--espaco-3); }
.dm-card-suite-corpo { flex: 1; display: flex; flex-direction: column; gap: var(--espaco-3); padding: var(--espaco-5); }
.dm-card-suite-nome { font: 600 22px/28px var(--font-display); }
.dm .dm-card-suite-nome a { color: var(--tinta); text-decoration: none; }
.dm .dm-card-suite-nome a:hover { color: var(--verde-acao); }
.dm-card-suite-corpo > p { font-size: 15px; line-height: 23px; color: var(--tinta-suave); }
.dm-card-suite-icones { list-style: none; display: flex; flex-wrap: wrap; gap: var(--espaco-3); color: var(--tinta-suave); }
.dm-card-suite-icones .dm-ico { width: 20px; height: 20px; }
.dm-card-suite-acoes { margin-top: auto; padding-top: var(--espaco-3); border-top: 1px solid var(--linha); display: flex; align-items: center; justify-content: space-between; gap: var(--espaco-3); }
@media (prefers-reduced-motion: reduce) { .dm-card-suite, .dm-card-suite:hover, .dm-card-suite:hover .dm-card-suite-foto img { transition: none; transform: none; } }

/* Filtros e abas --------------------------------------------------------- */
.dm-filtros { display: flex; gap: var(--espaco-2); overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); }
.dm-filtros[hidden] { display: none; }
.dm-filtros::-webkit-scrollbar { display: none; }
.dm-aba { flex: none; display: inline-flex; align-items: center; min-height: 40px; padding: 0 var(--espaco-4); border-radius: var(--raio-pill); border: 0; background: var(--nevoa); color: var(--tinta); font: 600 15px/20px var(--font-texto); text-decoration: none; cursor: pointer; white-space: nowrap; }
.dm .dm-aba { color: var(--tinta); }
.dm .dm-aba:hover { background: var(--verde-claro); color: var(--tinta); }
.dm .dm-aba[aria-pressed="true"], .dm .dm-aba.dm-ativa { background: var(--verde-acao); color: var(--sobre-verde); }
.dm-filtros-vazio { color: var(--tinta-suave); }

/* Comodidades ------------------------------------------------------------ */
.dm-comodidades { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--espaco-3); }
.dm-comodidades li { display: flex; align-items: center; gap: var(--espaco-3); font: 500 16px/22px var(--font-texto); }
.dm-comodidades .dm-ico { color: var(--verde); }
@media (min-width: 600px) { .dm-comodidades { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espaco-3) var(--espaco-5); } }

/* Passos (como funciona) ------------------------------------------------- */
.dm-passos { list-style: none; display: grid; gap: var(--espaco-6); counter-reset: passo; }
.dm-passo { display: flex; flex-direction: column; gap: var(--espaco-2); counter-increment: passo; }
.dm-passo::before { content: counter(passo); font: 700 48px/48px var(--font-display); color: var(--verde); letter-spacing: -0.02em; }
.dm-passo h3 { font: 600 20px/26px var(--font-display); }
.dm-passo p { font-size: 15px; line-height: 23px; color: var(--tinta-suave); }
@media (min-width: 900px) { .dm-passos { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dm-passo::before { font-size: 56px; line-height: 56px; } }

/* Itens (cardápio e destaques) ------------------------------------------- */
.dm-itens { list-style: none; }
.dm-item { display: flex; flex-direction: column; gap: 6px; padding: var(--espaco-4) 0; border-bottom: 1px solid var(--linha); }
.dm-item:first-child { padding-top: 0; }
.dm-item-topo { display: flex; align-items: baseline; gap: var(--espaco-3); }
.dm-item-nome { font: 600 17px/24px var(--font-texto); }
.dm-item-preco { margin-left: auto; font: 600 17px/24px var(--font-texto); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dm-item-desc { font-size: 15px; line-height: 23px; color: var(--tinta-suave); max-width: 60ch; }
.dm-item .dm-selos { margin-top: 2px; }

.dm-destaques { background: var(--papel); border-radius: var(--raio-lg); padding: var(--espaco-5); display: flex; flex-direction: column; gap: var(--espaco-4); }
.dm-destaques-titulo { display: flex; align-items: center; gap: var(--espaco-2); font: 700 13px/16px var(--font-texto); letter-spacing: 0.12em; text-transform: uppercase; color: var(--vermelho); }
.dm-destaques-titulo .dm-ico { width: 18px; height: 18px; }
.dm-destaques .dm-item:last-child { border-bottom: 0; padding-bottom: 0; }
@media (min-width: 900px) { .dm-destaques { padding: var(--espaco-6); } }

/* Cardápio --------------------------------------------------------------- */
.dm-abas { position: sticky; top: var(--cabecalho-altura); z-index: 20; background: var(--papel); margin: 0 calc(-1 * var(--gutter)); padding: var(--espaco-3) var(--gutter); border-bottom: 1px solid var(--linha); }
.admin-bar .dm-abas { top: calc(var(--cabecalho-altura) + 46px); }
@media (min-width: 783px) { .admin-bar .dm-abas { top: calc(var(--cabecalho-altura) + 32px); } }
@media (max-width: 600px) { .admin-bar .dm-abas { top: var(--cabecalho-altura); } }
.dm-abas ul { list-style: none; display: flex; gap: var(--espaco-2); overflow-x: auto; scrollbar-width: none; }
.dm-abas ul::-webkit-scrollbar { display: none; }
.dm-cardapio { display: grid; gap: var(--espaco-7); }
.dm-cardapio-cat { display: flex; flex-direction: column; gap: var(--espaco-3); min-width: 0; scroll-margin-top: calc(var(--cabecalho-altura) + 80px); }
.dm-cardapio-cat h3 { font: 600 24px/30px var(--font-display); }
.dm-cardapio-nota { font: 500 14px/20px var(--font-texto); color: var(--tinta-suave); }
.dm-cardapio-rodape { font-size: 14px; line-height: 21px; color: var(--tinta-suave); border-top: 1px solid var(--linha); padding-top: var(--espaco-4); }
@media (min-width: 900px) {
	.dm-cardapio { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espaco-8) var(--espaco-8); align-items: start; }
}

/* Experiências ----------------------------------------------------------- */
.dm-experiencias-grade { display: grid; gap: var(--espaco-4); }
@media (min-width: 600px) { .dm-experiencias-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .dm-experiencias-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.dm-experiencia { display: flex; flex-direction: column; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-lg); overflow: hidden; }
.dm-experiencia-corpo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--espaco-3); padding: var(--espaco-5); flex: 1; }
.dm-experiencia-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--raio-pill); background: var(--rosado); color: var(--vermelho-escuro); }
.dm-experiencia h3 { font: 600 22px/28px var(--font-display); }
.dm-experiencia .dm-texto { font-size: 16px; line-height: 25px; }
.dm .dm-experiencia .dm-texto > * + * { margin-top: var(--espaco-3); }
.dm-experiencia .dm-btn { margin-top: auto; }
.dm-experiencia-compacta .dm-texto p:not(:first-child), .dm-experiencia-compacta .dm-permanencia { display: none; }
.dm-experiencia-compacta .dm-btn { min-height: 44px; }
.dm-experiencia-foto { aspect-ratio: 3 / 2; overflow: hidden; }
.dm-experiencia-foto img { width: 100%; height: 100% !important; object-fit: cover; }
.dm-experiencias-lista { display: grid; gap: var(--espaco-5); }
@media (min-width: 900px) {
	.dm-experiencias-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espaco-6); }
	.dm-experiencias-lista .dm-experiencia-corpo { padding: var(--espaco-6); }
}

/* História --------------------------------------------------------------- */
.dm-historia-teaser { display: grid; gap: var(--espaco-5); align-items: center; }
.dm-numero-grande { font: 800 104px/0.9 var(--font-display); letter-spacing: -0.04em; color: var(--verde); display: flex; align-items: baseline; gap: var(--espaco-2); }
.dm-numero-grande span { font: 600 24px/1 var(--font-display); letter-spacing: 0; color: var(--tinta); }
@media (min-width: 900px) { .dm-historia-teaser { grid-template-columns: auto 1fr; gap: var(--espaco-8); } .dm-numero-grande { font-size: 168px; } }

.dm-linha-tempo { list-style: none; display: grid; gap: var(--espaco-6); }
.dm-marco { display: flex; flex-direction: column; gap: var(--espaco-2); padding-top: var(--espaco-5); border-top: 2px solid var(--verde); }
.dm-marco-ano { font: 700 48px/48px var(--font-display); color: var(--verde); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.dm-marco h3 { font: 600 20px/26px var(--font-display); }
.dm-marco p { font-size: 15px; line-height: 23px; color: var(--tinta-suave); }
.dm-marco-atual { border-top-color: var(--vermelho); }
.dm-marco-atual .dm-marco-ano { color: var(--vermelho); }
@media (min-width: 900px) { .dm-linha-tempo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Benefícios (hospedagem) ------------------------------------------------ */
.dm-beneficios { list-style: none; display: grid; gap: var(--espaco-4); }
.dm-beneficios li { display: flex; gap: var(--espaco-4); align-items: flex-start; }
.dm-beneficios strong { display: block; font: 600 17px/24px var(--font-texto); }
.dm-beneficios li span:not(.dm-diferencial-ico) { display: block; font-size: 15px; line-height: 23px; color: var(--tinta-suave); }

/* Permanência ------------------------------------------------------------ */
.dm-permanencia { display: grid; gap: var(--espaco-4); }
.dm-permanencia-item { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-md); padding: var(--espaco-4) var(--espaco-5); }
.dm .dm-permanencia-item p + p { margin-top: var(--espaco-1); }
.dm-permanencia-item p:last-child { color: var(--tinta-suave); font-size: 16px; line-height: 25px; }
.dm .dm-permanencia-titulo { font: 600 17px/24px var(--font-texto); color: var(--tinta); }
.dm-experiencia .dm-permanencia-item, .dm-faq .dm-permanencia-item { background: var(--nevoa); border: 0; }
.dm-secao-nevoa .dm-faq .dm-permanencia-item { background: var(--papel); }
/* Destaque "condição especial" (domingo a quinta), com botão de WhatsApp. */
.dm .dm-permanencia-destaque, .dm .dm-faq .dm-permanencia-destaque, .dm .dm-secao-nevoa .dm-faq .dm-permanencia-destaque { background: var(--verde-claro); border: 1px solid rgba(0, 125, 75, 0.25); }
.dm .dm-permanencia-destaque .dm-permanencia-titulo { display: flex; align-items: flex-start; gap: var(--espaco-2); }
.dm-permanencia-destaque .dm-permanencia-titulo .dm-ico { width: 20px; height: 20px; flex: none; margin-top: 2px; color: var(--verde-acao); }
.dm .dm-permanencia-destaque .dm-permanencia-acao { margin-top: var(--espaco-4); }

/* Localização ------------------------------------------------------------ */
.dm-local { display: grid; gap: var(--espaco-6); }
.dm-local > * { min-width: 0; }
.dm-local-mapa { position: relative; min-height: 280px; border-radius: var(--raio-md); overflow: hidden; background: var(--nevoa); border: 1px solid var(--linha); }
.dm-secao-nevoa .dm-local-mapa { background: var(--papel); }
.dm-local-mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dm-local-mapa-capa { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--espaco-3); padding: var(--espaco-5); text-align: center; background: radial-gradient(circle at 50% 35%, var(--verde-claro), transparent 65%); }
.dm-local-mapa-capa > .dm-ico { width: 40px; height: 40px; color: var(--vermelho); }
.dm-local-mapa-nota { font-size: 13px; line-height: 18px; color: var(--tinta-suave); max-width: 32ch; }
.dm-local-info { display: flex; flex-direction: column; gap: var(--espaco-5); }
.dm-local-linha { display: flex; gap: var(--espaco-3); align-items: flex-start; }
.dm-local-linha > .dm-ico { color: var(--verde); margin-top: 1px; }
.dm-local-linha strong { display: block; font: 600 17px/24px var(--font-texto); }
.dm .dm-local-linha strong a { color: var(--tinta); text-decoration: none; }
.dm-local-linha div > span { display: block; font-size: 15px; line-height: 23px; color: var(--tinta-suave); }
.dm-local-acoes { display: flex; flex-direction: column; gap: var(--espaco-3); }
@media (min-width: 600px) { .dm-local-acoes { flex-direction: row; flex-wrap: wrap; } }
@media (min-width: 900px) { .dm-local { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); } .dm-local-mapa { min-height: 380px; } }

/* Dúvidas ---------------------------------------------------------------- */
.dm-faq { border-top: 1px solid var(--linha); max-width: 820px; }
.dm-faq details { border-bottom: 1px solid var(--linha); }
.dm-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--espaco-4); min-height: 64px; padding: var(--espaco-4) 0; cursor: pointer; font: 600 18px/24px var(--font-display); }
.dm-faq summary::-webkit-details-marker { display: none; }
.dm-faq summary:hover { color: var(--verde-acao); }
.dm-faq summary .dm-ico { color: var(--verde); transition: transform .2s ease; }
.dm-faq details[open] summary .dm-ico { transform: rotate(180deg); }
.dm-faq-resposta { padding-bottom: var(--espaco-5); font-size: 16px; line-height: 26px; }
@media (min-width: 900px) { .dm-faq summary { font-size: 20px; line-height: 26px; } .dm-faq-resposta { font-size: 17px; line-height: 27px; } }

/* Página da suíte -------------------------------------------------------- */
.dm-migalhas { display: flex; flex-wrap: wrap; gap: var(--espaco-2); padding-top: var(--espaco-4); padding-bottom: 0; font-size: 14px; color: var(--tinta-suave); }
.dm .dm-migalhas a { color: var(--tinta-suave); }
.dm-secao-suite { padding-top: var(--espaco-5); }
.dm-suite-grade { display: grid; gap: var(--espaco-6); }
.dm-suite-grade > * { min-width: 0; }
.dm-galeria { list-style: none; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--espaco-3); margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); scrollbar-width: none; }
.dm-galeria::-webkit-scrollbar { display: none; }
.dm-galeria li { flex: 0 0 88%; scroll-snap-align: center; }
.dm-galeria a { display: block; aspect-ratio: 3 / 2; border-radius: var(--raio-md); overflow: hidden; background: var(--nevoa); }
.dm-galeria img { width: 100%; height: 100% !important; object-fit: cover; }
.dm-galeria-dica { font-size: 13px; color: var(--tinta-suave); margin-top: var(--espaco-2); }
.dm-galeria-vazia { aspect-ratio: 3 / 2; border-radius: var(--raio-md); overflow: hidden; }
.dm-suite-info .dm-texto { max-width: none; }
.dm-suite-cta { display: flex; flex-direction: column; align-items: flex-start; gap: var(--espaco-3); background: var(--nevoa); border-radius: var(--raio-lg); padding: var(--espaco-5); }
.dm-suite-cta p { color: var(--tinta-suave); }
.dm-variacoes { list-style: none; }
@media (min-width: 900px) {
	.dm-suite-grade { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--espaco-8); align-items: start; }
	.dm-galeria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; margin: 0; padding: 0; gap: var(--espaco-3); }
	.dm-galeria li:first-child { grid-column: 1 / -1; }
	.dm-galeria li:nth-child(even):last-child { grid-column: 1 / -1; }
	.dm-galeria-dica { display: none; }
	.dm-suite-info { position: sticky; top: calc(var(--cabecalho-altura) + var(--espaco-5)); }
}

/* Visualizador de fotos */
.dm-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(8, 20, 14, 0.94); display: flex; align-items: center; justify-content: center; padding: var(--espaco-7) var(--espaco-3); }
.dm-lightbox[hidden] { display: none; }
.dm-lightbox img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: var(--raio-sm); }
.dm-lightbox button { position: absolute; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: var(--raio-pill); background: rgba(8, 20, 14, 0.6); color: #fff; cursor: pointer; }
.dm-lightbox button:hover { background: rgba(8, 20, 14, 0.85); }
.dm-lightbox-fechar { top: calc(var(--espaco-3) + env(safe-area-inset-top, 0px)); right: var(--espaco-3); }
.dm-lightbox-ant { left: var(--espaco-3); top: 50%; transform: translateY(-50%); }
.dm-lightbox-prox { right: var(--espaco-3); top: 50%; transform: translateY(-50%); }
.dm-lightbox-contador { position: absolute; bottom: calc(var(--espaco-4) + env(safe-area-inset-bottom, 0px)); left: 0; right: 0; text-align: center; color: #fff; font-size: 14px; }
.dm-lightbox :focus-visible { outline-color: #fff; }

/* Faixa final ------------------------------------------------------------ */
.dm-secao-cta { padding-block: 0 var(--espaco-8); }
.dm-secao-nevoa + .dm-secao-cta, .dm-secao-cta:first-child { padding-top: var(--espaco-8); }
.dm-faixa-cta { background: var(--mata); color: var(--texto-sobre-mata); border-radius: var(--raio-lg); padding: var(--espaco-6) var(--espaco-5); display: flex; flex-direction: column; align-items: flex-start; gap: var(--espaco-5); background-image: radial-gradient(circle at 100% 0%, rgba(0, 145, 87, 0.45), transparent 50%); }
.dm-faixa-cta h2 { font-size: 26px; line-height: 32px; }
.dm-faixa-cta p { color: var(--texto-sobre-mata-suave); margin-top: var(--espaco-2); }
@media (min-width: 900px) {
	.dm-secao-cta { padding-bottom: var(--espaco-9); }
	.dm-secao-nevoa + .dm-secao-cta { padding-top: var(--espaco-9); }
	.dm-faixa-cta { flex-direction: row; align-items: center; justify-content: space-between; padding: var(--espaco-7) var(--espaco-7); }
	.dm-faixa-cta h2 { font-size: 32px; line-height: 38px; }
}

/* Rodapé ----------------------------------------------------------------- */
.dm-rodape { background: var(--mata); color: var(--texto-sobre-mata); padding: var(--espaco-8) 0 var(--espaco-7); }
.dm-rodape-in, .dm-rodape-base { max-width: calc(var(--container) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }
.dm-rodape-in { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espaco-6) var(--espaco-5); }
.dm-rodape-marca { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--espaco-4); }
.dm-rodape-logo img { height: 56px; width: auto; }
.dm-rodape p, .dm-rodape li span { color: var(--texto-sobre-mata-suave); font-size: 15px; line-height: 23px; }
.dm-rodape-titulo { font: 700 13px/16px var(--font-texto) !important; letter-spacing: 0.12em !important; text-transform: uppercase; margin-bottom: var(--espaco-3) !important; }
.dm-rodape ul { list-style: none; display: flex; flex-direction: column; gap: var(--espaco-2); }
.dm-rodape a { color: var(--texto-sobre-mata); text-decoration: none; font-size: 15px; line-height: 23px; }
.dm-rodape a:hover { color: var(--texto-sobre-mata); text-decoration: underline; }
.dm-rodape-col:last-child { grid-column: 1 / -1; }
.dm-rodape-redes { flex-direction: row !important; gap: var(--espaco-3) !important; }
.dm-rodape-redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--raio-pill); border: 1px solid rgba(255, 255, 255, 0.28); }
.dm-rodape-redes a:hover { background: rgba(255, 255, 255, 0.12); }
.dm-rodape-redes .dm-ico { width: 20px; height: 20px; }
.dm-rodape-base { margin-top: var(--espaco-7); padding-top: var(--espaco-5); display: flex; flex-direction: column; gap: var(--espaco-3); font-size: 13px; line-height: 18px; color: var(--texto-sobre-mata-suave); }
.dm-rodape-base > span { border-top: 1px solid rgba(255, 255, 255, 0.16); padding-top: var(--espaco-5); }
.dm-rodape-base a { font-size: 13px; }
@media (min-width: 900px) {
	.dm-rodape-in { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: var(--espaco-6); }
	.dm-rodape-marca, .dm-rodape-col:last-child { grid-column: auto; }
	.dm-rodape-base { flex-direction: row; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, 0.16); }
	.dm-rodape-base > span { border: 0; padding: 0; }
}

/* Assinatura da agência (faixa branca abaixo do rodapé) ----------------- */
.dm-assinatura { background: var(--papel); padding: var(--espaco-5) var(--gutter) calc(var(--espaco-5) + env(safe-area-inset-bottom, 0px)); text-align: center; }
.dm .dm-assinatura p { margin: 0; font-size: 15px; line-height: 22px; color: var(--tinta-suave); }
.dm .dm-assinatura a { color: #0077b6; font-weight: 600; text-decoration: none; }
.dm .dm-assinatura a:hover { text-decoration: underline; }
/* No celular, o botão flutuante do WhatsApp fica no canto inferior: a assinatura sobe para não ficar embaixo dele. */
@media (max-width: 899px) { .dm-assinatura { padding-bottom: calc(var(--espaco-5) + 64px + env(safe-area-inset-bottom, 0px)); } }

/* Botão flutuante de WhatsApp -------------------------------------------- */
.dm .dm-whats-flutuante { position: fixed; z-index: 30; right: var(--espaco-4); bottom: calc(var(--espaco-4) + env(safe-area-inset-bottom, 0px)); display: inline-flex; align-items: center; justify-content: center; gap: var(--espaco-2); width: 60px; height: 60px; border-radius: var(--raio-pill); background: var(--verde-acao); color: var(--sobre-verde); box-shadow: var(--sombra-flutuante); text-decoration: none; font: 600 16px/20px var(--font-texto); transition: transform .2s ease, opacity .2s ease, background-color .15s ease; }
.dm .dm-whats-flutuante:hover { background: var(--verde-escuro); color: var(--sobre-verde); }
.dm-whats-flutuante .dm-ico { width: 30px; height: 30px; }
.dm-whats-flutuante-texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dm-menu-aberto .dm-whats-flutuante, .dm-cookies-visivel .dm-whats-flutuante { opacity: 0; pointer-events: none; transform: translateY(12px); }
@media (min-width: 900px) {
	.dm .dm-whats-flutuante { right: var(--espaco-6); bottom: var(--espaco-6); width: auto; height: 56px; padding: 0 var(--espaco-5) 0 var(--espaco-4); }
	.dm-whats-flutuante .dm-ico { width: 26px; height: 26px; }
	.dm-whats-flutuante-texto { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
}

/* Aviso de cookies ------------------------------------------------------- */
.dm-cookies { position: fixed; z-index: 60; left: var(--espaco-3); right: var(--espaco-3); bottom: calc(var(--espaco-3) + env(safe-area-inset-bottom, 0px)); background: var(--papel); color: var(--tinta); border: 1px solid var(--linha); border-radius: var(--raio-lg); box-shadow: var(--sombra-flutuante); padding: var(--espaco-5); display: flex; flex-direction: column; gap: var(--espaco-4); font-size: 15px; line-height: 23px; }
.dm-cookies[hidden] { display: none; }
.dm-cookies-acoes { display: flex; gap: var(--espaco-3); }
.dm-cookies-acoes .dm-btn { flex: 1; }
@media (min-width: 700px) { .dm-cookies { left: var(--espaco-6); right: auto; bottom: var(--espaco-6); max-width: 440px; } }

/* Diversos --------------------------------------------------------------- */
.dm-lista-simples { list-style: none; display: grid; gap: var(--espaco-3); }
.dm .alignwide, .dm .alignfull { max-width: 100%; }
.dm .wp-block-image img { border-radius: var(--raio-md); }

/* Cupom de desconto ------------------------------------------------------ */
.dm-cupom-chamada { display: grid; gap: var(--espaco-4); align-items: center; background: var(--rosado); border-radius: var(--raio-lg); padding: var(--espaco-6) var(--espaco-5); }
.dm-cupom-chamada-pct { font: 800 72px/0.9 var(--font-display); letter-spacing: -0.04em; color: var(--vermelho); }
.dm-cupom-chamada-pct span { font-size: 0.55em; }
.dm-cupom-chamada-texto { display: flex; flex-direction: column; gap: var(--espaco-2); }
.dm-cupom-chamada h2 { font: 700 22px/28px var(--font-display); }
.dm-cupom-chamada-texto > p:last-child { color: var(--tinta-suave); font-size: 16px; line-height: 24px; }
.dm-cupom-chamada .dm-eyebrow { color: var(--vermelho-escuro); }
.dm-faixas-finais { display: flex; flex-direction: column; gap: var(--espaco-5); }
@media (min-width: 900px) {
	.dm-cupom-chamada { grid-template-columns: auto 1fr auto; gap: var(--espaco-6); padding: var(--espaco-6) var(--espaco-7); }
	.dm-cupom-chamada-pct { font-size: 104px; }
	.dm-cupom-chamada h2 { font-size: 26px; line-height: 32px; }
	.dm-faixas-finais { gap: var(--espaco-6); }
}

.dm-cupom-grade { display: grid; gap: var(--espaco-7); }
.dm-cupom-grade > * { min-width: 0; }
@media (max-width: 899px) { .dm-cupom-caixa { order: -1; } }
@media (min-width: 900px) { .dm-cupom-grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--espaco-8); align-items: start; } .dm-cupom-caixa { position: sticky; top: calc(var(--cabecalho-altura) + var(--espaco-5)); } }
.dm-cupom-texto { font-size: 18px; line-height: 28px; }
.dm-cupom-passos { list-style: none; counter-reset: cp; display: grid; gap: var(--espaco-4); }
.dm-cupom-passos li { counter-increment: cp; display: grid; grid-template-columns: 40px 1fr; column-gap: var(--espaco-3); }
.dm-cupom-passos li::before { content: counter(cp); grid-row: span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--raio-pill); background: var(--verde-claro); color: var(--verde-escuro); font: 700 18px/1 var(--font-display); }
.dm-cupom-passos strong { font: 600 17px/24px var(--font-texto); }
.dm-cupom-passos span { color: var(--tinta-suave); font-size: 15px; line-height: 23px; }
.dm-cupom-regras { list-style: none; display: grid; gap: var(--espaco-1); font-size: 14px; line-height: 21px; color: var(--tinta-suave); }

.dm-cupom-caixa { background: var(--nevoa); border-radius: var(--raio-lg); padding: var(--espaco-5) var(--espaco-4); }
@media (min-width: 900px) { .dm-cupom-caixa { padding: var(--espaco-6); } }
.dm-cupom-form { display: flex; flex-direction: column; gap: var(--espaco-4); }
.dm-cupom-form[hidden] { display: none; }
.dm .dm-campo { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.dm-campo label { font: 600 15px/20px var(--font-texto); }
.dm-campo input[type="text"] { width: 100%; min-height: 52px; padding: 0 var(--espaco-4); border: 1.5px solid var(--linha-forte); border-radius: var(--raio-md); background: var(--papel); color: var(--tinta); font: 400 17px/24px var(--font-texto); }
.dm-campo input[type="text"]:focus { border-color: var(--verde-acao); outline: 2px solid var(--verde-claro); outline-offset: 0; }
.dm-campo-aceite label { display: grid; grid-template-columns: 22px 1fr; gap: var(--espaco-3); align-items: start; font: 400 14px/21px var(--font-texto); color: var(--tinta-suave); }
.dm-campo-aceite input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--verde-acao); }
.dm-campo-oculto { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dm-cupom-erro { background: var(--rosado); color: var(--vermelho-escuro); border-radius: var(--raio-md); padding: var(--espaco-3) var(--espaco-4); font: 500 15px/22px var(--font-texto); }
.dm-cupom-erro[hidden] { display: none; }
.dm-cupom-enviar { width: 100%; }
.dm-cupom-aviso { display: flex; flex-direction: column; align-items: flex-start; gap: var(--espaco-3); }

.dm-cupom-resultado { display: flex; flex-direction: column; gap: var(--espaco-4); outline: none; }
.dm .dm-cupom-resultado:focus, .dm .dm-cupom-resultado:focus-visible { outline: none; }
.dm-cupom-resultado[hidden] { display: none; }
.dm-cupom { background: var(--papel); border-radius: var(--raio-lg); overflow: hidden; box-shadow: var(--sombra-cartao); }
.dm-cupom-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--espaco-2) var(--espaco-3); background: var(--mata); padding: var(--espaco-4); }
.dm-cupom-topo img { height: 34px; width: auto; }
.dm-cupom-selo { background: var(--vermelho); color: #fff; border-radius: var(--raio-pill); padding: 5px 10px; font: 700 13px/18px var(--font-texto); white-space: nowrap; }
.dm-cupom-codigo { margin: var(--espaco-4) var(--espaco-4) 0; border: 2px dashed var(--verde-acao); border-radius: var(--raio-md); padding: var(--espaco-3); text-align: center; }
.dm-cupom-codigo span { display: block; font: 700 12px/16px var(--font-texto); letter-spacing: 0.12em; text-transform: uppercase; color: var(--tinta-suave); }
.dm-cupom-codigo strong { display: block; font: 800 clamp(20px, 7.2vw, 36px)/1.3 var(--font-display); letter-spacing: 0.02em; color: var(--verde-acao); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dm .dm-cupom-dados { margin: var(--espaco-4); display: grid; gap: var(--espaco-2); }
.dm-cupom-dados div { display: flex; justify-content: space-between; gap: var(--espaco-3); border-bottom: 1px solid var(--linha); padding-bottom: var(--espaco-2); }
.dm-cupom-dados dt { color: var(--tinta-suave); font-size: 14px; }
.dm-cupom-dados dd { margin: 0; font: 600 15px/22px var(--font-texto); text-align: right; overflow-wrap: anywhere; }
.dm .dm-cupom-instrucao { margin: 0 var(--espaco-4); font: 700 15px/22px var(--font-texto); }
.dm .dm-cupom-regras-mini { list-style: none; margin: var(--espaco-2) var(--espaco-4) var(--espaco-4); font-size: 13px; line-height: 19px; color: var(--tinta-suave); }
.dm-cupom-acoes { display: flex; flex-direction: column; gap: var(--espaco-3); }
.dm-cupom-nota { font-size: 14px; line-height: 21px; color: var(--tinta-suave); }
.dm-cupom-nota:empty { display: none; }
@media (min-width: 600px) { .dm-cupom-acoes { flex-direction: row; flex-wrap: wrap; } .dm-cupom-topo { padding: var(--espaco-4) var(--espaco-5); } .dm-cupom-topo img { height: 40px; } .dm-cupom-selo { font-size: 14px; padding: 6px 12px; } }
@media (min-width: 900px) { .dm-cupom-caixa { padding: var(--espaco-6); } .dm-cupom-codigo strong { font-size: 34px; } }

/* Temas das suítes (Executivas) ----------------------------------------- */
.dm-temas { display: flex; flex-direction: column; gap: var(--espaco-4); }
.dm-temas-dica { font-size: 14px; line-height: 21px; color: var(--tinta-suave); margin-top: calc(-1 * var(--espaco-2)) !important; }
.dm-temas-grupo { display: flex; flex-direction: column; gap: var(--espaco-3); }
.dm .dm-temas-titulo { display: flex; align-items: center; gap: var(--espaco-2); font: 700 13px/16px var(--font-texto); letter-spacing: 0.12em; text-transform: uppercase; color: var(--vermelho-escuro); }
.dm-temas-titulo .dm-ico { width: 18px; height: 18px; }
.dm-temas-lista { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espaco-2); }
.dm .dm-tema { display: flex; align-items: center; justify-content: space-between; gap: var(--espaco-2); min-height: 48px; padding: var(--espaco-2) var(--espaco-3) var(--espaco-2) var(--espaco-4); border: 1px solid var(--linha); border-radius: var(--raio-md); background: var(--papel); color: var(--tinta); font: 600 15px/20px var(--font-texto); text-decoration: none; transition: border-color .15s ease, background-color .15s ease; }
.dm .dm-tema:hover { border-color: var(--verde-acao); background: var(--verde-claro); color: var(--tinta); }
.dm-tema .dm-ico { width: 18px; height: 18px; color: var(--verde-acao); flex: none; }
@media (min-width: 600px) { .dm-temas-lista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 900px) { .dm-temas-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Temas com página própria: cartões agrupados por banheira (página da categoria). */
.dm-temas-bloco { display: flex; flex-direction: column; gap: var(--espaco-4); }
.dm-temas-bloco + .dm-temas-bloco { margin-top: var(--espaco-6); }
.dm .dm-temas-ancora { align-self: flex-start; }
#dm-temas { scroll-margin-top: 72px; }
