/**
 * DM Theme -- base visual (Fase 1: fundação).
 * Cores e tipografia atuais do site, expostas como variáveis CSS.
 */
:root {
	--dm-color-primary: #ff3c9f;
	--dm-color-primary-hover: #e0338c;
	--dm-color-text: #1a1a1a;
	--dm-color-text-muted: #6b6b6b;
	--dm-color-background: #ffffff;
	--dm-color-surface: #fde3f0;

	--dm-font-base: 'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--dm-font-size-base: 15px;
	--dm-line-height-base: 1.6;

	--dm-space-xs: 0.44rem;
	--dm-space-sm: 0.67rem;
	--dm-space-md: 1rem;
	--dm-space-lg: 1.5rem;
	--dm-space-xl: 2.25rem;
	--dm-space-2xl: 3.38rem;

	--dm-content-width: 1360px;
}

/* body: tipografia/cor/fundo ja vem do CSS do Kadence (kadence-inline-snapshot.css) -- nao repetir aqui para nao entrar em conflito de cascata (a nossa folha carrega depois e ganhava, sobrepondo o fundo). */

a {
	color: var(--dm-color-primary);
}

a:hover,
a:focus {
	color: var(--dm-color-primary-hover);
}

/*
 * Drawer mobile: X (fechar) na mesma linha que o logotipo do site --
 * logo a esquerda, X a direita. ".popup-drawer .drawer-header" do Kadence
 * (header.min.css) traz justify-content:flex-end -- seletor por ID vence
 * sem depender da ordem de carregamento das folhas de estilo.
 */
#mobile-drawer .drawer-header {
	justify-content: space-between;
	align-items: center;
	padding: 0 5px 0 2em;
}

/*
 * Item do menu mobile sem destino proprio (ex.: "Massagistas", url="#"):
 * o proprio <a> acumula a classe drawer-sub-toggle (ver
 * class-dm-theme-nav-walker.php) para que o texto inteiro, e nao so a
 * seta, abra o submenu ao ser tocado. ".drawer-nav-drop-wrap
 * .drawer-sub-toggle" do Kadence da padding:.5em .7em (mais apertado que
 * os 1em dos restantes itens do menu) e nao espalha texto/seta pelas
 * pontas -- repomos aqui os mesmos 1em de todos os outros itens e
 * empurramos a seta para a direita, ocupando a linha toda.
 */
.mobile-navigation .drawer-nav-drop-wrap > button.drawer-nav-drop-title {
	width: 100%;
	justify-content: center;
	gap: 6px;
	padding-top: 1em;
	padding-bottom: 1em;
	text-align: center;
	font: inherit;
	cursor: pointer;
	/* ".drawer-nav-drop-wrap button" do Kadence (kadence-inline-snapshot.css)
	 * poe um border-left para separar visualmente texto e seta quando eram
	 * dois elementos lado a lado -- agora que sao um so' botao a ocupar a
	 * linha toda, isso aparecia como uma risca vertical encostada a
	 * esquerda. A especificidade dessa regra (":not()" conta como classe)
	 * empata com esta, por isso o !important garante que fica sem risca
	 * independentemente da ordem de carregamento. */
	border-left: 0 !important;
}

/*
 * Drawer mobile: cabecalho (logo + X) encostado ao menu, com 50px de
 * intervalo, em vez do espaco vazio gerado pelo ".content-valign-middle"
 * do Kadence (centra o conteudo a meio da altura toda do drawer -- ficava
 * bem quando o logo ainda vivia aqui dentro, mas agora que so' sobra o
 * menu, esse espaco fica todo por cima dele).
 */
#mobile-drawer .drawer-content.content-valign-middle {
	justify-content: flex-start;
	padding-top: 50px;
}

/*
 * Texto de rodape (copyright) repetido no fundo do menu mobile -- fora do
 * #colophon real, por isso nao herda "#colophon .footer-html" do Kadence
 * (kadence-inline-snapshot.css); estilo proprio, discreto, separado do
 * menu por uma linha.
 */
#mobile-drawer .drawer-content .site-info {
	margin-top: 24px;
	padding-top: 16px;
	text-align: center;
	font-size: 12px;
	color: var(--dm-color-text-muted);
}

#mobile-drawer .drawer-content .site-info p {
	margin: 0;
}

/* Menu principal (ex: "Massagistas") com submenu: o Kadence poe' o wrap em
 * display:block com a seta em position:absolute;right:0, o que faz o wrap
 * ocupar a largura toda do item de menu e a seta ficar afastada da palavra
 * em vez de logo a seguir. Passa-se o wrap a inline-flex (encolhe ao
 * conteudo) e a seta a fluxo normal, sem tocar no ficheiro do Kadence. */
.nav-drop-title-wrap {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding-right: 0;
}
.nav-drop-title-wrap .dropdown-nav-toggle {
	position: static;
	transform: none;
}

/* Pagina "Saiba mais": o cabecalho rosa (bloco Toolset) fica com o mesmo
 * padding lateral do resto do conteudo em mobile. Estica-se ate a borda
 * do ecra so' neste breakpoint, mantendo o padding interno do bloco. */
@media screen and (max-width: 719px) {
	body.page-id-1435 .wp-block-toolset-blocks-container[data-toolset-blocks-container="ddf6cea30d3d8e753f7329a27eb6ad99"] {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		border-radius: 0;
	}
}

/*
 * Footer: linha de links legais (Politica de Privacidade / Termos e
 * Condicoes de Utilizacao / Politica de Cookies) -- geridos em Sistema ->
 * Paginas, ver DM2027_Legal_Pages (plugin DM Core) e
 * template-parts/footer/site-info.php. Fonte mais pequena que o resto do
 * texto do footer (12px, ".footer-html" do Kadence) e numa unica linha em
 * desktop, com quebra ordenada em mobile.
 */
.dm2027-footer-legal-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px 10px;
	margin-top: 8px;
	text-transform: none;
}

.dm2027-footer-legal-links a {
	font-size: 10.5px;
	color: inherit;
	text-decoration: none;
}

.dm2027-footer-legal-links a:hover,
.dm2027-footer-legal-links a:focus {
	color: var( --dm-color-primary );
	text-decoration: none;
}

.dm2027-footer-legal-sep {
	font-size: 10.5px;
	color: var( --dm-color-text-muted );
}

@media screen and ( max-width: 480px ) {
	.dm2027-footer-legal-links {
		gap: 4px 8px;
	}
}
/* ===== Design 2026 — tokens (fonte única; ver _design/AUDITORIA-DESIGN.md) =====
 * Só variáveis: nada as usa até os passos seguintes as aplicarem. Sempre modo claro. */
:root {
  --dm-brand: #ff3c9f; --dm-brand-hover: #e0338c; --dm-brand-soft: #fff0f7; --dm-brand-border: #ffd0e8;
  --dm-ink: #1e1e1e; --dm-ink-2: #2b2f3a; --dm-ink-soft: #5b6070; --dm-ink-faint: #8a8f9c;
  --dm-line: var(--dm-line); --dm-line-strong: var(--dm-line-strong);
  --dm-page: #f5f8fb; --dm-card: #ffffff; --dm-muted: #f3f4f6; --dm-muted-2: var(--dm-surface);
  --dm-good: #10a64a; --dm-good-bg: #eafbf0; --dm-warn: #8a5a00; --dm-warn-bg: #fff4e5;
  --dm-crit: #96201f; --dm-crit-bg: #fdecec; --dm-offer: #ffc300;
  --dm-svc-destaque: #ff3c9f; --dm-svc-destaque-bg: #fff0f7;
  --dm-svc-disponivel: #10a64a; --dm-svc-disponivel-bg: #eefaf2;
  --dm-svc-topo: #5854c9; --dm-svc-topo-bg: #eef0fd;
  --dm-svc-boost: #c1650a; --dm-svc-boost-bg: #fef3e9;
  --dm-svc-flutuante: #8b5cf6; --dm-svc-flutuante-bg: #f4f0ff;
  --dm-svc-estatisticas: #0e8f88; --dm-svc-estatisticas-bg: #e8fbfa;
  --dm-svc-verificado: #0089b8; --dm-svc-verificado-bg: #eef9ff;
  --dm-svc-premium: #ab8b2e; --dm-svc-premium-bg: #fdf9ec;
  --dm-r-photo: 8px; --dm-r-sm: 10px; --dm-r-md: 12px; --dm-r-lg: 16px; --dm-r-xl: 20px; --dm-r-pill: 99px;
  --dm-card-gradient: linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.65) 45%, rgba(0,0,0,0) 100%);
  --dm-shadow-card: 0 1px 2px rgba(20,30,50,.04);
  --dm-shadow-pop: 0 12px 30px rgba(20,30,50,.16);
}
/* ===== Design 2026 — cabeçalho e rodapé (passo 2b; só CSS sobre o markup Kadence) =====
 * Largura de conteúdo 1360px e fundo da página #f5f8fb. */
:root {
  --global-content-width: 1360px;
  --global-calc-content-width: calc(1360px - var(--global-content-edge-padding) - var(--global-content-edge-padding));
}
body { background: var(--dm-page); }

@media all and (min-width: 1025px) {
  #masthead { background: var(--dm-card); border-bottom: 1px solid var(--dm-line); position: sticky; top: 0; z-index: 40; }
  .admin-bar #masthead { top: 32px; }
  #masthead .site-container { max-width: 1360px; padding-left: 16px; padding-right: 16px; }
  #masthead .site-main-header-inner-wrap { min-height: 62px; }
  #masthead .site-branding a.brand img { max-width: 205px; }
  #masthead .main-navigation .primary-menu-container > ul { align-items: center; }
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a {
    font-size: 14px; font-weight: 400; color: var(--dm-ink-soft);
    padding-left: 9px; padding-right: 9px; padding-top: .6em; padding-bottom: .6em;
  }
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:hover { color: var(--dm-brand); }
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a,
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-ancestor > a,
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-parent > a { color: var(--dm-brand); font-weight: 700; }
  /* Entrar / Painel: pílula cinzenta como no protótipo */
  #masthead .dmadv-navbar-item { margin-left: 8px; }
  #masthead .dmadv-navbar-item .dmadv-login-trigger,
  #masthead .dmadv-navbar-item .dmadv-panel-link {
    background: var(--dm-line); color: var(--dm-ink-2); border: 0; border-radius: 6px;
    padding: 7px 10px; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.4; box-shadow: none;
  }
  #masthead .dmadv-navbar-item .dmadv-login-trigger:hover,
  #masthead .dmadv-navbar-item .dmadv-panel-link:hover { background: var(--dm-line-strong); color: var(--dm-ink-2); }
}

/* Rodapé: texto centrado e discreto, sem faixa */
#colophon { background: transparent; }
#colophon .site-container { max-width: 1360px; }
.site-bottom-footer-inner-wrap { padding-top: 26px; padding-bottom: 36px; }
#colophon .footer-html { font-size: 11px; line-height: 1.7; color: var(--dm-ink-soft); margin: 0; text-align: center; }
.dm2027-footer-legal-links { margin-top: 2px; }
.dm2027-footer-legal-links a, .dm2027-footer-legal-sep { font-size: 11px; color: var(--dm-ink-soft); }
.dm2027-footer-legal-links a:hover, .dm2027-footer-legal-links a:focus { color: var(--dm-brand); }
/* ===== Design 2026 — menu Massagistas: painel Género + Zonas (passo 2c) ===== */
@media all and (min-width: 1025px) {
  #masthead .site-main-header-inner-wrap { position: relative; }
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item-has-children { position: static; }
  #masthead .header-navigation ul li.menu-item-has-children > ul.sub-menu {
    display: flex; flex-direction: row; flex-wrap: wrap; align-content: flex-start; gap: 4px 18px;
    left: auto; right: 0; width: 720px; max-width: 100%; box-sizing: border-box;
    padding: 22px 24px 0; background: var(--dm-card); border: 1px solid var(--dm-line); border-top: 0;
    border-radius: 0 0 20px 20px; box-shadow: var(--dm-shadow-pop); z-index: 60;
  }
  #masthead .header-navigation ul.sub-menu > li.menu-item { border-bottom: 0; }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-heading { flex: 0 0 100%; margin: 0 0 6px; }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-heading ~ li.dm-menu-heading { margin-top: 18px; }
  #masthead .dm-menu-heading-text { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: var(--dm-ink-faint); }
  /* Género: pílulas */
  #masthead .header-navigation ul.sub-menu > li.dm-menu-genero { flex: 0 0 auto; margin-right: -10px; }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-genero > a {
    width: auto; padding: 9px 16px; border-radius: 99px; background: var(--dm-muted) !important;
    color: var(--dm-ink-2) !important; font-weight: 800; font-size: 14px;
  }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-genero > a:hover { background: var(--dm-line) !important; color: var(--dm-brand) !important; }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-genero.dm-menu-on > a { background: var(--dm-brand) !important; color: #fff !important; }
  /* Zonas: 4 colunas */
  #masthead .header-navigation ul.sub-menu > li.dm-menu-zona { flex: 0 0 calc(25% - 13.5px); }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-zona > a {
    width: 100%; padding: 8px 0; font-size: 14px; font-weight: 700; color: var(--dm-ink-2) !important;
    background: none !important; border-bottom: 1px solid var(--dm-line); border-radius: 0;
  }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-zona > a:hover { color: var(--dm-brand) !important; background: none !important; }
  /* Rodapé do painel: Ver no mapa */
  #masthead .header-navigation ul.sub-menu > li.dm-menu-mapa {
    flex: 0 0 calc(100% + 48px); margin: 20px -24px 0; padding: 14px 24px; text-align: right;
    background: var(--dm-brand-soft); border-radius: 0 0 20px 20px;
  }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-mapa > a {
    display: inline; width: auto; padding: 0; font-size: 14px; font-weight: 800;
    color: var(--dm-brand) !important; background: none !important;
  }
}

/* Gaveta mobile (até a barra inferior, passo 2d): mesmos blocos, em lista */
.mobile-navigation .dm-menu-heading-text { display: block; padding: 12px 1em 4px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: var(--dm-ink-faint); }
.mobile-navigation ul li.dm-menu-heading { border-bottom: 0; }
.mobile-navigation ul li.dm-menu-on > a { color: var(--dm-brand); font-weight: 800; }
.mobile-navigation ul li.dm-menu-mapa > a { font-weight: 800; color: var(--dm-brand); }
/* ===== Design 2026 — mobile/tablet: barra inferior e cabeçalho compacto (passo 2d) ===== */
.dm-bottom-nav { display: none; }
@media all and (max-width: 1024px) {
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  #masthead { background: var(--dm-card); border-bottom: 1px solid var(--dm-line); position: sticky; top: 0; z-index: 40; }
  #mobile-header .site-main-header-inner-wrap { min-height: 56px; }
  #mobile-header .site-container { padding-left: 16px; padding-right: 16px; }
  #mobile-header .site-branding a.brand img { max-width: 170px; height: auto; }
  /* hambúrguer e gaveta deixam de ser usados: a navegação é a barra inferior */
  #mobile-header .mobile-toggle-open-container, #mobile-drawer { display: none !important; }
  .dm-mobile-actions { display: flex; align-items: center; gap: 2px; }
  .dm-mobile-action { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--dm-ink-faint); }
  .dm-mobile-action:hover, .dm-mobile-action:focus { color: var(--dm-brand); }
  .dm-mobile-action svg { width: 22px; height: 22px; }
  .dm-mobile-fav { color: var(--dm-brand); }

  .dm-bottom-nav {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000;
    justify-content: space-around; background: rgba(255,255,255,.94);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    border-top: 1px solid var(--dm-line);
    padding: 6px 2px calc(6px + env(safe-area-inset-bottom, 0px));
  }
  .dm-bottom-nav .dm-bn-item {
    flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 7px 2px 4px; margin: 0; border: 0; border-radius: 0; background: none !important; box-shadow: none;
    font: inherit; font-size: 11px; line-height: 1.2; font-weight: 400; color: var(--dm-ink-faint) !important;
    text-decoration: none; position: relative; cursor: pointer;
  }
  .dm-bottom-nav .dm-bn-item span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  .dm-bottom-nav .dm-bn-item.on { color: var(--dm-brand) !important; font-weight: 800; }
  .dm-bottom-nav .dm-bn-item.on::before { content: ""; position: absolute; top: -7px; left: 50%; transform: translateX(-50%); width: 22px; height: 3px; background: var(--dm-brand); border-radius: 0 0 3px 3px; }

  /* elementos fixos que ficavam por baixo da barra */
  #kt-scroll-up, #kt-scroll-up-reader { bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }
  .dmadv-toast-region { bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media all and (max-width: 782px) {
  .admin-bar #masthead { top: 46px; }
}
/* ===== Design 2026 — correção do painel do menu (desktop) =====
 * 1) O painel começa na base da linha do cabeçalho: o link de 1.º nível passa a ocupar a altura toda
 *    da linha (sem espaço morto entre o link e o painel) e há uma ponte invisível de 12px por cima.
 * 2) A barra "Ver no mapa" usava content-box: com padding passava 24px de cada lado. */
@media all and (min-width: 1025px) {
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a { display: flex; align-items: center; min-height: 62px; }
  #masthead .header-navigation ul li.menu-item-has-children > ul.sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-mapa { box-sizing: border-box; }
  #masthead .header-navigation ul.sub-menu > li.dm-menu-heading,
  #masthead .header-navigation ul.sub-menu > li.dm-menu-genero,
  #masthead .header-navigation ul.sub-menu > li.dm-menu-zona { box-sizing: border-box; }
}
/* ===== Design 2026 — componentes partilhados (passo 2e) =====
 * Cartões, botões, campos e menu de zonas. A folha do tema carrega depois dos plugins, por isso
 * estas regras ganham às dos plugins com a mesma especificidade (sem tocar nos seus ficheiros). */

/* Cartões: foto 8px, texto proporcional ao cartão (cqw), degradé mais forte, elevar no hover */
.dm2027-cards-grid { gap: 8px; }
.dm2027-cards-grid .img-block { border-radius: var(--dm-r-photo); container-type: inline-size; transition: transform .18s ease, box-shadow .18s ease; }
.dm2027-cards-grid a:hover .img-block { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(20,30,50,.14); }
.dm2027-cards-grid .caixa { padding: 5.6cqw; background: var(--dm-card-gradient); }
.dm2027-cards-grid .caixa div { font-size: 5.2cqw; font-weight: 400; opacity: .9; line-height: 1.3; }
.dm2027-cards-grid .caixa .titulo { font-size: 7.2cqw; font-weight: 700; opacity: 1; margin-bottom: .8cqw; display: flex; align-items: center; line-height: 1.2; }
.dm2027-cards-grid .caixa .titulo .dmadv-trust-badge { margin-left: 1.8cqw; }
.dm2027-cards-grid .caixa .titulo .dmadv-trust-badge svg { width: 8.8cqw; height: 8.8cqw; }
.dm2027-cards-grid .caixa .titulo .dmadv-available-now-icon { margin-left: 2.4cqw; width: 8.8cqw; height: 8.8cqw; }
.dm2027-cards-grid .caixa .titulo .dmadv-available-now-icon svg { width: 4.8cqw; height: 4.8cqw; }
@media ( max-width: 782px ) { .dm2027-cards-grid { gap: 6px; } }

/* Degradé do Anúncio Flutuante (cartão grande, só acima de 768px) */
@media ( min-width: 769px ) { .dmadv-toast-text { background: var(--dm-card-gradient); } }

/* Centros: cartão só com o banner, contorno fino e cantos arredondados */
.dm2027-centro-card { border: 1px solid var(--dm-line); border-radius: var(--dm-r-lg); overflow: hidden; background: #fff; transition: transform .18s ease, box-shadow .18s ease; }
.dm2027-centro-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(20,30,50,.10); }

/* Botões e campos: 46px, raio 12, texto 14px/800 */
.dm2027-zona-switcher-toggle { border-radius: var(--dm-r-md); padding: 12px 20px; font-size: 14px; font-weight: 800; background: var(--dm-brand); }
.dm2027-zona-switcher-toggle:hover, .dm2027-zona-switcher-toggle:focus { background: var(--dm-brand-hover); }
.dm2027-zona-switcher-menu { border-radius: var(--dm-r-lg); border: 1px solid var(--dm-line); box-shadow: var(--dm-shadow-pop); }
.dm2027-zona-switcher-menu li + li { border-top: 1px solid var(--dm-line); }
.dm2027-zona-switcher-menu a { padding: 12px 20px; font-size: 14px; font-weight: 700; color: var(--dm-ink-2) !important; }
.dm2027-zona-switcher-menu a:hover, .dm2027-zona-switcher-menu a:focus { background: var(--dm-brand-soft); color: var(--dm-brand) !important; }
.dm2027-filter-form select, .dm2027-filter-form input[type="text"] { height: 46px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); font-size: 14px; color: var(--dm-ink); }
.dm2027-filter-form .button { height: 46px; border-radius: var(--dm-r-md); font-size: 14px; font-weight: 800; padding: 0 22px; background: var(--dm-brand); border-color: var(--dm-brand); }
.dm2027-filter-form .button:hover, .dm2027-filter-form .button:focus { background: var(--dm-brand-hover); }
/* Design 2026 — "Todas" no bloco Zonas do menu */
#masthead .header-navigation ul.sub-menu > li.dm-menu-todas > a { font-weight: 800; color: var(--dm-brand) !important; }
.mobile-navigation ul li.dm-menu-todas > a { font-weight: 800; color: var(--dm-brand); }

/* ===== Design 2026 — Início (passo 3.1): shortcode [dm2027_home_page] + texto "Sobre" ===== */
.dm2027-massagistas-archive.dm2027-home-wrap { padding: 28px; }
.dm2027-kicker { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); font-weight: 800; margin: 0 0 10px; }
.dm2027-home-title { font-size: 34px; line-height: 1.18; font-weight: 800; letter-spacing: -.015em; max-width: 22ch; margin: 0; color: var(--dm-ink); }
.dm2027-home-title em { font-style: normal; color: var(--dm-brand); }
.dm2027-home-lede { font-size: 14px; line-height: 1.6; color: var(--dm-ink-soft); margin: 8px 0 0; max-width: 70ch; }
.dm2027-home-hero { padding: 20px 0 8px; }

.dm2027-home-search { display: grid; grid-template-columns: 1.35fr 1fr 1fr auto; gap: 8px; padding: 8px; background: var(--dm-page); border-radius: 18px; margin-top: 22px; }
.dm2027-home .dm2027-fi { position: relative; height: 46px; margin: 0; border: 1px solid transparent; border-radius: var(--dm-r-md); padding: 0 14px; display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--dm-ink-2); background: var(--dm-card); min-width: 0; }
.dm2027-home .dm2027-fi svg { color: var(--dm-ink-faint); flex: none; }
.dm2027-home .dm2027-fi input[type="text"], .dm2027-home .dm2027-fi select { flex: 1; min-width: 0; height: 100%; border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: 0; padding: 0 22px 0 0; margin: 0; font: inherit; font-size: 14px; color: var(--dm-ink-2); -webkit-appearance: none; appearance: none; background-image: none; }
.dm2027-home .dm2027-fi input[type="text"] { padding-right: 0; }
.dm2027-home .dm2027-fi input::placeholder { color: var(--dm-ink-faint); }
.dm2027-home .dm2027-chev { position: absolute; right: 12px; top: 0; bottom: 0; display: flex; align-items: center; pointer-events: none; color: var(--dm-ink-faint); }
.dm2027-home .dm2027-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 18px; margin: 0; border: 0; border-radius: var(--dm-r-md); background: var(--dm-brand); color: #fff; font: inherit; font-size: 14px; font-weight: 800; white-space: nowrap; cursor: pointer; box-shadow: none; }
.dm2027-home .dm2027-btn:hover, .dm2027-home .dm2027-btn:focus { background: var(--dm-brand-hover); color: #fff; }

.dm2027-home-zonas { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.dm2027-home .dm2027-k { font-size: 12px; font-weight: 800; color: var(--dm-ink-faint); letter-spacing: .06em; text-transform: uppercase; }
.dm2027-home .dm2027-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dm2027-home .dm2027-chips a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: var(--dm-r-pill); background: var(--dm-muted); font-size: 13px; font-weight: 700; color: var(--dm-ink-2) !important; text-decoration: none; }
.dm2027-home .dm2027-chips a:hover, .dm2027-home .dm2027-chips a:focus { background: var(--dm-brand-soft); color: var(--dm-brand) !important; }

.dm2027-home-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-top: 14px; }
.dm2027-home .dm2027-qt { border-radius: var(--dm-r-lg); padding: 16px; display: flex; gap: 12px; align-items: center; transition: transform .15s; text-decoration: none; color: inherit !important; }
.dm2027-home .dm2027-qt:hover { transform: translateY(-2px); }
.dm2027-home .dm2027-qt-ib { width: 40px; height: 40px; border-radius: var(--dm-r-md); background: var(--dm-card); display: flex; align-items: center; justify-content: center; flex: none; }
.dm2027-home .dm2027-qt b { display: block; font-size: 14px; font-weight: 800; color: var(--dm-ink); }
.dm2027-home .dm2027-qt span:not(.dm2027-qt-ib) { display: block; font-size: 12px; color: var(--dm-ink-soft); margin-top: 2px; }

.dm2027-home-block { margin-top: 44px; padding-top: 40px; border-top: 1px solid var(--dm-line); }
.dm2027-lh { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.dm2027-lh-ib { width: 40px; height: 40px; border-radius: var(--dm-r-md); display: flex; align-items: center; justify-content: center; flex: none; }
.dm2027-lh h2 { font-size: 20px; font-weight: 800; letter-spacing: -.005em; margin: 0; color: var(--dm-ink); }
.dm2027-lh p { font-size: 13px; color: var(--dm-ink-faint); margin: 2px 0 0; }
.dm2027-home .dm2027-cards-grid { margin: 0; }

.dm2027-home-about { margin-top: 44px; padding-top: 40px; border-top: 1px solid var(--dm-line); display: grid; gap: 16px; }
.dm2027-home-about h2 { font-size: 20px; font-weight: 800; line-height: 1.3; margin: 0; text-align: left; color: var(--dm-ink); }
.dm2027-home-about .dm2027-kicker { margin: 0; }
.dm2027-about-txt { font-size: 14px; line-height: 1.75; color: var(--dm-ink-soft); }
.dm2027-about-txt p { margin: 0 0 14px; text-align: left; }
.dm2027-about-txt a { color: var(--dm-brand) !important; font-weight: 700; }
.dm2027-about-txt strong { color: var(--dm-ink); }

@media ( max-width: 1024px ) {
  .dm2027-home-search { grid-template-columns: 1fr 1fr; }
  .dm2027-home .dm2027-btn { grid-column: 1 / -1; }
}
@media ( max-width: 782px ) {
  .dm2027-home-title { font-size: 24px; line-height: 1.22; }
  .dm2027-home-search { grid-template-columns: 1fr; }
  .dm2027-home-quick { grid-template-columns: repeat(2, 1fr); }
  .dm2027-home-block, .dm2027-home-about { margin-top: 32px; padding-top: 28px; }
  .dm2027-massagistas-archive.dm2027-home-wrap { padding: 20px; }
}
/* ===== Design 2026 — Início (passo 3.1b): correções face ao protótipo =====
 * ".single-content h1/p" do Kadence (margens) tem mais especificidade que as regras anteriores: prefixar com .dm2027-home. */
.dm2027-home .dm2027-home-title { margin: 0; }
.dm2027-home .dm2027-home-lede { margin: 8px 0 0; }
.dm2027-home .dm2027-kicker { margin: 0 0 10px; }
.dm2027-home .dm2027-lh h2 { margin: 0; }
.dm2027-home .dm2027-lh p { margin: 2px 0 0; }

/* Sem linha nem espaço extra entre o cabeçalho e a primeira lista (só há linha entre Destaques e Sobre) */
.dm2027-home-hero + .dm2027-home-block { margin-top: 36px; padding-top: 0; border-top: 0; }

/* Sobre: desktop em 2 colunas (etiqueta+título 260px | texto em 2 colunas); 1 coluna no mobile */
.dm2027-massagistas-archive .dm2027-home-about { margin-top: 44px; padding-top: 40px; }
.dm2027-home-wrap .dm2027-home-about h2.wp-block-heading { margin: 0; font-size: 20px; font-weight: 800; line-height: 1.3; text-align: left; color: var(--dm-ink); }
.dm2027-home-wrap .dm2027-home-about p.dm2027-kicker { margin: 0 0 10px; }
@media ( min-width: 783px ) {
  .dm2027-home-about { grid-template-columns: 260px 1fr; grid-template-rows: auto 1fr; gap: 0 40px; }
  .dm2027-home-about > .dm2027-kicker { grid-column: 1; grid-row: 1; }
  .dm2027-home-about > h2 { grid-column: 1; grid-row: 2; align-self: start; }
  .dm2027-home-about > .dm2027-about-txt { grid-column: 2; grid-row: 1 / span 2; columns: 2; column-gap: 36px; }
  .dm2027-about-txt p { break-inside: avoid; }
}
/* Bloco "Sobre" das paginas de zona (DM2027_Taxonomy_Local::bloco_editorial): subtitulos H3 dentro do texto. */
.dm2027-about-txt h3 { margin: 0 0 6px; font-size: 15px; font-weight: 800; line-height: 1.35; color: var(--dm-ink); text-align: left; break-after: avoid; }
/* Texto curto das paginas de zona numa so' linha quando ha' espaco (sem o limite de 70ch), como em Centros/Mapa. */
.dm2027-mass-wrap.dm2027-cidade .dm2027-phead .dm2027-lede { max-width: none; } /* mais especifico que .dm2027-mass-wrap .dm2027-phead .dm2027-lede (70ch), definido mais abaixo */
/* ===== Design 2026 — Início (passo 3.1c): ajustes de espaçamento indicados pelo utilizador ===== */
.dm2027-home-hero { padding: 0 0 8px; }
.dm2027-home .dm2027-home-lede { margin: 10px 0 25px; }
.dm2027-home-zonas { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.dm2027-home-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-top: 30px; }
.dm2027-home-hero + .dm2027-home-block { margin-top: 20px; padding-top: 0; border-top: 0; }
/* ===== Design 2026 — rodapé sem margem verde (padding-top) em todas as páginas ===== */
.site-bottom-footer-inner-wrap { padding-top: 0; }
/* ===== Design 2026 — Página Massagistas (passo 3.2): cabeçalho da página, secções e coluna de centros =====
 * Também serve as páginas de cidade e de massagem (mesmo render_listing()). */
.dm2027-mass-wrap { background: var(--dm-card); padding: 28px; }
.dm2027-mass-wrap .dm2027-massagistas-archive { padding: 0; background: transparent; }

/* Cabeçalho da página */
.dm2027-phead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 30px; }
.dm2027-mass-wrap .dm2027-phead-title { font-size: 28px; line-height: 1.2; font-weight: 800; letter-spacing: -.01em; margin: 0; color: var(--dm-ink); }
.dm2027-mass-wrap .dm2027-phead .dm2027-lede { font-size: 14px; line-height: 1.6; color: var(--dm-ink-soft); margin: 8px 0 0; max-width: 70ch; }
.dm2027-mass-wrap .dm2027-phead .dm2027-kicker { margin: 0 0 10px; }
.dm2027-phead-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.dm2027-phead .dm2027-btn { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border-radius: var(--dm-r-pill); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.dm2027-phead .dm2027-btn.ghost { background: var(--dm-brand-soft); color: var(--dm-brand) !important; }
.dm2027-phead .dm2027-btn.ghost:hover { background: #ffe1ef; }

/* Cabeçalhos de secção (ícone + título + subtítulo) */
.dm2027-massagistas-archive .dm2027-lh h2 { margin: 0; font-size: 20px; font-weight: 800; letter-spacing: -.005em; color: var(--dm-ink); }
.dm2027-massagistas-archive .dm2027-lh p { margin: 2px 0 0; font-size: 13px; color: var(--dm-ink-faint); }
.dm2027-massagistas-archive .dm2027-cards-grid { margin: 0; }

/* Linha entre secções (como .blk + .blk do protótipo) */
.dm2027-massagistas-archive > .dm2027-novidades-row,
.dm2027-massagistas-archive > .dmadv-strip,
.dm2027-massagistas-archive > .dmadv-available-now-featured,
.dm2027-massagistas-archive > #dm2027-massagistas-listagem,
.dm2027-massagistas-archive > .dm2027-lh:not(:first-child) { margin-top: 44px; padding-top: 40px; border-top: 1px solid var(--dm-line); }
.dm2027-massagistas-archive > .dm2027-lh:not(:first-child) { margin-bottom: 18px; }

/* Coluna "Centros e Spas em destaque" */
.dm2027-massagistas-archive .dm2027-spas-col { background: var(--dm-muted-2); border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 10px; margin-top: 58px; align-self: start; }
.dm2027-ah { display: flex; align-items: center; gap: 10px; margin-bottom: 2px; }
.dm2027-ah-ib { width: 32px; height: 32px; border-radius: 10px; background: var(--dm-svc-topo-bg); display: flex; align-items: center; justify-content: center; flex: none; }
.dm2027-spas-col .dm2027-ah h3 { margin: 0; font-size: 14px; font-weight: 800; color: var(--dm-ink); }
.dm2027-spas-col .dm2027-ah p { margin: 0; font-size: 12px; color: var(--dm-ink-faint); }
.dm2027-spas-col .dm2027-cards-grid--sidebar { gap: 8px; }
.dm2027-spas-col .dm2027-cards-grid--sidebar .img-block { border-radius: var(--dm-r-md); }
.dm2027-lnk { font-size: 13px; font-weight: 800; color: var(--dm-brand) !important; text-decoration: none; }
.dm2027-lnk:hover { color: var(--dm-brand-hover) !important; }

/* Filtros: pesquisa primeiro, como no protótipo */
.dm2027-filter-form { margin: 0 0 18px; gap: 10px; }
.dm2027-filter-form #dm2027-filter-search { order: -1; }

@media ( max-width: 782px ) {
  .dm2027-mass-wrap { padding: 20px; }
  .dm2027-massagistas-archive .dm2027-spas-col { margin-top: 0; }
  .dm2027-massagistas-archive > .dm2027-novidades-row,
  .dm2027-massagistas-archive > .dmadv-strip,
  .dm2027-massagistas-archive > .dmadv-available-now-featured,
  .dm2027-massagistas-archive > #dm2027-massagistas-listagem { margin-top: 32px; padding-top: 28px; }
}
/* ===== Design 2026 — Massagistas (passo 3.2b): filtros com ícones, Perto de mim, margens ===== */
.entry-content-wrap:has( .dm2027-massagistas-archive ) { padding-top: 0; }
.dm2027-lnk { display: block; text-align: center; }

/* ".single-content form" do Kadence tem mais especificidade: prefixar */
.dm2027-massagistas-archive .dm2027-filter-form { margin: 0 0 18px; gap: 10px; }

/* Ícones dentro dos campos (SVG em background) */
.dm2027-filter-form select, .dm2027-filter-form input[type="text"] { padding-left: 42px; background-repeat: no-repeat; }
.dm2027-filter-form #dm2027-filter-search {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-position: 14px center; background-size: 18px;
}
.dm2027-filter-form #dm2027-filter-zona {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.3 7-12a7 7 0 0 0-14 0c0 5.7 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-position: 14px center, right 16px center; background-size: 18px, 16px;
}
.dm2027-filter-form #dm2027-filter-massagem {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h10M4 12h16M4 17h7'/%3E%3Ccircle cx='18' cy='7' r='2'/%3E%3Ccircle cx='15' cy='17' r='2'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-position: 14px center, right 16px center; background-size: 18px, 16px;
}

/* Perto de mim (rosa, liga ao mapa) e Limpar (suave) */
.dm2027-filter-form a.button.dm2027-filter-perto { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 18px; border-radius: var(--dm-r-md); background: var(--dm-brand); border: 1px solid var(--dm-brand); color: #fff !important; font-size: 14px; font-weight: 800; text-decoration: none; box-sizing: border-box; }
.dm2027-filter-form a.button.dm2027-filter-perto:hover, .dm2027-filter-form a.button.dm2027-filter-perto:focus { background: var(--dm-brand-hover); color: #fff !important; }
.dm2027-filter-form #dm2027-filter-clear { background: var(--dm-brand-soft); border-color: var(--dm-brand-soft); color: var(--dm-brand); }
.dm2027-filter-form #dm2027-filter-clear:hover, .dm2027-filter-form #dm2027-filter-clear:focus { background: #ffe1ef; border-color: #ffe1ef; color: var(--dm-brand); }
/* ===== Design 2026 — Página Zonas (passo 3.2c) + botão "Escolher zona" ===== */
.dm2027-phead .dm2027-btn.line { background: var(--dm-card); color: var(--dm-ink-2) !important; border: 1px solid var(--dm-line-strong); }
.dm2027-phead .dm2027-btn.line:hover { border-color: var(--dm-brand); color: var(--dm-brand) !important; }
.dm2027-btn-chev { display: flex; margin-left: 2px; }

.dm2027-crumbs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--dm-ink-faint); margin: 0 0 18px; }
.dm2027-crumbs a { color: var(--dm-ink-soft) !important; text-decoration: none; }
.dm2027-crumbs a:hover { color: var(--dm-brand) !important; }
.dm2027-crumbs b { color: var(--dm-ink-2); font-weight: 700; }

.dm2027-home .dm2027-fi.dm2027-zonas-search { margin-top: 22px; max-width: 520px; border-color: var(--dm-line-strong); }
.dm2027-zgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
.dm2027-zc { border: 1px solid var(--dm-line); border-radius: var(--dm-r-lg); padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.dm2027-zc[hidden] { display: none; }
.dm2027-zonas .dm2027-zh { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dm2027-zonas .dm2027-zh h3 { margin: 0; font-size: 18px; font-weight: 800; color: var(--dm-ink); }
.dm2027-home .dm2027-zc .dm2027-chips a { padding: 6px 11px; font-size: 13px; }
.dm2027-zc .dm2027-zc-lnk { margin-left: auto; margin-top: auto; font-size: 13px; font-weight: 800; color: var(--dm-brand) !important; text-decoration: none; white-space: nowrap; }
.dm2027-zc .dm2027-zc-lnk:hover { color: var(--dm-brand-hover) !important; }
@media ( max-width: 1024px ) { .dm2027-zgrid { grid-template-columns: 1fr 1fr; } }
@media ( max-width: 782px ) {
  .dm2027-zgrid { grid-template-columns: 1fr; }
  .dm2027-zc .dm2027-zc-lnk { margin-left: 0; align-self: center; padding: 4px 0 2px; }
}
/* ===== Design 2026 — Página de Cidade (passo 3.3): chips dos bairros e alinhamento mobile ===== */
.dm2027-mass-wrap .dm2027-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.dm2027-mass-wrap .dm2027-chips a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: var(--dm-r-pill); background: var(--dm-muted); font-size: 13px; font-weight: 700; color: var(--dm-ink-2) !important; text-decoration: none; }
.dm2027-mass-wrap .dm2027-chips a:hover, .dm2027-mass-wrap .dm2027-chips a:focus { background: var(--dm-brand-soft); color: var(--dm-brand) !important; }
.dm2027-mass-wrap .dm2027-chips a.on { background: var(--dm-brand); color: #fff !important; }
@media ( max-width: 782px ) { .content-wrap:has( .dm2027-cidade ) { margin: 0 -16px; } }
/* ===== Design 2026 — Anúncio individual (passo 3.4) =====
 * Template single-massagista.php reorganizado: galeria à esquerda, informação à direita. */
.dm2027-ms-page.dm2027-ad { padding: 28px; background: var(--dm-card); }
.dm2027-ad .dm2027-alay { display: grid; grid-template-columns: 1fr 380px; gap: 36px; align-items: start; }

/* Galeria (foto de perfil + fotos, com lightbox) */
.dm2027-ad .dm2027-agal { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 0; }
.dm2027-ad .dm2027-agal .dm2027-lightbox-thumb { position: relative; display: block; overflow: hidden; border-radius: var(--dm-r-sm); }
.dm2027-ad .dm2027-agal .dm2027-gallery-v img { border-radius: var(--dm-r-sm); }
.dm2027-ad .dm2027-agal .dm2027-gallery-h img { border-radius: var(--dm-r-sm); }
.dm2027-photo-tag { position: absolute; left: 12px; bottom: 12px; background: rgba(255,255,255,.92); color: var(--dm-ink-2); font-size: 12px; font-weight: 800; line-height: 1.2; padding: 5px 10px; border-radius: var(--dm-r-pill); }

/* Informação */
.dm2027-ainfo { position: sticky; top: 86px; display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.admin-bar .dm2027-ainfo { top: 118px; }
.dm2027-ad .dm2027-aname { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dm2027-ad h1.dm2027-ms-name { font-size: 28px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; margin: 0 !important; color: var(--dm-ink); }
.dm2027-ad .dm2027-ms-age { display: inline-block; margin-left: 10px; font-size: 16px; line-height: 1; font-weight: 700; color: var(--dm-brand); }
.dm2027-aloc { display: flex; align-items: flex-start; gap: 6px; font-size: 14px; color: var(--dm-ink-soft); }
.dm2027-aloc svg { color: var(--dm-brand); flex: none; margin-top: 2px; }
.dm2027-aloc-lines { min-width: 0; }
.dm2027-aloc-line a, .dm2027-aloc-line b { color: var(--dm-brand) !important; font-weight: 800; text-decoration: none; }
.dm2027-aloc-line.dm2027-aloc-centro { font-size: 18px; line-height: 1.3; margin-bottom: 6px; color: var(--dm-ink-soft); }
.dm2027-aloc-line.dm2027-aloc-centro a, .dm2027-aloc-line.dm2027-aloc-centro span { font-weight: 800; }
.dm2027-aloc-sep { margin: 0 6px; color: var(--dm-ink-faint); }
.dm2027-aloc-and { margin: 0 .3em; color: var(--dm-ink-soft); }
.dm2027-aslogan { font-size: 16px; font-style: italic; color: var(--dm-ink-2); margin-top: 10px; line-height: 1.5; }
.dm2027-aslogan p { margin: 0; }

/* Contactos */
.dm2027-abtns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dm2027-abtns > :only-child, .dm2027-abtns--2 .dm2027-ms-whatsapp { grid-column: 1 / -1; }
.dm2027-ad .dm2027-abtns a, .dm2027-cta-bt a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 18px; border-radius: var(--dm-r-md); font-size: 14px; font-weight: 800; text-decoration: none; box-sizing: border-box; white-space: nowrap; }
.dm2027-ad .dm2027-abtns a { width: 100%; min-width: 0; }
.dm2027-ad .dm2027-abtns svg, .dm2027-cta-bt svg { width: 16px; height: 16px; flex: none; }
/* Telefone/WhatsApp da massagista: mesmo tamanho dos botoes do centro (.dm2027-centro-phone). */
.content-wrap .dm2027-ad .dm2027-abtns a.dm2027-ms-phone, .content-wrap .dm2027-ad .dm2027-abtns a.dm2027-ms-whatsapp { height: 56px; font-size: 20px; line-height: 1; }
.content-wrap .dm2027-ad .dm2027-abtns a.dm2027-ms-phone svg, .content-wrap .dm2027-ad .dm2027-abtns a.dm2027-ms-whatsapp svg { display: block; width: 20px; height: 20px; margin: 0; }
.dm2027-ad .dm2027-abtns a.dm2027-ms-phone, .dm2027-cta-end .dm2027-cta-phone { background: var(--dm-brand); color: #fff !important; }
.dm2027-ad .dm2027-abtns a.dm2027-ms-phone:hover, .dm2027-cta-end .dm2027-cta-phone:hover { background: var(--dm-brand-hover); color: #fff !important; }
.content-wrap .dm2027-ad .dm2027-abtns a.dm2027-ms-whatsapp, .dm2027-cta-end .dm2027-cta-wa { background: var(--dm-good-bg); color: var(--dm-good) !important; }
.content-wrap .dm2027-ad .dm2027-abtns a.dm2027-ms-whatsapp:hover, .dm2027-cta-end .dm2027-cta-wa:hover { background: #d6f5e1; color: var(--dm-good) !important; }

/* Blocos */
.dm2027-ablock { border-top: 1px solid var(--dm-line); padding-top: 16px; }
.dm2027-ablock h3 { margin: 0 0 10px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: var(--dm-ink-faint); }
.dm2027-atext { font-size: 14px; line-height: 1.7; color: var(--dm-ink-soft); }
.dm2027-atext p { margin: 0 0 10px; font-size: 14px; line-height: 1.7; }
.dm2027-atext p:last-child { margin-bottom: 0; }
.dm2027-schips { display: flex; flex-wrap: wrap; gap: 6px; }
.dm2027-schips a { background: var(--dm-brand-soft); color: var(--dm-brand) !important; font-size: 13px; font-weight: 700; padding: 7px 12px; border-radius: var(--dm-r-pill); text-decoration: none; }
.dm2027-schips a:hover { background: #ffe1ef; }
.dm2027-schips span { background: var(--dm-muted); color: var(--dm-ink-2); font-size: 13px; font-weight: 700; padding: 7px 12px; border-radius: var(--dm-r-pill); }
.dm2027-olist { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--dm-ink-2); }
.dm2027-olist li { display: flex; gap: 8px; margin: 0; padding: 0; }
.dm2027-olist li::before { content: "✓"; color: var(--dm-good); font-weight: 800; }

/* Bloco final "Fale com ..." */
.dm2027-cta-end { margin-top: 44px; border-radius: var(--dm-r-xl); background: var(--dm-brand-soft); padding: 22px 24px; display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; }
.dm2027-cta-ph { display: block; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--dm-brand-border); }
.dm2027-cta-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dm2027-cta-tx .dm2027-kicker { margin: 0 0 6px; }
.dm2027-cta-tx h2 { margin: 0; font-size: 20px; font-weight: 800; line-height: 1.3; color: var(--dm-ink); }
.dm2027-cta-tx p { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--dm-ink-soft); }
.dm2027-cta-bt { display: flex; gap: 8px; flex-wrap: wrap; }
.dm2027-ad .dm2027-ms-legal { margin: 28px 0 0 !important; font-size: 12px; color: var(--dm-ink-faint); text-align: center; }

@media ( max-width: 1024px ) { .dm2027-ad .dm2027-alay { grid-template-columns: 1fr 320px; gap: 24px; } }
@media ( max-width: 782px ) {
  .dm2027-ms-page.dm2027-ad { padding: 20px; }
  .dm2027-ad .dm2027-alay { grid-template-columns: 1fr; gap: 22px; }
  .dm2027-ainfo, .admin-bar .dm2027-ainfo { position: static; }
  .dm2027-cta-end { grid-template-columns: auto 1fr; padding: 18px; }
  .dm2027-cta-bt { grid-column: 1 / -1; }
  .dm2027-cta-bt a { flex: 1 1 140px; }
}
/* ===== Design 2026 — Ícones do anúncio (passo 3.4b): iguais aos do protótipo ===== */
.dm2027-ad .dm2027-abtns svg, .dm2027-cta-bt svg { width: 17px; height: 17px; }
/* WhatsApp: ícone e texto verdes (#10a64a) sobre fundo verde claro, também no bloco final */
.content-wrap .dm2027-ad .dm2027-abtns a.dm2027-ms-whatsapp svg, .dm2027-cta-end .dm2027-cta-wa svg { fill: currentColor; color: var(--dm-good); }
/* Vistos das Observações: SVG verde (não depende da fonte) */
.dm2027-olist li::before { content: ""; flex: none; width: 16px; height: 16px; margin-top: 3px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310a64a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12.5 10 17.5 19 7.5'/%3E%3C/svg%3E") no-repeat center / 16px; }
/* ===== Design 2026 — Favorito do anúncio (passo 3.4c): "Guardar nos favoritos" como no protótipo =====
 * O elemento é o mesmo do módulo (tracking.js troca o texto e o aria-pressed): o texto real fica
 * escondido (font-size:0) e o rótulo/ícone vêm de ::before/::after, conforme o estado. */
.dm2027-abtns .dmadv-favorite-btn { grid-column: 1 / -1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 56px; padding: 0 18px; margin: 0; box-sizing: border-box; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); background: var(--dm-card); color: var(--dm-ink-2); font-size: 0; line-height: 1; cursor: pointer; box-shadow: none; }
.dm2027-abtns .dmadv-favorite-btn::before { content: ""; width: 17px; height: 17px; 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='M12 6c-1.8-2.1-4.8-2.7-7.1-.8S2.4 10.3 4.1 12.6c1.5 1.9 5.9 5.8 7.4 7.1.2.1.3.2.5.2s.3-.1.5-.2c1.5-1.3 5.9-5.2 7.4-7.1 1.8-2.3 1.5-5.5-.8-7.4S13.8 3.9 12 6z'/%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='M12 6c-1.8-2.1-4.8-2.7-7.1-.8S2.4 10.3 4.1 12.6c1.5 1.9 5.9 5.8 7.4 7.1.2.1.3.2.5.2s.3-.1.5-.2c1.5-1.3 5.9-5.2 7.4-7.1 1.8-2.3 1.5-5.5-.8-7.4S13.8 3.9 12 6z'/%3E%3C/svg%3E") center / contain no-repeat; }
.dm2027-abtns .dmadv-favorite-btn::after { content: "Guardar nos favoritos"; font-size: 20px; font-weight: 800; }
.dm2027-abtns .dmadv-favorite-btn:hover, .dm2027-abtns .dmadv-favorite-btn:focus { border-color: var(--dm-brand); color: var(--dm-brand); background: var(--dm-card); }
.dm2027-abtns .dmadv-favorite-btn[aria-pressed="true"] { background: var(--dm-brand); border-color: var(--dm-brand); color: #fff; }
.dm2027-abtns .dmadv-favorite-btn[aria-pressed="true"]::after { content: "Nos seus favoritos"; }
.dm2027-abtns .dmadv-favorite-btn[aria-pressed="true"]:hover { background: var(--dm-brand-hover); color: #fff; }
/* um só contacto + favorito: o contacto ocupa a linha toda */
.dm2027-abtns--fav > a:first-child:nth-last-child(2) { grid-column: 1 / -1; }
/* ===== Design 2026 — Galeria do anúncio (passo 3.4d): regras da galeria anterior, repostas =====
 * 2 colunas em desktop/tablet; horizontais em largura total; verticais lado a lado com a mesma altura;
 * vertical isolada no fim (nº ímpar de verticais seguidas) centrada a 50%; mobile (≤600px): 1 coluna,
 * 1 foto por linha, proporção original. Gap e cantos mantêm o desenho novo (6px / 10px). */
.dm2027-ad .dm2027-agal { grid-template-columns: repeat( 2, 1fr ); }
.dm2027-ad .dm2027-agal .dm2027-gallery-h { grid-column: 1 / -1; }
.dm2027-ad .dm2027-agal .dm2027-gallery-h img { width: 100%; height: auto; object-fit: cover; }
.dm2027-ad .dm2027-agal .dm2027-gallery-v img { width: 100%; height: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.dm2027-ad .dm2027-agal .dm2027-gallery-v-last { grid-column: 1 / -1; display: flex; justify-content: center; }
.dm2027-ad .dm2027-agal .dm2027-gallery-v-last img { width: 50%; }
@media ( max-width: 600px ) {
  .dm2027-ad .dm2027-agal { grid-template-columns: 1fr; }
  .dm2027-ad .dm2027-agal .dm2027-gallery-h, .dm2027-ad .dm2027-agal .dm2027-gallery-v { grid-column: auto; }
  .dm2027-ad .dm2027-agal .dm2027-gallery-v img { aspect-ratio: auto; height: auto; }
  .dm2027-ad .dm2027-agal .dm2027-gallery-v-last img { width: 100%; }
}
/* ===== Design 2026 — Bloco final: 2.º telefone e Guardar (passo 3.4f) ===== */
.dm2027-cta-bt .dmadv-favorite-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 18px; margin: 0; box-sizing: border-box; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); background: var(--dm-card); color: var(--dm-ink-2); font-size: 0; line-height: 1; cursor: pointer; box-shadow: none; }
.dm2027-cta-bt .dmadv-favorite-btn::before { content: ""; width: 17px; height: 17px; 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='M12 6c-1.8-2.1-4.8-2.7-7.1-.8S2.4 10.3 4.1 12.6c1.5 1.9 5.9 5.8 7.4 7.1.2.1.3.2.5.2s.3-.1.5-.2c1.5-1.3 5.9-5.2 7.4-7.1 1.8-2.3 1.5-5.5-.8-7.4S13.8 3.9 12 6z'/%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='M12 6c-1.8-2.1-4.8-2.7-7.1-.8S2.4 10.3 4.1 12.6c1.5 1.9 5.9 5.8 7.4 7.1.2.1.3.2.5.2s.3-.1.5-.2c1.5-1.3 5.9-5.2 7.4-7.1 1.8-2.3 1.5-5.5-.8-7.4S13.8 3.9 12 6z'/%3E%3C/svg%3E") center / contain no-repeat; }
.dm2027-cta-bt .dmadv-favorite-btn::after { content: "Guardar"; font-size: 14px; font-weight: 800; }
.dm2027-cta-bt .dmadv-favorite-btn:hover, .dm2027-cta-bt .dmadv-favorite-btn:focus { border-color: var(--dm-brand); color: var(--dm-brand); background: var(--dm-card); }
.dm2027-cta-bt .dmadv-favorite-btn[aria-pressed="true"] { background: var(--dm-brand); border-color: var(--dm-brand); color: #fff; }
.dm2027-cta-bt .dmadv-favorite-btn[aria-pressed="true"]::after { content: "Guardado"; }
.dm2027-cta-bt .dmadv-favorite-btn[aria-pressed="true"]:hover { background: var(--dm-brand-hover); color: #fff; }
/* ===== Design 2026 — Anúncio no mobile (passo 3.4g): como o protótipo m-anuncio-bruna =====
 * Carrossel de fotos com contador e etiqueta, blocos em cartões brancos, barra fixa Ligar/WhatsApp e
 * bloco final só com "Guardar nos favoritos". Só até 782px; o desktop não muda. */
.dm2027-agroup { display: contents; }
.dm2027-car-tag, .dm2027-car-cnt, .dm2027-abar { display: none; }
@media ( max-width: 782px ) {
  body.single-massagista .content-area { margin-top: 0; margin-bottom: 1rem; }
  .dm2027-ms-page.dm2027-ad { padding: 0 16px 24px; background: transparent; }
  .dm2027-ad > .dm2027-crumbs { display: none; }
  .dm2027-ad .dm2027-alay { gap: 0; }

  /* carrossel */
  .dm2027-agal-col { position: relative; margin: 0 -16px; }
  .dm2027-ad .dm2027-agal { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .dm2027-ad .dm2027-agal::-webkit-scrollbar { display: none; }
  .dm2027-ad .dm2027-agal .dm2027-lightbox-thumb { flex: 0 0 100%; display: block; grid-column: auto; scroll-snap-align: start; border-radius: 0; }
  .dm2027-ad .dm2027-agal .dm2027-lightbox-thumb img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 0; display: block; }
  .dm2027-ad .dm2027-agal .dm2027-photo-tag { display: none; }
  .dm2027-car-tag { display: block; position: absolute; left: 12px; bottom: 12px; background: rgba(255,255,255,.92); color: var(--dm-ink-2); font-size: 11px; font-weight: 800; line-height: 1.2; padding: 4px 10px; border-radius: var(--dm-r-pill); pointer-events: none; }
  .dm2027-car-cnt { display: block; position: absolute; right: 12px; bottom: 12px; background: rgba(0,0,0,.55); color: #fff; font-size: 12px; font-weight: 800; line-height: 1.2; padding: 4px 10px; border-radius: var(--dm-r-pill); pointer-events: none; }

  /* cabeçalho do anúncio */
  .dm2027-ainfo, .admin-bar .dm2027-ainfo { gap: 10px; }
  .dm2027-ahead { margin-top: 16px; }
  .dm2027-ad h1.dm2027-ms-name { font-size: 24px; line-height: 1.22; }
  .dm2027-aloc { margin-top: 4px; }
  .dm2027-aslogan { font-size: 14px; margin-top: 10px; }
  .dm2027-abtns { display: none; }

  /* blocos em cartões brancos */
  .dm2027-ablock { background: var(--dm-card); border-radius: 18px; padding: 14px; border-top: 0; box-shadow: var(--dm-shadow-card); }
  .dm2027-ablock h3 { margin-bottom: 10px; }
  .dm2027-agroup { display: block; background: var(--dm-card); border-radius: 18px; padding: 14px; box-shadow: var(--dm-shadow-card); }
  .dm2027-agroup .dm2027-ablock { background: none; border-radius: 0; padding: 0; box-shadow: none; margin-top: 16px; }
  .dm2027-agroup .dm2027-ablock:first-child { margin-top: 0; }

  /* bloco final: cartão rosa com só "Guardar nos favoritos" */
  .dm2027-cta-end { display: block; text-align: center; padding: 20px 16px; border-radius: 18px; margin-top: 10px; }
  .dm2027-cta-ph, .dm2027-cta-tx .dm2027-kicker, .dm2027-cta-bt > a { display: none; }
  .dm2027-cta-tx h2 { font-size: 16px; }
  .dm2027-cta-tx p { font-size: 13px; }
  .dm2027-cta-bt { margin-top: 14px; }
  .dm2027-cta-bt .dmadv-favorite-btn { width: 100%; }
  .dm2027-cta-bt .dmadv-favorite-btn::after { content: "Guardar nos favoritos"; }
  .dm2027-cta-bt .dmadv-favorite-btn[aria-pressed="true"]::after { content: "Nos seus favoritos"; }
  .dm2027-ad .dm2027-ms-legal { margin-top: 20px !important; }

  /* barra fixa Ligar / WhatsApp, por cima da barra de navegação */
  .dm2027-abar { display: flex; position: fixed; left: 0; right: 0; bottom: calc(64px + env(safe-area-inset-bottom, 0px)); z-index: 8900; gap: 8px; padding: 10px 16px; background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid var(--dm-line); }
  .dm2027-abar a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; border-radius: var(--dm-r-md); font-size: 14px; font-weight: 800; text-decoration: none; }
  .dm2027-abar a svg { width: 17px; height: 17px; flex: none; }
  .dm2027-abar .dm2027-cta-phone { background: var(--dm-brand); color: #fff !important; }
  .dm2027-abar .dm2027-cta-wa { background: var(--dm-good-bg); color: var(--dm-good) !important; }
  body.single-massagista { padding-bottom: calc(64px + 68px + env(safe-area-inset-bottom, 0px)); }
  body.single-massagista #kt-scroll-up, body.single-massagista #kt-scroll-up-reader { bottom: calc(148px + env(safe-area-inset-bottom, 0px)) !important; }
  body.single-massagista .dmadv-toast-region { bottom: calc(144px + env(safe-area-inset-bottom, 0px)) !important; }
}
/* ===== Design 2026 — Rodapé mobile (passo 2f): 3 linhas centradas, como m-*.html ===== */
.dm2027-mfoot { display: none; }
@media ( max-width: 1024px ) {
  #colophon .footer-html, #colophon .dm2027-footer-legal-links { display: none; }
  #colophon .dm2027-mfoot { display: block; text-align: center; font-size: 11px; color: var(--dm-ink-faint); line-height: 1.7; }
  #colophon .dm2027-mfoot-links { display: flex; justify-content: center; gap: 14px; margin-bottom: 4px; font-size: 12px; font-weight: 800; }
  #colophon .dm2027-mfoot-links a { color: var(--dm-ink-soft); text-decoration: none; }
  #colophon .dm2027-mfoot-legal { margin: 0; font-size: 11px; }
  #colophon .dm2027-mfoot-legal a { color: var(--dm-ink-soft); text-decoration: none; }
  #colophon .dm2027-mfoot a:hover, #colophon .dm2027-mfoot a:focus { color: var(--dm-brand); }
}
/* Design 2026 — Campos vazios não aparecem (passo 3.4h) */
.dm2027-agroup:empty, .dm2027-ad .dmadv-header-badges:empty, .dm2027-ablock:empty { display: none; }

/* ===== Design 2026 — Vazios (passo 3.4i): nada vazio fica visível no anúncio (mobile e desktop) ===== */
.dm2027-ad .dm2027-car-cnt:empty, .dm2027-ad .dm2027-car-tag:empty, .dm2027-ad .dm2027-photo-tag:empty,
.dm2027-ad .dm2027-aslogan:empty, .dm2027-ad .dm2027-aloc-lines:empty, .dm2027-ad .dm2027-aloc-line:empty,
.dm2027-ad .dm2027-atext:empty, .dm2027-ad .dm2027-schips:empty, .dm2027-ad .dm2027-olist:empty,
.dm2027-ad .dm2027-abtns:empty, .dm2027-ad .dm2027-abar:empty, .dm2027-ad .dm2027-cta-bt:empty,
.dm2027-ad .dm2027-ahead:empty, .dm2027-ad .dm2027-aname:empty { display: none !important; }
/* ===== Design 2026 — Início no mobile (passo 3.1m): como m-inicio.html =====
 * Fundo cinzento sem caixa branca, textos curtos, pesquisa em cartão, chips e Destaques em faixas
 * horizontais, atalhos 2x2 e "Sobre" recolhível. Só até 782px. */
.dm2027-t-m { display: none !important; }
.dm2027-about-m { display: none; }
@media ( max-width: 782px ) {
  .dm2027-home .dm2027-t-d { display: none !important; }
  .dm2027-home .dm2027-t-m { display: inline !important; }

  body.home .content-area { margin-top: 0; }
  body.home .entry-content-wrap { padding-top: 16px; }
  .dm2027-massagistas-archive.dm2027-home-wrap { background: transparent; padding: 0; margin: 0 -8px; }

  .dm2027-home-hero { padding: 0; }
  .dm2027-home .dm2027-kicker { margin: 0 0 4px; }
  .dm2027-home-title { font-size: 24px; line-height: 1.22; letter-spacing: -.01em; max-width: none; }
  .dm2027-home .dm2027-home-lede { font-size: 14px; margin: 8px 0 0; padding-bottom: 8px; }

  /* pesquisa num cartão branco */
  .dm2027-home-search { grid-template-columns: 1fr; gap: 10px; padding: 14px; margin-top: 18px; background: var(--dm-card); border-radius: 18px; box-shadow: var(--dm-shadow-card); }
  .dm2027-home .dm2027-fi { height: 48px; border: 1px solid var(--dm-line-strong); border-radius: 14px; font-size: 15px; }
  .dm2027-home .dm2027-fi input[type="text"], .dm2027-home .dm2027-fi select { font-size: 15px; }
  .dm2027-home .dm2027-btn { width: 100%; height: auto; padding: 15px 18px; border-radius: 14px; font-size: 15px; }
  .dm2027-home .dm2027-btn svg { display: none; }

  /* zonas: faixa horizontal de chips */
  .dm2027-home-zonas { display: block; margin-top: 22px; }
  .dm2027-home .dm2027-k { display: none; }
  .dm2027-home-zonas .dm2027-chips { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 2px 16px 6px; scrollbar-width: none; }
  .dm2027-home-zonas .dm2027-chips::-webkit-scrollbar { display: none; }
  .dm2027-home .dm2027-chips a { flex: none; scroll-snap-align: start; padding: 9px 14px; font-size: 14px; font-weight: 800; background: var(--dm-card); box-shadow: 0 1px 2px rgba(20,30,50,.05); white-space: nowrap; }

  /* atalhos 2x2, ícone em cima */
  .dm2027-home-quick { grid-template-columns: 1fr; gap: 8px; margin-top: 14px; }
  .dm2027-home .dm2027-qt { flex-direction: row; align-items: center; gap: 10px; padding: 12px; border-radius: var(--dm-r-lg); }
  .dm2027-home .dm2027-qt-ib { width: 36px; height: 36px; border-radius: var(--dm-r-sm); }
  .dm2027-home .dm2027-qt span:not(.dm2027-qt-ib) { line-height: 1.35; }

  /* Destaques: faixa horizontal de cartões de 138px */
  .dm2027-home-hero + .dm2027-home-block { margin-top: 30px; }
  .dm2027-lh { gap: 10px; margin-bottom: 12px; }
  .dm2027-lh-ib { width: 28px; height: 28px; border-radius: 8px; }
  .dm2027-lh-ib svg { width: 16px; height: 16px; }
  .dm2027-home .dm2027-lh h2 { font-size: 18px; }
  .dm2027-home .dm2027-lh p { font-size: 12px; }
  .dm2027-home .dm2027-cards-grid { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 2px 16px 6px; scrollbar-width: none; }
  .dm2027-home .dm2027-cards-grid::-webkit-scrollbar { display: none; }
  .dm2027-home .dm2027-cards-grid > a { flex: none; width: 138px; scroll-snap-align: start; }

  /* Sobre: cartão recolhível com 3 parágrafos */
  /* Mobile mostra a mesma seccao "Sobre" do desktop (.dm2027-home-about); o bloco compacto .dm2027-about-m fica escondido. */
  .dm2027-about-m { display: none; }
  /* Sem gap da grelha (afetava todas as linhas): kicker->titulo usa a distancia universal do .dm2027-kicker (10px, como nas outras paginas) e titulo->texto tem a sua propria margem. */
  .dm2027-home-about { gap: 0; padding-bottom: 0; margin-bottom: 0; }
  .dm2027-home-wrap .dm2027-home-about h2.wp-block-heading { margin: 0 0 12px; }
  .dm2027-home-about .dm2027-about-txt p:last-child { margin-bottom: 0; }
  .dm2027-about-m-title { font-weight: 800; font-size: 15px; }
  .dm2027-about-m summary { font-weight: 800; font-size: 15px; list-style: none; display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
  .dm2027-about-m summary::-webkit-details-marker { display: none; }
  .dm2027-about-m summary span { color: var(--dm-brand); display: flex; }
  .dm2027-about-m[open] summary span { transform: rotate(180deg); }
  .dm2027-about-m p { font-size: 14px; line-height: 1.7; color: var(--dm-ink-soft); margin: 12px 0 0; }
  .dm2027-about-m a { color: var(--dm-brand) !important; font-weight: 800; }
}
/* ===== Design 2026 — Massagistas no mobile (passo 3.2m): como m-massagistas.html =====
 * Fundo cinzento, barra de chips fixa (o formulário de filtros é o mesmo, reposicionado por CSS),
 * secções em faixas horizontais e lista final em 2 colunas. Só até 782px. */
.dm2027-mass-wrap .dm2027-t-m { display: none !important; }
@media ( max-width: 782px ) {
  .dm2027-mass-wrap .dm2027-t-d { display: none !important; }
  .dm2027-mass-wrap .dm2027-t-m { display: inline !important; }
  .content-area:has( .dm2027-mass-wrap ) { margin-top: 16px; }
  .dm2027-mass-wrap { background: transparent; padding: 0; margin: 0 -8px; }
  .dm2027-mass-wrap .dm2027-phead { margin-bottom: 12px; }
  .dm2027-mass-wrap .dm2027-phead-title { font-size: 24px; line-height: 1.22; }
  .dm2027-mass-wrap .dm2027-phead .dm2027-lede { font-size: 14px; margin: 8px 0 0; }
  .dm2027-mass-wrap .dm2027-phead-acts { display: none; }

  /* secções: sem linhas, 30px entre elas, cabeçalhos pequenos */
  .dm2027-massagistas-archive { display: flex; flex-direction: column; }
  .dm2027-massagistas-archive > .dm2027-novidades-row,
  .dm2027-massagistas-archive > .dmadv-strip,
  .dm2027-massagistas-archive > .dmadv-available-now-featured,
  .dm2027-massagistas-archive > #dm2027-massagistas-listagem,
  .dm2027-massagistas-archive > .dm2027-lh:not(:first-child) { margin-top: 30px; padding-top: 0; border-top: 0; }
  .dm2027-massagistas-archive .dm2027-lh h2 { font-size: 18px; }
  .dm2027-massagistas-archive .dm2027-lh p { font-size: 12px; }
  #dm2027-massagistas-listagem .dm2027-lh p { display: none; }

  /* faixas horizontais (cartões de 138px) */
  .dm2027-massagistas-archive .dm2027-cards-grid { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 2px 16px 6px; scrollbar-width: none; }
  .dm2027-massagistas-archive .dm2027-cards-grid::-webkit-scrollbar { display: none; }
  .dm2027-massagistas-archive .dm2027-cards-grid > a { flex: none; width: 138px; scroll-snap-align: start; }
  /* lista final: grelha de 2 colunas */
  #dm2027-massagistas-grid .dm2027-cards-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; overflow: visible; margin: 0; padding: 0; }
  #dm2027-massagistas-grid .dm2027-cards-grid > a { width: auto; }

  /* Novidades + Centros e Spas: cada um a sua secção */
  .dm2027-novidades-row { display: block; }
  .dm2027-massagistas-archive .dm2027-spas-col { background: none; border-radius: 0; padding: 0; margin-top: 30px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0; }
  .dm2027-spas-col > .dm2027-ah { grid-column: 1; grid-row: 1; margin-bottom: 12px; }
  .dm2027-spas-col > .dm2027-lnk { grid-column: 2; grid-row: 1; margin-bottom: 12px; display: block; text-align: right; font-size: 13px; }
  .dm2027-spas-col > .dm2027-cards-grid { grid-column: 1 / -1; }
  .dm2027-spas-col .dm2027-ah-ib { width: 28px; height: 28px; border-radius: 8px; }
  .dm2027-spas-col .dm2027-ah h3 { font-size: 18px; }
  .dm2027-spas-col .dm2027-ah p { font-size: 12px; }
  .dm2027-spas-col .dm2027-cards-grid--sidebar > a { width: 236px; }
  .dm2027-spas-col .dm2027-cards-grid--sidebar .img-block { border-radius: 14px; }

  /* barra de chips fixa: Perto de mim | Zona | Massagem | Nome | Limpar */
  .dm2027-massagistas-archive > .dm2027-filter-form { order: -1; position: sticky; top: 56px; z-index: 10; background: var(--dm-page); margin: 0 -16px 10px; padding: 10px 16px; flex-wrap: nowrap; overflow-x: auto; gap: 8px; align-items: center; scrollbar-width: none; }
  .admin-bar .dm2027-massagistas-archive > .dm2027-filter-form { top: 102px; }
  /* Espaco igual (20px) entre a barra de filtros e o que vem a seguir, em todas as listas: 10px de padding + 10px de margem da barra; o cabecalho da primeira seccao (Destaques) deixa de somar margem propria por cima. */
  .dm2027-massagistas-archive > .dm2027-lh:first-child { margin-top: 0; }
  .dm2027-filter-form::-webkit-scrollbar { display: none; }
  .dm2027-filter-form select, .dm2027-filter-form input[type="text"], .dm2027-filter-form a.button, .dm2027-filter-form #dm2027-filter-clear { flex: none; min-width: 0; height: 38px; width: auto; padding-top: 0; padding-bottom: 0; border: 0; border-radius: var(--dm-r-pill); background-color: var(--dm-card); box-shadow: 0 2px 8px rgba(20,30,50,.14); font-size: 14px; font-weight: 800; color: var(--dm-ink-2); }
  .dm2027-filter-form select { max-width: 150px; padding-left: 38px; padding-right: 34px; }
  .dm2027-filter-form input[type="text"] { width: 150px; padding-left: 38px; padding-right: 12px; }
  .dm2027-filter-form a.button.dm2027-filter-perto { order: -3; background: var(--dm-brand); color: #fff !important; box-shadow: 0 2px 8px rgba(255,60,159,.35); }
  .dm2027-filter-form #dm2027-filter-zona { order: -2; }
  .dm2027-filter-form #dm2027-filter-massagem { order: -1; }
  .dm2027-filter-form #dm2027-filter-clear { order: 1; background: var(--dm-brand-soft); color: var(--dm-brand); box-shadow: none; padding: 0 14px; }
}
/* ===== Design 2026 — Rodapé igual em todas as páginas (passo 2g), mobile e tablet =====
 * O mesmo rodapé e o mesmo espaço por cima em todas as páginas (também no mapa): 32px depois do conteúdo.
 * O painel do anunciante (modo app) mantém o seu comportamento próprio. */
@media ( max-width: 1024px ) {
  .content-area { margin-bottom: 32px; }
  .dm2027-ms-page.dm2027-ad { padding-bottom: 0; }
  #colophon .site-bottom-footer-inner-wrap { padding-top: 0; padding-bottom: 24px; }
}
/* ===== Design 2026 — Mobile: fundo e margens (passo 3.2n) =====
 * O artigo do tema (.content-bg) é branco, com sombra, e o Kadence (content-style-boxed) alarga-o 16px de cada
 * lado: anula-se o fundo e a sombra e o contentor passa a ocupar o ecrã todo com 16px de margem interior,
 * como no protótipo (as faixas horizontais usam margin:0 -16px e ficam de ponta a ponta). */
@media ( max-width: 782px ) {
  article.content-bg:has( .dm2027-mass-wrap ), article.content-bg:has( .dm2027-home-wrap ) { background: transparent; box-shadow: none; }
  .dm2027-mass-wrap, .dm2027-massagistas-archive.dm2027-mass-wrap, .dm2027-massagistas-archive.dm2027-home-wrap { background: transparent; padding: 0 16px; margin: 0 -8px; }
}
/* ===== Design 2026 — Chips dos filtros no mobile (passo 3.2o): iguais aos de m-massagistas.html =====
 * padding 9px 14px, gap 6px, 14px/800, sombra suave; ícone de 15px (Perto de mim, Nome) e seta de 14px logo a
 * seguir ao texto (Zona, Massagem). Especificidade alta para vencer a regra do botão do desktop. */
@media ( max-width: 782px ) {
  .dm2027-massagistas-archive > .dm2027-filter-form { gap: 8px; }
  .dm2027-massagistas-archive > .dm2027-filter-form a.button.dm2027-filter-perto { order: -3; flex: none; display: inline-flex; align-items: center; gap: 6px; height: auto; width: auto; padding: 9px 14px; border: 0; border-radius: var(--dm-r-pill); background: var(--dm-brand); color: #fff !important; font-size: 14px; font-weight: 800; line-height: 1.4; box-shadow: 0 1px 2px rgba(20,30,50,.05); white-space: nowrap; }
  .dm2027-filter-form a.dm2027-filter-perto svg { width: 15px; height: 15px; }
  .dm2027-massagistas-archive > .dm2027-filter-form select,
  .dm2027-massagistas-archive > .dm2027-filter-form input[type="text"] { flex: none; height: 38px; min-width: 0; border: 0; border-radius: var(--dm-r-pill); background-color: var(--dm-card); box-shadow: 0 1px 2px rgba(20,30,50,.05); color: var(--dm-ink-2); font-size: 14px; font-weight: 800; line-height: 1.4; }
  .dm2027-massagistas-archive > .dm2027-filter-form select { -webkit-appearance: none; appearance: none; field-sizing: content; width: auto; max-width: 170px; padding: 0 34px 0 14px; background-repeat: no-repeat; background-position: right 14px center; background-size: 14px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b2f3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }
  .dm2027-massagistas-archive > .dm2027-filter-form #dm2027-filter-zona, .dm2027-massagistas-archive > .dm2027-filter-form #dm2027-filter-massagem { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b2f3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-position: right 14px center; background-size: 14px; padding: 0 34px 0 14px; }
  .dm2027-massagistas-archive > .dm2027-filter-form #dm2027-filter-search { width: 112px; padding: 0 12px 0 35px; background-repeat: no-repeat; background-position: 14px center; background-size: 15px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b2f3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E"); transition: width .2s ease; }
  .dm2027-massagistas-archive > .dm2027-filter-form #dm2027-filter-search:focus { width: 180px; outline: 0; }
  .dm2027-massagistas-archive > .dm2027-filter-form #dm2027-filter-search::placeholder { color: var(--dm-ink-2); opacity: 1; }
  .dm2027-massagistas-archive > .dm2027-filter-form #dm2027-filter-clear { flex: none; height: 38px; padding: 0 14px; border: 0; border-radius: var(--dm-r-pill); font-size: 14px; font-weight: 800; }
}
/* ===== Design 2026 — Cidade no mobile (passo 3.3m): como m-massagista-lisboa.html =====
 * Chips dos bairros fixos sob o cabeçalho, com scroll horizontal; "Mudar zona" vive na barra superior; sem breadcrumbs;
 * o filtro deixa de ser fixo e perde a zona (os chips já a escolhem). Só até 782px. */
@media ( max-width: 782px ) {
  .dm2027-cidade .dm2027-crumbs { display: none; }

  .dm2027-cidade .dm2027-chips.dm2027-chips-page { position: sticky; top: 56px; z-index: 10; flex-wrap: nowrap; overflow-x: auto; gap: 8px; margin: 0 -16px 6px; padding: 10px 16px; background: var(--dm-page); scroll-snap-type: x proximity; scrollbar-width: none; }
  .admin-bar .dm2027-cidade .dm2027-chips.dm2027-chips-page { top: 102px; }
  .dm2027-cidade .dm2027-chips.dm2027-chips-page::-webkit-scrollbar { display: none; }
  .dm2027-mass-wrap.dm2027-cidade .dm2027-chips a { flex: none; padding: 9px 14px; gap: 6px; background: var(--dm-card); font-size: 14px; font-weight: 800; color: var(--dm-ink-2) !important; white-space: nowrap; box-shadow: 0 1px 2px rgba(20,30,50,.05); scroll-snap-align: start; }
  .dm2027-mass-wrap.dm2027-cidade .dm2027-chips a.on { background: var(--dm-brand); color: #fff !important; }

  .dm2027-cidade .dm2027-massagistas-archive > .dm2027-filter-form { position: static; margin: 0 -16px 10px; padding: 10px 16px; }
  .dm2027-cidade #dm2027-filter-zona { display: none; }
}

/* ===== Design 2026 — Barra superior mobile contextual (passo 3.3n): seta + título (+ Mudar zona) ===== */
@media ( max-width: 1024px ) {
  .dm-mbar { display: flex; align-items: center; gap: 6px; min-width: 0; }
  .dm-mbar-back { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-left: -8px; color: var(--dm-ink) !important; flex: none; }
  .dm-mbar-title { font-size: 16px; font-weight: 800; color: var(--dm-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .dm-mbar-link { display: flex; align-items: center; height: 40px; line-height: 1; color: var(--dm-brand) !important; font-size: 13px; font-weight: 800; padding: 0 6px; white-space: nowrap; text-decoration: none; }
  #mobile-header .site-main-header-inner-wrap .site-header-main-section-right { align-items: center; }
  .dm-mbar-title { line-height: 1.2; }
}


/* ===== Design 2026 — Zonas no mobile (passo 3.2p): cartões das zonas brancos, como m-zonas.html ===== */
@media ( max-width: 782px ) {
  .dm2027-zonas .dm2027-zc { background: var(--dm-card); border: 0; border-radius: 18px; padding: 14px; gap: 10px; box-shadow: var(--dm-shadow-card); }
  .dm2027-zgrid { gap: 10px; }
  .dm2027-zonas .dm2027-crumbs { display: none; }
  /* igual a m-zonas.html: espaços, títulos, chips numa linha com scroll e link à esquerda */
  .dm2027-mass-wrap .dm2027-zonas .dm2027-phead .dm2027-kicker { margin: 0 0 4px; }
  .dm2027-zonas .dm2027-phead-title { margin: 4px 0 0; }
  .dm2027-home .dm2027-fi.dm2027-zonas-search { margin-top: 14px; max-width: none; }
  .dm2027-zonas .dm2027-zgrid { margin-top: 0; order: 4; }
  .dm2027-zonas .dm2027-zc { margin-top: 10px; }
  .dm2027-zonas .dm2027-zc:first-child { margin-top: 10px; }
  .dm2027-zonas .dm2027-zh h3 { font-size: 16px; }
  /* bairros sempre todos visíveis: quebram em várias linhas, sem scroll horizontal */
  .dm2027-zonas .dm2027-zc .dm2027-chips { display: flex; flex-wrap: wrap; gap: 8px; overflow: visible; margin: 0; padding: 0; }
  .dm2027-zonas .dm2027-zc .dm2027-chips a { flex: none; white-space: nowrap; }
  .dm2027-zonas .dm2027-zc .dm2027-zc-lnk { align-self: flex-start; padding: 0; margin: 0; font-size: 13px; }
  /* "Ver no mapa": botão largo logo a seguir à pesquisa (o cabeçalho passa a display:contents para reordenar) */
  .dm2027-home.dm2027-zonas { display: flex; flex-direction: column; }
  .dm2027-zonas .dm2027-phead { display: contents; }
  .dm2027-zonas .dm2027-phead-txt { order: 1; }
  .dm2027-zonas .dm2027-zonas-search { order: 2; }
  .dm2027-mass-wrap .dm2027-zonas .dm2027-phead-acts { display: block; order: 3; margin-top: 10px; }
  .dm2027-zonas .dm2027-zgrid { order: 4; }
  .dm2027-zonas .dm2027-phead-acts .dm2027-btn.ghost { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: auto; padding: 14px 18px; border-radius: 14px; background: var(--dm-brand-soft); color: var(--dm-brand) !important; font-size: 15px; font-weight: 800; }
  /* a coluna 1fr crescia até à largura dos chips (nowrap) e alargava a página toda */
  .dm2027-home.dm2027-zonas, .dm2027-zonas .dm2027-zonas-search, .dm2027-zonas .dm2027-phead-acts, .dm2027-zonas .dm2027-zc { min-width: 0; max-width: 100%; box-sizing: border-box; }
  .dm2027-zonas .dm2027-zgrid { grid-template-columns: minmax(0, 1fr); }
  .dm2027-zonas .dm2027-phead-acts { width: auto; }
  .dm2027-zonas .dm2027-phead-acts .dm2027-btn.ghost { box-sizing: border-box; max-width: 100%; }
  .dm2027-home.dm2027-zonas .dm2027-phead-acts .dm2027-btn svg { display: block; width: 17px; height: 17px; flex: none; }
  .dm2027-zonas .dm2027-zc .dm2027-chips a { background: var(--dm-muted); box-shadow: none; padding: 8px 12px; font-size: 13px; font-weight: 700; }
  .dm2027-zonas .dm2027-zc .dm2027-chips a:hover, .dm2027-zonas .dm2027-zc .dm2027-chips a:focus { background: var(--dm-brand-soft); color: var(--dm-brand) !important; }
}


/* ===== Design 2026 — Página de Massagem (passo 3.5): mesmo esqueleto da Cidade; seletor "outra massagem" no cabeçalho ===== */
.dm2027-phead-acts .dm2027-massagem-switcher { position: relative; display: inline-block; }
.dm2027-phead-acts .dm2027-massagem-switcher-select { -webkit-appearance: none; appearance: none; height: 38px; max-width: 260px; padding: 0 34px 0 14px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-pill); background: var(--dm-card); color: var(--dm-ink-2); font-family: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.dm2027-phead-acts .dm2027-massagem-switcher-select:hover, .dm2027-phead-acts .dm2027-massagem-switcher-select:focus { border-color: var(--dm-brand); color: var(--dm-brand); outline: 0; }
.dm2027-phead-acts .dm2027-zona-switcher-chevron { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--dm-ink-soft); pointer-events: none; font-size: 12px; }
@media ( max-width: 782px ) { .dm2027-massagem-page .dm2027-crumbs { display: none; } }

/* ===== Design 2026 — Centros (passo 3.6): cabeçalho, mapa, filtro e cartões só com o banner ===== */
.dm2027-centros-page #dm2027-centros-map { height: 400px; margin: 4px 0 14px; border-radius: 18px; overflow: hidden; background: #d6e8f4; }
.dm2027-centros-page .dm2027-filter-form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; padding: 0; background: transparent; }
.dm2027-centros-page .dm2027-filter-form select { flex: 1 1 260px; max-width: 360px; height: 46px; margin: 0; padding: 0 14px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); background-color: var(--dm-card); color: var(--dm-ink-2); font-family: inherit; font-size: 14px; }
.dm2027-centros-page .dm2027-filter-form a.dm2027-filter-perto { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 18px; border: 0; border-radius: var(--dm-r-md); background: var(--dm-brand); color: #fff !important; font-size: 14px; font-weight: 800; text-decoration: none; }
.dm2027-centros-page .dm2027-filter-form a.dm2027-filter-perto:hover { background: var(--dm-brand-hover); }
.dm2027-centros-page .dm2027-filter-form #dm2027-centros-clear { height: 46px; padding: 0 18px; border: 0; border-radius: var(--dm-r-md); background: var(--dm-brand-soft); color: var(--dm-brand); font-size: 14px; font-weight: 800; }
.dm2027-centros-page .dm2027-filter-form #dm2027-centros-clear:hover { background: #ffe1ef; }
.dm2027-centros-page .dm2027-centros-grid { gap: 16px; margin-top: 26px; }
.dm2027-centros-page .dm2027-centro-card { border: 0; border-radius: var(--dm-r-lg); overflow: hidden; background: var(--dm-card); box-shadow: var(--dm-shadow-card); transition: transform .18s ease, box-shadow .18s ease; }
.dm2027-centros-page .dm2027-centro-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(20,30,50,.10); }
.dm2027-centros-page .dm2027-phead .dm2027-lede { max-width: none; }
@media ( max-width: 782px ) {
  .dm2027-centros-page .dm2027-phead { margin-bottom: 12px; }
  .dm2027-centros-page #dm2027-centros-map { height: 340px; margin: 16px 0 6px; }
  .dm2027-centros-page .dm2027-filter-form { position: sticky; top: 56px; z-index: 10; flex-wrap: nowrap; overflow-x: auto; gap: 8px; margin: 0 -16px 6px; padding: 10px 16px; background: var(--dm-page); scrollbar-width: none; }
  .admin-bar .dm2027-centros-page .dm2027-filter-form { top: 102px; }
  .dm2027-centros-page .dm2027-filter-form::-webkit-scrollbar { display: none; }
  .dm2027-centros-page .dm2027-filter-form a.dm2027-filter-perto { order: -1; flex: none; height: auto; padding: 9px 14px; gap: 6px; border-radius: var(--dm-r-pill); background: var(--dm-brand-soft); color: var(--dm-brand) !important; font-size: 14px; line-height: 1.4; white-space: nowrap; }
  .dm2027-centros-page .dm2027-filter-form a.dm2027-filter-perto svg { width: 15px; height: 15px; }
  .dm2027-centros-page .dm2027-filter-form select { flex: none; max-width: 200px; height: 38px; padding: 0 14px; border: 0; border-radius: var(--dm-r-pill); background-color: var(--dm-card); box-shadow: 0 1px 2px rgba(20,30,50,.05); font-size: 14px; font-weight: 800; color: var(--dm-ink-2); }
  .dm2027-centros-page .dm2027-filter-form #dm2027-centros-clear { flex: none; height: 38px; padding: 0 14px; border-radius: var(--dm-r-pill); }
  .dm2027-centros-page .dm2027-centros-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 6px; }
  .dm2027-centros-page .dm2027-centro-card { border-radius: 14px; }
}

/* ===== Design 2026 — Centros desktop (passo 3.6b): localidade com ícone e a largura toda disponível ===== */
@media ( min-width: 783px ) {
  .dm2027-centros-page .dm2027-filter-form select#dm2027-centros-localidade { flex: 1 1 0; max-width: none; min-width: 0; -webkit-appearance: none; appearance: none; padding: 0 42px 0 44px; background-repeat: no-repeat, no-repeat; background-position: 14px center, right 14px center; background-size: 18px, 16px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.3 7-12a7 7 0 0 0-14 0c0 5.7 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }
}


/* ===== Design 2026 — Centros mobile (passo 3.6c): Perto de mim como o chip .pk do protótipo (rosa claro, texto rosa) ===== */
@media ( max-width: 782px ) {
  .dm2027-centros-page .dm2027-filter-form a.button.dm2027-filter-perto, .dm2027-centros-page .dm2027-filter-form a.button.dm2027-filter-perto:hover, .dm2027-centros-page .dm2027-filter-form a.button.dm2027-filter-perto:focus { order: -1; flex: none; display: inline-flex; align-items: center; gap: 6px; height: auto; min-height: 0; width: auto; margin: 0; padding: 9px 14px; border: 0; border-radius: var(--dm-r-pill); background: var(--dm-brand-soft); color: var(--dm-brand) !important; font-size: 14px; font-weight: 800; line-height: 1.4; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; box-shadow: 0 1px 2px rgba(20,30,50,.05); }
  .dm2027-centros-page .dm2027-filter-form a.dm2027-filter-perto svg { width: 15px; height: 15px; flex: none; }
}


/* ===== Design 2026 — Centros (passo 3.6d): Perto de mim ativo + mensagem de estado ===== */
.dm2027-geo-status { margin: 8px 0 0; font-size: 13px; color: var(--dm-ink-soft); }
.dm2027-geo-status.is-error { color: var(--dm-crit); }
.dm2027-centros-page a.dm2027-filter-perto.is-loading { opacity: .6; pointer-events: none; }
.dm2027-centros-page a.dm2027-filter-perto.is-active { box-shadow: 0 0 0 2px var(--dm-brand); }

/* ===== Design 2026 — Centro individual (passo 3.7): como centro-sakura.html / m-centro-sakura.html ===== */
.dm2027-cpage .dm2027-centro-banner { margin: 0; }
.dm2027-cpage .dm2027-centro-banner img { border-radius: 18px; }
.dm2027-cpage .dm2027-clay { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 36px; margin-top: 26px; align-items: start; }
.dm2027-cpage .dm2027-clay-main { min-width: 0; }
.dm2027-cpage h1.dm2027-centro-name { font-size: 28px; line-height: 1.2; font-weight: 800; letter-spacing: -.01em; margin: 0 !important; color: var(--dm-ink); }
.dm2027-cpage .dm2027-centro-email { margin-top: 4px; font-size: 14px; line-height: 1.5; color: var(--dm-ink-soft); }
.dm2027-cpage .dm2027-cloc { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 14px; line-height: 1.4; color: var(--dm-ink-soft); }
.dm2027-cpage .dm2027-cloc svg { color: var(--dm-brand); flex: none; }
.dm2027-cpage .dm2027-cloc a { color: var(--dm-ink-soft) !important; text-decoration: none; }
.dm2027-cpage .dm2027-cloc a:hover { color: var(--dm-brand) !important; }
.dm2027-cpage .dm2027-centro-slogan { margin: 10px 0 0; text-align: left; font-size: 14px; font-style: normal; line-height: 1.6; color: var(--dm-ink-soft); }
.dm2027-cpage .dm2027-centro-slogan p, .dm2027-cpage .dm2027-centro-slogan div { margin: 0; text-align: left !important; }
.dm2027-cpage .dm2027-csec { margin-top: 30px; }
.dm2027-cpage .dm2027-csec h2 { margin: 0 0 12px; font-size: 18px; line-height: 1.3; font-weight: 800; color: var(--dm-ink); }
.dm2027-cpage .dm2027-crow { display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; padding: 13px 2px; border-bottom: 1px solid var(--dm-line); font-size: 14px; }
.dm2027-cpage .dm2027-crow b { font-weight: 700; color: var(--dm-ink); }
.dm2027-cpage .dm2027-crow span { font-size: 13px; color: var(--dm-ink-faint); }
.dm2027-cpage .dm2027-crow em { min-width: 56px; text-align: right; font-style: normal; font-weight: 800; font-size: 16px; }
.dm2027-cpage .dm2027-crow-plain { grid-template-columns: 1fr; }
.dm2027-cpage .dm2027-crow-plain b { font-weight: 600; }
.dm2027-cpage .dm2027-ctags { display: flex; flex-wrap: wrap; gap: 8px; }
.dm2027-cpage .dm2027-ctags span { display: inline-block; padding: 7px 13px; border-radius: var(--dm-r-pill); background: var(--dm-muted); font-size: 13px; font-weight: 700; color: var(--dm-ink-2); }
.dm2027-cpage .dm2027-ctags span p, .dm2027-cpage .dm2027-ctags span div { margin: 0; display: inline; }
.dm2027-cpage .dm2027-lightbox-gallery.dm2027-centro-gallery { margin-top: 0; }
.dm2027-cpage .dm2027-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.dm2027-cpage .dm2027-centro-map { height: 400px; margin: 0; border-radius: 18px; overflow: hidden; background: #d6e8f4; }
.dm2027-cpage .dm2027-side { position: sticky; top: 112px; display: flex; flex-direction: column; gap: 14px; padding: 26px; border: 1px solid var(--dm-line); border-radius: 18px; background: var(--dm-muted); }
.dm2027-cpage .dm2027-centro-contact { display: flex; flex-direction: column; gap: 14px; width: 100%; justify-self: auto; }
.content-wrap .dm2027-cpage a.dm2027-centro-phone { display: flex; align-items: center; justify-content: center; gap: 8px; line-height: 1; width: 100%; height: auto; box-sizing: border-box; padding: 17px 20px; border-radius: 14px; background: var(--dm-brand); color: #fff !important; font-size: 20px; font-weight: 800; text-decoration: none; }
.content-wrap .dm2027-cpage a.dm2027-centro-phone:hover { background: var(--dm-brand-hover); }
.content-wrap .dm2027-cpage a.dm2027-centro-phone svg { display: block; width: 20px; height: 20px; flex: none; margin: 0; }
.content-wrap .dm2027-cpage a.dm2027-centro-phone.dm2027-centro-phone-2, .content-wrap .dm2027-cpage a.dm2027-centro-phone.dm2027-centro-phone-2:hover { background: var(--dm-card); color: var(--dm-ink-2) !important; border: 1px solid var(--dm-line-strong); }
.dm2027-cpage .dm2027-kv { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0 0; border-top: 1px solid var(--dm-line); font-size: 14px; line-height: 1.5; color: var(--dm-ink-soft); }
.dm2027-cpage .dm2027-kv svg { flex: none; margin-top: 2px; color: var(--dm-ink-faint); }
.dm2027-cpage .dm2027-kv b { display: block; font-weight: 800; color: var(--dm-ink); }
@media ( max-width: 900px ) { .dm2027-cpage .dm2027-clay { grid-template-columns: 1fr; } .dm2027-cpage .dm2027-side { position: static; } .dm2027-cpage .dm2027-cards-grid { grid-template-columns: repeat(2, 1fr); } }
@media ( max-width: 782px ) {
  .content-wrap:has( .dm2027-cpage ) { margin: 0 -16px; }
  .dm2027-centro-single { margin: 0; }
  .dm2027-cpage .dm2027-crumbs { display: none; }
  .dm2027-cpage .dm2027-centro-banner img { border-radius: 16px; }
  .dm2027-cpage .dm2027-clay { display: flex; flex-direction: column; align-items: stretch; gap: 0; margin-top: 16px; }
  .dm2027-cpage .dm2027-clay-main { display: contents; }
  .dm2027-cpage .dm2027-chead { order: 1; }
  .dm2027-cpage .dm2027-side { order: 2; margin-top: 14px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; gap: 8px; }
  .dm2027-cpage .dm2027-csec { order: 3; }
  .dm2027-cpage h1.dm2027-centro-name { font-size: 24px; line-height: 1.22; }
  .dm2027-cpage .dm2027-centro-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .dm2027-cpage .dm2027-centro-contact > a:only-child { grid-column: 1 / -1; }
  .content-wrap .dm2027-cpage a.dm2027-centro-phone { padding: 14px 12px; }
  .dm2027-cpage .dm2027-kv { padding: 12px 16px; border: 0; border-radius: 18px; background: var(--dm-card); box-shadow: var(--dm-shadow-card); }
  .dm2027-cpage .dm2027-crows { padding: 2px 16px; border-radius: 18px; background: var(--dm-card); box-shadow: var(--dm-shadow-card); }
  .dm2027-cpage .dm2027-crow { grid-template-columns: 1fr auto; gap: 0 14px; padding: 12px 0; }
  .dm2027-cpage .dm2027-crow b { grid-column: 1; grid-row: 1; }
  .dm2027-cpage .dm2027-crow span { grid-column: 1; grid-row: 2; }
  .dm2027-cpage .dm2027-crow em { grid-column: 2; grid-row: 1 / span 2; min-width: 0; white-space: nowrap; }
  .dm2027-cpage .dm2027-crow-plain { grid-template-columns: 1fr; }
  .dm2027-cpage .dm2027-crow:last-child { border-bottom: 0; }
  .dm2027-cpage .dm2027-ctags span { padding: 8px 13px; background: var(--dm-card); }
  .dm2027-cpage .dm2027-cards-grid { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 2px 16px 6px; scrollbar-width: none; }
  .dm2027-cpage .dm2027-cards-grid::-webkit-scrollbar { display: none; }
  .dm2027-cpage .dm2027-cards-grid > a { flex: none; width: 138px; scroll-snap-align: start; }
  .dm2027-cpage .dm2027-centro-map { height: 210px; }
}

/* ===== Design 2026 — Centro (passo 3.7d): mapa como m-centro-sakura.html (largura do conteúdo, 210px, cantos 18px) ===== */
@media ( max-width: 782px ) {
  .dm2027-cpage .dm2027-csec { min-width: 0; }
  .dm2027-cpage #dm2027-centro-map.dm2027-centro-map { display: block; width: 100%; max-width: 100%; box-sizing: border-box; height: 210px; margin: 0; border-radius: 18px; overflow: hidden; }
}


/* ===== Design 2026 — Centro (passo 3.7e): galeria com cantos arredondados (8px; 10px no mobile), como o protótipo ===== */
.dm2027-cpage .dm2027-centro-gallery a.dm2027-lightbox-thumb { display: block; border-radius: 8px; overflow: hidden; }
.dm2027-cpage .dm2027-centro-gallery img { border-radius: 8px; }
@media ( max-width: 782px ) {
  .dm2027-cpage .dm2027-centro-gallery a.dm2027-lightbox-thumb, .dm2027-cpage .dm2027-centro-gallery img { border-radius: 10px; }
}

/* ===== Design 2026 — Mapa (passo 3.8): como mapa.html / m-mapa.html ===== */
.dm2027-massagistas-mapa-page.dm2027-mass-wrap { padding: 28px; }
.dm2027-massagistas-mapa-page .dm2027-phead { margin-bottom: 22px; }
.dm2027-massagistas-mapa-page .dm2027-phead .dm2027-lede { max-width: none; }
.dm2027-mapa-view-toggle { display: none !important; }

/* Filtros (desktop) */
.dm2027-massagistas-mapa-page .dm2027-filter-form { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; margin: 0 0 16px; }
.dm2027-zonas-bar select.dm2027-zonas-genero, .dm2027-massagistas-mapa-page .dm2027-filter-form select, .dm2027-massagistas-mapa-page .dm2027-filter-form input[type="text"] { flex: 1 1 0; min-width: 0; width: auto; height: 46px; margin: 0; padding: 0 14px 0 42px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); background-color: var(--dm-card); background-repeat: no-repeat; color: var(--dm-ink-2); font-family: inherit; font-size: 14px; }
.dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-search { flex: 1.25 1 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E"); background-position: 14px center; background-size: 18px; }
.dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-filtro-zona { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.3 7-12a7 7 0 0 0-14 0c0 5.7 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-position: 14px center, right 16px center; background-size: 18px, 16px; }
.dm2027-zonas-bar select.dm2027-zonas-genero, .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-filtro-massagem, .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-filtro-genero { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h10M4 12h16M4 17h7'/%3E%3Ccircle cx='18' cy='7' r='2'/%3E%3Ccircle cx='15' cy='17' r='2'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-position: 14px center, right 16px center; background-size: 18px, 16px; }
.dm2027-massagistas-mapa-page .dm2027-filter-form .button { flex: 0 0 auto; width: auto; height: 46px; box-sizing: border-box; margin: 0; padding: 0 18px; border-radius: var(--dm-r-md); font-size: 14px; font-weight: 800; }
.dm2027-massagistas-mapa-page .dm2027-filter-form .dm2027-mapa-perto-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--dm-brand); border: 1px solid var(--dm-brand); color: #fff; }
.dm2027-massagistas-mapa-page .dm2027-filter-form .dm2027-mapa-perto-btn svg { margin: 0; }
.dm2027-massagistas-mapa-page .dm2027-filter-form .dm2027-mapa-perto-btn:hover, .dm2027-massagistas-mapa-page .dm2027-filter-form .dm2027-mapa-perto-btn:focus, .dm2027-massagistas-mapa-page .dm2027-filter-form .dm2027-mapa-perto-btn.is-active { background: var(--dm-brand-hover); border-color: var(--dm-brand-hover); color: #fff; }
.dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-clear { background: var(--dm-brand-soft); border: 1px solid var(--dm-brand-soft); color: var(--dm-brand); }
.dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-clear:hover { background: #ffe1ef; border-color: #ffe1ef; }

/* Mapa + lista (desktop) */
.dm2027-massagistas-mapa-grid { grid-template-columns: 340px 1fr; height: 640px; height: max(480px, calc(100vh - 400px)); height: max(480px, calc(100dvh - 400px)); margin-top: 0; border: 1px solid var(--dm-line); border-radius: 18px; overflow: hidden; }
.dm2027-mapa-sheet { display: flex; flex-direction: column; min-height: 0; background: var(--dm-card); border-right: 1px solid var(--dm-line); }
.dm2027-mapa-sheet-hd { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--dm-line); }
.dm2027-mapa-sheet-hd b { font-size: 14px; font-weight: 800; color: var(--dm-ink); }
.dm2027-mapa-sheet-hd small { display: block; margin-top: 1px; font-size: 12px; color: var(--dm-ink-faint); }
.dm2027-mapa-sheet-hd a.dm2027-mapa-sheet-lnk { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-pill); background: var(--dm-card); color: var(--dm-ink-2) !important; font-size: 13px; font-weight: 800; text-decoration: none; }
.dm2027-mapa-sheet-hd a.dm2027-mapa-sheet-lnk:hover { border-color: var(--dm-brand); color: var(--dm-brand) !important; }
.dm2027-mapa-sheet .dm2027-massagistas-mapa-list { flex: 1; min-height: 0; padding: 6px; border-right: 0; }
.dm2027-massagistas-mapa-list .dm2027-mapa-item { position: relative; gap: 12px; padding: 9px 10px; border-bottom: 0; border-radius: 12px; }
.dm2027-massagistas-mapa-list .dm2027-mapa-item:hover { background: var(--dm-muted-2); }
.dm2027-massagistas-mapa-list .dm2027-mapa-item.is-active { background: var(--dm-brand-soft); box-shadow: none; }
.dm2027-massagistas-mapa-list .dm2027-mapa-item.is-active::before { content: ""; position: absolute; left: -6px; top: 12px; bottom: 12px; width: 3px; border-radius: 0 3px 3px 0; background: var(--dm-brand); }
.dm2027-massagistas-mapa-list .dm2027-mapa-avatar { width: 52px; height: 52px; border: 0; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--dm-brand-border); }
.dm2027-massagistas-mapa-list .dm2027-mapa-item.is-active .dm2027-mapa-avatar { box-shadow: 0 0 0 2px var(--dm-brand-soft), 0 0 0 4px var(--dm-brand); }
.dm2027-massagistas-mapa-list .dm2027-mapa-item .dm2027-mapa-item-name { color: var(--dm-ink) !important; font-size: 14px; font-weight: 800; }
.dm2027-massagistas-mapa-list .dm2027-mapa-item-zona { font-size: 13px; color: var(--dm-ink-faint); }
.dm2027-mapa-item-dist { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 12px; font-weight: 700; color: var(--dm-ink-faint); white-space: nowrap; }
.dm2027-mapa-item-dist:empty { display: none; }
.dm2027-mapa-area-btn { top: 14px; padding: 10px 16px; border-radius: var(--dm-r-pill); font-size: 13px; font-weight: 800; color: var(--dm-brand); box-shadow: 0 4px 14px rgba(20,30,50,.16); }
.dm2027-mapa-geo-status { margin: -6px 0 14px; }

@media ( max-width: 900px ) { .dm2027-massagistas-mapa-page .dm2027-filter-form { flex-wrap: wrap; } .dm2027-massagistas-mapa-page .dm2027-filter-form select, .dm2027-massagistas-mapa-page .dm2027-filter-form input[type="text"] { flex: 1 1 200px; } }

/* Mobile: mapa em ecrã inteiro, chips por cima e folha com os cartões por baixo (m-mapa.html) */
@media ( max-width: 782px ) {
  body:has( .dm2027-massagistas-mapa-page ) { overflow: hidden; }
  body:has( .dm2027-massagistas-mapa-page ) #colophon { display: none; }
  .dm2027-massagistas-mapa-page.dm2027-mass-wrap { position: fixed; top: 56px; left: 0; right: 0; bottom: 0; z-index: 1; margin: 0; padding: 0; background: transparent; }
  .admin-bar .dm2027-massagistas-mapa-page.dm2027-mass-wrap { top: 102px; }
  .dm2027-massagistas-mapa-page .dm2027-mapa-phead { display: none; }
  .dm2027-massagistas-mapa-grid { position: absolute; inset: 0; display: block; height: auto; margin: 0; border: 0; border-radius: 0; overflow: visible; }
  .dm2027-massagistas-mapa-map-wrap { position: absolute; inset: 0; }
  #dm2027-massagistas-mapa-map { height: 100%; }
  .dm2027-mapa-area-btn { top: 62px; z-index: 6; padding: 9px 14px; font-size: 13px; }

  .dm2027-massagistas-mapa-page .dm2027-filter-form { position: absolute; top: 10px; left: 0; right: 0; z-index: 7; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 6px; margin: 0; padding: 2px 12px 6px; overflow-x: auto; scrollbar-width: none; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form::-webkit-scrollbar { display: none; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form select, .dm2027-massagistas-mapa-page .dm2027-filter-form input[type="text"] { flex: none; width: auto; max-width: 170px; height: 38px; padding: 0 34px 0 14px; border: 0; border-radius: var(--dm-r-pill); background-color: var(--dm-card); box-shadow: 0 2px 8px rgba(20,30,50,.14); font-size: 14px; font-weight: 800; color: var(--dm-ink-2); -webkit-appearance: none; appearance: none; background-position: right 14px center; background-size: 14px; background-repeat: no-repeat; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b2f3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }
  .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-search { width: 112px; padding: 0 12px 0 35px; background-position: 14px center; background-size: 15px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b2f3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E"); transition: width .2s ease; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-search:focus { width: 180px; outline: 0; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-search::placeholder { color: var(--dm-ink-2); opacity: 1; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-filtro-zona, .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-filtro-massagem, .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-filtro-genero { background-position: right 14px center; background-size: 14px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b2f3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }
  .dm2027-massagistas-mapa-page .dm2027-filter-form .button { flex: none; height: auto; padding: 9px 14px; border: 0; border-radius: var(--dm-r-pill); font-size: 14px; font-weight: 800; line-height: 1.4; white-space: nowrap; box-shadow: 0 2px 8px rgba(20,30,50,.14); }
  .dm2027-massagistas-mapa-page .dm2027-filter-form .dm2027-mapa-perto-btn { order: -3; gap: 6px; background: var(--dm-card); color: var(--dm-ink-2); }
  .dm2027-massagistas-mapa-page .dm2027-filter-form .dm2027-mapa-perto-btn.is-active { background: var(--dm-brand); color: #fff; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-filtro-zona { order: -2; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-filtro-massagem { order: -1; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-clear { order: 2; background: var(--dm-brand-soft); color: var(--dm-brand); box-shadow: none; }
  .dm2027-mapa-geo-status { position: absolute; top: 56px; left: 12px; right: 12px; z-index: 7; margin: 0; padding: 6px 12px; border-radius: 10px; background: var(--dm-card); box-shadow: 0 2px 8px rgba(20,30,50,.14); }

  .dm2027-mapa-sheet { position: absolute; left: 0; right: 0; bottom: 0; z-index: 8; height: 300px; box-sizing: border-box; padding: 14px 0 calc(72px + env(safe-area-inset-bottom, 0px)); border: 0; border-radius: 22px 22px 0 0; box-shadow: 0 -8px 30px rgba(20,30,50,.14); }
  .dm2027-mapa-sheet::before { content: ""; position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 40px; height: 5px; border-radius: 99px; background: var(--dm-line-strong); }
  .dm2027-mapa-sheet-hd { padding: 0 16px 12px; border: 0; }
  .dm2027-mapa-sheet-hd b { font-size: 16px; }
  .dm2027-mapa-sheet-hd a.dm2027-mapa-sheet-lnk { height: auto; padding: 0; border: 0; background: none; color: var(--dm-brand) !important; font-size: 13px; }
  .dm2027-mapa-sheet .dm2027-massagistas-mapa-list { display: flex; flex-direction: row; gap: 8px; margin: 0; padding: 2px 16px 6px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .dm2027-mapa-sheet .dm2027-massagistas-mapa-list::-webkit-scrollbar { display: none; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item { flex: none; width: 250px; align-items: flex-start; gap: 12px; padding: 10px; border: 1px solid var(--dm-line); border-radius: 16px; background: var(--dm-card); scroll-snap-align: start; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item.is-active { border-color: var(--dm-brand); background: var(--dm-brand-soft); }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item.is-active::before { display: none; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-avatar { width: 64px; height: 96px; border-radius: 8px; box-shadow: none; object-fit: cover; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item.is-active .dm2027-mapa-avatar { box-shadow: none; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item-info { align-self: stretch; padding-top: 2px; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item .dm2027-mapa-item-name { font-size: 15px; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item-info::after { content: "Ver anúncio →"; margin-top: auto; padding-top: 6px; color: var(--dm-brand); font-size: 13px; font-weight: 800; }
  .dm2027-mapa-item-dist { position: static; transform: none; margin-top: 4px; font-size: 12px; font-weight: 800; color: var(--dm-ink-soft); }
  .dm2027-mapa-empty { flex: none; width: 250px; padding: 12px; }
}

/* ===== Design 2026 — Mapa (passo 3.8b): ícone no botão Lista (desktop) ===== */
.dm2027-mapa-sheet-hd a.dm2027-mapa-sheet-lnk { flex: none; gap: 6px; white-space: nowrap; }
.dm2027-mapa-sheet-hd > div { min-width: 0; }
.dm2027-mapa-sheet-hd a.dm2027-mapa-sheet-lnk svg { flex: none; }
@media ( max-width: 782px ) { .dm2027-mapa-sheet-hd a.dm2027-mapa-sheet-lnk svg { display: none; } }

/* ===== Design 2026 — Mapa (passo 3.8c): cartão do marcador como mapa.html .mpop ===== */
#dm2027-massagistas-mapa-map .gm-style .gm-style-iw-c { padding: 10px !important; border-radius: 16px; box-shadow: 0 14px 34px rgba(20,30,50,.22); min-width: 250px; max-width: 290px !important; }
#dm2027-massagistas-mapa-map .gm-style .gm-style-iw-d { overflow: visible !important; max-height: none !important; }
#dm2027-massagistas-mapa-map .gm-style .gm-style-iw-chr { position: absolute; top: 0; right: 0; height: auto; z-index: 2; }
#dm2027-massagistas-mapa-map .gm-style button.gm-ui-hover-effect { top: 4px !important; right: 4px !important; width: 28px !important; height: 28px !important; }
#dm2027-massagistas-mapa-map .gm-style button.gm-ui-hover-effect > span { width: 14px !important; height: 14px !important; margin: 7px !important; background-color: var(--dm-ink-faint) !important; }
#dm2027-massagistas-mapa-map .dm2027-popup-card { display: flex; flex-direction: row; align-items: stretch; gap: 12px; min-width: 0; max-width: none; padding: 0; text-align: left; }
#dm2027-massagistas-mapa-map .dm2027-popup-ph { flex: none; display: block; width: 66px; align-self: flex-start; }
#dm2027-massagistas-mapa-map .dm2027-popup-avatar { display: block; width: 66px; height: auto; aspect-ratio: 2 / 3; object-fit: cover; border: 0; border-radius: 8px; }
#dm2027-massagistas-mapa-map .dm2027-popup-tx { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 2px 22px 0 0; }
#dm2027-massagistas-mapa-map a.dm2027-popup-name { margin: 0; color: var(--dm-ink) !important; font-size: 16px; font-weight: 800; line-height: 1.25; text-decoration: none; }
#dm2027-massagistas-mapa-map .dm2027-popup-zona { margin-top: 1px; font-size: 13px; color: var(--dm-ink-faint); }
#dm2027-massagistas-mapa-map .dm2027-popup-badges { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 4px; margin-top: 4px; }
#dm2027-massagistas-mapa-map .dm2027-popup-badge { padding: 3px 8px; border-radius: var(--dm-r-pill); font-size: 11px; font-weight: 800; }
#dm2027-massagistas-mapa-map .dm2027-popup-badge--available { display: inline-flex; align-items: center; gap: 5px; background: var(--dm-good-bg); color: var(--dm-good); }
#dm2027-massagistas-mapa-map .dm2027-popup-badge--available i { width: 6px; height: 6px; border-radius: 50%; background: var(--dm-good); }
#dm2027-massagistas-mapa-map a.dm2027-popup-cta { margin: auto 0 0; padding: 8px 0 0; background: none; border-radius: 0; color: var(--dm-brand) !important; font-size: 13px; font-weight: 800; text-decoration: none; }

/* ===== Design 2026 — Mapa mobile (passo 3.8d): cartões da folha com a altura do conteúdo, como .mc do protótipo ===== */
@media ( max-width: 782px ) {
  .dm2027-mapa-sheet .dm2027-massagistas-mapa-list { flex: none; align-items: flex-start; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item { align-items: stretch; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item-info { min-height: 96px; }
}


/* ===== Design 2026 — Mapa mobile (passo 3.8e): sem o espaço vazio por baixo da folha; o mapa acaba em cima da barra inferior ===== */
@media ( max-width: 782px ) {
  .dm2027-massagistas-mapa-page.dm2027-mass-wrap { bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .dm2027-mapa-sheet { height: auto; padding-bottom: 12px; }
}


/* ===== Design 2026 — Mapa mobile (passo 3.8f): o campo Nome não encolhe (o flex do desktop ganhava por ID) ===== */
@media ( max-width: 782px ) {
  .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-search { flex: none; width: 112px; min-width: 112px; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form #dm2027-mapa-search:focus { width: 180px; }
  .dm2027-massagistas-mapa-page .dm2027-filter-form select { min-width: 0; }
}


/* ===== Design 2026 — Mapa mobile (passo 3.8g): margem à esquerda do 1.º cartão (o snap encostava-o ao bordo) ===== */
@media ( max-width: 782px ) {
  .dm2027-mapa-sheet .dm2027-massagistas-mapa-list { scroll-padding-left: 16px; scroll-padding-right: 16px; }
}


/* ===== Design 2026 — Faixas horizontais no mobile (passo 3.9): margem à esquerda/direita respeitada pelo snap em todas as faixas ===== */
@media ( max-width: 782px ) {
  .dm2027-home-zonas .dm2027-chips,
  .dm2027-home .dm2027-cards-grid,
  .dm2027-massagistas-archive .dm2027-cards-grid,
  .dm2027-cidade .dm2027-chips.dm2027-chips-page,
  .dm2027-cpage .dm2027-cards-grid { scroll-padding-left: 16px; scroll-padding-right: 16px; }
}

/* ===== Design 2026 — Saiba mais (passo 3.10): como saiba-mais.html / m-saiba-mais.html ===== */
.dm2027-saiba-mais-page.dm2027-mass-wrap { padding: 28px; border-radius: 0; overflow: visible; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-hero { height: auto; aspect-ratio: auto; overflow: visible; border-radius: 20px; background: linear-gradient(135deg, var(--dm-brand-soft) 0%, #f4f0ff 100%); }
.dm2027-saiba-mais-page .dm2027-saiba-mais-hero-img { display: none; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-hero-overlay { position: static; display: block; padding: 44px 40px; text-align: left; background: none; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-hero-overlay .dm2027-kicker { margin: 0 0 10px; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-hero-overlay h1 { margin: 0; padding: 0; color: var(--dm-ink); font-size: 34px; font-style: normal; font-weight: 800; line-height: 1.18; letter-spacing: -.015em; white-space: normal; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-hero-sub { margin: 8px 0 0; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.6; white-space: normal; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-body { padding: 0; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-columns { margin-top: 32px; gap: 28px; }
@media ( min-width: 1024px ) { .dm2027-saiba-mais-page .dm2027-saiba-mais-columns { grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; } .dm2027-saiba-mais-page .dm2027-saiba-mais-callout-col { top: 86px; } }
.dm2027-saiba-mais-page .dm2027-saiba-mais-intro p { max-width: 72ch; margin: 0 0 12px; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.75; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-intro strong { color: var(--dm-ink); }
.dm2027-saiba-mais-page .dm2027-saiba-mais-callout { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 22px; border: 0; border-radius: 18px; background: var(--dm-brand-soft); }
.dm2027-saiba-mais-callout-ib { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: var(--dm-card); color: var(--dm-brand); }
.dm2027-saiba-mais-page .dm2027-saiba-mais-callout h2 { margin: 0; color: var(--dm-ink); font-size: 18px; font-style: normal; font-weight: 800; line-height: 1.3; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-callout p { margin: 0; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.65; }
.dm2027-saiba-mais-page a.dm2027-saiba-mais-callout-btn { display: inline-flex; align-items: center; justify-content: center; align-self: stretch; height: 46px; margin-top: 4px; padding: 0 18px; border-radius: var(--dm-r-md); background: var(--dm-brand); color: #fff !important; font-size: 14px; font-weight: 800; text-decoration: none; }
.dm2027-saiba-mais-page a.dm2027-saiba-mais-callout-btn:hover { background: var(--dm-brand-hover); }

.dm2027-saiba-mais-page .dm2027-saiba-mais-tablist { display: inline-flex; gap: 4px; padding: 4px; border: 0; border-radius: 14px; background: var(--dm-muted); }
.dm2027-saiba-mais-page .dm2027-saiba-mais-tab-label { padding: 10px 18px; border-radius: 10px; color: var(--dm-ink-soft); font-size: 14px; font-weight: 800; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-tab-label::after { display: none; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-tab-label:has( .dm2027-saiba-mais-tab-radio:checked ) { background: var(--dm-brand); color: #fff; }
.dm2027-saiba-mais-search { display: flex; align-items: center; gap: 10px; height: 46px; margin-top: 18px; padding: 0 14px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); background: var(--dm-card); color: var(--dm-ink-faint); }
.dm2027-saiba-mais-search svg { flex: none; }
.dm2027-saiba-mais-search input[type="text"] { flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: 0; color: var(--dm-ink-2); font: inherit; font-size: 14px; }
.dm2027-saiba-mais-search input::placeholder { color: var(--dm-ink-faint); opacity: 1; }
.dm2027-saiba-mais-nofound { margin: 12px 0 0; color: var(--dm-ink-faint); font-size: 14px; }
.dm2027-saiba-mais-item[hidden] { display: none; }

.dm2027-saiba-mais-page .dm2027-saiba-mais-accordion { margin-top: 6px; border-top: 0; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-item { border-bottom: 1px solid var(--dm-line); }
.dm2027-saiba-mais-page .dm2027-saiba-mais-item summary { gap: 12px; padding: 15px 2px; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-item-title { color: var(--dm-ink); font-size: 16px; font-weight: 800; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-item-icon { background: var(--dm-brand-soft); }
.dm2027-saiba-mais-page .dm2027-saiba-mais-item[open] .dm2027-saiba-mais-item-icon { background: var(--dm-brand); }
.dm2027-saiba-mais-page .dm2027-saiba-mais-item[open] .dm2027-saiba-mais-item-icon::before { background: #fff; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-item-body { padding: 0 2px 18px; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-item-body p { max-width: 70ch; margin: 0 0 10px; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.7; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-item-link { color: var(--dm-brand); font-size: 13px; font-weight: 800; }
.dm2027-saiba-mais-page .dm2027-saiba-mais-disclaimer { color: var(--dm-ink-faint); }

@media ( max-width: 782px ) {
  .dm2027-saiba-mais-page.dm2027-mass-wrap { border-radius: 0; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-hero-overlay { padding: 22px 18px; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-hero-overlay h1 { max-width: none; font-size: 24px; line-height: 1.22; letter-spacing: -.01em; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-hero-sub { margin-top: 8px; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-columns { margin-top: 12px; gap: 12px; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-intro { display: none; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-callout { display: block; padding: 14px; }
  .dm2027-saiba-mais-callout-ib, .dm2027-saiba-mais-page a.dm2027-saiba-mais-callout-btn { display: none; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-callout h2 { font-size: 15px; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-callout p { margin-top: 6px; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-callout p + p { display: none; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-tablist { display: flex; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-tab-label { flex: 1; justify-content: center; padding: 10px 8px; text-align: center; }
  .dm2027-saiba-mais-search { height: 48px; margin-top: 10px; border-radius: 14px; font-size: 15px; }
  .dm2027-saiba-mais-search input[type="text"] { font-size: 15px; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-accordion { margin-top: 10px; padding: 2px 16px; border-radius: 18px; background: var(--dm-card); }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-item:last-child { border-bottom: 0; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-item summary { padding: 14px 0; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-item-title { font-size: 14px; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-item-body { padding: 0 0 16px; }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-disclaimer { margin-top: 24px; }
}

/* ===== Design 2026 — Saiba mais mobile (passo 3.10b): tabs como o .seg de m-saiba-mais.html (fundo branco, 13px) ===== */
@media ( max-width: 782px ) {
  .dm2027-saiba-mais-page .dm2027-saiba-mais-tablist { margin-top: 16px; background: var(--dm-card); }
  .dm2027-saiba-mais-page .dm2027-saiba-mais-tab-label { padding: 10px 4px; font-size: 13px; }
}


/* ===== Design 2026 — Saiba mais mobile (passo 3.10c): margens iguais às das outras páginas (o padding de 28px do desktop ganhava ao mobile) ===== */
@media ( max-width: 782px ) {
  .dm2027-saiba-mais-page.dm2027-mass-wrap { padding: 0 16px; margin: 0 -8px; background: transparent; }
}


/* ===== Design 2026 — Massagistas mobile (passo 3.11): chip "Guia de massagens" por baixo dos filtros (opção A) ===== */
.dm2027-guia-chip { display: none; }
@media ( max-width: 782px ) {
  .dm2027-massagistas-archive > a.dm2027-guia-chip { order: 0; display: inline-flex; align-items: center; align-self: flex-start; gap: 6px; margin: 4px 0 -12px; padding: 9px 14px; border: 1.5px solid var(--dm-brand); border-radius: var(--dm-r-pill); background: var(--dm-brand-soft); color: var(--dm-brand) !important; font-size: 13px; font-weight: 800; line-height: 1.2; text-decoration: none; white-space: nowrap; }
  .dm2027-guia-chip svg { flex: none; }
}


/* ===== Design 2026 — Massagem mobile (passo 3.5b): mesma compensação de margem da Cidade (sem artigo com caixa, o .content-wrap somava padding) ===== */
@media ( max-width: 782px ) { .content-wrap:has( .dm2027-massagem-page ) { margin: 0 -16px; } }


/* ===== Design 2026 — Chip do guia (passo 3.11b): espaço normal até à lista e o mesmo tamanho dos chips dos filtros ===== */
@media ( max-width: 782px ) {
  .dm2027-massagistas-archive > a.dm2027-guia-chip { margin: 2px 0 14px; padding: 9px 14px; border: 0; font-size: 14px; line-height: 1.4; box-shadow: 0 1px 2px rgba(20,30,50,.05); }
}

/* ===== Design 2026 — Anunciar (passo 3.12): como anunciar.html / m-anunciar.html + quadro de planos de planos-e-precos ===== */
.dm2027-anunciar-page.dm2027-mass-wrap { max-width: none; margin: 0; padding: 28px; background: var(--dm-card); }
.dm2027-anunciar-page .dm2027-anunciar-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: 36px; align-items: center; margin: 0; padding: 44px 40px; border-radius: 20px; background: var(--dm-brand-soft); text-align: left; }
.dm2027-anunciar-page .dm2027-anunciar-hero h1 { margin: 0; font-size: 34px; font-weight: 800; line-height: 1.18; letter-spacing: -.015em; color: var(--dm-ink) !important; }
.dm2027-anunciar-page .dm2027-anunciar-hero .dm2027-kicker { margin: 0 0 10px; }
.dm2027-anunciar-page .dm2027-alede { max-width: 100%; margin: 8px 0 0; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.6; text-align: left; }
.dm2027-anunciar-page a.dm2027-abtn { display: inline-flex; align-items: center; justify-content: center; height: 46px; margin-top: 18px; padding: 0 18px; border: 0; border-radius: var(--dm-r-md); background: var(--dm-brand); color: #fff !important; font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.dm2027-anunciar-page a.dm2027-abtn:hover { background: var(--dm-brand-hover); }
.dm2027-anunciar-page a.dm2027-abtn-line { margin: 0; background: var(--dm-card); border: 1px solid var(--dm-line-strong); color: var(--dm-ink-2) !important; }
.dm2027-anunciar-page a.dm2027-abtn-line:hover { background: var(--dm-card); border-color: var(--dm-brand); color: var(--dm-brand) !important; }
.dm2027-anunciar-page a.dm2027-abtn-gold, .dm2027-anunciar-page a.dm2027-abtn-gold:hover { margin: 0; background: linear-gradient(90deg, #d7b94b, #ab8b2e); }
.dm2027-asteps { display: flex; flex-direction: column; gap: 10px; }
.dm2027-astp { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; background: var(--dm-card); }
.dm2027-astp-no { display: flex; flex: none; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--dm-brand); color: #fff; font-size: 14px; font-weight: 800; }
.dm2027-astp b { display: block; font-size: 14px; font-weight: 800; color: var(--dm-ink); }
.dm2027-astp > div > span { display: block; margin-top: 1px; font-size: 13px; color: var(--dm-ink-soft); }

.dm2027-anunciar-page .dm2027-asec { margin-top: 44px; padding-top: 40px; border-top: 1px solid var(--dm-line); }
.dm2027-anunciar-page .dm2027-anunciar-hero + .dm2027-asec { padding-top: 0; border-top: 0; }
.dm2027-anunciar-page .dm2027-asec .dm2027-kicker { margin: 0 0 10px; }
.dm2027-anunciar-page .dm2027-asec h2 { margin: 0; font-size: 24px; font-weight: 800; line-height: 1.25; color: var(--dm-ink) !important; }

.dm2027-cmp { display: grid; grid-template-columns: minmax(150px, 1.35fr) 1fr 1fr; margin-top: 32px; }
.dm2027-cmp > div { display: flex; align-items: center; padding: 16px 14px; border-bottom: 1px solid var(--dm-line); }
.dm2027-cmp > .dm2027-cmp-h { flex-direction: column; align-items: center; justify-content: flex-end; padding: 24px 14px 22px; border-bottom: 0; text-align: center; }
.dm2027-cmp > .dm2027-cmp-h:first-child { align-items: flex-start; }
.dm2027-cmp > .dm2027-cmp-h.dm2027-cmp-n { border-radius: 18px 18px 0 0; background: #f3f4f6; }
.dm2027-cmp > .dm2027-cmp-h.dm2027-cmp-p { border-radius: 18px 18px 0 0; background: #fdf9ec; }
.dm2027-cmp-nm { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dm2027-cmp-n .dm2027-cmp-nm { color: #5b6070; }
.dm2027-cmp-p .dm2027-cmp-nm { color: #ab8b2e; }
.dm2027-cmp-h b { display: block; margin-top: 6px; font-size: 16px; font-weight: 800; color: var(--dm-ink); }
.dm2027-cmp-d { margin-top: 2px; font-size: 13px; color: var(--dm-ink-soft); }
.dm2027-cmp > .dm2027-cmp-grp { display: block; grid-column: 1 / -1; padding: 22px 0 8px; border-bottom: 1px solid var(--dm-line-strong); color: var(--dm-ink-faint); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dm2027-cmp > .dm2027-cmp-lb { gap: 12px; }
.dm2027-cmp-ic { display: flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; }
.dm2027-cmp-lb > div > b { display: block; font-size: 14px; font-weight: 800; color: var(--dm-ink); }
.dm2027-cmp-lb > div > span { display: block; margin-top: 2px; font-size: 12px; color: var(--dm-ink-faint); }
.dm2027-cmp > .dm2027-cmp-c { flex-direction: column; justify-content: center; gap: 3px; text-align: center; }
.dm2027-cmp > .dm2027-cmp-c.dm2027-cmp-n { background: var(--dm-surface); }
.dm2027-cmp > .dm2027-cmp-c.dm2027-cmp-p { background: #fefcf3; }
.dm2027-cmp-yes { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; color: #fff; font-size: 14px; font-weight: 800; }
.dm2027-cmp-n .dm2027-cmp-yes { background: #5b6070; }
.dm2027-cmp-p .dm2027-cmp-yes { background: #d7b94b; }
.dm2027-cmp-sm { font-size: 12px; font-weight: 700; color: var(--dm-ink-faint); }
.dm2027-cmp-no { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 1px solid var(--dm-line-strong); color: #1e1e1e; font-size: 15px; font-weight: 800; }
.dm2027-cmp > .dm2027-cmp-f { justify-content: center; padding-top: 18px; border-bottom: 0; }

.dm2027-alists { margin-top: 22px; border: 1px solid var(--dm-line); border-radius: 16px; overflow: hidden; }
.dm2027-alrow { display: grid; grid-template-columns: 34px 1fr auto; gap: 14px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--dm-line); }
.dm2027-alrow:last-child { border-bottom: 0; }
.dm2027-alk { font-size: 12px; font-weight: 800; color: var(--dm-brand); }
.dm2027-alrow b { font-size: 14px; font-weight: 800; color: var(--dm-ink); }
.dm2027-als { display: block; margin-top: 2px; font-size: 13px; color: var(--dm-ink-faint); }
.dm2027-ordtag { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: var(--dm-r-pill); background: var(--dm-muted); color: var(--dm-ink-2); font-size: 12px; font-weight: 800; white-space: nowrap; }
.dm2027-ordtag svg { color: var(--dm-ink-soft); }

.dm2027-ainc { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: var(--dm-r-pill); background: #d7b94b; color: #fff; font-size: 11px; font-weight: 800; }
.dm2027-alede .dm2027-ainc { padding: 3px 9px; font-size: 11px; }
.dm2027-ainc.dm2027-ainc-lede{background:#d7b94b;}
.dm2027-asvcs { margin-top: 8px; }
.dm2027-asvc { padding: 40px 0; border-bottom: 1px solid var(--dm-line); }
.dm2027-asvc:last-child { border-bottom: 0; }
.dm2027-asvc-hd { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.dm2027-asvc-ib { display: flex; flex: none; align-items: center; justify-content: center; gap: 2px; width: 44px; height: 44px; border-radius: 12px; }
.dm2027-anunciar-page .dm2027-asvc h3 { margin: 0; font-size: 18px; font-weight: 800; color: var(--dm-ink) !important; }
.dm2027-asvc-ds { margin: 12px 0 0; padding-top: 8px; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.65; }
.dm2027-asvc-ord { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 12px 0 0; color: var(--dm-ink-soft); font-size: 13px; line-height: 1.5; }
.dm2027-adurs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.dm2027-adur { min-width: 112px; padding: 12px 16px; border: 1px solid var(--dm-line); border-radius: 14px; background: var(--dm-card); }
.dm2027-adur span { display: block; font-size: 12px; color: var(--dm-ink-faint); }
.dm2027-adur b { display: block; margin-top: 2px; font-size: 18px; font-weight: 800; color: var(--dm-ink); }
.dm2027-acta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; padding: 16px 18px; border-radius: 16px; background: var(--dm-muted-2); }
.dm2027-acta p { margin: 0; color: var(--dm-ink-soft); font-size: 14px; }
.dm2027-acta b { color: var(--dm-ink); }
.dm2027-anunciar-page .dm2027-acta a.dm2027-abtn { margin-top: 0; }

.dm2027-alay { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; margin-top: 44px; align-items: start; scroll-margin-top: 90px; }
.dm2027-anunciar-page .dm2027-anunciar-form-card { margin: 0; padding: 24px; border: 1px solid var(--dm-line); border-radius: 18px; background: var(--dm-card); }
.dm2027-anunciar-page .dm2027-anunciar-form-card h2 { margin: 0; font-size: 18px; font-weight: 800; color: var(--dm-ink) !important; }
.dm2027-anunciar-hint { margin: 4px 0 0; font-size: 13px; color: var(--dm-ink-faint); }
.dm2027-anunciar-page p.dm2027-anunciar-intro { margin: 10px 0 0; font-size: 13px; line-height: 1.55; color: var(--dm-ink-soft); }
.dm2027-anunciar-page .dm2027-anunciar-form-grid { gap: 14px; margin-top: 18px; }
.dm2027-anunciar-page .dm2027-anunciar-form-grid label { gap: 7px; }
.dm2027-anunciar-page .dm2027-label-text { font-size: 13px; font-weight: 800; color: var(--dm-ink-2); }
.dm2027-anunciar-page .dm2027-required { color: var(--dm-brand); }
.dm2027-anunciar-page .dm2027-anunciar-form-grid input { height: 46px; padding: 0 14px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); background: var(--dm-card); font-size: 14px; color: var(--dm-ink-2); }
.dm2027-anunciar-page .dm2027-anunciar-form-grid textarea { padding: 12px 14px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); background: var(--dm-card); font-size: 14px; color: var(--dm-ink-2); }
.dm2027-anunciar-page .dm2027-anunciar-form-grid input:focus, .dm2027-anunciar-page .dm2027-anunciar-form-grid textarea:focus { border-color: var(--dm-brand); outline: 0; box-shadow: none; }
.dm2027-anunciar-page .dm2027-anunciar-counter { margin-top: 0; font-size: 12px; color: var(--dm-ink-faint); }
.dm2027-anunciar-page button.dm2027-anunciar-submit { height: 46px; margin-top: 18px; padding: 0 18px; border-radius: var(--dm-r-md); background: var(--dm-brand) !important; color: #fff !important; font-size: 14px; font-weight: 800; }
.dm2027-anunciar-page button.dm2027-anunciar-submit:hover, .dm2027-anunciar-page button.dm2027-anunciar-submit:focus { background: var(--dm-brand-hover) !important; }
.dm2027-anunciar-page .dm2027-anunciar-columns { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.dm2027-anunciar-page .dm2027-anunciar-contacts { padding: 24px; border-radius: 18px; background: var(--dm-brand-soft); }
.dm2027-anunciar-page .dm2027-anunciar-contacts h2, .dm2027-anunciar-page .dm2027-anunciar-about h2 { margin: 0 0 8px; font-size: 18px; font-weight: 800; color: var(--dm-ink) !important; }
.dm2027-anunciar-page .dm2027-anunciar-contacts p, .dm2027-anunciar-page .dm2027-anunciar-about p { margin: 0 0 10px; font-size: 14px; line-height: 1.65; color: var(--dm-ink-soft); }
.dm2027-anunciar-page .dm2027-anunciar-about { padding: 0; border: 0; background: none; }
.dm2027-anunciar-page .dm2027-anunciar-faq { margin-top: 44px; padding: 40px 0 0; border: 0; border-top: 1px solid var(--dm-line); border-radius: 0; background: none; }
.dm2027-anunciar-page .dm2027-anunciar-faq h2 { margin: 0 0 8px; font-size: 24px; font-weight: 800; color: var(--dm-ink) !important; }
.dm2027-anunciar-page .dm2027-anunciar-faq-sub { margin: 0 0 18px; font-size: 14px; color: var(--dm-ink-soft); }
.dm2027-anunciar-page .dm2027-saiba-mais-accordion { border-top: 0; }
.dm2027-anunciar-page .dm2027-saiba-mais-item { border-bottom: 1px solid var(--dm-line); }
.dm2027-anunciar-page .dm2027-saiba-mais-item summary { gap: 12px; padding: 15px 2px; }
.dm2027-anunciar-page .dm2027-saiba-mais-item-title { color: var(--dm-ink); font-size: 16px; font-weight: 800; }
.dm2027-anunciar-page .dm2027-saiba-mais-item-icon { background: var(--dm-brand-soft); }
.dm2027-anunciar-page .dm2027-saiba-mais-item[open] .dm2027-saiba-mais-item-icon { background: var(--dm-brand); }
.dm2027-anunciar-page .dm2027-saiba-mais-item[open] .dm2027-saiba-mais-item-icon::before { background: #fff; }
.dm2027-anunciar-page .dm2027-saiba-mais-item-body { padding: 0 2px 18px; }
.dm2027-anunciar-page .dm2027-saiba-mais-item-body p { max-width: 70ch; margin: 0 0 10px; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.7; }
@media ( max-width: 900px ) { .dm2027-anunciar-page .dm2027-anunciar-hero, .dm2027-alay { grid-template-columns: minmax(0, 1fr); } }

@media ( max-width: 782px ) {
  .dm2027-anunciar-page.dm2027-mass-wrap { padding: 0 16px; margin: 0 -8px; background: transparent; }
  .dm2027-anunciar-page .dm2027-anunciar-hero { gap: 18px; padding: 22px 18px; }
  .dm2027-anunciar-page .dm2027-anunciar-hero h1 { font-size: 24px; line-height: 1.22; letter-spacing: -.01em; }
  .dm2027-anunciar-page .dm2027-asec { margin-top: 30px; padding-top: 0; border-top: 0; }
  .dm2027-anunciar-page .dm2027-asec h2 { font-size: 20px; }
  .dm2027-anunciar-page a.dm2027-abtn { display: flex; width: 100%; box-sizing: border-box; }
  .dm2027-anunciar-page a.dm2027-abtn-line, .dm2027-anunciar-page a.dm2027-abtn-gold { width: auto; padding: 0 10px; font-size: 13px; }
  .dm2027-cmp { grid-template-columns: 1.3fr 1fr 1fr; margin-top: 18px; }
  .dm2027-cmp > div { padding: 12px 8px; }
  .dm2027-cmp-ic { display: none; }
  .dm2027-cmp > .dm2027-cmp-h { padding: 18px 8px 14px; }
  .dm2027-cmp-h b { font-size: 14px; }
  .dm2027-cmp-d { display: none; }
  .dm2027-cmp > .dm2027-cmp-grp { padding: 16px 0 6px; }
  .dm2027-alists { background: var(--dm-card); border: 0; border-radius: 18px; box-shadow: var(--dm-shadow-card); }
  .dm2027-alrow { grid-template-columns: 30px 1fr; padding: 12px 16px; }
  .dm2027-alrow .dm2027-ordtag { grid-column: 2; justify-self: start; margin-top: 4px; }
  .dm2027-asvc { margin-top: 12px; padding: 16px; border: 0; border-radius: 18px; background: var(--dm-card); box-shadow: var(--dm-shadow-card); }
  .dm2027-asvc:first-child { margin-top: 12px; }
  .dm2027-asvcs { margin-top: 0; }
  .dm2027-alay { margin-top: 30px; gap: 16px; }
  .dm2027-anunciar-page .dm2027-anunciar-form-card { padding: 18px; border: 0; border-radius: 18px; box-shadow: var(--dm-shadow-card); }
  .dm2027-anunciar-page .dm2027-anunciar-faq { margin-top: 30px; padding-top: 0; border-top: 0; }
  .dm2027-anunciar-page .dm2027-anunciar-faq h2 { font-size: 20px; }
  .dm2027-anunciar-page .dm2027-saiba-mais-accordion { padding: 2px 16px; border-radius: 18px; background: var(--dm-card); }
  .dm2027-anunciar-page .dm2027-saiba-mais-item:last-child { border-bottom: 0; }
  .dm2027-anunciar-page .dm2027-saiba-mais-item summary { padding: 14px 0; }
  .dm2027-anunciar-page .dm2027-saiba-mais-item-title { font-size: 14px; }
  .dm2027-anunciar-page .dm2027-saiba-mais-item-body { padding: 0 0 16px; }
}
/* ===== Design 2026 — Anunciar (passo 3.12b): mockups dos serviços, como anunciar.html / m-anunciar.html ===== */
.dm2027-asvc.dm2027-asvc-mock { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }
.dm2027-asvc-txt { min-width: 0; }
.dm2027-amock { min-width: 0; }
.dm2027-mc { display: block; min-width: 0; }
.dm2027-mi { position: relative; overflow: hidden; border-radius: 8px; aspect-ratio: 2 / 3; container-type: inline-size; }
.dm2027-mcx { position: absolute; left: 0; right: 0; bottom: 0; padding: 5.6cqw; background: var(--dm-card-gradient); color: #fff; }
.dm2027-mt { display: flex; align-items: center; margin-bottom: .8cqw; font-size: 7.2cqw; font-weight: 700; line-height: 1.2; }
.dm2027-mcx > div:not(.dm2027-mt) { font-size: 5.2cqw; line-height: 1.3; opacity: .9; }
.dm2027-mtag { position: absolute; top: 5cqw; left: 5cqw; z-index: 1; padding: 1.8cqw 3.8cqw; border-radius: 99px; color: #fff; font-size: 5.8cqw; font-weight: 800; white-space: nowrap; }
.dm2027-mav { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 8.8cqw; height: 8.8cqw; margin-left: 2.4cqw; border-radius: 50%; background: #10a64a; }
.dm2027-mav svg { display: block; width: 4.8cqw; height: 4.8cqw; }
.dm2027-mtr { display: inline-flex; align-items: center; justify-content: center; flex: none; margin-left: 1.8cqw; line-height: 0; }
.dm2027-mtr svg { display: block; width: 8.8cqw; height: 8.8cqw; }
.dm2027-mgrid, .dm2027-upgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.dm2027-anunciar-page .up-cap{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:13px;color:var(--dm-ink-soft);}
.dm2027-anunciar-page .up-arrow{width:22px;height:22px;border-radius:50%;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none;}
.dm2027-mgrid-3 { grid-template-columns: repeat(3, 1fr); max-width: 75%; }
.dm2027-mgrid .dm2027-mc:not(.dm2027-me), .dm2027-upgrid .dm2027-mc:not(.dm2027-me) { opacity: .4; }
.dm2027-upgrid { animation: dm2027-upfade 7s ease-in-out infinite; }
.dm2027-upgrid .dm2027-mc { position: relative; animation: dm2027-upmove 7s cubic-bezier(.65,0,.35,1) infinite; }
.dm2027-upgrid .dm2027-mc.dm2027-me { z-index: 2; animation-name: dm2027-uplift; }
@keyframes dm2027-upmove { 0%, 22% { transform: translate(0, 0); } 50%, 92% { transform: translate(calc(var(--dx) * (100% + 6px)), calc(var(--dy) * (100% + 6px))); } 93%, 100% { transform: translate(0, 0); } }
@keyframes dm2027-uplift { 0%, 22% { transform: translate(0, 0) scale(1); box-shadow: none; } 30% { transform: translate(0, 0) scale(1.07); box-shadow: 0 14px 30px rgba(20,30,50,.28); } 50% { transform: translate(calc(var(--dx) * (100% + 6px)), calc(var(--dy) * (100% + 6px))) scale(1.07); box-shadow: 0 14px 30px rgba(20,30,50,.28); } 58%, 92% { transform: translate(calc(var(--dx) * (100% + 6px)), calc(var(--dy) * (100% + 6px))) scale(1); box-shadow: none; } 93%, 100% { transform: translate(0, 0) scale(1); box-shadow: none; } }
@keyframes dm2027-upfade { 0%, 86% { opacity: 1; } 90%, 96% { opacity: 0; } 100% { opacity: 1; } }
@media ( prefers-reduced-motion: reduce ) { .dm2027-upgrid, .dm2027-upgrid .dm2027-mc { animation: none; } .dm2027-upgrid .dm2027-mc { transform: translate(calc(var(--dx) * (100% + 6px)), calc(var(--dy) * (100% + 6px))); } }

.dm2027-eq { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr; align-items: stretch; gap: 10px; }
.dm2027-eqc { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 14px; border-radius: 16px; }
.dm2027-eqib { display: flex; align-items: center; justify-content: center; gap: 1px; width: 40px; height: 40px; margin-bottom: 6px; border-radius: 12px; background: var(--dm-card); }
.dm2027-eqc b { font-size: 14px; font-weight: 800; color: var(--dm-ink); }
.dm2027-eqc > span:not(.dm2027-eqib) { font-size: 13px; line-height: 1.4; color: var(--dm-ink-soft); }
.dm2027-eqc.dm2027-eqpk { background: linear-gradient(135deg, #eef0fd, #fef3e9); box-shadow: inset 0 0 0 2px #d9d6f5; }
.dm2027-eqop { display: flex; align-self: center; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--dm-muted); color: var(--dm-ink-soft); font-size: 16px; font-weight: 800; }

.dm2027-tview { position: relative; height: 250px; overflow: hidden; border: 1px solid var(--dm-line); border-radius: 14px; background: var(--dm-card); }
.dm2027-tbg { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 14px; opacity: .45; }
.dm2027-tbg i { display: block; aspect-ratio: 2 / 3; border-radius: 6px; background: #CBD5E0; }
.dm2027-tcard { position: absolute; left: 14px; bottom: 14px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 5px; width: 118px; aspect-ratio: 2 / 3; padding: 12px 10px; overflow: hidden; border-radius: 14px; background: #c4b1f7; box-shadow: 0 12px 28px rgba(0,0,0,.28); }
.dm2027-tcard::before { content: ""; position: absolute; inset: 0; background: var(--dm-card-gradient); }
.dm2027-tcard > * { position: relative; }
.dm2027-tb { padding: 2px 7px; border-radius: 20px; background: linear-gradient(135deg, rgba(255,60,159,.9), rgba(224,51,140,.9)); color: #fff; font-size: 8.5px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; }
.dm2027-tcard b { color: #fff; font-size: 14px; font-weight: 700; }
.dm2027-tx { position: absolute !important; top: 7px; right: 7px; display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: rgba(0,0,0,.45); color: #fff; font-size: 12px; }

.dm2027-sl { margin: 0 0 8px; font-size: 13px; font-weight: 800; color: var(--dm-ink); }
.dm2027-st4 + .dm2027-sl { margin-top: 14px; }
.dm2027-gpill { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 99px; background: #fdf9ec; color: #ab8b2e; font-size: 11px; font-weight: 800; }
.dm2027-st4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.dm2027-st4 > div { padding: 12px 6px; border-radius: 10px; background: #e8fbfa; text-align: center; }
.dm2027-st4 b { display: block; font-size: 20px; font-weight: 800; color: #0e8f88; }
.dm2027-st4 span { display: block; margin-top: 2px; font-size: 11px; color: var(--dm-ink-soft); }
@media ( max-width: 900px ) { .dm2027-asvc.dm2027-asvc-mock { grid-template-columns: minmax(0, 1fr); gap: 18px; } }
@media ( max-width: 782px ) {
  .dm2027-amock { margin-top: 2px; }
  .dm2027-mgrid, .dm2027-upgrid { gap: 5px; }
  .dm2027-mi { border-radius: 8px; }
  .dm2027-mcx { padding: 6cqw; }
  .dm2027-mt { font-size: 9cqw; }
  .dm2027-mcx > div:not(.dm2027-mt) { font-size: 6.6cqw; }
  .dm2027-eq { grid-template-columns: minmax(0, 1fr); }
  .dm2027-eqop { justify-self: center; }
  .dm2027-tview { height: 210px; border-color: var(--dm-line); }
  .dm2027-tbg { grid-template-columns: repeat(2, 1fr); padding: 10px; }
  .dm2027-tcard { left: 10px; right: 10px; bottom: 10px; flex-direction: row; align-items: center; justify-content: flex-start; width: auto; aspect-ratio: auto; gap: 10px; padding: 8px 36px 8px 8px; border: 1px solid var(--dm-line); border-radius: 12px; background: var(--dm-card); box-shadow: 0 6px 24px rgba(0,0,0,.14); }
  .dm2027-tcard::before { content: ""; position: static; inset: auto; flex: none; order: -1; width: 40px; height: 40px; border-radius: 8px; background: #c4b1f7; }
  .dm2027-tb { position: absolute; top: 9px; left: 58px; padding: 0; background: none; color: #d81b7a; font-size: 9.5px; }
  .dm2027-tcard b { margin-top: 14px; color: var(--dm-ink); }
  .dm2027-tx { top: 50%; right: 10px; width: auto; height: auto; transform: translateY(-50%); background: none; color: var(--dm-ink-soft); font-size: 18px; }
  .dm2027-st4 { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .dm2027-st4 > div { padding: 10px 6px; }
  .dm2027-st4 b { font-size: 18px; }
}

/* ===== Design 2026 — Anunciar mobile (passo 3.12c): botão Pedir valores por baixo dos 3 passos, como m-anunciar.html ===== */
@media ( max-width: 782px ) {
  .dm2027-anunciar-page .dm2027-anunciar-hero { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .dm2027-anunciar-page .dm2027-asteps { width: 100%; box-sizing: border-box; }
  .dm2027-anunciar-page .dm2027-ahero-txt { display: contents; }
  .dm2027-anunciar-page .dm2027-ahero-txt .dm2027-kicker { order: 1; }
  .dm2027-anunciar-page .dm2027-ahero-txt h1 { order: 2; }
  .dm2027-anunciar-page .dm2027-ahero-txt .dm2027-alede { order: 3; }
  .dm2027-anunciar-page .dm2027-asteps { order: 4; gap: 8px; margin-top: 8px; }
  .dm2027-anunciar-page .dm2027-astp { gap: 12px; padding: 12px 14px; }
  .dm2027-anunciar-page .dm2027-astp-no { width: 30px; height: 30px; font-size: 13px; }
  .dm2027-anunciar-page .dm2027-ahero-txt a.dm2027-abtn { order: 5; margin-top: 14px; }
}

/* ===== Design 2026 — Favoritos (passo 3.13): como favoritos.html / m-favoritos.html ===== */
.entry-content-wrap:has( .dmadv-fav-page ) { padding: 0; }
.dmadv-fav-page .dm2027-phead { margin-bottom: 0; }
.dmadv-fav-page button.dmadv-favorites-clear { display: inline-flex; align-items: center; height: 38px; padding: 0 14px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-pill); background: var(--dm-card); color: var(--dm-ink-2); font-family: inherit; font-size: 13px; font-weight: 800; cursor: pointer; box-shadow: none; }
.dmadv-fav-page button.dmadv-favorites-clear:hover, .dmadv-fav-page button.dmadv-favorites-clear:focus { border-color: var(--dm-brand); background: var(--dm-card); color: var(--dm-brand); box-shadow: none; }
.dmadv-fav-page .dmadv-favorites-note { display: flex; align-items: center; gap: 10px; margin: 18px 0 22px; padding: 12px 14px; border-radius: var(--dm-r-md); background: var(--dm-muted-2); color: var(--dm-ink-soft); font-size: 13px; line-height: 1.45; }
.dmadv-fav-page .dmadv-favorites-note svg { flex: none; color: var(--dm-ink-faint); }
.dmadv-fav-page .dmadv-favorites-results .dm2027-cards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.dmadv-fav-page .dmadv-favorites-item .dmadv-favorites-remove { top: 8px; right: 8px; width: 34px; height: 34px; border: 0; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.dmadv-fav-page .dmadv-favorites-item .dmadv-favorites-remove:hover, .dmadv-fav-page .dmadv-favorites-item .dmadv-favorites-remove:focus { box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.dmadv-fav-page .dmadv-favorites-remove .dmadv-favorites-icon { width: 18px; height: 18px; }
.dmadv-fav-page .dmadv-favorites-empty { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 28px 16px; border-radius: 18px; background: var(--dm-brand-soft); text-align: center; }
.dmadv-fav-page .dmadv-favorites-empty[hidden] { display: none; }
.dmadv-fav-page .dmadv-favorites-empty p { margin: 0; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.6; }
.dmadv-fav-page .dmadv-favorites-empty p:first-child { color: var(--dm-ink); font-size: 16px; font-weight: 800; }
.dmadv-fav-page a.dmadv-favorites-cta { display: inline-flex; align-items: center; justify-content: center; height: 46px; margin-top: 12px; padding: 0 18px; border-radius: var(--dm-r-md); background: var(--dm-brand); color: #fff !important; font-size: 14px; font-weight: 800; text-decoration: none; }
.dmadv-fav-page a.dmadv-favorites-cta:hover { background: var(--dm-brand-hover); }
.dmadv-fav-page .dmadv-fav-more { margin-top: 44px; padding-top: 40px; border-top: 1px solid var(--dm-line); }
.dmadv-fav-page .dmadv-fav-more .dm2027-cards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
@media ( max-width: 782px ) {
  .dmadv-fav-page .dmadv-favorites-note { margin: 14px 0 0; padding: 12px 14px; border-radius: 14px; background: var(--dm-line); color: var(--dm-ink-soft); }
  .dmadv-fav-page .dmadv-favorites-results { margin-top: 14px; }
  .dmadv-fav-page .dmadv-favorites-results .dm2027-cards-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
  .dmadv-fav-page .dmadv-favorites-item .dmadv-favorites-remove { top: 6px; right: 6px; width: 30px; height: 30px; }
  .dmadv-fav-page .dmadv-favorites-remove .dmadv-favorites-icon { width: 16px; height: 16px; }
  .dmadv-fav-page .dmadv-fav-more { margin-top: 30px; padding-top: 0; border-top: 0; }
  .dmadv-fav-page .dmadv-fav-more .dm2027-cards-grid { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: 16px; scroll-padding-right: 16px; margin: 0 -16px; padding: 2px 16px 6px; scrollbar-width: none; }
  .dmadv-fav-page .dmadv-fav-more .dm2027-cards-grid::-webkit-scrollbar { display: none; }
  .dmadv-fav-page .dmadv-fav-more .dm2027-cards-grid > a { flex: none; width: 138px; scroll-snap-align: start; }
}

/* ===== Design 2026 — Favoritos (passo 3.13b): coração na capa dos cartões de "Também pode gostar" ===== */
.dmadv-fav-page .dmadv-fav-more[hidden], .dmadv-fav-page .dmadv-fav-more a[hidden] { display: none !important; }
.dmadv-fav-page .dmadv-fav-like { position: absolute; top: 8px; right: 8px; z-index: 3; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--dm-brand); box-shadow: 0 2px 8px rgba(0,0,0,.18); cursor: pointer; }
.dmadv-fav-page .dmadv-fav-like:hover, .dmadv-fav-page .dmadv-fav-like:focus-visible { outline: 0; }
.dmadv-fav-page .dmadv-fav-like:hover svg, .dmadv-fav-page .dmadv-fav-like:focus-visible svg { fill: currentColor; }
@media ( max-width: 782px ) { .dmadv-fav-page .dmadv-fav-like { top: 6px; right: 6px; width: 30px; height: 30px; } .dmadv-fav-page .dmadv-fav-like svg { width: 16px; height: 16px; } }

/* ===== Design 2026 — Favoritos mobile (passo 3.13c): baralho de cartões que se arrastam ("Também pode gostar") ===== */
.dmadv-deck-actions, .dmadv-deck-end { display: none; }
.dmadv-deck-stamp { display: none; }
@media ( max-width: 782px ) {
  .dmadv-fav-page .dmadv-fav-more .dm2027-cards-grid.dmadv-deck { position: relative; display: block; width: min(78vw, 300px); aspect-ratio: 2 / 3; margin: 6px auto 44px; padding: 0; overflow: visible; scroll-snap-type: none; }
  .dmadv-fav-page .dmadv-fav-more .dmadv-deck > a { position: absolute; inset: 0; width: 100%; flex: none; display: block; transform-origin: 50% 100%; transition: transform .25s ease, opacity .25s ease; touch-action: pan-y; -webkit-user-drag: none; user-select: none; -webkit-user-select: none; }
  .dmadv-fav-page .dmadv-fav-more .dmadv-deck > a:not([data-pos]) { display: none; }
  .dmadv-fav-page .dmadv-fav-more .dmadv-deck > a[data-pos="0"] { z-index: 3; cursor: grab; }
  .dmadv-fav-page .dmadv-fav-more .dmadv-deck > a[data-pos="1"] { z-index: 2; transform: translateY(12px) scale(.95); }
  .dmadv-fav-page .dmadv-fav-more .dmadv-deck > a[data-pos="2"] { z-index: 1; transform: translateY(24px) scale(.9); }
  .dmadv-fav-page .dmadv-deck .single-item { height: 100%; }
  .dmadv-fav-page .dmadv-deck .img-block { height: 100%; aspect-ratio: auto; border-radius: 16px; box-shadow: 0 10px 28px rgba(20,30,50,.18); }
  .dmadv-fav-page .dmadv-deck img { -webkit-user-drag: none; pointer-events: none; }
  .dmadv-fav-page .dmadv-deck .dmadv-fav-like { display: none; }
  .dmadv-fav-page .dmadv-deck .dmadv-deck-stamp { position: absolute; top: 18px; z-index: 4; display: block; padding: 6px 12px; border: 3px solid; border-radius: 10px; font-size: 16px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; opacity: 0; pointer-events: none; background: rgba(255,255,255,.85); }
  .dmadv-fav-page .dmadv-deck .dmadv-deck-stamp-like { left: 14px; color: var(--dm-brand); transform: rotate(-12deg); }
  .dmadv-fav-page .dmadv-deck .dmadv-deck-stamp-pass { right: 14px; color: var(--dm-ink-soft); transform: rotate(12deg); }
  .dmadv-fav-page .dmadv-deck-actions { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: -10px; }
  .dmadv-fav-page .dmadv-deck-actions[hidden], .dmadv-fav-page .dmadv-deck-end[hidden] { display: none; }
  .dmadv-fav-page button.dmadv-deck-btn { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; padding: 0; border: 0; border-radius: 50%; background: var(--dm-card); box-shadow: 0 4px 14px rgba(20,30,50,.18); cursor: pointer; }
  .dmadv-fav-page button.dmadv-deck-btn-pass { color: var(--dm-ink-soft); }
  .dmadv-fav-page button.dmadv-deck-btn-like { background: var(--dm-brand); color: #fff; }
  .dmadv-fav-page button.dmadv-deck-btn:hover, .dmadv-fav-page button.dmadv-deck-btn:focus { box-shadow: 0 4px 14px rgba(20,30,50,.18); }
  .dmadv-fav-page button.dmadv-deck-btn-pass:hover, .dmadv-fav-page button.dmadv-deck-btn-pass:focus { background: var(--dm-card); color: var(--dm-ink-soft); }
  .dmadv-fav-page button.dmadv-deck-btn-like:hover, .dmadv-fav-page button.dmadv-deck-btn-like:focus { background: var(--dm-brand); color: #fff; }
  .dmadv-fav-page .dmadv-deck-end { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 24px 16px; border-radius: 18px; background: var(--dm-card); box-shadow: var(--dm-shadow-card); text-align: center; }
  .dmadv-fav-page .dmadv-deck-end p { margin: 0; color: var(--dm-ink-soft); font-size: 14px; }
  .dmadv-fav-page .dmadv-deck-end button { height: 44px; padding: 0 18px; border: 0; border-radius: var(--dm-r-md); background: var(--dm-brand-soft); color: var(--dm-brand); font-family: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
}

/* ===== Design 2026 — Favoritos (passo 3.13d): as listas extra do baralho (novidades, todas) só aparecem no baralho mobile ===== */
@media ( min-width: 783px ) { .dmadv-fav-page .dmadv-fav-more .dm2027-cards-grid > a[data-deck-extra] { display: none !important; } }
@media ( max-width: 782px ) { .dmadv-fav-page .dmadv-fav-more .dm2027-cards-grid:not(.dmadv-deck) > a[data-deck-extra] { display: none; } }


/* ===== Design 2026 — Favoritos (passo 3.13e): "Limpar favoritos" também no mobile, como link no canto do cabeçalho ===== */
.dmadv-fav-page button.dmadv-favorites-clear[hidden] { display: none !important; }
@media ( max-width: 782px ) {
  .dmadv-fav-page .dm2027-phead { position: relative; }
  .dm2027-mass-wrap .dmadv-fav-page .dm2027-phead-acts, .dmadv-fav-page.dm2027-mass-wrap .dm2027-phead-acts { display: block; position: absolute; top: 0; right: 0; margin: 0; }
  .dmadv-fav-page button.dmadv-favorites-clear { height: auto; padding: 0; border: 0; background: none; color: var(--dm-brand); font-size: 13px; font-weight: 800; }
  .dmadv-fav-page button.dmadv-favorites-clear:hover, .dmadv-fav-page button.dmadv-favorites-clear:focus { border: 0; background: none; color: var(--dm-brand-hover); }
}


/* ===== Design 2026 — Favoritos mobile (passo 3.13f): "Limpar favoritos" como link simples (vencer .dm2027-phead .dm2027-btn.line) ===== */
@media ( max-width: 782px ) {
  .dmadv-fav-page .dm2027-phead .dm2027-phead-acts { top: 2px; }
  .dmadv-fav-page .dm2027-phead .dm2027-phead-acts button.dmadv-favorites-clear.dm2027-btn.line { display: inline-flex; height: auto; min-height: 0; margin: 0; padding: 0; border: 0 !important; border-radius: 0; background: none !important; box-shadow: none; color: var(--dm-brand) !important; font-size: 13px; font-weight: 800; line-height: 1.2; text-transform: none; letter-spacing: 0; white-space: nowrap; }
  .dmadv-fav-page .dm2027-phead .dm2027-phead-acts button.dmadv-favorites-clear.dm2027-btn.line:hover, .dmadv-fav-page .dm2027-phead .dm2027-phead-acts button.dmadv-favorites-clear.dm2027-btn.line:focus { background: none !important; color: var(--dm-brand-hover) !important; }
}


/* ===== Design 2026 — Favoritos mobile (passo 3.13g): "Limpar favoritos" em pílula como no desktop, com margens interiores certas ===== */
@media ( max-width: 782px ) {
  .dmadv-fav-page .dm2027-phead .dm2027-phead-acts { top: 0; }
  .dmadv-fav-page .dm2027-phead .dm2027-phead-acts button.dmadv-favorites-clear.dm2027-btn.line { display: inline-flex; align-items: center; justify-content: center; height: 36px; min-height: 0; margin: 0; padding: 0 16px !important; border: 1px solid var(--dm-line-strong) !important; border-radius: 99px; background: var(--dm-card) !important; box-shadow: none; color: var(--dm-ink-2) !important; font-size: 13px; font-weight: 800; line-height: 1; letter-spacing: 0; text-transform: none; white-space: nowrap; }
  .dmadv-fav-page .dm2027-phead .dm2027-phead-acts button.dmadv-favorites-clear.dm2027-btn.line:hover, .dmadv-fav-page .dm2027-phead .dm2027-phead-acts button.dmadv-favorites-clear.dm2027-btn.line:focus { border-color: var(--dm-brand) !important; background: var(--dm-card) !important; color: var(--dm-brand) !important; }
}

/* ===== Design 2026 — Páginas legais e 404 (passo 3.14): como privacidade.html / m-privacidade.html e 404.html / m-404.html ===== */
.dm2027-legal-page.dm2027-mass-wrap { max-width: none; margin: 0; padding: 28px; border: 0; border-radius: 0; background: var(--dm-card); }
.dm2027-legal-page .dm2027-phead { margin-bottom: 0; }
.dm2027-legal-page h1.dm2027-phead-title { margin: 0; }
.dm2027-lgl { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 40px; align-items: start; margin-top: 26px; }
.dm2027-lgl.dm2027-lgl-solo { grid-template-columns: minmax(0, 1fr); }
.dm2027-toc { position: sticky; top: 86px; display: flex; flex-direction: column; gap: 2px; max-height: calc(100vh - 110px); overflow: auto; font-size: 13px; }
.dm2027-toc b { display: block; padding: 0 10px 8px; color: var(--dm-ink-faint); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dm2027-legal-page .dm2027-toc a { position: relative; display: grid; grid-template-columns: 22px 1fr; gap: 6px; align-items: baseline; padding: 7px 10px; border-radius: 10px; color: var(--dm-ink-soft) !important; line-height: 1.35; text-decoration: none; }
.dm2027-toc a .n { color: var(--dm-ink-faint); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.dm2027-legal-page .dm2027-toc a:hover { background: var(--dm-muted-2); color: var(--dm-ink) !important; }
.dm2027-legal-page .dm2027-toc a.on { background: var(--dm-brand-soft); color: var(--dm-brand) !important; font-weight: 700; }
.dm2027-toc a.on .n { color: var(--dm-brand); }
.dm2027-legal-page .dm2027-legal-page-content { font-size: 14px; line-height: 1.75; color: var(--dm-ink-soft); }
.dm2027-lsec { scroll-margin-top: 84px; margin-bottom: 26px; padding-bottom: 26px; border-bottom: 1px solid var(--dm-line); }
.dm2027-lsec:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.dm2027-lsec h2 { margin: 0 0 10px; color: var(--dm-ink) !important; font-size: 18px; font-weight: 800; line-height: 1.3; }
.dm2027-lsec:target h2 { color: var(--dm-brand) !important; }
.dm2027-lsec h3 { margin: 18px 0 0; color: var(--dm-ink) !important; font-size: 16px; font-weight: 800; }
.dm2027-lsec p, .dm2027-lsec li { max-width: 70ch; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.75; }
.dm2027-lsec p { margin: 8px 0 0; }
.dm2027-lsec.dm2027-lintro p:first-child { margin-top: 0; }
.dm2027-lsec strong { color: var(--dm-ink); }

.dm2027-404-page.dm2027-mass-wrap { padding: 28px; background: var(--dm-card); text-align: center; }
.dm2027-nf { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 40px 0 24px; }
.dm2027-nf-big { color: var(--dm-brand); font-size: 96px; font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.dm2027-404-page h1.dm2027-404-title { margin: 0; color: var(--dm-ink); font-size: 28px; font-weight: 800; line-height: 1.2; }
.dm2027-404-page .dm2027-404-subtitle { margin: 0; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.6; }
.dm2027-nf-search { display: grid; grid-template-columns: 1fr auto; gap: 8px; width: 100%; max-width: 520px; margin-top: 8px; padding: 8px; border-radius: 18px; background: var(--dm-page); }
.dm2027-nf-search .dm2027-fi { display: flex; align-items: center; gap: 10px; min-width: 0; height: 46px; margin: 0; padding: 0 14px; border: 1px solid transparent; border-radius: var(--dm-r-md); background: var(--dm-card); color: var(--dm-ink-faint); }
.dm2027-nf-search .dm2027-fi svg { flex: none; }
.dm2027-nf-search input[type="text"] { flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: 0; color: var(--dm-ink-2); font: inherit; font-size: 14px; }
.dm2027-nf-search button.dm2027-nf-go { height: 46px; padding: 0 18px; border: 0; border-radius: var(--dm-r-md); background: var(--dm-brand); color: #fff; font-family: inherit; font-size: 14px; font-weight: 800; cursor: pointer; box-shadow: none; }
.dm2027-nf-search button.dm2027-nf-go:hover, .dm2027-nf-search button.dm2027-nf-go:focus { background: var(--dm-brand-hover); color: #fff; box-shadow: none; }
.dm2027-nf-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 6px; }
.dm2027-404-page a.dm2027-nf-btn { display: inline-flex; align-items: center; justify-content: center; height: 38px; padding: 0 14px; border-radius: var(--dm-r-pill); background: var(--dm-brand-soft); color: var(--dm-brand) !important; font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.dm2027-404-page a.dm2027-nf-btn:hover { background: #ffe1ef; }
.dm2027-404-page a.dm2027-nf-btn-main { border: 1px solid var(--dm-line-strong); background: var(--dm-card); color: var(--dm-ink-2) !important; }
.dm2027-404-page a.dm2027-nf-btn-main:hover { border-color: var(--dm-brand); background: var(--dm-card); color: var(--dm-brand) !important; }

@media ( max-width: 782px ) {
  .dm2027-legal-page.dm2027-mass-wrap { padding: 0 16px; margin: 0 -8px; background: transparent; }
  .dm2027-lgl { display: block; margin-top: 0; }
  .dm2027-toc { position: static; flex-direction: row; gap: 8px; max-height: none; margin: 14px -16px 0; padding: 0 16px 4px; overflow-x: auto; scroll-padding-left: 16px; scrollbar-width: none; }
  .dm2027-toc::-webkit-scrollbar { display: none; }
  .dm2027-toc b { display: none; }
  .dm2027-legal-page .dm2027-toc a { display: inline-flex; flex: none; align-items: center; gap: 6px; padding: 7px 12px 7px 7px; border-radius: 99px; background: var(--dm-card); color: var(--dm-ink-2) !important; font-size: 13px; font-weight: 800; white-space: nowrap; }
  .dm2027-toc a .n { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--dm-muted); color: var(--dm-ink-soft); font-size: 11px; }
  .dm2027-legal-page .dm2027-toc a:hover { background: var(--dm-card); color: var(--dm-ink-2) !important; }
  .dm2027-legal-page .dm2027-toc a.on { background: var(--dm-brand); color: #fff !important; font-weight: 800; }
  .dm2027-toc a.on .n { background: rgba(255,255,255,.25); color: #fff; }
  .dm2027-lsec { scroll-margin-top: 70px; margin: 10px 0 0; padding: 16px; border: 0; border-radius: 18px; background: var(--dm-card); }
  .dm2027-lsec:last-child { padding-bottom: 16px; }
  .dm2027-lsec h2 { font-size: 16px; }
  .dm2027-lsec p, .dm2027-lsec li { font-size: 14px; line-height: 1.7; }
  .content-wrap:has( .dm2027-404-page ) { margin: 0 -16px; }
  .dm2027-404-page.dm2027-mass-wrap { padding: 0 16px; margin: 0 -8px; background: transparent; }
  .dm2027-nf { gap: 12px; padding: 30px 0 10px; }
  .dm2027-nf-big { font-size: 80px; }
  .dm2027-404-page h1.dm2027-404-title { font-size: 24px; line-height: 1.22; }
  .dm2027-nf-search { display: none; }
  .dm2027-nf-acts { flex-direction: column; align-items: stretch; gap: 8px; margin-top: 12px; }
  .dm2027-404-page a.dm2027-nf-btn { height: auto; padding: 14px 18px; border-radius: 14px; font-size: 15px; }
  .dm2027-404-page a.dm2027-nf-btn-ghost { display: none; }
  .dm2027-404-page a.dm2027-nf-btn-main { order: -1; border: 0; background: var(--dm-brand); color: #fff !important; }
  .dm2027-404-page a.dm2027-nf-btn-main:hover { background: var(--dm-brand-hover); color: #fff !important; }
  .dm2027-404-page a.dm2027-nf-btn:not(.dm2027-nf-btn-main):not(.dm2027-nf-btn-ghost) { border: 1px solid var(--dm-line-strong); background: var(--dm-card); color: var(--dm-ink-2) !important; }
}
/* ===== Design 2026 — Pop-up +18 e aviso de cookies (passo 3.15): como entrada.html / m-entrada.html ===== */
#dm2027-age-gate { padding: 16px; background: rgba(20,22,28,.45); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
#dm2027-age-gate .dm2027-age-gate-box { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 440px; padding: 30px 28px; border-radius: 20px; box-shadow: 0 30px 70px rgba(0,0,0,.3); }
#dm2027-age-gate .dm2027-age-gate-logo, #dm2027-age-gate .dm2027-age-gate-image { margin: 0 auto; }
#dm2027-age-gate .dm2027-age-gate-badge { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0; border-radius: 50%; background: var(--dm-brand-soft); color: var(--dm-brand); font-size: 20px; font-weight: 800; }
#dm2027-age-gate h2 { margin: 0; color: var(--dm-ink); font-size: 20px; font-weight: 800; line-height: 1.3; }
#dm2027-age-gate p { margin: 0; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.6; }
#dm2027-age-gate .dm2027-age-gate-actions { width: 100%; gap: 10px; }
#dm2027-age-gate button { height: 46px; padding: 0 18px; border-radius: var(--dm-r-md); font-family: inherit; font-size: 14px; font-weight: 800; }
#dm2027-age-gate .dm2027-age-gate-confirm { background: var(--dm-brand); color: #fff; }
#dm2027-age-gate .dm2027-age-gate-confirm:hover, #dm2027-age-gate .dm2027-age-gate-confirm:focus { background: var(--dm-brand-hover); color: #fff; }
#dm2027-age-gate .dm2027-age-gate-exit { border-color: var(--dm-line-strong); background: var(--dm-card); color: var(--dm-ink-2); }
#dm2027-age-gate .dm2027-age-gate-exit:hover, #dm2027-age-gate .dm2027-age-gate-exit:focus { border-color: var(--dm-brand); background: var(--dm-card); color: var(--dm-brand); }
#dm2027-age-gate .dm2027-age-gate-note { display: block; margin: 0; color: var(--dm-ink-faint); font-size: 12px; line-height: 1.5; }
#dm2027-age-gate .dm2027-age-gate-note a { color: var(--dm-ink-faint) !important; text-decoration: underline; }

#dm2027-cookie-banner { left: 20px; right: auto; bottom: 20px; z-index: 1000000; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 10px; width: calc(100% - 40px); max-width: 420px; box-sizing: border-box; padding: 18px; border: 0; border-radius: 18px; box-shadow: 0 14px 40px rgba(0,0,0,.2); }
#dm2027-cookie-banner .dm2027-cookie-title { color: var(--dm-ink); font-size: 14px; font-weight: 800; }
#dm2027-cookie-banner .dm2027-cookie-text { flex: none; margin: 0; color: var(--dm-ink-soft); font-size: 13px; line-height: 1.5; }
#dm2027-cookie-banner .dm2027-cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
#dm2027-cookie-banner button { flex: 1; height: 44px; padding: 0 14px; border-radius: var(--dm-r-md); font-family: inherit; font-size: 14px; font-weight: 800; }
#dm2027-cookie-banner .dm2027-cookie-accept { background: var(--dm-brand); color: #fff; }
#dm2027-cookie-banner .dm2027-cookie-accept:hover, #dm2027-cookie-banner .dm2027-cookie-accept:focus { background: var(--dm-brand-hover); color: #fff; }
#dm2027-cookie-banner .dm2027-cookie-reject { border-color: var(--dm-line-strong); background: var(--dm-card); color: var(--dm-ink-2); }
#dm2027-cookie-banner .dm2027-cookie-reject:hover, #dm2027-cookie-banner .dm2027-cookie-reject:focus { border-color: var(--dm-brand); background: var(--dm-card); color: var(--dm-brand); }
#dm2027-cookie-banner a.dm2027-cookie-more { align-self: center; color: var(--dm-brand) !important; font-size: 13px; font-weight: 800; text-decoration: none; }

@media ( max-width: 782px ) {
  #dm2027-age-gate { align-items: flex-end; padding: 0; }
  #dm2027-age-gate .dm2027-age-gate-box { max-width: 430px; padding: 26px 20px calc(24px + env(safe-area-inset-bottom, 0px)); border-radius: 24px 24px 0 0; box-shadow: none; }
  #dm2027-age-gate .dm2027-age-gate-badge { width: 60px; height: 60px; font-size: 18px; }
  #dm2027-age-gate p { line-height: 1.55; }
  #dm2027-cookie-banner { top: 66px; right: auto; bottom: auto; left: 50%; transform: translateX(-50%); width: calc(100% - 24px); max-width: 406px; gap: 8px; padding: 14px; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
  #dm2027-cookie-banner .dm2027-cookie-actions { flex-wrap: nowrap; gap: 6px; }
  #dm2027-cookie-banner button { height: auto; padding: 11px 8px; font-size: 13px; }
}
/* ===== Design 2026 — Modal Entrar / Recuperar password (passo 3.16): como entrar.html / m-entrar.html / recuperar-password.html ===== */
.dmadv-login-overlay { background: rgba(20,22,28,.5); -webkit-backdrop-filter: none; backdrop-filter: none; }
.dmadv-login-dialog { max-width: 420px; padding: 28px; border-radius: 20px; box-shadow: 0 30px 70px rgba(0,0,0,.3); color: var(--dm-ink); }
.dmadv-login-dialog button.dmadv-login-close { position: absolute; top: 14px; right: 14px; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: var(--dm-muted); color: var(--dm-ink-soft); font-size: 18px; line-height: 1; box-shadow: none; }
.dmadv-login-dialog button.dmadv-login-close:hover, .dmadv-login-dialog button.dmadv-login-close:focus { background: var(--dm-line); color: var(--dm-ink); box-shadow: none; }
.dmadv-login-view .dmadv-login-kicker { margin: 0 0 4px; color: var(--dm-brand); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dmadv-login-view h2 { margin: 0; padding-right: 40px; color: var(--dm-ink); font-size: 24px; font-weight: 800; line-height: 1.25; text-align: left; }
.dmadv-login-view .dmadv-login-lede { margin: 6px 0 0; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.5; }
.dmadv-login-view form { gap: 0; }
.dmadv-login-view label { margin-top: 14px; color: var(--dm-ink-2); font-size: 13px; font-weight: 800; }
.dmadv-login-view input[type="text"], .dmadv-login-view input[type="password"], .dmadv-login-view input[type="email"] { height: 46px; margin: 7px 0 0; padding: 0 14px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); background: var(--dm-card); box-shadow: none; color: var(--dm-ink-2); font-size: 15px; }
.dmadv-login-view input:focus { border-color: var(--dm-brand); outline: 0; box-shadow: none; }
.dmadv-login-view .dm-password-wrapper { margin-bottom: 0; }
.dmadv-login-view .dm-password-wrapper.dm-password-wrapper input[type="password"], .dmadv-login-view .dm-password-wrapper.dm-password-wrapper input[type="text"] { padding-right: 46px; }
.dmadv-login-view .dm-password-toggle { color: var(--dm-ink-faint); }
.dmadv-login-view .dm-login-options { margin-top: 12px; }
.dmadv-login-view .dm-login-remember { margin: 0; color: var(--dm-ink-soft); font-size: 13px; font-weight: 600; }
.dmadv-login-view button.dmadv-login-link { display: inline; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; color: var(--dm-brand); font-size: 13px; font-weight: 800; text-decoration: none; }
.dmadv-login-view button.dmadv-login-link:hover, .dmadv-login-view button.dmadv-login-link:focus { background: none; color: var(--dm-brand-hover); box-shadow: none; }
.dmadv-login-view > button.dmadv-login-link { display: block; margin: 14px auto 0; }
.dmadv-login-view .dmadv-login-message { min-height: 18px; margin-top: 8px; font-size: 13px; }
.dmadv-login-view button.dmadv-login-submit { height: 46px; margin-top: 18px; padding: 0 18px; border-radius: var(--dm-r-md); background: var(--dm-brand); box-shadow: none; color: #fff; font-size: 14px; font-weight: 800; }
.dmadv-login-view button.dmadv-login-submit:hover, .dmadv-login-view button.dmadv-login-submit:focus { background: var(--dm-brand-hover); color: #fff; box-shadow: none; }
.dmadv-login-view button.dmadv-login-submit:disabled { background: #f5b6d7; }
.dmadv-login-or { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; color: var(--dm-ink-faint); font-size: 12px; }
.dmadv-login-or::before, .dmadv-login-or::after { content: ""; flex: 1; height: 1px; background: var(--dm-line); }
.dmadv-login-dialog a.dmadv-login-alt { display: flex; align-items: center; justify-content: center; height: 46px; margin-top: 12px; border: 1px solid var(--dm-line-strong); border-radius: var(--dm-r-md); background: var(--dm-card); color: var(--dm-ink-2) !important; font-size: 14px; font-weight: 800; text-decoration: none; }
.dmadv-login-dialog a.dmadv-login-alt:hover, .dmadv-login-dialog a.dmadv-login-alt:focus { border-color: var(--dm-brand); color: var(--dm-brand) !important; }
.dmadv-login-view .dmadv-login-hint { margin: 14px 0 0; color: var(--dm-ink-faint); font-size: 12px; line-height: 1.5; text-align: center; }
.dmadv-login-view .dmadv-login-note { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding: 10px 14px; border-radius: var(--dm-r-md); background: var(--dm-muted-2); color: var(--dm-ink-soft); font-size: 13px; line-height: 1.45; }
.dmadv-login-note svg { flex: none; color: var(--dm-ink-faint); }
@media ( max-width: 1024px ) { .dmadv-login-overlay { background: rgba(20,22,28,.5); } }
@media ( max-width: 782px ) {
  .dmadv-login-overlay { align-items: flex-end; padding: 0; }
  .dmadv-login-dialog { max-width: 430px; max-height: 92vh; padding: 26px 20px calc(24px + env(safe-area-inset-bottom, 0px)); overflow: auto; border-radius: 24px 24px 0 0; box-shadow: none; }
  .dmadv-login-dialog::before { content: ""; position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 40px; height: 5px; border-radius: 99px; background: var(--dm-line-strong); }
  .dmadv-login-view h2 { font-size: 20px; }
  .dmadv-login-view input[type="text"], .dmadv-login-view input[type="password"], .dmadv-login-view input[type="email"] { height: 50px; border-radius: 14px; }
  .dmadv-login-view button.dmadv-login-submit { margin-top: 16px; }
  .dmadv-login-or { margin: 18px 0 12px; }
  .dmadv-login-dialog a.dmadv-login-alt { margin-top: 0; }
  .dmadv-login-view .dmadv-login-note { margin-top: 14px; padding: 10px 12px; }
}

/* ===== Design 2026 — Início mobile (passo 3.1n): a caixa de pesquisa e os mosaicos não passam a largura do ecrã (1fr = minmax(auto,1fr) alargava com as opções compridas dos selects) ===== */
@media ( max-width: 782px ) {
  .dm2027-home-search { grid-template-columns: minmax(0, 1fr); box-sizing: border-box; max-width: 100%; }
  .dm2027-home-search > * { min-width: 0; max-width: 100%; box-sizing: border-box; }
  .dm2027-home .dm2027-fi select, .dm2027-home .dm2027-fi input[type="text"] { width: 100%; min-width: 0; text-overflow: ellipsis; }
  .dm2027-home-quick { grid-template-columns: minmax(0, 1fr); }
  .dm2027-home .dm2027-qt { min-width: 0; box-sizing: border-box; }
  .dm2027-home .dm2027-qt > div, .dm2027-home .dm2027-qt b, .dm2027-home .dm2027-qt span:not(.dm2027-qt-ib) { min-width: 0; overflow-wrap: anywhere; }
}


/* ===== Design 2026 — Mobile (passo 3.1o): filhos do bloco "grupo" ocupam a largura toda. O layout constrained do WordPress põe margin:auto !important nos filhos; numa coluna flex isso faz o filho encolher/alargar ao tamanho do conteúdo (a página inicial e as Zonas ficavam mais largas que o ecrã) ===== */
@media ( max-width: 782px ) {
  .wp-block-group.dm2027-massagistas-archive > *, .wp-block-group.dm2027-mass-wrap > * { box-sizing: border-box; width: 100%; max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
}



/* ===== Design 2026 — Faixas horizontais no mobile (passo 3.18): capas maiores; vê-se 1/3 da 3.ª capa ===== */
/* 16px de margem + capa + 8px + capa + 8px + 1/3 de capa = largura do ecrã  =>  capa = (100vw - 32px) * 3 / 7 (máx. 240px em ecrãs largos) */
@media ( max-width: 782px ) {
  :root { --dm-strip-card: min( calc( ( 100vw - 32px ) * 3 / 7 ), 240px ); }
  .dm2027-home .dm2027-cards-grid > a,
  .dm2027-massagistas-archive .dm2027-cards-grid > a,
  .dm2027-cpage .dm2027-cards-grid > a { width: var( --dm-strip-card ); }
}


/* ===== Design 2026 — Anúncio mobile (passo 3.4j): sem o espaço acima da galeria. O Kadence dá ".single-content { margin: var(--global-md-spacing) 0 0 }" ao bloco de conteúdo, e a galeria (carrossel de ponta a ponta) ficava afastada da barra do topo ===== */
@media ( max-width: 782px ) {
  body.single-massagista .entry-content.single-content.dm2027-ms-page.dm2027-ad { margin-top: 0; }
}


/* ===== Design 2026 — Anúncio (passo 3.4k): a grelha do anúncio partilha o nome .dm2027-alay com a da página Anunciar (margin-top 44px/30px); aqui não leva margem ===== */
.dm2027-ad .dm2027-alay { margin-top: 0; }


/* ===== Design 2026 — Anúncio mobile (passo 3.4l): ícone de zoom só nas fotos horizontais do carrossel (aparecem cortadas em 3:4), para se perceber que há mais foto ao tocar ===== */
@media ( max-width: 782px ) {
  .dm2027-ad .dm2027-agal .dm2027-lightbox-thumb.dm2027-gallery-h { position: relative; }
  .dm2027-ad .dm2027-agal .dm2027-lightbox-thumb.dm2027-gallery-h::after { content: ""; position: absolute; top: 12px; right: 12px; z-index: 2; width: 34px; height: 34px; border-radius: 50%; background: rgba(0,0,0,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") center / 18px 18px no-repeat; box-shadow: 0 2px 8px rgba(0,0,0,.25); pointer-events: none; }
}


/* ===== Design 2026 — Cabeçalhos de secção (passo 3.19): menos espaço entre título e subtítulo ===== */
.dm2027-lh h2, .dm2027-home .dm2027-lh h2, .dm2027-massagistas-archive .dm2027-lh h2 { line-height: 1.15; margin: 0; }
.dm2027-lh p, .dm2027-home .dm2027-lh p, .dm2027-massagistas-archive .dm2027-lh p { line-height: 1.25; margin: 1px 0 0; }
.dm2027-spas-col .dm2027-ah h3 { line-height: 1.15; }
.dm2027-spas-col .dm2027-ah p { line-height: 1.25; margin: 1px 0 0; }

/* ===== Design 2026 — Coração dos cartões uniforme (passo 3.20): listagens, Favoritos e "Também pode gostar" ===== */
.dmadv-card-favorite,
.dmadv-fav-page .dmadv-favorites-item .dmadv-favorites-remove,
.dmadv-fav-page .dmadv-fav-like { top: 10px; right: 10px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--dm-brand); box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.dmadv-card-favorite svg,
.dmadv-fav-page .dmadv-favorites-remove .dmadv-favorites-icon,
.dmadv-fav-page .dmadv-fav-like svg { width: 17px; height: 17px; }
.dmadv-fav-page .dmadv-favorites-item .dmadv-favorites-remove:hover,
.dmadv-fav-page .dmadv-favorites-item .dmadv-favorites-remove:focus { background: #fff; color: var(--dm-brand); box-shadow: 0 2px 8px rgba(0,0,0,.18); }
@media ( max-width: 782px ) {
  .dmadv-card-favorite,
  .dmadv-fav-page .dmadv-favorites-item .dmadv-favorites-remove,
  .dmadv-fav-page .dmadv-fav-like { top: 8px; right: 8px; width: 28px; height: 28px; }
  .dmadv-card-favorite svg,
  .dmadv-fav-page .dmadv-favorites-remove .dmadv-favorites-icon,
  .dmadv-fav-page .dmadv-fav-like svg { width: 15px; height: 15px; }
}


/* ===== Design 2026 — Massagistas mobile (passo 3.21): mais espaço acima do primeiro cabeçalho de secção (Destaques) ===== */
@media ( max-width: 782px ) {
  /* qualquer início de secção (cabeçalho direto ou bloco que o contém): 20px acima e 12px abaixo do cabeçalho */
  .dm2027-massagistas-archive > .dm2027-lh, .dm2027-massagistas-archive > .dm2027-lh:not(:first-child) { margin-top: 20px; margin-bottom: 12px; }
  .dm2027-massagistas-archive > .dm2027-novidades-row,
  .dm2027-massagistas-archive > .dmadv-strip,
  .dm2027-massagistas-archive > .dmadv-available-now-featured,
  .dm2027-massagistas-archive > #dm2027-massagistas-listagem { margin-top: 20px; margin-bottom: 0; padding-top: 0; }
  .dm2027-massagistas-archive > .dmadv-strip > .dm2027-lh,
  .dm2027-massagistas-archive > #dm2027-massagistas-listagem > .dm2027-lh,
  .dm2027-massagistas-archive .dm2027-novidades-col > .dm2027-lh { margin-top: 0; margin-bottom: 12px; }
  /* Centros e Spas: 20px acima, como as outras seccoes (eram 30px; e se a coluna abre a linha, sem Novidades antes, nao soma por cima dos 20px da linha). */
  .dm2027-massagistas-archive .dm2027-spas-col { margin-top: 20px; }
  .dm2027-massagistas-archive .dm2027-novidades-row > .dm2027-spas-col:first-child { margin-top: 0; }
}


/* ===== Design 2026 — Disponível Agora mobile (passo 3.22): faixa igual às outras (capas do tamanho das restantes, não "story" de 92%) ===== */
@media ( max-width: 782px ) {
  .dm2027-massagistas-archive .dmadv-strip .dm2027-cards-grid { width: auto; margin: 0 -16px; padding: 2px 16px 6px; gap: 8px; scroll-padding-left: 16px; scroll-padding-right: 16px; }
  .dm2027-massagistas-archive .dmadv-strip .dm2027-cards-grid > a { flex: none; width: var( --dm-strip-card ); scroll-snap-align: start; }
  .dm2027-massagistas-archive .dmadv-strip .img-block { height: auto; min-height: 0; max-height: none; }
  .dm2027-massagistas-archive .dmadv-strip .img-block img { height: auto !important; aspect-ratio: 2 / 3; }
}

/* ===== Design 2026 — Sobre do anúncio (passo 3.23): texto colado com larguras fixas nunca passa da caixa ===== */
.dm2027-atext { overflow-wrap: anywhere; }
.dm2027-atext * { max-width: 100% !important; box-sizing: border-box; }
.dm2027-atext img, .dm2027-atext iframe, .dm2027-atext video { height: auto; }
.dm2027-atext table { display: block; overflow-x: auto; }

/* ===== Design 2026 — Anúncio (passo 3.24): Sobre sem palavras soltas no fim + Disponibilidade em linhas (dia à esquerda, horário à direita) como o protótipo ===== */
.dm2027-atext, .dm2027-atext p { text-wrap: pretty; }
.dm2027-hor { display: flex; flex-direction: column; }
.dm2027-hor > div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; line-height: 1.5; padding: 6px 0; }
.dm2027-hor > div > span { color: var(--dm-ink-soft); }
.dm2027-hor > div > b { font-weight: 800; color: var(--dm-ink); text-align: right; }
@media ( max-width: 782px ) {
  .dm2027-hor > div { padding: 7px 0; border-bottom: 1px solid var(--dm-line); }
  .dm2027-hor > div:last-child { border-bottom: 0; padding-bottom: 0; }
}

/* ===== Design 2026 — Painel na barra de cima mobile (passo 3.25): ícone Painel no lugar do coração ===== */
.dm-mobile-actions button.dm-mobile-action { border: 0; background: none; padding: 0; cursor: pointer; font: inherit; box-shadow: none; }
.dm-mobile-action.dm-mobile-panel { color: var(--dm-ink-faint); }
.dm-mobile-action.dm-mobile-panel:hover, .dm-mobile-action.dm-mobile-panel:focus, .dm-mobile-action.dm-mobile-panel.on { color: var(--dm-brand); background: none; }

/* ===== Design 2026 — Painel no menu desktop (passo 3.26): pílula do tamanho do texto, não esticada à altura do menu ===== */
@media ( min-width: 1025px ) {
  #masthead .dmadv-navbar-item { display: flex; align-items: center; }
  #masthead .dmadv-navbar-item .dmadv-login-trigger,
  #masthead .dmadv-navbar-item .dmadv-panel-link { align-self: center; height: auto; min-height: 0; margin: 0; }
  #masthead .dmadv-navbar-item .dmadv-logout-icon-link { align-self: center; margin-left: 10px; }
}

/* ===== Design 2026 — Painel no menu desktop (passo 3.26b): a regra dos links do menu (min-height 62px, padding .6em) ganhava; igualar a especificidade ===== */
@media ( min-width: 1025px ) {
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item.dmadv-navbar-item > a.dmadv-panel-link { min-height: 0; height: auto; align-self: center; padding: 7px 10px; }
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item.dmadv-navbar-item > a.dmadv-logout-icon-link { min-height: 0; height: auto; align-self: center; padding: 0; width: auto; }
}

/* ===== Design 2026 — Painel do anunciante, estrutura (passo 4.1): separadores desktop e barra inferior mobile ===== */
/* Desktop: separadores como no protótipo (13px, linha fina, ativo a rosa com 2px) */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs { gap: 22px; border-bottom: 1px solid var(--dm-line); margin-bottom: 0; align-items: center; }
  .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs a.dmadv-tab,
  .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs .dmadv-tab-dropdown { padding: 12px 2px; font-size: 13px; border-bottom: 2px solid transparent; margin-bottom: -1px; color: var(--dm-ink-2) !important; }
  .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs a.dmadv-tab-active,
  .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs .dmadv-tab-dropdown.dmadv-tab-active { color: var(--dm-brand) !important; font-weight: 700; border-bottom-color: var(--dm-brand); }
  .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs a.dmadv-tab-logout { border-left: 1px solid var(--dm-line); padding-left: 20px; }
}
/* Mobile: só uma barra inferior (a do painel); a do site fica escondida aqui, estava por cima e tapava-a */
@media ( max-width: 700px ) {
  body.dmadv-app-mode .dm-bottom-nav { display: none !important; }
  .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs { background: rgba(255,255,255,.92); box-shadow: none; border-top: 1px solid var(--dm-line); }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-tab,
  .dmadv-dashboard.dmadv-dashboard .dmadv-tab-dropdown { font-size: 11px; color: var(--dm-ink-faint) !important; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-tab-active,
  .dmadv-dashboard.dmadv-dashboard .dmadv-tab-dropdown.dmadv-tab-active { font-size: 11px; font-weight: 800; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-tab-active::before,
  .dmadv-dashboard.dmadv-dashboard .dmadv-tab-dropdown.dmadv-tab-active::before { top: -7px; width: 22px; border-radius: 0 0 3px 3px; }
}

/* ===== Design 2026 — Painel, Início da massagista (passo 4.2, desktop): cartão do anúncio, desempenho, serviços ativos em cartões, completude ===== */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; padding-top: 28px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview,
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-quality { width: auto; max-width: none; min-width: 0; flex: none; }

  /* cartão do anúncio: sem caixa, imagem + estado + datas + botão */
  .dmadv-dashboard.dmadv-dashboard .dmadv-preview-card { background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-state-ticker { border-radius: 999px; font-weight: 800; letter-spacing: .06em; font-size: 11px; padding: 4px 10px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-state-message { margin-top: 12px; border-radius: 10px; padding: 10px; text-align: center; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-state-note { font-size: 13px; font-weight: 800; margin: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-status-detail { background: none; border: 0; border-radius: 0; padding: 0; margin-top: 8px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-status-detail-row { padding: 10px 4px; border-bottom: 1px solid #eee3e9; font-size: 13px; color: var(--dm-ink-soft); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-status-detail-row:last-of-type { border-bottom: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-status-detail-divider { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-status-detail-label { font-size: 13px; color: var(--dm-ink-soft); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-status-detail-value { font-size: 13px; font-weight: 800; color: var(--dm-ink); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview a.dmadv-preview-cta-block { display: flex; width: 100%; min-height: 46px; justify-content: center; align-items: center; border-radius: 12px; font-size: 14px; font-weight: 800; margin-top: 6px; padding: 0 18px; }

  /* coluna da direita: sem caixa, secções com pequeno título rosa */
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-quality .dmadv-panel { padding: 0; border: 0; background: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-quality h3.dmadv-panel-title-lg { font-size: 20px; font-weight: 800; letter-spacing: -.005em; line-height: 1.2; margin: 0; }
  .dmadv-ad-stats h3.dmadv-panel-title-lg::before,
  .dmadv-services-inline-head h3.dmadv-panel-title-lg::before,
  .dmadv-quality-head h3.dmadv-panel-title-lg::before { display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }
  .dmadv-ad-stats h3.dmadv-panel-title-lg::before { content: "Anúncio"; }
  .dmadv-services-inline-head h3.dmadv-panel-title-lg::before { content: "Neste momento"; }
  .dmadv-quality-head h3.dmadv-panel-title-lg::before { content: "Perfil"; }
  .dmadv-services-inline, .dmadv-quality-complete { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--dm-line-strong); }
  .dmadv-services-inline-head, .dmadv-quality-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-services-inline-link, .dmadv-dashboard.dmadv-dashboard a.dmadv-stats-tab-link { font-size: 13px; font-weight: 800; color: var(--dm-brand); white-space: nowrap; }

  /* desempenho: pílulas + 4 mosaicos */
  .dmadv-stats-tabs-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
  .dmadv-dashboard.dmadv-dashboard button.dmadv-stats-tab { border: 0; border-radius: 99px; background: #f3f4f6; color: var(--dm-ink-soft); font-size: 13px; font-weight: 800; padding: 7px 14px; box-shadow: none; }
  .dmadv-dashboard.dmadv-dashboard button.dmadv-stats-tab-active { background: var(--dm-brand); color: #fff; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-grid:not([hidden]) { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 18px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-grid[hidden] { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-tile { background: #e8fbfa; border: 0; border-radius: 14px; padding: 20px 8px; text-align: center; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-value { display: block; font-size: 24px; font-weight: 800; color: #0e8f88; line-height: 1.1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-label { display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 12px; color: var(--dm-ink-soft); margin-top: 6px; }

  /* serviços ativos em cartões coloridos */
  .dmadv-svc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-top: 20px; }
  .dmadv-svc-card { background: var(--svc-bg, #f4f0ff); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
  .dmadv-svc-card-head { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 800; color: var(--svc-color, #8b5cf6); }
  .dmadv-svc-card-icon { width: 36px; height: 36px; border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; flex: none; }
  .dmadv-svc-card-icon svg { width: 20px; height: 20px; }
  .dmadv-dashboard.dmadv-dashboard p.dmadv-svc-card-state { margin: 0; font-size: 13px; font-weight: 800; color: var(--svc-color, #8b5cf6); }
  .dmadv-svc-card-bar { height: 8px; border-radius: 99px; background: rgba(255,255,255,.85); overflow: hidden; }
  .dmadv-svc-card-bar i { display: block; height: 100%; border-radius: 99px; background: var(--svc-color, #8b5cf6); }
  .dmadv-svc-card-meta { display: flex; justify-content: space-between; font-size: 12px; color: var(--dm-ink-soft); margin-top: -6px; }

  /* completude */
  .dmadv-quality-pct-badge { background: #fff0f7; color: var(--dm-brand); font-size: 12px; font-weight: 800; padding: 6px 12px; border-radius: 99px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-quality-complete p.dmadv-muted { font-size: 14px; margin-top: 10px; }
  .dmadv-quality-bar { height: 10px; border-radius: 99px; background: #f3f4f6; margin-top: 18px; }
  .dmadv-quality-bar-fill { border-radius: 99px; background: var(--dm-brand); }
  .dmadv-quality-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 20px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-quality-item { background: var(--dm-surface); border: 0; border-radius: 14px; padding: 16px; display: flex; align-items: center; gap: 14px; }
  .dmadv-quality-item-icon { width: 24px; height: 24px; flex: none; }
  .dmadv-quality-item:not(.dmadv-quality-item-done) .dmadv-quality-item-icon { border: 2px solid #cfd3da; background: transparent; border-radius: 50%; }
  .dmadv-quality-item-label { display: block; font-size: 14px; font-weight: 800; color: var(--dm-ink); }
  .dmadv-quality-item-status { font-size: 13px; font-weight: 700; color: #10a64a; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-quality-item-cta { font-size: 13px; font-weight: 700; color: var(--dm-brand); }
}

/* ===== Design 2026 — Painel, Início da massagista (passo 4.3, mobile): aviso, cartão do estado, desempenho, serviços ativos em cartões, botão ===== */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-alert-card { border-radius: 12px; padding: 10px 14px; font-size: 14px; line-height: 1.4; margin: 0 0 14px; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-alert-cta { font-size: 13px; font-weight: 800; color: var(--dm-brand); }

  /* cartão do estado: imagem à esquerda, mensagem e datas à direita, fundo verde suave quando online */
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row { border-radius: 18px; padding: 12px; gap: 14px; align-items: stretch; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row:has(.dmadv-state-message-online) { background: #eafbf0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row:has(.dmadv-state-message-a-expirar) { background: #fde9e4; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row:has(.dmadv-state-message-expirado) { background: #fdecec; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row:has(.dmadv-state-message-pendente) { background: var(--dm-warn-bg); }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row:has(.dmadv-state-message-inativo) { background: #f3f4f6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row:has(.dmadv-state-message-bloqueado) { background: #e7ecf3; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-media { border-radius: 14px; overflow: hidden; background: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info { padding: 0; justify-content: center; gap: 4px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-state-message { border-radius: 12px; padding: 11px 8px; text-align: center; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-state-note { font-size: 14px; font-weight: 800; margin: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info-label { font-size: 12px; color: var(--dm-ink-faint); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info-value { font-size: 14px; font-weight: 800; }

  /* secções: título à esquerda, 18px */
  .dmadv-dashboard.dmadv-dashboard h3.dmadv-mobile-section-title { font-size: 18px; font-weight: 800; text-align: left; margin: 0 0 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metrics-tiles { margin-top: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metrics-tiles button.dmadv-stats-tab { border: 0; border-radius: 99px; background: #fff; color: var(--dm-ink-soft); font-size: 13px; font-weight: 800; padding: 7px 14px; box-shadow: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metrics-tiles button.dmadv-stats-tab-active { background: var(--dm-brand); color: #fff; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metric-tile { background: #e8fbfa; border-radius: 14px; padding: 18px 8px; align-items: center; text-align: center; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metric-value { font-size: 24px; font-weight: 800; color: #0e8f88; line-height: 1.1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metric-label { font-size: 12px; color: var(--dm-ink-soft); justify-content: center; margin-top: 4px; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-profiles-see-all { font-size: 13px; font-weight: 800; color: var(--dm-brand); }

  /* serviços ativos: cartões coloridos em coluna */
  .dmadv-svc-grid { display: flex; flex-direction: column; gap: 10px; margin: 0 0 12px; }
  .dmadv-svc-card { background: var(--svc-bg, #f4f0ff); border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
  .dmadv-svc-card-head { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 800; color: var(--svc-color, #8b5cf6); }
  .dmadv-svc-card-icon { width: 34px; height: 34px; border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; flex: none; }
  .dmadv-svc-card-icon svg { width: 19px; height: 19px; }
  .dmadv-dashboard.dmadv-dashboard p.dmadv-svc-card-state { margin: 0; font-size: 13px; font-weight: 800; color: var(--svc-color, #8b5cf6); }
  .dmadv-svc-card-bar { height: 8px; border-radius: 99px; background: rgba(255,255,255,.85); overflow: hidden; }
  .dmadv-svc-card-bar i { display: block; height: 100%; border-radius: 99px; background: var(--svc-color, #8b5cf6); }
  .dmadv-svc-card-meta { display: flex; justify-content: space-between; font-size: 12px; color: var(--dm-ink-soft); margin-top: -4px; }

  /* completar anúncio + botão */
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-quality-card { border-radius: 18px; padding: 16px; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-quality-cta { font-size: 13px; font-weight: 800; color: var(--dm-brand); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-block a.dmadv-preview-cta-block { display: flex; justify-content: center; align-items: center; min-height: 50px; border-radius: 14px; font-size: 15px; font-weight: 800; }
}

/* ===== Design 2026 — Painel, revisão do Início vs protótipo (passo 4.4): espaço após os separadores, cartão com cor do estado, título 28px, itens em falta tracejados, % ao lado da barra ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-alert.dmadv-home-top-alert { margin: 20px 0 0; border-radius: 12px; padding: 10px 14px; font-size: 13px; line-height: 1.4; }
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card { border-radius: 18px; padding: 14px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card.dmadv-preview-card-online { background: #eafbf0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card.dmadv-preview-card-a-expirar { background: #fde9e4; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card.dmadv-preview-card-expirado { background: #fdecec; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card.dmadv-preview-card-pendente { background: var(--dm-warn-bg); }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card.dmadv-preview-card-inativo { background: #f3f4f6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card.dmadv-preview-card-bloqueado { background: #e7ecf3; }
  /* 'expirado' passou a ter cor propria (vermelho claro) mais acima -- so' 'bloqueado' fica cinza aqui. */
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card.dmadv-preview-card-bloqueado { background: #e7ecf3; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card-online .dmadv-status-detail-row { border-bottom-color: #cdeeda; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card-a-expirar .dmadv-status-detail-row { border-bottom-color: #f5e2bf; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card-expirado .dmadv-status-detail-row { border-bottom-color: #f6d9d9; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card-bloqueado .dmadv-status-detail-row { border-bottom-color: #d3dcea; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-quality .dmadv-ad-stats h3.dmadv-panel-title-lg { font-size: 28px; line-height: 1.2; letter-spacing: -.01em; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-quality-item:not(.dmadv-quality-item-done) { background: #fff; border: 1px dashed #d5d9e0; }
}
.dmadv-quality-prog { display: flex; align-items: center; gap: 16px; margin-top: 18px; }
.dmadv-quality-prog .dmadv-quality-bar { flex: 1; margin-top: 0; }
.dmadv-dashboard.dmadv-dashboard b.dmadv-quality-prog-pct { font-size: 13px; font-weight: 800; color: var(--dm-brand); }

/* passo 4.4b: mais espaço entre "Desempenho do anúncio" e as pílulas */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-quality .dmadv-ad-stats .dmadv-stats-tabs-row { margin-top: 22px; }
}

/* ===== Design 2026 — Painel, Início (passo 4.5): cartão do anúncio fica fixo ao fazer scroll (desktop) ===== */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview { position: sticky; top: 88px; align-self: start; } /* 63px do cabeçalho fixo do site + 25px de folga */
}

/* ===== Design 2026 — Cabeçalho desktop (passo 3.27): altura 62px como o protótipo (o min-height de 62px somava o padding dos links: 79px) ===== */
@media ( min-width: 1025px ) {
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a { box-sizing: border-box; }
}

/* ===== Design 2026 — Painel, cartão "Disponível Agora" (passo 4.6): ícone = círculo verde com visto, do tamanho da caixa ===== */
.dmadv-svc-card-icon .dmadv-available-now-icon { width: 24px; height: 24px; margin: 0; }
.dmadv-svc-card-icon .dmadv-available-now-icon svg { width: 13px; height: 13px; }

/* ===== Design 2026 — Painel, "Complete o anúncio" (passo 4.7): visto como o protótipo (✓ a negrito num círculo de 24px) e linhas mais juntas ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-item-done .dmadv-quality-item-icon { width: 24px; height: 24px; background: #10a64a; color: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-item-done .dmadv-quality-item-icon svg { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-item-done .dmadv-quality-item-icon::after { content: "\2713"; font-family: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 13px; font-weight: 800; line-height: 1; color: #fff; } /* mesma pilha de fontes do protótipo, para o ✓ sair da mesma fonte */
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-item-body { gap: 3px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-item-label,
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-item-status,
.dmadv-dashboard.dmadv-dashboard a.dmadv-quality-item-cta { line-height: 1.3; word-spacing: normal; letter-spacing: normal; }

/* ===== Design 2026 — Painel mobile (passo 4.8): margem lateral do conteúdo = 16px como o protótipo (eram 32px: 24px do container + 8px) ===== */
@media ( max-width: 700px ) {
  .entry-content-wrap:has(.dmadv-dashboard) { padding-left: 8px; padding-right: 8px; }
}

/* ===== Design 2026 — Painel mobile (passo 4.9): menos espaço em cima e no fim (eram 32px em cima; ~190px no fim, a barra inferior tem 68px) ===== */
@media ( max-width: 700px ) {
  body.dmadv-app-mode { padding-bottom: 0; }
  body.dmadv-app-mode .content-area { margin-top: 0; margin-bottom: 0; }
  body.dmadv-app-mode .entry-content-wrap:has(.dmadv-dashboard) { padding-bottom: 0; }
  body.dmadv-app-mode .dmadv-dashboard.dmadv-dashboard { padding-bottom: calc( 68px + 20px + env( safe-area-inset-bottom ) ); }
}

/* passo 4.9b: nas páginas com o bloco de atalhos Premium por baixo do painel, o espaço para a barra inferior fica no fim desse bloco (não no meio) */
@media ( max-width: 700px ) {
  body.dmadv-app-mode .site-main:has(.dmadv-premium-shortcuts-block) .dmadv-dashboard.dmadv-dashboard { padding-bottom: 0; }
  body.dmadv-app-mode .dmadv-premium-shortcuts-block { padding-bottom: calc( 68px + 20px + env( safe-area-inset-bottom ) ); }
}

/* ===== Design 2026 — Painel, Início mobile vs protótipo (passo 4.10): cartão do estado, pílulas segmentadas, cabeçalho de serviços com link, lista completa de completude ===== */
@media ( max-width: 700px ) {
  /* cartão do estado: imagem 132px, datas sem ícones nem linhas */
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-media { flex: 0 0 132px; width: 132px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info-row { border: 0; padding: 6px 0 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info-label svg { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info-label { margin: 0; }

  /* títulos diretos sem margem extra (o espaçamento vem do gap do bloco) */
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-block > h3.dmadv-mobile-section-title { margin: 0; }

  /* pílulas de período: controlo segmentado branco */
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metrics-tiles .dmadv-stats-tabs { display: flex; gap: 0; background: #fff; border-radius: 16px; padding: 4px; margin-bottom: 10px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metrics-tiles button.dmadv-stats-tab { flex: 1; background: transparent; border-radius: 12px; padding: 10px 0; text-align: center; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metrics-tiles button.dmadv-stats-tab-active { background: var(--dm-brand); color: #fff; }

  /* serviços ativos: título à esquerda e "Ver mais" à direita */
  .dmadv-mobile-sechd { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-sechd h3.dmadv-mobile-section-title { margin: 0; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-sechd-link { font-size: 13px; font-weight: 800; color: var(--dm-brand); white-space: nowrap; }

  /* completude: cartão branco com barra e lista completa */
  .dmadv-mq-card { background: #fff; border-radius: 18px; padding: 6px 16px 8px; }
  .dmadv-mq-card .dmadv-quality-prog { margin: 12px 0 4px; gap: 10px; }
  .dmadv-mq-card .dmadv-quality-bar { height: 8px; border-radius: 99px; background: var(--dm-line); }
  .dmadv-mq-row { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--dm-line); }
  .dmadv-mq-c { width: 24px; height: 24px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; border: 2px solid #cfd3da; font-family: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 13px; font-weight: 800; line-height: 1; }
  .dmadv-mq-done .dmadv-mq-c { background: #10a64a; border-color: #10a64a; color: #fff; }
  .dmadv-mq-row b { display: block; font-size: 14px; font-weight: 800; color: var(--dm-ink); line-height: 1.3; }
  .dmadv-mq-row span:not(.dmadv-mq-c) { font-size: 13px; font-weight: 700; color: #10a64a; line-height: 1.3; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-mq-row a { font-size: 13px; font-weight: 700; color: var(--dm-brand); line-height: 1.3; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mq-link { display: block; text-align: center; padding: 12px 0 4px; font-size: 13px; font-weight: 800; color: var(--dm-brand); }
}

/* passo 4.11: mosaicos de estatísticas do Início mobile com fundo branco */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metric-tile { background: #fff; box-shadow: 0 1px 2px rgba(20,30,50,.04); }
}

/* passo 4.11b: mosaicos de estatísticas do Início desktop com fundo branco e contorno fino (ficam sobre o cartão branco) */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-tile { background: #fff; border: 1px solid var(--dm-line); box-shadow: 0 1px 2px rgba(20,30,50,.04); }
}

/* passo 4.11c: mosaicos de estatísticas -- desktop cinzento clarinho sem contorno; texto (número e rótulo) a preto em desktop e mobile */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-tile { background: #f3f4f6; border: 0; box-shadow: none; }
}
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-value,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metric-value,
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-label,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-metric-label { color: var(--dm-ink); }

/* ===== Design 2026 — Painel, Editar anúncio (passo 4.12): cabeçalho, notas, cartões "gerido pelo site" e editáveis, linhas, etiquetas e estados vazios ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor { padding: 0; border: 0; background: none; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-header { align-items: flex-start; gap: 16px; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-header h2::before { content: "O seu anúncio"; display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-header h2 { font-size: 28px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-header p.dmadv-muted { font-size: 14px; margin: 10px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-header a.dmadv-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px; border-radius: 12px; font-size: 14px; font-weight: 800; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-alert.dmadv-listing-admin-note { background: #f3f4f6; color: var(--dm-ink-soft); font-size: 13px; line-height: 1.6; border-radius: 12px; padding: 14px 18px; margin: 22px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-alert.dmadv-listing-editable-note { background: #fff0f7; color: var(--dm-brand); font-size: 13px; font-weight: 700; line-height: 1.6; border-radius: 12px; padding: 14px 18px; margin: 22px 0 0; }

/* linhas etiqueta/valor, etiquetas cor-de-rosa, estados vazios tracejados */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-schedule-summary-row { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; border-bottom: 1px solid var(--dm-line); font-size: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-schedule-summary-row:last-child { border-bottom: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-schedule-summary-row strong { font-weight: 400; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-schedule-summary-row span { font-weight: 700; color: var(--dm-ink); text-align: right; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-tag { background: #fff0f7; color: var(--dm-brand); font-size: 13px; font-weight: 800; padding: 7px 12px; border-radius: 99px; border: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-readonly-text { margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-readonly-text > .dmadv-muted:only-child,
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-tag-list > .dmadv-muted:only-child { display: flex; align-items: center; justify-content: center; flex: 1 1 100%; border: 1.5px dashed var(--dm-line-strong); border-radius: 12px; padding: 16px; text-align: center; font-size: 13px; color: var(--dm-ink-faint); }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-head h3 { font-size: 16px; font-weight: 800; color: var(--dm-ink); margin: 0; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-card-edit { background: none; border: 0; box-shadow: none; padding: 0; color: var(--dm-brand); font-size: 13px; font-weight: 800; cursor: pointer; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-card:not(.dmadv-listing-card-locked) { border: 0; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-tag-picker-zone-label,
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked h3.dmadv-listing-card-subsection-title { display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-ink-faint); margin: 0 0 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-state-pill.dmadv-state-online { background: #10a64a; color: #fff; font-size: 11px; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-pill { display: inline-block; background: #b4b8c1; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 0.3px; padding: 4px 10px; border-radius: 999px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-pill.dmadv-plan-pill-premium { background: #d7b94b; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat th.dmadv-col-estado, .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat td.dmadv-col-estado, .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat th.dmadv-col-plano, .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat td.dmadv-col-plano { text-align: center; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat thead th { text-align: center; }
.dmadv-dashboard.dmadv-dashboard .dmadv-table-heading-title .dmadv-count-badge { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-left: 2px; border-radius: 50%; background: var(--dm-brand); color: #fff; font-size: 16px; font-weight: 800; vertical-align: 2px; }

@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-header { padding-top: 28px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 22px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin { grid-template-columns: 1fr 1fr; gap: 24px 40px; margin-top: 26px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card:first-child { grid-column: 1 / -1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked { background: none; border: 0; padding: 0; box-shadow: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card:not(.dmadv-listing-card-locked) { background: var(--dm-surface); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 14px; min-height: 150px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-full { grid-column: 1 / -1; min-height: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-thumb { width: 100%; aspect-ratio: 2 / 3; height: auto; object-fit: cover; border-radius: 10px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-readonly-text { font-size: 16px; line-height: 1.6; color: var(--dm-ink); }
}
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-header { display: block; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-header h2 { font-size: 24px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-header a.dmadv-button { display: flex; width: 100%; margin-top: 14px; min-height: 50px; border-radius: 14px; font-size: 15px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card { background: #fff; border-radius: 18px; padding: 16px; display: block; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-head { margin-bottom: 8px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-head h3 { font-size: 15px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-schedule-summary-row { padding: 11px 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 8px -16px 0; padding: 2px 16px 6px; scrollbar-width: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-thumb { flex: none; width: 96px; height: 144px; object-fit: cover; border-radius: 10px; scroll-snap-align: start; }
}

/* passo 4.12b: listas de etiquetas vazias -> caixa tracejada com o texto do protótipo (por posição do cartão no formulário) */
.dmadv-dashboard.dmadv-dashboard form .dmadv-listing-tag-list:not(:has(*))::after { display: flex; align-items: center; justify-content: center; flex: 1 1 100%; border: 1.5px dashed var(--dm-line-strong); border-radius: 12px; padding: 16px; text-align: center; font-size: 13px; color: var(--dm-ink-faint); content: "Ainda sem itens"; }
.dmadv-dashboard.dmadv-dashboard form .dmadv-listing-cards-grid > .dmadv-listing-card:nth-child(2) .dmadv-listing-tag-list:not(:has(*))::after { content: "Ainda sem idiomas"; }
.dmadv-dashboard.dmadv-dashboard form .dmadv-listing-cards-grid > .dmadv-listing-card:nth-child(3) .dmadv-listing-tag-list:not(:has(*))::after { content: "Ainda sem equipamentos"; }
.dmadv-dashboard.dmadv-dashboard form .dmadv-listing-cards-grid > .dmadv-listing-card:nth-child(5) .dmadv-listing-tag-list:not(:has(*))::after { content: "Indique a quem atende"; }
.dmadv-dashboard.dmadv-dashboard form .dmadv-listing-cards-grid > .dmadv-listing-card:nth-child(7) .dmadv-listing-tag-list:not(:has(*))::after { content: "Ainda sem serviços de massagem"; }

/* passo 4.12c: bloco "Gerido pelo site" sem caixa/padding próprios; galeria mobile numa só fila com scroll */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid.dmadv-listing-cards-grid-admin { padding: 0; border: 0; background: none; box-shadow: none; border-radius: 0; }
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview { flex-wrap: nowrap; }
}

/* ===== Design 2026 — Painel, Serviços ativos vazio mobile (passo 4.13, opção B): cartão branco com 4 sugestões coloridas ===== */
@media ( max-width: 700px ) {
  .dmadv-mobile-empty-card { background: none; border-radius: 0; padding: 0; }
  .dmadv-dashboard.dmadv-dashboard p.dmadv-mobile-empty-lede { margin: 0 0 12px; font-size: 14px; color: var(--dm-ink-soft); }
  .dmadv-mobile-empty-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-empty-opt { display: flex; align-items: center; gap: 8px; background: var(--opt-bg); color: var(--opt-color); border-radius: 12px; padding: 10px 12px; font-size: 13px; font-weight: 800; line-height: 1.2; text-decoration: none; }
  .dmadv-mobile-empty-opt-icon { width: 28px; height: 28px; border-radius: 8px; background: #fff; display: flex; align-items: center; justify-content: center; flex: none; }
  .dmadv-mobile-empty-opt-icon svg { width: 16px; height: 16px; }
}

/* ===== Design 2026 — Painel, cor dos links de texto (passo 4.14): rosa só nos botões cheios, no separador ativo e nas ações por concluir; links de navegação em preto ===== */
.dmadv-dashboard.dmadv-dashboard a.dmadv-stats-tab-link,
.dmadv-dashboard.dmadv-dashboard a.dmadv-services-inline-link,
.dmadv-dashboard.dmadv-dashboard button.dmadv-card-edit,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-profiles-see-all,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-sechd-link,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mq-link,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-alert-cta { color: var(--dm-ink) !important; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-stats-tab-link:hover,
.dmadv-dashboard.dmadv-dashboard a.dmadv-services-inline-link:hover,
.dmadv-dashboard.dmadv-dashboard button.dmadv-card-edit:hover,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-profiles-see-all:hover,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-sechd-link:hover,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mq-link:hover,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-alert-cta:hover { color: var(--dm-ink) !important; text-decoration: underline; }

/* passo 4.13b: o dm-core põe ".content-wrap a { color: rosa !important }"; as sugestões coloridas têm de ganhar com !important para o nome ficar na cor do serviço */
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-empty-opt,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-empty-opt:hover { color: var(--opt-color) !important; }

/* ===== Design 2026 — Painel, links "Ver ..." em pílula (passo 4.15) ===== */
.dmadv-dashboard.dmadv-dashboard a.dmadv-stats-tab-link,
.dmadv-dashboard.dmadv-dashboard a.dmadv-services-inline-link,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-profiles-see-all,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-sechd-link { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 8px 14px; border-radius: 99px; background: #f3f4f6; font-size: 13px; font-weight: 800; line-height: 1.2; white-space: nowrap; text-decoration: none; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-stats-tab-link:hover,
.dmadv-dashboard.dmadv-dashboard a.dmadv-services-inline-link:hover,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-profiles-see-all:hover,
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-sechd-link:hover { background: var(--dm-line); text-decoration: none; }
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-profiles-see-all,
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-sechd-link { background: #fff; box-shadow: 0 1px 2px rgba(20,30,50,.04); }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-profiles-see-all:hover,
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-sechd-link:hover { background: #fff; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-profiles-see-all { display: flex; justify-content: center; margin: 0 auto; }
  .dmadv-mobile-sechd { align-items: center; }
}


/* passo 4.15b: "Ver todos" do estado vazio, por baixo das sugestões */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-empty-all { margin: 14px auto 0; }
}


/* passo 4.16: mais espaço acima das secções "Serviços ativos" e "Complete o anúncio" no Início mobile (16px do bloco + 16px = 32px) */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-premium-card,
  .dmadv-dashboard.dmadv-dashboard .dmadv-mq { margin-top: 16px; }
}

/* passo 4.17: "58% completo" repetia a % da barra -- fica só a % ao lado da barra */
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-pct-badge { display: none; }

/* ===== Design 2026 — Painel, Serviços Premium (passo 4.18, 1.ª passagem só CSS): cabeçalho, resumo, plano, cartões por serviço, botões de duração, histórico ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel { padding: 0; border: 0; background: none; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > h2 { font-size: 28px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > h2::before { content: "O seu anúncio"; display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > p.dmadv-muted { font-size: 14px; line-height: 1.5; margin: 10px 0 0; }

/* resumo: três indicadores lado a lado, rótulo por cima do valor */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 28px; border-top: 1px solid var(--dm-line-strong); border-bottom: 1px solid var(--dm-line-strong); }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile { display: flex; flex-direction: column-reverse; gap: 4px; background: none; border: 0; border-radius: 0; text-align: left; padding: 22px; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile + .dmadv-stat-tile { border-left: 1px solid var(--dm-line); }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-value { font-size: 24px; font-weight: 800; color: var(--dm-ink); line-height: 1.15; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-label { display: block; margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-ink-faint); }

/* blocos: plano (caixa dourada) e serviços ativos */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block { margin-top: 28px; border: 1px solid #ecdfa8; background: #fdf9ec; border-radius: 18px; padding: 22px 24px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services-label { display: block; font-size: 15px; font-weight: 500; color: var(--dm-ink-soft); margin: 0 0 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services-label strong { color: var(--dm-ink); font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services:not(.dmadv-plan-block) { margin-top: 32px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services:not(.dmadv-plan-block) > .dmadv-active-services-label { font-size: 20px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel h3.dmadv-panel-title-lg { font-size: 20px; font-weight: 800; letter-spacing: -.005em; margin: 32px 0 0; }

/* cartões de serviço */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-top: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card { background: var(--dm-surface); border: 0; border-radius: 16px; padding: 20px; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-product-card { background: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card h4 { font-size: 16px; font-weight: 800; color: var(--dm-ink); margin: 0 0 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card p.dmadv-muted { font-size: 13px; line-height: 1.5; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-available { background: #eefaf2; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-available h4 { color: #10a64a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-city_top { background: #eef0fd; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-city_top h4 { color: #5854c9; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-boost { background: #fef3e9; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-boost h4 { color: #c1650a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-pack { background: linear-gradient(90deg, #eef0fd, #fef3e9); }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-featured_toast,
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-toast { background: #f4f0ff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-featured_toast h4,
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-toast h4 { color: #8b5cf6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-verified { background: #eef9ff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-verified h4 { color: #0089b8; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-stats_premium { background: #e8fbfa; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-stats_premium h4 { color: #0e8f88; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-featured_list { background: #fff0f7; }
.dmadv-dashboard.dmadv-dashboard .dmadv-product-card-featured_list h4 { color: #ff3c9f; }

/* botões de duração/preço: brancos, redondos; rosa ao passar o rato */
.dmadv-dashboard.dmadv-dashboard .dmadv-product-duration-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-product-buy:not(.dmadv-product-buy-gold) { background: #fff !important; color: var(--dm-ink) !important; border: 0; border-radius: 12px; padding: 10px 14px; font-size: 13px; font-weight: 800; box-shadow: 0 1px 2px rgba(20,30,50,.06); margin: 0; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-product-buy:not(.dmadv-product-buy-gold):hover { background: var(--dm-brand) !important; color: #fff !important; }

/* histórico */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-orders-table { font-size: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-orders-table th { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-ink-faint); background: transparent; border-bottom: 1px solid var(--dm-line-strong); padding: 0 0 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-orders-table td { padding: 14px 0; border-bottom: 1px solid var(--dm-line); }

@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel { padding-top: 28px; }
}
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > h2 { font-size: 24px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid { grid-template-columns: 1fr; margin-top: 22px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile { padding: 16px 4px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile + .dmadv-stat-tile { border-left: 0; border-top: 1px solid var(--dm-line); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block { padding: 16px; border-radius: 18px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-products-grid { grid-template-columns: 1fr; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card { border-radius: 18px; padding: 16px; }
}


/* passo 4.18b: cores por serviço com especificidade suficiente + botões dentro da caixa do plano */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-available { background: #eefaf2; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-available h4 { color: #10a64a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-city_top { background: #eef0fd; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-city_top h4 { color: #5854c9; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-boost { background: #fef3e9; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-boost h4 { color: #c1650a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-featured_toast { background: #f4f0ff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-featured_toast h4 { color: #8b5cf6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-toast { background: #f4f0ff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-toast h4 { color: #8b5cf6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-verified { background: #eef9ff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-verified h4 { color: #0089b8; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-stats_premium { background: #e8fbfa; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-stats_premium h4 { color: #0e8f88; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-featured_list { background: #fff0f7; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-featured_list h4 { color: #ff3c9f; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-product-card.dmadv-product-card-pack { background: linear-gradient(90deg, #eef0fd, #fef3e9); }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block button.dmadv-product-buy:not(.dmadv-product-buy-gold) { background: #f3f4f6 !important; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block button.dmadv-product-buy:not(.dmadv-product-buy-gold):hover { background: var(--dm-brand) !important; color: #fff !important; }


/* ===== Design 2026 — Painel, Editar anúncio: janelas de edição e "Bloqueado" (passo 4.19) ===== */
.dmadv-modal { background: rgba(20, 22, 30, .5); }
.dmadv-dashboard .dmadv-modal-dialog,
.dmadv-modal .dmadv-modal-dialog { border-radius: 24px; padding: 28px; box-shadow: 0 20px 60px rgba(20, 22, 30, .28); }
.dmadv-modal .dmadv-modal-dialog h2 { font-size: 20px; font-weight: 800; letter-spacing: -.005em; color: var(--dm-ink); margin: 0; padding-right: 44px; }
.dmadv-modal .dmadv-modal-dialog > p.dmadv-muted { font-size: 14px; margin: 6px 0 0; }
.dmadv-modal button.dmadv-modal-close { width: 36px; height: 36px; border-radius: 50%; background: #f3f4f6; color: var(--dm-ink); border: 0; box-shadow: none; display: flex; align-items: center; justify-content: center; font-size: 22px; line-height: 1; padding: 0; }
.dmadv-modal button.dmadv-modal-close:hover { background: var(--dm-line); }
.dmadv-modal label { font-size: 13px; font-weight: 800; color: var(--dm-ink); }
.dmadv-modal input[type="text"], .dmadv-modal input[type="tel"], .dmadv-modal input[type="email"], .dmadv-modal input[type="number"], .dmadv-modal select { display: block; padding: 0 14px; background: #fff; font-size: 15px; }
.dmadv-modal input:focus, .dmadv-modal select:focus { border-color: var(--dm-brand); outline: 0; box-shadow: 0 0 0 3px #fff0f7; }
.dmadv-modal .dmadv-modal-actions { gap: 10px; padding-top: 16px; }
.dmadv-modal .dmadv-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border-radius: 12px; font-size: 14px; font-weight: 800; margin: 0; }
.dmadv-modal .dmadv-button.dmadv-button-cancel { background: #f3f4f6; color: var(--dm-ink) !important; }
.dmadv-modal .dmadv-button.dmadv-button-cancel:hover { background: var(--dm-line); }

/* escolha de etiquetas (tipos de massagem, idiomas, equipamentos...) */
.dmadv-modal .dmadv-tag-picker-available-panel { border: 0; background: var(--dm-surface); border-radius: 16px; padding: 16px; }
.dmadv-modal .dmadv-tag-picker-zone-label { font-size: 11px; font-weight: 800; letter-spacing: .12em; color: var(--dm-ink-faint); }
.dmadv-modal .dmadv-tag-picker-tag { background: #fff; color: var(--dm-ink); border-radius: 99px; padding: 7px 14px; font-size: 13px; font-weight: 800; }
.dmadv-modal .dmadv-tag-picker-tag-selected, #dmadv-modal-massagem .dmadv-tag-picker-tag-selected { background: var(--dm-brand); color: #fff; border-radius: 99px; padding: 7px 14px; font-size: 13px; font-weight: 800; }
.dmadv-modal .dmadv-wizard-progress { height: 6px; border-radius: 99px; background: #f3f4f6; }

/* selo "Bloqueado" das secções geridas pelo site */
.dmadv-locked-badge { color: var(--dm-ink-faint); }
.dmadv-locked-badge::after { content: "Bloqueado"; margin-left: 6px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

@media ( max-width: 700px ) {
  .dmadv-modal .dmadv-modal-dialog { padding: 20px; border-radius: 20px; max-width: calc(100vw - 24px); }
  .dmadv-modal .dmadv-modal-actions { flex-direction: column-reverse; }
  .dmadv-modal .dmadv-modal-actions .dmadv-button { width: 100%; }
}

/* ===== Design 2026 — Painel, Serviços Premium: "O seu plano" como o protótipo (passo 4.20): saldo em 3 grupos, estados, janela de confirmação, mensagens ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block.dmadv-pl { border: 0; background: none; padding: 0; margin-top: 32px; }
.dmadv-pl-kicker { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }
.dmadv-dashboard.dmadv-dashboard h3.dmadv-pl-title { margin: 0; font-size: 20px; font-weight: 800; letter-spacing: -.005em; }
.dmadv-pl-box { margin-top: 24px; border: 1px solid #ecdfa8; background: #fdf9ec; border-radius: 18px; padding: 22px 24px; --pl-accent: #ab8b2e; }
.dmadv-pl-box-base { border-color: #a8e2ff; background: #eef9ff; --pl-accent: #0089b8; }
.dmadv-pl-top { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.dmadv-pl-crown { width: 44px; height: 44px; border-radius: 12px; background: #fff; display: flex; align-items: center; justify-content: center; flex: none; color: var(--pl-accent); }
.dmadv-pl-nm { display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--pl-accent); }
.dmadv-pl-top b { display: block; font-size: 20px; font-weight: 800; color: var(--dm-ink); line-height: 1.2; }
.dmadv-pl-val { margin-left: auto; text-align: right; font-size: 13px; color: var(--dm-ink-soft); line-height: 1.5; }
.dmadv-pl-val b { display: inline; font-size: 14px; }
.dmadv-pl-val em { font-style: normal; font-weight: 800; color: #c1650a; }
.dmadv-pl-sub { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--dm-ink-faint); margin: 22px 0 10px; }
.dmadv-pl-sub b { color: var(--dm-brand); }
.dmadv-pl-none { margin: 16px 0 0; }
.dmadv-pl-bal { background: #fff; border-radius: 14px; padding: 4px 18px; }
.dmadv-pl-grp { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-ink-faint); padding: 16px 0 2px; }
.dmadv-pl-grp:first-child { padding-top: 12px; }
.dmadv-pl-row { display: grid; grid-template-columns: 36px 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--dm-line); }
.dmadv-pl-row:last-child { border-bottom: 0; }
.dmadv-pl-row-todo { background: #fff0f7; border: 1px solid #ffd0e8; border-radius: 12px; padding: 14px; margin: 6px -6px 4px; }
.dmadv-pl-row-lost { opacity: .55; }
.dmadv-pl-ib { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex: none; }
.dmadv-pl-ib svg { width: 20px; height: 20px; }
.dmadv-pl-ib-sm { display: inline-flex; width: 32px; height: 32px; margin-right: 10px; vertical-align: middle; }
.dmadv-pl-t { font-size: 15px; font-weight: 800; color: var(--dm-ink); }
.dmadv-pl-t span { font-weight: 600; color: var(--dm-ink-soft); margin-left: 6px; }
.dmadv-pl-s { font-size: 12px; color: var(--dm-ink-faint); margin-top: 2px; line-height: 1.45; }
.dmadv-pl-st { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; padding: 5px 11px; border-radius: 99px; white-space: nowrap; }
.dmadv-pl-ok { background: #eafbf0; color: #10a64a; }
.dmadv-pl-wait { background: #fff4e5; color: #8a5a00; }
.dmadv-pl-auto { background: #eef9ff; color: #0089b8; }
.dmadv-pl-lost { background: #f3f4f6; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard button.dmadv-pl-go { min-height: 38px; padding: 0 16px; border-radius: 12px; font-size: 13px; font-weight: 800; margin: 0; }

/* mensagens de resultado */
.dmadv-pl-msg { display: flex; gap: 10px; align-items: flex-start; border-radius: 12px; padding: 12px 14px; margin-top: 16px; font-size: 13px; line-height: 1.5; border: 1px solid; }
.dmadv-pl-msg b { display: block; font-size: 14px; }
.dmadv-pl-msg i { font-style: normal; flex: none; width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; color: #fff; margin-top: 1px; }
.dmadv-pl-msg-ok { background: #eafbf0; border-color: #bfe9cf; color: #10a64a; }
.dmadv-pl-msg-ok i { background: #10a64a; }
.dmadv-pl-msg-part { background: #fff4e5; border-color: #f3d9a8; color: #8a5a00; }
.dmadv-pl-msg-part i { background: #c1650a; }
.dmadv-pl-msg-err { background: #fdecec; border-color: #eab8b8; color: #96201f; }
.dmadv-pl-msg-err i { background: #96201f; }

/* renovação do plano, por baixo do saldo */
.dmadv-pl-renew { margin-top: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-renew .dmadv-product-card { background: var(--dm-surface); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-renew button.dmadv-product-buy:not(.dmadv-product-buy-gold) { background: #fff !important; box-shadow: 0 1px 2px rgba(20,30,50,.06); }

@media ( max-width: 700px ) {
  .dmadv-pl-box { padding: 16px; }
  .dmadv-pl-val { margin-left: 0; text-align: left; flex-basis: 100%; }
  .dmadv-pl-bal { padding: 4px 14px; }
  .dmadv-pl-row { grid-template-columns: 36px 1fr; }
  .dmadv-pl-act { grid-column: 2; justify-self: start; }
  .dmadv-pl-row-todo { margin: 6px -4px 4px; padding: 12px; }
}

/* ===== Design 2026 — Painel, Editar anúncio vs protótipo (passo 4.21): cabeçalhos de secção, "Gerido pelo site" em grelha, estados vazios altos ===== */
.dmadv-ed-sec { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-top: 48px; padding-top: 44px; border-top: 1px solid var(--dm-line-strong); }
.dmadv-ed-kicker { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }
.dmadv-dashboard.dmadv-dashboard h2.dmadv-ed-h2 { font-size: 20px; font-weight: 800; letter-spacing: -.005em; line-height: 1.3; margin: 0; }
.dmadv-ed-lock { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--dm-ink-faint); white-space: nowrap; padding-top: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin .dmadv-locked-badge { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-head h3 { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-ink-faint); }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-subsection { border: 0; padding: 0; margin: 0; }

@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin { grid-template-columns: 1fr; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 40px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection:last-child { grid-column: 1 / -1; }
  /* estados vazios: a caixa tracejada ocupa a altura do cartão */
  .dmadv-dashboard.dmadv-dashboard form .dmadv-listing-card:not(.dmadv-listing-card-locked) .dmadv-listing-tag-list { flex: 1; align-content: stretch; }
  .dmadv-dashboard.dmadv-dashboard form .dmadv-listing-tag-list:not(:has(*))::after { align-self: stretch; }
  .dmadv-dashboard.dmadv-dashboard form .dmadv-listing-card:not(.dmadv-listing-card-locked) p.dmadv-listing-readonly-text { flex: 1; display: flex; }
  .dmadv-dashboard.dmadv-dashboard form .dmadv-listing-readonly-text > .dmadv-muted:only-child { flex: 1; }
}
@media ( max-width: 700px ) {
  .dmadv-ed-sec { margin-top: 32px; padding-top: 28px; }
  .dmadv-ed-lock { padding-top: 0; }
}

/* passo 4.21b: etiquetas (idiomas, serviços) com a altura do texto -- o align-content:stretch do 4.21 esticava-as; só a lista vazia estica a caixa tracejada */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-tag-list { align-content: flex-start; align-items: flex-start; }
.dmadv-dashboard.dmadv-dashboard form .dmadv-listing-tag-list:not(:has(*)) { align-content: stretch; align-items: stretch; }

/* ===== Design 2026 — Painel, galeria do Editar anúncio (passo 4.22): fotos com a proporção real (horizontais inteiras), mesma altura por fila ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; margin: 12px 0 0; padding: 0; overflow: visible; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview img { flex: none; height: 220px; width: auto; max-width: 100%; aspect-ratio: auto; object-fit: cover; border-radius: 10px; display: block; }
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; margin: 8px -16px 0; padding: 2px 16px 6px; scrollbar-width: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview img { height: 168px; width: auto; max-width: none; scroll-snap-align: start; }
}

/* passo 4.22b: a proporção vem dos atributos width/height da imagem (o aspect-ratio:auto anulava-a e as fotos ocupavam a linha toda); "Editar" dos cartões em pílula branca */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview img { aspect-ratio: auto 4 / 3; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview img[width][height] { aspect-ratio: attr(width) / attr(height); }
.dmadv-dashboard.dmadv-dashboard button.dmadv-card-edit { display: inline-flex; align-items: center; background: #fff; color: var(--dm-ink) !important; border: 0; border-radius: 99px; padding: 8px 14px; font-size: 13px; font-weight: 800; line-height: 1.2; box-shadow: 0 1px 2px rgba(20,30,50,.06); }
.dmadv-dashboard.dmadv-dashboard button.dmadv-card-edit:hover { background: #fff; color: var(--dm-ink) !important; box-shadow: 0 1px 4px rgba(20,30,50,.14); text-decoration: none; }
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard button.dmadv-card-edit { box-shadow: 0 0 0 1px var(--dm-line); }
}

/* passo 4.22c: enquanto a foto não carrega o browser usa o width do atributo (até 3000px); limitar a largura evita faixas gigantes */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview img { max-width: 420px; }

/* ===== Design 2026 — Painel, galeria do Editar anúncio em desktop (passo 4.23): todas as fotos numa só fila, mesma altura, larguras proporcionais à proporção de cada uma ===== */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview { flex-wrap: nowrap; align-items: flex-start; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview img { flex: var(--ar, 1) 1 0; min-width: 0; max-width: none; width: auto; height: auto; aspect-ratio: var(--ar, 1); object-fit: cover; }
}

/* passo 4.23b: a grelha e o cartão não podem crescer com as fotos (min-width:auto) -- a fila cabe sempre na largura */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin { grid-template-columns: minmax(0, 1fr); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card { min-width: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview { min-width: 0; width: 100%; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview img { width: 0; }
}

/* ===== Design 2026 — Painel, Estatísticas (passo 4.25, 1.ª passagem CSS): cabeçalho, períodos, mosaicos, bloqueio Premium e "Promova o anúncio" ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat { padding: 0; border: 0; background: none; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat > h2 { font-size: 28px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat > h2::before { content: "O seu anúncio"; display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat > h3 { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 800; color: var(--dm-ink); margin: 32px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat > h3 svg { color: var(--dm-ink-faint); }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat .dmadv-stat-grid { margin-top: 14px; }

/* períodos bloqueados (plano gratuito) */
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-wrap { position: relative; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-content h3 { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 800; color: var(--dm-ink-faint); margin: 32px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-title { font-size: 20px; font-weight: 800; color: var(--dm-ink); line-height: 1.3; margin: 4px 0 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-upsell-table { border-radius: 14px; overflow: hidden; background: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-upsell-table th { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-ink-faint); background: var(--dm-surface); }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-upsell-table td:not(:first-child), .dmadv-dashboard.dmadv-dashboard .dmadv-stats-upsell-table th:not(:first-child) { text-align: center; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-upsell button.dmadv-button, .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens button.dmadv-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border-radius: 12px; font-size: 14px; font-weight: 800; margin-top: 16px; }

/* "Promova o anúncio": cartões coloridos por serviço */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcuts-block { margin-top: 44px; padding-top: 40px; border-top: 1px solid var(--dm-line-strong); }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcuts-block h3.dmadv-panel-title-lg { font-size: 20px; font-weight: 800; letter-spacing: -.005em; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcuts-block h3.dmadv-panel-title-lg::before { content: "Aumente o alcance"; display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcuts { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-top: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; width: 100%; height: 100%; text-align: left; background: var(--dm-surface); border: 0; border-radius: 16px; padding: 18px; box-shadow: none; cursor: pointer; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-label { font-size: 15px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-desc { font-size: 13px; line-height: 1.5; color: var(--dm-ink-soft); font-weight: 400; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-available_now { background: #eefaf2; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-available_now .dmadv-premium-shortcut-label { color: #10a64a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-city_top { background: #eef0fd; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-city_top .dmadv-premium-shortcut-label { color: #5854c9; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-boost { background: #fef3e9; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-boost .dmadv-premium-shortcut-label { color: #c1650a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-featured_list { background: #fff0f7; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-featured_list .dmadv-premium-shortcut-label { color: #ff3c9f; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-pack { background: linear-gradient(90deg, #eef0fd, #fef3e9); }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcut-pack .dmadv-premium-shortcut-label { color: #5854c9; }

@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat > h2 { font-size: 24px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat .dmadv-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat .dmadv-stat-tile { background: #fff; border: 0; border-radius: 14px; padding: 16px 8px; text-align: center; box-shadow: 0 1px 2px rgba(20,30,50,.04); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat .dmadv-stat-value { display: block; font-size: 24px; font-weight: 800; line-height: 1.1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat .dmadv-stat-label { display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 12px; margin-top: 4px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcuts-block { margin-top: 32px; padding-top: 28px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcuts { grid-template-columns: 1fr; }
}

/* passo 4.25b: o bloco "Promova o anúncio" vive fora do .dmadv-dashboard (alinha com as margens do painel) e as cores dos nomes vêm do protótipo */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcuts-block, .dmadv-premium-shortcuts-block { margin-left: 32px; margin-right: 32px; }
}
@media ( max-width: 700px ) {
  .dmadv-premium-shortcuts-block { margin-left: 8px; margin-right: 8px; }
}
.dmadv-premium-shortcuts-block .dmadv-premium-shortcut-city_top .dmadv-premium-shortcut-label,
.dmadv-premium-shortcuts-block .dmadv-premium-shortcut-pack .dmadv-premium-shortcut-label { color: #5854c9 !important; }
.dmadv-premium-shortcuts-block .dmadv-premium-shortcut-boost .dmadv-premium-shortcut-label { color: #c1650a !important; }
.dmadv-premium-shortcuts-block .dmadv-premium-shortcut-available_now .dmadv-premium-shortcut-label { color: #10a64a !important; }
.dmadv-premium-shortcuts-block .dmadv-premium-shortcut-featured_list .dmadv-premium-shortcut-label { color: #ff3c9f !important; }

/* passo 4.25c: título do bloqueio Premium a 20px (a regra existente era mais específica) e painel "Vantagens" do desktop como cartão */
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-overlay p.dmadv-stat-locked-title { font-size: 20px; font-weight: 800; color: var(--dm-ink); line-height: 1.3; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-upsell-desktop { margin-top: 32px; padding: 24px; border: 0; border-radius: 18px; background: var(--dm-surface); box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-upsell-desktop h3 { font-size: 16px; font-weight: 800; margin: 0 0 14px; }

/* passo 4.25d: em mobile o bloco fica fora do cartão do painel (24px do contentor): margem -8px põe-no a 16px, como o resto */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-shortcuts-block, .dmadv-premium-shortcuts-block { margin-left: -8px; margin-right: -8px; }
}

/* ===== Design 2026 — Painel, Editar anúncio em mobile como o protótipo (passo 4.26): sem kickers/linhas, "Gerido pelo site" com cadeado, galeria sem cartão, estado em linhas ===== */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-header { padding-top: 16px; }
  .dmadv-ed-kicker { display: none; }
  .dmadv-ed-sec:not(.dmadv-ed-sec-admin) { display: none; }
  .dmadv-ed-sec-admin { border-top: 0; padding-top: 0; margin-top: 24px; align-items: center; }
  .dmadv-ed-lock { font-size: 0; padding-top: 0; }
  .dmadv-ed-lock svg { width: 18px; height: 18px; }

  /* galeria: fila solta, de ponta a ponta do ecrã, sem cartão nem etiqueta */
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card:first-child { background: none; padding: 0; box-shadow: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card:first-child .dmadv-listing-card-head { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card:first-child .dmadv-listing-gallery-preview { margin: 0 -16px; padding: 2px 16px 6px; }

  /* estado, slogan e texto: linhas etiqueta/valor */
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 0; margin: 0; border-bottom: 1px solid var(--dm-line); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection:last-child { flex-direction: column; align-items: flex-start; gap: 6px; border-bottom: 0; padding-bottom: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-tag-picker-zone-label,
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked h3.dmadv-listing-card-subsection-title { font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--dm-ink-soft); margin: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-readonly-text { font-size: 14px; font-weight: 800; color: var(--dm-ink); text-align: right; line-height: 1.5; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection:last-child .dmadv-listing-readonly-text { font-weight: 400; text-align: left; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-state-pill { font-size: 11px; padding: 4px 10px; }
}

/* passo 4.26b: o scroll-snap ignora o padding; scroll-padding de 16px deixa o espaço à esquerda (e à direita no fim) da galeria mobile */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-gallery-preview { scroll-padding-left: 16px; scroll-padding-right: 16px; }
}


/* passo 4.26c: em mobile o rótulo "Estado do anúncio" fica só "Estado" (como o protótipo) */
@media ( max-width: 700px ) {
  .dmadv-hide-m { display: none; }
}


/* passo 4.26d: em mobile o "Editar" dos cartões volta a texto rosa, sem pílula (como o protótipo mobile); o desktop mantém a pílula branca */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard button.dmadv-card-edit,
  .dmadv-dashboard.dmadv-dashboard button.dmadv-card-edit:hover { background: none; box-shadow: none; padding: 0; border-radius: 0; color: var(--dm-brand) !important; font-size: 13px; font-weight: 800; }
}

/* ===== Design 2026 — Painel, Conta (passo 4.27): cabeçalho, secções com linha e kicker, formulários do protótipo, avatar, botões e lista "Brevemente" ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-account { padding: 0; border: 0; background: none; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account > h2 { font-size: 28px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account > h2::before { content: "A sua conta"; display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section { border-top: 1px solid var(--dm-line-strong); margin-top: 44px; padding: 40px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section:first-of-type { border-top: 0; margin-top: 34px; padding-top: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section h3 { font-size: 20px; font-weight: 800; letter-spacing: -.005em; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section:first-of-type h3 { font-size: 18px; }
.dmadv-ac-kicker { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }

/* formulários */
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form { max-width: 560px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form br { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form label { display: flex; flex-direction: column; gap: 7px; margin-top: 18px; font-size: 13px; font-weight: 800; color: #2b2f3a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form input:not([type="file"]) { width: 100%; max-width: none; height: auto; margin: 0; padding: 13px 14px; border: 1px solid var(--dm-line-strong); border-radius: 12px; background: #fff; font-size: 14px; font-weight: 400; color: var(--dm-ink); box-shadow: none; box-sizing: border-box; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form input:focus { outline: 2px solid var(--dm-brand); outline-offset: 1px; border-color: transparent; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dm-password-wrapper { max-width: none; margin: 7px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form > p { margin: 22px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form > label:first-child { margin-top: 0; }

/* avatar e botões */
.dmadv-dashboard.dmadv-dashboard .dmadv-avatar-row { align-items: center; gap: 16px; margin: 22px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-avatar-preview { width: 76px; height: 76px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-avatar-row label { font-size: 13px; font-weight: 800; color: #2b2f3a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px; border-radius: 12px; font-size: 14px; font-weight: 800; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-avatar-row button.dmadv-button { background: #fff0f7; color: var(--dm-brand) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account a.dmadv-button-muted.dmadv-button-muted.dmadv-button-muted.dmadv-button-muted { background: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section h3 + p, .dmadv-dashboard.dmadv-dashboard .dmadv-ac-kicker + h3 + p { margin-top: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account button.dmadv-link-button { color: var(--dm-brand) !important; font-weight: 800; text-decoration: underline; }

/* Brevemente */
.dmadv-dashboard.dmadv-dashboard .dmadv-account-soon ul { list-style: none; margin: 20px 0 0; padding: 0; max-width: 560px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section.dmadv-account-soon li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--dm-line); font-size: 14px; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-soon li::after { content: "Brevemente"; font-size: 12px; font-weight: 800; padding: 5px 11px; border-radius: 99px; background: #f3f4f6; color: var(--dm-ink-soft); white-space: nowrap; }

@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-account > h2 { font-size: 24px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-section { margin-top: 32px; padding-top: 28px; }
}

/* passo 4.27b: a lista "Brevemente" herdava a indentação do tema */
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section.dmadv-account-soon ul.dmadv-muted { margin: 20px 0 0; padding: 0; padding-inline-start: 0; margin-inline-start: 0; }

/* passo 4.27c: em mobile o formulário da foto de perfil (input de ficheiro) não pode passar do ecrã */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-avatar-row { flex-wrap: nowrap; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-avatar-row form { flex: 1 1 0; min-width: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-avatar-row input[type="file"] { width: 100%; max-width: 100%; min-width: 0; font-size: 13px; }
}

/* ===== Design 2026 — Painel, Conta vs protótipo (passo 4.28): espaço sob os separadores, ficheiro escondido, espaçamentos, recuperação e "Brevemente" ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-account { padding-top: 28px; } /* 28px como as outras abas (era 36px) */
.dmadv-dashboard.dmadv-dashboard .dmadv-avatar-row input[type="file"] { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; pointer-events: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-avatar-row { margin-bottom: 22px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-avatar-row form > p { margin: 8px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section > h3 + form.dmadv-form { margin-top: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section > p.dmadv-muted { margin: 20px 0 0; font-size: 14px; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section > p.dmadv-muted button.dmadv-link-button { display: block; margin: 4px 0 0; padding: 0; text-align: left; background: none; border: 0; font-size: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-soon ul { max-width: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section.dmadv-account-soon li { color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-account-soon li::after { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-account { padding-top: 16px; }
}

/* passo 4.28b: os itens de "Brevemente" herdavam margem esquerda do tema (20px) */
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section.dmadv-account-soon ul.dmadv-muted > li { margin: 0; margin-inline-start: 0; padding-left: 0; padding-inline-start: 0; }

/* passo 4.28c: o dashboard.css põe padding-left:20px !important e margin:0 !important na lista "Brevemente"; anular com !important */
.dmadv-dashboard.dmadv-dashboard .dmadv-account-section.dmadv-account-soon ul { list-style: none !important; padding-left: 0 !important; margin: 20px 0 0 !important; }

/* passo 4.28d: "Foto de perfil (opcional)" como o protótipo -- texto normal cinzento de 14px e 8px até ao botão (estava a negrito e a 30px) */
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-avatar-row form.dmadv-form label { margin: 0; font-size: 14px; font-weight: 400; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-avatar-row form.dmadv-form > p { margin: 8px 0 0; }

/* ===== Design 2026 — Painel, Conta em mobile como o protótipo (passo 4.29): cada secção num cartão branco, títulos simples, botões à largura toda ===== */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-account > h2::before { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account { padding-top: 16px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-section, .dmadv-dashboard.dmadv-dashboard .dmadv-account-section:first-of-type { background: #fff; border: 0; border-radius: 18px; padding: 20px; margin: 12px 0 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account > h2 + .dmadv-account-section { margin-top: 20px; }

  /* título de cada cartão: Dados da conta / Segurança / Sessão / Brevemente */
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-section h3 { font-size: 18px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-ac-kicker { font-size: 18px; font-weight: 800; letter-spacing: 0; text-transform: none; color: var(--dm-ink); margin: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-section:not(.dmadv-account-soon) .dmadv-ac-kicker + h3 { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-soon .dmadv-ac-kicker { display: none; }

  /* formulários e botões principais à largura toda */
  .dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form { max-width: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form > p > button.dmadv-button { width: 100%; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account a.dmadv-button-muted { display: flex; width: 100%; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-section > h3 + form.dmadv-form, .dmadv-dashboard.dmadv-dashboard .dmadv-ac-kicker + h3 + form.dmadv-form { margin-top: 4px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-section:not(.dmadv-account-soon) .dmadv-ac-kicker + form.dmadv-form { margin-top: 4px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-section > p, .dmadv-dashboard.dmadv-dashboard .dmadv-ac-kicker + h3 + p { margin-top: 16px; }
}

/* passo 4.29b: "Brevemente" em mobile mais compacto e mais claro, como o protótipo (linhas de 12px, texto cinzento claro, etiqueta pequena) */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-section.dmadv-account-soon ul { margin-top: 8px !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-section.dmadv-account-soon li { padding: 12px 0; font-size: 14px; line-height: 1.35; color: var(--dm-ink-faint); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-account-soon li::after { font-size: 10px; padding: 4px 10px; letter-spacing: .05em; flex: none; }
}
/* ===== Design 2026 — Painel mobile (passo 4.30): pilula Ver site na barra, Estatisticas sem kicker + subtitulo ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-panel-sub { margin: 6px 0 0; font-size: 15px; line-height: 1.4; color: var(--dm-ink-soft, #4b5060); }
@media (max-width:700px){
  body.dmadv-app-mode .dmadv-topbar a.dmadv-topbar-site { display: inline-flex; align-items: center; flex: none; margin-left: auto; margin-right: 6px; padding: 8px 16px; border-radius: 999px; background: #ffe8f3; color: #ff1493 !important; font-size: 14px; font-weight: 800; line-height: 1; text-decoration: none; }
  body.dmadv-app-mode .dmadv-topbar .dmadv-topbar-site + .dmadv-notif { margin-left: 0; }
}

/* ===== Design 2026 — Painel mobile (passo 4.31): titulo so' na barra em Estatisticas, Serviços Premium e Conta ===== */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > h2,
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > h2 + p.dmadv-muted,
  .dmadv-dashboard.dmadv-dashboard .dmadv-account > h2,
  .dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-acct-plan { display: none; }
}

/* ===== Design 2026 — Painel mobile (passo 4.32): Ver anuncio publico no fim de Editar anuncio ===== */
.dmadv-dashboard.dmadv-dashboard a.dmadv-view-public-end { display: none; }
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-header a.dmadv-button { display: none; }
  .dmadv-dashboard.dmadv-dashboard a.dmadv-view-public-end { display: flex; align-items: center; justify-content: center; width: 100%; margin-top: 24px; min-height: 50px; border-radius: 14px; font-size: 15px; }
}

/* ===== Design 2026 — Painel mobile (passo 4.33): pilula de Estado numa so' linha ===== */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-state-pill { white-space: nowrap; align-self: flex-start; width: auto; max-width: 100%; }
}

/* ===== Design 2026 — Painel mobile (passo 4.33b): Estado, pilula e cadeado na mesma linha ===== */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-subsection-first { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-subsection-first .dmadv-listing-card-subsection-head { display: contents; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-subsection-first .dmadv-listing-card-subsection-title { order: 1; margin: 0; flex: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-subsection-first .dmadv-state-pill { order: 2; min-width: 0; font-size: 11px; padding: 4px 10px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-subsection-first .dmadv-locked-badge { order: 3; margin-left: auto; flex: none; }
}

/* ===== Design 2026 — Painel mobile (passo 4.33c): Estado como no prototipo (Estado a esquerda, pilula a direita, data curta, sem cadeado) ===== */
.dmadv-show-m { display: none; }
@media (max-width:700px){
  .dmadv-show-m { display: inline; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-subsection-first { padding: 0; margin: 0; justify-content: space-between; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-subsection-first .dmadv-state-pill { order: 3; margin-left: auto; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-card-locked .dmadv-listing-card-subsection-first .dmadv-locked-badge { display: none; }
}

/* ===== Design 2026 — Painel mobile (passo 4.33d): Estado em linha (a regra do 2.º cartao do grid admin forcava coluna e 11px de padding) ===== */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card.dmadv-listing-card-locked > .dmadv-listing-card-subsection.dmadv-listing-card-subsection-first { flex-direction: row !important; align-items: center !important; justify-content: space-between !important; padding: 0 !important; }
}

/* passo 4.33e: a linha Estado mantem o mesmo espaçamento (11px) das restantes linhas do cartao */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card.dmadv-listing-card-locked > .dmadv-listing-card-subsection.dmadv-listing-card-subsection-first { padding: 11px 0 !important; }
}

/* passo 4.33f: Estado sozinho no cartao (sem espaço extra) vs. Estado com mais linhas (11px como as restantes) */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-cards-grid-admin > .dmadv-listing-card.dmadv-listing-card-locked > .dmadv-listing-card-subsection.dmadv-listing-card-subsection-first:only-child { padding: 0 !important; }
}

/* passo 4.34: nota 'Alguns campos deste anuncio...' com fundo branco */
.dmadv-dashboard.dmadv-dashboard .dmadv-alert.dmadv-listing-admin-note { background: #fff; }

/* ===== Design 2026 — Painel mobile (passo 4.35): Estatísticas como o protótipo — grelhas bloqueadas em desfoque, cartão Premium rosa em fluxo, Promova em fila horizontal ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-yes { font-weight: 800; }
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-wrap { display: block; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-wrap > .dmadv-stat-locked-overlay { position: static; display: block; text-align: center; background: #fff0f7; border-radius: 20px; padding: 24px 18px; margin-top: 26px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-overlay::before { content: "Estatísticas"; display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 4px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-overlay p.dmadv-stat-locked-title { font-size: 18px; margin: 6px 0 0; white-space: normal; max-width: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-overlay p.dmadv-muted:not(.dmadv-stat-locked-title) { font-size: 13px; line-height: 1.6; color: var(--dm-ink-soft, #5b6070); margin: 10px 0 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens h3 { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens { margin-top: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens .table-scroll { border: 0; background: none; overflow: visible; margin: 18px 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens .dmadv-stats-upsell-table { background: transparent; border: 0; border-radius: 0; width: 100%; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens .dmadv-stats-upsell-table th { background: none; border: 0; padding: 0 0 8px; font-size: 11px; color: #8a8f9c; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens .dmadv-stats-upsell-table td { background: none; padding: 12px 0; border: 0; border-top: 1px solid rgba(20,30,50,.08); font-size: 14px; color: #8a8f9c; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens .dmadv-stats-upsell-table td:first-child { color: var(--dm-ink); padding-left: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens .dmadv-yes { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #10a64a; color: #fff; font-size: 13px; line-height: 1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-vantagens button.dmadv-button { display: flex; width: 100%; min-height: 50px; border-radius: 14px; font-size: 15px; margin-top: 0; }
}

/* passo 4.35b: Promova o anuncio em fila horizontal (o bloco fica fora de .dmadv-dashboard) */
@media (max-width:700px){
  .dmadv-premium-shortcuts-block h3.dmadv-panel-title-lg::before { display: none; }
  .dmadv-premium-shortcuts-block .dmadv-premium-shortcuts { display: flex; grid-template-columns: none; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 16px; margin: 12px -16px 0; padding: 2px 16px 6px; scrollbar-width: none; }
  .dmadv-premium-shortcuts-block .dmadv-premium-shortcuts::-webkit-scrollbar { display: none; }
  .dmadv-premium-shortcuts-block .dmadv-premium-shortcut-wrap { flex: 0 0 200px; scroll-snap-align: start; }
  .dmadv-premium-shortcuts-block .dmadv-premium-shortcuts .dmadv-premium-shortcut { align-items: flex-start; text-align: left; gap: 5px; padding: 14px; border: 0; border-radius: 16px; height: 100%; }
  .dmadv-premium-shortcuts-block .dmadv-premium-shortcuts .dmadv-premium-shortcut-head { flex-direction: row-reverse; justify-content: flex-end; gap: 7px; }
  .dmadv-premium-shortcuts-block .dmadv-premium-shortcuts .dmadv-premium-shortcut-label { font-size: 14px; white-space: normal; }
  .dmadv-premium-shortcuts-block .dmadv-premium-shortcuts .dmadv-premium-shortcut-desc { display: block; font-size: 12px; line-height: 1.4; color: #5b6070; }
  .dmadv-premium-shortcuts-block .dmadv-premium-shortcut:not(.dmadv-premium-shortcut-active):not(.dmadv-premium-shortcut-disabled)::after { content: "Comprar →"; font-size: 12px; font-weight: 800; margin-top: 4px; }
}

@media (max-width:700px){ .dmadv-premium-shortcuts-block .dmadv-premium-shortcuts .dmadv-premium-shortcut-wrap { flex: 0 0 210px; width: 210px; min-width: 0; } .dmadv-premium-shortcuts-block .dmadv-premium-shortcuts .dmadv-premium-shortcut { min-width: 0; overflow: hidden; } }

/* ===== Design 2026 — Painel, Estatísticas (passo 4.36): cartão "Estatísticas Premium" para adquirir, no fim da página ===== */
.dmadv-stats-buy { background: #fff; border-radius: 20px; padding: 16px; }
.dmadv-stats-buy-hd { display: flex; align-items: center; gap: 12px; }
.dmadv-stats-buy-ib { display: flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border-radius: 12px; background: #e8fbfa; }
.dmadv-stats-buy-ib svg { width: 24px; height: 24px; }
.dmadv-stats-buy h3 { flex: 1; margin: 0; font-size: 16.5px; font-weight: 800; color: var(--dm-ink); }
.dmadv-stats-buy p { margin: 10px 0 0; font-size: 14px; line-height: 1.55; color: #5b6070; }
.dmadv-stats-buy .dmadv-stats-buy-opt { display: block; margin-top: 14px; min-width: 180px; padding: 14px 16px 12px; border: 0; border-radius: 14px; background: #e8fbfa; text-align: center; cursor: pointer; font: inherit; color: var(--dm-ink); }
.dmadv-stats-buy .dmadv-stats-buy-opt .d { display: block; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #0e8f88; }
.dmadv-stats-buy .dmadv-stats-buy-opt .v { display: block; margin-top: 4px; font-size: 24px; font-weight: 800; line-height: 1.1; }
.dmadv-stats-buy .dmadv-stats-buy-opt .u { display: block; margin-top: 3px; font-size: 11px; color: #8a8f9c; }
.dmadv-premium-shortcuts-block.dmadv-stats-buy-block { border-top: 0; padding-top: 0; margin-top: 32px; }
@media (max-width:700px){ .dmadv-stats-buy .dmadv-stats-buy-opt { width: 100%; } }

/* passo 4.36b: aviso "Serviço ativo / Incluído no plano" no cartão Estatísticas Premium */
.dmadv-stats-buy .dmadv-stats-buy-inc { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 14px; border-radius: 14px; background: #eefaf2; border: 1px solid #b8e8c9; }
.dmadv-stats-buy .dmadv-stats-buy-inc.is-plan { background: #fdf9ec; border-color: #ecdfa8; }

.dmadv-stats-buy-inc b { display: block; font-size: 15px; font-weight: 800; color: #10a64a; }
.dmadv-stats-buy-inc.is-plan b { color: #ab8b2e; }
.dmadv-stats-buy-inc span:not(.ck) { font-size: 13px; color: #5b6070; }

/* passo 4.36c: visto "certo" unico (o de Complete o anúncio): círculo verde 24px, ✓ Mulish 13px 800 — tabela comparativa e aviso de serviço ativo */
.dmadv-dashboard.dmadv-dashboard .dmadv-yes, .dmadv-stats-buy-inc .ck { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: #10a64a; color: #fff; font-family: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 13px; font-weight: 800; line-height: 1; }

/* passo 4.36d: aviso de serviço ativo com o espaçamento do protótipo (linhas juntas, sem margens herdadas) */
.dmadv-stats-buy .dmadv-stats-buy-inc { gap: 12px; padding: 14px; }
.dmadv-stats-buy .dmadv-stats-buy-inc > div { flex: 1; min-width: 0; }
.dmadv-stats-buy .dmadv-stats-buy-inc b { display: block; margin: 0; font-size: 15px; line-height: 1.3; }
.dmadv-stats-buy .dmadv-stats-buy-inc span:not(.ck) { display: block; margin: 0; font-size: 13px; line-height: 1.4; }
.dmadv-stats-buy .dmadv-stats-buy-inc .ck { margin: 0; }

/* ===== Design 2026 — Painel, Estatísticas (passo 4.37): um só cartão branco “Estatísticas Premium” (cabeçalho, tabela, preço) ===== */
.dmadv-stats-buy .table-scroll { border: 0; background: none; overflow: visible; margin: 14px 0 0; }
.dmadv-stats-buy table.dmadv-stats-upsell-table { width: 100%; border: 0; border-radius: 0; background: transparent; border-collapse: collapse; }
.dmadv-stats-buy table.dmadv-stats-upsell-table th { background: none; border: 0; padding: 0 0 8px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #8a8f9c; text-align: center; }
.dmadv-stats-buy table.dmadv-stats-upsell-table td { background: none; border: 0; border-top: 1px solid var(--dm-line); padding: 12px 0; font-size: 14px; color: #8a8f9c; text-align: center; vertical-align: middle; }
.dmadv-stats-buy table.dmadv-stats-upsell-table th:first-child, .dmadv-stats-buy table.dmadv-stats-upsell-table td:first-child { text-align: left; padding-left: 0; color: var(--dm-ink, #1e1e1e); }
.dmadv-stats-buy table.dmadv-stats-upsell-table th:first-child { color: transparent; }
.dmadv-stats-buy .dmadv-yes { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: #10a64a; color: #fff; font-family: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 13px; font-weight: 800; line-height: 1; }
.dmadv-stats-buy table.dmadv-stats-upsell-table td svg { vertical-align: -2px; opacity: 1; color: #8a8f9c; }
.dmadv-stats-buy .dmadv-stats-buy-opt { width: 100%; margin-top: 16px; }

/* passo 4.37b: frase como subtitulo do titulo Estatisticas Premium */
.dmadv-stats-buy .dmadv-stats-buy-tt { flex: 1; min-width: 0; }
.dmadv-stats-buy .dmadv-stats-buy-tt h3 { margin: 0; }
.dmadv-stats-buy .dmadv-stats-buy-sub { display: block; margin-top: 2px; font-size: 13px; line-height: 1.35; color: #5b6070; }

/* ===== Design 2026 — Painel, Estatísticas (passo 4.38): cartão Premium a subir de baixo para cima por cima das grelhas desfocadas ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-wrap { display: grid; position: relative; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-wrap > .dmadv-stat-locked-content { grid-area: 1 / 1; z-index: 1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-wrap > .dmadv-stats-buy-float { grid-area: 1 / 1; align-self: end; z-index: 2; margin: 0 8px 0; }
.dmadv-stats-buy-float .dmadv-stats-buy { box-shadow: 0 -10px 34px rgba(20,30,50,.14), 0 2px 8px rgba(20,30,50,.06); }
.dmadv-stats-buy-float[data-anim] { opacity: 0; transform: translateY(70px); transition: transform .6s cubic-bezier(.2,.8,.2,1), opacity .45s ease; }
.dmadv-stats-buy-float[data-anim].is-in { opacity: 1; transform: none; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-wrap > .dmadv-stats-buy-float { margin: 0; } }

/* passo 4.38b: cabecalho Gratuito/Premium da tabela sem fundo cinza */
.dmadv-stats-buy table.dmadv-stats-upsell-table thead, .dmadv-stats-buy table.dmadv-stats-upsell-table thead tr, .dmadv-stats-buy table.dmadv-stats-upsell-table th { background: transparent !important; box-shadow: none !important; }

/* passo 4.38c: em desktop o cartao Premium e' mais estreito e centrado por cima das grelhas */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-wrap > .dmadv-stats-buy-float { width: 100%; max-width: 440px; justify-self: center; margin: 0 0 24px; }
}

/* passo 4.38d: em desktop o cartao Premium desce mais, longe das estatisticas de Ultima semana */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-stat-locked-wrap > .dmadv-stats-buy-float { margin-top: 50px; }
}

/* passo 4.39: desktop — espaço entre a barra de separadores e o cabeçalho (O seu anúncio / título) de Estatísticas e Serviços Premium, igual ao de Editar anúncio (28px) */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat, .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel { padding-top: 28px; }
}

/* ===== passo 4.40: Estatisticas com Premium ativo — selo dourado ao lado do titulo (desktop); o cartao do fim so' fica em mobile ===== */
.dmadv-stats-pill { display: inline-flex; align-items: center; gap: 7px; margin-left: 14px; padding: 5px 12px 5px 6px; border-radius: 99px; background: #fdf9ec; border: 1px solid #ecdfa8; color: #ab8b2e; font-size: 12px; font-weight: 800; letter-spacing: 0; line-height: 1.2; vertical-align: middle; }
.dmadv-stats-pill-ck { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 20px; height: 20px; border-radius: 50%; background: #10a64a; color: #fff; font-family: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 12px; font-weight: 800; line-height: 1; }
@media (min-width:701px){ .dmadv-stats-buy-block:has(.dmadv-stats-buy-inc) { display: none; } }
@media (max-width:700px){ .dmadv-stats-pill { display: none; } }

/* ===== passo 4.41: servico Premium = nome + selo dourado (o do antigo Gold); Estatisticas Premium sem cartao no fim ===== */
.dmadv-premium-mark { display: inline-flex; vertical-align: middle; margin-left: 10px; }
.dmadv-premium-mark svg { display: block; }
.dmadv-stats-buy-block:has(.dmadv-stats-buy-inc) { display: none; }
body.dmadv-app-mode .dmadv-topbar-badge { display: flex; flex: none; margin-left: 5px; }
body.dmadv-app-mode .dmadv-topbar-badge svg { width: 18px; height: 18px; }

/* passo 4.42: nota pequena com o fim do Premium, por baixo das estatisticas */
.dmadv-dashboard.dmadv-dashboard .dmadv-stats-note { margin: 22px 0 0; font-size: 12px; line-height: 1.4; color: #8a8f9c; }

/* passo 4.41b: selo Premium junto ao topo do titulo (como um expoente) */
.dmadv-dashboard.dmadv-dashboard h2 .dmadv-premium-mark { vertical-align: top; margin: 3px 0 0 6px; }

/* passo 4.42b: nota do fim do Premium centrada em mobile */
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-stats-note { text-align: center; } }

/* passo 4.42c: nota do fim do Premium encostada a direita em desktop */
@media (min-width:701px){ .dmadv-dashboard.dmadv-dashboard .dmadv-stats-note { text-align: right; } }

/* ===== Design 2026 — Serviços Premium desktop (passo 4.43): resumo com ícones e prazo ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile { flex-direction: row; align-items: center; gap: 14px; text-align: left; padding: 22px 22px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile .dmadv-stat-label { order: 1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile .dmadv-stat-value { order: 2; white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile .dmadv-stat-sub { order: 3; font-size: 12px; font-weight: 800; color: #c1650a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-stat-ico { display: flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: #fff0f7; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-stat-grid .dmadv-stat-tile { padding: 16px 4px; } }

/* ===== Design 2026 — Serviços Premium desktop (passo 4.44): "Neste momento" — cartões à esquerda, ícone em azulejo, selo dourado, estado colorido ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services { margin: 40px 0 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-active-services-label { display: block; margin: 0 0 4px; font-size: 22px; font-weight: 800; letter-spacing: -.005em; text-transform: none; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-active-services-label::before { content: "Neste momento"; display: block; margin-bottom: 8px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-top: 22px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-product-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; text-align: left; padding: 20px; border-radius: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-product-card-body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; width: 100%; text-align: left; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-product-card h4 { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 10px; margin: 0; font-size: 16px; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-product-card h4 svg { flex: none; box-sizing: border-box; width: 36px; height: 36px; padding: 8px; border-radius: 10px; background: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-inc-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 99px; background: linear-gradient(90deg, #d7b94b, #ab8b2e); color: #fff; font-size: 11px; font-weight: 800; line-height: 1.2; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-active-until { font-size: 13px; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-active-detail { font-size: 13px; color: #5b6070; line-height: 1.5; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-until-available_now { color: #10a64a; } .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-until-city_top { color: #5854c9; } .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-until-boost { color: #c1650a; } .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-until-featured_list { color: #ff3c9f; } .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-until-stats_premium { color: #0e8f88; } .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-until-gold { color: #ab8b2e; } .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-until-featured_toast { color: #8b5cf6; } .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-until-pack { color: #2b2f3a; }

/* ===== Design 2026 — Serviços Premium desktop (passo 4.45): "Comprar" — uma linha por serviço, durações em azulejos ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-buy { margin-top: 48px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-kicker { margin-bottom: 8px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-title { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -.005em; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy > p.dmadv-muted { margin: 10px 0 0; font-size: 14px; line-height: 1.5; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-pay { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: 13px; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-pay b { flex: none; white-space: nowrap; padding: 3px 8px; border-radius: 6px; background: #f3f4f6; font-size: 11px; letter-spacing: .06em; color: #2b2f3a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list { display: flex; flex-direction: column; margin-top: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card { display: flex; flex-direction: column; gap: 0; padding: 40px 0 0; margin: 0; border: 0; border-radius: 0; background: none !important; box-shadow: none; text-align: left; align-items: stretch; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card + .dmadv-product-card { margin-top: 40px; border-top: 1px solid var(--dm-line); }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; text-align: left; padding: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card h4 { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 14px; margin: 0; font-size: 18px; font-weight: 800; color: var(--dm-ink) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card h4 svg { flex: none; box-sizing: border-box; width: 44px; height: 44px; padding: 11px; border-radius: 12px; background: var(--dmadv-tile, #fff0f7); }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card p.dmadv-muted { margin: 0; max-width: 70ch; font-size: 14px; line-height: 1.6; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-duration-buttons { display: grid; grid-template-columns: repeat(var(--dmadv-dc-n, 3), minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-buy.dmadv-dc { position: relative; display: block; width: 100%; min-height: 0; margin: 0; padding: 16px 10px 14px; border: 2px solid transparent !important; border-radius: 14px; background: var(--dmadv-tile, #fff0f7) !important; box-shadow: none !important; text-align: center; color: #1e1e1e !important; cursor: pointer; font: inherit; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc .d { display: block; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--dmadv-tone, #ff3c9f); }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc .v { display: block; margin-top: 6px; font-size: 24px; font-weight: 800; line-height: 1.1; color: #1e1e1e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc .v s { font-size: 13px; font-weight: 700; color: #8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc .u { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; color: #8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc .of { position: absolute; left: 50%; top: -11px; transform: translateX(-50%); padding: 4px 10px; border-radius: 99px; background: #ffc300; color: #1e1e1e; font-size: 10px; font-weight: 800; letter-spacing: .04em; white-space: nowrap; box-shadow: 0 2px 6px rgba(255,195,0,.45); }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc .of.of-promo { background: #ff3c9f; color: #fff; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-buy.dmadv-dc-free { background: #fff6cc !important; border-color: #ffc300 !important; box-shadow: 0 0 0 4px rgba(255,195,0,.18) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc-free .d { color: #8a6400; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-available { --dmadv-tile: #eefaf2; --dmadv-tone: #10a64a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-city_top { --dmadv-tile: #eef0fd; --dmadv-tone: #5854c9; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-boost { --dmadv-tile: #fef3e9; --dmadv-tone: #c1650a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-pack { --dmadv-tile: linear-gradient(90deg, #eef0fd, #fef3e9); --dmadv-tone: #2b2f3a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-featured_list { --dmadv-tile: #fff0f7; --dmadv-tone: #ff3c9f; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-stats_premium { --dmadv-tile: #e8fbfa; --dmadv-tone: #0e8f88; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-featured_toast { --dmadv-tile: #f4f0ff; --dmadv-tone: #8b5cf6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-gold { --dmadv-tile: #fdf9ec; --dmadv-tone: #ab8b2e; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-duration-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ===== Design 2026 — Serviços Premium desktop (passo 4.46): Histórico — "Registo", tabela leve com etiquetas ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel h3.dmadv-hist-title { margin: 40px 0 0; padding-top: 40px; border-top: 1px solid var(--dm-line); font-size: 20px; font-weight: 800; letter-spacing: -.005em; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-hist-title::before { content: "Registo"; display: block; margin-bottom: 8px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-table-scroll-flat { border: 0; border-radius: 0; margin-top: 24px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table { width: 100%; border: 0; border-collapse: collapse; background: transparent; font-size: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table th { padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--dm-line-strong); background: transparent; text-align: left; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td { padding: 14px 0; border: 0; border-bottom: 1px solid var(--dm-line); background: none; text-align: left; vertical-align: top; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(2) { font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(3) { white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table .hsub { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: #8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table .tg { display: inline-block; padding: 4px 10px; border-radius: 99px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table .tg.i { background: #fdf9ec; color: #ab8b2e; } .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table .tg.p { background: #eafbf0; color: #10a64a; } .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table .tg.g { background: #f3f4f6; color: #5b6070; }

/* passo 4.45b: hover dos mosaicos de compra como o prototipo (sobe 2px + sombra; cores nao mudam) */
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-buy.dmadv-dc { transition: transform .15s ease, box-shadow .15s ease; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-buy.dmadv-dc:hover, .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-buy.dmadv-dc:focus-visible { transform: translateY(-2px); background: var(--dmadv-tile, #fff0f7) !important; color: #1e1e1e !important; box-shadow: 0 6px 16px rgba(0,0,0,.08) !important; filter: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-buy.dmadv-dc.dmadv-dc-free:hover { background: #fff6cc !important; box-shadow: 0 0 0 4px rgba(255,195,0,.18), 0 6px 16px rgba(0,0,0,.08) !important; }

/* passo 4.47: selo Incluido no plano Premium com o icone gold (fundo claro para o selo dourado se ver) */
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-inc-pill { background: #fff; border: 1px solid #ecdfa8; color: #ab8b2e; padding: 4px 11px 4px 6px; }

/* passo 4.48: plano Normal em cinzento padrao (caixa, contorno e destaque) */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-box.dmadv-pl-box-base { border-color: var(--dm-line-strong); background: #f3f4f6; --pl-accent: #5b6070; }

/* ===== Design 2026 — Plano (passo 4.49): Normal ou Premium num só cartão com seletor ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch { margin-top: 12px; padding: 16px; border: 1px solid var(--dm-line-strong); border-radius: 16px; background: #f3f4f6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch.is-premium { border-color: #ecdfa8; background: #fdf9ec; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch > p.dmadv-muted { margin: 0 0 12px; font-size: 13px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-seg { display: inline-flex; padding: 3px; border: 1px solid var(--dm-line-strong); border-radius: 12px; background: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch.is-premium .dmadv-plan-seg { border-color: #ecdfa8; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-tab { padding: 7px 18px; border: 0; border-radius: 9px; background: none; color: #5b6070; font: inherit; font-size: 13px; cursor: pointer; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-tab.is-on { background: var(--dm-line); color: #1e1e1e; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch.is-premium .dmadv-plan-tab.is-on { background: #f6efd3; color: #8a6f1c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-panels .dmadv-product-card { margin: 0; padding: 0; border: 0; background: none !important; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-panels .dmadv-product-card[hidden] { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-intro { margin: 14px 0 0; font-size: 13px; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-chips span { padding: 3px 10px; border: 1px solid #ecdfa8; border-radius: 99px; background: #fff; font-size: 12px; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-product-duration-buttons { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-opt { display: flex; flex-direction: column; gap: 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-opt .dmadv-product-buy { width: 100%; min-height: 46px; margin: 0; border-radius: 12px; font-size: 14px; font-weight: 800; background: #fff; border: 1px solid var(--dm-line-strong); color: #1e1e1e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-opt .dmadv-product-buy.dmadv-product-buy-gold { background: #d7b94b; border-color: #d7b94b; color: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-opt + .dmadv-plan-opt .dmadv-product-buy.dmadv-product-buy-gold { background: #fff; border-color: #ecdfa8; color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-note { font-size: 12px; color: #8a8f9c; text-align: center; }

/* passo 4.49b: em desktop os botoes do plano nao ocupam a largura toda */
@media (min-width:701px){ .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-panels { max-width: 520px; } }

/* ===== passo 4.49c: caixa do plano e seletor num só cartão; texto à esquerda; cor do cabeçalho acompanha o separador ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-box:has(+ .dmadv-pl-renew .dmadv-plan-switch) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom-style: dashed; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-renew .dmadv-plan-switch { margin-top: 0; border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-box.dmadv-pl-box[data-pv="premium"] { border-color: #ecdfa8; background: #fdf9ec; --pl-accent: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-box.dmadv-pl-box[data-pv="normal"] { border-color: var(--dm-line-strong); background: #f3f4f6; --pl-accent: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch, .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-panels, .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-intro, .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-product-card-body { text-align: left; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-product-card-body { align-items: flex-start; padding: 0; }

/* passo 4.49d: sem espaco entre a caixa do plano e o seletor */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-box + .dmadv-pl-renew { margin-top: 0; }

/* passo 4.49e: em desktop os botoes do plano ficam em 2 colunas */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-panels { max-width: 720px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-product-duration-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-product-duration-buttons:has(> .dmadv-plan-opt:only-child) { grid-template-columns: minmax(0, 360px); }
}

/* ===== passo 4.49f: em desktop largo a caixa do plano e o cartão do seletor ficam lado a lado (2 colunas) ===== */
@media (min-width:900px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; align-items: start; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > * { grid-column: 1 / -1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-box { grid-column: 1; margin-top: 24px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-renew { grid-column: 2; margin-top: 24px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-renew:empty { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-box:has(+ .dmadv-pl-renew:empty) { grid-column: 1 / -1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-box:has(+ .dmadv-pl-renew .dmadv-plan-switch) { border-bottom-left-radius: 18px; border-bottom-right-radius: 18px; border-bottom-style: solid; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-box + .dmadv-pl-renew { margin-top: 24px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-renew .dmadv-plan-switch { border-top: 1px solid var(--dm-line-strong); border-radius: 18px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-renew .dmadv-plan-switch.is-premium { border-top-color: #ecdfa8; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-plan-panels { max-width: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-product-duration-buttons { grid-template-columns: minmax(0, 1fr); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-switch .dmadv-product-duration-buttons:has(> .dmadv-plan-opt:only-child) { grid-template-columns: minmax(0, 1fr); }
}

/* ===== passo 4.49g: em desktop largo o plano e o seletor formam uma só caixa, com separador vertical tracejado ===== */
@media (min-width:900px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block { column-gap: 0; align-items: stretch; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-box:has(+ .dmadv-pl-renew .dmadv-plan-switch) { border-radius: 18px 0 0 18px; border-right: 1px dashed var(--dm-line-strong); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-box[data-pv="premium"]:has(+ .dmadv-pl-renew .dmadv-plan-switch), .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-box.dmadv-pl-box:not(.dmadv-pl-box-base):has(+ .dmadv-pl-renew .dmadv-plan-switch) { border-right-color: #ecdfa8; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-box.dmadv-pl-box[data-pv="normal"]:has(+ .dmadv-pl-renew .dmadv-plan-switch) { border-right-color: var(--dm-line-strong); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-renew:has(.dmadv-plan-switch) { display: flex; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-renew .dmadv-plan-purchase.dmadv-plan-switch { flex: 1; border-left: 0; border-radius: 0 18px 18px 0; }
}

/* ===== Design 2026 — Plano (passo 4.50): opção C — uma só caixa (cabeçalho, barra do período, saldo) com faixa de renovação no rodapé ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block { display: block; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > * { grid-column: auto; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card { margin-top: 24px; border: 0; border-radius: 18px; background: #fff; overflow: hidden; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card > .dmadv-pl-box.dmadv-pl-box.dmadv-pl-box { margin: 0; padding: 22px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; --pl-accent: #8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-crown { border: 1px solid var(--dm-line); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-bar { height: 6px; margin: 16px 0 4px; border-radius: 99px; background: var(--dm-line); overflow: hidden; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-bar i { display: block; height: 100%; border-radius: 99px; background: #b4b8c1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card:has(.dmadv-pl-box:not(.dmadv-pl-box-base)) .dmadv-pl-bar i { background: #d7b94b; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-bal { padding: 0; border-radius: 0; background: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row-todo { margin: 6px 0 4px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-renew:empty { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 0 16px; padding: 16px 24px; border-top: 1px solid var(--dm-line-strong); background: #f3f4f6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-strip.is-premium { border-top-color: #ecdfa8; background: #fdf9ec; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-tx b { display: block; font-size: 14px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-tx span { display: block; font-size: 13px; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-act { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-item { display: block; margin: 0; padding: 0; border: 0; border-radius: 0; background: none !important; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-item .dmadv-product-duration-buttons { display: block; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-act .dmadv-product-buy { min-height: 44px; margin: 0; padding: 0 20px; border-radius: 12px; font-size: 14px; font-weight: 800; background: #fff; border: 1px solid var(--dm-line-strong); color: #1e1e1e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-act .dmadv-product-buy.dmadv-product-buy-gold { background: #d7b94b; border-color: #d7b94b; color: #fff; }

/* passo 4.65: o cartao de renovacao (dmadv-plan-strip) passou a viver tambem dentro
 * da coluna esquerda estreita (.dmadv-home-col-preview, 260px) -- o layout horizontal
 * por defeito do .dmadv-strip-act (pensado para a faixa larga da coluna direita)
 * transborda para fora da coluna nessa largura. MESMOS valores ja usados em mobile
 * (@media max-width:700px acima), so' aplicados aqui sempre que esta' dentro da
 * coluna estreita, independente da largura da janela. */
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-plan-strip { padding: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act { margin-left: 0; flex-direction: column; align-items: stretch; width: 100%; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy { width: 100%; }

/* dentro do cartao (desktop e mobile): fundo branco proprio (destaca-se do fundo
 * de aviso a volta), texto centrado, botoes lado a lado como pilulas compactas em
 * vez do bloco cheio -- pedido explicito do gestor com imagem de referencia. */
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-plan-strip,
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-plan-strip.is-premium,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-plan-strip,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-plan-strip.is-premium {
	background: none;
	border-top: 0;
	padding: 0;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-plan-strip .dmadv-strip-tx,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-plan-strip .dmadv-strip-tx {
	text-align: center;
	margin-bottom: 10px;
}
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-plan-strip .dmadv-strip-tx span,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-plan-strip .dmadv-strip-tx span {
	font-size: 12px;
}
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act {
	margin-left: 0;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	gap: 8px;
}
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act .dmadv-product-buy {
	width: 100%;
	padding: 0 20px;
}

/* Normal a cinza solido (nunca branco com contorno) e sem sombra nenhuma em
 * nenhum estado -- o tema aplica uma sombra generica a qualquer <button> em
 * hover/focus/active (ver .dmadv-button:hover acima), anulada aqui tambem
 * para o estado normal (repouso). */
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy:not(.dmadv-product-buy-gold),
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act .dmadv-product-buy:not(.dmadv-product-buy-gold) {
	/* ha' uma regra global mais acima (linha ~2387, "button.dmadv-product-buy:not(.dmadv-product-buy-gold)") com
	 * background:#fff !important -- so' um !important de volta ganha aqui. */
	background: #fff !important;
	border: 0;
}
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act .dmadv-product-buy {
	box-shadow: none;
}
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy:hover,
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy:focus,
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy:active,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act .dmadv-product-buy:hover,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act .dmadv-product-buy:focus,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act .dmadv-product-buy:active {
	box-shadow: none;
}
/* o tema aplica rosa (var(--dm-brand)) a QUALQUER .dmadv-button:hover -- aqui
 * o botao "Manter/Mudar" (branco) fica so' um pouco mais escuro, sem cor de marca. */
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy:not(.dmadv-product-buy-gold):hover,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act .dmadv-product-buy:not(.dmadv-product-buy-gold):hover {
	background: #f3f4f6 !important;
	color: #1e1e1e !important;
}
/* MESMO dourado escuro ja usado em .dmadv-product-buy-gold:hover (dashboard.css) -- nunca uma cor nova. */
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy.dmadv-product-buy-gold:hover,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act .dmadv-product-buy.dmadv-product-buy-gold:hover {
	background: #c0a43f !important;
	color: #fff !important;
}
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-strip-act .dmadv-product-buy.dmadv-product-buy-gold,
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-strip-act .dmadv-product-buy.dmadv-product-buy-gold {
	box-shadow: none;
}

.dmadv-dashboard.dmadv-dashboard .dmadv-strip-more-info {
	display: block;
	margin-top: 10px;
	text-align: center;
	font-size: 12px;
	/* ha' uma regra global (dashboard.css, ".dmadv-dashboard a") com color:#ff3c9f !important --
	 * so' um !important de volta ganha aqui. */
	color: var(--dm-ink-2) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-more { padding: 0; border: 0; background: none; font: inherit; font-size: 13px; font-weight: 800; color: #5b6070; cursor: pointer; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt { flex-basis: 100%; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt[hidden] { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt .dmadv-product-buy { min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; font-size: 13px; font-weight: 800; color: #5b6070; text-decoration: underline; text-underline-offset: 3px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt .dmadv-product-buy.dmadv-product-buy-gold { background: none; color: #ab8b2e; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card > .dmadv-pl-box.dmadv-pl-box.dmadv-pl-box { padding: 16px; } .dmadv-dashboard.dmadv-dashboard .dmadv-plan-strip { padding: 16px; } .dmadv-dashboard.dmadv-dashboard .dmadv-strip-act { margin-left: 0; flex-direction: column; align-items: stretch; width: 100%; gap: 10px; } .dmadv-dashboard.dmadv-dashboard .dmadv-strip-act .dmadv-product-buy { width: 100%; } .dmadv-dashboard.dmadv-dashboard .dmadv-strip-more { text-align: center; } .dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt { justify-content: center; } }

/* passo 4.50b: opcoes alternativas em linha */
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt .dmadv-plan-item, .dmadv-dashboard.dmadv-dashboard .dmadv-strip-act .dmadv-plan-item { flex: none; width: auto; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt .dmadv-product-duration-buttons { display: block; width: auto; }

.dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt .dmadv-product-buy { padding: 0 !important; min-height: 0 !important; height: auto !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt .dmadv-plan-item, .dmadv-dashboard.dmadv-dashboard .dmadv-strip-alt .dmadv-product-duration-buttons, .dmadv-dashboard.dmadv-dashboard .dmadv-strip-act .dmadv-plan-item, .dmadv-dashboard.dmadv-dashboard .dmadv-strip-act .dmadv-product-duration-buttons { min-height: 0 !important; height: auto !important; padding: 0 !important; margin: 0 !important; }

/* passo 4.50c: espacamento do topo de 'O seu plano' (kicker colado ao titulo, secao afastada da anterior) */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block { margin-top: 48px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-kicker { margin: 0 0 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-title { margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-card { margin-top: 20px; }

/* passo 4.50d: as regras do 4.50c perdiam contra regras mais especificas -- reforcadas */
.dmadv-dashboard.dmadv-dashboard .dmadv-panel-title-lg.dmadv-pl-title { margin: 0 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block.dmadv-pl { margin-top: 48px !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-card { margin-top: 20px !important; }

/* passo 4.51: servicos por ativar em tons premium (dourado) em vez de rosa */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-row.dmadv-pl-row-todo { background: #fdf9ec; border: 0; }

/* passo 4.51b: botao Ativar agora em dourado (tons premium) */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go { background: #d7b94b !important; border-color: #d7b94b !important; color: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go:hover { background: #c9a93a !important; border-color: #c9a93a !important; }

/* passo 4.50e: sem espaco em branco entre o saldo e a faixa de renovacao (margem de 24px herdada do 4.49f + folgas do saldo) */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card > .dmadv-pl-renew { margin-top: 0 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card > .dmadv-pl-box.dmadv-pl-box.dmadv-pl-box:has(+ .dmadv-pl-renew .dmadv-plan-strip) { padding-bottom: 6px !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-bal { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row:last-child { border-bottom: 0; }

/* passo 4.50f: no plano Normal (sem saldo) a caixa mantem o espaco de baixo antes da faixa */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card > .dmadv-pl-box.dmadv-pl-box.dmadv-pl-box:not(:has(.dmadv-pl-bal)):has(+ .dmadv-pl-renew .dmadv-plan-strip) { padding-bottom: 22px !important; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card > .dmadv-pl-box.dmadv-pl-box.dmadv-pl-box:not(:has(.dmadv-pl-bal)):has(+ .dmadv-pl-renew .dmadv-plan-strip) { padding-bottom: 16px !important; } }

/* passo 4.44b: Perfil Verificado como o prototipo — estado a azul, barra de dias e nota */
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-until-verified { color: #0089b8; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-vbar { width: 100%; height: 8px; border-radius: 99px; background: rgba(255,255,255,.85); overflow: hidden; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-vbar i { display: block; height: 100%; border-radius: 99px; background: #00b5ff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-vpl { display: flex; justify-content: space-between; width: 100%; margin-top: -6px; font-size: 12px; color: #5b6070; }

/* ===== Design 2026 — Comprar (passo 4.45c): duracoes indisponiveis visiveis e desativadas, com o motivo, e nota informativa ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc.dmadv-dc-off { position: relative; display: block; width: 100%; margin: 0; padding: 16px 10px 14px; border: 2px dashed var(--dm-line-strong); border-radius: 14px; background: var(--dm-surface); text-align: center; cursor: not-allowed; font: inherit; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc-off .d, .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc-off .v { color: #8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc-off .why { font-weight: 800; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-unav { display: flex; gap: 10px; margin-top: 16px; padding: 12px 14px; border-radius: 12px; background: #fff4e5; color: #8a5a00; font-size: 13px; line-height: 1.5; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-unav a { color: var(--dm-brand); font-weight: 800; text-decoration: none; white-space: nowrap; }

/* ===== Design 2026 — janelas de compra e ativação (passo 4.52): layout B — faixa colorida com ícone, nome, duração e preço; cor do serviço; Grátis em amarelo ===== */
#dmadv-checkout-modal .dmadv-co.dmadv-product-card-available, .dmadv-modal-dialog.dmadv-act-available_now { --dmadv-sv: #10a64a; --dmadv-tint: #eefaf2; --dmadv-tint2: #c9ecd5; --dmadv-tone: #10a64a; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-co.dmadv-product-card-city_top, .dmadv-modal-dialog.dmadv-act-city_top { --dmadv-sv: #6366f1; --dmadv-tint: #eef0fd; --dmadv-tint2: #d4d7f8; --dmadv-tone: #5854c9; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-co.dmadv-product-card-boost, .dmadv-modal-dialog.dmadv-act-boost { --dmadv-sv: #c1650a; --dmadv-tint: #fef3e9; --dmadv-tint2: #f9d9b8; --dmadv-tone: #c1650a; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-co.dmadv-product-card-pack, .dmadv-modal-dialog.dmadv-act-pack { --dmadv-sv: linear-gradient(90deg,#6366f1,#c1650a); --dmadv-tint: linear-gradient(90deg,#eef0fd,#fef3e9); --dmadv-tint2: #e3d9f0; --dmadv-tone: #2b2f3a; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-co.dmadv-product-card-featured_list, .dmadv-modal-dialog.dmadv-act-featured_list { --dmadv-sv: #ff3c9f; --dmadv-tint: #fff0f7; --dmadv-tint2: #ffd0e8; --dmadv-tone: #ff3c9f; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-co.dmadv-product-card-stats_premium, .dmadv-modal-dialog.dmadv-act-stats_premium { --dmadv-sv: #0ea5a5; --dmadv-tint: #e8fbfa; --dmadv-tint2: #b9eeec; --dmadv-tone: #0e8f88; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-co.dmadv-product-card-featured_toast, .dmadv-modal-dialog.dmadv-act-featured_toast { --dmadv-sv: #8b5cf6; --dmadv-tint: #f4f0ff; --dmadv-tint2: #ddd0fb; --dmadv-tone: #8b5cf6; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-co.dmadv-product-card-gold, .dmadv-modal-dialog.dmadv-act-gold { --dmadv-sv: #d7b94b; --dmadv-tint: #fdf9ec; --dmadv-tint2: #ecdfa8; --dmadv-tone: #ab8b2e; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-co.is-free { --dmadv-sv: #ffc300; --dmadv-tint: #fff6cc; --dmadv-tint2: #ffe58a; --dmadv-tone: #8a6400; --dmadv-on: #1e1e1e; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co { padding: 0; overflow: hidden; border-radius: 20px; max-width: 440px; --dmadv-sv: #ff3c9f; --dmadv-tint: #fff0f7; --dmadv-tint2: #ffd0e8; --dmadv-tone: #ff3c9f; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-co .dmadv-co-band { display: flex; align-items: center; gap: 12px; padding: 18px 20px; background: var(--dmadv-tint); }
#dmadv-checkout-modal .dmadv-co .dmadv-co-ic { display: flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: #fff; }
#dmadv-checkout-modal .dmadv-co .dmadv-co-ic:empty { display: none; }
#dmadv-checkout-modal .dmadv-co .dmadv-co-hd { flex: 1; min-width: 0; }
#dmadv-checkout-modal .dmadv-co h3#dmadv-checkout-title { margin: 0; font-size: 18px; font-weight: 800; line-height: 1.25; color: var(--dmadv-tone); }
#dmadv-checkout-modal .dmadv-co.is-free h3#dmadv-checkout-title { color: #1e1e1e; }
#dmadv-checkout-modal .dmadv-co .dmadv-co-dur { display: block; margin-top: 3px; font-size: 12px; color: #5b6070; }
#dmadv-checkout-modal .dmadv-co .dmadv-co-price { font-size: 24px; font-weight: 800; line-height: 1; color: #1e1e1e; white-space: nowrap; }
#dmadv-checkout-modal .dmadv-co.is-free .dmadv-co-price { color: var(--dmadv-tone); }
#dmadv-checkout-modal .dmadv-co .dmadv-co-lead { margin: 16px 20px 0; font-size: 13px; color: #5b6070; }
#dmadv-checkout-modal .dmadv-co .dmadv-form { padding: 0 20px; }
#dmadv-checkout-modal .dmadv-co #dmadv-checkout-result { margin: 12px 20px 0; font-size: 13px; color: #5b6070; }
#dmadv-checkout-modal .dmadv-co #dmadv-checkout-result:empty { display: none; }
#dmadv-checkout-modal .dmadv-co .dmadv-checkout-actions { display: flex; gap: 10px; flex-direction: row-reverse; margin: 18px 20px 20px; }
#dmadv-checkout-modal .dmadv-co #dmadv-checkout-confirm { flex: 1; min-height: 48px; margin: 0; border: 0; border-radius: 12px; background: var(--dmadv-sv) !important; color: var(--dmadv-on) !important; font-size: 15px; font-weight: 800; }
#dmadv-checkout-modal .dmadv-co #dmadv-checkout-cancel { flex: none; min-height: 48px; margin: 0; padding: 0 18px; border: 0; border-radius: 12px; background: #f3f4f6 !important; color: #2b2f3a !important; font-size: 15px; font-weight: 800; }
#dmadv-checkout-modal .dmadv-co.is-wait .dmadv-form, #dmadv-checkout-modal .dmadv-co.is-wait .dmadv-co-lead, #dmadv-checkout-modal .dmadv-co.is-ok .dmadv-form, #dmadv-checkout-modal .dmadv-co.is-ok .dmadv-co-lead, #dmadv-checkout-modal .dmadv-co.is-err .dmadv-co-lead { display: none; }
#dmadv-checkout-modal .dmadv-co.is-wait #dmadv-checkout-confirm, #dmadv-checkout-modal .dmadv-co.is-ok #dmadv-checkout-confirm { display: none; }
#dmadv-checkout-modal .dmadv-co.is-wait #dmadv-checkout-result, #dmadv-checkout-modal .dmadv-co.is-ok #dmadv-checkout-result { margin-top: 20px; text-align: center; font-size: 15px; font-weight: 800; color: #1e1e1e; }
#dmadv-checkout-modal .dmadv-co.is-wait #dmadv-checkout-result::before, #dmadv-checkout-modal .dmadv-co.is-ok #dmadv-checkout-result::before { content: ""; display: block; width: 52px; height: 52px; margin: 0 auto 12px; border-radius: 50%; }
#dmadv-checkout-modal .dmadv-co.is-wait #dmadv-checkout-result::before { border: 5px solid var(--dmadv-tint2); border-top-color: var(--dmadv-sv); animation: dmadvcospin 1s linear infinite; }
#dmadv-checkout-modal .dmadv-co.is-ok #dmadv-checkout-result::before { content: "\2713"; display: flex; align-items: center; justify-content: center; font-size: 26px; background: var(--dmadv-sv); color: var(--dmadv-on); box-shadow: 0 0 0 8px var(--dmadv-tint); }
#dmadv-checkout-modal .dmadv-co.is-err #dmadv-checkout-result { padding: 12px 14px; border: 1px solid #eab8b8; border-radius: 12px; background: #fdecec; color: #96201f; }
@keyframes dmadvcospin { to { transform: rotate(360deg); } }
.dmadv-modal-dialog[class*='dmadv-act-'] { padding: 0; overflow: hidden; border-radius: 20px; --dmadv-sv: #ff3c9f; --dmadv-tint: #fff0f7; --dmadv-tone: #ff3c9f; --dmadv-on: #fff; }
.dmadv-modal-dialog[class*='dmadv-act-'] h2 { display: flex; align-items: center; gap: 12px; margin: 0; padding: 18px 56px 18px 20px; background: var(--dmadv-tint); color: var(--dmadv-tone); font-size: 18px; font-weight: 800; }
.dmadv-modal-dialog[class*='dmadv-act-'] h2 .dmadv-pl-ib { background: #fff !important; }
/* O modal de ativação vive DENTRO de .dmadv-pl-row (ver DMADV_Premium_Plan), por isso as regras da linha (fundo creme/cinzento com !important) apanhavam o ícone do título: forçar o branco com maior especificidade. */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row .dmadv-modal-dialog[class*='dmadv-act-'] h2 .dmadv-pl-ib, .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row.is-base .dmadv-modal-dialog[class*='dmadv-act-'] h2 .dmadv-pl-ib, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row .dmadv-modal-dialog[class*='dmadv-act-'] h2 .dmadv-pl-ib { background: #fff !important; }
.dmadv-modal-dialog[class*='dmadv-act-'] .dmadv-modal-close { background: #fff; color: var(--dmadv-tone); }
.dmadv-modal .dmadv-modal-dialog[class*='dmadv-act-'] button.dmadv-modal-close, .dmadv-modal .dmadv-modal-dialog[class*='dmadv-act-'] button.dmadv-modal-close:hover, .dmadv-modal .dmadv-modal-dialog[class*='dmadv-act-'] button.dmadv-modal-close:focus, .dmadv-modal .dmadv-modal-dialog[class*='dmadv-act-'] button.dmadv-modal-close:active { background: #fff !important; box-shadow: none; }
.dmadv-modal-dialog[class*='dmadv-act-'] .dmadv-modal-body { padding: 16px 20px 0; }
.dmadv-modal-dialog[class*='dmadv-act-'] .dmadv-modal-actions { display: flex; gap: 10px; padding: 18px 20px 20px; }
.dmadv-modal-dialog[class*='dmadv-act-'] .dmadv-modal-actions button[type=submit] { flex: 1; min-height: 48px; border: 0; border-radius: 12px; background: var(--dmadv-sv) !important; color: var(--dmadv-on) !important; font-size: 15px; font-weight: 800; }
.dmadv-modal-dialog[class*='dmadv-act-'] .dmadv-modal-actions .dmadv-button-cancel { flex: none; min-height: 48px; padding: 0 18px; border: 0; border-radius: 12px; background: #f3f4f6 !important; color: #2b2f3a !important; font-size: 15px; font-weight: 800; }

/* passo 4.52b: cores por servico com especificidade suficiente para vencer a cor por defeito da janela */
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-available { --dmadv-sv: #10a64a; --dmadv-tint: #eefaf2; --dmadv-tint2: #c9ecd5; --dmadv-tone: #10a64a; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-city_top { --dmadv-sv: #6366f1; --dmadv-tint: #eef0fd; --dmadv-tint2: #d4d7f8; --dmadv-tone: #5854c9; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-boost { --dmadv-sv: #c1650a; --dmadv-tint: #fef3e9; --dmadv-tint2: #f9d9b8; --dmadv-tone: #c1650a; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-pack { --dmadv-sv: linear-gradient(90deg,#6366f1,#c1650a); --dmadv-tint: linear-gradient(90deg,#eef0fd,#fef3e9); --dmadv-tint2: #e3d9f0; --dmadv-tone: #2b2f3a; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-featured_list { --dmadv-sv: #ff3c9f; --dmadv-tint: #fff0f7; --dmadv-tint2: #ffd0e8; --dmadv-tone: #ff3c9f; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-stats_premium { --dmadv-sv: #0ea5a5; --dmadv-tint: #e8fbfa; --dmadv-tint2: #b9eeec; --dmadv-tone: #0e8f88; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-featured_toast { --dmadv-sv: #8b5cf6; --dmadv-tint: #f4f0ff; --dmadv-tint2: #ddd0fb; --dmadv-tone: #8b5cf6; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-gold { --dmadv-sv: #d7b94b; --dmadv-tint: #fdf9ec; --dmadv-tint2: #ecdfa8; --dmadv-tone: #ab8b2e; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-normal { --dmadv-sv: #5b6070; --dmadv-tint: #f3f4f6; --dmadv-tint2: var(--dm-line-strong); --dmadv-tone: #5b6070; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.is-free { --dmadv-sv: #ffc300; --dmadv-tint: #fff6cc; --dmadv-tint2: #ffe58a; --dmadv-tone: #8a6400; --dmadv-on: #1e1e1e; }

/* passo 4.52c: cores por servico nos dialogos Ativar X? com especificidade suficiente */
.dmadv-modal-dialog[class*='dmadv-act-'].dmadv-act-available_now { --dmadv-sv: #10a64a; --dmadv-tint: #eefaf2; --dmadv-tone: #10a64a; }
.dmadv-modal-dialog[class*='dmadv-act-'].dmadv-act-city_top { --dmadv-sv: #6366f1; --dmadv-tint: #eef0fd; --dmadv-tone: #5854c9; }
.dmadv-modal-dialog[class*='dmadv-act-'].dmadv-act-boost { --dmadv-sv: #c1650a; --dmadv-tint: #fef3e9; --dmadv-tone: #c1650a; }
.dmadv-modal-dialog[class*='dmadv-act-'].dmadv-act-pack { --dmadv-sv: linear-gradient(90deg,#6366f1,#c1650a); --dmadv-tint: linear-gradient(90deg,#eef0fd,#fef3e9); --dmadv-tone: #2b2f3a; }
.dmadv-modal-dialog[class*='dmadv-act-'].dmadv-act-featured_list { --dmadv-sv: #ff3c9f; --dmadv-tint: #fff0f7; --dmadv-tone: #ff3c9f; }
.dmadv-modal-dialog[class*='dmadv-act-'].dmadv-act-stats_premium { --dmadv-sv: #0ea5a5; --dmadv-tint: #e8fbfa; --dmadv-tone: #0e8f88; }
.dmadv-modal-dialog[class*='dmadv-act-'].dmadv-act-featured_toast { --dmadv-sv: #8b5cf6; --dmadv-tint: #f4f0ff; --dmadv-tone: #8b5cf6; }
.dmadv-modal-dialog[class*='dmadv-act-'].dmadv-act-gold { --dmadv-sv: #d7b94b; --dmadv-tint: #fdf9ec; --dmadv-tone: #ab8b2e; }

/* passo 4.52d: corpo branco (a classe de efeito antiga pintava o corpo e o titulo), titulo alinhado à esquerda sem fundo, espaçamento do formulário */
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co { background: #fff !important; color: #1e1e1e; text-align: left; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co h3#dmadv-checkout-title { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; box-shadow: none !important; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-hd, #dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-dur { text-align: left; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-band { border-radius: 0; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-lead { margin: 18px 20px 14px; text-align: left; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-form label { display: block; margin: 0; font-size: 13px; font-weight: 800; color: #2b2f3a; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-form input.dmadv-input { display: block; width: 100%; margin-top: 8px; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-checkout-actions { margin-top: 18px; }

/* passo 4.52e: campo do telemóvel como o protótipo — prefixo +351 numa caixa à esquerda */
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-lab { display: inline; margin-left: 8px; vertical-align: middle; font-size: 13px; font-weight: 800; color: #2b2f3a; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-in { display: flex; align-items: center; margin-top: 10px; overflow: hidden; border: 1px solid var(--dm-line-strong); border-radius: 12px; background: #fff; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-in:focus-within { border-color: var(--dmadv-sv, #ff3c9f); box-shadow: 0 0 0 3px var(--dmadv-tint, #fff0f7); }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-in i { display: flex; align-items: center; flex: none; height: 48px; padding: 0 14px; border-right: 1px solid var(--dm-line-strong); background: var(--dm-surface); font-style: normal; font-size: 15px; font-weight: 800; color: #5b6070; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-in input.dmadv-input { flex: 1; min-width: 0; height: 48px; margin: 0; padding: 0 16px; border: 0 !important; border-radius: 0; background: transparent; box-shadow: none !important; outline: none; font-size: 17px; font-weight: 700; letter-spacing: .02em; color: #1e1e1e; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-in input.dmadv-input::placeholder { color: #8a8f9c; font-weight: 400; }

#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-in input.dmadv-input { display: block; width: auto; }

/* ===== Design 2026 — janelas de compra/ativação em mobile (passo 4.53): folha que sobe de baixo, com a barra de pegar dentro da faixa colorida ===== */
@keyframes dmadvsheetup { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes dmadvfade { from { opacity: 0; } to { opacity: 1; } }
@media (max-width:700px){
  #dmadv-checkout-modal.dmadv-crop-modal { align-items: flex-end; justify-content: center; }
  #dmadv-checkout-modal:not([hidden]) { animation: dmadvfade .25s ease both; }
  #dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co { width: 100%; max-width: none; margin: 0; border-radius: 22px 22px 0 0; padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -8px 28px rgba(20,30,50,.18); }
  #dmadv-checkout-modal:not([hidden]) .dmadv-crop-modal-body.dmadv-co { animation: dmadvsheetup .32s cubic-bezier(.2,.8,.2,1) both; }
  #dmadv-checkout-modal .dmadv-co-band { position: relative; padding-top: 28px; }
  #dmadv-checkout-modal .dmadv-co-band::before { content: ''; position: absolute; top: 9px; left: 50%; width: 38px; height: 4px; margin-left: -19px; border-radius: 99px; background: rgba(20,30,50,.2); }
  .dmadv-modal:has(> .dmadv-modal-dialog[class*='dmadv-act-']) { align-items: flex-end; justify-content: center; padding: 0; }
  .dmadv-modal-dialog[class*='dmadv-act-'] { max-width: none; width: 100%; border-radius: 22px 22px 0 0; padding-bottom: env(safe-area-inset-bottom); max-height: 92vh; }
  .dmadv-modal.dmadv-modal-anim .dmadv-modal-dialog[class*='dmadv-act-'] { transform: translateY(100%); opacity: 1; transition: transform .32s cubic-bezier(.2,.8,.2,1); }
  .dmadv-modal.dmadv-modal-anim.dmadv-modal-visible .dmadv-modal-dialog[class*='dmadv-act-'] { transform: translateY(0); }
  .dmadv-modal-dialog[class*='dmadv-act-'] h2 { position: relative; padding-top: 28px; }
  .dmadv-modal-dialog[class*='dmadv-act-'] h2::before { content: ''; position: absolute; top: 9px; left: 50%; width: 38px; height: 4px; margin-left: -19px; border-radius: 99px; background: rgba(20,30,50,.2); }
}

@media (max-width:700px){ #dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co .dmadv-co-band { position: relative; padding-top: 28px; } }

/* ===== Design 2026 — ícones dos serviços na cor de Grátis (amarelo) ou Premium (dourado) (passo 4.54) ===== */
#dmadv-checkout-modal .dmadv-co.is-free .dmadv-co-ic svg[fill]:not([fill="none"]), #dmadv-checkout-modal .dmadv-co.is-free .dmadv-co-ic svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #f0b400 !important; }
#dmadv-checkout-modal .dmadv-co.is-free .dmadv-co-ic svg[stroke]:not([stroke="none"]), #dmadv-checkout-modal .dmadv-co.is-free .dmadv-co-ic svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #f0b400 !important; }
.dmadv-modal-dialog[class*='dmadv-act-'] h2 .dmadv-pl-ib svg[fill]:not([fill="none"]), .dmadv-modal-dialog[class*='dmadv-act-'] h2 .dmadv-pl-ib svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #d7b94b !important; }
.dmadv-modal-dialog[class*='dmadv-act-'] h2 .dmadv-pl-ib svg[stroke]:not([stroke="none"]), .dmadv-modal-dialog[class*='dmadv-act-'] h2 .dmadv-pl-ib svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #d7b94b !important; }
.dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg[fill]:not([fill="none"]), .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #d7b94b !important; }
.dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg[stroke]:not([stroke="none"]), .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #d7b94b !important; }
.dmadv-active-services .dmadv-product-card:has(.dmadv-inc-pill) h4 svg[fill]:not([fill="none"]), .dmadv-active-services .dmadv-product-card:has(.dmadv-inc-pill) h4 svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #d7b94b !important; }
.dmadv-active-services .dmadv-product-card:has(.dmadv-inc-pill) h4 svg[stroke]:not([stroke="none"]), .dmadv-active-services .dmadv-product-card:has(.dmadv-inc-pill) h4 svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #d7b94b !important; }

/* passo 4.54b: na caixa do plano, os ícones dos serviços ficam brancos sobre azulejo dourado (Premium) */
.dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib { background: #d7b94b !important; }
.dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg[fill]:not([fill="none"]), .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #fff !important; }
.dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg[stroke]:not([stroke="none"]), .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #fff !important; }
/* ícone em círculo com visto (Disponível Agora): círculo branco, visto dourado */
.dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg circle { fill: #fff !important; }
.dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg path[stroke="#fff"] { stroke: #d7b94b !important; }

/* ===== passo 4.44c: serviços ativados pelo plano Premium com o look Premium — fundo dourado, título dourado, ícone branco em azulejo dourado; sem a pilula "Incluído no plano" ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) { background: #fdf9ec !important; border: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) .dmadv-inc-pill { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) h4 { color: #ab8b2e !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) h4 svg { background: #d7b94b !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) h4 svg[fill]:not([fill="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) h4 svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) h4 svg[stroke]:not([stroke="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) h4 svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) h4 svg circle { fill: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) h4 svg path[stroke="#fff"] { stroke: #d7b94b !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) .dmadv-active-until { color: #ab8b2e !important; }

/* passo 4.50g: em mobile o botao/etiqueta de cada linha do saldo fica ao lado do texto (3 colunas), nao por baixo */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row .dmadv-pl-act { grid-column: 3; justify-self: end; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row .dmadv-pl-go { min-height: 38px; padding: 0 16px; }
}

/* ===== Design 2026 — Comprar em mobile como o protótipo (passo 4.45d): cada serviço num cartão branco, ícone menor, durações em fila de 3 mais compactas ===== */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list { gap: 12px; margin-top: 16px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card { padding: 16px !important; margin: 0 !important; border: 0 !important; border-radius: 20px !important; background: #fff !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card + .dmadv-product-card { margin-top: 0 !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card h4 { gap: 12px; font-size: 16.5px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card h4 svg { width: 32px; height: 32px; padding: 7px; border-radius: 10px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card p.dmadv-muted { font-size: 14px; line-height: 1.55; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-duration-buttons { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; margin-top: 16px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-buy.dmadv-dc, .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc.dmadv-dc-off { padding: 14px 6px 12px; border-radius: 14px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc .d { font-size: 11px; letter-spacing: .06em; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc .v { margin-top: 4px; font-size: 22px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-dc .u { font-size: 11px; line-height: 1.3; }
}

/* passo 4.45e: mobile - numero par de duracoes de 2 em 2, impar de 3 em 3 (uma so ocupa a largura toda) */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-duration-buttons[data-n] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-duration-buttons[data-n="1"] { grid-template-columns: minmax(0, 1fr); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-duration-buttons[data-n="2"], .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-duration-buttons[data-n="4"], .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-duration-buttons[data-n="6"], .dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-duration-buttons[data-n="8"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ===== Design 2026 — Histórico em mobile como o protótipo (passo 4.46b): cartão branco com uma linha por compra (nome e data à esquerda, valor e etiqueta à direita) ===== */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-hist-title::before { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel h3.dmadv-hist-title { margin-top: 32px; padding-top: 0; border-top: 0; font-size: 20px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-table-scroll-flat { margin-top: 14px; padding: 4px 16px; border-radius: 20px; background: #fff; overflow: visible; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table, .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table tbody { display: block; width: 100%; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table thead { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'name val' 'date tag'; column-gap: 12px; align-items: end; padding: 14px 0; border-bottom: 1px solid var(--dm-line); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table tbody tr:last-child { border-bottom: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td { display: block; padding: 0; border: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) { grid-area: name; font-size: 15px; font-weight: 800; color: #1e1e1e; align-self: start; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) .hsub { margin-top: 3px; font-size: 13px; font-weight: 400; color: #8a8f9c; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(2) { grid-area: val; justify-self: end; align-self: start; font-size: 15px; font-weight: 800; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(3) { grid-area: tag; justify-self: end; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(4) { grid-area: date; padding-top: 3px; font-size: 13px; color: #8a8f9c; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td[colspan] { grid-column: 1 / -1; }
}

/* ===== passo 4.46c: Histórico mobile compacto — 2 linhas por compra (nome | valor / duração · data | etiqueta), texto curto ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table .hm { display: none; }
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-table-scroll-flat { padding: 2px 14px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table tbody tr { grid-template-areas: 'name val' 'meta tag'; column-gap: 10px; row-gap: 3px; align-items: center; padding: 11px 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) { display: contents; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) .hn { grid-area: name; display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 800; color: #1e1e1e; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) .hdur, .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) .hsub, .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(4) { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) .hm { grid-area: meta; display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 400; color: #8a8f9c; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(2) { grid-area: val; align-self: center; font-size: 15px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(3) { grid-area: tag; align-self: center; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table .tg { padding: 3px 9px; font-size: 11px; }
}

/* ===== passo 4.46d: Histórico desktop — hierarquia (serviço em negrito, duração e notas em cinzento), colunas com larguras fixas, valor à direita, data curta ===== */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table { table-layout: fixed; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table th:nth-child(1) { width: 46%; } .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table th:nth-child(2) { width: 12%; text-align: right; padding-right: 28px; } .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table th:nth-child(3) { width: 20%; } .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table th:nth-child(4) { width: 22%; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td { padding: 16px 0; vertical-align: middle; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) .hn { font-size: 15px; font-weight: 800; color: #1e1e1e; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) .hdur { font-size: 14px; font-weight: 600; color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(1) .hsub { margin-top: 3px; font-size: 13px; font-weight: 400; color: #8a8f9c; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(2) { text-align: right; padding-right: 28px; font-size: 15px; font-variant-numeric: tabular-nums; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table td:nth-child(4) { font-size: 14px; color: #5b6070; font-variant-numeric: tabular-nums; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table tbody tr:last-child td { border-bottom: 0; }
}


/* ===== Design 2026 — Serviços Premium (passo 4.55): 2.º grupo de compra (Flutuante, Estatísticas) sem título, separado pela mesma linha dos cartões (.dmadv-product-card + .dmadv-product-card); em mobile segue a lista de cartões brancos ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-buy.dmadv-buy-cont { margin-top: 40px; border-top: 1px solid var(--dm-line); }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-cont .dmadv-buy-list { margin-top: 0; }
/* faixa de renovação: botão com contorno (outra opção de plano) com hover nas cores do Normal, não rosa */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-strip .dmadv-strip-act button.dmadv-product-buy:not(.dmadv-product-buy-gold):hover { background: #f3f4f6 !important; border-color: var(--dm-line-strong) !important; color: #1e1e1e !important; }
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-buy.dmadv-buy-cont { margin-top: 12px; border-top: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-active-services .dmadv-products-grid .dmadv-product-card:has(.dmadv-inc-pill) { border: 1px solid #ecdfa8; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-row.dmadv-pl-row-todo { border: 1px solid #ecdfa8; }
}


/* ===== Design 2026 — O seu plano (passo 4.56): validade em desktop = pílula "faltam N dias" no topo (cores dos avisos do painel) + início/fim nas pontas da barra; mobile mantém "Válido até" ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-left, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-dates { display: none; }
/* sem a linha "Saldo deste período": a lista fica com os mesmos 22px que essa linha tinha em cima */
/* (removido 2026-09-29) .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-bal { margin-top: 22px; } -- a margem do bloco "Por ativar" e controlada por .dmadv-pl-grp / .dmadv-plan-block */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-val { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-left { display: inline-block; margin-left: auto; padding: 4px 10px; border-radius: 99px; background: #fff4e5; color: #8a5a00; font-size: 12px; font-weight: 800; line-height: 1.4; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-left.is-urgent { background: #fdecec; color: #96201f; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-left.is-info { background: var(--dm-surface); color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-dates { display: flex; justify-content: space-between; gap: 16px; margin: 8px 0 0; font-size: 12px; color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-dates b { font-weight: 800; color: #1e1e1e; }
  /* sem o título da página: o bloco do plano sem margem (as antigas 48px !important sobrepunham-se) e o cartão a 28px do kicker "O seu anúncio" */
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block.dmadv-pl { margin-top: 0 !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block > .dmadv-pl-card { margin-top: 28px !important; }
}
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel > .dmadv-premium-kicker { display: none; }
}


/* ===== Design 2026 — O seu plano (passo 4.57): cabeçalho opção B em desktop — faixa com a cor do plano, período e anel de progresso com os dias que faltam; mobile mantém "Válido até" + barra ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-range, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring { display: none; }
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top { gap: 16px; padding: 18px 20px; border-radius: 16px; background: #fdf9ec; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base { background: #f3f4f6; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-crown { width: auto; height: auto; padding: 0; border: 0; background: none; box-shadow: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-crown svg { width: 40px; height: 40px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-plan .dmadv-pl-nm { color: #ab8b2e; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top > div > b { font-size: 22px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-range { display: block; margin-top: 2px; font-size: 13px; color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-ring { display: block; position: relative; flex: none; width: 74px; height: 74px; margin-left: auto; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring svg { display: block; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring-t { fill: none; stroke: #ecdfa8; stroke-width: 7; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring-f { fill: none; stroke: #d7b94b; stroke-width: 7; stroke-linecap: round; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base .dmadv-pl-ring-t { stroke: var(--dm-line-strong); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base .dmadv-pl-ring-f { stroke: #b4b8c1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring-n { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; color: #8a5a00; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring.is-urgent .dmadv-pl-ring-n { color: #96201f; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring.is-info .dmadv-pl-ring-n { color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-ring-n b { display: block; font-size: 20px; font-weight: 800; line-height: 1; color: inherit; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring-n small { margin-top: 2px; font-size: 11px; font-weight: 700; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-box .dmadv-pl-bar { display: none; }
  /* "Serviços por ativar" como "Serviços ativos": sem fundo, separados pela mesma linha (.dmadv-pl-row: 14px 0 + 1px var(--dm-line)); sem linha antes do grupo seguinte */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row.dmadv-pl-row-todo { margin: 0; padding: 14px 0; border: 0; border-bottom: 1px solid var(--dm-line); border-radius: 0; background: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row.dmadv-pl-row-todo:has(+ .dmadv-pl-grp), .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row.dmadv-pl-row-todo:last-child { border-bottom: 0; }
}


/* ===== Design 2026 — O seu plano (passo 4.58): proposta aprovada — renovação no topo, botões Ativar com contorno, azulejos suaves, estados em texto, ritmo 22/12 ===== */
/* azulejos suaves: fundo #fdf9ec, ícone dourado (anula o dourado cheio + ícone branco do 4.44c) */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib { background: #fdf9ec !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg[fill]:not([fill="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #d7b94b !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg[stroke]:not([stroke="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #d7b94b !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg circle { fill: #d7b94b !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row .dmadv-pl-ib svg path[stroke="#fff"] { stroke: #fff !important; }
/* estados em texto cinzento (sem pílulas coloridas); visto verde real só no ativado à mão */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-st { padding: 0; border-radius: 0; background: none; font-weight: 700; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-st .dmadv-yes { width: 16px; height: 16px; font-size: 10px; }
/* Ativar: contorno dourado, secundário face à renovação */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go:hover { background: #fff !important; border: 1.5px solid #d7b94b !important; color: #ab8b2e !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go:hover { background: #fdf9ec !important; }
@media (min-width:701px){
  /* kicker "O seu anúncio" junto ao cartão */
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block > .dmadv-pl-card { margin-top: 10px !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card > .dmadv-pl-box.dmadv-pl-box.dmadv-pl-box { padding-top: 0; }
  /* ritmo: 22px entre grupos, 12px por linha */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-grp { padding: 22px 0 4px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-grp:first-child { padding-top: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row.dmadv-pl-row-todo { padding: 12px 0; }
  /* anel 64px */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-ring { width: 64px; height: 64px; margin-left: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring svg { width: 64px; height: 64px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-ring-n b { font-size: 18px; }
  /* renovação dentro da faixa, ao lado do anel: botão principal, outras opções como ligações, frase pequena por baixo */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-renew { margin-left: auto; margin-top: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-plan-strip { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; padding: 0; border: 0; background: none !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-strip-act { order: 1; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-strip-act .dmadv-product-buy { min-height: 40px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-strip-tx { order: 2; max-width: none; white-space: nowrap; text-align: right; font-size: 12px; line-height: 1.4; color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-strip-tx b, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-strip-tx span { display: inline; font-size: 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-strip-tx b { font-weight: 800; color: #1e1e1e; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-strip-tx b::after { content: " · "; font-weight: 400; color: #8a8f9c; }
}
@media (max-width:700px){
  /* mobile: renovação logo abaixo do topo do plano, botões a toda a largura (regras da faixa já existentes) */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-renew { flex-basis: 100%; margin-top: 4px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-plan-strip { border-top: 0; border-radius: 12px; }
}


/* ===== Design 2026 — O seu plano em mobile (passo 4.59): mesmo desenho do desktop — faixa do plano com anel, renovação dentro da faixa, linhas sem fundo com separador, estado por baixo do título ===== */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block.dmadv-pl { margin-top: 0 !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block > .dmadv-pl-card { margin-top: 12px !important; }
  /* faixa do plano */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top { gap: 12px; padding: 14px 16px; border-radius: 14px; background: #fdf9ec; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base { background: #f3f4f6; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-crown { width: auto; height: auto; padding: 0; border: 0; background: none; box-shadow: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-crown svg { width: 34px; height: 34px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-plan .dmadv-pl-nm { color: #ab8b2e; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-val, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-box .dmadv-pl-bar { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-range { display: block; margin-top: 2px; font-size: 12.5px; color: #5b6070; }
  /* anel 56px, à direita na primeira linha */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-ring { display: block; position: relative; flex: none; order: 3; width: 56px; height: 56px; margin-left: auto; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring svg { display: block; width: 56px; height: 56px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring-t { fill: none; stroke: #ecdfa8; stroke-width: 7; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring-f { fill: none; stroke: #d7b94b; stroke-width: 7; stroke-linecap: round; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base .dmadv-pl-ring-t { stroke: var(--dm-line-strong); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base .dmadv-pl-ring-f { stroke: #b4b8c1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring-n { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; color: #8a5a00; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring.is-urgent .dmadv-pl-ring-n { color: #96201f; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring.is-info .dmadv-pl-ring-n { color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-ring-n b { display: block; font-size: 16px; font-weight: 800; line-height: 1; color: inherit; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-ring-n small { margin-top: 1px; font-size: 10px; font-weight: 700; }
  /* renovação dentro da faixa, separada por uma linha fina */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-pl-renew { order: 5; flex-basis: 100%; margin-top: 2px; padding-top: 12px; border-top: 1px solid #ecdfa8; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base .dmadv-pl-renew { border-top-color: var(--dm-line-strong); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-plan-strip { padding: 0; border: 0; border-radius: 0; background: none !important; gap: 10px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-strip-tx b { font-size: 13px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top .dmadv-strip-tx span { font-size: 12.5px; line-height: 1.45; }
  /* linhas: sem fundo, separador igual em todas; ritmo 20/12 */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-bal { margin-top: 20px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-grp { padding: 20px 0 2px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-grp:first-child { padding-top: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row.dmadv-pl-row-todo { margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid var(--dm-line); border-radius: 0; background: none; column-gap: 12px; row-gap: 2px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row.dmadv-pl-row-todo:has(+ .dmadv-pl-grp), .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row:last-child { border-bottom: 0; }
  /* ativos: estado por baixo do título, para o nome caber numa linha */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row:not(.dmadv-pl-row-todo) .dmadv-pl-ib { grid-row: 1 / span 2; align-self: start; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row:not(.dmadv-pl-row-todo) .dmadv-pl-act { grid-column: 2; grid-row: 2; justify-self: start; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row:not(.dmadv-pl-row-todo) .dmadv-pl-st { font-size: 12.5px; }
  /* plano separado dos serviços: a faixa fica sozinha sobre o fundo da página e os serviços num cartão branco próprio */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card { background: none; overflow: visible; border-radius: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card > .dmadv-pl-box.dmadv-pl-box.dmadv-pl-box { padding: 0 !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-top { border-radius: 20px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-bal, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-none { margin-top: 12px; padding: 16px !important; border-radius: 20px; background: #fff; }
  /* plano sem serviços: nota discreta, sem cartão */
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-none { margin-top: 10px; padding: 0 4px !important; border-radius: 0; background: none; font-size: 12.5px; line-height: 1.45; color: #8a8f9c; }
}


/* ===== Design 2026 — Neste momento (passo 4.60): opção A — lista compacta de serviços ativos (uma linha cada, cor do serviço, etiqueta Plano), Perfil Verificado num cartão à parte; o plano só mostra o saldo por ativar ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-bal.dmadv-pl-bal-empty { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now .dmadv-now-list { margin-top: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now .dmadv-now-list:not(:has(.dmadv-now-row)) { display: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; column-gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--dm-line); }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row:last-child { border-bottom: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-ib { display: flex; align-items: center; justify-content: center; gap: 2px; width: 36px; height: 36px; border-radius: 10px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-ib svg { width: 20px; height: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-pack .dmadv-now-ib svg { width: 14px; height: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-t { font-size: 15px; font-weight: 800; line-height: 1.3; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-t span { margin-left: 4px; font-weight: 400; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-s { margin-top: 2px; font-size: 12.5px; line-height: 1.45; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-bar { max-width: 320px; height: 4px; margin-top: 6px; border-radius: 99px; background: var(--dm-line); overflow: hidden; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-bar i { display: block; height: 100%; border-radius: 99px; background: #8b5cf6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-bar-verified i { background: #00b5ff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-tag { padding: 3px 9px; border-radius: 99px; background: #fdf9ec; color: #ab8b2e; font-size: 11px; font-weight: 800; white-space: nowrap; }
/* Perfil Verificado à parte */
/* desktop: o Perfil Verificado é a última linha da lista, com "Grátis" (amarelo); mobile: cartão à parte, sem etiqueta */
.dmadv-dashboard.dmadv-dashboard .dmadv-now .dmadv-now-solo { margin-top: 0; padding: 0; border-radius: 0; background: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now .dmadv-now-list:has(.dmadv-now-row) + .dmadv-now-solo { border-top: 1px solid var(--dm-line); }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-tag.dmadv-now-tag-free { background: #fff6cc; color: #8a6400; }
/* separador antes de "Neste momento" e de "Adquirir" (desktop): o mesmo do Histórico — 40px + linha var(--dm-line) + 40px */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-active-services.dmadv-now, .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-buy:not(.dmadv-buy-cont) { margin-top: 40px; padding-top: 40px; border-top: 1px solid var(--dm-line); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-pl-card > .dmadv-pl-box.dmadv-pl-box.dmadv-pl-box { padding-bottom: 0 !important; }
  /* cartão do plano sem fundo/cantos (a página já é branca) e "O seu plano não inclui serviços" como nota discreta, como em mobile */
  .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-pl-card { border-radius: 0; background: none; overflow: visible; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-none { margin: 10px 0 0; padding: 0; font-size: 12.5px; line-height: 1.45; color: #8a8f9c; }
}
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-active-services.dmadv-now, .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-buy:not(.dmadv-buy-cont) { margin-top: 40px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-now .dmadv-now-list { padding: 4px 16px; border-radius: 20px; background: #fff; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-now .dmadv-now-solo, .dmadv-dashboard.dmadv-dashboard .dmadv-now .dmadv-now-list:has(.dmadv-now-row) + .dmadv-now-solo { margin-top: 12px; padding: 4px 16px; border: 0; border-radius: 20px; background: #fff; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-now-solo .dmadv-now-tag-free { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-now-row { column-gap: 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-now-t { font-size: 14.5px; }
}


/* ===== Design 2026 — Painel do Centro, Início (passo 4.61): como o protótipo centro.html — avisos numa linha, etiqueta única no banner, kicker Resumo + título 28px, contadores turquesa, nota cinzenta ===== */
/* etiqueta única no banner: ONLINE • Expira em N dias */
.dmadv-dashboard.dmadv-dashboard .dmadv-state-ticker.dmadv-cst { display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 12px; border-radius: 8px; font-size: 12px; font-weight: 600; letter-spacing: 0; line-height: 1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-state-ticker.dmadv-cst b { font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.dmadv-dashboard.dmadv-dashboard .dmadv-state-ticker.dmadv-cst i { width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,.7); }
@media (min-width:701px){
  /* avisos no topo: uma linha, crítico vermelho / aviso laranja; link a preto (links de navegação) */
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-cnotes { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-cnote { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 12px; font-size: 13px; line-height: 1.4; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-cnote svg { flex: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-cnote p { flex: 1; min-width: 0; margin: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-cnote p b { font-weight: 800; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-cnote-crit { background: #fdecec; color: #96201f; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-cnote-crit p b { color: #7a1716; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-cnote-warn { background: #fff4e5; color: #8a5a00; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-cnote-warn p b { color: #6b4500; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout a.dmadv-cnote-link { font-weight: 800; white-space: nowrap; text-decoration: none; color: var(--dm-ink) !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout a.dmadv-cnote-link:hover { text-decoration: underline; }
  /* 32px de topo (igual às outras páginas do painel); colunas 1,1 : 1 */
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout { gap: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-row { grid-template-columns: 1.1fr 1fr; gap: 32px; align-items: start; margin: 32px 0 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-col-stats .dmadv-panel { height: auto; padding: 0; border: 0; background: none; box-shadow: none; }
  /* kicker Resumo + título */
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout h3.dmadv-centro-perf-title { margin: 0 !important; font-size: 28px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; color: var(--dm-ink); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout h3.dmadv-centro-perf-title::before { content: "Anúncio"; display: block; margin-bottom: 8px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); }
  /* períodos */
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-stats-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout button.dmadv-stats-tab { padding: 7px 14px; border: 0; border-radius: 99px; background: #f3f4f6; color: #5b6070; font-size: 13px; font-weight: 800; line-height: 1.3; box-shadow: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout button.dmadv-stats-tab.dmadv-stats-tab-active { background: var(--dm-brand); color: #fff; }
  /* contadores turquesa (cor das Estatísticas), dois a toda a largura */
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-stat-grid:not([hidden]) { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 0; border: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-stat-tile { display: block; padding: 20px 8px; border: 0 !important; border-radius: 14px; background: #f3f4f6 !important; text-align: center; box-shadow: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-stat-tile .dmadv-stat-value { display: block; font-size: 24px; font-weight: 800; line-height: 1.1; color: var(--dm-ink) !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-stat-tile .dmadv-stat-label { display: flex; align-items: center; justify-content: center; gap: 5px; margin-top: 6px; font-size: 12px; line-height: 1.35; color: var(--dm-ink); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-stat-tile .dmadv-stat-label svg { flex: none; width: 15px; height: 15px; opacity: .75; }
  /* nota cinzenta, uma linha, com ícone */
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-alert.dmadv-stats-centro-note { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; padding: 10px 14px; border: 0; border-radius: 12px; background: var(--dm-surface); color: #5b6070; font-size: 13px; line-height: 1.4; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-alert.dmadv-stats-centro-note svg { flex: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-alert.dmadv-stats-centro-note b { font-weight: 800; }
  /* banner: cantos 18px, botão a 16px */
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-media .img-block { border-radius: 18px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card .dmadv-preview-cta { margin-top: 16px; }
  /* botao solido (como no Inicio da massagista): .dmadv-preview-cta traz contorno rosa por defeito, aqui anulado */
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card .dmadv-preview-cta.dmadv-preview-cta.dmadv-preview-cta.dmadv-preview-cta { background: var(--dm-brand) !important; border: 0 !important; color: #fff !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card .dmadv-preview-cta.dmadv-preview-cta.dmadv-preview-cta.dmadv-preview-cta:hover { background: #e0308a !important; }
}


/* bug corrigido 2026-09-25: o aviso .dmadv-cnotes (desktop, passo 4.61) ficava sem estilo em mobile e repetia, a rosa, o aviso ja mostrado no topo (dmadv-mobile-alert-card) */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-cnotes { display: none; }
}


/* ===== Design 2026 — Editar Centro (passo 4.62): mesmos títulos de secção do Anúncio individual (Só consulta/Editável, ver dashboard-listing.php), só o kicker do topo muda ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-header-centro h2::before { content: "O seu centro"; }


/* ===== Design 2026 — Editar Centro (passo 4.63): serviços com nome + preço, Estado/Slogan em 2 colunas, Contactos e Horário lado a lado (desktop), etiquetas sem quebra ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-schedule-summary-row strong { white-space: nowrap; flex: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-schedule-summary-row.dmadv-centro-svc { justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-svc span { font-weight: 400; text-align: left; color: #2b2f3a; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-svc b { flex: none; max-width: 55%; font-weight: 800; text-align: right; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection.dmadv-centro-serv, .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection.dmadv-centro-obs { display: block; grid-column: 1 / -1; padding: 0; border-bottom: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-serv > .dmadv-tag-picker-zone-label, .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-obs > .dmadv-tag-picker-zone-label { margin-bottom: 4px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-obs .dmadv-listing-readonly-text { text-align: left; font-weight: 400; }
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 40px; align-items: start; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-serv, .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-obs { margin-top: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro form .dmadv-listing-cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
}
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection.dmadv-centro-serv { margin-top: 14px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection.dmadv-centro-obs { margin-top: 18px; }
}


/* Editar Centro (passo 4.63b): galeria em duas linhas em desktop (mesmo n.º de fotos por linha), mobile mantém a fila com scroll */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-gallery-preview { display: grid !important; grid-template-columns: repeat(var(--cols, 6), minmax(0, 1fr)); gap: 8px; overflow: visible; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-gallery-preview img.dmadv-listing-gallery-thumb { width: 100% !important; height: auto !important; max-width: none; flex: none; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 10px; }
}


/* Editar Centro (passo 4.63c): cabeçalho do protótipo — título + frase à esquerda, botão à direita; aviso em nota cinzenta por baixo */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-header-centro { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: nowrap; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-header-centro > a.dmadv-button { flex: none; white-space: nowrap; }
}
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-alert.dmadv-listing-admin-note { background: #f3f4f6; color: var(--dm-ink-soft); font-size: 13px; line-height: 1.6; border-radius: 12px; padding: 14px 18px; margin: 22px 0 0; }


/* Editar Centro (passo 4.63d): mobile — três cartões brancos como o protótipo (Estado+Slogan, Serviços, Observações), títulos a negrito */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card.dmadv-listing-card-locked:nth-child(2) > .dmadv-listing-card-subsection.dmadv-listing-card-subsection-first { padding: 14px 16px !important; background: #fff; border: 0 !important; border-radius: 20px 20px 0 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card.dmadv-listing-card-locked:nth-child(2) > .dmadv-listing-card-subsection:nth-child(2):not(.dmadv-centro-serv):not(.dmadv-centro-obs) { padding: 14px 16px; background-color: #fff; background-image: linear-gradient(var(--dm-line), var(--dm-line)); background-size: calc(100% - 32px) 1px; background-repeat: no-repeat; background-position: 16px 0; border: 0; border-radius: 0 0 20px 20px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection.dmadv-centro-serv, .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card:nth-child(2) > .dmadv-listing-card-subsection.dmadv-centro-obs { margin-top: 12px; padding: 16px; background: #fff; border-radius: 20px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-serv > .dmadv-tag-picker-zone-label, .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-obs > .dmadv-tag-picker-zone-label { display: block; margin: 0 0 6px; font-size: 17px; font-weight: 800; letter-spacing: 0; text-transform: none; color: var(--dm-ink); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-svc span { color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-centro-svc:last-child { border-bottom: 0; padding-bottom: 0; }
}


/* Editar Centro (passo 4.63e): mobile — o cartão-pai do Estado/Serviços/Observações fica sem fundo, para as três caixas brancas se verem */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor-centro .dmadv-listing-cards-grid-admin > .dmadv-listing-card.dmadv-listing-card-locked:nth-child(2) { background: none !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
}


/* ===== Design 2026 — Painel do Centro, Massagistas (passo 4.64): como o protótipo centro-massagistas.html — kicker Equipa + título 28px, tabela sem caixa, estados, validade com pastilha, barra de perfil, serviços em pastilhas, "Gerir"/"Contactar gestor" a preto; mobile = cartões brancos ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-heading-title { font-size: 28px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-heading-row { align-items: flex-start; gap: 16px; margin-bottom: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-heading-note { max-width: 34ch; text-align: right; font-size: 13px; line-height: 1.6; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-none { font-size: 13px; color: #8a8f9c; font-weight: 700; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-xp { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 99px; font-size: 11px; font-weight: 800; line-height: 1.4; vertical-align: 1px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-xp-crit { background: #fdecec; color: #96201f; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-xp-warn { background: #fff4e5; color: #8a5a00; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-mp { display: flex; align-items: center; gap: 10px; min-width: 110px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-mp-bar { flex: 1; height: 8px; border-radius: 99px; background: #f3f4f6; overflow: hidden; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-mp-bar i { display: block; height: 100%; border-radius: 99px; background: var(--dm-brand); }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-mp b { font-size: 13px; font-weight: 800; color: var(--dm-brand); }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-service-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat a.dmadv-service-badge { display: inline-flex; flex-direction: row-reverse; align-items: center; gap: 7px; padding: 5px 11px; border: 0; border-radius: 99px; background: var(--badge-bg); color: var(--badge-color); font-size: 12px; font-weight: 800; line-height: 1.3; text-decoration: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat a.dmadv-service-badge .dmadv-service-badge-icon { display: inline-flex; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-service-badge-icon svg { width: 14px; height: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat a.dmadv-table-link { color: var(--dm-ink) !important; font-size: 13px; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-row-off .dmadv-state-pill { background: #8a8f9c; color: #fff; font-size: 8px; font-weight: 800; letter-spacing: .06em; }
/* Expirado tem cor propria (vermelho solido), nunca o cinzento generico de "linha desligada" acima -- MESMA cor do cartao do Inicio, consistencia entre paineis. */
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-row-off .dmadv-state-pill.dmadv-state-expirado { background: #96201f; color: #fff; }
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-heading-row { margin-top: 32px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .table-scroll { border: 0; border-radius: 0; overflow: visible; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat table.dmadv-data-table-flat { margin-top: 24px; background: transparent; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat th { padding: 0 12px 12px 0; border-bottom: 1px solid var(--dm-line-strong); background: transparent; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8a8f9c; text-align: left; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td { padding: 16px 12px 16px 0; border-bottom: 1px solid var(--dm-line); vertical-align: middle; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat th:first-child, .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td:first-child { padding-left: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat tbody tr:last-child td { border-bottom: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-massagista { gap: 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-avatar { width: 38px; height: 38px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-massagista strong { font-size: 14px; font-weight: 800; color: var(--dm-ink); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-state-pill { padding: 4px 10px; border-radius: 999px; font-size: 8px; font-weight: 800; letter-spacing: .06em; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td.dmadv-td-action { text-align: right; padding-right: 0; white-space: nowrap; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-row-off .dmadv-table-massagista strong, .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-row-off .dmadv-dt { color: #8a8f9c; }
}
@media (max-width:700px){
  /* cabeçalho igual às outras páginas em mobile: kicker visível, padding-top 16px, título 24px */
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-ed-kicker { display: block; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-heading-row { flex-direction: column; gap: 6px; margin-bottom: 12px; padding-top: 16px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-heading-title { font-size: 24px; line-height: 1.2; letter-spacing: -.01em; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-heading-note { max-width: none; text-align: left; font-size: 13px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat tbody tr { padding: 16px; border: 0; border-radius: 18px; margin-bottom: 12px; box-shadow: 0 1px 2px rgba(20,30,50,.04); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-td-massagista { padding-bottom: 6px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-massagista { gap: 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-avatar { width: 44px; height: 44px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-massagista strong { font-size: 15px; font-weight: 800; color: var(--dm-ink); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label] { padding: 12px 0; font-size: 14px; font-weight: 700; color: var(--dm-ink); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label]::before { font-size: 14px; font-weight: 700; color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Serviços ativos"] { align-items: flex-start; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Serviços ativos"] .dmadv-service-badges { justify-content: flex-end; max-width: 62%; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Perfil completo"] .dmadv-mp { width: 55%; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-state-pill { padding: 4px 10px; border-radius: 999px; font-size: 8px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-row-off .dmadv-table-massagista strong { color: #8a8f9c; }

  /* cartão mobile (opção B): foto em retângulo na 1.ª coluna; nome+estado, plano, validade e serviços na 2.ª; o cartão inteiro é o link */
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat tbody tr { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; grid-template-rows: auto auto auto 1fr; column-gap: 14px; row-gap: 0; align-content: start; align-items: start; padding: 12px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label]::before { display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td, td[data-label], td.dmadv-td-massagista { padding: 0; margin: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat .dmadv-td-massagista, .dmadv-td-massagista .dmadv-table-massagista { display: contents; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat .dmadv-td-massagista .dmadv-table-avatar { grid-column: 1; grid-row: 1 / -1; width: 104px; height: 150px; border-radius: 12px; object-fit: cover; align-self: start; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat .dmadv-td-massagista strong { grid-column: 2; grid-row: 1; align-self: center; min-width: 0; overflow-wrap: anywhere; font-size: 24px; line-height: 1.15; letter-spacing: -.01em; padding-bottom: 10px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td.dmadv-col-estado { grid-column: 3; grid-row: 1; align-self: center; justify-self: end; line-height: 1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td.dmadv-col-plano { grid-column: 2 / -1; grid-row: 2; display: block; justify-self: start; line-height: 1; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td.dmadv-col-plano .dmadv-plan-pill { white-space: nowrap; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td.dmadv-col-plano .dmadv-plan-pill::before { content: "Plano "; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Expiração"] { grid-column: 2 / -1; grid-row: 3; display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 4px 6px; font-size: 13px; font-weight: 800; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Expiração"]::before { display: inline; content: "até"; font-size: 13px; font-weight: 700; color: #5b6070; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat .dmadv-row-off td[data-label="Expiração"]::before { content: none; display: none; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Expiração"] .dmadv-xp { margin: 0; vertical-align: baseline; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Serviços ativos"] { grid-column: 2 / -1; grid-row: 4; display: block; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Serviços ativos"] .dmadv-service-badges { justify-content: flex-start; max-width: none; gap: 8px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Serviços ativos"] a.dmadv-service-badge { font-size: 0; gap: 0; padding: 8px 10px; min-width: 36px; justify-content: center; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Serviços ativos"] a.dmadv-service-badge .dmadv-service-badge-icon svg { width: 18px; height: 18px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td.dmadv-td-action { position: absolute; inset: 0; padding: 0; margin: 0; border: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td.dmadv-td-action a.dmadv-table-link { position: absolute; inset: 0; display: block !important; overflow: hidden; font-size: 0 !important; line-height: 0 !important; color: transparent !important; text-indent: -9999px; white-space: nowrap; border-radius: 18px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label] { padding: 4px 0; }
}


/* Massagistas do centro (passo 4.64b): desktop — cabeçalhos e validade numa só linha, a coluna dos serviços fica com o espaço que sobra */
@media (min-width:701px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat th { white-space: nowrap; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td:not([data-label="Serviços ativos"]) { white-space: nowrap; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-data-table-flat td[data-label="Serviços ativos"] { width: 100%; }
}

/* ===== Design 2026 -- passo 4.65 (rev. 2026-09-25 b): Painel, Planos e Preços -- separador, voltar (mobile) e tabela "Normal ou Premium?".
 * A tabela é a MESMA da página Anunciar (marcação .dm2027-asec/.dm2027-cmp, CSS global do tema); aqui só os acrescentos dos valores. ===== */
/* passo 4.86: "Planos e Precos" volta a aparecer na barra inferior mobile (pedido do utilizador) -- deixou de estar escondida. */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-back { display: none; }
/* passo 4.87: .dmadv-pp-back escondida tambem em mobile agora (pedido do utilizador) -- Planos e Precos passou a ter tab propria na barra inferior, o "voltar" deixou de fazer sentido. */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-plans > .dm2027-asec:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
/* espaço entre o menu e o conteúdo: 28px, igual a Serviços Premium (.dmadv-premium-panel) e Editar Anúncio; em mobile a seta "Serviços Premium" já dá o espaço */
@media ( min-width: 701px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp { padding-top: 28px; }
}
/* o painel (dashboard.css) reescreve h2 e p: repõe os valores da página Anunciar */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-plans .dm2027-asec h2 { margin: 0; font-size: 24px; font-weight: 800; line-height: 1.25; color: var(--dm-ink) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-plans .dm2027-alede { max-width: 100%; margin: 8px 0 0; color: var(--dm-ink-soft); font-size: 14px; line-height: 1.6; }
@media ( max-width: 782px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp-plans .dm2027-asec h2 { font-size: 20px; }
}
.dmadv-dashboard.dmadv-dashboard .dm2027-cmp .dmadv-pp-cmp-v { font-size: 13px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dm2027-cmp > .dmadv-pp-cmp-price { flex-direction: column; gap: 2px; text-align: center; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-cmp-price b { font-size: 20px; font-weight: 800; line-height: 1.2; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-cmp-price-p b { color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-cmp-price b small { font-size: 12px; font-weight: 700; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-cmp-price span { font-size: 12px; color: var(--dm-ink-faint); }
@media ( max-width: 782px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp-cmp-price b { font-size: 16px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp-cmp-price b small { display: block; font-size: 11px; }
}
/* ===== passo 4.68: Planos e Preços -- secções "Como funciona", "Além das listas" e "Perguntas": regras copiadas do protótipo
 * painel/planos-e-precos.html (mesmos nomes de classe), só com o âmbito .dmadv-pp; .dmadv-toast do mockup renomeado .pp-toast
 * para nunca apanhar a CSS do Anúncio Flutuante real (toast.css). ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp { --border:var(--dm-line); --ink:#1e1e1e; --ink-soft:#5b6070; --ink-faint:#8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > section:first-of-type { border-top: 1px solid var(--dm-line-strong); margin-top: 40px; padding-top: 40px; }
/* Letra base do protótipo (14px, line-height normal) -- o painel herda 15px/24px do tema e esticava cartões, pílulas e botões. */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > section { font-size: 14px; line-height: normal; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > section > .lede { margin-bottom: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp section:has(#dmadv-pp-destaque) > .lede{max-width:100%;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp a.buy-link { color: #1e1e1e !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp a.lnk { color: #ff3c9f !important; font-weight: 800; font-size: 13px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp h2,.dmadv-dashboard.dmadv-dashboard .dmadv-pp h3{margin:0;font-weight:700;color:var(--ink);}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dmadv-available-now-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#10a64a;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dmadv-available-now-icon svg{display:block;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp details{background:transparent;border:none;padding:10px 0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp summary{font-weight:700;cursor:pointer;font-size:14px;color:var(--ink);}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp details p{margin:8px 0 0;font-size:13px;color:var(--ink-soft);line-height:1.5;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-frame{background:transparent;padding:0;margin-top:auto;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-inner{background:transparent;padding:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dmadv-trust-badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:5px;line-height:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dmadv-trust-badge svg{display:block;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dmadv-trust-badge-context-card-title svg{width:18px;height:18px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid{display:flex;gap:8px;overflow:hidden;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid > .single-item{flex:0 0 calc((100% - 24px)/4);min-width:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .img-block:has(.dmadv-gold-card-badge)::after{content:"";position:absolute;inset:0;border:6px solid #d7b94b;pointer-events:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .img-block{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:2/3;background:#CBD5E0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa{position:absolute;left:0;right:0;bottom:0;padding:8px;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.65) 45%,rgba(0,0,0,0) 100%);color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa .titulo{font-size:12px;font-weight:700;margin-bottom:1px;display:flex;align-items:center;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa .titulo .dmadv-trust-badge{margin-left:4px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa .titulo .dmadv-trust-badge svg{width:18px;height:18px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa div:not(.titulo){font-size:8.5px;font-weight:400;opacity:.9;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stats-block{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stats-block:last-child{margin-bottom:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stats-block h5{font-size:13px;font-weight:700;color:#1e1e1e;margin:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
@media (max-width:520px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-grid{grid-template-columns:repeat(2,1fr);}
}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-tile{background:#fff0f7;border-radius:6px;padding:12px 6px;text-align:center;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-value{display:block;font-size:20px;font-weight:700;color:#ff3c9f;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-label{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;color:#666;margin-top:2px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-label svg{flex:none;opacity:.75;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-grid-locked{filter:blur(6px);pointer-events:none;user-select:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewports{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start;}
@media (max-width:640px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewports{grid-template-columns:1fr;}
}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:#E2E8F0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-label{font-size:11px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop{height:260px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile{width:180px;height:260px;margin:0 auto;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-bg-grid{position:absolute;inset:0;padding:28px 10px 10px;display:grid;gap:6px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop .mock-bg-grid{grid-template-columns:repeat(4,1fr);}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile .mock-bg-grid{grid-template-columns:repeat(2,1fr);}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-bg-card{border-radius:6px;background:#CBD5E0;aspect-ratio:2/3;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .pp-toast-region{position:absolute;pointer-events:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop .pp-toast-region{left:10px;bottom:10px;width:38%;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile .pp-toast-region{left:8px;right:8px;bottom:8px;width:auto;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .pp-toast{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.28);}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .pp-toast-link{display:block;position:relative;aspect-ratio:2/3;background:#c4b1f7;text-decoration:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .pp-toast-text{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:3px;padding:10px 8px 8px;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.65) 45%,rgba(0,0,0,0) 100%);}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .pp-toast-badge{display:inline-flex;align-self:flex-start;padding:2px 7px;border-radius:20px;font-size:7.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,rgba(255,60,159,.88),rgba(224,51,140,.88));border:1px solid rgba(255,255,255,.16);}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .pp-toast-title{color:#fff;font-size:11px;font-weight:600;line-height:1.2;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .pp-toast-close{position:absolute;top:5px;right:5px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:10px;line-height:1;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile .pp-toast{background:#fff;border:1px solid var(--dm-line);box-shadow:0 6px 24px rgba(0,0,0,.14);border-radius:12px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile .pp-toast-link{display:flex;align-items:center;gap:8px;aspect-ratio:auto;background:none;padding:7px 26px 7px 7px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-toast-thumb{flex:none;width:34px;height:34px;border-radius:8px;object-fit:cover;background:#CBD5E0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile .pp-toast-text{position:static;background:none;padding:0;gap:1px;flex-direction:column;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile .pp-toast-badge{display:block;background:none;border:none;padding:0;border-radius:0;color:#d81b7a;font-size:7.5px;letter-spacing:.3px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile .pp-toast-title{color:#1e1e1e;font-size:11px;font-weight:600;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile .pp-toast-close{background:transparent;color:#5b6070;top:50%;right:2px;transform:translateY(-50%);width:16px;height:16px;font-size:11px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > section{padding:72px 0 0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ff3c9f;font-weight:700;margin-bottom:14px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp h2{font-size:20px;line-height:1.3;font-weight:800;letter-spacing:-.005em;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .lede{font-size:16px;line-height:1.8;color:#5b6070;margin-top:16px;max-width:52ch;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid{max-width:520px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 details{border-bottom:1px solid var(--dm-line);padding:18px 0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 summary{font-size:16px;font-weight:700;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 details p{font-size:14px;line-height:1.75;color:#5b6070;margin-top:10px;max-width:56ch;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .lede{font-size:16px;line-height:1.7;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > section{padding-top:64px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .map{margin-top:32px;border:1px solid var(--dm-line);border-radius:16px;overflow:hidden;background:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--dm-line);}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow:last-child{border-bottom:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow .k{font-size:12px;font-weight:800;color:#ff3c9f;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow .t{font-size:14px;font-weight:800;color:#1e1e1e;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow .s{font-size:12px;color:#8a8f9c;margin-top:2px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow .th{display:flex;gap:5px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow .th i{width:22px;height:30px;border-radius:6px;background:#cbd5e0;display:block;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow .th i.g{outline:2px solid #d7b94b;outline-offset:-2px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow.r1{background:#fff0f7;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow.r2{background:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow.r3{background:#eefaf2;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mrow.r4{background:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st{padding:40px 0 0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp #dmadv-pp-flutuante{padding-top:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st + .st{margin-top:40px;border-top:1px solid var(--dm-line);}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh .no{font-size:12px;font-weight:800;color:#ff3c9f;width:24px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh .ib{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh h3{font-size:18px;font-weight:800;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh .pill{margin-left:auto;font-size:13px;font-weight:800;padding:6px 12px;border-radius:99px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st p{font-size:14px;line-height:1.65;color:#5b6070;margin:12px 0 0 0;max-width:52ch;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st .mock-frame{margin:20px 0 0 0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st .mock-grid{max-width:480px;}
@media (max-width:560px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .st p,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st .mock-frame{margin-left:0;}
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh .pill{margin-left:0;}
}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sub2{margin:40px 0 0 0;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sub2:first-child{margin-top:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sub2:not(:first-child){border-top:1px solid var(--dm-line);padding-top:40px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sub2 .pill{font-size:12px;padding:4px 10px;border-radius:99px;font-weight:800;}
@media (max-width:560px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .sub2{margin-left:0;}
}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dur{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 0 0;max-width:480px;}
@media (max-width:560px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .dur{margin-left:0;}
}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc{position:relative;background:#fff0f7;border-radius:14px;padding:16px 10px 14px;text-align:center;border:2px solid transparent;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc .d{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ff3c9f;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc .v{font-size:34px;font-weight:800;color:#1e1e1e;line-height:1.1;margin-top:6px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc .u{font-size:12px;color:#8a8f9c;margin-top:4px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc.in{background:#fdf9ec;border-color:#d7b94b;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc.in .d{color:#ab8b2e;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc .in-b{position:absolute;left:50%;top:-11px;transform:translateX(-50%);background:#d7b94b;color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;white-space:nowrap;padding:4px 10px;border-radius:99px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile{height:280px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop .pp-toast-region{width:30%;left:12px;bottom:12px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-mobile .pp-toast-region{left:8px;right:8px;bottom:10px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dur{max-width:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st .mock-grid,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid{max-width:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .lede{max-width:80ch;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st p{max-width:100%;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 details p{max-width:80ch;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;}
@media (max-width:560px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid{grid-template-columns:repeat(2,1fr);}
}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .img-block{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:2/3;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .caixa{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.65) 45%,rgba(0,0,0,0) 100%);color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .titulo{font-size:18px;font-weight:700;display:flex;align-items:center;gap:0;margin-bottom:2px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .titulo .dmadv-available-now-icon{margin-left:6px;width:22px;height:22px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .titulo .dmadv-available-now-icon svg{width:12px;height:12px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .caixa div:not(.titulo){font-size:13px;opacity:.9;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .single-item:nth-child(2){opacity:.5;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .single-item:nth-child(3){opacity:.35;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .single-item:nth-child(4){opacity:.22;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .single-item:nth-child(2){opacity:.5;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .single-item:nth-child(3){opacity:.3;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .img-block{container-type:inline-size;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .caixa{padding:5.6cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa .titulo,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .caixa .titulo{font-size:7.2cqw;font-weight:700;margin-bottom:.8cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa div:not(.titulo),.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .caixa div:not(.titulo){font-size:5.2cqw;opacity:.9;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa .titulo .dmadv-trust-badge{margin-left:1.8cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .caixa .titulo .dmadv-trust-badge svg{width:8.8cqw;height:8.8cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .titulo .dmadv-available-now-icon{margin-left:2.4cqw;width:8.8cqw;height:8.8cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .titulo .dmadv-available-now-icon svg{width:4.8cqw;height:4.8cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport{background:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > section + section{border-top:1px solid var(--dm-line-strong);margin-top:40px;padding-top:40px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp a.lnk{text-decoration:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dispgrid .single-item:nth-child(n+2),.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-grid .single-item:nth-child(n+2){opacity:.25;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh .no:empty,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh .no[style*="opacity:0"]{display:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh .pill{margin-left:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .buy-link{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:#fff;color:#1e1e1e;border:1px solid #000;font-size:12px;font-weight:800;padding:6px 13px;border-radius:99px;text-decoration:none;white-space:nowrap;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .buy-link:hover{background:#f3f4f6;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .buy-link.ghost{background:#fff0f7;color:#ff3c9f;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .buy-link.ghost:hover{background:#ffe1ef;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .buy-link.in{margin-left:12px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp #dmadv-pp-pack .buy-link.in{margin-left:auto;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp #dmadv-pp-boost .buy-link.in{margin-left:auto;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp #dmadv-pp-topo .buy-link.in{margin-left:auto;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sub2{gap:14px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sub2 .ib2{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;gap:2px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st h3,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .sh h3{font-size:18px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .lede,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .lede{font-size:14px !important;line-height:1.5;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st p{font-size:14px;line-height:1.5;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .kicker{font-size:11px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc .v{font-size:28px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc .d,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dc .u{font-size:12px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .buy-link{font-size:12px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 summary{font-size:16px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 details p{font-size:14px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;animation:ppupfade 7s ease-in-out infinite;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid .single-item{border-radius:6px;position:relative;animation:ppupmove 7s cubic-bezier(.65,0,.35,1) infinite;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid .single-item:not(.me){opacity:.4;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid .single-item.me{z-index:2;animation-name:ppuplift;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid .img-block{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:2/3;container-type:inline-size;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid .caixa{position:absolute;left:0;right:0;bottom:0;padding:5.6cqw;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.65) 45%,rgba(0,0,0,0) 100%);color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid .caixa .titulo{font-size:7.2cqw;font-weight:700;margin-bottom:.8cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid .caixa div:not(.titulo){font-size:5.2cqw;opacity:.9;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .up-tag{position:absolute;top:5cqw;left:5cqw;color:#fff;font-size:5.4cqw;font-weight:800;padding:1.6cqw 3.6cqw;border-radius:99px;white-space:nowrap;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .up-cap{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:13px;color:#5b6070;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .up-arrow{width:22px;height:22px;border-radius:50%;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none;}
@keyframes ppupmove{
  0%,22%{transform:translate(0,0);}
  50%,92%{transform:translate(calc(var(--dx) * (100% + 6px)),calc(var(--dy) * (100% + 6px)));}
  93%,100%{transform:translate(0,0);}
}
@keyframes ppuplift{
  0%,22%{transform:translate(0,0) scale(1);box-shadow:none;}
  30%{transform:translate(0,0) scale(1.07);box-shadow:0 14px 30px rgba(20,30,50,.28);}
  50%{transform:translate(calc(var(--dx) * (100% + 6px)),calc(var(--dy) * (100% + 6px))) scale(1.07);box-shadow:0 14px 30px rgba(20,30,50,.28);}
  58%,92%{transform:translate(calc(var(--dx) * (100% + 6px)),calc(var(--dy) * (100% + 6px))) scale(1);box-shadow:0 0 0 0 rgba(0,0,0,0);}
  93%,100%{transform:translate(0,0) scale(1);box-shadow:none;}
}
@keyframes ppupfade{0%,86%{opacity:1;}90%,96%{opacity:0;}100%{opacity:1;}}
@media (prefers-reduced-motion:reduce){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid .single-item{animation:none;}
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .upgrid .single-item{transform:translate(calc(var(--dx) * (100% + 6px)),calc(var(--dy) * (100% + 6px)));}
}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .up-pack{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .up-pack .disp-title{font-size:16px !important;}
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .up-pack{grid-template-columns:1fr;}
}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop .pp-toast{container-type:inline-size;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop .pp-toast-text{padding:7cqw 6cqw 6cqw;gap:2.4cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop .pp-toast-badge{font-size:5.6cqw;padding:1.4cqw 3.8cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop .pp-toast-title{font-size:9cqw;font-weight:700;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-viewport-desktop .pp-toast-close{top:4.5cqw;right:4.5cqw;width:11cqw;height:11cqw;font-size:7cqw;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-toast-thumb{background:#c4b1f7 !important;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-tile{background:#e8fbfa !important;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-value{color:#0e8f88 !important;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .st p.ordline,.dmadv-dashboard.dmadv-dashboard .dmadv-pp .ordline{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:13px !important;color:#5b6070;margin-top:10px !important;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .ordtag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#2b2f3a;background:#f3f4f6;padding:4px 10px;border-radius:99px;white-space:nowrap;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .ordtag svg{color:#5b6070;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .eq{display:grid;grid-template-columns:1fr auto 1fr auto 1.15fr;align-items:stretch;gap:10px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .eqc{border-radius:16px;padding:16px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .eqc .ib{width:40px;height:40px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;gap:1px;margin-bottom:6px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .eqc b{font-size:14px;font-weight:800;color:#1e1e1e;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .eqc span:not(.ib){font-size:13px;color:#5b6070;line-height:1.4;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .eqc.pk{background:linear-gradient(135deg,#eef0fd,#fef3e9);box-shadow:inset 0 0 0 2px #d9d6f5;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .eq .op{align-self:center;width:28px;height:28px;border-radius:50%;background:#f3f4f6;color:#5b6070;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;}
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .eq{grid-template-columns:1fr;}
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .eq .op{justify-self:center;}
}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .kicker{font-weight:800 !important;letter-spacing:.12em !important;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .img-block{border-radius:8px !important;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .incd{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;font-weight:800;line-height:1.2;padding:5px 11px;border-radius:99px;background:linear-gradient(90deg,#d7b94b,#ab8b2e);color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-tile{background:#e8fbfa !important;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .mock-stat-value{color:#0e8f88 !important;}
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .rn2-tt h3{margin:16px 0 0;font-size:20px;font-weight:800;color:#1e1e1e;}

/* ===== passo 4.69: Planos e Preços em mobile -- cada secção numa caixa branca, como no protótipo painel/mobile/m-planos-e-precos.html
 * (.card/.svc: fundo #fff, raio 18/20px, padding 16px, 12px entre caixas; títulos de secção fora das caixas). ===== */
@media ( max-width: 700px ) {
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp { background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 1px 2px rgba(20,30,50,.04); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp > .dm2027-cmp-grp { padding-left: 14px; padding-right: 14px; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .map { margin-top: 16px; border: 0; border-radius: 18px; box-shadow: 0 1px 2px rgba(20,30,50,.04); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .st,
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .st + .st { background: #fff; border: 0; border-radius: 20px; padding: 16px; margin-top: 12px; box-shadow: 0 1px 2px rgba(20,30,50,.04); }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 { background: #fff; border-radius: 18px; padding: 2px 16px; margin-top: 16px !important; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 details:last-child { border-bottom: 0; }
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp > section:first-of-type,
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp > section + section { border-top: 0; margin-top: 30px; padding-top: 0; }
}

/* passo 4.70: coluna de renovacao do Inicio quando o anuncio esta EXPIRADO (DMADV_Premium_Plan::render_purchase_options_column) -- sem caixa envolvente (mesmo padrao 'sem caixa' do resto do painel), planos lado a lado como o prototipo painel/index-expirado.html #renovar (nunca a faixa horizontal .dmadv-plan-strip, essa fica so' para o rodape largo de Servicos Premium). */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col { padding: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-kicker { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-title { font-size: 20px; font-weight: 800; color: var(--dm-ink); margin: 0 0 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-lede { font-size: 14px; color: #5b6070; margin: 0 0 18px; line-height: 1.5; max-width: 620px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plans { display: flex; flex-direction: column; gap: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan { background: #fff; border: 1px solid var(--dm-line-strong); border-radius: 14px; padding: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan.is-gold { background: #fdf9ec; border-color: #ecdfa8; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-name { font-size: 15px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan.is-gold .dmadv-renew-plan-name { color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-price { font-size: 15px; font-weight: 800; color: var(--dm-ink); white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-price small { font-size: 12px; font-weight: 600; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-feats { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-feats li { font-size: 12.5px; color: #5b6070; padding-left: 16px; position: relative; line-height: 1.4; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-feats li::before { content: ''; position: absolute; left: 0; top: 6px; width: 6px; height: 6px; border-radius: 999px; background: #b4b8c1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan.is-gold .dmadv-renew-plan-feats li::before { background: #d7b94b; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan .dmadv-product-duration-buttons { margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan button.dmadv-product-buy { display: block; width: 100%; text-align: center; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan button.dmadv-product-buy:not(.dmadv-product-buy-gold) { background: #fff !important; border: 1px solid var(--dm-line-strong) !important; color: var(--dm-ink) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan button.dmadv-product-buy.dmadv-product-buy-gold { background: #d7b94b !important; border: 1px solid #d7b94b !important; color: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan button.dmadv-product-buy.dmadv-product-buy-gold:hover { background: #c0a43f !important; }
@media (min-width: 701px) { .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview a.dmadv-preview-cta-block.dmadv-renew-cta-jump { display: none; } }


/* passo 4.71: servico 'por ativar' do plano NORMAL usa cinzento, nao dourado -- ate agora este bloco assumia sempre Premium (comentarios 4.51/4.54b/4.58 dizem-no explicitamente), mas o Normal tambem pode ter servicos no plano (ex.: Disponivel Agora). Marca .is-base na linha (render_panel_block()) e sobrepõe aqui, com especificidade igual ou maior que as regras douradas que sobrepõe. */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row.is-base .dmadv-pl-ib { background: #f3f4f6 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row-todo.is-base .dmadv-button.dmadv-pl-go,
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row-todo.is-base .dmadv-button.dmadv-pl-go:hover { background: #fff !important; border: 1.5px solid var(--dm-line-strong) !important; color: var(--dm-ink) !important; }


/* passo 4.72: mesma correcao do 4.71, mas para o icone SVG em si (circulo+traco) -- 4.58 recolore sempre a dourado (fill/stroke do circulo e do path), nao so o azulejo; para .is-base (plano Normal) usa cinzento em vez de dourado, nunca a cor original do servico (o padrao desta caixa e' sempre pintar o icone na cor do PLANO, so muda qual). */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row.is-base .dmadv-pl-ib svg[fill]:not([fill="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row.is-base .dmadv-pl-ib svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #b4b8c1 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row.is-base .dmadv-pl-ib svg[stroke]:not([stroke="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row.is-base .dmadv-pl-ib svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #b4b8c1 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-row.is-base .dmadv-pl-ib svg circle { fill: #b4b8c1 !important; }


/* passo 4.73: #wrapper do Kadence tem overflow:hidden/clip, que corta (clipa)
 visualmente qualquer descendente 'position:fixed' que ultrapasse essa caixa --
 comportamento real dos motores de renderizacao, apesar de position:fixed
 nao ter #wrapper como containing block. O modal (.dmadv-modal, painel do
 anunciante) fica mais alto consoante o conteudo (ex.: campo Local); quando
 ultrapassa a caixa, os botoes Guardar/Cancelar ficam cortados e o rodape
 do site (irmao seguinte dentro do MESMO #wrapper) aparece nesse espaco.
 So' nas paginas do painel (body.dmadv-app-mode), nunca no resto do site. */
body.dmadv-app-mode #wrapper { overflow: visible; }


/* passo 4.74: dialogo 'Ativar X?' de um servico do PLANO deve refletir a cor
 do plano (dourado Premium / cinzento Normal), nunca a cor propria do servico
 (isso e' so' para o azulejo da lista publica) -- mesma regra ja aplicada ao
 azulejo da linha 'Por ativar' (passo 4.71/4.72). .is-base/.is-premium
 marcados por render_panel_block() (row_html()), vencem as 16 regras por
 efeito (.dmadv-act-<efeito>) por terem a MESMA especificidade e vir depois. */
.dmadv-modal-dialog[class*='dmadv-act-'].is-premium { --dmadv-sv: #d7b94b; --dmadv-tint: #fdf9ec; --dmadv-tint2: #ecdfa8; --dmadv-tone: #ab8b2e; --dmadv-on: #fff; }
.dmadv-modal-dialog[class*='dmadv-act-'].is-base { --dmadv-sv: #5b6070; --dmadv-tint: #f3f4f6; --dmadv-tint2: var(--dm-line-strong); --dmadv-tone: #5b6070; --dmadv-on: #fff; }


/* passo 4.76: opção C -- renovação ja paga integrada na propria grelha Expiração/Restantes (DMADV_Preview_Card::render()), em vez de uma faixa a parte (revertido 4.75). Valores da grelha passam a ser os PROJETADOS; so' um ✓ verde junto a Expiração + linha 'Muda para' condicional (so' quando o plano muda). */
.dmadv-dashboard.dmadv-dashboard .dmadv-status-paid-check { display: inline-block; margin-left: 5px; color: #10a64a; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-status-plan-change { color: #ab8b2e; }


/* passo 4.77: selo "Plano Premium" junto ao titulo da Conta -- uniformizar com o selo ja usado em Estatisticas Premium (.dmadv-premium-mark), mesmo icone/cor (--dm-svc-premium), so' com o texto por baixo do h2 em vez de sequido do titulo ("Conta Premium" nao faz sentido como o "Estatisticas Premium") */
.dmadv-dashboard.dmadv-dashboard .dmadv-acct-plan { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: 13px; font-weight: 800; color: var(--dm-svc-premium); }
.dmadv-dashboard.dmadv-dashboard .dmadv-acct-plan svg { display: block; flex: none; }


/* passo 4.78: corrige 4.77 -- a regra que escondia .dmadv-acct-plan em mobile ficava ANTES desta no ficheiro (mesma especificidade, quem vem depois ganha), por isso continuava visivel; repetida aqui no fim para vencer o cascade. */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-acct-plan { display: none; }
}


/* passo 4.79: Editar Anúncio -- mesmo padrao da Conta: em mobile so' o icone na barra (topbarBadge), a linha "Plano Premium" por baixo do titulo fica so' para desktop. */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-listing-editor .dmadv-acct-plan { display: none; }
}


/* passo 4.80: Editar Anúncio -- "Plano Premium" passa a pill em frente ao nome, dentro do proprio h2 (pedido do utilizador), em vez de linha por baixo. */
.dmadv-dashboard.dmadv-dashboard .dmadv-acct-plan-pill { display: inline-flex; align-items: center; gap: 5px; vertical-align: middle; margin-left: 12px; padding: 5px 12px 5px 8px; border-radius: 999px; font-size: 13px; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-acct-plan-pill.is-premium { background: var(--dm-svc-premium-bg); color: var(--dm-svc-premium); }
.dmadv-dashboard.dmadv-dashboard .dmadv-acct-plan-pill.is-normal { background: var(--dm-muted); color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-acct-plan-pill svg { display: block; flex: none; }


/* passo 4.81: Estatisticas mobile -- agora que o cabecalho (O seu anuncio/titulo/subtitulo) volta a aparecer no conteudo, falta o mesmo espaco de respiro do topo que o Editar Anuncio ja tem (16px). */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat { padding-top: 16px; }
}


/* passo 4.82: Estatisticas mobile -- margem por cima do proprio eyebrow "O seu anuncio", nao so' do painel. */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-stats-panel-flat > h2::before { margin-top: 4px; }
}


/* passo 4.83: Início mobile -- "Desempenho do anúncio" com o mesmo tamanho/peso do titulo do Editar Anúncio (24px/800), nao o de um subtitulo de secção (.dmadv-mobile-section-title, 18px). */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-title { font-size: 24px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; margin: 0 !important; text-align: left; }


/* passo 4.84: Início mobile -- "Resumo" nao estava rosa nem com o espaçamento do desktop; reforçar especificidade e margens explicitas para vencer resets do tema. */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-title::before { content: "Anúncio"; display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 8px; }


/* passo 4.85: Início mobile -- renovacao/planos (DMADV_Premium_Plan::render_purchase_options) sai de dentro do cartao da capa e passa a caixa propria por baixo (pedido do utilizador). .dmadv-plan-strip ja tem fundo/padding proprios (cinza ou dourado is-premium); aqui so' se tira o border-top (fazia sentido dentro do cartao antigo, nao numa caixa isolada) e da-se cantos arredondados. */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-plan-strip { border-top: 0; border-radius: 16px; }


/* passo 4.88: Planos e Precos mobile -- o espaco do topo vinha da seta ".dmadv-pp-back" (agora escondida, passo 4.87); sem ela falta padding-top, igual ao que ja existe em Editar Anuncio/Estatisticas. */
@media (max-width:700px){
  .dmadv-dashboard.dmadv-dashboard .dmadv-pp { padding-top: 16px; }
}
/* Pill do plano nos serviços ativos vindos do plano (nome do plano, ex. Premium) */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-head .dmadv-svc-card-plan { margin-left: auto; padding: 3px 9px; border-radius: 99px; background: #fff; color: var(--svc-color, #ab8b2e); font-size: 11px; font-weight: 800; white-space: nowrap; }

/* Disponivel Agora (Servicos Premium): bloco de saldo no mesmo desenho dos botoes de duracao (mosaico com a cor do servico + botao cheio) */
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-balance { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: stretch; margin-top: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-balance form { display: contents; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-balance .dmadv-avail-msg { grid-column: 1 / -1; margin: 0; font-size: 13px; color: var(--dmadv-tone, #10a64a); }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-balance p.dmadv-avail-bal { margin: 0; padding: 16px 10px 14px; border-radius: 14px; background: var(--dmadv-tile, #eefaf2); text-align: center; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-bal .dmadv-avail-lbl { display: block; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--dmadv-tone, #10a64a); }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-bal .dmadv-avail-colon { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-bal strong { display: block; margin-top: 6px; font-size: 24px; font-weight: 800; line-height: 1.1; color: #1e1e1e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-bal strong::after { content: " h"; font-size: 13px; font-weight: 700; color: #8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-balance .dmadv-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin: 0; padding: 0 18px; border: 2px solid transparent !important; border-radius: 14px; background: var(--dmadv-tone, #10a64a) !important; color: #fff !important; font-size: 15px; font-weight: 800; box-shadow: none !important; cursor: pointer; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-balance .dmadv-button:disabled { border: 2px dashed var(--dm-line-strong) !important; background: var(--dm-surface) !important; color: #8a8f9c !important; cursor: not-allowed; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card p.dmadv-muted.dmadv-avail-note { margin: 10px 0 0; font-size: 12px; line-height: 1.4; color: #8a8f9c; }
@media (max-width:700px){
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-balance { grid-template-columns: minmax(0, 1fr); margin-top: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-balance p.dmadv-avail-bal { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; text-align: left; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avail-bal strong { margin-top: 0; }
}

/* Menu do anunciante fixo ao fazer scroll (desktop): cola por baixo do cabecalho fixo do site (63px; +32px com a barra de admin do WP) */
@media (min-width:701px){
.dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs { position: sticky; top: 63px; z-index: 30; background: #fff; }
body.admin-bar .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs { top: 95px; }
}

/* Servicos ativos vindos do plano (Inicio): o icone segue a cor do plano (a do cartao, --svc-color) */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-planned .dmadv-svc-card-icon svg[fill]:not([fill="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-planned .dmadv-svc-card-icon svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: var(--svc-color) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-planned .dmadv-svc-card-icon svg[stroke]:not([stroke="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-planned .dmadv-svc-card-icon svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: var(--svc-color) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-planned .dmadv-svc-card-icon .dmadv-available-now-icon { background: var(--svc-color) !important; }

/* Perfil Verificado a expirar (Inicio): aviso sob o estado, na cor do cartao */
.dmadv-dashboard.dmadv-dashboard a.dmadv-svc-card-nudge, .dmadv-dashboard.dmadv-dashboard a.dmadv-svc-card-nudge:hover { display: block; margin: -4px 0 0; font-size: 12px; font-weight: 700; line-height: 1.3; color: var(--svc-color, #0089b8) !important; text-decoration: none !important; }

/* Mobile: sem o botao "Ver anuncio publico" no cartao do Inicio */
@media (max-width:700px){
.dmadv-dashboard.dmadv-dashboard .dmadv-preview-cta-block, .dmadv-dashboard.dmadv-dashboard .dmadv-preview-cta { display: none !important; }
}

/* Mobile, cartao do anuncio no Inicio: Expiracao / Restantes numa linha (rotulo com icone a esquerda, valor a direita), como em desktop */
@media (max-width:700px){
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-mobile-preview-info-row { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 4px !important; border: 0; border-bottom: 1px solid #eee3e9; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-mobile-preview-info-row:last-of-type { border-bottom: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-mobile-preview-info-label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px !important; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-mobile-preview-info-label svg { display: inline-block !important; flex: none; width: 16px; height: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-mobile-preview-info-value { font-size: 13px !important; font-weight: 800; color: var(--dm-ink); text-align: right; white-space: nowrap; }
}

/* Linha-resumo do plano em Servicos + resumo de servicos por ativar em O meu plano */
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; padding: 12px 16px; border-radius: 14px; background: #fdf9ec; color: #ab8b2e; text-decoration: none; font-size: 14px; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline.is-base { background: #f3f4f6; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline .dmadv-pl-planline-ic { display: inline-flex; flex: none; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline .dmadv-pl-planline-tx { flex: 1; min-width: 0; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline .dmadv-pl-planline-go { font-weight: 800; white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard p.dmadv-pl-todo-link { margin: 14px 0 0; font-size: 13px; }
.dmadv-dashboard.dmadv-dashboard p.dmadv-pl-todo-link a { font-weight: 800; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline .dmadv-pl-planline-go { display: none; } }

/* O meu plano: mais espaco entre o cartao do plano (e o resumo dos servicos por ativar) e a seccao Planos */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > .dmadv-premium-panel { margin-bottom: 48px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > .dmadv-premium-panel p.dmadv-pl-todo-link { margin-top: 20px; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-pp > .dmadv-premium-panel { margin-bottom: 32px; } }

/* Tabela Normal vs Premium (desktop): valores das linhas maiores e mais legiveis */
@media (min-width:701px){
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp .dmadv-pp-cmp-v { font-size: 17px; font-weight: 800; line-height: 1.2; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp .dm2027-cmp-sm { font-size: 13px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp-lb > div > b { font-size: 15px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp-lb > div > span { font-size: 13px; }
}

/* Tabela Normal vs Premium: espaco entre as colunas Normal e Premium (a coluna de rotulos fica colada a Normal) */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp { --cmp-gap: 12px; column-gap: var(--cmp-gap); }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp { --cmp-gap: 6px; } }
/* a linha de baixo de cada celula continua no espaco entre colunas (rotulos > Normal, Normal > Premium) */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp > .dm2027-cmp-lb, .dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp > .dm2027-cmp-c.dm2027-cmp-n { position: relative; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp > .dm2027-cmp-lb::after, .dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp > .dm2027-cmp-c.dm2027-cmp-n::after { content: ''; position: absolute; right: calc(-1 * var(--cmp-gap)); bottom: -1px; width: var(--cmp-gap); height: 1px; background: var(--dm-line); }

/* Linha do plano em Servicos: cor do plano (dourado / cinzento no Base) em vez da cor de link do tema */
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline, .dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline:hover, .dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline:focus, .dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline * { color: #ab8b2e !important; text-decoration: none !important; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline.is-base, .dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline.is-base:hover, .dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline.is-base:focus, .dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline.is-base * { color: #5b6070 !important; }

/* Servicos ativos e beneficios (desktop): pills Premium / Gratis maiores */
@media (min-width:701px){
.dmadv-dashboard.dmadv-dashboard .dmadv-now-tag { padding: 6px 14px; font-size: 13px; line-height: 1.2; }
}

/* Tabela Normal vs Premium (mobile): cabecalho mais baixo, para a zona branca a esquerda (celula vazia dos rotulos) ocupar menos */
@media (max-width:700px){
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp > .dm2027-cmp-h { padding: 12px 6px 10px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp > .dm2027-cmp-h:first-child { padding: 0; min-height: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp-h b { margin-top: 4px; font-size: 13px; line-height: 1.25; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp-h .dm2027-cmp-nm { font-size: 11px; letter-spacing: .1em; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp-h .dm2027-cmp-d { display: none; }
}

/* Perguntas (Antes de escolher) em O meu plano: letra mais pequena */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 summary { font-size: 14px; font-weight: 700; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 details p { font-size: 13px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .faq2 details { padding: 14px 0; }

/* Linha do plano em Servicos: margem por cima (desktop e mobile) */
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline { margin-top: 20px; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline { margin-top: 14px; } }

/* Tabela Normal vs Premium: em mobile, lista simples (leitura rapida); em desktop, a tabela */
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dmadv-pp-mlist { display: none; }
@media (max-width:700px){
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dm2027-cmp { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp .dmadv-pp-mlist { display: block; margin-top: 20px; padding: 14px; background: #fff; border-radius: 18px; box-shadow: 0 1px 2px rgba(20,30,50,.04); }
.dmadv-pp-mlist-hd { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dmadv-pp-mlist-plan { padding: 14px 8px; border-radius: 14px; text-align: center; background: #f3f4f6; }
.dmadv-pp-mlist-plan-p { background: #fdf9ec; }
.dmadv-pp-mlist-plan .nm { display: block; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #5b6070; }
.dmadv-pp-mlist-plan-p .nm { color: #ab8b2e; }
.dmadv-pp-mlist-plan b { display: block; margin-top: 4px; font-size: 26px; font-weight: 800; line-height: 1.15; color: var(--dm-ink); }
.dmadv-pp-mlist-plan-p b { color: #ab8b2e; }
.dmadv-pp-mlist-plan .rn { display: block; margin-top: 2px; font-size: 12px; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-mlist p.dmadv-pp-mlist-both { margin: 14px 2px 0; font-size: 13px; line-height: 1.5; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-mlist p.dmadv-pp-mlist-lb { margin: 20px 2px 4px; padding-bottom: 8px; border-bottom: 1px solid var(--dm-line); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-ink-faint); }
.dmadv-pp-mlist-lb span { font-weight: 700; letter-spacing: 0; text-transform: none; }
.dmadv-pp-mlist-row { display: flex; align-items: center; gap: 12px; padding: 12px 2px; border-bottom: 1px solid var(--dm-line); }
.dmadv-pp-mlist-row:last-child { border-bottom: 0; }
.dmadv-pp-mlist-row .ic { display: flex; flex: none; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; }
.dmadv-pp-mlist-row .t { flex: 1; min-width: 0; font-size: 15px; font-weight: 800; line-height: 1.3; color: var(--dm-ink); }
.dmadv-pp-mlist-row .t small { display: block; margin-top: 1px; font-size: 12px; font-weight: 400; color: var(--dm-ink-faint); }
.dmadv-pp-mlist-row .v { font-size: 16px; font-weight: 800; color: var(--dm-ink); white-space: nowrap; }
.dmadv-pp-mlist-row .ok { display: flex; flex: none; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #d7b94b; color: #fff; font-size: 13px; font-weight: 800; }
}

/* O meu plano: servicos por ativar integrados no cartao do plano (linha com separador, texto a esquerda, botao a direita, como as linhas Por ativar) */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0; padding: 16px 0 4px; border-top: 1px solid var(--dm-line); }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link .dmadv-pl-todo-tx { font-size: 14px; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link .dmadv-pl-todo-tx b { font-weight: 800; color: var(--dm-ink); }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link { flex-direction: column; align-items: stretch; gap: 10px; } .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link .dmadv-pl-go { width: 100%; text-align: center; justify-content: center; } }

/* O meu plano: servicos por ativar como segunda faixa do cartao do plano (mesma cor e cantos da faixa de cima; botao branco como "Mudar para Plano Normal") */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link { margin: 10px 0 0; padding: 12px 18px; border: 0; border-radius: 18px; background: #fdf9ec; gap: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-box-base .dmadv-pl-todo-link { background: #f3f4f6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link .dmadv-pl-todo-tx { font-size: 15px; color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-box-base .dmadv-pl-todo-link .dmadv-pl-todo-tx { color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link .dmadv-pl-todo-tx b { color: #1e1e1e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link a.dmadv-pl-go, .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-todo-link a.dmadv-pl-go:hover { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px; border: 0 !important; border-radius: 14px; background: #fff !important; color: #1e1e1e !important; font-size: 15px; font-weight: 800; box-shadow: 0 1px 2px rgba(20,30,50,.06) !important; text-decoration: none !important; }

/* O meu plano: servicos do plano por ativar em chips DENTRO da faixa do plano (opcao C) */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-top .dmadv-pl-todo-link { flex: 0 0 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 4px 0 0; padding: 14px 0 0; border: 0; border-top: 1px solid rgba(171,139,46,.28); border-radius: 0; background: transparent; }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-top.is-base .dmadv-pl-todo-link { border-top-color: rgba(91,96,112,.25); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-todo-link .dmadv-pl-todo-lb { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base .dmadv-pl-todo-lb { color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-todo-link .dmadv-pl-todo-chips { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 auto; min-width: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-todo-link .dmadv-pl-todo-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 10px; background: #fff; color: #1e1e1e; font-size: 14px; font-weight: 800; line-height: 1.2; box-shadow: 0 1px 2px rgba(20,30,50,.06); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-todo-link .dmadv-pl-todo-chip i { font-style: normal; font-weight: 700; color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base .dmadv-pl-todo-chip i { color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-todo-go, .dmadv-dashboard.dmadv-dashboard a.dmadv-pl-todo-go:hover { flex: none; font-size: 14px; font-weight: 800; color: #ab8b2e !important; text-decoration: none !important; white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-top.is-base a.dmadv-pl-todo-go { color: #5b6070 !important; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-top .dmadv-pl-todo-link { gap: 8px; } .dmadv-dashboard.dmadv-dashboard .dmadv-pl-todo-link .dmadv-pl-todo-lb { flex: 0 0 100%; } .dmadv-dashboard.dmadv-dashboard .dmadv-pl-todo-link .dmadv-pl-todo-chips { flex: 0 0 100%; } }

/* Contador de servicos por ativar no separador Servicos do menu */
.dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs a.dmadv-tab { position: relative; }
.dmadv-dashboard.dmadv-dashboard .dmadv-tab-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; margin-left: 6px; padding: 0 5px; border-radius: 99px; background: #d7b94b; color: #fff; font-size: 11px; font-weight: 800; line-height: 1; }
@media (max-width:700px){ .dmadv-dashboard.dmadv-dashboard .dmadv-tab-badge { position: absolute; top: 4px; left: calc(50% + 6px); margin: 0; min-width: 16px; height: 16px; font-size: 10px; } }

/* Servicos por ativar na faixa do plano: depois do anel de dias (order 3 em mobile) e antes da renovacao (order 5), para os 5 dias ficarem na linha do plano */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-top .dmadv-pl-todo-link { order: 4; }

/* Por ativar (Servicos): servicos SEM plano (creditos avulsos, saldo do Disponivel Agora) mantem a cor original do servico; os do plano ficam nas cores do plano com um pill com o nome do plano */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-ib-own { display: flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-ib-own svg { width: 20px; height: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-ib-own.dmadv-pl-ib-sm { display: inline-flex; width: 32px; height: 32px; margin-right: 10px; vertical-align: middle; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-t em.dmadv-pl-planpill { display: inline-block; margin-left: 8px; padding: 3px 10px; border-radius: 99px; background: #fdf9ec; color: #ab8b2e; font-size: 11px; font-style: normal; font-weight: 800; line-height: 1.3; vertical-align: middle; white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-t em.dmadv-pl-planpill.is-base { background: #f3f4f6; color: #5b6070; }

/* Pill Oferta: servicos recebidos por credito (sem plano) */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-t em.dmadv-pl-planpill.is-offer { background: #fff6cc; color: #8a6400; }

/* Servicos ativos (Neste momento): servico do plano com as cores do plano; pill Oferta para creditos oferecidos */
.dmadv-dashboard.dmadv-dashboard .dmadv-now-tag.dmadv-now-tag-offer { background: #fff6cc; color: #8a6400; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-tag.dmadv-now-tag-base { background: #f3f4f6; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan .dmadv-now-ib { background: #fdf9ec !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan .dmadv-now-ib svg[fill]:not([fill="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan .dmadv-now-ib svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #d7b94b !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan .dmadv-now-ib svg[stroke]:not([stroke="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan .dmadv-now-ib svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #d7b94b !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan .dmadv-now-ib svg path[stroke="#fff"] { stroke: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan .dmadv-now-ib .dmadv-available-now-icon { background: #d7b94b !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan.is-base .dmadv-now-ib { background: #f3f4f6 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan.is-base .dmadv-now-ib svg[fill]:not([fill="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan.is-base .dmadv-now-ib svg [fill]:not([fill="none"]):not([fill="#fff"]):not([fill="#ffffff"]) { fill: #b4b8c1 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan.is-base .dmadv-now-ib svg[stroke]:not([stroke="none"]), .dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan.is-base .dmadv-now-ib svg [stroke]:not([stroke="none"]):not([stroke="#fff"]) { stroke: #b4b8c1 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-row-plan.is-base .dmadv-now-ib .dmadv-available-now-icon { background: #b4b8c1 !important; }

/* Modal aberto: o menu do anunciante (sticky) e o cabecalho do site ficam por baixo do fundo escurecido do modal */
body:has(.dmadv-modal:not([hidden])) .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs { z-index: 0 !important; }
body:has(.dmadv-modal:not([hidden])) #masthead { z-index: 0 !important; }

/* Pill do plano Premium: fundo #ab8b2e, letras brancas (Por ativar, Neste momento e cartoes do Inicio); o Base e a Oferta mantem as suas cores */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-t em.dmadv-pl-planpill:not(.is-base):not(.is-offer),
.dmadv-dashboard.dmadv-dashboard .dmadv-now-tag:not(.dmadv-now-tag-offer):not(.dmadv-now-tag-base):not(.dmadv-now-tag-free),
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-head .dmadv-svc-card-plan:not(.is-base) { background: #d7b94b; color: #fff; }

/* Renovacao (anuncio expirado) em desktop: dois cartoes lado a lado, Premium em destaque; texto igual ao mobile */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan { position: relative; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-tag { display: inline-block; margin: 0 0 8px; padding: 3px 10px; border-radius: 99px; background: #d7b94b; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-renew-more { display: block; margin: 16px 0 0; text-align: center; color: var(--dm-ink) !important; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan { display: flex; flex-direction: column; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan .dmadv-renew-plan-feats { flex: 1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan:not(.is-gold) { padding-top: 16px; }
}

.dmadv-dashboard.dmadv-dashboard .dmadv-renew-tag.is-ghost { display: none; }
@media (min-width: 901px) { .dmadv-dashboard.dmadv-dashboard .dmadv-renew-tag.is-ghost { display: inline-block; visibility: hidden; } }

/* Renovacao (anuncio expirado), DESKTOP: cartoes com preco grande, vistos no Normal e chips coloridos no Premium (opcao A) */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-desk { display: none; }
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan { padding: 22px 24px; border-radius: 18px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head { flex-direction: column; align-items: flex-start; gap: 2px; margin-bottom: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-name { font-size: 17px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-price { font-size: 34px; font-weight: 800; line-height: 1.1; letter-spacing: -.01em; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan.is-gold .dmadv-renew-plan-price { color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-price small { font-size: 13px; font-weight: 600; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-feats { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-desk { display: block; flex: 1; margin: 6px 0 18px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-checks li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-checks i { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--dm-line); color: #5b6070; font-size: 12px; font-style: normal; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 7px; border-radius: 12px; background: #fff; color: #1e1e1e; font-size: 14px; font-weight: 800; line-height: 1.2; box-shadow: 0 1px 2px rgba(20,30,50,.06); }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chip i { font-style: normal; font-weight: 700; color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chip-ic { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chip-ic svg { width: 16px; height: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan button.dmadv-product-buy { min-height: 50px; border-radius: 14px; font-size: 15px; font-weight: 800; }
}

/* Renovacao, DESKTOP: "Recomendado" como fita diagonal no canto superior direito do cartao Premium (em mobile/ecras estreitos fica o pill de antes) */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan { overflow: hidden; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-tag.is-ghost { display: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-tag:not(.is-ghost) { position: absolute; top: 24px; right: -42px; width: 168px; margin: 0; padding: 6px 0; border-radius: 0; text-align: center; transform: rotate(40deg); background: #d7b94b; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 1px 3px rgba(171,139,46,.35); }
}

/* Renovacao, DESKTOP: icone do plano (selo cinzento no Normal, dourado no Premium) ao lado do nome */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-ic { display: none; }
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-name { display: inline-flex; align-items: center; gap: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-ic { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; flex: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-ic svg { width: 24px; height: 24px; }
}

/* Renovacao, DESKTOP: o preco fica alinhado por baixo do NOME do plano (depois do icone de 40px + 12px de espaco) */
@media (min-width: 901px) { .dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-price { padding-left: 52px; } }

/* Renovacao, DESKTOP: icone do plano centrado na vertical em relacao ao bloco nome + preco (nome em cima, preco por baixo, os dois ao lado do icone) */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head { display: grid; grid-template-columns: 40px auto; column-gap: 12px; row-gap: 0; align-items: center; justify-content: start; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-name { display: contents; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-ic { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-price { grid-column: 2; padding-left: 0; }
}

/* Renovacao, DESKTOP: cartao Normal com fundo cinza (o Premium continua creme) */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan:not(.is-gold) { background: #f3f4f6; border-color: var(--dm-line-strong); }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan:not(.is-gold) .dmadv-renew-checks i { background: #fff; }
}

/* Renovacao, DESKTOP: icone do plano a 48px */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head { grid-template-columns: 48px auto; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-ic { width: 48px; height: 48px; border-radius: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-ic svg { width: 28px; height: 28px; }
}

/* Renovacao: fundo do icone do plano a branco */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-ic { background: #fff !important; }

/* Renovacao (anuncio expirado), MOBILE e ecras estreitos (<= 900px): cartoes empilhados, Premium primeiro, fita "Recomendado", icone a 44px com fundo branco, Normal cinzento */
@media (max-width: 900px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plans { display: flex; flex-direction: column; gap: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan { position: relative; overflow: hidden; padding: 16px; border-radius: 18px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan.is-gold { order: -1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan:not(.is-gold) { background: #f3f4f6; border-color: var(--dm-line-strong); }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-tag.is-ghost { display: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-tag:not(.is-ghost) { position: absolute; top: 18px; right: -40px; width: 140px; margin: 0; padding: 4px 0; border-radius: 0; text-align: center; transform: rotate(40deg); background: #d7b94b; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 1px 3px rgba(171,139,46,.35); }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head { display: grid; grid-template-columns: 44px auto; column-gap: 12px; row-gap: 0; align-items: center; justify-content: start; margin-bottom: 4px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-name { display: contents; font-size: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-ic { display: flex; grid-column: 1; grid-row: 1 / span 2; align-self: center; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 13px; background: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-ic svg { width: 26px; height: 26px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-head .dmadv-renew-plan-price { grid-column: 2; padding-left: 0; font-size: 26px; font-weight: 800; line-height: 1.1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan.is-gold .dmadv-renew-plan-price { color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-price small { font-size: 11px; font-weight: 600; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan-feats { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-desk { display: block; margin: 12px 0 4px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-checks li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-checks i { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: #fff; color: #5b6070; font-size: 11px; font-style: normal; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 5px; border-radius: 10px; background: #fff; color: #1e1e1e; font-size: 12.5px; font-weight: 800; line-height: 1.2; box-shadow: 0 1px 2px rgba(20,30,50,.06); }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chip i { font-style: normal; font-weight: 700; color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chip-ic { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 7px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-chip-ic svg { width: 14px; height: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan button.dmadv-product-buy { min-height: 48px; border-radius: 14px; font-size: 14px; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-title { font-size: 18px; }
}

/* Renovacao, MOBILE: margem por cima do botao Adquirir Plano */
@media (max-width: 900px) { .dmadv-dashboard.dmadv-dashboard .dmadv-renew-plan .dmadv-product-card.dmadv-plan-item { margin-top: 18px; } }

/* Fita "Recomendado": posicao/tamanho revistos para o texto caber inteiro na diagonal (45 graus), sem cortar nos cantos do cartao */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-tag:not(.is-ghost) { top: 30px; right: -46px; width: 176px; padding: 5px 0; transform: rotate(45deg); font-size: 10px; letter-spacing: .05em; white-space: nowrap; line-height: 1.3; }
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-tag:not(.is-ghost) { top: 34px; right: -50px; width: 190px; padding: 6px 0; font-size: 11px; letter-spacing: .06em; }
}

/* Historico: servicos incluidos no plano Normal (base) com a cor do plano (cinzento) */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel #dmadv-orders-table .tg.b { background: #f3f4f6; color: #5b6070; }

/* Cartoes de servicos ativos (Inicio): marcador redondo no fim da parte preenchida da barra, com o tempo decorrido por baixo (cor do servico / do plano via --svc-color) */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-track { position: relative; padding-bottom: 22px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-track + .dmadv-svc-card-meta { margin-top: -2px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-dot { position: absolute; top: 4px; left: clamp(8px, var(--p, 0%), calc(100% - 8px)); width: 15px; height: 15px; transform: translate(-50%, -50%); background: #fff; border: 3px solid var(--svc-color, #8b5cf6); border-radius: 50%; box-sizing: border-box; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-elapsed { position: absolute; top: 15px; left: clamp(32px, var(--p, 0%), calc(100% - 32px)); transform: translateX(-50%); font-size: 11px; font-weight: 800; line-height: 1.2; color: var(--svc-color, #8b5cf6); white-space: nowrap; }

/* Por ativar: botao "Ativar" na cor do SERVICO quando o credito/saldo nao vem do plano (Oferta, saldo do Disponivel Agora); os do plano mantem o dourado/cinzento do plano */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row-todo[style*="--own"] .dmadv-button.dmadv-pl-go, .dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row-todo[style*="--own"] .dmadv-button.dmadv-pl-go:hover { background: #fff !important; border: 1.5px solid var(--own) !important; color: var(--own) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-row-todo[style*="--own"] .dmadv-button.dmadv-pl-go:hover { background: color-mix(in srgb, var(--own) 10%, #fff) !important; }

/* Perfil Verificado por ganhar: pill com cadeado (único do painel, DMADV_Stats::lock_icon()) + "Disponível em N dias" */
.dmadv-dashboard.dmadv-dashboard .dmadv-now-tag.dmadv-now-tag-locked { display: inline-flex; align-items: center; gap: 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-now-tag-locked svg { flex: none; }

/* Marcador da barra: texto do que RESTA (mais largo: ex. "restam 5 h 8 min") */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-elapsed { left: clamp(52px, var(--p, 0%), calc(100% - 52px)); }

/* Texto do que resta ("restam 14 h 38 min") alinhado a direita, por baixo da barra; o marcador redondo continua no fim da parte preenchida */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-elapsed { left: auto; right: 0; transform: none; text-align: right; }

/* Inicio, Servicos ativos (desktop): 2 colunas em vez de 3 */
@media (min-width: 701px) { .dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Servicos (desktop): descricao de cada servico a largura da coluna (antes limitada a 70ch) */
@media (min-width: 701px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card p.dmadv-muted { max-width: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card-body { width: 100%; }
}

/* Homepage, mobile: lista de Destaques em grelha de 2 colunas (sem scroll horizontal) */
@media (max-width: 782px) {
.dm2027-home .dm2027-home-block .dm2027-cards-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; overflow: visible; scroll-snap-type: none; margin: 0; padding: 2px 0 6px; }
.dm2027-home .dm2027-home-block .dm2027-cards-grid > a { flex: none; width: auto; min-width: 0; scroll-snap-align: none; }
}

/* Destaque Popup: aviso do que ja esta a decorrer / em fila (a compra continua direta) */
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-product-card p.dmadv-muted.dmadv-toast-note { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; padding: 10px 14px; border-radius: 12px; background: #fff; color: #5b6070; font-size: 13px; line-height: 1.45; max-width: none; }

/* Por ativar (Servicos), MOBILE: 3 linhas -- nome / quantidade (com o pill ao lado) / descricao "Fica ativo..." */
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-row-todo .dmadv-pl-t { display: grid; grid-template-columns: max-content max-content; justify-content: start; align-items: center; row-gap: 2px; column-gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-row-todo .dmadv-pl-t > span { grid-column: 1; grid-row: 2; display: block; margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-row-todo .dmadv-pl-t > em.dmadv-pl-planpill { grid-column: 2; grid-row: 2; margin: 0; }
}

/* Por ativar (Servicos), MOBILE: pill na linha 1, ao lado do nome; quantidade na linha 2 */
@media (max-width: 700px) { .dmadv-dashboard.dmadv-dashboard .dmadv-pl-row-todo .dmadv-pl-t > em.dmadv-pl-planpill { grid-column: 2; grid-row: 1; } }

/* Titulo da seccao "Servicos por ativar": mesmo estilo de "Servicos ativos e beneficios" (kicker rosa + titulo grande) */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-grp.dmadv-pl-grp-title { padding: 0 0 6px; font-size: 22px; font-weight: 800; letter-spacing: -.005em; text-transform: none; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-grp.dmadv-pl-grp-title::before { content: "Serviços"; display: block; margin-bottom: 8px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); }

/* Titulo Servicos / Por ativar: FORA da caixa em mobile (copia "out"), dentro da caixa em desktop (copia "in") */
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-grp-out { display: none; }
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-grp.dmadv-pl-grp-out { display: block; margin: 0 0 14px; padding: 0; font-size: 22px; font-weight: 800; letter-spacing: -.005em; text-transform: none; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-grp.dmadv-pl-grp-out::before { content: "Serviços"; display: block; margin-bottom: 8px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); }
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block .dmadv-pl-card .dmadv-pl-grp.dmadv-pl-grp-in { display: none; }
}

/* Por ativar: mesmos espacamentos de "Neste momento / Servicos ativos e beneficios": bloco a 40px do de cima (desktop: +40px de padding e linha), titulo a 4px da lista + 12px = 16px */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block.dmadv-pl:has(> .dmadv-pl-grp-out) { margin-top: 40px !important; }
@media (min-width: 701px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block.dmadv-pl:has(.dmadv-pl-grp-in) { margin-top: 40px !important; padding-top: 40px; border-top: 1px solid var(--dm-line); }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-card .dmadv-pl-grp.dmadv-pl-grp-title.dmadv-pl-grp-in { padding: 0 0 16px; }
}
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-plan-block > .dmadv-pl-grp.dmadv-pl-grp-out { margin: 0 0 4px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block > .dmadv-pl-grp-out + .dmadv-pl-card { margin-top: 12px !important; }
}

/* Servicos: frase de apoio + MB WAY dentro de uma caixa branca */
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-intro { background: #fff; border-radius: 16px; padding: 16px 18px; margin: 14px 0 18px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-intro > p { margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-intro > p + p { margin-top: 10px; }

/* Por ativar (DESKTOP): exatamente como Neste momento -- 40px de margem + 40px de padding + linha; sem margem extra no cartao interior, sem cantos arredondados nem fundo */
@media (min-width: 701px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block.dmadv-pl:has(.dmadv-pl-grp-in) { margin-top: 40px !important; padding-top: 40px; border-top: 1px solid var(--dm-line); border-radius: 0; background: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block.dmadv-pl:has(.dmadv-pl-grp-in) > .dmadv-pl-card { margin-top: 0 !important; border-radius: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block.dmadv-pl:has(.dmadv-pl-grp-in) > .dmadv-pl-card > .dmadv-pl-box.dmadv-pl-box.dmadv-pl-box { padding-top: 0 !important; border-radius: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block.dmadv-pl:has(.dmadv-pl-grp-in) .dmadv-pl-grp.dmadv-pl-grp-in { margin: 0; padding: 0 0 16px !important; }
}

/* Por ativar (DESKTOP): sem linha nem padding -- so uma margem por cima */
@media (min-width: 701px) { .dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-plan-block.dmadv-pl:has(.dmadv-pl-grp-in) { margin-top: 40px !important; padding-top: 0; border-top: 0; } }

/* Topo das paginas Servicos e O meu plano (DESKTOP): 28px como Estatisticas (padding-top do painel), sem margens extra somadas */
@media (min-width: 701px) {
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline { margin-top: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > .dmadv-premium-panel { padding-top: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp > .dmadv-premium-panel .dmadv-plan-block > .dmadv-pl-card { margin-top: 0 !important; }
}

/* ===== Design 2026 - Painel, linguagem comum (auditoria 2026-09-29): variaveis para os valores repetidos + pequenos alinhamentos ===== */
:root { --dm-line: #eceef1; --dm-line-strong: #dfe2e7; --dm-surface: #f7f8fa; --dm-r-card: 16px; }
/* titulo de secção: 20px em todo o painel (a caixa de compra de Serviços tinha 22px) */
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-title { font-size: 20px; }
@media (min-width: 701px) {
/* topo das paginas: 28px como Estatisticas (Conta e Perfis tinham 16px / 32px) */
.dmadv-dashboard.dmadv-dashboard .dmadv-account { padding-top: 28px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-profiles-list-flat .dmadv-table-heading-row { margin-top: 28px; }
/* Editar anuncio: ritmo entre secções de 40px como o resto do painel */
.dmadv-ed-sec { margin-top: 40px; padding-top: 40px; }
}

/* ===== Pre-visualizacao Servicos por servico (?dmadv_preview=servicos2): um cartao por servico ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-todo .dmadv-plan-block { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-todo .dmadv-pl-grp { display: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-todo .dmadv-pl-card { position: absolute !important; left: -9999px !important; top: 0 !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-sum { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 10px 14px; border: 1px solid #ecdfa8; border-radius: 14px; background: #fff8e1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-sum .t { margin-right: 4px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #8a6400; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-v2-chip { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 5px 12px 5px 6px; border: 0; border-radius: 99px; background: #fff; color: var(--dm-ink) !important; font-size: 13px; font-weight: 800; cursor: pointer; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-v2-chip i { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-v2-chip i svg { width: 14px; height: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-pay { margin: 0 0 14px; font-size: 13px; color: #8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-pay b { color: var(--dm-ink); }

/* Linha do plano em Servicos: desktop "faltam N dias para expirar", mobile "Expira em N dias" */
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-planline-m { display: none; }
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-planline-d { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pl-planline-m { display: inline; }
}

/* Servicos (pre-visualizacao): cartao unico por servico = cartao do Inicio (.dmadv-svc-card) com o por ativar e a compra la dentro */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid.dmadv-v2-grid { margin: 0; align-items: start; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-note { margin: 0; font-size: 13px; font-weight: 400; color: var(--dm-ink-soft, #4b5060); }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-head .dmadv-svc-card-plan.is-offer { background: #fff6cc !important; color: #8a6400 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-card-head .dmadv-svc-card-plan.is-locked { display: inline-flex; align-items: center; gap: 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo { padding: 4px 0; border-bottom: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-buy-list { margin: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-buy-list .dmadv-product-card.dmadv-v2-bc { padding: 0; margin: 0; border: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-buy-list .dmadv-product-duration-buttons { margin-top: 4px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-buy-list .dmadv-product-buy.dmadv-dc, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-buy-list .dmadv-dc-off { background: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-buy-list .dmadv-product-duration-buttons { grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); }
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-buy-list .dmadv-product-card.dmadv-v2-bc { padding: 0 !important; background: none !important; border-radius: 0 !important; box-shadow: none !important; }
}
/* Descricao do servico logo por baixo do nome, ao lado do icone */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-tt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-tt small { font-size: 12.5px; font-weight: 400; line-height: 1.3; color: var(--dm-ink-soft, #4b5060); }

/* Servicos ativos no cartao: "11 / 900 impressoes" a esquerda (negrito), o que resta a direita na cor do servico, barra, e a nota por baixo */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-actb .lb { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 16px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-actb .lb span:last-child { flex: none; color: var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-actb .bar { height: 8px; margin-top: 8px; border-radius: 99px; background: rgba(255,255,255,.85); overflow: hidden; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-actb .bar i { display: block; min-width: 8px; height: 100%; border-radius: 99px; background: var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-actb .sm { margin-top: 8px; font-size: 14px; color: var(--dm-ink-soft, #4b5060); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-actb .lb + .sm { margin-top: 6px; }

/* Servico ativo: contorno de 2px na cor do servico + pill "Ativo" (ponto verde) no cabecalho */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.is-active { box-shadow: inset 0 0 0 2px var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-pills { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; flex: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-pills .dmadv-svc-card-plan { margin-left: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-on { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 99px; background: #fff; color: #0a7d3a; font-size: 12px; font-weight: 800; line-height: 1.4; white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-on i { display: block; width: 8px; height: 8px; border-radius: 50%; background: #16a34a; }

/* Separacao leve + etiqueta "Adquirir servico" por cima das duracoes */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-buy { margin-top: 4px; padding-top: 14px; border-top: 1px solid rgba(20,24,34,.08); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-lbl { margin: 0 0 10px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-ink-soft, #4b5060); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-buy .dmadv-buy-list .dmadv-product-duration-buttons { margin-top: 0; }

/* Etiqueta "Adquirir servico" a meio da linha de separacao */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-buy { padding-top: 6px; border-top: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-lbl { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-lbl::before, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-lbl::after { content: ""; flex: 1; height: 1px; background: rgba(20,24,34,.12); }

/* Por ativar com impacto: caixa branca com contorno dourado, etiqueta "Por ativar", titulo maior e botao cheio na cor do servico */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card { padding: 14px 16px; border-radius: 14px; background: #fff; box-shadow: 0 0 0 2px var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo { padding: 0; gap: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-todo-tag { display: inline-block; margin-bottom: 4px; padding: 2px 9px; border-radius: 99px; background: var(--svc-color); color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-t { font-size: 17px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-s { font-size: 13px; color: var(--dm-ink-soft, #4b5060); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go { min-height: 42px; padding: 0 20px; background: var(--svc-color) !important; border-color: var(--svc-color) !important; color: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go:hover { filter: brightness(.92); background: var(--svc-color) !important; }
/* Perfil Verificado: pill (Oferta / Disponivel em N dias) na cor do servico */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.dmadv-now-verified .dmadv-svc-card-head .dmadv-svc-card-plan.is-offer { background: var(--svc-color) !important; color: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.dmadv-now-verified .dmadv-svc-card-plan.is-locked svg * { stroke: #fff; }
/* Link "Saber mais" em cada servico (leva a pagina Anunciar) */
.dmadv-dashboard.dmadv-dashboard a.dmadv-v2-more { margin-top: 4px; font-size: 12.5px; font-weight: 800; color: var(--svc-color) !important; text-decoration: underline; text-underline-offset: 2px; }
/* Saber mais no fim do cartao, a direita */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-morerow { display: flex; justify-content: flex-end; margin-top: 2px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-morerow a.dmadv-v2-more { margin-top: 0; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-v2-more, .dmadv-dashboard.dmadv-dashboard a.dmadv-v2-more:hover { text-decoration: none; }

/* Pill Ativo / A decorrer mais obvio: verde cheio, texto branco, ponto branco a pulsar */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-on { padding: 4px 12px 4px 10px; background: #16a34a; color: #fff; font-size: 12.5px; letter-spacing: .02em; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-on i { width: 8px; height: 8px; background: #fff; animation: dmadv-v2-pulse 1.8s ease-out infinite; }
@keyframes dmadv-v2-pulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.75); } 70% { box-shadow: 0 0 0 7px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
@media (prefers-reduced-motion: reduce) { .dmadv-dashboard.dmadv-dashboard .dmadv-v2-on i { animation: none; } }
/* Pill de origem (Premium/Oferta/...) junto ao titulo; o Ativo fica a direita */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-nmrow { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-nmrow .dmadv-svc-card-plan { margin-left: 0; }
/* Pill Ativo / A decorrer na cor do servico */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-on { background: var(--svc-color); color: #fff; }

/* Desktop: icone maior no cabecalho do cartao e titulo com o tamanho do pill */
@media (min-width: 701px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-icon { width: 56px; height: 56px; flex: none; border-radius: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-icon svg { width: 30px; height: 30px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head .dmadv-svc-card-name { font-size: 20px; line-height: 1.2; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head { gap: 14px; }
}

/* Servico ativo: sem contorno; fundo mais escuro (tom mais forte da cor do servico) */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.is-active { box-shadow: none; --svc-bg: color-mix(in srgb, var(--svc-color) 38%, #fff); }

.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.is-active .dmadv-v2-on i { background: var(--svc-color); animation-name: dmadv-v2-pulse-inv; }
@keyframes dmadv-v2-pulse-inv { 0% { box-shadow: 0 0 0 0 rgba(0,0,0,.35); } 70% { box-shadow: 0 0 0 7px rgba(0,0,0,0); } 100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); } }


/* Ativo / A decorrer sem pill: so a bola e o texto, a branco */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-on, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.is-active .dmadv-v2-on { padding: 0; background: none; color: #fff; font-size: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.is-active .dmadv-v2-on i { background: #fff; animation-name: dmadv-v2-pulse; }
/* Espaco por cima da caixa Por ativar dentro do cartao */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card { margin-top: 10px; }
/* Pill de origem (Premium, Oferta, Incluido no plano) com contorno branco */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head .dmadv-svc-card-plan { border: 2px solid #fff; }
/* Ativo / A decorrer: bola + nome dentro de um contorno branco de 2px (sem preenchimento) */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-on, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.is-active .dmadv-v2-on { padding: 2px 10px 2px 8px; border: 2px solid #fff; border-radius: 99px; background: none; font-size: 13px; }
/* Espaco entre o titulo (com pills) e a descricao */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-tt { gap: 6px; }
/* Ativo + origem juntos no canto direito do cabecalho */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-pills { gap: 8px; flex-wrap: wrap; justify-content: flex-end; }

/* Pills do cabecalho: fundo branco, sem contorno, texto (e bola) na cor do servico */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-on, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.is-active .dmadv-v2-on { padding: 3px 11px 3px 9px; border: 0; border-radius: 99px; background: #fff; color: var(--svc-color); font-size: 13px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.is-active .dmadv-v2-on i { background: var(--svc-color); animation-name: dmadv-v2-pulse-inv; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head .dmadv-svc-card-plan, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head .dmadv-svc-card-plan.is-offer, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.dmadv-now-verified .dmadv-svc-card-head .dmadv-svc-card-plan.is-offer { border: 0; background: #fff !important; color: var(--svc-color) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-plan.is-locked svg * { stroke: var(--svc-color); }
/* Cabecalho do cartao alinhado ao topo (icone, titulo e pills) */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head { align-items: flex-start; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-pills { align-items: flex-start; }

/* Topo de Servicos: blocos com o mesmo ritmo (12px), avisos agrupados e chips com a acao */
.dmadv-dashboard.dmadv-dashboard a.dmadv-pl-planline { margin-bottom: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-sum { margin: 0 0 12px; padding: 12px 16px; border-radius: 14px; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-v2-chip { padding: 6px 14px 6px 6px; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-v2-chip em { margin-left: 6px; font-style: normal; font-weight: 800; color: var(--c); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-notes { display: flex; flex-direction: column; gap: 8px; margin: 0 0 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-notes .dmadv-v2-pay { margin: 0; padding: 11px 16px; border-radius: 14px; background: var(--dm-surface); font-size: 14px; color: var(--dm-ink-soft, #4b5060); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-notes .dmadv-v2-pay b { margin-right: 4px; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-notes .dmadv-buy-unav { margin: 0; }
/* O bloco Por ativar escondido (so traz os modais) nao pode empurrar o conteudo com a margem de 40px */
.dmadv-dashboard.dmadv-dashboard .dmadv-premium-panel .dmadv-v2-todo .dmadv-plan-block.dmadv-pl.dmadv-pl { margin: 0 !important; padding: 0 !important; }
/* Avisos (MB WAY e indisponiveis) no fim da lista de servicos */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-notes { margin: 20px 0 0; }

/* Cartoes de servicos todos com o mesmo tamanho (desktop): linhas iguais e compra encostada ao fundo */
@media (min-width: 701px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid.dmadv-v2-grid { align-items: stretch; grid-auto-rows: auto; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card > .dmadv-v2-buy { margin-top: auto; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card > .dmadv-v2-morerow { margin-top: auto; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card > .dmadv-v2-buy + .dmadv-v2-morerow { margin-top: 2px; }
}
/* Servicos: um cartao por linha */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid.dmadv-v2-grid { grid-template-columns: 1fr; }
/* Titulos dos dois grupos de servicos (Ativos agora / Outros servicos) */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-sec { margin: 0 0 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-grid + .dmadv-v2-sec { margin-top: 40px; }

/* Por ativar: inverte so a caixa (.dmadv-pl-card) dentro do cartao: fundo na cor do servico, textos brancos, etiqueta e botao brancos. Nos cartoes ativos (fundo ja na cor do servico) a caixa fica branca. */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card:not(.is-active) .dmadv-pl-card { background: var(--svc-color); box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card:not(.is-active) .dmadv-pl-card .dmadv-pl-t { color: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card:not(.is-active) .dmadv-pl-card .dmadv-pl-s { color: rgba(255,255,255,.9); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card:not(.is-active) .dmadv-v2-todo-tag { background: #fff; color: var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card:not(.is-active) .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go { background: #fff !important; border-color: #fff !important; color: var(--svc-color) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card:not(.is-active) .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go:hover { background: #fff !important; filter: brightness(.94); }
/* Espaco entre a bola e o texto Ativo / A decorrer */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-on { gap: 10px; }
/* Espaco por cima do primeiro titulo de grupo (Por ativar / Ativos agora), por baixo da barra do plano */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-sec { margin-top: 32px; }
/* Contador do menu Servicos: so contorno e a cor do proprio menu (sem fundo) */
.dmadv-dashboard.dmadv-dashboard .dmadv-tab-badge { background: transparent; border: 1.5px solid currentColor; color: inherit; box-sizing: border-box; }
/* Servicos: 2 cartoes por linha em desktop (1 em mobile); mesma altura dentro de cada linha */
@media (min-width: 701px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid.dmadv-v2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
}
/* Ultimo cartao sozinho na linha: ocupa a largura toda */
@media (min-width: 701px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid.dmadv-v2-grid > .dmadv-v2-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* Cadeado do pill Disponivel em N dias: azul do Perfil Verificado (uma regra antiga forcava o branco) */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.dmadv-now-verified .dmadv-svc-card-head .dmadv-svc-card-plan.is-locked svg, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.dmadv-now-verified .dmadv-svc-card-head .dmadv-svc-card-plan.is-locked svg * { stroke: var(--svc-color) !important; color: var(--svc-color); }
/* Pill Disponivel em N dias invertido: fundo azul, texto e cadeado brancos */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.dmadv-now-verified .dmadv-svc-card-head .dmadv-svc-card-plan.is-locked { background: var(--svc-color) !important; color: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.dmadv-now-verified .dmadv-svc-card-head .dmadv-svc-card-plan.is-locked svg, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.dmadv-now-verified .dmadv-svc-card-head .dmadv-svc-card-plan.is-locked svg * { stroke: #fff !important; color: #fff; }
/* Pills de origem (Premium, Oferta...) com o mesmo tamanho de letra do Ativo / A decorrer (13px) */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head .dmadv-svc-card-plan { font-size: 13px; line-height: 1.4; padding: 3px 11px; }
/* Selo do plano dentro do pill Premium / Incluido no plano */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head .dmadv-svc-card-plan { display: inline-flex; align-items: center; gap: 6px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-plan svg { flex: none; width: 14px; height: 14px; }

/* "Usar ate ..." em destaque: pill com relogio ao lado da etiqueta Por ativar (branco na caixa colorida; na cor do servico quando a caixa e branca) */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-until { display: inline-flex; align-items: center; gap: 5px; margin: 0 0 4px 8px; padding: 1px 10px 1px 8px; border: 1.5px solid currentColor; border-radius: 99px; font-size: 12.5px; font-weight: 800; line-height: 1.5; vertical-align: top; white-space: nowrap; color: var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card:not(.is-active) .dmadv-pl-card .dmadv-v2-until { color: #fff; }
/* Etiqueta do Por ativar = prazo ("Usar ate ...") com relogio; sem prazo fica "Por ativar" */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-todo-tag { display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px 3px 9px; font-size: 12px; }

/* "Expira a ..." por baixo da descricao (Fica ativo ...), com relogio; branco na caixa colorida, cor do servico na caixa branca */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-todo-tag { display: inline-block; padding: 2px 9px; font-size: 10.5px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-expira { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 14px; font-weight: 800; color: var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card:not(.is-active) .dmadv-pl-card .dmadv-v2-expira { color: #fff; }

/* Botao Ativar mais evidente: maior, letra 15px, seta e sombra */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go { display: inline-flex; align-items: center; gap: 8px; min-height: 50px; padding: 0 26px; border-radius: 14px; font-size: 15px; font-weight: 800; box-shadow: 0 6px 16px rgba(20,24,34,.22); transition: transform .12s ease, box-shadow .12s ease; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go::after { content: "\2192"; font-size: 17px; line-height: 1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go:hover { transform: translateY(-1px); box-shadow: 0 9px 20px rgba(20,24,34,.28); }
/* caixa branca (cartao ja ativo): botao cheio na cor do servico com texto branco */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card.is-active .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go { background: var(--svc-color) !important; border-color: var(--svc-color) !important; color: #fff !important; }
/* Botao Ativar sem sombra */
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go, .dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go:hover { box-shadow: none; }

/* Promocao de lancamento dos planos: aviso em O meu plano + preco riscado nas tabelas */
.dmadv-dashboard.dmadv-dashboard .dmadv-promo-banner { display: flex; align-items: center; gap: 14px; margin: 0 0 24px; padding: 14px 18px; border: 1px solid #ecdfa8; border-radius: 16px; background: #fff8e1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-promo-ic { display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-promo-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 14px; color: var(--dm-ink-soft, #4b5060); }
.dmadv-dashboard.dmadv-dashboard .dmadv-promo-tx b { font-size: 16px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-promo-row s { color: #8a8f9c; }
.dmadv-dashboard.dmadv-dashboard .dmadv-promo-row b { display: inline; font-size: inherit; color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-promo-go { flex: none; margin-left: auto; padding: 9px 16px; border-radius: 12px; background: #d7b94b; color: #fff !important; font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-pp-cmp-price s, .dmadv-dashboard.dmadv-dashboard .dmadv-pp-mlist-plan s { margin-right: 4px; font-size: .75em; font-weight: 400; color: #8a8f9c; }
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-promo-banner { flex-wrap: wrap; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-promo-go { width: 100%; margin-left: 0; text-align: center; }
}

/* ===== Serviços: mosaicos "Tem 1 grátis" (crédito por ativar) com o mesmo aspeto dos outros; os <form> ficam fora da grelha ===== */
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list .dmadv-avulso-form { display: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list button.dmadv-dc.dmadv-dc-free:not(.dmadv-product-buy) { position: relative; display: block; width: 100%; min-height: 0; margin: 0; padding: 14px 6px 12px; border: 2px solid #ffc300 !important; border-radius: 14px; background: #fff !important; box-shadow: none !important; text-align: center; color: #1e1e1e !important; cursor: pointer; font: inherit; transition: transform .15s ease, box-shadow .15s ease; }
.dmadv-dashboard.dmadv-dashboard .dmadv-buy-list button.dmadv-dc.dmadv-dc-free:not(.dmadv-product-buy):hover { background: #fff6cc !important; box-shadow: 0 0 0 4px rgba(255,195,0,.18), 0 6px 16px rgba(0,0,0,.08) !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-v2-buy .dmadv-product-duration-buttons:has(.of) { margin-top: 14px; }

/* Serviços ativos no index: 3 colunas, barra de progresso simples (sem bolinha), como na página Serviços. */
@media (min-width: 901px) { .dmadv-dashboard.dmadv-dashboard .dmadv-quality-panel .dmadv-svc-grid:not(.dmadv-v2-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; } }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card-track { padding-bottom: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card-dot { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card-elapsed { position: static; display: block; left: auto; right: auto; transform: none; margin-top: 8px; text-align: right; font-size: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card-head .dmadv-svc-card-plan:not(.is-base) { display: inline-flex; align-items: center; gap: 5px; background: #fff; color: var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card-icon { width: 34px; height: 34px; border-radius: 10px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card-icon svg { width: 18px; height: 18px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card-name { line-height: 1.1; }
@media (min-width: 901px) { .dmadv-dashboard.dmadv-dashboard .dmadv-quality-panel .dmadv-svc-grid:not(.dmadv-v2-grid):has(> .dmadv-svc-card:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Descrição do anúncio no painel: respeita as quebras de linha do texto. */
.dmadv-dashboard.dmadv-dashboard .dmadv-listing-descricao-text { white-space: pre-line; }
/* Capas do anúncio (Inicio): sem informação repetida, botões na cor do estado. */
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-state-ticker-a-expirar { background: #d46500; color: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-state-message-a-expirar { background: #d46500; color: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-state-message-expirado { background: #96201f; color: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-state-sub { display: block; margin-top: 2px; font-size: 12px; font-weight: 500; color: inherit; opacity: .92; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-state-message-expirado .dmadv-state-sub { margin-top: 6px; color: #fff; opacity: .9; }
.dmadv-dashboard.dmadv-dashboard .dmadv-expiry-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 10px; padding: 2px 4px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-expiry-label { display: block; font-size: 12px; color: var(--dm-ink-soft); }
.dmadv-dashboard.dmadv-dashboard .dmadv-expiry-date { display: block; font-size: 15px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-expiry-days { flex: none; padding: 5px 12px; border-radius: 99px; background: #fff; color: #0b7a36; font-size: 13px; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-expiry-change { margin: 4px 4px 0; font-size: 12px; font-weight: 700; color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card a.dmadv-preview-cta-block.dmadv-cta-online { background: #10a64a; border-color: #10a64a; color: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card a.dmadv-preview-cta-block.dmadv-cta-a-expirar { background: transparent; border: 1.5px solid #d46500; color: #b25400 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card a.dmadv-preview-cta-block.dmadv-renew-cta-jump { background: #96201f; border-color: #96201f; color: #fff !important; }
@media (min-width: 701px) { .dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card a.dmadv-preview-cta-block.dmadv-renew-cta-jump { display: flex; } }
/* Capas do anúncio (mobile): expirado */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-state-message-expirado { background: #96201f; color: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-state-message-expirado .dmadv-state-sub { display: block; margin-top: 6px; font-size: 12px; font-weight: 500; color: #fff; opacity: .9; }
/* Capas do anúncio: menos espaço em baixo */
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card { padding-bottom: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-home-col-preview .dmadv-preview-card > :last-child { margin-bottom: 0; }
/* Mobile: anuncio expirado, planos como no desktop */
@media (max-width: 900px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-dateline { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-lede { margin-bottom: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan { padding: 14px; border-radius: 18px; overflow: hidden; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-head { display: grid; grid-template-columns: 44px auto; column-gap: 12px; align-items: center; justify-content: start; margin-bottom: 10px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-head .dmadv-renew-plan-name { display: contents; font-size: 15px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-ic { display: inline-flex; align-items: center; justify-content: center; grid-column: 1; grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-ic svg { width: 24px; height: 24px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-head .dmadv-renew-plan-price { grid-column: 2; font-size: 28px; font-weight: 800; line-height: 1.1; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan.is-gold .dmadv-renew-plan-price { color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-price small { font-size: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-feats { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-desk { display: block; margin: 0 0 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-checks li { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #5b6070; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-checks i { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--dm-line); color: #5b6070; font-size: 11px; font-style: normal; font-weight: 800; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 5px; border-radius: 10px; background: #fff; color: #1e1e1e; font-size: 12px; font-weight: 800; line-height: 1.2; box-shadow: 0 1px 2px rgba(20,30,50,.06); }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chip i { font-style: normal; font-weight: 700; color: #ab8b2e; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chip-ic { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 7px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chip-ic svg { width: 14px; height: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-tag.is-ghost { display: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-tag:not(.is-ghost) { position: absolute; top: 14px; right: 14px; width: auto; margin: 0; padding: 4px 10px; border-radius: 99px; text-align: center; transform: none; background: #d7b94b; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: none; white-space: nowrap; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan button.dmadv-product-buy { min-height: 46px; border-radius: 12px; font-size: 14px; font-weight: 800; }
}

/* Mobile: imagem da capa a 50% */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row .dmadv-mobile-preview-media { flex: 0 0 50%; width: 50%; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row .dmadv-mobile-preview-info { min-width: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips .dmadv-renew-chip { display: flex; width: 100%; box-sizing: border-box; padding: 8px 12px 8px 8px; font-size: 13px; }

/* Mobile: serviços do Premium maiores */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips .dmadv-renew-chip { font-size: 15px; gap: 10px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips .dmadv-renew-chip-ic { width: 34px; height: 34px; border-radius: 10px; flex: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips .dmadv-renew-chip-ic svg { width: 22px; height: 22px; }

/* Mobile: serviços do Premium sem fundo branco */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips .dmadv-renew-chip { background: transparent; box-shadow: none; padding-left: 0; padding-right: 0; }

/* Mobile: serviços do Premium em pill */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips .dmadv-renew-chip { background: #fff; border: 0; border-radius: 999px; padding: 5px 16px 5px 5px; box-shadow: 0 1px 2px rgba(20,30,50,.06); }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips .dmadv-renew-chip-ic { border-radius: 50%; }

/* Mobile: plano Normal em pills */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-checks { gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-checks li { display: flex; align-items: center; gap: 10px; width: 100%; box-sizing: border-box; background: #fff; border-radius: 999px; padding: 5px 16px 5px 5px; font-size: 15px; font-weight: 800; color: #1e1e1e; line-height: 1.2; box-shadow: 0 1px 2px rgba(20,30,50,.06); }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-checks i { flex: none; width: 34px; height: 34px; font-size: 16px; background: var(--dm-line); color: #5b6070; }

/* Mobile: botões dos planos com mais impacto */
@media (max-width: 900px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan button.dmadv-product-buy { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; border-radius: 16px; font-size: 16px; font-weight: 800; letter-spacing: .01em; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan button.dmadv-product-buy::after { content: '\2192'; font-size: 18px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan button.dmadv-product-buy:not(.dmadv-product-buy-gold) { background: #3a3f4d !important; border: 1px solid #3a3f4d !important; color: #fff !important; box-shadow: 0 4px 12px rgba(58,63,77,.25); }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan button.dmadv-product-buy.dmadv-product-buy-gold { background: #d7b94b !important; border: 1px solid #d7b94b !important; color: #fff !important; box-shadow: 0 4px 12px rgba(171,139,46,.35); }
}

/* Mobile: planos sem sombras */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan button.dmadv-product-buy, .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips .dmadv-renew-chip, .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-checks li { box-shadow: none !important; }

/* Mobile: gap entre planos */
@media (max-width: 900px) { .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plans { gap: 24px; } }

/* Mobile: cabeçalho do plano maior */
@media (max-width: 900px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-head { grid-template-columns: 58px auto; column-gap: 14px; margin-bottom: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-head .dmadv-renew-plan-name { font-size: 20px; line-height: 1.2; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-ic { width: 58px; height: 58px; border-radius: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-ic svg { width: 32px; height: 32px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-head .dmadv-renew-plan-price { font-size: 36px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-plan-price small { font-size: 14px; }
}

/* Desktop: botões dos planos iguais ao mobile */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-plan button.dmadv-product-buy { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; border-radius: 16px; font-size: 16px; font-weight: 800; letter-spacing: .01em; box-shadow: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-plan button.dmadv-product-buy::after { content: '\2192'; font-size: 18px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-plan button.dmadv-product-buy:not(.dmadv-product-buy-gold) { background: #3a3f4d !important; border: 1px solid #3a3f4d !important; color: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-plan button.dmadv-product-buy.dmadv-product-buy-gold { background: #d7b94b !important; border: 1px solid #d7b94b !important; color: #fff !important; }
}

/* Desktop: lista dos planos igual ao mobile */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-chips { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-chips .dmadv-renew-chip { display: flex; align-items: center; gap: 10px; width: 100%; box-sizing: border-box; background: #fff; border: 0; border-radius: 999px; padding: 5px 16px 5px 5px; font-size: 15px; font-weight: 800; line-height: 1.2; box-shadow: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-chips .dmadv-renew-chip-ic { flex: none; width: 34px; height: 34px; border-radius: 50%; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-chips .dmadv-renew-chip-ic svg { width: 22px; height: 22px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-checks { gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-checks li { display: flex; align-items: center; gap: 10px; width: 100%; box-sizing: border-box; background: #fff; border-radius: 999px; padding: 5px 16px 5px 5px; font-size: 15px; font-weight: 800; color: #1e1e1e; line-height: 1.2; box-shadow: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-checks i { flex: none; width: 34px; height: 34px; font-size: 16px; background: var(--dm-line); color: #5b6070; }
}

/* Planos: pills do tamanho do conteudo */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-chips, .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips { align-items: flex-start; }
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-chips .dmadv-renew-chip, .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-chips .dmadv-renew-chip, .dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-checks li, .dmadv-dashboard.dmadv-dashboard .dmadv-mobile-renew-box .dmadv-renew-checks li { width: auto; align-self: flex-start; }

/* Desktop: visto do plano Normal com azulejo cinza */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-col .dmadv-renew-plan .dmadv-renew-checks i { background: var(--dm-line) !important; }

/* Planos: icones do Normal (renovar, verificado) */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-checks i svg { width: 20px; height: 20px; }

/* Normal: Perfil Verificado igual ao Premium */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-checks i svg { width: 22px; height: 22px; }

/* Mobile: capa com a imagem em cima, como no desktop */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row { flex-direction: column; align-items: stretch; gap: 10px; padding: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row .dmadv-mobile-preview-media { flex: none; width: 100%; max-width: 100%; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row .dmadv-mobile-preview-info { width: 100%; }

/* Mobile: selo de estado na foto maior */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row .dmadv-mobile-preview-media .dmadv-state-ticker { top: 12px; right: 12px; padding: 6px 14px; font-size: 13px; letter-spacing: .06em; }

/* Mobile: texto da barra de estado maior */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-state-message { padding: 14px 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-state-note { font-size: 17px; line-height: 1.25; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-state-message .dmadv-state-sub { font-size: 14px; margin-top: 6px; }

/* Mobile: capas online e a expirar iguais ao desktop */
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-row:has(.dmadv-expiry-row) { background: #eafbf0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-media .dmadv-state-ticker-a-expirar { background: #d46500; color: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-state-message-a-expirar { background: #d46500; color: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info .dmadv-expiry-row { margin-top: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info a.dmadv-preview-cta-block { display: flex !important; width: 100%; min-height: 50px; justify-content: center; align-items: center; border-radius: 14px; font-size: 15px; font-weight: 800; margin-top: 6px; padding: 0 18px; box-sizing: border-box; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info a.dmadv-preview-cta-block.dmadv-cta-online { background: #10a64a; border-color: #10a64a; color: #fff !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-preview-info a.dmadv-preview-cta-block.dmadv-cta-a-expirar { background: transparent; border: 1.5px solid #d46500; color: #b25400 !important; }

/* Mobile: bloco Por ativar dos serviços sem sobreposição */
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo { display: flex !important; flex-direction: column; align-items: stretch; gap: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-pl-tx { min-width: 0; width: 100%; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-pl-act { grid-column: auto; justify-self: stretch; width: 100%; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-pl-card .dmadv-pl-row-todo .dmadv-button.dmadv-pl-go { width: 100%; justify-content: center; }
}

/* Mobile: pill do plano so com o icone nos cartoes de servicos */
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head .dmadv-svc-card-plan:not(.is-offer) { font-size: 0; gap: 0; padding: 5px; line-height: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-v2-card .dmadv-svc-card-head .dmadv-svc-card-plan:not(.is-offer) svg { width: 14px; height: 14px; margin: 0; }
}

/* Mobile: espaco no fundo para a barra de menus nao tapar o conteudo */
@media (max-width: 700px) {
body .dmadv-dashboard.dmadv-dashboard { padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important; }
}
/* Inicio: Por ativar */
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-inline { margin-top: 24px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-kicker { display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dm-brand); margin-bottom: 4px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-title { margin: 0 0 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-title::before { content: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-card { display: flex; flex-direction: column; gap: 14px; background: var(--svc-bg); border-radius: 16px; padding: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-ic { flex: none; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-ic svg { width: 20px; height: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-tx { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-tx b { font-size: 15px; font-weight: 800; color: var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-tx small { margin-top: 2px; font-size: 13px; color: var(--dm-ink-soft, #4b5060); }
.dmadv-dashboard.dmadv-dashboard button.dmadv-todo-go { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; margin: 0; padding: 0 16px; border-radius: 12px; font-size: 14px; font-weight: 800; background: var(--svc-color) !important; border: 1px solid var(--svc-color) !important; color: #fff !important; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-todo-go:hover { filter: brightness(.92); }
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-inline { margin: 0 0 18px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-grid { grid-template-columns: 1fr; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-card { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 14px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-main { flex: 1; }
.dmadv-dashboard.dmadv-dashboard button.dmadv-todo-go { width: auto; flex: none; min-height: 38px; padding: 0 16px; border-radius: 10px; white-space: nowrap; }
}

/* Inicio: gap uniforme entre secções */
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-panel > .dmadv-todo-inline { margin: 0 0 40px; padding-top: 28px; border-top: 1px solid var(--dm-line-strong); }
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-panel > .dmadv-todo-inline .dmadv-todo-head { margin: 0 0 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-quality-panel > .dmadv-todo-inline .dmadv-todo-title { margin: 0; }

/* Inicio: titulo de Por ativar uniforme no mobile */
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-kicker { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-head { margin: 0 0 12px; }
.dmadv-dashboard.dmadv-dashboard h3.dmadv-todo-title { font-size: 18px; font-weight: 800; text-align: left; margin: 0; }
}

/* Inicio: data de expiracao em Por ativar (mobile) */
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-until { display: none; font-style: normal; }
@media (max-width: 700px) { .dmadv-dashboard.dmadv-dashboard .dmadv-todo-until { display: block; margin-top: 2px; font-size: 12px; font-weight: 700; color: var(--svc-color); } }

/* Menu do Centro: opcao Index do centro */
.dmadv-dashboard.dmadv-dashboard .dmadv-context-switcher-item-centro, .dmadv-sheet .dmadv-context-switcher-item-centro { font-weight: 800; }

/* Painel Centro: titulo voltar e avatares */
.dmadv-switcher-avatar { display: none; }
.dmadv-sheet .dmadv-sheet-back { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.dmadv-sheet .dmadv-context-switcher-item { display: flex; align-items: center; gap: 14px; }
.dmadv-sheet .dmadv-switcher-avatar { display: block; flex: none; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #f0f0f0; }
.dmadv-sheet .dmadv-switcher-name { flex: 1; min-width: 0; display: inline-flex; align-items: center; gap: 6px; }
.dmadv-sheet .dmadv-context-switcher-item-all { display: block; }

/* Painel Centro: icone de plano maior e data */
.dmadv-switcher-exp { display: none; }
.dmadv-sheet .dmadv-switcher-name { flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; }
.dmadv-sheet .dmadv-switcher-line { display: inline-flex; align-items: center; gap: 4px; }
.dmadv-sheet .dmadv-context-switcher-plan svg { width: 18px; height: 18px; }
.dmadv-sheet .dmadv-switcher-exp { display: block; font-size: 13px; font-weight: 500; color: #6b7080; }

/* Painel Centro: nome e data mais juntos */
.dmadv-sheet .dmadv-switcher-name { gap: 0; }
.dmadv-sheet .dmadv-switcher-line { line-height: 1.15; }
.dmadv-sheet .dmadv-switcher-exp { line-height: 1.1; margin-top: 5px; }

/* Painel Centro: icone do plano junto ao nome */
.dmadv-sheet .dmadv-context-switcher-plan { margin-left: 0; }

/* Painel Centro: icone do plano a 4px do nome */
.dmadv-sheet .dmadv-switcher-line { gap: 0 !important; }
.dmadv-sheet .dmadv-switcher-line .dmadv-context-switcher-plan { margin: 0 0 0 4px !important; padding: 0 !important; }

/* Painel Centro: Massagistas com o estilo do titulo */
.dmadv-sheet a.dmadv-context-switcher-item-all { font-size: 18px; font-weight: 800; color: inherit !important; }

/* Painel Centro: seta do Massagistas do centro */
.dmadv-sheet a.dmadv-context-switcher-item-all { display: flex; align-items: center; gap: 10px; }

/* Painel Centro: Massagistas do centro alinhado a direita */
.dmadv-sheet a.dmadv-context-switcher-item-all { justify-content: flex-end; text-align: right; }

/* Painel Centro: linha a seguir ao Voltar ao Centro */
.dmadv-sheet .dmadv-sheet-head { padding-bottom: 14px; margin-bottom: 6px; }

/* Painel Centro: cabecalho cinza claro e cruz branca */
.dmadv-sheet .dmadv-sheet-head { background: #f3f4f6; border-radius: 18px 18px 0 0; padding-top: 16px; }
.dmadv-sheet .dmadv-sheet-close { background: #fff !important; }

/* Barra de menus: icone e texto a rosa no separador selecionado */
.dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs a.dmadv-tab.dmadv-tab-active, .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs .dmadv-tab-dropdown.dmadv-tab-active, .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs .dmadv-tab-dropdown.dmadv-tab-active > a.dmadv-tab-link { color: #ff3c9f !important; }
.dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs .dmadv-tab-active .dmadv-tab-icon svg, .dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs .dmadv-tab-active .dmadv-tab-icon svg * { stroke: #ff3c9f !important; }

/* Barra de menus: icone selecionado ligeiramente maior */
.dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs .dmadv-tab-icon svg { transition: transform .15s ease; }
.dmadv-dashboard.dmadv-dashboard nav.dmadv-tabs .dmadv-tab-active .dmadv-tab-icon svg { transform: scale(1.18); }

/* Pilula Ver site mais subtil */
body.dmadv-app-mode .dmadv-topbar a.dmadv-topbar-site { background: transparent !important; border: 1px solid #e3e5ea; color: #5b6070 !important; font-size: 13px; font-weight: 600; padding: 7px 13px; }
/* Conta: menu lateral no desktop */
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-menu { display: none; }
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-layout { display: contents; }
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-menu { display: flex; flex-direction: column; gap: 4px; position: sticky; top: 90px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-mi { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 0; border-radius: 12px; background: transparent !important; color: var(--dm-ink-soft, #4b5060) !important; font-size: 14px; font-weight: 700; text-align: left; cursor: pointer; box-shadow: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-mi svg { width: 20px; height: 20px; flex: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-mi:hover { background: #f3f4f6 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-mi.is-active { background: #ffe8f3 !important; color: #ff1493 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-mi.is-danger.is-active { background: #fdecea !important; color: #96201f !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-sep { height: 1px; margin: 8px 6px; background: var(--dm-line-strong, #dfe2e7); }
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-layout.dmadv-ac-ready .dmadv-ac-content > [data-ac] { display: none; }
.dmadv-dashboard.dmadv-dashboard .dmadv-ac-layout.dmadv-ac-ready .dmadv-ac-content > [data-ac].is-active { display: block; }
}

/* Conta: cabecalho dentro da coluna esquerda */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-account { display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: 32px; align-items: start; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account > h2 { grid-column: 2; grid-row: 1; margin-bottom: 18px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-ac-menu { grid-column: 1; grid-row: 1 / span 2; top: 90px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-ac-content { grid-column: 2; grid-row: 2; min-width: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-ac-content > [data-ac] { margin-top: 0; padding-top: 0; border-top: 0; }
}
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-account > h2 { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-ac-content > [data-ac] > h3:first-child { margin-top: 0; }
}

/* Conta: menu alinhado com o titulo */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-ac-menu { margin-top: 0; }
}

/* Conta: menu e conteudo na mesma linha da grelha */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-ac-menu, .dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-ac-content { grid-row: 1; }
}

/* Conta: sem subtitulos por cima dos titulos (desktop) */
@media (min-width: 901px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-ac-content .dmadv-ac-kicker { display: none; }
}

/* Conta: campo Mensagem igual aos restantes campos */
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form textarea { display: block; width: 100%; max-width: none; margin: 0; padding: 13px 14px; border: 1px solid var(--dm-line-strong); border-radius: 12px; background: #fff; font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.5; color: var(--dm-ink); box-shadow: none; box-sizing: border-box; resize: vertical; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account .dmadv-form textarea:focus { outline: 2px solid var(--dm-brand); outline-offset: 1px; border-color: transparent; }

/* Conta: lista */
.dmadv-dashboard.dmadv-dashboard .dmadv-account ul.dmadv-ac-list { list-style: disc; margin: 10px 0 0; padding: 0 0 0 20px; color: var(--dm-ink-soft, #4b5060); font-size: 14px; line-height: 1.5; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account ul.dmadv-ac-list li { margin: 0 0 6px; padding: 0; display: list-item; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account ul.dmadv-ac-list + form.dmadv-form { margin-top: 20px; }

/* Conta: pontos da lista (desenhados, sem depender do list-style) */
.dmadv-dashboard.dmadv-dashboard .dmadv-account ul.dmadv-ac-list { list-style: none !important; padding-left: 0 !important; margin: 10px 0 0 !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account ul.dmadv-ac-list li { position: relative; display: block; padding: 0 0 0 18px !important; margin: 0 0 8px !important; list-style: none !important; }
.dmadv-dashboard.dmadv-dashboard .dmadv-account ul.dmadv-ac-list li::before { content: ''; position: absolute; left: 4px; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: #1a1a1a; }

/* Notificacoes: cabecalho com icone e fundo cinza claro (mobile) */
@media (max-width: 700px) {
body.dmadv-app-mode .dmadv-notif-panel { background: #f3f4f6; }
body.dmadv-app-mode .dmadv-notif-panel-head { background: transparent; border-bottom: 0; padding: 10px 16px 14px; }
body.dmadv-app-mode .dmadv-notif-panel-title { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; }
body.dmadv-app-mode .dmadv-notif-panel-ic { display: inline-flex; width: 22px; height: 22px; }
body.dmadv-app-mode .dmadv-notif-panel-ic svg { width: 100%; height: 100%; }
body.dmadv-app-mode .dmadv-notif-panel-close { background: #fff !important; }
body.dmadv-app-mode .dmadv-notif-panel-body { background: #fff; }
}
/* Notificacoes: leitura dos itens */
body .dmadv-notif-panel .dmadv-notif-group-label { font-size: 12px; font-weight: 800; letter-spacing: .1em; color: #4b5060; margin: 14px 4px 8px; }
body .dmadv-notif-panel .dmadv-notif-items { display: flex; flex-direction: column; gap: 10px; }
body .dmadv-notif-panel .dmadv-notif-item { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; }
body .dmadv-notif-panel .dmadv-notif-item-icon { flex: none; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: #fff; }
body .dmadv-notif-panel .dmadv-notif-item-icon svg { width: 22px; height: 22px; }
body .dmadv-notif-panel .dmadv-notif-item-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body .dmadv-notif-panel .dmadv-notif-item-title { font-size: 16px; font-weight: 800; line-height: 1.25; color: #1a1a1a; }
body .dmadv-notif-panel .dmadv-notif-item-status { font-size: 14px; font-weight: 800; line-height: 1.25; }
body .dmadv-notif-panel .dmadv-notif-item-meta { font-size: 13px; font-weight: 500; line-height: 1.35; margin-top: 2px; }
body .dmadv-notif-panel .dmadv-notif-item-expirado { background: #fde8e8; }
body .dmadv-notif-panel .dmadv-notif-item-expirado .dmadv-notif-item-status { color: #a11a1a; }
body .dmadv-notif-panel .dmadv-notif-item-expirado .dmadv-notif-item-meta { color: #6b2a2a; }
body .dmadv-notif-panel .dmadv-notif-item-a_expirar { background: #fdf1d6; }
body .dmadv-notif-panel .dmadv-notif-item-a_expirar .dmadv-notif-item-status { color: #a15500; }
body .dmadv-notif-panel .dmadv-notif-item-a_expirar .dmadv-notif-item-meta { color: #6b4a14; }

/* Notificacoes: X igual ao do painel Voltar ao Centro */
@media (max-width: 700px) {
body .dmadv-notif-panel .dmadv-notif-panel-close { display: inline-flex !important; align-items: center; justify-content: center; width: 36px !important; height: 36px !important; min-width: 0; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #fff !important; color: #1e1e1e !important; font-size: 0; line-height: 0; box-shadow: none !important; }
body .dmadv-notif-panel .dmadv-notif-panel-close svg { width: 16px; height: 16px; }
}

/* Painel Centro: barra de arrastar no topo, como nas Notificacoes */
.dmadv-sheet .dmadv-sheet-head { position: relative; padding-top: 28px; }
.dmadv-sheet .dmadv-sheet-head::before { content: ''; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 38px; height: 4px; border-radius: 999px; background: #d4d6db; }
/* Notificacoes: desktop corrigido e bottom sheet em mobile */
body .dmadv-notif-panel .dmadv-notif-panel-title { display: inline-flex; align-items: center; gap: 8px; }
body .dmadv-notif-panel .dmadv-notif-panel-ic { display: inline-flex; flex: none; width: 18px; height: 18px; }
body .dmadv-notif-panel .dmadv-notif-panel-ic svg { width: 100%; height: 100%; }
body .dmadv-notif-panel .dmadv-notif-item-meta { white-space: normal; overflow: visible; text-overflow: clip; }
@media (max-width: 700px) {
body.dmadv-app-mode .dmadv-notif-panel { max-width: none; max-height: 75vh; border-radius: 18px 18px 0 0; z-index: 9999; }
body.dmadv-app-mode .dmadv-notif-overlay { z-index: 9998; }
@keyframes dmadv-notif-up { from { transform: translate(-50%, 100%); } to { transform: translate(-50%, 0); } }
@keyframes dmadv-notif-fade { from { opacity: 0; } to { opacity: 1; } }
body.dmadv-app-mode .dmadv-notif-layer:not([hidden]) .dmadv-notif-panel { animation: dmadv-notif-up .25s ease-out; }
body.dmadv-app-mode .dmadv-notif-layer:not([hidden]) .dmadv-notif-overlay { animation: dmadv-notif-fade .25s ease-out; }
}

/* Inicio: data de expiracao em Por ativar (desktop) */
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-until { display: block; margin-top: 2px; font-size: 12px; font-weight: 700; color: var(--svc-color); }

/* Inicio: padding dos cartoes Ativos agora */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card { padding: 20px; }

/* Inicio: padding dos cartoes Por ativar */
@media (min-width: 701px) { .dmadv-dashboard.dmadv-dashboard .dmadv-todo-card { padding: 20px; } }

/* Inicio: pilula do plano so com o icone (cartoes Ativos agora) */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card-head .dmadv-svc-card-plan:not(.is-offer) { font-size: 0; gap: 0; padding: 6px; line-height: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-grid:not(.dmadv-v2-grid) .dmadv-svc-card-head .dmadv-svc-card-plan:not(.is-offer) svg { width: 16px; height: 16px; margin: 0; }

/* Inicio: Por ativar, nome e quantidade na mesma linha */
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-tx { flex-direction: row; flex-wrap: wrap; align-items: baseline; column-gap: 8px; row-gap: 2px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-tx small { margin-top: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-todo-tx .dmadv-todo-until { flex-basis: 100%; }
/* Inicio: Ativos agora sem servicos */
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-empty { display: flex; align-items: center; gap: 20px; margin-top: 20px; padding: 20px; border-radius: 16px; background: #f3f4f6; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-empty-ics { display: flex; flex: none; gap: 8px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-empty-ic { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-empty-ic svg { width: 22px; height: 22px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-empty-tx { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-empty-tx b { font-size: 16px; font-weight: 800; color: var(--dm-ink); }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-empty-tx span { font-size: 14px; color: var(--dm-ink-soft, #4b5060); }
.dmadv-dashboard.dmadv-dashboard a.dmadv-svc-empty-cta { flex: none; display: inline-flex; align-items: center; padding: 11px 18px; border-radius: 999px; background: #fff; color: var(--dm-ink) !important; font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard a.dmadv-svc-empty-cta:hover { background: #fff; filter: brightness(.97); }
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-empty { flex-direction: column; align-items: flex-start; gap: 14px; }
}
/* Inicio: cartao rotativo de servicos */
.dmadv-dashboard.dmadv-dashboard .dmadv-services-inline-empty .dmadv-services-inline-head h3.dmadv-panel-title-lg::before { content: "Serviços"; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-rot { display: grid; margin-top: 20px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-slide { grid-area: 1 / 1; display: flex; align-items: center; gap: 16px; padding: 20px; border-radius: 16px; background: var(--svc-bg); opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility 0s linear .35s; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-slide.is-on { opacity: 1; visibility: visible; transition: opacity .35s ease; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-slide-ic { flex: none; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; background: #fff; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-slide-ic svg { width: 24px; height: 24px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-slide-tx { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-slide-tx b { font-size: 18px; font-weight: 800; color: var(--svc-color); }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-slide-tx span { font-size: 14px; color: var(--dm-ink-soft, #4b5060); }
.dmadv-dashboard.dmadv-dashboard a.dmadv-svc-slide-cta { flex: none; display: inline-flex; align-items: center; padding: 11px 18px; border-radius: 999px; background: #fff; color: var(--svc-color) !important; font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-dots { grid-area: 2 / 1; display: flex; justify-content: center; gap: 6px; padding-top: 12px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-dots i { width: 6px; height: 6px; border-radius: 50%; background: #d4d6db; transition: width .2s ease, background .2s ease; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-dots i.is-on { width: 18px; border-radius: 99px; background: #9aa0ad; }
@media (max-width: 700px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-slide { flex-wrap: wrap; padding: 16px; }
.dmadv-dashboard.dmadv-dashboard .dmadv-svc-slide-tx { flex-basis: calc(100% - 64px); }
.dmadv-dashboard.dmadv-dashboard a.dmadv-svc-slide-cta { margin-left: 64px; }
}

/* Cabecalho mobile: Painel com icone + texto para anunciantes */
.dm-mobile-action.dm-mobile-panel.dm-mobile-panel-adv { width: auto; gap: 6px; padding: 0 10px; color: var(--dm-ink-faint); }
.dm-mobile-panel-label { font-size: 13px; font-weight: 800; line-height: 1; }

/* Cabecalho mobile: Painel em pill so com contorno */
a.dm-mobile-action.dm-mobile-panel.dm-mobile-panel-adv, a.dm-mobile-action.dm-mobile-panel.dm-mobile-panel-adv:hover, a.dm-mobile-action.dm-mobile-panel.dm-mobile-panel-adv:focus { text-decoration: none; height: 34px; padding: 0 14px; border: 1px solid var(--dm-line-strong, #dfe2e7); border-radius: 999px; background: transparent; box-sizing: border-box; }
a.dm-mobile-action.dm-mobile-panel.dm-mobile-panel-adv:hover, a.dm-mobile-action.dm-mobile-panel.dm-mobile-panel-adv.on { border-color: var(--dm-brand); }
a.dm-mobile-panel-adv .dm-mobile-panel-label { text-decoration: none; }

/* ===== Mapa (mobile): cartoes da lista com o mesmo aspeto dos cartoes da lista de massagistas (foto 2:3 com nome/zona sobrepostos) ===== */
@media ( max-width: 782px ) {
  .dm2027-massagistas-mapa-list .dm2027-mapa-item { position: relative; display: flex; flex-direction: column; justify-content: flex-end; flex: none; width: calc( var( --dm-strip-card, 138px ) * .8 ); aspect-ratio: 2 / 3; padding: 0; gap: 0; border: 0; border-radius: var(--dm-r-photo); overflow: hidden; container-type: inline-size; background: #CBD5E0; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item[hidden] { display: none; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item.is-active { background: #CBD5E0; outline: 2px solid var(--dm-brand); outline-offset: -2px; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-avatar { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; border-radius: 0; object-fit: cover; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item-info { position: static; z-index: 1; align-self: stretch; min-height: 0; padding: 7cqw; background: var(--dm-card-gradient); color: #fff; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item-info::after { display: none; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item .dm2027-mapa-item-name { display: flex; align-items: center; margin-bottom: 1cqw; font-size: 11cqw; font-weight: 700; line-height: 1.2; color: #fff !important; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item .dm2027-mapa-item-name .dmadv-trust-badge { margin-left: 2.4cqw; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item .dm2027-mapa-item-name .dmadv-trust-badge svg { width: 12cqw; height: 12cqw; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item .dm2027-mapa-item-name .dmadv-available-now-icon { margin-left: 3cqw; width: 12cqw; height: 12cqw; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item .dm2027-mapa-item-name .dmadv-available-now-icon svg { width: 6.5cqw; height: 6.5cqw; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item-zona, .dm2027-massagistas-mapa-list .dm2027-mapa-item-no-coords { font-size: 9cqw; line-height: 1.3; color: #fff; opacity: .9; }
  .dm2027-massagistas-mapa-list .dm2027-mapa-item-dist { position: absolute; top: 6px; right: 6px; margin: 0; transform: none; padding: 2px 6px; border-radius: 99px; background: rgba(0,0,0,.55); color: #fff; font-size: 9px; line-height: 1.3; z-index: 2; }
}

/* Pagina Zonas: pesquisa + botoes de genero na mesma linha. */
.dm2027-zonas-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.dm2027-home .dm2027-zonas-bar .dm2027-fi.dm2027-zonas-search { flex: 1 1 280px; margin-top: 0; }
.dm2027-mass-wrap .dm2027-zonas-bar .dm2027-chips { margin: 0; flex: none; }
@media ( max-width: 782px ) {
  .dm2027-zonas .dm2027-zonas-bar { order: 2; flex-direction: column; align-items: stretch; gap: 10px; margin-top: 14px; }
  .dm2027-home .dm2027-zonas-bar .dm2027-fi.dm2027-zonas-search { flex: none; }
}
/* Pagina Zonas: o select de genero reutiliza o aspeto do select de genero do mapa (regras acima); aqui so o que a pagina do mapa ja herda de outros sitios. */
.dm2027-zonas-bar select.dm2027-zonas-genero { -webkit-appearance: none; appearance: none; cursor: pointer; flex: 0 0 240px; padding-right: 40px; }
@media ( max-width: 782px ) { .dm2027-zonas-bar select.dm2027-zonas-genero { flex: none; width: 100%; } }

/* Barra de filtros das Massagistas: select de genero so em mobile (em desktop o menu ja tem o genero), logo a seguir ao Perto de mim (mesma ordem, a seguir no DOM). */
.dm2027-filter-form #dm2027-filter-genero { display: none; }
@media ( max-width: 782px ) {
  .dm2027-filter-form #dm2027-filter-genero { display: block; order: -3; }
}

/* Pagina inicial: com o filtro de genero a pesquisa tem 5 colunas em desktop (nos breakpoints menores as regras existentes de 2 e 1 colunas continuam a valer). */
@media ( min-width: 1025px ) { .dm2027-home-search.dm2027-home-search--genero { grid-template-columns: 1.35fr 1fr 1fr 1fr auto; } }

/* Pagina inicial em mobile: sem as caixas de atalhos (Mapa, Novidades, Centros e Spas, Disponivel Agora) -- o mapa e os centros ja estao na barra de baixo. */
@media ( max-width: 782px ) { .dm2027-home .dm2027-home-quick { display: none; } }

/* Pagina inicial em mobile: pesquisa em cima; zona e genero lado a lado; depois massagem e o botao. */
@media ( max-width: 782px ) {
  .dm2027-home-search.dm2027-home-search--genero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .dm2027-home-search--genero > .dm2027-fi--search, .dm2027-home-search--genero > .dm2027-fi--massagem, .dm2027-home-search--genero > .dm2027-btn { grid-column: 1 / -1; }
  .dm2027-home-search--genero > .dm2027-fi--search { order: 1; }
  .dm2027-home-search--genero > .dm2027-fi--zona { order: 2; }
  .dm2027-home-search--genero > .dm2027-fi--genero { order: 3; }
  .dm2027-home-search--genero > .dm2027-fi--massagem { order: 4; }
  .dm2027-home-search--genero > .dm2027-btn { order: 5; }
}


/* ===== Design 2026 — Painel do Centro: Validade e condição (cartões de condição = botões de compra) ===== */
.dmadv-dashboard.dmadv-dashboard .dmvc{margin:48px 0 0;padding:44px 0 0;border-top:1px solid #dfe2e7;}
.dmadv-dashboard.dmadv-dashboard .dmvc-id{display:flex;align-items:center;gap:12px;margin:0 0 22px;}
.dmadv-dashboard.dmadv-dashboard .dmvc-id .ic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--dm-svc-topo-bg);color:var(--dm-svc-topo);flex:none;}
.dmadv-dashboard.dmadv-dashboard .dmvc-id .nm{display:flex;flex-direction:column;line-height:1.25;min-width:0;}
.dmadv-dashboard.dmadv-dashboard .dmvc-id .nm b{font-size:16px;font-weight:800;color:var(--dm-ink);}
.dmadv-dashboard.dmadv-dashboard .dmvc-id .nm span{font-size:12.5px;color:var(--dm-ink-soft);}
.dmadv-dashboard.dmadv-dashboard .dmvc-id .tag{margin-left:auto;padding:5px 11px;border-radius:99px;background:var(--dm-svc-topo-bg);color:var(--dm-svc-topo);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.dmadv-dashboard.dmadv-dashboard p.dmvc-k{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-brand);}
.dmadv-dashboard.dmadv-dashboard h3.dmvc-t{margin:0;font-size:28px;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--dm-ink);}
.dmadv-dashboard.dmadv-dashboard p.dmvc-lede{margin:10px 0 0;max-width:70ch;font-size:14px;line-height:1.6;color:var(--dm-ink-soft);}
.dmadv-dashboard.dmadv-dashboard .dmvc-cur{display:flex;flex-direction:column;gap:14px;margin-top:24px;padding:20px 24px;border-radius:18px;background:var(--dm-brand-soft);}
.dmadv-dashboard.dmadv-dashboard .dmvc-cur.is-n{background:var(--dm-svc-verificado-bg);}
.dmadv-dashboard.dmadv-dashboard .dmvc-cur.is-off{background:var(--dm-warn-bg);color:var(--dm-warn);font-size:14px;font-weight:700;}
.dmadv-dashboard.dmadv-dashboard .dmvc-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--dm-ink-2);}
.dmadv-dashboard.dmadv-dashboard .dmvc-pill{padding:5px 12px;border-radius:99px;background:var(--dm-brand);color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.dmadv-dashboard.dmadv-dashboard .dmvc-cur.is-n .dmvc-pill{background:var(--dm-svc-verificado);}
.dmadv-dashboard.dmadv-dashboard .dmvc-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.9);overflow:hidden;}
.dmadv-dashboard.dmadv-dashboard .dmvc-bar i{display:block;height:100%;border-radius:99px;background:var(--dm-brand);}
.dmadv-dashboard.dmadv-dashboard .dmvc-cur.is-n .dmvc-bar i{background:var(--dm-svc-verificado);}
.dmadv-dashboard.dmadv-dashboard .dmvc-barl{display:flex;justify-content:space-between;font-size:12px;color:var(--dm-ink-soft);margin-top:-6px;}
.dmadv-dashboard.dmadv-dashboard .dmvc-note{margin:16px 0 0;padding:14px 18px;border-radius:12px;background:var(--dm-warn-bg);color:var(--dm-warn);font-size:13.5px;line-height:1.5;}
.dmadv-dashboard.dmadv-dashboard .dmvc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card{position:relative;display:flex;flex-direction:column;width:100%;margin:0;padding:26px;border:2px solid transparent;border-radius:18px;text-align:left;font:inherit;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--dm-ink) !important;cursor:pointer;box-shadow:none;transition:transform .12s ease,box-shadow .12s ease;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-n{background:var(--dm-svc-verificado-bg) !important;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-d{background:var(--dm-brand-soft) !important;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08);}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card:focus-visible{outline:2px solid var(--dm-brand);outline-offset:2px;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-cur.is-n{border-color:var(--dm-svc-verificado);}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-cur.is-d{border-color:var(--dm-brand);}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-sel{box-shadow:0 0 0 3px rgba(255,60,159,.25);}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card[disabled]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;}
.dmadv-dashboard.dmadv-dashboard .dmvc-nm{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-n .dmvc-nm{color:var(--dm-svc-verificado);}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-d .dmvc-nm{color:var(--dm-brand);}
.dmadv-dashboard.dmadv-dashboard .dmvc-pr{display:block;margin:10px 0 2px;font-size:40px;font-weight:800;line-height:1.05;color:var(--dm-ink);}
.dmadv-dashboard.dmadv-dashboard .dmvc-pr small{font-size:14px;font-weight:600;color:var(--dm-ink-soft);}
.dmadv-dashboard.dmadv-dashboard .dmvc-pr em{display:block;font-size:12px;font-style:normal;font-weight:700;color:var(--dm-warn);margin-top:4px;}
.dmadv-dashboard.dmadv-dashboard .dmvc-ul{display:flex;flex-direction:column;gap:9px;margin-top:18px;font-size:14px;color:var(--dm-ink-2);}
.dmadv-dashboard.dmadv-dashboard .dmvc-li{display:flex;gap:9px;line-height:1.45;}
.dmadv-dashboard.dmadv-dashboard .dmvc-li i{font-style:normal;font-weight:800;color:var(--dm-good);}
.dmadv-dashboard.dmadv-dashboard .dmvc-badge{position:absolute;top:18px;right:18px;padding:4px 10px;border-radius:99px;background:#fff;color:var(--dm-ink);font-size:11px;font-weight:800;letter-spacing:.04em;}
.dmadv-dashboard.dmadv-dashboard .dmvc-go{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-n .dmvc-go{color:var(--dm-svc-verificado);}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-d .dmvc-go{color:var(--dm-brand);}
.dmadv-dashboard.dmadv-dashboard p.dmvc-hint{margin:16px 0 0;font-size:12.5px;line-height:1.6;color:var(--dm-ink-faint);}
.dmadv-dashboard.dmadv-dashboard .dmvc-link{display:inline;margin:0;padding:0;border:0;background:none !important;color:var(--dm-brand) !important;font-size:12.5px;font-weight:800;cursor:pointer;box-shadow:none;text-decoration:underline;}
.dmadv-dashboard.dmadv-dashboard .dmvc-pay{display:flex;flex-direction:column;gap:14px;margin-top:20px;padding:22px 24px;border-radius:18px;background:#faf5f8;}
.dmadv-dashboard.dmadv-dashboard .dmvc-pay[hidden]{display:none;}
.dmadv-dashboard.dmadv-dashboard .dmvc-pay-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:15px;font-weight:800;color:var(--dm-ink);}
.dmadv-dashboard.dmadv-dashboard .dmvc-pay-h span{font-size:22px;color:var(--dm-brand);}
.dmadv-dashboard.dmadv-dashboard .dmvc-seg{display:flex;gap:8px;flex-wrap:wrap;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-m{margin:0;padding:8px 16px;border:0;border-radius:99px;background:#f3f4f6 !important;color:var(--dm-ink-soft) !important;font-size:13px;font-weight:800;cursor:pointer;box-shadow:none;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-m.on{background:var(--dm-brand) !important;color:#fff !important;}
.dmadv-dashboard.dmadv-dashboard .dmvc-pay label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:var(--dm-ink-2);}
.dmadv-dashboard.dmadv-dashboard .dmvc-pay input[type=tel]{width:100%;max-width:320px;padding:13px 14px;border:1px solid #dfe2e7;border-radius:12px;background:#fff;font-size:14px;font-weight:400;color:var(--dm-ink);}
.dmadv-dashboard.dmadv-dashboard .dmvc-pay-a{display:flex;gap:8px;flex-wrap:wrap;}
.dmadv-dashboard.dmadv-dashboard p.dmvc-res{margin:0;font-size:13px;color:var(--dm-ink-soft);min-height:1em;}
.dmadv-dashboard.dmadv-dashboard .dmvc-refs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;}
.dmadv-dashboard.dmadv-dashboard .dmvc-ref{display:flex;flex-direction:column;align-items:center;padding:20px 8px;border-radius:14px;background:#faf5f8;text-align:center;}
.dmadv-dashboard.dmadv-dashboard .dmvc-ref b{font-size:28px;font-weight:800;line-height:1.1;color:var(--dm-brand);letter-spacing:.02em;}
.dmadv-dashboard.dmadv-dashboard .dmvc-ref span{margin-top:6px;font-size:12px;color:var(--dm-ink-soft);}
@media (max-width:640px){
.dmadv-dashboard.dmadv-dashboard .dmvc{margin-top:36px;padding-top:32px;}
.dmadv-dashboard.dmadv-dashboard h3.dmvc-t{font-size:24px;}
.dmadv-dashboard.dmadv-dashboard .dmvc-grid{grid-template-columns:1fr;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card{padding:20px;}
.dmadv-dashboard.dmadv-dashboard .dmvc-pr{font-size:34px;}
.dmadv-dashboard.dmadv-dashboard .dmvc-refs{grid-template-columns:1fr;}
.dmadv-dashboard.dmadv-dashboard .dmvc-cur{padding:18px;}
}

/* Painel: menu de troca de massagista no separador com o nome (desktop); o separador Centro so' o usa no telemóvel (folha) */
@media (min-width: 701px) {
.dmadv-dashboard.dmadv-dashboard .dmadv-tab-dropdown.dmadv-dd-m-only .dmadv-tab-dropdown-menu,
.dmadv-dashboard.dmadv-dashboard .dmadv-tab-dropdown.dmadv-dd-m-only:hover .dmadv-tab-dropdown-menu,
.dmadv-dashboard.dmadv-dashboard .dmadv-tab-dropdown.dmadv-dd-m-only:focus-within .dmadv-tab-dropdown-menu { display: none !important; }
}

/* passo 4.55: cores dos planos dos Centros na janela de pagamento (Home do Centro). Normal = azul (o mesmo do cartao, --dm-svc-verificado), Destaque = ameixa (cor propria, nao rosa da marca nem dourado). */
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-centro_normal { --dmadv-sv: #0089b8; --dmadv-tint: #eef9ff; --dmadv-tint2: #bfe6f5; --dmadv-tone: #0089b8; --dmadv-on: #fff; }
#dmadv-checkout-modal .dmadv-crop-modal-body.dmadv-co.dmadv-product-card-centro_destaque { --dmadv-sv: #a02b93; --dmadv-tint: #fbeff9; --dmadv-tint2: #efc9ea; --dmadv-tone: #8e2483; --dmadv-on: #fff; }

/* passo 4.55b: cartao Destaque do Centro (Home do Centro) em ameixa, igual a' janela de pagamento (passo 4.55) -- deixa de usar o rosa da marca. */
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-d{background:#fbeff9 !important;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-cur.is-d{border-color:#a02b93;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-d .dmvc-nm{color:#a02b93;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-d .dmvc-go{color:#a02b93;}
.dmadv-dashboard.dmadv-dashboard .dmvc-cur.is-d{background:#fbeff9;}
.dmadv-dashboard.dmadv-dashboard .dmvc-cur.is-d .dmvc-pill{background:#a02b93;}
.dmadv-dashboard.dmadv-dashboard .dmvc-cur.is-d .dmvc-bar i{background:#a02b93;}

/* passo 4.55c: texto introdutorio "Validade e condicao" (Home do Centro) a ocupar a largura da coluna (antes max-width:70ch). */
.dmadv-dashboard.dmadv-dashboard p.dmvc-lede{max-width:none;}

/* passo 4.55d: etiqueta "Plano Atual" nas cores do plano (Anuncio = azul, Anuncio + Destaque = ameixa). */
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-n .dmvc-badge{background:#0089b8;color:#fff;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-d .dmvc-badge{background:#a02b93;color:#fff;}

/* passo 4.55e: cartao do plano atual (Home do Centro) sem contorno colorido. */
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-cur.is-n, .dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-cur.is-d{border-color:transparent;}

/* passo 4.55f: cartoes de plano do Centro sem sombra no hover. */
.dmadv-dashboard.dmadv-dashboard button.dmvc-card:hover, .dmadv-dashboard.dmadv-dashboard button.dmvc-card:focus{box-shadow:none !important;}

/* passo 4.55g: CTA dos cartoes de plano do Centro (ex. Renovar Anuncio) como botao solido nas cores do plano. */
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-go{justify-content:center;align-self:stretch;margin-top:20px;padding:14px 20px;border-radius:12px;font-size:13px;color:#fff;box-shadow:none;transition:filter .12s ease;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-n .dmvc-go{background:#0089b8;color:#fff;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card.is-d .dmvc-go{background:#a02b93;color:#fff;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card:hover .dmvc-go{filter:brightness(1.08);}

/* passo 4.55h: cartoes de plano do Centro no formato dos planos da massagista (.dmadv-renew-plan): icone do plano + nome + preco, pills com icone, botao solido com seta, fita Recomendado. */
.dmadv-dashboard.dmadv-dashboard button.dmvc-card{position:relative;overflow:hidden;padding:22px;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-hd{display:flex;align-items:center;gap:14px;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-ic{display:flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;border-radius:14px;background:#fff;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-ic svg{width:28px;height:28px;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-hd-tx{display:flex;flex-direction:column;gap:2px;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-nm{font-size:17px;letter-spacing:0;text-transform:none;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-pr{margin:0;font-size:34px;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-ul{flex:1;align-items:flex-start;gap:8px;margin-top:18px;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-li{display:flex;align-items:center;gap:10px;align-self:flex-start;box-sizing:border-box;padding:5px 16px 5px 5px;border-radius:24px;background:#fff;color:#1e1e1e;font-size:15px;font-weight:800;line-height:1.2;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-li-ic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:50%;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-li-ic svg{width:20px;height:20px;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-go{justify-content:center;gap:8px;min-height:56px;margin-top:20px;padding:0 20px;border-radius:16px;font-size:16px;letter-spacing:.01em;text-transform:none;}
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-ribbon{position:absolute;top:34px;right:-50px;width:190px;padding:6px 0;text-align:center;transform:rotate(45deg);background:#a02b93;color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;line-height:1.3;}
/* passo 4.55i: etiqueta Plano Atual em maiusculas. */
.dmadv-dashboard.dmadv-dashboard button.dmvc-card .dmvc-badge{text-transform:uppercase;}

/* passo 4.55j: texto 'O anuncio expirou a...' (renovacao da massagista) a ocupar a largura da coluna. */
.dmadv-dashboard.dmadv-dashboard .dmadv-renew-lede{max-width:none;}

/* passo 4.55k: Centro expirado -- planos na coluna das estatisticas, empilhados. */
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-summary-col-stats .dmvc-grid{grid-template-columns:1fr;margin-top:20px;}

/* passo 4.55l: banner do Centro mais pequeno quando expirado/pendente (desktop). */
@media (min-width:701px){.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-preview-card-expirado .dmadv-entity-summary-media, .dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-preview-card-pendente .dmadv-entity-summary-media{height:110px;}}

/* passo 4.55m: Centro expirado, desktop -- banner estreito + dois planos lado a lado numa so linha. */
@media (min-width:701px){
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-row.dmadv-entity-summary-row-exp{grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:28px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-summary-row-exp .dmadv-entity-summary-col-stats .dmvc-grid{grid-template-columns:1fr 1fr;margin-top:20px;}
}
/* passo 4.55n: Centro expirado (desktop) -- seccao Ative o anuncio sem linha de separacao nem espaco no topo. */
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-summary-row-exp .dmvc{border-top:0;margin-top:0;padding-top:0;}

/* passo 4.55o: titulo da seccao do Centro (Ative o anuncio) com o tamanho do da massagista (.dmadv-renew-title: 18px). */
.dmadv-dashboard.dmadv-dashboard h3.dmvc-t{font-size:18px;line-height:1.3;letter-spacing:0;}

/* passo 4.55p: cartao do Centro expirado com o estilo do da massagista (fundo rosa, cantos 18px, barra vermelha Expirou a / ha N dias). */
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-preview-card-expirado{background:#fdecec;border-radius:18px;padding:14px;box-sizing:border-box;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-preview-card-expirado .dmadv-entity-summary-media{margin-bottom:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-preview-card-expirado .dmadv-state-message{margin:12px 0 0;padding:10px;border-radius:10px;text-align:center;background:#96201f;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-preview-card-expirado .dmadv-state-note{margin:0;font-size:13px;font-weight:800;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-preview-card-expirado .dmadv-state-sub{display:block;margin-top:6px;font-size:12px;font-weight:500;color:#fff;opacity:.9;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-preview-card-expirado .dmadv-stats-centro-note{display:none;}
/* passo 4.55q: Centro expirado em mobile -- cartao do banner como o da massagista (fundo rosa, barra vermelha), sem linha de separacao na seccao Ative o anuncio. */
@media (max-width:700px){
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-entity-exp a.dmadv-mobile-centro-preview{background:#fdecec;border:0;border-radius:18px;padding:14px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-entity-exp a.dmadv-mobile-centro-preview .dmadv-media-ticker{border-radius:18px;overflow:hidden;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-entity-exp .dmadv-mobile-centro-preview .dmadv-state-message{margin:12px 0 0;padding:14px 12px;border-radius:12px;text-align:center;background:#96201f;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-entity-exp .dmadv-mobile-centro-preview .dmadv-state-note{margin:0;font-size:17px;font-weight:800;line-height:1.25;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-entity-exp .dmadv-mobile-centro-preview .dmadv-state-sub{display:block;margin-top:6px;font-size:14px;font-weight:500;color:#fff;opacity:.9;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-entity-exp .dmvc{border-top:0;margin-top:24px;padding-top:0;}
}
/* passo 4.55r: Centro expirado em mobile -- pill EXPIRADO no banner (como na massagista). */
@media (max-width:700px){.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-home-entity-exp .dmadv-mobile-centro-preview .dmadv-state-ticker{display:block;position:absolute;top:12px;right:12px;padding:6px 14px;border-radius:999px;background:#96201f;color:#fff;font-size:13px;font-weight:800;letter-spacing:.06em;}}

/* passo 4.55s: pills de estado dos cartoes todos com o mesmo layout (pill arredondado); Online passou a Ativo. */
.dmadv-dashboard.dmadv-dashboard .dmadv-state-ticker.dmadv-cst{border-radius:999px;}
@media (max-width:700px){
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-preview .dmadv-state-ticker{display:block;position:absolute;top:12px;right:12px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.06em;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-preview .dmadv-state-ticker-online{background:#12a64a;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-preview .dmadv-state-ticker-pendente{background:#fff4e5;color:#8a5a00;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-preview .dmadv-state-ticker-inativo{background:#eee;color:#555;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-preview .dmadv-state-ticker-bloqueado{background:#e7ecf3;color:#3a5a8a;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-preview .dmadv-state-ticker-expirado{background:#96201f;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-preview .dmadv-mobile-status-pill{display:none;}
}
/* passo 4.55t: pills de estado (ticker do cartao + pill de estado) sempre totalmente arredondados, em qualquer contexto do painel. */
.dmadv-dashboard .dmadv-state-ticker, .dmadv-dashboard .dmadv-state-pill, .dmadv-dashboard .dmadv-mobile-status-pill{border-radius:999px !important;}

/* passo 4.55u: banner do Centro em mobile (Ativo / A expirar) igual ao cartao da massagista: fundo suave, cantos 18px, linha Expira a ou barra laranja. */
@media (max-width:700px){
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-centro-preview.dmadv-mobile-centro-live{background:#eafbf0;border:0;border-radius:18px;padding:14px;}
.dmadv-dashboard.dmadv-dashboard a.dmadv-mobile-centro-preview.dmadv-mobile-centro-window{background:#fde9e4;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-live .dmadv-media-ticker{border-radius:18px;overflow:hidden;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-live .dmadv-state-ticker-a-expirar{background:#d46500;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-live .dmadv-expiry-row{margin-top:12px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-live .dmadv-state-message{margin:12px 0 0;padding:14px 12px;border-radius:12px;text-align:center;background:#d46500;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-live .dmadv-state-note{margin:0;font-size:17px;font-weight:800;line-height:1.25;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-mobile-centro-live .dmadv-state-sub{display:block;margin-top:6px;font-size:14px;font-weight:500;color:#fff;opacity:.9;}
}
/* passo 4.55v: cartao do Centro (desktop) Ativo / A expirar igual ao da massagista: fundo suave, cantos 18px, linha Expira a ou barra laranja, botao Ver anuncio na cor do estado. */
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live{background:#eafbf0;border-radius:18px;padding:14px;box-sizing:border-box;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live.dmadv-centro-window{background:#fde9e4;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live .dmadv-entity-summary-media{margin-bottom:0;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live .dmadv-stats-centro-note{display:none;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live .dmadv-state-ticker-a-expirar{background:#d46500;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live .dmadv-expiry-row{margin-top:10px;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live .dmadv-state-message{margin:12px 0 0;padding:10px;border-radius:10px;text-align:center;background:#d46500;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live .dmadv-state-note{margin:0;font-size:13px;font-weight:800;color:#fff;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live .dmadv-state-sub{display:block;margin-top:2px;font-size:12px;font-weight:500;color:#fff;opacity:.92;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live .dmadv-preview-cta.dmadv-preview-cta.dmadv-preview-cta.dmadv-preview-cta{display:flex !important;align-items:center;justify-content:center;width:100%;min-height:50px;margin-top:12px;border-radius:14px;font-size:15px;font-weight:800;box-sizing:border-box;background:#10a64a !important;border:1px solid #10a64a !important;color:#fff !important;}
.dmadv-dashboard.dmadv-dashboard .dmadv-entity-dashboard-layout .dmadv-entity-summary-card.dmadv-centro-live.dmadv-centro-window .dmadv-preview-cta.dmadv-preview-cta.dmadv-preview-cta.dmadv-preview-cta{background:transparent !important;border:1.5px solid #d46500 !important;color:#b25400 !important;}

/* ===== Mapa dos centros: balao do marcador -- imagem de ponta a ponta, sem margens; texto por baixo ===== */
#dm2027-centros-map .gm-style .gm-style-iw-c { padding: 0 !important; border-radius: 16px; overflow: hidden; width: 240px; min-width: 240px; max-width: 240px !important; box-shadow: 0 14px 34px rgba(20,30,50,.22); }
#dm2027-centros-map .gm-style .gm-style-iw-d { overflow: hidden !important; max-height: none !important; padding: 0 !important; }
#dm2027-centros-map .gm-style .gm-style-iw-chr { position: absolute; top: 0; right: 0; height: auto; z-index: 2; }
#dm2027-centros-map .gm-style button.gm-ui-hover-effect { top: 6px !important; right: 6px !important; width: 28px !important; height: 28px !important; border-radius: 50% !important; background: rgba(255,255,255,.92) !important; }
#dm2027-centros-map .gm-style button.gm-ui-hover-effect > span { width: 14px !important; height: 14px !important; margin: 7px !important; background-color: var(--dm-ink-soft) !important; }
#dm2027-centros-map .dm2027-popup-card { display: block; min-width: 0; max-width: none; padding: 0; text-align: left; }
#dm2027-centros-map .dm2027-popup-ph { display: block; width: 100%; }
#dm2027-centros-map .dm2027-popup-avatar { display: block; width: 100%; height: auto; max-height: 150px; object-fit: cover; border: 0; border-radius: 0; }
#dm2027-centros-map .dm2027-popup-tx { display: flex; flex-direction: column; align-items: flex-start; padding: 10px 14px 14px; }
#dm2027-centros-map a.dm2027-popup-name { margin: 0; color: var(--dm-ink) !important; font-size: 15px; font-weight: 800; line-height: 1.25; text-decoration: none; }
#dm2027-centros-map .dm2027-popup-zona { margin-top: 2px; font-size: 12px; color: var(--dm-ink-faint); }
#dm2027-centros-map a.dm2027-popup-cta { margin: 8px 0 0; padding: 0; background: none; border-radius: 0; color: var(--dm-brand) !important; font-size: 12px; font-weight: 800; text-decoration: none; }

/* Mapa dos centros: balao em mobile -- mais pequeno (largura e altura da imagem) */
@media ( max-width: 782px ) {
  #dm2027-centros-map .gm-style .gm-style-iw-c { width: 180px; min-width: 180px; max-width: 180px !important; border-radius: 14px; }
  #dm2027-centros-map .dm2027-popup-avatar { max-height: 90px; }
  #dm2027-centros-map .dm2027-popup-tx { padding: 8px 10px 10px; }
  #dm2027-centros-map a.dm2027-popup-name { font-size: 14px; }
  #dm2027-centros-map .dm2027-popup-zona { font-size: 11px; }
  #dm2027-centros-map a.dm2027-popup-cta { margin-top: 6px; font-size: 11px; }
  #dm2027-centros-map .gm-style button.gm-ui-hover-effect { top: 4px !important; right: 4px !important; width: 24px !important; height: 24px !important; }
  #dm2027-centros-map .gm-style button.gm-ui-hover-effect > span { width: 12px !important; height: 12px !important; margin: 6px !important; }
}
