/*
 * formato.css — proporção (horizontal/vertical/automático) da mídia
 * escolhida no painel de edição das páginas congeladas (v2).
 *
 * ATIVO POR ATRIBUTO: o editor grava `data-ce-formato` + `--ce-ratio`
 * no container que controla o aspect-ratio (.vid-placeholder, .mostra-foto,
 * .video-wrap, .mot-video, .mot-video-ph, .carousel-foto, .foto-card, ou o
 * próprio <img>). Sem esses atributos nenhuma regra abaixo casa → as páginas
 * não tocadas continuam idênticas (zero regressão).
 *
 * POR QUE 5 SELETORES DE ATRIBUTO (especificidade 0,5,0):
 * as páginas congeladas têm regras de aspect-ratio com `!important` até
 * (0,4,0) — ex.: `.ce-exact-page.ce-exact-page.ce-exact-page .album-thumb`
 * e `.porque .carousel-track:not(.ce-global-carousel-track)>.carousel-foto`.
 * Qualquer coisa abaixo de (0,5,0) perde a disputa e a mídia continuaria
 * sendo cortada. O valor vem de `--ce-ratio` (gravado em estilo inline),
 * então uma única regra serve para todos os formatos.
 */

/* Fontes das artes originais (títulos Playfair Display bold + textos
   Montserrat light) — usadas na reprodução tipográfica das capas IA. */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Montserrat:wght@300;400&display=swap');

/* ── 1. Proporção do container ─────────────────────────────────────── */
[data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] {
  aspect-ratio: var(--ce-ratio, 16/9) !important;
}

/* ── 2. Modo manual: nunca cortar ──────────────────────────────────
 * Automático já não corta (o container recebe a proporção EXATA da mídia).
 * Horizontal/Vertical forçam 16/9 ou 3/4 — se a mídia não bater, usamos
 * contain para não cortar (sobra fundo, não sobra corte).              */
[data-ce-formato="horizontal"][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato],
[data-ce-formato="vertical"][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] {
  object-fit: contain !important;
}

/* mídia dentro do container marcado */
[data-ce-formato="horizontal"][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] img,
[data-ce-formato="horizontal"][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] video,
[data-ce-formato="vertical"][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] img,
[data-ce-formato="vertical"][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] video {
  object-fit: contain !important;
}

/* fotos de fundo (background-image inline) dentro do container marcado */
[data-ce-formato="horizontal"][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] [style*="background-image"],
[data-ce-formato="vertical"][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] [style*="background-image"] {
  background-size: contain !important;
}

/* ── 3. Wrapper externo que trava a caixa POR CIMA ──────────────────────
 * Em persianas o carrossel força `.elementor-section{aspect-ratio:16/9}` no
 * elemento que ENVOLECE o container marcado — o formato só chega à página se
 * esse wrapper ceder. Só cede quando existe mídia marcada dentro (opt-in:
 * sem atributo, nada muda). Especificidade (0,5,0) vence a legada (0,4,0). */
.elementor-section:has([data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato]) {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* ── 4. A mídia interna não decide mais a caixa ──────────────────────────
 * Dentro do container marcado, o <img>/<video> deixa a proporção para o
 * container (senão `.video-sec .video-wrap video{aspect-ratio:16/9}` (0,2,1)
 * continuaria cortando por dentro). Enche a caixa e deixa o object-fit
 * decidir se corta ou não.                                              */
[data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] img,
[data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato][data-ce-formato] video {
  aspect-ratio: auto !important;
  width: 100% !important;
  height: 100% !important;
}


img[src*="logo-letra"]{filter:brightness(0) invert(9%) sepia(100%) saturate(300%) brightness(95%)!important;}

/* Simulador "Calcular quantidade" — layout mobile (<=768px) */
@media (max-width: 768px) {
  .ce-exact-page.ce-exact-page.ce-exact-page .sim-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
  .ce-exact-page.ce-exact-page.ce-exact-page .sim-form,
  .ce-exact-page.ce-exact-page.ce-exact-page .sim-result {
    width: 100% !important;
    min-width: 0 !important;
  }
  .ce-exact-page .sim-form-widget .elementor-form-fields-wrapper {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
  }
  .ce-exact-page .sim-form-widget .elementor-field-group {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .ce-exact-page .sim-form-widget .elementor-field-textual,
  .ce-exact-page .sim-form-widget .elementor-select-wrapper,
  .ce-exact-page .sim-form-widget select.elementor-field-textual {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important;
    height: auto !important;
    min-height: 48px !important;
  }
  .ce-exact-page.ce-exact-page.ce-exact-page .sim-input {
    width: 100% !important;
    font-size: 16px !important;
  }
  .ce-exact-page .sim-form-widget .elementor-button {
    width: 100% !important;
    white-space: normal !important;
    justify-content: center;
  }
  #ceCalcBtn {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .ce-exact-page.ce-exact-page.ce-exact-page .sim-result .btn-wa {
    max-width: 100% !important;
    justify-content: center;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .ce-exact-page.ce-exact-page.ce-exact-page .sim-inline-result.show,
  .ce-exact-page.ce-exact-page.ce-exact-page #simInline[style*="flex"] {
    flex-wrap: wrap !important;
    gap: 16px !important;
    justify-content: center;
  }
  .ce-exact-page.ce-exact-page.ce-exact-page .sim-inline-result .sim-divider {
    display: none !important;
  }
}

/* Segmentos Atendidos (corporativo): texto branco herdado de `a{color:var(--ast-global-color-5)}`
   porque --fendi não existe no escopo da seção — trocar para a cor de texto do site.
   Borda inferior também estava branca; normaliza para o dourado das demais. */
.intro-pill,
.intro-pill:visited {
  color: var(--text-light, #241c10) !important;
  border-color: rgba(194, 165, 122, 0.35) !important;
}

/* Logo Morar Mais (arquitetos): arte branca p/ fundo escuro — no tema claro vira escura. */
img[src*="morar-mais"] {
  filter: brightness(0) invert(9%) sepia(100%) saturate(300%) brightness(95%) !important;
}

/* Banner/hero menor no CELULAR (pedido da cliente): o min-height de
   "100svh - 118px" sobrou do header antigo (hoje o header tem 224px) e os
   espaçadores de 30vh/48vh empurravam os botões lá para baixo. Desktop
   intocado. */
@media (max-width: 768px) {
  .hero { min-height: 440px !important; }
  .hero .hero-actions, .hero .hero-ctas { margin-top: min(14vh, 120px) !important; }
  .elementor > section.elementor-top-section:first-of-type .hero-btns { margin-top: min(14vh, 120px) !important; }
  /* Papéis: espaçamento antigo (14vh p/ baixo do texto gravado) — agora os
     botões entram no mesmo respiro das irmãs, abaixo da área de texto da arte. */
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .elementor .elementor-top-section:first-of-type .hero-btns { margin-top: 250px !important; }
}

/* Rodapé em negrito (cliente achou a letra fraca — estava 400/500). */
.ce-site-footer .ce-footer-nav a,
.ce-site-footer .ce-footer-contact a,
.ce-site-footer .ce-footer-contact span,
.ce-site-footer .ce-footer-contact small { font-weight: 700 !important; }
.ce-site-footer .ce-footer-bottom span,
.ce-site-footer .ce-footer-bottom a { font-weight: 600 !important; }

/* Reforço: home (.ce-puck-scope .hero = 177.78vw) e pisos (section.hero =
   150vw) têm regras mais específicas que o .hero simples. */
@media (max-width: 768px) {
  .ce-puck-scope .hero { min-height: 440px !important; }
  section.hero { min-height: 440px !important; }
}

/* Hero mobile v2 (correção): o título é uma coluna ABSOLUTA e os botões eram
   posicionados por margin-top gigante (30vh) — ao reduzir, os botões subiram
   SOBRE o texto. Agora tudo entra em fluxo normal: título, depois botões com
   um respiro, com espaço em cima (pedido da cliente). */
@media (max-width: 768px) {
  .hero .elementor-column { position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; }
  .hero .hero-actions, .hero .hero-ctas, .hero .hero-btns,
  .elementor > section.elementor-top-section:first-of-type .hero-btns { margin-top: 22px !important; }
  .hero { padding-top: 140px !important; padding-bottom: 56px !important; }
}

/* Hero mobile v3 (definitivo): a SEÇÃO dos botões também era absoluta (top
   fixo) — além das colunas. Tudo entra em fluxo: título → texto → botões,
   com respiro de 22px, sem sobreposição e com espaço no topo. */
@media (max-width: 768px) {
  .hero .elementor-section, .hero .elementor-column { position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; }
  .hero .hero-actions, .hero .hero-ctas, .hero .hero-btns,
  .elementor > section.elementor-top-section:first-of-type .hero-btns { margin-top: 22px !important; }
  .hero { padding-top: 130px !important; padding-bottom: 52px !important; }
}

/* Arquitetos (mobile): o texto do hero está GRAVADO na imagem de capa
   (1600x900 com "Arquitetos e Designers" + frase). No celular a imagem era
   recortada (cover) e os botões reais caíam sobre o texto da imagem.
   Solução: mostrar a capa inteira no topo (contain) com os botões abaixo. */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero {
    background-size: contain !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-color: #d9cab4 !important;
    padding-top: 16px !important;
    padding-bottom: 34px !important;
  }
}

/* Arquitetos v2: o conteúdo do hero é centralizado por flex (justify-content:
   center) — os botões flutuavam no meio, sobre o texto da imagem. Alinha ao
   topo e desce os botões para depois da capa (219px em 390px de largura). */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero {
    justify-content: flex-start !important;
    align-items: stretch !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-left { width: 100% !important; }
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-ctas { margin-top: 236px !important; }
}

/* Corporativo e Persianas (mobile): mesmo caso do arquitetos — texto
   gravado na capa 1024x1536. Capa inteira (contain, topo) e botões abaixo
   do texto (offset 280px). */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero {
    background-size: contain !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-color: #d9cab4 !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    padding-top: 16px !important;
    padding-bottom: 34px !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-left,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-left { width: 100% !important; }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-ctas,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-ctas { margin-top: 280px !important; }
}

/* Corporativo/Persianas v2: contain deixou os botões no topo — volta o cover
   e empurra os botões para baixo da área do texto gravado (360px). */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero {
    background-size: cover !important;
    background-position: center center !important;
    background-color: transparent !important;
    padding-top: 0 !important;
    padding-bottom: 40px !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-ctas,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-ctas { margin-top: 360px !important; }
}

/* Corporativo/Persianas v3 (definitivo): as capas têm o texto GRAVADO — com
   cover, qualquer altura faz o texto escalar e voltar a sobrepor os botões.
   Solução: recortar a área de texto da imagem (background-position: center
   bottom) e MOSTRAR os textos reais do DOM (mesmo conteúdo), que ficam em
   fluxo com os botões. */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero {
    background-size: cover !important;
    background-position: center bottom !important;
    min-height: 0 !important;
    height: auto !important;
    padding-top: 26px !important;
    padding-bottom: 44px !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-label,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-label,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-title,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-title,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-quote,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-sub,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-sub { display: block !important; }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-ctas,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-ctas { margin-top: 22px !important; }
}

/* Corporativo/Persianas v4: capas LIMPAS (recorte sem o texto gravado,
   subidas como /uploads) + textos reais do DOM (o bloco v3). */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero { background-image: url('/uploads/2026-10-16/1792111125236-mc-crop.jpg') !important; }
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero { background-image: url('/uploads/2026-10-16/1792111125688-mp-crop.jpg') !important; }
}

/* Corporativo/Persianas v5: com a capa limpa (clara), os textos do hero
   precisam de cor escura para contraste. */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-title,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-title { color: #241c10 !important; }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-sub,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-sub,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-quote { color: #3a3126 !important; }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-label,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-label { color: #8a6a1c !important; }
}

/* Corporativo/Persianas v6: títulos reais (classe .hero-h) e textos ocultos
   (ce-hero-hide) — mostrar e escurecer sobre a capa clara. */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-h { color: #241c10 !important; }
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .ce-exact-raw { display: block !important; }
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .ce-exact-raw { color: #3a3126 !important; }
}

/* Persianas v7: só o título (.hero-h, tamanho contido) e a descrição; os
   textos decorativos (ce-exact-raw) voltam a ficar ocultos. */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .ce-exact-raw { display: none !important; }
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-h {
    font-size: 44px !important;
    line-height: 1.06 !important;
    text-transform: none !important;
  }
}
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-quote { display: none !important; }
}

/* Arquitetos v8: capa LIMPA gerada por IA (texto removido) + textos reais
   do site (fonte do tema) acima dos botões — capa GRANDE (cover). */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero {
    background-image: url('/uploads/2026-10-16/1792113308267-arq-limpa.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-color: transparent !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    padding-top: 28px !important;
    padding-bottom: 48px !important;
    min-height: 560px !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-label,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-title,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-quote,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-sub { display: block !important; }
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-label { color: #8a6a1c !important; }
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-title { color: #241c10 !important; font-size: 52px !important; }
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-quote { color: #3a3126 !important; font-size: 20px !important; }
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-sub { color: #4a4033 !important; }
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-ctas { margin-top: 26px !important; }
}

/* Capas limpas geradas por IA (texto removido) — cortinas, papéis, persianas
   e corporativo: imagem GRANDE (cover) + textos do site (fonte do tema)
   acima dos botões. */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero {
    background-size: cover !important;
    background-position: center center !important;
    background-color: transparent !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    padding-top: 28px !important;
    padding-bottom: 48px !important;
    min-height: 560px !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero { background-image: url('/uploads/2026-10-16/1792113625723-cort-limpa.jpg') !important; }
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero { background-image: url('/uploads/2026-10-16/1792113626093-pap-limpa.jpg') !important; }
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero { background-image: url('/uploads/2026-10-16/1792113626305-pers-limpa.jpg') !important; }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero { background-image: url('/uploads/2026-10-16/1792113626491-corp-limpa.jpg') !important; }
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-sub-italic,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-desc { display: block !important; }
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-h {
    color: #241c10 !important; font-size: 46px !important; line-height: 1.06 !important; text-transform: none !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-sub-italic,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-desc { color: #3a3126 !important; }
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-ctas,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-ctas { margin-top: 24px !important; }
  /* Título do papéis: o span.destaque tem cor inline (amarelo-claro #FFF1A8,
     do tema escuro antigo) que vence a cor do pai — sobre a capa clara fica
     ilegível. Força o oliva dos títulos das páginas irmãs (cortinas/persianas). */
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .destaque { color: #744e16 !important; }
}

/* ── Fidelidade tipográfica das capas IA (mobile) ──────────────────────
   A cliente pediu os textos "no mesmo estilo de fonte" das artes originais.
   As artes usam: título = Playfair Display bold; descrições = Montserrat
   light; creme #FFF8E3 (amostrado dos arquivos originais) com sombra suave.
   Estas regras vêm por último e vencem as cores/tamanhos anteriores. */
@media (max-width: 768px) {
  /* Títulos: serif bold da arte */
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .destaque,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .elementor-heading-title,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero h1,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .destaque,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .elementor-heading-title,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero h1,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .destaque,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .elementor-heading-title,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero h1,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-title,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    color: #fff8e3 !important;
    text-shadow: 0 2px 18px rgba(74, 48, 22, .38), 0 1px 4px rgba(74, 48, 22, .2) !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .destaque,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .elementor-heading-title,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero h1,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .destaque,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .elementor-heading-title,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero h1,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .destaque,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .elementor-heading-title,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero h1 {
    font-size: 56px !important;
    line-height: 1.06 !important;
    text-transform: none !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-title,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-title {
    font-size: 54px !important;
    line-height: 1.08 !important;
  }
  /* Descrições: sans light da arte, sem itálico (as <p> sem classe das páginas
     têm cor própria não-important — o !important daqui vence) */
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero p,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero p,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero p,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero p,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero p,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-sub-italic,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-sub,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-sub {
    font-family: Montserrat, Inter, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #fff8e3 !important;
    text-shadow: 0 1px 5px rgba(58, 38, 18, .5), 0 0 22px rgba(58, 38, 18, .4) !important;
  }
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-sub-italic,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-desc {
    font-size: 17px !important;
    line-height: 1.55 !important;
  }
  /* Citação (arquitetos): serif da arte, reta */
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-quote {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #fff8e3 !important;
    text-shadow: 0 1px 12px rgba(74, 48, 22, .32) !important;
  }
  /* Etiquetas (arquitetos/corporativo): caixa alta espaçada como na arte */
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-label,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-label {
    font-family: Montserrat, Inter, sans-serif !important;
    font-weight: 400 !important;
    color: #fff8e3 !important;
    letter-spacing: 0.22em !important;
    text-shadow: 0 1px 10px rgba(74, 48, 22, .34) !important;
  }
}

/* ── Cliente preferiu a ARTE ORIGINAL (texto gravado na imagem) ────────
   Mobile volta a exibir as capas originais — iguais às do desktop — com
   os textos reais do DOM ocultos e os botões abaixo da área de texto da
   arte (sem sobreposição). Este bloco vem por último de propósito:
   neutraliza as capas IA e a tipografia acima sem apagá-las (dá para
   voltar atrás removendo só este bloco).                               */
@media (max-width: 768px) {
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero { background-image: url('/uploads/capas/cortinas.jpg?v=20260921') !important; }
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero { background-image: url('/uploads/capas/papel-parede.jpg?v=20260923b') !important; }
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero { background-image: url('/uploads/capas/persiana.jpg?v=20260923b') !important; }
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero { background-image: url('/uploads/capas/corporativo.jpg?v=20260921') !important; }
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero { background-image: url('/uploads/capas/arquiteto-design.jpg?v=20260921') !important; }

  /* enquadramento: hero ~450px → no 390px de largura o cover mostra a faixa
     central inteira da arte (o texto gravado NÃO é cortado nas laterais). */
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero {
    background-size: cover !important;
    background-position: center center !important;
    background-color: transparent !important;
    min-height: 440px !important;
    padding-top: 60px !important;
    padding-bottom: 44px !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
  }
  /* Papéis tem o bloco de botões mais alto (hero ~560px) — com cover o texto
     da arte seria cortado dos lados. Enquadra pela altura da faixa de texto
     (470px), largura 100% visível, no topo. */
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero {
    background-size: auto 470px !important;
    background-position: center top !important;
  }

  /* textos reais ocultos de novo (o texto visível é o da arte) */
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .destaque,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .elementor-heading-title,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero h1,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-sub-italic,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .destaque,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .elementor-heading-title,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero h1,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-label,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-title,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .destaque,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .elementor-heading-title,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero h1,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-desc,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-sub,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .hero-quote,
  :is(body, .ce-frozen-scope).ce-slug-persianas .hero .ce-exact-raw,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-label,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-title,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-h,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .hero .hero-sub,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-label,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-title,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-quote,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-sub {
    display: none !important;
  }

  /* botões logo abaixo da área de texto gravado na arte (containers reais:
     .hero-btns / .hero-actions / .hero-ctas — com .elementor para vencer as
     regras do tema que chegam a (0,4,1)) */
  :is(body, .ce-frozen-scope).ce-slug-cortinas .elementor .hero .hero-ctas,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .elementor .hero .hero-btns,
  :is(body, .ce-frozen-scope).ce-slug-cortinas .elementor .hero .hero-actions,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .elementor .hero .hero-ctas,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .elementor .hero .hero-btns,
  :is(body, .ce-frozen-scope).ce-slug-papeis-de-parede .elementor .hero .hero-actions,
  :is(body, .ce-frozen-scope).ce-slug-persianas .elementor .hero .hero-ctas,
  :is(body, .ce-frozen-scope).ce-slug-persianas .elementor .hero .hero-btns,
  :is(body, .ce-frozen-scope).ce-slug-persianas .elementor .hero .hero-actions,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .elementor .hero .hero-ctas,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .elementor .hero .hero-btns,
  :is(body, .ce-frozen-scope).ce-slug-corporativo .elementor .hero .hero-actions,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-ctas,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-btns,
  :is(body, .ce-frozen-scope).ce-slug-arquitetos-designers .hero .hero-actions {
    margin-top: 250px !important;
  }
}
