/* Fase 3.6C — sync premium internas — v20260602-38 */
/**
 * Empório Portugal — Design System Premium (ep-premium-system.css)
 * Fase 2: linkado na home (index.php).
 *
 * Uso previsto (Fase 2+):
 *   <link rel="stylesheet" href="/assets/css/style.css">
 *   <link rel="stylesheet" href="/assets/css/ep-premium-system.css">
 *
 * Prefixos: ep- (componentes), ep-cover- (capas), ep-card- (cards), ep-form- (formulários)
 * Convive com style.css; não redefine header/footer globais sem classe escopo.
 */

/* ==========================================================================
   1. TOKENS — cores, tipografia, espaço, sombra, raio
   ========================================================================== */

:root {
  /* --- Cores principais --- */
  /* Verde profundo — fundo nobre, header, blocos escuros */
  --ep-green-deep: #063d31;
  /* Verde garrafa — variação editorial */
  --ep-green-bottle: #0b2f24;
  /* Verde claro — acentos sutis */
  --ep-green-soft: #12382f;

  /* Bordô / vinho — acentos gastronômicos */
  --ep-wine: #6f1d2f;
  --ep-wine-deep: #4a1220;

  /* Dourado envelhecido — CTAs, filetes, detalhes heráldicos */
  --ep-gold: #d4af37;
  --ep-gold-aged: #c9a227;
  --ep-gold-muted: rgba(212, 175, 55, 0.45);

  /* Marfim, pergaminho, creme — fundos editoriais */
  --ep-ivory: #fffaf0;
  --ep-parchment: #f7efe2;
  --ep-cream: #f4e7cf;

  /* Azulejo — detalhe sutil, links secundários */
  --ep-tile-blue: #155a8a;
  --ep-tile-blue-soft: rgba(21, 90, 138, 0.12);

  /* Tinta e texto */
  --ep-ink: #1f2421;
  --ep-ink-muted: #6f675d;
  --ep-ink-soft: rgba(31, 36, 33, 0.72);

  /* Linhas e superfícies */
  --ep-line: rgba(31, 36, 33, 0.14);
  --ep-line-gold: rgba(212, 175, 55, 0.34);
  --ep-surface: rgba(255, 250, 240, 0.92);
  --ep-surface-dark: rgba(6, 61, 49, 0.96);

  /* --- Tipografia --- */
  --ep-font-display: Georgia, "Times New Roman", "Palatino Linotype", serif;
  --ep-font-ui: Arial, Helvetica, sans-serif;
  --ep-font-size-xs: 0.74rem;
  --ep-font-size-sm: 0.88rem;
  --ep-font-size-base: 1rem;
  --ep-font-size-lg: 1.18rem;
  --ep-font-size-xl: clamp(1.42rem, 2.4vw, 2rem);
  --ep-font-size-hero: clamp(2rem, 4.2vw, 3.35rem);
  --ep-line-height-tight: 1.05;
  --ep-line-height-body: 1.6;
  --ep-letter-eyebrow: 0.08em;

  /* --- Espaçamento (escala compacta — menos rolagem) --- */
  --ep-space-1: 0.25rem;
  --ep-space-2: 0.5rem;
  --ep-space-3: 0.75rem;
  --ep-space-4: 1rem;
  --ep-space-5: 1.25rem;
  --ep-space-6: 1.5rem;
  --ep-space-8: 2rem;
  --ep-space-10: 2.5rem;
  --ep-space-12: 3rem;
  --ep-section-y: clamp(1.75rem, 3.2vw, 2.65rem);
  --ep-section-y-compact: clamp(0.95rem, 1.8vw, 1.45rem);

  /* --- Layout --- */
  --ep-max-width: 1180px;
  --ep-max-prose: 720px;
  --ep-max-cover: 1320px;
  --ep-gutter: clamp(16px, 3vw, 32px);

  /* --- Raio e sombra --- */
  --ep-radius-sm: 6px;
  --ep-radius: 8px;
  --ep-radius-lg: 12px;
  --ep-radius-pill: 999px;
  --ep-shadow-sm: 0 8px 24px rgba(11, 47, 36, 0.08);
  --ep-shadow: 0 16px 44px rgba(11, 47, 36, 0.12);
  --ep-shadow-cover: 0 24px 60px rgba(0, 0, 0, 0.18);
  --ep-shadow-gold: 0 12px 28px rgba(212, 175, 55, 0.22);

  /* --- Transições --- */
  --ep-ease: 0.18s ease;
}

/* Escopo opcional: envolver página premium para isolar tokens */
.ep-scope {
  color: var(--ep-ink);
  font-family: var(--ep-font-display);
  line-height: var(--ep-line-height-body);
  background: var(--ep-parchment);
}

/* ==========================================================================
   2. CONTAINERS — largura e padding editorial
   ========================================================================== */

/* Container padrão — use em seções internas */
.ep-container {
  width: min(var(--ep-max-width), calc(100% - var(--ep-gutter) * 2));
  margin-inline: auto;
}

/* Container largo — capas e grids hero */
.ep-container--wide {
  width: min(var(--ep-max-cover), calc(100% - var(--ep-gutter) * 2));
  margin-inline: auto;
}

/* Container estreito — artigos e manifestos */
.ep-container--prose {
  width: min(var(--ep-max-prose), calc(100% - var(--ep-gutter) * 2));
  margin-inline: auto;
}

/* ==========================================================================
   3. TIPOGRAFIA EDITORIAL
   ========================================================================== */

/* Eyebrow / kicker — rótulo superior dourado */
.ep-eyebrow {
  margin: 0 0 var(--ep-space-3);
  color: var(--ep-gold-aged);
  font: 900 var(--ep-font-size-xs) / 1.2 var(--ep-font-ui);
  text-transform: uppercase;
  letter-spacing: var(--ep-letter-eyebrow);
}

.ep-scope--dark .ep-eyebrow {
  color: var(--ep-gold);
}

/* Título de capa — h1 de revista */
.ep-title-hero {
  margin: 0;
  color: var(--ep-green-deep);
  font-family: var(--ep-font-display);
  font-size: var(--ep-font-size-hero);
  font-weight: 400;
  line-height: var(--ep-line-height-tight);
  letter-spacing: -0.02em;
}

.ep-scope--dark .ep-title-hero {
  color: var(--ep-ivory);
}

/* Título de seção */
.ep-title-section {
  margin: 0 0 var(--ep-space-3);
  color: var(--ep-green-deep);
  font-family: var(--ep-font-display);
  font-size: var(--ep-font-size-xl);
  line-height: var(--ep-line-height-tight);
}

/* Lead / subtítulo */
.ep-lead {
  margin: 0;
  max-width: 42rem;
  color: var(--ep-ink-soft);
  font-family: var(--ep-font-ui);
  font-size: clamp(1rem, 1.8vw, 1.12rem);
  line-height: var(--ep-line-height-body);
}

.ep-scope--dark .ep-lead {
  color: rgba(247, 239, 226, 0.88);
}

/* Texto corpo editorial */
.ep-prose {
  max-width: var(--ep-max-prose);
  font-family: var(--ep-font-display);
  font-size: 1.03rem;
}

.ep-prose p,
.ep-prose li {
  color: var(--ep-ink-muted);
  font-family: var(--ep-font-ui);
}

.ep-prose h2,
.ep-prose h3 {
  color: var(--ep-green-deep);
  font-family: var(--ep-font-display);
}

/* ==========================================================================
   4. SEÇÕES — blocos compactos, menos vazio
   ========================================================================== */

/* Seção padrão — padding vertical moderado */
.ep-section {
  padding-block: var(--ep-section-y);
}

/* Seção compacta — listagens e CTAs intermediários */
.ep-section--compact {
  padding-block: var(--ep-section-y-compact);
}

/* Fundo pergaminho */
.ep-section--paper {
  background: var(--ep-ivory);
  border-block: 1px solid var(--ep-line);
}

/* Fundo escuro editorial */
.ep-section--dark {
  color: var(--ep-ivory);
  background: linear-gradient(125deg, var(--ep-green-bottle) 0%, var(--ep-wine) 100%);
}

/* Cabeçalho de seção — título + lead alinhados */
.ep-section-head {
  display: grid;
  gap: var(--ep-space-3);
  max-width: 46rem;
  margin-bottom: var(--ep-space-6);
}

.ep-section-head--center {
  text-align: center;
  margin-inline: auto;
}

/* ==========================================================================
   5. HERO / CAPA DE REVISTA (ep-cover-)
   ========================================================================== */

/* Capa principal — home e landing premium */
.ep-cover {
  position: relative;
  overflow: hidden;
  color: var(--ep-ivory);
  background: var(--ep-green-deep);
}

.ep-cover__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.88fr);
  gap: clamp(var(--ep-space-6), 4vw, var(--ep-space-10));
  align-items: center;
  width: min(var(--ep-max-cover), calc(100% - var(--ep-gutter) * 2));
  margin-inline: auto;
  padding-block: clamp(2.8rem, 6vw, 4.2rem);
}

/* Textura sutil — azulejo / pergaminho via gradiente (sem imagem obrigatória) */
.ep-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(212, 175, 55, 0.08), transparent 42%),
    radial-gradient(circle at 88% 72%, rgba(111, 29, 47, 0.18), transparent 48%),
    linear-gradient(135deg, rgba(6, 61, 49, 0.98), rgba(11, 47, 36, 0.94));
  pointer-events: none;
}

.ep-cover__copy {
  position: relative;
  z-index: 1;
}

/* Cartão visual da capa — imagem editorial */
.ep-cover-card {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius-lg);
  background: rgba(255, 250, 240, 0.06);
  box-shadow: var(--ep-shadow-cover);
}

.ep-cover-card img {
  display: block;
  width: 100%;
  aspect-ratio: 18 / 7.6;
  object-fit: cover;
}

.ep-cover-card__body {
  padding: var(--ep-space-5);
  border-top: 1px solid var(--ep-line-gold);
  background: linear-gradient(180deg, rgba(6, 61, 49, 0.72), rgba(6, 61, 49, 0.92));
}

.ep-cover-card__body strong {
  display: block;
  margin-top: var(--ep-space-2);
  font-family: var(--ep-font-display);
  font-size: var(--ep-font-size-lg);
  line-height: 1.2;
}

/* Hero interno — páginas pilar (menor que capa home) */
.ep-cover--inner {
  background: linear-gradient(120deg, var(--ep-green-bottle), var(--ep-wine));
}

.ep-cover--inner .ep-cover__inner {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.42fr);
  padding-block: clamp(2rem, 4vw, 3rem);
  min-height: auto;
}

.ep-cover--inner .ep-cover-card img {
  aspect-ratio: 16 / 10;
}

/* ==========================================================================
   6. BOTÕES
   ========================================================================== */

.ep-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ep-space-2);
  min-height: 44px;
  padding: 0.78rem 1.1rem;
  border: 1px solid transparent;
  border-radius: var(--ep-radius);
  font: 800 0.95rem / 1 var(--ep-font-ui);
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--ep-ease), box-shadow var(--ep-ease), background var(--ep-ease);
}

.ep-btn:hover {
  transform: translateY(-1px);
}

/* Primário — dourado */
.ep-btn--primary {
  color: #21180a;
  background: var(--ep-gold);
  box-shadow: var(--ep-shadow-gold);
}

/* Secundário — contorno claro em fundo escuro */
.ep-btn--secondary {
  color: var(--ep-ivory);
  border-color: rgba(247, 239, 226, 0.55);
  background: transparent;
}

/* Escuro — verde profundo */
.ep-btn--dark {
  color: var(--ep-ivory);
  background: var(--ep-green-deep);
}

/* Claro — pergaminho */
.ep-btn--light {
  color: var(--ep-green-deep);
  border-color: var(--ep-line);
  background: var(--ep-ivory);
}

/* Link textual */
.ep-link {
  color: var(--ep-wine);
  font: 900 0.9rem / 1.2 var(--ep-font-ui);
  text-decoration: none;
}

.ep-link:hover {
  color: var(--ep-green-deep);
}

/* Grupo de ações */
.ep-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ep-space-3);
  margin-top: var(--ep-space-5);
}

/* ==========================================================================
   7. GRIDS EDITORIAIS
   ========================================================================== */

.ep-grid {
  display: grid;
  gap: var(--ep-space-4);
}

/* 2 colunas — split editorial */
.ep-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* 3 colunas — cards de tema */
.ep-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 4 colunas — tópicos compactos */
.ep-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Split assimétrico — texto + imagem */
.ep-split {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(260px, 0.72fr);
  gap: var(--ep-space-8);
  align-items: center;
}

/* ==========================================================================
   8. CARDS (ep-card-)
   ========================================================================== */

/* Card base — borda dourada sutil, sombra editorial */
.ep-card {
  display: grid;
  gap: var(--ep-space-3);
  height: 100%;
  padding: var(--ep-space-5);
  border: 1px solid var(--ep-line);
  border-radius: var(--ep-radius);
  background: var(--ep-surface);
  box-shadow: var(--ep-shadow-sm);
  text-decoration: none;
  color: inherit;
  transition: transform var(--ep-ease), border-color var(--ep-ease), box-shadow var(--ep-ease);
}

.ep-card:hover {
  transform: translateY(-2px);
  border-color: var(--ep-line-gold);
  box-shadow: var(--ep-shadow);
}

/* Card com imagem no topo */
.ep-card--media {
  padding: 0;
  overflow: hidden;
}

.ep-card--media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: var(--ep-cream);
}

.ep-card--media .ep-card__body {
  padding: var(--ep-space-4);
}

.ep-card__title {
  margin: 0;
  color: var(--ep-green-deep);
  font-family: var(--ep-font-display);
  font-size: var(--ep-font-size-lg);
  line-height: 1.15;
}

.ep-card__text {
  margin: 0;
  color: var(--ep-ink-muted);
  font-family: var(--ep-font-ui);
  font-size: var(--ep-font-size-sm);
  line-height: 1.45;
}

.ep-card__meta {
  color: var(--ep-ink-muted);
  font: 800 0.78rem / 1.2 var(--ep-font-ui);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Card tópico — link completo com imagem + CTA "Explorar" */
.ep-card--topic span em {
  display: inline-block;
  margin-top: var(--ep-space-2);
  color: var(--ep-wine);
  font: 900 0.82rem / 1 var(--ep-font-ui);
  font-style: normal;
}

/* Card pilar — cluster SEO */
.ep-card--pillar {
  align-content: start;
}

/* Card receita — listagem */
.ep-card--recipe .ep-card__image {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--ep-radius-sm);
}

/* ==========================================================================
   9. CHIPS, BADGES, PILLS
   ========================================================================== */

/* Chip de filtro — receitas/comunidade */
.ep-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0.42rem 0.85rem;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius-pill);
  background: var(--ep-surface);
  color: var(--ep-green-deep);
  font: 800 0.84rem / 1 var(--ep-font-ui);
  cursor: pointer;
  transition: background var(--ep-ease), color var(--ep-ease);
}

.ep-chip.is-active,
.ep-chip[aria-current="true"] {
  color: #21180a;
  background: var(--ep-gold);
  border-color: var(--ep-gold);
}

/* Badge de status — curadoria, publicado */
.ep-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 28px;
  padding: 0.36rem 0.62rem;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius-pill);
  background: var(--ep-ivory);
  color: var(--ep-wine);
  font: 900 var(--ep-font-size-xs) / 1 var(--ep-font-ui);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ep-badge--gold {
  color: var(--ep-green-deep);
  background: rgba(212, 175, 55, 0.18);
}

.ep-badge--editorial {
  color: var(--ep-tile-blue);
  border-color: rgba(21, 90, 138, 0.28);
  background: var(--ep-tile-blue-soft);
}

/* Tag row — sinais de confiança, regiões */
.ep-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ep-space-2);
}

.ep-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius-pill);
  background: var(--ep-surface);
  color: var(--ep-green-deep);
  font: 800 0.82rem / 1 var(--ep-font-ui);
}

/* ==========================================================================
   10. BLOCOS EDITORIAIS
   ========================================================================== */

/* Faixa de conversão — newsletter / comunidade */
.ep-band {
  padding-block: var(--ep-section-y-compact);
  background: linear-gradient(180deg, var(--ep-ivory), var(--ep-parchment));
  border-block: 1px solid var(--ep-line);
}

.ep-band__inner {
  width: min(var(--ep-max-width), calc(100% - var(--ep-gutter) * 2));
  margin-inline: auto;
}

/* Manifesto / citação editorial */
.ep-quote-block {
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius-lg);
  background:
    linear-gradient(145deg, rgba(255, 250, 240, 0.98), rgba(247, 239, 226, 0.92));
  box-shadow: var(--ep-shadow-sm);
}

.ep-quote-block blockquote {
  margin: 0;
  color: var(--ep-green-deep);
  font-family: var(--ep-font-display);
  font-size: clamp(1.2rem, 2.5vw, 1.55rem);
  line-height: 1.35;
}

/* Aviso legal compacto */
.ep-notice {
  margin-block: var(--ep-space-4);
  padding: var(--ep-space-4);
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius);
  background: var(--ep-surface);
}

.ep-notice strong {
  display: block;
  margin-bottom: var(--ep-space-1);
  color: var(--ep-green-deep);
  font-family: var(--ep-font-ui);
}

.ep-notice p {
  margin: 0;
  color: var(--ep-ink-muted);
  font-family: var(--ep-font-ui);
  font-size: var(--ep-font-size-sm);
}

/* Filete heráldico — separador decorativo */
.ep-rule {
  width: 4.5rem;
  height: 3px;
  margin-block: var(--ep-space-4);
  border: 0;
  border-radius: var(--ep-radius-pill);
  background: linear-gradient(90deg, var(--ep-gold), transparent);
}

/* ==========================================================================
   11. BLOCOS DE IMAGEM EDITORIAL
   ========================================================================== */

/* Figura com moldura — estilo revista */
.ep-figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius);
  background: var(--ep-cream);
  box-shadow: var(--ep-shadow-sm);
}

.ep-figure img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.ep-figure figcaption {
  padding: var(--ep-space-3) var(--ep-space-4);
  color: var(--ep-ink-muted);
  font: 400 0.78rem / 1.4 var(--ep-font-ui);
  background: var(--ep-ivory);
}

/* Imagem hero com overlay — receitas/comunidade */
.ep-figure--hero {
  position: relative;
  border-radius: var(--ep-radius-lg);
}

.ep-figure--hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(2, 31, 26, 0.88) 0%, rgba(2, 31, 26, 0.2) 55%, transparent);
  pointer-events: none;
}

/* Selo editorial — canto superior (ex.: "Edição especial") */
.ep-stamp {
  position: absolute;
  top: var(--ep-space-4);
  left: var(--ep-space-4);
  z-index: 2;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius-sm);
  background: rgba(6, 61, 49, 0.82);
  color: var(--ep-gold);
  font: 900 0.72rem / 1 var(--ep-font-ui);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ==========================================================================
   12. FORMULÁRIOS (ep-form-) — estilo premium; lógica permanece em main.js
   ========================================================================== */

.ep-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ep-space-4);
  padding: var(--ep-space-5);
  border: 1px solid var(--ep-line);
  border-radius: var(--ep-radius);
  background: var(--ep-ivory);
  box-shadow: var(--ep-shadow-sm);
}

.ep-form--compact {
  grid-template-columns: 1fr;
  max-width: 28rem;
}

.ep-form__field {
  display: grid;
  gap: var(--ep-space-2);
  color: var(--ep-green-deep);
  font: 800 0.92rem / 1.2 var(--ep-font-ui);
}

.ep-form__field--full {
  grid-column: 1 / -1;
}

.ep-form input,
.ep-form textarea,
.ep-form select {
  width: 100%;
  min-height: 46px;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(31, 36, 33, 0.22);
  border-radius: var(--ep-radius);
  background: #fff;
  color: var(--ep-ink);
  font: 400 1rem var(--ep-font-ui);
}

.ep-form textarea {
  min-height: 120px;
  resize: vertical;
}

.ep-form input:focus,
.ep-form textarea:focus,
.ep-form select:focus {
  outline: 3px solid rgba(212, 175, 55, 0.26);
  border-color: var(--ep-gold);
}

.ep-form__check {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--ep-space-3);
  align-items: start;
  color: var(--ep-ink-muted);
  font: 400 0.92rem / 1.45 var(--ep-font-ui);
}

.ep-form__check input {
  width: 18px;
  height: 18px;
  min-height: 0;
  margin-top: 0.15rem;
}

.ep-form__note {
  margin: 0;
  color: var(--ep-ink-muted);
  font-size: 0.86rem;
}

/* ==========================================================================
   13. BREADCRUMB E META
   ========================================================================== */

.ep-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ep-space-2);
  align-items: center;
  margin-bottom: var(--ep-space-4);
  color: rgba(247, 239, 226, 0.74);
  font: 800 0.82rem / 1.2 var(--ep-font-ui);
}

.ep-breadcrumb a {
  color: var(--ep-gold);
  text-decoration: none;
}

/* ==========================================================================
   14. UTILITÁRIOS
   ========================================================================== */

.ep-visually-compact {
  margin-block: 0;
}

.ep-text-center {
  text-align: center;
}

.ep-hidden {
  display: none !important;
}

.ep-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================================
   15. RESPONSIVIDADE — mobile first, grids colapsam cedo
   ========================================================================== */

@media (max-width: 1024px) {
  .ep-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ep-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .ep-cover__inner,
  .ep-cover--inner .ep-cover__inner,
  .ep-split {
    grid-template-columns: 1fr;
  }

  .ep-grid--2,
  .ep-grid--3,
  .ep-grid--4,
  .ep-form {
    grid-template-columns: 1fr;
  }

  .ep-actions .ep-btn {
    width: 100%;
  }

  .ep-cover-card img {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 480px) {
  :root {
    --ep-section-y: 2.2rem;
    --ep-gutter: 12px;
  }

  .ep-title-hero {
    font-size: clamp(1.95rem, 11vw, 2.6rem);
  }
}

/* ==========================================================================
   16. HOME FASE 2 — escopo .ep-home (index.php)
   ========================================================================== */

.ep-home {
  background: var(--ep-parchment);
  color: var(--ep-ink);
}

.ep-home .skip-link:focus {
  background: var(--ep-green-deep);
}

/* Header premium escuro — alinhado ao style.css público, sem sobrepor conteúdo */

.ep-home-lang {
  display: inline-flex;
  gap: 0.2rem;
  padding: 0.2rem;
  border: 1px solid var(--ep-line);
  border-radius: var(--ep-radius);
  background: var(--ep-ivory);
  font: 800 0.72rem / 1 var(--ep-font-ui);
}

.ep-home-lang a {
  padding: 0.35rem 0.5rem;
  border-radius: 4px;
  text-decoration: none;
  color: var(--ep-green-deep);
}

.ep-home-lang a[aria-current="true"] {
  color: #21180a;
  background: var(--ep-gold);
}

/* Hero — altura contida */
.ep-home-hero.ep-cover {
  margin-bottom: 0;
}

.ep-home-hero .ep-cover__inner {
  padding-block: clamp(2.2rem, 4.5vw, 3.4rem);
}

.ep-home-hero__tags {
  margin-top: var(--ep-space-4);
}

.ep-home-cover-card .ep-stamp {
  top: var(--ep-space-4);
  left: var(--ep-space-4);
}

.ep-home-cover-card img {
  max-height: 340px;
  object-fit: cover;
}

/* Eyebrows e leads em fundo claro */
.ep-home-eyebrow-dark {
  color: var(--ep-wine);
}

.ep-home-lead-dark {
  color: var(--ep-ink-muted);
}

/* Tópicos — grid compacto */
.ep-home-topics {
  gap: var(--ep-space-3);
}

.ep-home-topic.ep-card--topic .ep-card__body {
  padding: var(--ep-space-4);
}

.ep-home-topic.ep-card--topic em {
  display: inline-block;
  margin-top: var(--ep-space-2);
  color: var(--ep-wine);
  font: 900 0.82rem / 1 var(--ep-font-ui);
  font-style: normal;
}

.ep-home-topic.ep-card--topic span > em {
  margin-top: var(--ep-space-2);
}

/* Comunidade */
.ep-home-community.ep-split {
  align-items: start;
  gap: var(--ep-space-6);
}

.ep-home-community__intro {
  display: grid;
  gap: var(--ep-space-4);
}

.ep-home-community-art {
  margin: 0;
  max-width: 360px;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius-lg);
  overflow: hidden;
  box-shadow: var(--ep-shadow-sm);
}

.ep-home-community-art svg {
  display: block;
  width: 100%;
  height: auto;
}

.ep-home-recipes {
  display: grid;
  gap: var(--ep-space-3);
}

.ep-home-recipe {
  padding: var(--ep-space-4);
}

.ep-home-recipe__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ep-space-2);
  margin: var(--ep-space-2) 0;
}

.ep-home-recipe__meta small {
  color: var(--ep-ink-muted);
  font: 700 0.78rem / 1.2 var(--ep-font-ui);
}

.ep-home-notice {
  margin: 0;
}

.ep-home-notice--inline {
  margin-top: var(--ep-space-4);
}

/* Guia */
.ep-home-guide-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--ep-space-4);
  align-items: end;
  max-width: none;
  margin-bottom: var(--ep-space-5);
}

.ep-home-guide-actions {
  margin: 0;
  flex-wrap: nowrap;
}

.ep-home-guide-card {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--ep-space-4);
}

.ep-home-guide-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius);
  background: linear-gradient(145deg, var(--ep-ivory), var(--ep-cream));
  color: var(--ep-green-deep);
  font: 900 1rem / 1 var(--ep-font-display);
}

/* Newsletter na banda escura */
.ep-home-newsletter-band .ep-title-section,
.ep-home-newsletter-band .ep-lead {
  color: var(--ep-ivory);
}

.ep-home-newsletter.ep-split {
  align-items: center;
  gap: var(--ep-space-6);
}

.ep-home-newsletter .ep-form {
  margin: 0;
  background: rgba(255, 250, 240, 0.96);
}

.ep-home-newsletter .ep-form .field span,
.ep-home-newsletter .ep-form .check span {
  color: var(--ep-green-deep);
}

.ep-home-newsletter .ep-form a {
  color: var(--ep-wine);
  font-weight: 800;
}

/* Confiança */
.ep-home-trust__tags {
  margin-bottom: var(--ep-space-4);
}

.ep-home-trust__notices {
  gap: var(--ep-space-3);
}

.ep-home-trust__notices a {
  color: var(--ep-wine);
  font-weight: 800;
}

/* Footer compacto */
.ep-home-footer.site-footer {
  margin-top: 0;
}

.ep-home-footer__grid {
  grid-template-columns: minmax(200px, 1.2fr) repeat(3, minmax(120px, 1fr));
  gap: var(--ep-space-4);
}

.ep-home-footer__brand .footer__logo {
  max-width: 220px;
  margin-bottom: var(--ep-space-2);
}

.ep-home-footer__bottom {
  margin-top: var(--ep-space-4);
  padding-top: var(--ep-space-3);
  font-size: 0.82rem;
  gap: var(--ep-space-3);
}

@media (max-width: 1024px) {
  .ep-home-topics.ep-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .ep-home-guide-head {
    grid-template-columns: 1fr;
  }

  .ep-home-guide-actions {
    flex-wrap: wrap;
  }

  .ep-home-guide-actions .ep-btn {
    width: 100%;
  }

  .ep-home-newsletter.ep-split {
    grid-template-columns: 1fr;
  }

  .ep-home-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ep-home-cover-card img {
    max-height: none;
  }
}

@media (max-width: 620px) {
  .ep-home-topics.ep-grid--3,
  .ep-home-guide.ep-grid--2,
  .ep-home-trust__notices.ep-grid--2 {
    grid-template-columns: 1fr;
  }

  .ep-home-header .site-nav {
    font-size: 0.95rem;
  }

  .ep-home-footer__grid {
    grid-template-columns: 1fr;
  }

  .ep-home-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ==========================================================================
   17. HOME FASE 2.1 — correção pós-deploy (header, contraste, compactação)
   Escopo: body.ep-home — alta especificidade, sem alterar style.css/main.js
   ========================================================================== */

body.ep-home {
  --ep-home-topbar-h: 24px;
  --ep-home-nav-h: 52px;
  --ep-home-header-offset: calc(var(--ep-home-topbar-h) + var(--ep-home-nav-h));
  scroll-padding-top: var(--ep-home-header-offset);
}

/* --- Header compacto, alinhado, menu em uma linha (desktop) --- */
body.ep-home .topbar__inner {
  min-height: var(--ep-home-topbar-h);
  font-size: 0.68rem;
  letter-spacing: 0.01em;
}

body.ep-home .header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  min-height: var(--ep-home-nav-h);
}

body.ep-home .brand {
  flex-shrink: 0;
}

body.ep-home .brand__logo {
  height: 34px;
  width: auto;
}

body.ep-home .site-nav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.12rem;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body.ep-home .site-nav::-webkit-scrollbar {
  display: none;
}

body.ep-home .site-nav a {
  white-space: nowrap;
  font-size: 0.72rem;
  padding: 0.38rem 0.42rem;
}

body.ep-home .language-switcher.ep-home-lang {
  flex-shrink: 0;
  border: 1px solid rgba(217, 173, 69, 0.38);
  border-radius: 999px;
  background: rgba(255, 248, 235, 0.08);
  font: 800 0.68rem / 1 var(--ep-font-ui);
}

body.ep-home .ep-home-lang a {
  padding: 0.32rem 0.45rem;
  border-radius: 999px;
  color: #efe3cc;
  text-decoration: none;
}

body.ep-home .ep-home-lang a[aria-current="true"] {
  color: #151108;
  background: var(--ep-gold);
}

/* Conteúdo não escondido sob header sticky + âncoras (#explore, etc.) */
body.ep-home .ep-home-hero.ep-cover .ep-cover__inner {
  padding-top: calc(var(--ep-home-header-offset) + clamp(1.4rem, 3vw, 2rem));
  padding-bottom: clamp(1.6rem, 3.5vw, 2.6rem);
}

body.ep-home .ep-section[id] {
  scroll-margin-top: calc(var(--ep-home-header-offset) + 0.75rem);
}

/* --- Hero editorial: altura, overlay, contraste --- */
body.ep-home .ep-home-hero.ep-cover {
  min-height: auto;
}

@media (min-width: 861px) {
  body.ep-home .ep-home-hero.ep-cover {
    min-height: clamp(560px, 62vh, 680px);
    display: flex;
    align-items: center;
  }

  body.ep-home .ep-home-hero .ep-cover__inner {
    width: 100%;
  }
}

body.ep-home .ep-home-hero.ep-cover::before {
  background:
    radial-gradient(circle at 14% 22%, rgba(212, 175, 55, 0.1), transparent 44%),
    radial-gradient(circle at 86% 78%, rgba(111, 29, 47, 0.22), transparent 50%),
    linear-gradient(128deg, rgba(6, 61, 49, 0.97), rgba(11, 47, 36, 0.94));
}

body.ep-home .ep-home-hero.ep-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    95deg,
    rgba(4, 31, 26, 0.78) 0%,
    rgba(4, 31, 26, 0.42) 42%,
    rgba(4, 31, 26, 0.12) 100%
  );
  pointer-events: none;
}

body.ep-home .ep-cover .ep-eyebrow {
  color: var(--ep-gold);
}

body.ep-home .ep-cover .ep-title-hero {
  color: var(--ep-ivory);
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}

body.ep-home .ep-cover .ep-lead {
  color: rgba(247, 239, 226, 0.92);
}

body.ep-home .ep-cover-card__body,
body.ep-home .ep-cover-card__body p {
  color: rgba(247, 239, 226, 0.88);
}

body.ep-home .ep-cover-card__body strong {
  color: var(--ep-ivory);
}

body.ep-home .ep-home-cover-card img {
  max-height: none;
  aspect-ratio: 18 / 7.6;
  object-fit: cover;
  object-position: center 42%;
}

/* --- Seções mais compactas — menos rolagem --- */
body.ep-home .ep-section--compact {
  padding-block: clamp(1.2rem, 2.4vw, 1.85rem);
}

body.ep-home .ep-section-head {
  gap: var(--ep-space-2);
  margin-bottom: var(--ep-space-4);
}

body.ep-home .ep-section-head.ep-visually-compact {
  margin-bottom: var(--ep-space-3);
}

/* Títulos legíveis: verde em claro, marfim em escuro */
body.ep-home .ep-section:not(.ep-section--dark) .ep-title-section {
  color: var(--ep-green-deep);
}

body.ep-home .ep-section--dark .ep-title-section,
body.ep-home .ep-section--dark .ep-lead,
body.ep-home .ep-home-newsletter-band .ep-title-section,
body.ep-home .ep-home-newsletter-band .ep-lead {
  color: var(--ep-ivory);
}

body.ep-home .ep-section--dark .ep-eyebrow,
body.ep-home .ep-home-newsletter-band .ep-eyebrow {
  color: var(--ep-gold);
}

/* --- Cards de curadoria — altura uniforme, imagem premium --- */
body.ep-home .ep-home-topics.ep-grid--3 {
  align-items: stretch;
  gap: var(--ep-space-3);
}

body.ep-home .ep-home-topic.ep-card--media {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
}

body.ep-home .ep-home-topic.ep-card--media img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
  background: linear-gradient(145deg, var(--ep-cream), var(--ep-green-soft));
}

body.ep-home .ep-home-topic .ep-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--ep-space-2);
  min-height: 0;
}

body.ep-home .ep-home-topic .ep-card__text {
  flex: 1;
}

body.ep-home .ep-home-topic .ep-card__title {
  font-size: clamp(1.05rem, 1.6vw, 1.18rem);
}

/* --- Comunidade — compacta, estado vazio elegante --- */
body.ep-home .ep-home-community.ep-split {
  gap: var(--ep-space-5);
  align-items: start;
}

body.ep-home .ep-home-community-art {
  max-width: 280px;
}

body.ep-home .ep-home-recipes {
  align-content: start;
}

body.ep-home .ep-home-recipe {
  height: auto;
}

body.ep-home .ep-home-recipe--empty {
  border-style: dashed;
  border-color: var(--ep-line-gold);
  background: linear-gradient(160deg, var(--ep-ivory), var(--ep-parchment));
}

body.ep-home .ep-home-recipe--empty .ep-card__title {
  font-size: 1.05rem;
}

/* --- Guia — cards alinhados, bloco mais baixo --- */
body.ep-home .ep-home-guide.ep-grid--2 {
  align-items: stretch;
  gap: var(--ep-space-3);
}

body.ep-home .ep-home-guide-head {
  margin-bottom: var(--ep-space-4);
  gap: var(--ep-space-3);
}

body.ep-home .ep-home-guide-card {
  min-height: 5.5rem;
  height: 100%;
  padding: var(--ep-space-4);
}

body.ep-home .ep-home-guide-card .ep-card__text {
  font-size: 0.84rem;
  line-height: 1.4;
}

/* --- Newsletter — contraste e formulário alinhado --- */
body.ep-home .ep-home-newsletter.ep-split {
  gap: var(--ep-space-5);
  align-items: center;
}

body.ep-home .ep-home-newsletter .ep-form {
  padding: var(--ep-space-4);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: var(--ep-radius);
  background: rgba(255, 250, 240, 0.98);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

body.ep-home .ep-home-newsletter .ep-form .field span,
body.ep-home .ep-home-newsletter .ep-form .check span {
  color: var(--ep-green-deep);
  font-weight: 700;
}

body.ep-home .ep-home-newsletter .button.button--primary,
body.ep-home .ep-home-newsletter .ep-btn--primary {
  color: #21180a;
  background: var(--ep-gold);
  border: 1px solid var(--ep-gold-aged);
  font-weight: 800;
}

body.ep-home .ep-home-newsletter .button.button--primary:hover,
body.ep-home .ep-home-newsletter .ep-btn--primary:hover {
  background: #e0bc42;
}

/* --- Cookie banner — compacto, rodapé, menos invasivo --- */
body.ep-home .cookie-banner {
  left: 50%;
  right: auto;
  bottom: 10px;
  transform: translateX(-50%);
  width: min(480px, calc(100% - 20px));
  margin: 0;
  padding: 0.7rem 0.85rem;
  gap: 0.55rem;
  grid-template-columns: 1fr;
  font-size: 0.8rem;
  line-height: 1.35;
  box-shadow: 0 10px 28px rgba(11, 47, 36, 0.2);
  z-index: 110;
}

body.ep-home .cookie-banner__content p {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
}

body.ep-home .cookie-banner__actions {
  justify-content: flex-start;
  gap: 0.45rem;
}

body.ep-home .cookie-banner__actions .button {
  padding: 0.45rem 0.75rem;
  font-size: 0.78rem;
}

@media (min-width: 761px) {
  body.ep-home .cookie-banner {
    left: auto;
    right: 14px;
    transform: none;
    width: min(420px, calc(100% - 28px));
  }

  body.ep-home .cookie-banner__actions {
    flex-wrap: nowrap;
  }
}

/* --- Responsividade home 2.1 --- */
@media (max-width: 1024px) {
  body.ep-home .site-nav a {
    font-size: 0.7rem;
    padding: 0.35rem 0.38rem;
  }
}

@media (max-width: 900px) {
  body.ep-home {
    --ep-home-topbar-h: 22px;
    --ep-home-nav-h: 50px;
  }

  body.ep-home .topbar__inner > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 62vw;
  }
}

@media (max-width: 860px) {
  body.ep-home .ep-home-hero.ep-cover {
    min-height: auto;
  }

  body.ep-home .ep-home-community-art {
    max-width: 100%;
  }

  body.ep-home .ep-home-guide-head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  body.ep-home .ep-home-guide-actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 620px) {
  body.ep-home {
    --ep-home-topbar-h: 0px;
  }

  body.ep-home .topbar {
    display: none;
  }

  body.ep-home {
    --ep-home-header-offset: 50px;
  }

  body.ep-home .header__inner {
    grid-template-columns: auto 1fr auto;
    gap: 0.5rem;
  }

  body.ep-home .cookie-banner {
    bottom: 8px;
    width: calc(100% - 16px);
  }

  body.ep-home .cookie-banner__actions .button {
    flex: 1 1 auto;
    min-width: 0;
  }
}

/* ==========================================================================
   18. FASE 2.2 — Refinamento editorial premium global
   Home compacta + páginas internas + formulários públicos
   ========================================================================== */

/* --- Utilitários editoriais reutilizáveis --- */
.ep-editorial-frame {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius-lg);
  box-shadow: var(--ep-shadow-cover);
}

.ep-editorial-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(4, 31, 26, 0.35));
  pointer-events: none;
}

/* Textura azulejo discreta (CSS) */
.ep-texture-tile {
  background-color: var(--ep-green-bottle);
  background-image:
    linear-gradient(rgba(21, 90, 138, 0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 90, 138, 0.14) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.08) 0, transparent 42%);
  background-size: 22px 22px, 22px 22px, 100% 100%;
}

/* ==========================================================================
   18.A HOME — capa de revista compacta (ep-magazine-v22)
   ========================================================================== */

body.ep-home.ep-magazine-v22 {
  --ep-home-topbar-h: 22px;
  --ep-home-nav-h: 50px;
}

body.ep-home.ep-magazine-v22 .ep-magazine-hero .ep-cover__inner {
  grid-template-columns: minmax(0, 1.08fr) minmax(220px, 0.68fr);
  gap: clamp(0.85rem, 2vw, 1.5rem);
  align-items: center;
}

body.ep-home.ep-magazine-v22 .ep-magazine-hero .ep-cover__inner {
  padding-top: calc(var(--ep-home-header-offset) + 0.65rem);
  padding-bottom: 1rem;
}

body.ep-home.ep-magazine-v22 .ep-magazine-hero.ep-cover {
  min-height: auto;
}

@media (min-width: 861px) {
  body.ep-home.ep-magazine-v22 .ep-magazine-hero.ep-cover {
    min-height: clamp(380px, 48vh, 480px);
  }
}

body.ep-home.ep-magazine-v22 .ep-title-hero {
  font-size: clamp(1.95rem, 3.8vw, 3.1rem);
  letter-spacing: -0.025em;
}

body.ep-home.ep-magazine-v22 .ep-cover .ep-lead {
  font-size: clamp(0.92rem, 1.5vw, 1.02rem);
  max-width: 34rem;
  line-height: 1.48;
}

body.ep-home.ep-magazine-v22 .ep-actions {
  margin-top: var(--ep-space-4);
  gap: var(--ep-space-2);
}

body.ep-home.ep-magazine-v22 .ep-btn {
  padding: 0.55rem 0.95rem;
  font-size: 0.82rem;
}

body.ep-home.ep-magazine-v22 .ep-home-hero__tags {
  margin-top: var(--ep-space-3);
}

body.ep-home.ep-magazine-v22 .ep-home-hero__tags span {
  padding: 0.28rem 0.55rem;
  font-size: 0.68rem;
}

/* Capa lateral — moldura editorial, não banner full-width */
body.ep-home.ep-magazine-v22 .ep-home-cover-card {
  max-width: 380px;
  margin-inline: auto;
  transform: rotate(0.6deg);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

body.ep-home.ep-magazine-v22 .ep-home-cover-card img {
  aspect-ratio: 4 / 4.6;
  max-height: 300px;
  object-fit: cover;
  object-position: center 38%;
}

body.ep-home.ep-magazine-v22 .ep-home-cover-card .ep-cover-card__body {
  padding: var(--ep-space-3);
}

body.ep-home.ep-magazine-v22 .ep-home-cover-card .ep-cover-card__body p {
  display: none;
}

body.ep-home.ep-magazine-v22 .ep-home-cover-card .ep-cover-card__body strong {
  font-size: 0.98rem;
}

body.ep-home.ep-magazine-v22 .ep-home-cover-card .ep-stamp {
  font-size: 0.68rem;
  padding: 0.28rem 0.5rem;
}

/* Temas — grade editorial compacta */
body.ep-home.ep-magazine-v22 .ep-home-topics.ep-grid--3 {
  gap: var(--ep-space-2);
}

body.ep-home.ep-magazine-v22 .ep-home-topic.ep-card--media img {
  aspect-ratio: 16 / 9;
  max-height: 148px;
  filter: saturate(1.06) contrast(1.03);
}

body.ep-home.ep-magazine-v22 .ep-home-topic .ep-card__body {
  padding: var(--ep-space-3);
}

body.ep-home.ep-magazine-v22 .ep-home-topic .ep-card__title {
  font-size: 1.02rem;
}

body.ep-home.ep-magazine-v22 .ep-home-topic .ep-card__text {
  font-size: 0.8rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.ep-home.ep-magazine-v22 .ep-home-topic .ep-badge {
  font-size: 0.62rem;
  padding: 0.2rem 0.45rem;
}

/* Overlays editoriais por tema (reforço visual) */
body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="receitas"] img {
  object-position: center 42%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="vinhos"] img {
  object-position: center 35%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="doces"] img {
  object-position: center 40%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="bacalhau"] img {
  object-position: center 45%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="regioes"] img {
  object-position: center 30%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="guia"] img {
  object-position: center 38%;
}

/* Comunidade — chamada editorial, não bloco solto */
body.ep-home.ep-magazine-v22 .ep-home-community.ep-split {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.82fr);
  gap: var(--ep-space-4);
}

body.ep-home.ep-magazine-v22 .ep-home-community-art,
body.ep-home.ep-magazine-v22 .ep-home-notice:not(.ep-home-notice--inline) {
  display: none;
}

body.ep-home.ep-magazine-v22 .ep-home-community__intro .ep-actions {
  margin-top: var(--ep-space-3);
}

body.ep-home.ep-magazine-v22 .ep-home-recipe {
  padding: var(--ep-space-3);
}

body.ep-home.ep-magazine-v22 .ep-home-recipe .ep-card__title {
  font-size: 1rem;
}

body.ep-home.ep-magazine-v22 .ep-home-recipe .ep-card__text {
  font-size: 0.82rem;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Guia — duas colunas compactas */
body.ep-home.ep-magazine-v22 .ep-home-guide-card {
  min-height: 4.75rem;
  padding: var(--ep-space-3);
}

body.ep-home.ep-magazine-v22 .ep-home-guide-card__icon {
  width: 38px;
  height: 38px;
  font-size: 0.88rem;
}

body.ep-home.ep-magazine-v22 .ep-home-guide-card .ep-card__title {
  font-size: 1rem;
}

body.ep-home.ep-magazine-v22 .ep-home-notice--inline {
  margin-top: var(--ep-space-3);
  padding: var(--ep-space-3);
}

/* Newsletter — faixa premium compacta */
body.ep-home.ep-magazine-v22 .ep-band-newsletter {
  padding-block: clamp(0.85rem, 1.8vw, 1.25rem);
}

body.ep-home.ep-magazine-v22 .ep-band-newsletter .ep-title-section {
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  margin-bottom: var(--ep-space-2);
}

body.ep-home.ep-magazine-v22 .ep-band-newsletter .ep-lead {
  font-size: 0.88rem;
  max-width: 28rem;
}

body.ep-home.ep-magazine-v22 .ep-home-newsletter.ep-split {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: var(--ep-space-4);
}

body.ep-home.ep-magazine-v22 .ep-home-newsletter .ep-form {
  padding: 0.75rem;
  gap: 0.55rem;
}

body.ep-home.ep-magazine-v22 .ep-home-newsletter .ep-form input {
  min-height: 36px;
  padding: 0.45rem 0.6rem;
  font-size: 0.88rem;
}

body.ep-home.ep-magazine-v22 .ep-home-newsletter .ep-form .check span {
  font-size: 0.78rem;
  line-height: 1.35;
}

body.ep-home.ep-magazine-v22 .ep-home-newsletter .button {
  min-height: 38px;
  padding: 0.5rem 0.75rem;
  font-size: 0.84rem;
}

/* Confiança + footer compactos */
body.ep-home.ep-magazine-v22 .ep-home-trust {
  padding-block: 0.85rem;
}

body.ep-home.ep-magazine-v22 .ep-home-trust__tags {
  margin-bottom: var(--ep-space-2);
  flex-wrap: wrap;
  gap: 0.35rem;
}

body.ep-home.ep-magazine-v22 .ep-home-trust__tags span {
  font-size: 0.68rem;
  padding: 0.25rem 0.5rem;
}

body.ep-home.ep-magazine-v22 .ep-home-trust__notices {
  gap: var(--ep-space-2);
}

body.ep-home.ep-magazine-v22 .ep-home-trust__notices .ep-notice {
  padding: var(--ep-space-3);
  font-size: 0.84rem;
}

body.ep-home.ep-magazine-v22 .ep-home-footer__grid {
  gap: var(--ep-space-3);
}

body.ep-home.ep-magazine-v22 .ep-home-footer__brand .footer__logo {
  max-width: 190px;
}

body.ep-home.ep-magazine-v22 .ep-home-footer__bottom {
  margin-top: var(--ep-space-2);
  padding-top: var(--ep-space-2);
  font-size: 0.76rem;
}

@media (max-width: 860px) {
  body.ep-home.ep-magazine-v22 .ep-magazine-hero .ep-cover__inner {
    padding-top: calc(var(--ep-home-header-offset) + 0.5rem);
  }

  body.ep-home.ep-magazine-v22 .ep-home-cover-card {
    transform: none;
    max-width: 100%;
  }

  body.ep-home.ep-magazine-v22 .ep-home-cover-card img {
    max-height: 220px;
    aspect-ratio: 16 / 10;
  }

  body.ep-home.ep-magazine-v22 .ep-home-community.ep-split {
    grid-template-columns: 1fr;
  }

  body.ep-home.ep-magazine-v22 .ep-home-newsletter.ep-split {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   18.B PÁGINAS INTERNAS — hero compacto, seções densas, cards editoriais
   ========================================================================== */

body.inner-page:not(.admin-page),
body.ep-inner-public {
  --ep-inner-header-offset: 74px;
  scroll-padding-top: var(--ep-inner-header-offset);
}

body.inner-page:not(.admin-page) .page-hero,
body.ep-inner-public .page-hero {
  min-height: clamp(210px, 32vh, 310px);
  background:
    linear-gradient(92deg, rgba(2, 31, 26, 0.97) 0%, rgba(2, 31, 26, 0.84) 46%, rgba(29, 21, 19, 0.5) 100%),
    url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg") center right / cover no-repeat;
}

body.inner-page:not(.admin-page) .page-hero__inner,
body.ep-inner-public .page-hero__inner {
  padding: 1.05rem 0 1.25rem;
}

body.inner-page:not(.admin-page) .page-hero__grid,
body.ep-inner-public .page-hero__grid {
  margin-top: 0.65rem;
  max-width: 640px;
}

body.inner-page:not(.admin-page) .page-hero h1,
body.ep-inner-public .page-hero h1 {
  font-size: clamp(1.65rem, 3vw, 2.65rem);
  line-height: 1.04;
  margin: 0 0 0.55rem;
}

body.inner-page:not(.admin-page) .page-hero p,
body.ep-inner-public .page-hero p {
  font-size: 0.92rem;
  line-height: 1.42;
  max-width: 520px;
}

body.inner-page:not(.admin-page) .page-hero .eyebrow,
body.ep-inner-public .page-hero .eyebrow {
  margin-bottom: 0.45rem;
  font-size: 0.68rem;
}

body.inner-page:not(.admin-page) .breadcrumb,
body.ep-inner-public .breadcrumb {
  font-size: 0.72rem;
  margin-bottom: 0.35rem;
}

body.inner-page:not(.admin-page) .page-hero__grid img,
body.inner-page:not(.admin-page) .page-hero__grid img[src*="/assets/editorial/"],
body.inner-page:not(.admin-page) .page-hero__grid img[src*="placeholder"],
body.ep-inner-public .page-hero__grid img {
  display: none;
}

body.inner-page:not(.admin-page) .section,
body.ep-inner-public .section {
  padding: clamp(1.15rem, 2.2vw, 1.75rem) 0;
}

body.inner-page:not(.admin-page) .section--compact,
body.ep-inner-public .section--compact {
  padding: clamp(0.85rem, 1.8vw, 1.25rem) 0;
}

body.inner-page:not(.admin-page) .section--tinted,
body.ep-inner-public .section--tinted {
  padding: clamp(0.95rem, 2vw, 1.4rem) 0;
}

body.inner-page:not(.admin-page) .section--dark,
body.ep-inner-public .section--dark {
  padding: clamp(1rem, 2vw, 1.45rem) 0;
}

body.inner-page:not(.admin-page) .section__header,
body.ep-inner-public .section__header {
  margin-bottom: 0.75rem;
}

body.inner-page:not(.admin-page) .section__header h2,
body.ep-inner-public .section__header h2,
body.inner-page:not(.admin-page) .section h2,
body.ep-inner-public .section h2 {
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.08;
}

body.inner-page:not(.admin-page) .editorial-prose,
body.ep-inner-public .editorial-prose {
  max-width: 42rem;
  font-size: 0.98rem;
}

body.inner-page:not(.admin-page) .editorial-prose p,
body.ep-inner-public .editorial-prose p {
  margin: 0 0 0.75rem;
  line-height: 1.55;
}

body.inner-page:not(.admin-page) .editorial-prose h2,
body.ep-inner-public .editorial-prose h2 {
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  margin: 1.15rem 0 0.45rem;
}

body.inner-page:not(.admin-page) .link-grid,
body.ep-inner-public .link-grid {
  gap: 0.6rem;
}

body.inner-page:not(.admin-page) .link-card,
body.ep-inner-public .link-card {
  padding: 0.72rem 0.85rem;
  gap: 0.2rem;
}

body.inner-page:not(.admin-page) .link-card strong,
body.ep-inner-public .link-card strong {
  font-size: 0.98rem;
}

body.inner-page:not(.admin-page) .link-card span,
body.ep-inner-public .link-card span {
  font-size: 0.8rem;
  line-height: 1.35;
}

body.inner-page:not(.admin-page) .pillar-card-grid,
body.ep-inner-public .pillar-card-grid {
  gap: 0.6rem;
}

body.inner-page:not(.admin-page) .pillar-card,
body.ep-inner-public .pillar-card {
  padding: 0.72rem;
  gap: 0.35rem;
}

body.inner-page:not(.admin-page) .pillar-card h3,
body.ep-inner-public .pillar-card h3 {
  font-size: 1rem;
}

body.inner-page:not(.admin-page) .pillar-card p,
body.ep-inner-public .pillar-card p {
  font-size: 0.82rem;
  line-height: 1.35;
}

body.inner-page:not(.admin-page) .pillar-section,
body.ep-inner-public .pillar-section {
  padding-top: 1.25rem;
}

body.inner-page:not(.admin-page) .kitchen-guides-promo .section__inner.split,
body.inner-page:not(.admin-page) .pillar-cluster-promo .section__inner,
body.ep-inner-public .kitchen-guides-promo .section__inner.split {
  gap: 1rem;
}

body.inner-page:not(.admin-page) .kitchen-guides-promo h2,
body.ep-inner-public .kitchen-guides-promo h2 {
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
}

body.inner-page:not(.admin-page) .legal-notice,
body.ep-inner-public .legal-notice {
  padding: 0.75rem 0.85rem;
  margin-top: 0.85rem;
  font-size: 0.84rem;
}

body.inner-page:not(.admin-page) .article-source,
body.ep-inner-public .article-source {
  margin-top: 0.85rem;
  padding: 0.75rem;
  font-size: 0.8rem;
}

body.inner-page:not(.admin-page) .site-footer .footer__grid,
body.ep-inner-public .site-footer .footer__grid {
  gap: 0.85rem;
}

body.inner-page:not(.admin-page) .site-footer .footer__bottom,
body.ep-inner-public .site-footer .footer__bottom {
  margin-top: 0.65rem;
  padding-top: 0.55rem;
  font-size: 0.74rem;
}

body.inner-page:not(.admin-page) .hero__actions,
body.ep-inner-public .hero__actions {
  margin-top: 0.75rem;
  gap: 0.5rem;
}

body.inner-page:not(.admin-page) .hero__actions .button,
body.ep-inner-public .hero__actions .button {
  padding: 0.48rem 0.85rem;
  font-size: 0.82rem;
}

/* Comunidade — listagem premium compacta */
body.community-page.ep-inner-public .page-hero--compact,
body.community-page .page-hero--compact {
  min-height: clamp(190px, 28vh, 260px);
}

body.community-page .community-live-head {
  margin-bottom: 0.75rem;
  gap: 0.75rem;
}

body.community-page .community-live-head h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
}

body.community-page .community-recipe-list {
  gap: 0.65rem;
}

body.community-page .community-recipe-card {
  padding: 0.8rem 0.9rem;
  border-radius: 10px;
  border: 1px solid rgba(47, 36, 24, 0.12);
  background: rgba(255, 248, 235, 0.96);
  box-shadow: 0 8px 22px rgba(10, 28, 23, 0.06);
}

body.community-page .community-recipe-card h3 {
  font-size: 1.05rem;
  margin: 0.35rem 0;
}

body.community-page .community-recipe-card p {
  font-size: 0.84rem;
  line-height: 1.4;
  margin: 0 0 0.5rem;
}

body.community-page .community-empty {
  padding: 1rem;
  border-radius: 10px;
  border: 1px dashed rgba(212, 175, 55, 0.45);
  background: linear-gradient(160deg, var(--ep-ivory), var(--ep-parchment));
}

body.community-page .community-compact-grid {
  gap: 0.65rem;
}

body.community-page .community-rule {
  padding: 0.75rem;
  font-size: 0.84rem;
}

body.community-page .social-callout {
  gap: 0.85rem;
  align-items: center;
}

body.community-page .social-callout h2 {
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
}

/* Formulários públicos (enviar receita, contato, newsletter interna) */
body.inner-page:not(.admin-page) .lead-form,
body.inner-page:not(.admin-page) form[data-secure-form] {
  padding: 0.85rem;
  gap: 0.6rem;
  max-width: 540px;
}

body.inner-page:not(.admin-page) .lead-form input,
body.inner-page:not(.admin-page) .lead-form textarea,
body.inner-page:not(.admin-page) form[data-secure-form] input,
body.inner-page:not(.admin-page) form[data-secure-form] textarea {
  min-height: 38px;
  font-size: 0.9rem;
}

/* Cookie banner — global, compacto */
body:not(.admin-page) .cookie-banner {
  bottom: 10px;
  padding: 0.65rem 0.8rem;
  width: min(440px, calc(100% - 20px));
  font-size: 0.78rem;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  box-shadow: 0 10px 26px rgba(11, 47, 36, 0.18);
}

body:not(.admin-page) .cookie-banner__content p {
  font-size: 0.76rem;
  margin: 0.12rem 0 0;
}

body:not(.admin-page) .cookie-banner__actions .button {
  padding: 0.42rem 0.7rem;
  font-size: 0.76rem;
}

@media (min-width: 761px) {
  body:not(.admin-page) .cookie-banner {
    left: auto;
    right: 12px;
    width: min(400px, calc(100% - 24px));
  }
}

@media (max-width: 620px) {
  body.inner-page:not(.admin-page) .page-hero h1,
  body.ep-inner-public .page-hero h1 {
    font-size: clamp(1.45rem, 6.5vw, 2rem);
  }

  body.inner-page:not(.admin-page) .pillar-card-grid,
  body.inner-page:not(.admin-page) .pillar-cluster-promo .pillar-card-grid,
  body.ep-inner-public .pillar-card-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   19. FASE 2.2.1 — Garantia visual quando ep-premium carrega (grids/links)
   ========================================================================== */

body.ep-home.ep-scope .ep-grid {
  display: grid;
}

body.ep-home.ep-scope .ep-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.ep-home.ep-scope .ep-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.ep-home.ep-scope .ep-split {
  display: grid;
}

body.ep-home.ep-scope a.ep-card,
body.ep-home.ep-scope .ep-card--topic,
body.ep-home.ep-scope .ep-home-guide-card {
  text-decoration: none;
  color: inherit;
}

body.ep-home.ep-scope .ep-card--topic:hover,
body.ep-home.ep-scope .ep-home-guide-card:hover {
  text-decoration: none;
}

body.ep-home.ep-scope .ep-link {
  text-decoration: none;
}

body.ep-home.ep-scope .ep-btn {
  text-decoration: none;
}

body.ep-home.ep-scope img {
  max-width: 100%;
  height: auto;
}

@media (min-width: 861px) and (max-width: 1024px) {
  body.ep-home.ep-scope .ep-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  body.ep-home.ep-scope .ep-grid--3,
  body.ep-home.ep-scope .ep-grid--2,
  body.ep-home.ep-scope .ep-split {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   20. FASE 2.3 — Primeira dobra: hero capa de revista premium
   Escopo: .ep-hero-revista — sobrescreve regras conflitantes das seções 17–18
   ========================================================================== */

body.ep-home .ep-hero-revista.ep-cover {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: auto;
  padding-block: 0;
  background-color: var(--ep-green-deep);
}

body.ep-home .ep-hero-revista.ep-cover::before {
  background:
    radial-gradient(ellipse 80% 60% at 18% 20%, rgba(212, 175, 55, 0.14), transparent 55%),
    radial-gradient(ellipse 70% 50% at 85% 75%, rgba(111, 29, 47, 0.28), transparent 52%),
    linear-gradient(118deg, rgba(6, 61, 49, 0.98) 0%, rgba(11, 47, 36, 0.94) 48%, rgba(74, 18, 32, 0.88) 100%),
    repeating-linear-gradient(
      -12deg,
      transparent,
      transparent 18px,
      rgba(21, 90, 138, 0.035) 18px,
      rgba(21, 90, 138, 0.035) 19px
    );
}

body.ep-home .ep-hero-revista.ep-cover::after {
  background: linear-gradient(
    102deg,
    rgba(4, 31, 26, 0.82) 0%,
    rgba(4, 31, 26, 0.52) 36%,
    rgba(4, 31, 26, 0.14) 58%,
    transparent 70%
  );
}

body.ep-home .ep-hero-revista__inner.ep-cover__inner {
  position: relative;
  z-index: 1;
  width: min(1240px, calc(100% - var(--ep-gutter) * 2));
  max-width: 1240px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(300px, 0.94fr);
  gap: clamp(1.15rem, 2.8vw, 2.1rem);
  align-items: center;
  padding-top: calc(var(--ep-home-header-offset) + clamp(0.65rem, 1.8vh, 1.1rem));
  padding-bottom: clamp(1rem, 2vh, 1.65rem);
}

body.ep-home .ep-hero-revista__copy .ep-eyebrow {
  margin: 0 0 0.55rem;
  color: var(--ep-gold);
  font-size: clamp(0.68rem, 1.1vw, 0.76rem);
  letter-spacing: 0.1em;
}

body.ep-home .ep-hero-revista__copy .ep-title-hero {
  margin: 0;
  color: var(--ep-ivory);
  font-family: var(--ep-font-display);
  font-size: clamp(2.55rem, 5.4vw, 4.35rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.032em;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.35);
  max-width: 12ch;
}

body.ep-home .ep-hero-revista__copy .ep-lead {
  margin: 0.85rem 0 0;
  max-width: 34rem;
  color: rgba(247, 239, 226, 0.93);
  font-size: clamp(0.96rem, 1.55vw, 1.1rem);
  line-height: 1.52;
}

body.ep-home .ep-hero-revista__copy .ep-actions {
  margin-top: clamp(1rem, 2.2vh, 1.35rem);
  gap: 0.65rem;
}

body.ep-home .ep-hero-revista__copy .ep-btn {
  min-height: 46px;
  padding: 0.62rem 1.2rem;
  font-size: 0.88rem;
}

body.ep-home .ep-hero-revista__copy .ep-home-hero__tags {
  margin-top: clamp(0.85rem, 1.8vh, 1.15rem);
  gap: 0.45rem;
}

body.ep-home .ep-hero-revista__copy .ep-home-hero__tags span {
  min-height: 30px;
  padding: 0.32rem 0.72rem;
  border: 1px solid rgba(212, 175, 55, 0.48);
  border-radius: var(--ep-radius-pill);
  background: rgba(255, 250, 240, 0.1);
  color: rgba(247, 239, 226, 0.94);
  font: 800 0.74rem / 1 var(--ep-font-ui);
  text-decoration: none;
  cursor: default;
  pointer-events: none;
}

/* Capa editorial integrada — moldura premium */
body.ep-home .ep-hero-revista__cover.ep-home-cover-card {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  transform: none;
  border: 1px solid rgba(212, 175, 55, 0.58);
  border-radius: var(--ep-radius-lg);
  background: linear-gradient(165deg, rgba(255, 250, 240, 0.08), rgba(6, 61, 49, 0.35));
  box-shadow:
    0 28px 64px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 250, 240, 0.12);
}

body.ep-home .ep-hero-revista__cover.ep-home-cover-card::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(212, 175, 55, 0.22);
  border-radius: calc(var(--ep-radius-lg) - 6px);
  pointer-events: none;
  z-index: 2;
}

body.ep-home .ep-hero-revista__cover .ep-stamp {
  top: var(--ep-space-4);
  left: var(--ep-space-4);
  z-index: 3;
  padding: 0.32rem 0.62rem;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
}

body.ep-home .ep-hero-revista__cover img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 4.85;
  max-height: min(52vh, 460px);
  min-height: 280px;
  object-fit: cover;
  object-position: center 42%;
}

body.ep-home .ep-hero-revista__cover .ep-cover-card__body {
  padding: var(--ep-space-4);
  border-top: 1px solid rgba(212, 175, 55, 0.38);
  background: linear-gradient(180deg, rgba(6, 61, 49, 0.78), rgba(6, 61, 49, 0.95));
}

body.ep-home .ep-hero-revista__cover .ep-cover-card__body span {
  color: var(--ep-gold);
  font: 900 0.68rem / 1 var(--ep-font-ui);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.ep-home .ep-hero-revista__cover .ep-cover-card__body strong {
  display: block;
  margin-top: 0.35rem;
  color: var(--ep-ivory);
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  line-height: 1.25;
}

body.ep-home .ep-hero-revista__cover .ep-cover-card__body p {
  display: block;
  margin: 0.4rem 0 0;
  color: rgba(247, 239, 226, 0.82);
  font: 400 0.8rem / 1.45 var(--ep-font-ui);
}

/* Altura primeira dobra — 70vh a 82vh desktop */
@media (min-width: 861px) {
  body.ep-home .ep-hero-revista.ep-cover {
    min-height: clamp(520px, 76vh, 82vh);
  }

  body.ep-home .ep-hero-revista__inner.ep-cover__inner {
    min-height: clamp(
      calc(70vh - var(--ep-home-header-offset) - 1.5rem),
      480px,
      calc(78vh - var(--ep-home-header-offset))
    );
  }
}

/* Tablet */
@media (min-width: 861px) and (max-width: 1100px) {
  body.ep-home .ep-hero-revista__inner.ep-cover__inner {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.88fr);
    gap: 1.15rem;
  }

  body.ep-home .ep-hero-revista__copy .ep-title-hero {
    font-size: clamp(2.2rem, 4.8vw, 3.35rem);
  }

  body.ep-home .ep-hero-revista__cover img {
    max-height: min(46vh, 400px);
    min-height: 240px;
  }
}

/* Mobile — coluna única */
@media (max-width: 860px) {
  body.ep-home .ep-hero-revista.ep-cover {
    min-height: auto;
    align-items: stretch;
  }

  body.ep-home .ep-hero-revista__inner.ep-cover__inner {
    grid-template-columns: 1fr;
    padding-top: calc(var(--ep-home-header-offset) + 0.75rem);
    padding-bottom: 1.25rem;
    min-height: auto;
  }

  body.ep-home .ep-hero-revista__copy .ep-title-hero {
    max-width: none;
    font-size: clamp(2.15rem, 9vw, 3.15rem);
  }

  body.ep-home .ep-hero-revista__copy .ep-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.ep-home .ep-hero-revista__copy .ep-btn {
    width: 100%;
  }

  body.ep-home .ep-hero-revista__cover img {
    aspect-ratio: 16 / 10;
    max-height: 300px;
    min-height: 0;
  }
}

/* Transição suave para seção seguinte */
body.ep-home .ep-hero-revista + .ep-section {
  margin-top: 0;
}

/* Neutraliza regras 18.A que encolhem hero/capa */
body.ep-home.ep-magazine-v22 .ep-hero-revista.ep-cover {
  min-height: clamp(520px, 76vh, 82vh);
}

body.ep-home.ep-magazine-v22 .ep-hero-revista .ep-cover__inner {
  padding-top: calc(var(--ep-home-header-offset) + clamp(0.65rem, 1.8vh, 1.1rem));
  padding-bottom: clamp(1rem, 2vh, 1.65rem);
}

body.ep-home.ep-magazine-v22 .ep-hero-revista .ep-title-hero {
  font-size: clamp(2.55rem, 5.4vw, 4.35rem);
}

body.ep-home.ep-magazine-v22 .ep-hero-revista .ep-home-cover-card {
  max-width: none;
  transform: none;
}

body.ep-home.ep-magazine-v22 .ep-hero-revista .ep-home-cover-card img {
  aspect-ratio: 4 / 4.85;
  max-height: min(52vh, 460px);
}

body.ep-home.ep-magazine-v22 .ep-hero-revista .ep-home-cover-card .ep-cover-card__body p {
  display: block;
}

@media (min-width: 861px) {
  body.ep-home.ep-magazine-v22 .ep-hero-revista.ep-cover {
    min-height: clamp(520px, 76vh, 82vh);
  }
}

@media (max-width: 860px) {
  body.ep-home.ep-magazine-v22 .ep-hero-revista.ep-cover {
    min-height: auto;
  }
}

/* ==========================================================================
   21. FASE 2.4 — Menu mobile/tablet premium + hero responsivo (home)
   ========================================================================== */

/* Header tools: hambúrguer + idiomas */
body.ep-home .ep-home-header__inner {
  position: relative;
}

body.ep-home .ep-home-header__tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex-shrink: 0;
}

body.ep-home .ep-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 115;
  border: 0;
  margin: 0;
  padding: 0;
  background: rgba(4, 31, 26, 0.46);
  cursor: pointer;
}

body.ep-home.nav-open .ep-nav-overlay,
body.ep-home.is-menu-open .ep-nav-overlay {
  display: block;
}

/* Desktop — preservar menu inline (≥1025px) */
@media (min-width: 1025px) {
  body.ep-home .ep-home-header__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
  }

  body.ep-home .nav-toggle {
    display: none;
  }

  body.ep-home .site-nav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    position: static;
    inset: auto;
    max-height: none;
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body.ep-home .ep-nav-overlay {
    display: none !important;
  }
}

/* Mobile + tablet — menu dropdown abaixo do header (≤1024px) */
@media (max-width: 1024px) {
  body.ep-home {
    --ep-home-nav-h: 52px;
  }

  body.ep-home .site-header.ep-home-header {
    position: sticky;
    top: 0;
    z-index: 130;
  }

  body.ep-home .ep-home-header__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.5rem;
    min-height: var(--ep-home-nav-h);
  }

  body.ep-home .brand {
    justify-self: start;
  }

  body.ep-home .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border: 1px solid rgba(212, 175, 55, 0.38);
    border-radius: var(--ep-radius);
    background: rgba(255, 248, 235, 0.1);
    color: #efe3cc;
    cursor: pointer;
  }

  body.ep-home .nav-toggle:focus-visible {
    outline: 2px solid var(--ep-gold);
    outline-offset: 2px;
  }

  body.ep-home .site-nav {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 16px;
    right: 16px;
    z-index: 125;
    flex-direction: column;
    align-items: stretch;
    gap: 0.15rem;
    max-height: calc(100vh - 120px);
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 0.45rem;
    border: 1px solid rgba(212, 175, 55, 0.42);
    border-radius: 12px;
    background: rgba(4, 31, 26, 0.97);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(10px);
    -webkit-overflow-scrolling: touch;
  }

  body.ep-home .site-nav.is-open {
    display: flex;
  }

  body.ep-home .site-nav a {
    display: block;
    white-space: normal;
    padding: 0.68rem 0.85rem;
    border-radius: 8px;
    font-size: 0.88rem;
    color: #efe3cc;
    text-decoration: none;
  }

  body.ep-home .site-nav a:hover,
  body.ep-home .site-nav a:focus-visible,
  body.ep-home .site-nav a.is-active {
    color: #fff8eb;
    background: rgba(212, 175, 55, 0.22);
    outline: none;
  }

  body.ep-home .site-nav a:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(212, 175, 55, 0.55);
  }

  body.ep-home.nav-open,
  body.ep-home.is-menu-open {
    overflow: hidden;
  }

  /* Hero — não competir com menu aberto */
  body.ep-home .ep-hero-revista.ep-cover {
    min-height: auto;
  }

  body.ep-home .ep-hero-revista__inner.ep-cover__inner {
    min-height: auto;
    padding-top: calc(var(--ep-home-header-offset) + 0.65rem);
    padding-bottom: 1.15rem;
  }

  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Tablet/iPad (768–1024) — hero equilibrado */
@media (min-width: 768px) and (max-width: 1024px) {
  body.ep-home .ep-hero-revista__inner.ep-cover__inner {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.82fr);
    gap: 1.15rem;
  }

  body.ep-home .ep-hero-revista__copy .ep-title-hero {
    font-size: clamp(2.15rem, 4.2vw, 3rem);
    max-width: none;
  }

  body.ep-home .ep-hero-revista__cover img {
    max-height: min(42vh, 360px);
    min-height: 220px;
  }

  body.ep-home .site-nav {
    left: auto;
    right: 16px;
    width: min(360px, calc(100% - 32px));
  }
}

/* Mobile médio (481–767) */
@media (min-width: 481px) and (max-width: 767px) {
  body.ep-home .ep-hero-revista__inner.ep-cover__inner {
    grid-template-columns: 1fr;
  }

  body.ep-home .ep-hero-revista__copy .ep-title-hero {
    font-size: clamp(2.25rem, 8vw, 3rem);
  }
}

/* Mobile pequeno (≤480) */
@media (max-width: 480px) {
  body.ep-home {
    --ep-home-topbar-h: 0px;
    --ep-home-header-offset: 52px;
  }

  body.ep-home .topbar {
    display: none;
  }

  body.ep-home .ep-home-header__inner {
    width: min(100% - 24px, var(--ep-max-width));
  }

  body.ep-home .site-nav {
    left: 12px;
    right: 12px;
  }

  body.ep-home .ep-hero-revista__inner.ep-cover__inner {
    grid-template-columns: 1fr;
    padding-top: calc(var(--ep-home-header-offset) + 0.5rem);
  }

  body.ep-home .ep-hero-revista__copy .ep-title-hero {
    font-size: clamp(2rem, 10vw, 2.65rem);
    line-height: 1.04;
  }

  body.ep-home .ep-hero-revista__copy .ep-lead {
    font-size: 0.92rem;
  }

  body.ep-home .ep-hero-revista__copy .ep-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.ep-home .ep-hero-revista__copy .ep-btn {
    width: 100%;
  }

  body.ep-home .ep-hero-revista__cover img {
    aspect-ratio: 16 / 10;
    max-height: 260px;
    min-height: 0;
  }

  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: 1fr;
  }
}

/* Mobile ≤767 — coluna única hero (reforço) */
@media (max-width: 767px) {
  body.ep-home .ep-hero-revista__inner.ep-cover__inner {
    grid-template-columns: 1fr;
  }

  body.ep-home.ep-magazine-v22 .ep-hero-revista.ep-cover {
    min-height: auto;
  }
}

/* ==========================================================================
   22. FASE 2.5 — Refino mobile/tablet home premium
   ========================================================================== */

/* Desktop — header com nova ordem DOM (marca | nav | idiomas) */
@media (min-width: 1025px) {
  body.ep-home .ep-home-header__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "brand nav lang";
    align-items: center;
    gap: 0.65rem;
  }

  body.ep-home .ep-home-header__brand {
    grid-area: brand;
  }

  body.ep-home .site-nav {
    grid-area: nav;
  }

  body.ep-home .ep-home-header__lang {
    grid-area: lang;
  }

  body.ep-home .ep-home-header__toggle {
    display: none;
  }
}

/* Cards de temas — imagem decorativa + texto legível abaixo */
body.ep-home .ep-home-topic--stacked {
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 0;
  overflow: hidden;
}

body.ep-home .ep-home-topic__visual {
  position: relative;
  overflow: hidden;
  line-height: 0;
  background: linear-gradient(145deg, var(--ep-cream), var(--ep-green-soft));
}

body.ep-home .ep-home-topic__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(6, 61, 49, 0.12));
  pointer-events: none;
}

body.ep-home .ep-home-topic__visual img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 168px;
  object-fit: cover;
  object-position: center 30%;
}

body.ep-home .ep-home-topic__body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.8rem 0.9rem 0.95rem;
  background: var(--ep-ivory);
}

body.ep-home .ep-home-topic__body .ep-card__text {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
}

body.ep-home .ep-home-topic__body .ep-card__title {
  font-size: 1.05rem;
}

body.ep-home.ep-magazine-v22 .ep-home-topic--stacked .ep-card__text {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="receitas"] .ep-home-topic__visual img {
  object-position: center 42%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="vinhos"] .ep-home-topic__visual img {
  object-position: center 35%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="doces"] .ep-home-topic__visual img {
  object-position: center 40%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="bacalhau"] .ep-home-topic__visual img {
  object-position: center 38%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="regioes"] .ep-home-topic__visual img {
  object-position: center 32%;
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="guia"] .ep-home-topic__visual img {
  object-position: center 36%;
}

/* Tablet 769–1024 */
@media (min-width: 769px) and (max-width: 1024px) {
  body.ep-home .ep-home-header__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "brand toggle lang";
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0;
  }

  body.ep-home .ep-home-header__brand {
    grid-area: brand;
    min-width: 0;
  }

  body.ep-home .ep-home-header__toggle {
    grid-area: toggle;
  }

  body.ep-home .ep-home-header__lang {
    grid-area: lang;
  }

  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.ep-home .ep-home-topic__visual img {
    max-height: 140px;
  }
}

/* Mobile ≤768 — header premium em duas linhas */
@media (max-width: 768px) {
  body.ep-home {
    --ep-home-header-offset: 86px;
  }

  body.ep-home .topbar {
    display: none;
  }

  body.ep-home .ep-home-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand toggle"
      "brand langs";
    align-items: center;
    column-gap: 0.5rem;
    row-gap: 0.3rem;
    width: min(100% - 20px, 1240px);
    margin-inline: auto;
    padding: 0.45rem 0;
    min-height: auto;
  }

  body.ep-home .ep-home-header__inner.header__inner {
    min-height: auto;
  }

  body.ep-home .ep-home-header__brand {
    grid-area: brand;
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 0.28rem 0.4rem;
    justify-self: start;
    align-self: center;
  }

  body.ep-home .ep-home-header__brand.brand {
    width: auto;
    min-width: 0;
  }

  body.ep-home .ep-home-header__brand .brand__logo {
    display: block;
    width: auto;
    max-width: min(210px, 58vw);
    height: auto;
    max-height: 38px;
    object-fit: contain;
    object-position: left center;
  }

  body.ep-home .ep-home-header__toggle {
    grid-area: toggle;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(212, 175, 55, 0.45);
    border-radius: var(--ep-radius);
    background: rgba(255, 248, 235, 0.12);
    color: #efe3cc;
    cursor: pointer;
  }

  body.ep-home .ep-home-header__toggle span {
    display: block;
    width: 18px;
    height: 2px;
    margin: 3px 0;
    border-radius: 1px;
    background-color: #efe3cc;
  }

  body.ep-home .ep-home-header__lang {
    grid-area: langs;
    justify-self: end;
    align-self: end;
    padding: 0.12rem;
    font-size: 0.62rem;
    border-radius: 999px;
  }

  body.ep-home .ep-home-header__lang a {
    padding: 0.22rem 0.38rem;
    font-size: 0.62rem;
  }

  body.ep-home .site-nav {
    top: calc(100% + 8px);
    left: 10px;
    right: 10px;
    text-align: center;
  }

  body.ep-home .site-nav a {
    text-align: center;
    justify-content: center;
  }

  /* Hero */
  body.ep-home .ep-hero-revista__copy .ep-title-hero {
    max-width: 14ch;
    font-size: clamp(2rem, 9.5vw, 2.75rem);
  }

  body.ep-home .ep-hero-revista__copy .ep-home-hero__tags {
    gap: 0.35rem;
  }

  body.ep-home .ep-hero-revista__copy .ep-home-hero__tags span {
    font-size: 0.68rem;
    padding: 0.28rem 0.55rem;
  }

  body.ep-home .ep-hero-revista__copy .ep-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.ep-home .ep-hero-revista__copy .ep-btn {
    width: 100%;
  }

  /* Cards — 2 colunas entre 481px e 768px; 1 coluna só ≤480 */
  body.ep-home .ep-home-topics.ep-grid--3 {
    gap: 0.65rem;
  }

  @media (min-width: 481px) {
    body.ep-home .ep-home-topics.ep-grid--3 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  body.ep-home .ep-home-topic__visual img {
    max-height: 128px;
    aspect-ratio: 16 / 8;
  }

  body.ep-home .ep-home-topic__body {
    padding: 0.7rem 0.8rem 0.85rem;
  }

  /* Comunidade */
  body.ep-home .ep-home-community.ep-split {
    gap: var(--ep-space-3);
  }

  body.ep-home .ep-home-community__intro .ep-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.ep-home .ep-home-community__intro .ep-btn {
    width: 100%;
  }

  body.ep-home .ep-home-recipe {
    padding: var(--ep-space-3);
  }

  /* Guia */
  body.ep-home .ep-home-guide-head {
    grid-template-columns: 1fr;
  }

  body.ep-home .ep-home-guide-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.ep-home .ep-home-guide-actions .ep-btn {
    width: 100%;
  }

  body.ep-home .ep-home-guide.ep-grid--2 {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }

  body.ep-home .ep-home-guide-card {
    min-height: auto;
    padding: var(--ep-space-3);
  }

  /* Newsletter */
  body.ep-home .ep-band-newsletter {
    padding-block: 0.85rem;
  }

  body.ep-home .ep-home-newsletter.ep-split {
    grid-template-columns: 1fr;
    gap: var(--ep-space-3);
  }

  body.ep-home .ep-home-newsletter .ep-form {
    padding: 0.65rem;
    gap: 0.45rem;
  }

  body.ep-home .ep-home-newsletter .ep-form input {
    min-height: 40px;
    padding: 0.45rem 0.55rem;
    font-size: 0.88rem;
  }

  body.ep-home .ep-home-newsletter .ep-form .check span {
    font-size: 0.74rem;
    line-height: 1.35;
  }

  body.ep-home .ep-home-newsletter .button,
  body.ep-home .ep-home-newsletter .ep-btn--primary {
    width: 100%;
    min-height: 42px;
  }

  /* Trust + footer */
  body.ep-home .ep-home-trust {
    padding-block: 0.65rem;
  }

  body.ep-home .ep-home-trust__notices {
    grid-template-columns: 1fr;
  }

  body.ep-home .ep-home-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--ep-space-2);
  }

  body.ep-home .ep-home-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }
}

/* Mobile pequeno ≤480 */
@media (max-width: 480px) {
  body.ep-home {
    --ep-home-header-offset: 82px;
  }

  body.ep-home .ep-home-header__brand .brand__logo {
    max-width: min(190px, 54vw);
    max-height: 34px;
  }

  body.ep-home .ep-home-header__toggle {
    width: 38px;
    height: 38px;
  }

  body.ep-home .ep-section--compact {
    padding-block: 0.85rem;
  }

  body.ep-home .ep-section-head {
    margin-bottom: var(--ep-space-3);
  }

  body.ep-home .ep-hero-revista__copy .ep-title-hero {
    max-width: none;
    font-size: clamp(1.85rem, 10vw, 2.35rem);
  }

  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: 1fr;
  }

  body.ep-home .ep-home-topic__visual img {
    max-height: 112px;
  }

  body.ep-home .ep-home-footer__grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   23. FASE 2.6 — Ajuste fino mobile/tablet (header, sticky, cards, compactação)
   ========================================================================== */

/* Mobile ≤768 — header compacto 1 linha + offset sticky correto */
@media (max-width: 768px) {
  body.ep-home {
    --ep-home-topbar-h: 0px;
    --ep-home-nav-h: 48px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
    scroll-padding-top: calc(var(--ep-home-header-offset) + 12px);
  }

  body.ep-home .site-header.ep-home-header {
    padding-top: env(safe-area-inset-top, 0px);
  }

  body.ep-home .ep-home-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand cluster";
    align-items: center;
    column-gap: 0.4rem;
    row-gap: 0;
    width: min(100% - 16px, 1240px);
    padding: 0.28rem 0;
    min-height: var(--ep-home-nav-h);
  }

  body.ep-home .ep-home-header__brand {
    grid-area: brand;
    padding: 0.15rem 0.25rem;
    align-self: center;
  }

  body.ep-home .ep-home-header__brand .brand__logo {
    max-width: min(168px, 48vw);
    max-height: 30px;
  }

  body.ep-home .ep-home-header__cluster {
    grid-area: cluster;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.32rem;
    flex-shrink: 0;
  }

  body.ep-home .ep-home-header__toggle {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border-color: rgba(212, 175, 55, 0.4);
    background: rgba(255, 248, 235, 0.1);
  }

  body.ep-home .ep-home-header__toggle span {
    width: 17px;
    margin: 2.5px 0;
  }

  body.ep-home .ep-home-header__lang {
    padding: 0.08rem;
    font-size: 0.58rem;
    border-color: rgba(212, 175, 55, 0.32);
  }

  body.ep-home .ep-home-header__lang a {
    padding: 0.18rem 0.32rem;
    font-size: 0.58rem;
  }

  /* Conteúdo não coberto pelo sticky */
  body.ep-home .ep-hero-revista__inner.ep-cover__inner,
  body.ep-home .ep-home-hero.ep-cover .ep-cover__inner {
    padding-top: calc(var(--ep-home-header-offset) + 0.55rem);
    padding-bottom: 0.95rem;
  }

  body.ep-home .ep-section[id] {
    scroll-margin-top: calc(var(--ep-home-header-offset) + 10px);
  }

  body.ep-home .ep-hero-revista + .ep-section {
    padding-top: 0.65rem;
  }

  /* Menu dropdown compacto */
  body.ep-home .site-nav {
    top: calc(100% + 6px);
    left: 8px;
    right: 8px;
    padding: 0.35rem;
    gap: 0.08rem;
    max-height: min(70vh, calc(100dvh - var(--ep-home-header-offset) - 24px));
  }

  body.ep-home .site-nav a {
    padding: 0.58rem 0.7rem;
    font-size: 0.84rem;
  }

  body.ep-home .ep-nav-overlay:not([hidden]) {
    inset: var(--ep-home-header-offset) 0 0 0;
  }

  /* Hero — respiro vertical menor */
  body.ep-home .ep-hero-revista__copy .ep-lead {
    margin-bottom: 0.65rem;
  }

  body.ep-home .ep-hero-revista__copy .ep-actions {
    margin-bottom: 0.55rem;
  }

  /* Cards temas — 1 coluna, imagem decorativa com crop editorial */
  body.ep-home.ep-magazine-v22 .ep-home-topics.ep-grid--3 {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }

  body.ep-home .ep-home-topic__visual {
    max-height: 200px;
    min-height: 160px;
  }

  body.ep-home .ep-home-topic__visual::after {
    background: linear-gradient(
      180deg,
      rgba(255, 248, 235, 0.04) 0%,
      rgba(6, 61, 49, 0.28) 48%,
      rgba(4, 31, 26, 0.78) 100%
    );
  }

  body.ep-home .ep-home-topic__visual img {
    width: 100%;
    height: 100%;
    min-height: 160px;
    max-height: 200px;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center 12%;
    transform: scale(1.14);
    transform-origin: center 20%;
  }

  body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="receitas"] .ep-home-topic__visual img {
    object-position: center 10%;
  }

  body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="vinhos"] .ep-home-topic__visual img {
    object-position: center 8%;
  }

  body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="doces"] .ep-home-topic__visual img {
    object-position: center 12%;
  }

  body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="bacalhau"] .ep-home-topic__visual img {
    object-position: center 10%;
  }

  body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="regioes"] .ep-home-topic__visual img {
    object-position: center 6%;
  }

  body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="guia"] .ep-home-topic__visual img {
    object-position: center 10%;
  }

  body.ep-home .ep-home-topic__body {
    padding: 0.62rem 0.72rem 0.78rem;
    gap: 0.28rem;
  }

  body.ep-home .ep-home-topic__body .ep-card__title {
    font-size: 1rem;
  }

  body.ep-home .ep-home-topic__body .ep-card__text {
    font-size: 0.82rem;
    line-height: 1.38;
  }

  /* Seções inferiores — compactação */
  body.ep-home .ep-section--compact {
    padding-block: 0.62rem;
  }

  body.ep-home .ep-section-head {
    margin-bottom: 0.55rem;
  }

  body.ep-home .ep-section-head .ep-lead {
    margin-top: 0.35rem;
  }

  body.ep-home .ep-home-community.ep-split {
    gap: 0.65rem;
  }

  body.ep-home .ep-home-community-art {
    max-width: 220px;
    margin-inline: auto;
  }

  body.ep-home .ep-home-recipe {
    padding: 0.65rem;
  }

  body.ep-home .ep-home-recipe--empty {
    padding: 0.75rem;
  }

  body.ep-home .ep-home-guide-head {
    gap: 0.45rem;
  }

  body.ep-home .ep-home-guide.ep-grid--2 {
    gap: 0.45rem;
  }

  body.ep-home .ep-home-guide-card {
    padding: 0.65rem;
  }

  body.ep-home .ep-band-newsletter {
    padding-block: 0.65rem;
  }

  body.ep-home .ep-home-newsletter.ep-split {
    gap: 0.55rem;
  }

  body.ep-home .ep-home-newsletter .ep-form {
    padding: 0.55rem;
    gap: 0.38rem;
  }

  body.ep-home .ep-home-trust {
    padding-block: 0.5rem;
  }

  body.ep-home .ep-home-trust__tags {
    gap: 0.28rem;
    margin-bottom: 0.45rem;
  }

  body.ep-home .ep-home-trust__tags span {
    font-size: 0.62rem;
    padding: 0.22rem 0.42rem;
  }

  body.ep-home .ep-home-trust__notices {
    gap: 0.45rem;
  }

  body.ep-home .ep-home-trust .ep-notice {
    padding: 0.55rem 0.65rem;
  }

  body.ep-home .ep-home-footer {
    padding-block: 0.85rem 0.65rem;
  }

  body.ep-home .ep-home-footer__grid {
    gap: 0.55rem;
  }

  body.ep-home .ep-home-footer__bottom {
    padding-top: 0.45rem;
    font-size: 0.72rem;
  }
}

/* Mobile pequeno ≤480 — refinamento iPhone */
@media (max-width: 480px) {
  body.ep-home {
    --ep-home-nav-h: 46px;
  }

  body.ep-home .ep-home-header__brand .brand__logo {
    max-width: min(156px, 46vw);
    max-height: 28px;
  }

  body.ep-home .ep-home-header__lang a {
    padding: 0.16rem 0.28rem;
  }

  body.ep-home .ep-home-topic__visual {
    min-height: 168px;
    max-height: 188px;
  }

  body.ep-home .ep-home-topic__visual img {
    min-height: 168px;
    max-height: 188px;
  }
}

/* Tablet 769–1024 — alinhamento estável, sem quebrar desktop */
@media (min-width: 769px) and (max-width: 1024px) {
  body.ep-home {
    --ep-home-topbar-h: 24px;
    --ep-home-nav-h: 50px;
    --ep-home-header-offset: calc(var(--ep-home-topbar-h) + var(--ep-home-nav-h));
  }

  body.ep-home .ep-home-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand cluster";
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0;
    min-height: var(--ep-home-nav-h);
  }

  body.ep-home .ep-home-header__cluster {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    grid-area: cluster;
  }

  body.ep-home .ep-home-header__brand .brand__logo {
    max-height: 32px;
  }

  body.ep-home .ep-home-header__toggle {
    width: 44px;
    height: 44px;
  }

  body.ep-home .ep-hero-revista__inner.ep-cover__inner {
    padding-top: calc(var(--ep-home-header-offset) + 0.6rem);
  }

  body.ep-home .ep-section[id] {
    scroll-margin-top: calc(var(--ep-home-header-offset) + 12px);
  }

  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
  }

  body.ep-home .ep-home-topic__visual img {
    max-height: 150px;
    min-height: 130px;
    object-position: center 14%;
    transform: scale(1.08);
  }

  body.ep-home .ep-section--compact {
    padding-block: 0.75rem;
  }
}

/* Desktop ≥1025 — preservar layout com cluster (idiomas à direita) */
@media (min-width: 1025px) {
  body.ep-home .ep-home-header__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "brand nav cluster";
    align-items: center;
    gap: 0.65rem;
  }

  body.ep-home .ep-home-header__brand {
    grid-area: brand;
  }

  body.ep-home .site-nav {
    grid-area: nav;
  }

  body.ep-home .ep-home-header__cluster {
    grid-area: cluster;
    display: flex;
    align-items: center;
    gap: 0.45rem;
  }

  body.ep-home .ep-home-header__toggle {
    display: none;
  }
}

/* ==========================================================================
   24. FASE 2.8 — Internas premium unificadas + overflow comunidade
   ========================================================================== */

body.ep-inner-public.ep-scope {
  --ep-home-topbar-h: 24px;
  --ep-home-nav-h: 52px;
  --ep-home-header-offset: calc(var(--ep-home-topbar-h) + var(--ep-home-nav-h));
  --ep-inner-header-offset: var(--ep-home-header-offset);
  scroll-padding-top: var(--ep-home-header-offset);
}

body.ep-inner-public.ep-scope .ep-home-header__inner {
  position: relative;
}

body.ep-inner-public.ep-scope .ep-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 115;
  border: 0;
  margin: 0;
  padding: 0;
  background: rgba(4, 31, 26, 0.46);
  cursor: pointer;
}

body.ep-inner-public.ep-scope.nav-open .ep-nav-overlay,
body.ep-inner-public.ep-scope.is-menu-open .ep-nav-overlay {
  display: block;
}

body.ep-inner-public.ep-scope .page-hero,
body.ep-inner-public.ep-scope main#conteudo > .section[id] {
  scroll-margin-top: calc(var(--ep-home-header-offset) + 10px);
}

body.community-page.ep-inner-public .page-hero__grid img {
  display: block;
  max-width: min(300px, 44vw);
  border-radius: 10px;
  justify-self: end;
}

@media (min-width: 861px) {
  body.community-page.ep-inner-public .page-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 0.75fr);
    gap: 1rem;
    max-width: none;
    align-items: center;
  }
}

/* Desktop internas — header igual home */
@media (min-width: 1025px) {
  body.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "brand nav cluster";
    align-items: center;
    gap: 0.65rem;
  }

  body.ep-inner-public.ep-scope .ep-home-header__brand {
    grid-area: brand;
  }

  body.ep-inner-public.ep-scope .site-nav {
    grid-area: nav;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    position: static;
    inset: auto;
    max-height: none;
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body.ep-inner-public.ep-scope .ep-home-header__cluster {
    grid-area: cluster;
    display: flex;
    align-items: center;
    gap: 0.45rem;
  }

  body.ep-inner-public.ep-scope .ep-home-header__toggle {
    display: none;
  }

  body.ep-inner-public.ep-scope .ep-nav-overlay {
    display: none;
  }
}

/* Mobile/tablet internas — menu dropdown + header compacto */
@media (max-width: 1024px) {
  body.ep-inner-public.ep-scope {
    --ep-home-nav-h: 52px;
  }

  body.ep-inner-public.ep-scope .site-header.ep-home-header {
    position: sticky;
    top: 0;
    z-index: 130;
  }

  body.ep-inner-public.ep-scope .site-nav {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 16px;
    right: 16px;
    z-index: 125;
    flex-direction: column;
    align-items: stretch;
    gap: 0.15rem;
    max-height: calc(100vh - 120px);
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 0.45rem;
    border: 1px solid rgba(212, 175, 55, 0.42);
    border-radius: 12px;
    background: rgba(4, 31, 26, 0.97);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
  }

  body.ep-inner-public.ep-scope .site-nav.is-open {
    display: flex;
  }

  body.ep-inner-public.ep-scope .site-nav a {
    display: block;
    white-space: normal;
    padding: 0.68rem 0.85rem;
    border-radius: 8px;
    font-size: 0.88rem;
    color: #efe3cc;
    text-decoration: none;
    text-align: center;
  }

  body.ep-inner-public.ep-scope.nav-open,
  body.ep-inner-public.ep-scope.is-menu-open {
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  body.ep-inner-public.ep-scope {
    --ep-home-topbar-h: 0px;
    --ep-home-nav-h: 48px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
  }

  body.ep-inner-public.ep-scope .topbar {
    display: none;
  }

  body.ep-inner-public.ep-scope .site-header.ep-home-header {
    padding-top: env(safe-area-inset-top, 0px);
  }

  body.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand cluster";
    align-items: center;
    column-gap: 0.4rem;
    row-gap: 0;
    width: min(100% - 16px, 1240px);
    padding: 0.28rem 0;
    min-height: var(--ep-home-nav-h);
  }

  body.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-width: min(168px, 48vw);
    max-height: 30px;
    object-fit: contain;
  }

  body.ep-inner-public.ep-scope .ep-home-header__cluster {
    grid-area: cluster;
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
  }

  body.ep-inner-public.ep-scope .ep-home-header__toggle {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: var(--ep-radius);
    background: rgba(255, 248, 235, 0.1);
    padding: 0;
  }

  body.ep-inner-public.ep-scope .ep-home-header__toggle span {
    display: block;
    width: 17px;
    height: 2px;
    margin: 2.5px 0;
    background-color: #efe3cc;
    border-radius: 1px;
  }

  body.ep-inner-public.ep-scope .ep-home-header__lang {
    padding: 0.08rem;
    font-size: 0.58rem;
  }

  body.ep-inner-public.ep-scope .ep-home-header__lang a {
    padding: 0.18rem 0.32rem;
    font-size: 0.58rem;
  }

  body.ep-inner-public.ep-scope .site-nav {
    top: calc(100% + 6px);
    left: 8px;
    right: 8px;
    padding: 0.35rem;
  }

  body.ep-inner-public.ep-scope .ep-nav-overlay:not([hidden]) {
    inset: var(--ep-home-header-offset) 0 0 0;
  }

  body.ep-inner-public.ep-scope .site-footer .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
  }
}

@media (max-width: 480px) {
  body.ep-inner-public.ep-scope .site-footer .footer__grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  body.ep-inner-public.ep-scope .ep-home-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand cluster";
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0;
  }

  body.ep-inner-public.ep-scope .ep-home-header__cluster {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    grid-area: cluster;
  }
}

/* Overflow estrutural — comunidade e internas */
body.ep-inner-public.ep-scope .section__inner,
body.ep-inner-public.ep-scope .footer__inner,
body.ep-inner-public.ep-scope .page-hero__inner {
  min-width: 0;
  max-width: 100%;
}

body.community-page .community-live-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.75rem;
}

body.community-page .community-live-head > div {
  min-width: 0;
}

body.community-page .community-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  max-width: 100%;
}

body.community-page .filter-chip {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
}

body.community-page .community-recipe-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: 0.65rem;
}

body.community-page .community-recipe-card,
body.community-page .community-card-meta,
body.community-page .community-card-meta span {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

body.community-page .community-compact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 0.65rem;
}

body.community-page .community-rule {
  min-width: 0;
}

body.community-page .social-callout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
}

@media (max-width: 900px) {
  body.community-page .community-live-head,
  body.community-page .social-callout {
    grid-template-columns: 1fr;
  }

  body.community-page .community-live-head .button,
  body.community-page .social-callout .button {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  body.community-page .pillar-card-grid,
  body.ep-inner-public.ep-scope .pillar-card-grid,
  body.ep-inner-public.ep-scope .link-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  }
}

body.ep-inner-public.ep-scope img,
body.ep-inner-public.ep-scope svg,
body.ep-inner-public.ep-scope video {
  max-width: 100%;
  height: auto;
}

body.ep-inner-public.ep-scope .lead-form,
body.ep-inner-public.ep-scope form[data-secure-form] {
  max-width: 100%;
  min-width: 0;
}

body.ep-inner-public.ep-scope .lead-form input,
body.ep-inner-public.ep-scope .lead-form textarea,
body.ep-inner-public.ep-scope form[data-secure-form] input,
body.ep-inner-public.ep-scope form[data-secure-form] textarea {
  max-width: 100%;
  min-width: 0;
}

/* Proteção final — sem scroll horizontal */
@media (max-width: 1366px) {
  body.ep-inner-public.ep-scope {
    overflow-x: clip;
  }
}

/* ==========================================================================
   25. FASE 3.3 — Premium global, overflow estrutural, internas editoriais
   ========================================================================== */

/* --- Base global: nenhum filho estoura 100vw --- */
body.ep-home.ep-scope,
body.ep-inner-public.ep-scope {
  max-width: 100%;
  overflow-x: clip;
}

body.ep-home.ep-scope *,
body.ep-inner-public.ep-scope * {
  box-sizing: border-box;
}

body.ep-home .ep-container,
body.ep-home .ep-cover__inner,
body.ep-home .ep-hero-revista__inner,
body.ep-home .ep-section,
body.ep-home .ep-split,
body.ep-home .ep-home-footer__grid,
body.ep-inner-public .page-hero,
body.ep-inner-public .page-hero__inner,
body.ep-inner-public .page-hero__grid,
body.ep-inner-public .pillar-hero__grid,
body.ep-inner-public .guide-hero__grid,
body.ep-inner-public .section,
body.ep-inner-public .section__inner,
body.ep-inner-public .split,
body.ep-inner-public .footer__inner,
body.ep-inner-public .footer__grid,
body.community-page .community-live-section,
body.community-page .community-live-head,
body.community-page .community-recipe-list {
  max-width: 100%;
  min-width: 0;
}

body.ep-home img,
body.ep-inner-public img,
body.ep-home svg,
body.ep-inner-public svg,
body.ep-home video,
body.ep-inner-public video,
body.ep-home table,
body.ep-inner-public table,
body.ep-home pre,
body.ep-inner-public pre {
  max-width: 100%;
}

/* --- Home @1024 landscape — overflow +26px (Fase 3.2) --- */
@media (min-width: 769px) and (max-width: 1024px) {
  body.ep-home.ep-scope {
    overflow-x: clip;
  }

  body.ep-home .ep-container {
    padding-inline: clamp(0.65rem, 2.5vw, 1.15rem);
  }

  body.ep-home .ep-hero-revista__inner,
  body.ep-home .ep-magazine-hero .ep-cover__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(0.5rem, 2vw, 0.85rem);
    align-items: start;
  }

  body.ep-home .ep-home-cover-card,
  body.ep-home .ep-cover-card {
    min-width: 0;
    max-width: 100%;
  }

  body.ep-home .ep-home-cover-card img,
  body.ep-home .ep-cover-card img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }

  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  body.ep-home .ep-home-community.ep-split,
  body.ep-home .ep-home-newsletter.ep-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  body.ep-home .topbar__inner {
    flex-wrap: wrap;
    gap: 0.25rem;
    max-width: 100%;
  }
}

/* --- Cards home: imagem limpa, texto só em HTML --- */
body.ep-home .ep-home-topic__visual {
  aspect-ratio: 3 / 2;
  background: linear-gradient(145deg, var(--ep-green-deep), var(--ep-wine-deep));
}

body.ep-home .ep-home-topic__visual::after {
  background: linear-gradient(
    to top,
    rgba(6, 61, 49, 0.92) 0%,
    rgba(6, 61, 49, 0.35) 45%,
    rgba(111, 29, 47, 0.15) 100%
  );
  opacity: 1;
}

body.ep-home .ep-home-topic__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  transform: scale(1.08);
  filter: saturate(1.05) contrast(1.02);
}

body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="receitas"] .ep-home-topic__visual img,
body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="vinhos"] .ep-home-topic__visual img,
body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="doces"] .ep-home-topic__visual img,
body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="bacalhau"] .ep-home-topic__visual img,
body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="regioes"] .ep-home-topic__visual img,
body.ep-home.ep-magazine-v22 .ep-home-topic[data-theme="guia"] .ep-home-topic__visual img {
  object-position: center 40%;
  transform: scale(1.12);
}

/* --- Internas: hero editorial premium --- */
body.ep-inner-public.ep-scope .page-hero,
body.ep-inner-public.ep-scope .page-hero--compact,
body.ep-inner-public.ep-scope .pillar-hero,
body.ep-inner-public.ep-scope .commercial-hero {
  background: linear-gradient(135deg, var(--ep-green-deep) 0%, #0a2820 42%, var(--ep-wine-deep) 100%);
  color: var(--ep-parchment);
  padding: clamp(1rem, 2.5vw, 1.75rem) 0;
  border-bottom: 1px solid var(--ep-line-gold);
}

body.ep-inner-public.ep-scope .page-hero .breadcrumb,
body.ep-inner-public.ep-scope .page-hero .breadcrumb a {
  color: rgba(247, 239, 226, 0.72);
  font-size: var(--ep-font-size-xs);
  letter-spacing: 0.04em;
}

body.ep-inner-public.ep-scope .page-hero .eyebrow,
body.ep-inner-public.ep-scope .pillar-hero .eyebrow,
body.ep-inner-public.ep-scope .guide-hero .eyebrow {
  color: var(--ep-gold);
  font-size: var(--ep-font-size-xs);
  letter-spacing: var(--ep-letter-eyebrow);
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

body.ep-inner-public.ep-scope .page-hero h1,
body.ep-inner-public.ep-scope .pillar-hero h1,
body.ep-inner-public.ep-scope .guide-hero h1 {
  font-family: var(--ep-font-display);
  font-size: clamp(1.35rem, 3.2vw, 2.1rem);
  line-height: var(--ep-line-height-tight);
  color: var(--ep-ivory);
  margin: 0 0 0.5rem;
  max-width: 22ch;
}

body.ep-inner-public.ep-scope .page-hero__grid > div > p,
body.ep-inner-public.ep-scope .pillar-hero__grid > div > p,
body.ep-inner-public.ep-scope .guide-hero__grid > div > p {
  color: rgba(247, 239, 226, 0.88);
  font-size: var(--ep-font-size-sm);
  line-height: 1.55;
  max-width: 42ch;
}

body.ep-inner-public.ep-scope .page-hero__grid,
body.ep-inner-public.ep-scope .pillar-hero__grid,
body.ep-inner-public.ep-scope .guide-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, min(42%, 320px));
  gap: clamp(0.75rem, 2vw, 1.25rem);
  align-items: center;
}

body.ep-inner-public.ep-scope .page-hero__grid > img,
body.ep-inner-public.ep-scope .pillar-figure img,
body.ep-inner-public.ep-scope .guide-figure img {
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  border-radius: var(--ep-radius);
  border: 1px solid var(--ep-line-gold);
  box-shadow: var(--ep-shadow-soft);
}

body.ep-inner-public.ep-scope .page-hero__grid > img[src*=".svg"],
body.ep-inner-public.ep-scope .pillar-figure img[src*=".svg"] {
  object-fit: contain;
  background: rgba(255, 250, 240, 0.06);
  padding: 0.5rem;
  max-height: 180px;
}

@media (max-width: 768px) {
  body.ep-inner-public.ep-scope .page-hero__grid,
  body.ep-inner-public.ep-scope .pillar-hero__grid,
  body.ep-inner-public.ep-scope .guide-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-inner-public.ep-scope .page-hero h1,
  body.ep-inner-public.ep-scope .pillar-hero h1 {
    max-width: none;
  }
}

/* --- Conteúdo interno: largura confortável --- */
body.ep-inner-public.ep-scope main#conteudo > .section,
body.ep-inner-public.ep-scope main#conteudo > section.section {
  max-width: min(1120px, 100%);
  margin-inline: auto;
  padding-inline: clamp(0.75rem, 3vw, 1.5rem);
}

body.ep-inner-public.ep-scope .prose,
body.ep-inner-public.ep-scope .editorial-prose {
  max-width: 68ch;
  font-size: var(--ep-font-size-base);
  line-height: var(--ep-line-height-body);
}

body.ep-inner-public.ep-scope .link-grid,
body.ep-inner-public.ep-scope .pillar-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 0.75rem;
}

body.ep-inner-public.ep-scope .link-card,
body.ep-inner-public.ep-scope .pillar-card {
  border: 1px solid var(--ep-line);
  border-radius: var(--ep-radius);
  padding: 0.85rem 1rem;
  background: var(--ep-surface);
  min-width: 0;
}

/* --- Comunidade: overflow @1024 reforço (Fase 3.2 +59px) --- */
body.community-page.ep-inner-public.ep-scope,
body.community-page.ep-inner-public {
  overflow-x: clip;
}

body.community-page .community-live-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.75rem;
  max-width: 100%;
}

body.community-page .community-live-head .button,
body.community-page .community-live-head .hero__actions {
  flex-wrap: wrap;
  max-width: 100%;
}

body.community-page .community-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  max-width: 100%;
}

body.community-page .filter-chip {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}

body.community-page .community-recipe-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: 0.65rem;
  width: 100%;
}

body.community-page .community-recipe-card {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 1024px) {
  body.community-page .community-live-head {
    grid-template-columns: minmax(0, 1fr);
  }

  body.community-page .community-live-head .button {
    width: auto;
    max-width: 100%;
  }

  body.community-page .page-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* --- Formulários: skin premium (lógica intacta) --- */
body.ep-inner-public.ep-scope form[data-secure-form],
body.ep-inner-public.ep-scope .lead-form,
body.ep-home.ep-scope form[data-secure-form] {
  display: grid;
  gap: 0.65rem;
  max-width: min(520px, 100%);
  min-width: 0;
  padding: clamp(0.85rem, 2vw, 1.15rem);
  background: rgba(255, 250, 240, 0.94);
  border: 1px solid var(--ep-line);
  border-radius: var(--ep-radius);
}

body.ep-inner-public.ep-scope form[data-secure-form] input,
body.ep-inner-public.ep-scope form[data-secure-form] textarea,
body.ep-inner-public.ep-scope form[data-secure-form] select,
body.ep-inner-public.ep-scope .lead-form input,
body.ep-inner-public.ep-scope .lead-form textarea,
body.ep-inner-public.ep-scope .lead-form select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--ep-line);
  border-radius: calc(var(--ep-radius) - 2px);
  font-size: max(16px, var(--ep-font-size-sm));
}

body.ep-inner-public.ep-scope form[data-secure-form] textarea {
  min-height: 120px;
  resize: vertical;
}

body.ep-inner-public.ep-scope form[data-secure-form] .button,
body.ep-inner-public.ep-scope .lead-form .button {
  min-height: 44px;
  padding: 0.65rem 1rem;
  font-size: var(--ep-font-size-sm);
  cursor: pointer;
}

body.ep-inner-public.ep-scope .split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 1.75rem);
  align-items: start;
  max-width: 100%;
}

@media (max-width: 768px) {
  body.ep-inner-public.ep-scope .split {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-inner-public.ep-scope form[data-secure-form],
  body.ep-inner-public.ep-scope .lead-form {
    max-width: 100%;
  }
}

/* --- Mobile 390/430: header, hero, footer --- */
@media (max-width: 430px) {
  body.ep-home.ep-scope .ep-title-hero {
    font-size: clamp(1.65rem, 7vw, 2rem);
  }

  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-home .ep-home-topic__visual {
    aspect-ratio: 16 / 10;
  }

  body.ep-inner-public.ep-scope .site-footer .footer__grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  body.ep-home.ep-scope .ep-home-newsletter .ep-form {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* --- Tablet 768: grids 2 col --- */
@media (min-width: 431px) and (max-width: 768px) {
  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- Desktop grande 1920 --- */
@media (min-width: 1920px) {
  body.ep-home .ep-container,
  body.ep-inner-public .page-hero__inner,
  body.ep-inner-public .footer__inner {
    max-width: min(1400px, 100%);
    margin-inline: auto;
  }
}

/* --- App-ready: touch targets, no hover-only --- */
body.ep-home.ep-scope .ep-btn,
body.ep-home.ep-scope .nav-toggle,
body.ep-home.ep-scope .button,
body.ep-inner-public.ep-scope .button,
body.ep-inner-public.ep-scope .nav-toggle,
body.ep-inner-public.ep-scope form[data-secure-form] .button,
body.ep-inner-public.ep-scope form[data-secure-form] button[type="submit"] {
  min-height: 44px;
}

/* --- Proteção overflow global até 1920 --- */
@media (max-width: 1920px) {
  html:has(body.ep-home),
  html:has(body.ep-inner-public) {
    overflow-x: clip;
  }

  body.ep-home.ep-scope,
  body.ep-inner-public.ep-scope {
    overflow-x: clip;
  }
}

/* ==========================================================================
   26. FASE 3.4 — Refino mobile premium + imagens editoriais limpas
   ========================================================================== */

/* --- Header mobile 390/430: logo, menu, idiomas --- */
@media (max-width: 430px) {
  body.ep-home.ep-scope,
  body.ep-inner-public.ep-scope {
    --ep-home-nav-h: 48px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
  }

  html:has(body.ep-home),
  html:has(body.ep-inner-public) {
    scroll-padding-top: calc(var(--ep-home-header-offset) + 10px);
  }

  body.ep-home .ep-home-header__inner,
  body.ep-inner-public.ep-scope .ep-home-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 0.35rem;
    padding-inline: max(0.5rem, env(safe-area-inset-left, 0px));
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body.ep-home .ep-home-header__brand,
  body.ep-inner-public.ep-scope .ep-home-header__brand {
    min-width: 0;
    overflow: hidden;
  }

  body.ep-home .ep-home-header__brand .brand__logo,
  body.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-width: min(152px, 42vw);
    max-height: 28px;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: left center;
  }

  body.ep-home .ep-home-header__cluster,
  body.ep-inner-public.ep-scope .ep-home-header__cluster {
    flex-shrink: 0;
    gap: 0.28rem;
  }

  body.ep-home .ep-home-header__lang,
  body.ep-inner-public.ep-scope .ep-home-header__lang {
    display: inline-flex;
    flex-shrink: 0;
    gap: 0.15rem;
    max-width: none;
  }

  body.ep-home .ep-home-header__lang a,
  body.ep-inner-public.ep-scope .ep-home-header__lang a {
    min-width: 26px;
    padding: 0.18rem 0.32rem;
    font-size: 0.62rem;
    line-height: 1.2;
    letter-spacing: 0.02em;
  }

  body.ep-home .site-nav.is-open,
  body.ep-inner-public.ep-scope .site-nav.is-open {
    left: 10px;
    right: 10px;
    max-height: min(68vh, 400px);
    overflow-x: clip;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.ep-home.nav-open,
  body.ep-home.is-menu-open,
  body.ep-inner-public.ep-scope.nav-open,
  body.ep-inner-public.ep-scope.is-menu-open {
    overflow-x: clip;
  }
}

/* --- Hero home: capa editorial mobile --- */
@media (max-width: 430px) {
  body.ep-home .ep-hero-revista__inner,
  body.ep-home .ep-magazine-hero .ep-cover__inner {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
  }

  body.ep-home .ep-hero-revista__copy {
    order: 1;
    min-width: 0;
  }

  body.ep-home .ep-hero-revista__cover,
  body.ep-home .ep-home-cover-card {
    order: 2;
    min-width: 0;
    max-width: 100%;
    max-height: min(56vw, 240px);
    overflow: hidden;
    border-radius: var(--ep-radius);
  }

  body.ep-home .ep-hero-revista__cover img,
  body.ep-home .ep-home-cover-card img {
    width: 100%;
    height: 100%;
    min-height: 160px;
    max-height: 240px;
    object-fit: cover;
    object-position: center 38%;
  }

  body.ep-home .ep-title-hero {
    font-size: clamp(1.55rem, 7vw, 1.95rem);
    line-height: 1.1;
    max-width: 16ch;
  }

  body.ep-home .ep-lead {
    font-size: max(0.92rem, var(--ep-font-size-sm));
    max-width: 36ch;
    line-height: 1.45;
  }

  body.ep-home .ep-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
  }

  body.ep-home .ep-cover,
  body.ep-home .ep-home-hero {
    padding-top: calc(var(--ep-home-header-offset) + 0.5rem);
    padding-bottom: 0.75rem;
  }
}

@media (min-width: 431px) and (max-width: 768px) {
  body.ep-home .ep-hero-revista__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  body.ep-home .ep-hero-revista__cover {
    max-height: 280px;
  }
}

@media (min-width: 1367px) {
  body.ep-home .ep-hero-revista__inner {
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: center;
  }

  body.ep-home .ep-cover {
    padding-block: clamp(1rem, 2vh, 1.75rem);
  }
}

/* --- Cards tema: imagem limpa, texto só em HTML --- */
body.ep-home .ep-home-topic__visual {
  position: relative;
  max-height: 210px;
  overflow: hidden;
  isolation: isolate;
}

body.ep-home .ep-home-topic__visual img {
  width: 100%;
  height: 100%;
  min-height: 140px;
  object-fit: cover;
  object-position: center center;
  transform: none;
  filter: saturate(1.06) contrast(1.02) brightness(0.92);
}

body.ep-home .ep-home-topic__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(6, 61, 49, 0.94) 0%,
    rgba(6, 61, 49, 0.35) 42%,
    rgba(111, 29, 47, 0.12) 100%
  );
  pointer-events: none;
}

body.ep-home .ep-home-topic__body {
  position: relative;
  z-index: 2;
}

body.ep-home .ep-home-topic .ep-card__title {
  font-size: clamp(1rem, 2.5vw, 1.15rem);
  line-height: 1.25;
}

body.ep-home .ep-home-topic .ep-card__text {
  font-size: var(--ep-font-size-sm);
  line-height: 1.45;
  max-width: 38ch;
}

@media (max-width: 430px) {
  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.7rem;
  }

  body.ep-home .ep-home-topic {
    max-width: 100%;
  }

  body.ep-home .ep-home-topic__visual {
    aspect-ratio: 16 / 10;
    max-height: none;
  }
}

@media (min-width: 431px) and (max-width: 768px) {
  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
}

@media (min-width: 769px) {
  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* --- Comunidade: overflow @1024 definitivo --- */
@media (min-width: 769px) and (max-width: 1024px) {
  body.community-page.ep-inner-public.ep-scope {
    overflow-x: clip;
    max-width: 100vw;
  }

  body.community-page .page-hero__inner,
  body.community-page .section__inner,
  body.community-page .community-live-section {
    max-width: 100%;
    min-width: 0;
    padding-inline: clamp(0.55rem, 2vw, 0.9rem);
    overflow-x: clip;
  }

  body.community-page .page-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
  }

  body.community-page .page-hero__grid > img {
    max-height: 200px;
    width: 100%;
  }

  body.community-page .community-live-head {
    grid-template-columns: minmax(0, 1fr);
  }

  body.community-page .community-live-head .button {
    justify-self: start;
    max-width: 100%;
    white-space: normal;
  }

  body.community-page .community-filters {
    flex-wrap: wrap;
    max-width: 100%;
    overflow-x: clip;
    gap: 0.35rem;
  }

  body.community-page .filter-chip {
    font-size: 0.78rem;
    padding: 0.35rem 0.55rem;
  }

  body.community-page .community-recipe-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  body.community-page .hero__actions {
    flex-wrap: wrap;
    max-width: 100%;
  }
}

/* --- Internas: hero compacto + hierarquia --- */
body.ep-inner-public.ep-scope .page-hero h1,
body.ep-inner-public.ep-scope .pillar-hero h1 {
  font-size: clamp(1.35rem, 3.2vw, 2rem);
  line-height: 1.15;
  max-width: 24ch;
}

body.ep-inner-public.ep-scope .page-hero .eyebrow,
body.ep-inner-public.ep-scope .pillar-hero .eyebrow {
  font-size: var(--ep-font-size-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.ep-inner-public.ep-scope .link-card strong,
body.ep-inner-public.ep-scope .pillar-card h3 {
  font-size: 1rem;
  line-height: 1.3;
}

@media (max-width: 430px) {
  body.ep-inner-public.ep-scope .page-hero,
  body.ep-inner-public.ep-scope .page-hero--compact {
    padding: 0.75rem 0 0.95rem;
  }

  body.ep-inner-public.ep-scope main#conteudo {
    padding-top: 0;
  }

  body.ep-inner-public.ep-scope .page-hero__grid > img {
    max-height: 160px;
    order: 2;
  }

  body.ep-inner-public.ep-scope .page-hero__grid > div:first-child {
    order: 1;
  }

  body.ep-inner-public.ep-scope .link-grid,
  body.ep-inner-public.ep-scope .pillar-card-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.55rem;
  }
}

/* --- Footer mobile refinado --- */
@media (max-width: 430px) {
  body.ep-home .site-footer .footer__grid,
  body.ep-inner-public.ep-scope .site-footer .footer__grid {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  body.ep-home .footer__links,
  body.ep-inner-public.ep-scope .footer__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.3rem 0.5rem;
    font-size: 0.8rem;
    line-height: 1.35;
  }

  body.ep-home .footer__bottom,
  body.ep-inner-public.ep-scope .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    font-size: 0.75rem;
    line-height: 1.4;
  }

  body.ep-home .site-footer,
  body.ep-inner-public.ep-scope .site-footer {
    padding-block: 1.25rem 1rem;
  }
}

@media (min-width: 431px) and (max-width: 768px) {
  body.ep-home .site-footer .footer__grid,
  body.ep-inner-public.ep-scope .site-footer .footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

/* --- Idiomas @1024 (home) --- */
@media (min-width: 769px) and (max-width: 1024px) {
  body.ep-home .ep-home-header__inner {
    min-width: 0;
    gap: 0.5rem;
  }

  body.ep-home .ep-home-header__lang {
    flex-shrink: 0;
  }

  body.ep-home .ep-home-header__lang a {
    padding: 0.22rem 0.42rem;
    font-size: 0.7rem;
  }

  body.ep-home .ep-home-header__brand .brand__logo {
    max-width: min(200px, 28vw);
  }
}

/* --- Formulários: touch e legibilidade mobile --- */
@media (max-width: 430px) {
  body.ep-inner-public.ep-scope form[data-secure-form],
  body.ep-inner-public.ep-scope .lead-form,
  body.ep-home.ep-scope form[data-secure-form] {
    width: 100%;
    max-width: 100%;
    padding: 0.7rem;
    margin-inline: 0;
  }

  body.ep-inner-public.ep-scope form[data-secure-form] label,
  body.ep-inner-public.ep-scope .lead-form label {
    font-size: max(0.88rem, var(--ep-font-size-sm));
  }
}

/* --- Tipografia mínima legível --- */
body.ep-home.ep-scope,
body.ep-inner-public.ep-scope {
  font-size: max(15px, var(--ep-font-size-base));
}

body.ep-home .footer__small,
body.ep-inner-public .footer__small {
  font-size: max(0.75rem, 11px);
}

/* ==========================================================================
   27. FASE 3.5 — Correção premium global (internas, forms, produtos, overflow)
   ========================================================================== */

/* Guard global anti-overflow */
html:has(body.ep-inner-public),
html:has(body.ep-home) {
  overflow-x: clip;
}

body.ep-inner-public.ep-scope,
body.ep-home.ep-scope {
  overflow-x: clip;
  max-width: 100%;
}

body.ep-inner-public.ep-scope main,
body.ep-inner-public.ep-scope .page-hero__inner,
body.ep-inner-public.ep-scope .section__inner,
body.ep-inner-public.ep-scope .section,
body.ep-inner-public.ep-scope .split,
body.ep-inner-public.ep-scope .commercial-grid,
body.ep-inner-public.ep-scope .link-grid,
body.ep-inner-public.ep-scope .pillar-card-grid {
  max-width: 100%;
  min-width: 0;
}

/* Header + idiomas — todas as páginas (incl. contato/newsletter) */
@media (max-width: 430px) {
  body.ep-inner-public.ep-scope .ep-home-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 0.32rem;
    padding-inline: max(0.45rem, env(safe-area-inset-left, 0px));
  }

  body.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-width: min(148px, 40vw);
    max-height: 26px;
    object-fit: contain;
  }

  body.ep-inner-public.ep-scope .ep-home-header__cluster {
    flex-shrink: 0;
    gap: 0.22rem;
  }

  body.ep-inner-public.ep-scope .ep-home-header__lang {
    gap: 0.12rem;
  }

  body.ep-inner-public.ep-scope .ep-home-header__lang a {
    min-width: 24px;
    padding: 0.16rem 0.28rem;
    font-size: 0.58rem;
    line-height: 1.15;
  }

  body.ep-inner-public.ep-scope .site-nav.is-open {
    left: 8px;
    right: 8px;
    max-height: min(66vh, 380px);
    overflow-x: clip;
  }
}

/* Hero editorial interno */
body.ep-inner-public.ep-scope .page-hero {
  padding-block: clamp(0.55rem, 1.8vh, 1rem);
  background: linear-gradient(180deg, rgba(6, 61, 49, 0.06) 0%, transparent 100%);
}

body.ep-inner-public.ep-scope .page-hero__inner {
  padding-inline: max(0.65rem, env(safe-area-inset-left, 0px));
}

body.ep-inner-public.ep-scope .page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

body.ep-inner-public.ep-scope .page-hero__grid > img,
body.ep-inner-public.ep-scope .page-hero__grid > .ep-inner-hero__visual {
  width: 100%;
  max-height: min(52vw, 260px);
  object-fit: cover;
  object-position: center 40%;
  border-radius: var(--ep-radius, 10px);
  box-shadow: 0 8px 24px rgba(6, 61, 49, 0.12);
}

body.ep-inner-public.ep-scope .page-hero h1 {
  font-size: clamp(1.28rem, 4.5vw, 1.85rem);
  line-height: 1.12;
  max-width: 22ch;
}

body.ep-inner-public.ep-scope .page-hero p:not(.eyebrow) {
  font-size: var(--ep-font-size-sm, 0.92rem);
  line-height: 1.45;
  max-width: 42ch;
  color: rgba(11, 47, 36, 0.88);
}

/* Ritmo editorial — menos “site grande” */
body.ep-inner-public.ep-scope .section {
  padding-block: clamp(0.85rem, 2.5vw, 1.45rem);
}

body.ep-inner-public.ep-scope .section--tinted,
body.ep-inner-public.ep-scope .section--dark {
  padding-block: clamp(0.9rem, 2.8vw, 1.5rem);
}

body.ep-inner-public.ep-scope .editorial-prose {
  max-width: 68ch;
  font-size: max(0.92rem, var(--ep-font-size-sm));
  line-height: 1.55;
}

body.ep-inner-public.ep-scope .editorial-prose h2 {
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  margin-top: 1.1rem;
  margin-bottom: 0.45rem;
}

body.ep-inner-public.ep-scope .editorial-prose p {
  margin-bottom: 0.65rem;
}

body.ep-inner-public.ep-scope .article-source {
  margin-top: 1rem;
  padding: 0.65rem 0.85rem;
  border-left: 2px solid var(--ep-gold, #d4af37);
  font-size: 0.78rem;
  opacity: 0.9;
}

body.ep-inner-public.ep-scope .article-source p {
  margin: 0.25rem 0 0;
}

/* Cards link / pilar */
body.ep-inner-public.ep-scope .link-grid,
body.ep-inner-public.ep-scope .pillar-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 0.6rem;
}

body.ep-inner-public.ep-scope .link-card,
body.ep-inner-public.ep-scope .pillar-card {
  padding: 0.75rem 0.85rem;
  border-radius: var(--ep-radius, 10px);
  min-width: 0;
}

body.ep-inner-public.ep-scope .link-card strong,
body.ep-inner-public.ep-scope .pillar-card h3 {
  font-size: 0.98rem;
  line-height: 1.28;
}

@media (max-width: 430px) {
  body.ep-inner-public.ep-scope .link-grid,
  body.ep-inner-public.ep-scope .pillar-card-grid,
  body.ep-inner-public.ep-scope .commercial-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (min-width: 769px) {
  body.ep-inner-public.ep-scope .page-hero__grid:has(img) {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: center;
  }

  body.ep-inner-public.ep-scope .page-hero__grid > img {
    max-height: 240px;
  }
}

/* Produtos — vitrine editorial (SVG oculto, bloco visual premium) */
body.ep-inner-public.commercial-page .commercial-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--ep-radius, 10px);
  background: #fff;
  box-shadow: 0 6px 20px rgba(6, 61, 49, 0.08);
}

body.ep-inner-public.commercial-page .commercial-card > img[src$=".svg"],
body.ep-inner-public.commercial-page .commercial-card > img[src*="/assets/comercial/"] {
  display: none;
}

body.ep-inner-public.commercial-page .commercial-card::before {
  content: "";
  display: block;
  aspect-ratio: 16 / 9;
  max-height: 130px;
  background: linear-gradient(135deg, rgba(6, 61, 49, 0.92) 0%, rgba(111, 29, 47, 0.78) 55%, rgba(21, 90, 138, 0.35) 100%);
}

body.ep-inner-public.commercial-page .commercial-card:nth-child(3n + 2)::before {
  background: linear-gradient(135deg, rgba(111, 29, 47, 0.88) 0%, rgba(6, 61, 49, 0.82) 100%);
}

body.ep-inner-public.commercial-page .commercial-card:nth-child(3n)::before {
  background: linear-gradient(135deg, rgba(21, 90, 138, 0.55) 0%, rgba(6, 61, 49, 0.9) 100%);
}

body.ep-inner-public.commercial-page .commercial-card__body {
  padding: 0.75rem 0.85rem 0.85rem;
}

body.ep-inner-public.commercial-page .commercial-hero > .page-hero__inner > .page-hero__grid > img {
  max-height: 260px;
}

body.ep-inner-public.commercial-page .trust-row {
  flex-wrap: wrap;
  gap: 0.35rem;
}

body.ep-inner-public.commercial-page .trust-row span {
  font-size: 0.78rem;
}

/* Comunidade — overflow @1024 reforço 3.5 */
@media (min-width: 769px) and (max-width: 1100px) {
  body.community-page.ep-inner-public.ep-scope {
    overflow-x: clip !important;
  }

  body.community-page.ep-inner-public.ep-scope main,
  body.community-page.ep-inner-public.ep-scope .page-hero,
  body.community-page.ep-inner-public.ep-scope .section,
  body.community-page.ep-inner-public.ep-scope .section__inner,
  body.community-page.ep-inner-public.ep-scope .community-live-section,
  body.community-page.ep-inner-public.ep-scope .community-compact-grid,
  body.community-page.ep-inner-public.ep-scope .social-callout {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    box-sizing: border-box;
  }

  body.community-page .page-hero__grid,
  body.community-page .community-live-head,
  body.community-page .community-compact-grid,
  body.community-page .social-callout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.community-page .community-recipe-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }

  body.community-page .community-recipe-card,
  body.community-page .community-rule,
  body.community-page .button {
    min-width: 0;
    max-width: 100%;
    word-break: break-word;
  }

  body.community-page .community-filters {
    flex-wrap: wrap;
    overflow-x: clip;
    max-width: 100%;
  }

  body.community-page .hero__actions,
  body.community-page .community-live-head .button {
    flex-wrap: wrap;
    white-space: normal;
  }
}

@media (max-width: 768px) {
  body.community-page .community-recipe-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Formulários — visual premium, campos intactos */
body.ep-inner-public.ep-scope .lead-form,
body.ep-inner-public.ep-scope form[data-secure-form] {
  padding: clamp(0.85rem, 2vw, 1.15rem);
  border-radius: var(--ep-radius, 10px);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 28px rgba(6, 61, 49, 0.08);
  border: 1px solid rgba(6, 61, 49, 0.08);
}

body.ep-inner-public.ep-scope .lead-form .field input,
body.ep-inner-public.ep-scope .lead-form .field textarea,
body.ep-inner-public.ep-scope form[data-secure-form] .field input,
body.ep-inner-public.ep-scope form[data-secure-form] .field textarea,
body.ep-inner-public.ep-scope form[data-secure-form] input:not([type="checkbox"]),
body.ep-inner-public.ep-scope form[data-secure-form] textarea,
body.ep-inner-public.ep-scope form[data-secure-form] select {
  min-height: 44px;
  width: 100%;
  max-width: 100%;
  font-size: max(16px, 0.95rem);
  border-radius: 8px;
}

body.ep-inner-public.ep-scope .split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

@media (min-width: 769px) {
  body.ep-inner-public.ep-scope .split:has(form) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 1.25rem;
  }
}

body.ep-inner-public.ep-scope .page-hero__grid > img[src$=".svg"],
body.ep-inner-public.ep-scope .page-hero__grid > img[src*="/assets/placeholders/"] {
  display: none;
}

body.ep-inner-public.ep-scope .page-hero__grid:has(> img[src$=".svg"]),
body.ep-inner-public.ep-scope .page-hero__grid:has(> img[src*="/assets/placeholders/"]) {
  position: relative;
}

body.ep-inner-public.ep-scope .page-hero__grid:has(> img[src$=".svg"])::after,
body.ep-inner-public.ep-scope .page-hero__grid:has(> img[src*="/assets/placeholders/"])::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: min(52vw, 240px);
  border-radius: var(--ep-radius, 10px);
  background: linear-gradient(145deg, rgba(6, 61, 49, 0.94), rgba(111, 29, 47, 0.72)),
    url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg") center / cover no-repeat;
  box-shadow: 0 8px 24px rgba(6, 61, 49, 0.14);
}

body.ep-inner-public.ep-scope .legal-notice {
  font-size: 0.82rem;
  padding: 0.65rem 0.75rem;
  margin-top: 0.75rem;
}

/* ==========================================================================
   28. FASE 3.6 — Direção de arte premium por página (revista)
   ========================================================================== */

body.ep-art-page {
  --ep-ed-green: #063d31;
  --ep-ed-wine: #6f1d2f;
  --ep-ed-gold: #d4af37;
  --ep-ed-cream: #f7efe2;
  --ep-ed-paper: #faf6ef;
}

body.ep-art-page .page-hero {
  background: linear-gradient(165deg, rgba(6, 61, 49, 0.07) 0%, rgba(247, 239, 226, 0.5) 48%, transparent 100%);
  border-bottom: 1px solid rgba(6, 61, 49, 0.06);
}

body.ep-art-page .page-hero h1 {
  font-family: var(--ep-font-serif, Georgia, "Times New Roman", serif);
  letter-spacing: -0.02em;
}

/* Ocultar blocos legados genéricos quando há camada editorial */
body.ep-art-page main#conteudo > .section:has(.editorial-prose),
body.ep-art-page main#conteudo > .section:has(.prose.editorial-prose) {
  display: none;
}

body.ep-art-receitas main#conteudo > .section:has(.editorial-prose),
body.ep-art-receitas main#conteudo > .section:has(.prose) {
  display: block;
}

body.ep-art-page .kitchen-guides-promo,
body.ep-art-page .pillar-cluster-promo,
body.ep-art-receitas .kitchen-guides-promo,
body.ep-art-receitas .pillar-cluster-promo {
  display: none;
}

/* --- Componentes editoriais --- */
.ep-ed-root {
  display: flex;
  flex-direction: column;
  gap: clamp(0.75rem, 2vw, 1.15rem);
  padding-block: clamp(0.5rem, 1.5vw, 0.85rem);
}

.ep-ed-band {
  padding: clamp(0.75rem, 2vw, 1.1rem);
  border-radius: var(--ep-radius, 10px);
  background: var(--ep-ed-paper);
  border: 1px solid rgba(6, 61, 49, 0.07);
  box-shadow: 0 6px 22px rgba(6, 61, 49, 0.06);
}

.ep-ed-band--dark {
  background: linear-gradient(135deg, var(--ep-ed-green) 0%, #0b2f24 55%, var(--ep-ed-wine) 100%);
  color: var(--ep-ed-cream);
  border: none;
}

.ep-ed-band--dark .ep-ed-lead,
.ep-ed-band--dark p {
  color: rgba(247, 239, 226, 0.9);
}

.ep-ed-eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ep-ed-wine);
  margin: 0 0 0.35rem;
  font-weight: 600;
}

.ep-ed-band--dark .ep-ed-eyebrow {
  color: var(--ep-ed-gold);
}

.ep-ed-band h2,
.ep-ed-band h3 {
  font-family: var(--ep-font-serif, Georgia, serif);
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  line-height: 1.2;
  margin: 0 0 0.45rem;
  max-width: 28ch;
}

.ep-ed-lead {
  font-size: max(0.88rem, var(--ep-font-size-sm));
  line-height: 1.48;
  margin: 0;
  max-width: 52ch;
  color: rgba(11, 47, 36, 0.88);
}

.ep-ed-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 158px), 1fr));
  gap: 0.55rem;
}

.ep-ed-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: var(--ep-radius, 10px);
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(6, 61, 49, 0.08);
  box-shadow: 0 4px 16px rgba(6, 61, 49, 0.07);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ep-ed-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(6, 61, 49, 0.12);
}

.ep-ed-card__visual {
  aspect-ratio: 4 / 3;
  max-height: 120px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.ep-ed-card__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6, 61, 49, 0.75) 0%, transparent 55%);
}

.ep-ed-card__body {
  padding: 0.55rem 0.65rem 0.65rem;
  position: relative;
  z-index: 1;
}

.ep-ed-card__tag {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ep-ed-wine);
  font-weight: 600;
}

.ep-ed-card__title {
  font-size: 0.92rem;
  line-height: 1.25;
  margin: 0.15rem 0 0.2rem;
  font-family: var(--ep-font-serif, Georgia, serif);
}

.ep-ed-card__text {
  font-size: 0.78rem;
  line-height: 1.4;
  margin: 0;
  color: rgba(11, 47, 36, 0.78);
}

.ep-ed-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
  gap: 0.45rem;
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
}

.ep-ed-facts li {
  padding: 0.45rem 0.55rem;
  background: rgba(6, 61, 49, 0.05);
  border-radius: 8px;
  font-size: 0.78rem;
  line-height: 1.35;
  border-left: 2px solid var(--ep-ed-gold);
}

.ep-ed-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
}

@media (min-width: 769px) {
  .ep-ed-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.ep-ed-nav-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.5rem 0;
}

.ep-ed-nav-strip a {
  font-size: 0.75rem;
  padding: 0.35rem 0.6rem;
  border-radius: 999px;
  background: rgba(6, 61, 49, 0.08);
  color: var(--ep-ed-green);
  text-decoration: none;
  font-weight: 600;
}

/* Receitas — cards estilo revista */
body.ep-art-receitas .recipe-featured {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 0.65rem;
}

body.ep-art-receitas .recipe-card {
  border-radius: var(--ep-radius, 10px);
  overflow: hidden;
  border: 1px solid rgba(6, 61, 49, 0.08);
  box-shadow: 0 6px 20px rgba(6, 61, 49, 0.08);
  padding: 0;
  background: #fff;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

body.ep-art-receitas .recipe-card__image {
  aspect-ratio: 16 / 10;
  width: 100%;
  height: auto;
  max-height: 160px;
  object-fit: cover;
  object-position: center;
}

body.ep-art-receitas .recipe-card h3 {
  font-family: var(--ep-font-serif, Georgia, serif);
  font-size: 1rem;
  padding: 0 0.65rem;
  margin: 0.35rem 0 0.25rem;
}

body.ep-art-receitas .recipe-card > p:not(.recipe-card__meta) {
  padding: 0 0.65rem;
  font-size: 0.82rem;
  line-height: 1.42;
}

body.ep-art-receitas .recipe-card .status-pill {
  margin: 0.5rem 0.65rem 0;
}

body.ep-art-receitas .recipe-card .text-link {
  margin: auto 0.65rem 0.65rem;
  font-weight: 600;
}

body.ep-art-receitas .recipe-card p strong {
  font-size: 0.72rem;
  color: rgba(11, 47, 36, 0.65);
}

/* Temas por página — visual hero cards */
body.ep-art-gastronomia .ep-ed-card[data-theme="bacalhau"] .ep-ed-card__visual {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.3), rgba(111, 29, 47, 0.3)), url("/assets/images/premium/recipe-community-hero.jpg");
}

body.ep-art-vinhos .ep-ed-band--dark {
  background: linear-gradient(135deg, #2a0a12 0%, var(--ep-ed-wine) 40%, var(--ep-ed-green) 100%);
}

body.ep-art-doces .ep-ed-card__visual {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.25), rgba(212, 175, 55, 0.2)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
  background-size: cover;
}

body.ep-art-comunidade .community-rule {
  border-radius: var(--ep-radius, 10px);
  padding: 0.75rem;
  background: var(--ep-ed-paper);
  border: 1px solid rgba(6, 61, 49, 0.08);
}

body.ep-art-comunidade .ep-ed-trust {
  margin-top: 0.5rem;
}

body.ep-art-form .ep-ed-letter {
  max-width: 42ch;
}

body.ep-art-form .page-hero h1 {
  max-width: 16ch;
}

body.ep-art-produtos .ep-ed-vitrine-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 155px), 1fr));
  gap: 0.5rem;
}

body.ep-art-produtos .ep-ed-vitrine-item {
  padding: 0.6rem 0.65rem;
  border-radius: 8px;
  background: rgba(6, 61, 49, 0.04);
  border: 1px solid rgba(6, 61, 49, 0.07);
  font-size: 0.8rem;
}

body.ep-art-produtos .ep-ed-vitrine-item strong {
  display: block;
  font-size: 0.88rem;
  margin-bottom: 0.2rem;
  color: var(--ep-ed-green);
}

@media (max-width: 430px) {
  body.ep-art-page .ep-ed-grid,
  body.ep-art-produtos .ep-ed-vitrine-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-art-receitas .recipe-featured {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* ==========================================================================
   29. FASE 3.6A — Correções críticas premium
   ========================================================================== */

/* Idioma mobile/desktop: PT/ES/EN sem duplicação (::after em style.css) */
body.ep-home.ep-scope .language-switcher a[data-lang],
body.ep-inner-public.ep-scope .language-switcher a[data-lang] {
  font-size: 0.58rem !important;
  line-height: 1.25;
  letter-spacing: 0.02em;
}

body.ep-home.ep-scope .language-switcher a[data-lang]::after,
body.ep-inner-public.ep-scope .language-switcher a[data-lang]::after {
  content: none !important;
  display: none !important;
}

@media (min-width: 768px) {
  body.ep-home.ep-scope .language-switcher a[data-lang],
  body.ep-inner-public.ep-scope .language-switcher a[data-lang] {
    font-size: 0.72rem !important;
  }
}

/* Hero interno: contraste forte (sobrescreve gradiente claro da sec. 28) */
body.ep-art-page.ep-inner-public.ep-scope .page-hero,
body.ep-art-page.ep-inner-public .page-hero {
  background: linear-gradient(
    135deg,
    var(--ep-ed-green, #063d31) 0%,
    #0a2820 42%,
    var(--ep-ed-wine, #6f1d2f) 100%
  ) !important;
  color: var(--ep-ed-cream, #f7efe2) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.ep-art-page .page-hero .breadcrumb,
body.ep-art-page .page-hero .breadcrumb a,
body.ep-art-page .page-hero .eyebrow,
body.ep-art-page .page-hero h1,
body.ep-art-page .page-hero p,
body.ep-art-page .guide-hero .breadcrumb,
body.ep-art-page .guide-hero .breadcrumb a {
  color: var(--ep-ed-cream, #f7efe2) !important;
}

body.ep-art-page .page-hero .breadcrumb a:hover {
  opacity: 1;
  text-decoration: underline;
}

body.ep-art-page .page-hero h1 {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

body.ep-art-page .page-hero .button--primary,
body.ep-art-page .page-hero .button--secondary {
  border-color: rgba(247, 239, 226, 0.35);
}

/* Header mobile 390/430 */
@media (max-width: 430px) {
  body.ep-home.ep-scope .ep-home-header__inner,
  body.ep-inner-public.ep-scope .ep-home-header__inner {
    gap: 0.35rem;
    padding-inline: 0.65rem;
    min-height: auto;
  }

  body.ep-home.ep-scope .ep-home-header__brand,
  body.ep-inner-public.ep-scope .ep-home-header__brand {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 7.5rem);
  }

  body.ep-home.ep-scope .brand__logo,
  body.ep-inner-public.ep-scope .brand__logo {
    max-width: 100%;
    height: auto;
    max-height: 36px;
    object-fit: contain;
  }

  body.ep-home.ep-scope .ep-home-header__cluster,
  body.ep-inner-public.ep-scope .ep-home-header__cluster {
    flex-shrink: 0;
    gap: 0.25rem;
  }

  body.ep-home.ep-scope .language-switcher,
  body.ep-inner-public.ep-scope .language-switcher {
    flex-wrap: nowrap;
  }

  body.ep-home.ep-scope .language-switcher a,
  body.ep-inner-public.ep-scope .language-switcher a {
    min-width: 26px;
    padding: 0.22rem 0.35rem;
  }
}

/* Biblioteca de receitas — compacta */
body.ep-art-receitas .ep-receitas-destaques .recipe-card:nth-child(n + 4) {
  display: none;
}

body.ep-art-receitas .ep-receitas-visiveis .recipe-card:nth-child(n + 10) {
  display: none;
}

body.ep-art-receitas .section.ep-receitas-collapsed {
  display: none !important;
}

body.ep-art-receitas .ep-biblioteca-receitas {
  margin: 1.5rem auto;
  max-width: var(--ep-container, 72rem);
  padding: 0 1rem;
}

body.ep-art-receitas .ep-biblioteca-receitas > summary {
  cursor: pointer;
  list-style: none;
  font-family: var(--ep-font-serif, Georgia, serif);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--ep-ed-green, #063d31);
  padding: 0.85rem 1rem;
  border: 1px solid rgba(6, 61, 49, 0.12);
  border-radius: var(--ep-radius, 10px);
  background: var(--ep-ed-paper, #faf6ef);
}

body.ep-art-receitas .ep-biblioteca-receitas > summary::-webkit-details-marker {
  display: none;
}

body.ep-art-receitas .ep-biblioteca-receitas > summary::after {
  content: " ▾";
  opacity: 0.6;
}

body.ep-art-receitas .ep-biblioteca-receitas[open] > summary::after {
  content: " ▴";
}

body.ep-art-receitas .ep-biblioteca-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: 0.35rem 0.75rem;
  margin-top: 0.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(6, 61, 49, 0.08);
  border-radius: var(--ep-radius, 10px);
  background: #fff;
}

body.ep-art-receitas .ep-biblioteca-list a {
  font-size: 0.82rem;
  color: var(--ep-ed-green, #063d31);
  text-decoration: none;
  padding: 0.25rem 0;
  border-bottom: 1px solid rgba(6, 61, 49, 0.06);
}

body.ep-art-receitas .ep-biblioteca-list a:hover {
  text-decoration: underline;
}

/* Guias — compacto */
body.ep-art-guias .ep-guias-destaques .guide-card:nth-child(n + 4) {
  display: none;
}

body.ep-art-guias .ep-guias-temas .guide-card:nth-child(n + 7) {
  display: none;
}

body.ep-art-guias .section.guide-hub-block.ep-guias-collapsed {
  display: none !important;
}

body.ep-art-guias .ep-biblioteca-guias {
  margin: 1.5rem auto;
  max-width: var(--ep-container, 72rem);
  padding: 0 1rem;
}

body.ep-art-guias .ep-biblioteca-guias > summary {
  cursor: pointer;
  list-style: none;
  font-family: var(--ep-font-serif, Georgia, serif);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--ep-ed-green, #063d31);
  padding: 0.85rem 1rem;
  border: 1px solid rgba(6, 61, 49, 0.12);
  border-radius: var(--ep-radius, 10px);
  background: var(--ep-ed-paper, #faf6ef);
}

body.ep-art-guias .ep-biblioteca-guias > summary::-webkit-details-marker {
  display: none;
}

body.ep-art-guias .ep-biblioteca-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(6, 61, 49, 0.08);
  border-radius: var(--ep-radius, 10px);
  background: #fff;
}

body.ep-art-guias .ep-biblioteca-list a {
  font-size: 0.84rem;
  color: var(--ep-ed-green, #063d31);
  text-decoration: none;
}

body.ep-art-guias .ep-biblioteca-list a:hover {
  text-decoration: underline;
}

body.ep-art-guias .guide-card__visual img,
body.ep-art-guias .guide-figure img {
  object-fit: cover;
}


/* ==========================================================================
   30. FASE 3.6C — Sync premium internas — v20260602-38
   ========================================================================== */

/* Comunidade: corrigir overflow horizontal @1024 */
body.ep-art-comunidade.community-page--live {
  overflow-x: clip;
}

body.ep-art-comunidade.community-page--live main#conteudo,
body.ep-art-comunidade .section__inner,
body.ep-art-comunidade .community-live-section {
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}

body.ep-art-comunidade .community-recipe-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 1rem;
  max-width: 100%;
  min-width: 0;
}

body.ep-art-comunidade .community-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  max-width: 100%;
  min-width: 0;
}

body.ep-art-comunidade .community-live-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 100%;
  min-width: 0;
}

body.ep-art-comunidade .community-recipe-card {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

body.ep-art-comunidade .filter-chip {
  flex-shrink: 0;
  max-width: 100%;
}

body.ep-art-comunidade .hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (min-width: 768px) and (max-width: 1100px) {
  body.ep-art-comunidade .community-recipe-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Hero interno: contraste audit-safe (rgb 255,248,235 e creme) */
body.ep-inner-public.ep-scope .page-hero.ep-hero-safe,
body.ep-art-page.ep-inner-public .page-hero {
  background: linear-gradient(
    135deg,
    var(--ep-ed-green, #063d31) 0%,
    #0a2820 42%,
    var(--ep-ed-wine, #6f1d2f) 100%
  ) !important;
}

body.ep-inner-public .page-hero.ep-hero-safe .breadcrumb,
body.ep-inner-public .page-hero.ep-hero-safe .breadcrumb a,
body.ep-inner-public .page-hero.ep-hero-safe .eyebrow,
body.ep-inner-public .page-hero.ep-hero-safe h1,
body.ep-inner-public .page-hero.ep-hero-safe p,
body.ep-art-page .page-hero .breadcrumb,
body.ep-art-page .page-hero .breadcrumb a,
body.ep-art-page .page-hero .eyebrow,
body.ep-art-page .page-hero h1,
body.ep-art-page .page-hero p {
  color: #f7efe2 !important;
}

body.ep-inner-public .page-hero.ep-hero-safe h1,
body.ep-art-page .page-hero h1 {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

/* Garantir detecção: link premium carregado após style.css */
body.ep-inner-public:not(.ep-art-page) main#conteudo {
  min-width: 0;
}

/* ==========================================================================
   27. FASE 3.7A — QA visual: header mobile, cards home, fallbacks editoriais
   ========================================================================== */

/* Header mobile 390/430 — logo inteiro, cluster alinhado */
@media (max-width: 768px) {
  body.ep-home .ep-home-header__inner,
  body.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "brand cluster" !important;
    align-items: center !important;
    column-gap: 0.4rem !important;
    row-gap: 0 !important;
    width: min(100% - 16px, 1240px) !important;
    min-height: var(--ep-home-nav-h, 52px);
    overflow: visible;
  }

  body.ep-home .ep-home-header__brand,
  body.ep-inner-public.ep-scope .ep-home-header__brand {
    grid-area: brand !important;
    min-width: 0 !important;
    max-width: calc(100% - 7.85rem) !important;
    overflow: visible !important;
    padding: 0.2rem 0.15rem !important;
  }

  body.ep-home .ep-home-header__cluster,
  body.ep-inner-public.ep-scope .ep-home-header__cluster {
    grid-area: cluster !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.28rem !important;
    flex-shrink: 0 !important;
  }

  body.ep-home .ep-home-header__brand .brand__logo,
  body.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    display: block !important;
    width: auto !important;
    max-width: min(178px, 50vw) !important;
    max-height: 34px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.ep-home .ep-home-header__toggle,
  body.ep-inner-public.ep-scope .ep-home-header__toggle {
    display: inline-flex !important;
    flex-shrink: 0 !important;
  }

  body.ep-home .ep-home-header__lang,
  body.ep-inner-public.ep-scope .ep-home-header__lang {
    display: inline-flex !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 430px) {
  body.ep-home .ep-home-header__brand .brand__logo,
  body.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-width: min(168px, 48vw) !important;
    max-height: 32px !important;
  }
}

/* Cards de temas — corpo sempre visível, overlay mais leve */
body.ep-home .ep-home-topic--stacked {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 0;
  height: 100%;
  background: var(--ep-ivory);
  border: 1px solid var(--ep-line-gold);
}

body.ep-home .ep-home-topic__visual {
  position: relative;
  min-height: 140px;
  max-height: 180px;
  overflow: hidden;
  background: linear-gradient(145deg, var(--ep-green-deep), var(--ep-wine-deep));
}

body.ep-home .ep-home-topic__visual img {
  width: 100%;
  height: 100%;
  min-height: 140px;
  max-height: 180px;
  object-fit: cover;
  object-position: center 35%;
  transform: none;
  filter: saturate(1.04) contrast(1.02);
}

body.ep-home .ep-home-topic__visual::after {
  opacity: 0.32;
  background: linear-gradient(
    to top,
    rgba(6, 61, 49, 0.82) 0%,
    rgba(6, 61, 49, 0.18) 55%,
    transparent 100%
  );
}

body.ep-home .ep-home-topic__body {
  display: flex !important;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 8.25rem;
  padding: 0.85rem 1rem 1rem;
  background: var(--ep-ivory);
  visibility: visible;
  opacity: 1;
}

body.ep-home .ep-home-topic__body .ep-card__text,
body.ep-home.ep-magazine-v22 .ep-home-topic .ep-card__text {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  flex: 1 1 auto;
}

body.ep-home .ep-home-topic__cta em,
body.ep-home .ep-home-guide-card__cta em {
  display: inline-block;
  margin-top: 0.35rem;
  color: var(--ep-wine);
  font: 800 0.82rem / 1 var(--ep-font-ui);
  font-style: normal;
  letter-spacing: 0.02em;
}

body.ep-home .ep-home-topic[data-theme="receitas"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #0b2f24, #155a8a);
}

body.ep-home .ep-home-topic[data-theme="doces"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #6f1d2f, #c9a227);
}

body.ep-home .ep-home-topic[data-theme="vinhos"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #3d0f1a, #0b2f24);
}

body.ep-home .ep-home-topic[data-theme="bacalhau"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #1a3a52, #0b2f24);
}

body.ep-home .ep-home-topic[data-theme="regioes"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #155a8a, #063d31);
}

body.ep-home .ep-home-topic[data-theme="guia"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #4a3728, #063d31);
}

@media (min-width: 1025px) {
  body.ep-home .ep-home-topics.ep-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
  }

  body.ep-home .ep-home-topic__visual {
    min-height: 150px;
    max-height: 168px;
  }

  body.ep-home .ep-home-topic__body {
    min-height: 8.75rem;
  }
}

/* Comunidade — estado vazio elegante, sem card fantasma */
@media (min-width: 769px) {
  body.ep-home.ep-magazine-v22 .ep-home-community.ep-split {
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, 400px);
    align-items: start;
    gap: 1.25rem;
  }
}

body.ep-home .ep-home-recipes {
  display: grid;
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
}

body.ep-home .ep-home-recipe--empty {
  min-height: 10.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.35rem;
  border: 1px dashed var(--ep-line-gold);
  background: linear-gradient(160deg, var(--ep-ivory), var(--ep-parchment));
}

body.ep-home .ep-home-recipe--empty .ep-card__title {
  font-size: 1.05rem;
  color: var(--ep-green-deep);
}

/* Guia futuro — cards completos */
body.ep-home .ep-home-guide-card {
  display: grid;
  grid-template-columns: 3.35rem minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  min-height: 6.5rem;
  height: 100%;
  padding: 0.9rem 1rem;
  background: var(--ep-ivory);
  border: 1px solid var(--ep-line-gold);
}

body.ep-home .ep-home-guide-card__copy {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

body.ep-home .ep-home-guide-card__icon {
  display: grid;
  place-items: center;
  width: 3.35rem;
  height: 3.35rem;
  border-radius: var(--ep-radius);
  background: linear-gradient(145deg, var(--ep-green-deep), var(--ep-wine-deep));
  color: var(--ep-gold);
  font: 700 0.68rem / 1.15 var(--ep-font-ui);
  text-align: center;
  padding: 0.25rem;
  flex-shrink: 0;
}

body.ep-home .ep-home-guide.ep-grid--2 {
  align-items: stretch;
  gap: 0.75rem;
}

@media (min-width: 769px) {
  body.ep-home .ep-home-guide.ep-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ep-ed cards — fallback visual quando vazio */
.ep-ed-card__visual:empty {
  min-height: 120px;
  background: linear-gradient(145deg, var(--ep-ed-green, #063d31), var(--ep-ed-wine, #6f1d2f));
  border-radius: var(--ep-radius, 10px) var(--ep-radius, 10px) 0 0;
}

.ep-ed-card__visual:not([style*="background-image"]):empty::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.15;
  background: radial-gradient(circle at 30% 30%, #d4af37, transparent 55%);
}

/* Receitas / Guias — biblioteca sem contagem inventada */
body.ep-art-receitas .ep-biblioteca-receitas > summary,
body.ep-art-guias .ep-biblioteca-guias > summary {
  font-size: 1.05rem;
}

body.ep-art-guias .ep-ed-grid > .ep-ed-card:nth-child(n + 4) {
  display: none;
}

/* ==========================================================================
   28. FASE 3.7B — Correção real da home: grid premium, cards completos
   ========================================================================== */

/* Temas — grid premium 6 cards, corpo sempre legível */
body.ep-home .ep-home-topics[data-ep-home-section="temas"] {
  display: grid !important;
  grid-auto-flow: row;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

body.ep-home .ep-home-topics[data-ep-home-section="temas"] > .ep-home-topic {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  min-width: 0;
  width: 100%;
  height: auto !important;
  min-height: 100%;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: var(--ep-ivory);
  border: 1px solid var(--ep-line-gold);
  box-shadow: var(--ep-shadow-sm);
}

body.ep-home .ep-home-topic__visual {
  position: relative;
  flex-shrink: 0;
  min-height: 132px;
  max-height: 172px;
  overflow: hidden;
  line-height: normal;
}

body.ep-home .ep-home-topic__visual::after {
  opacity: 0.22 !important;
  background: linear-gradient(
    to top,
    rgba(6, 61, 49, 0.55) 0%,
    rgba(6, 61, 49, 0.08) 62%,
    transparent 100%
  ) !important;
}

body.ep-home .ep-home-topic__visual img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 132px;
  max-height: 172px;
  object-fit: cover !important;
  transform: none !important;
  filter: saturate(1.05) contrast(1.02);
}

body.ep-home .ep-home-topic__body,
body.ep-home.ep-magazine-v22 .ep-home-topic .ep-card__body {
  display: flex !important;
  flex-direction: column;
  gap: 0.4rem;
  min-height: 9rem !important;
  padding: 0.9rem 1rem 1.05rem !important;
  background: var(--ep-ivory) !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 2;
}

body.ep-home .ep-home-topic__body .ep-card__title,
body.ep-home.ep-magazine-v22 .ep-home-topic .ep-card__title {
  display: block !important;
  font-size: clamp(1rem, 2.2vw, 1.12rem) !important;
  line-height: 1.25;
  color: var(--ep-green-deep);
}

body.ep-home .ep-home-topic__body .ep-card__text,
body.ep-home.ep-magazine-v22 .ep-home-topic .ep-card__text,
body.ep-home.ep-magazine-v22 .ep-home-topic--stacked .ep-card__text {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
  color: var(--ep-ink-muted);
  max-width: none;
}

body.ep-home .ep-home-topic__cta {
  display: block !important;
  margin-top: auto;
  padding-top: 0.15rem;
}

body.ep-home .ep-home-topic[data-theme="receitas"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #0b2f24, #155a8a);
}

body.ep-home .ep-home-topic[data-theme="doces"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #6f1d2f, #c9a227);
}

body.ep-home .ep-home-topic[data-theme="vinhos"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #3d0f1a, #0b2f24);
}

body.ep-home .ep-home-topic[data-theme="bacalhau"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #1a3a52, #0b2f24);
}

body.ep-home .ep-home-topic[data-theme="regioes"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #155a8a, #063d31);
}

body.ep-home .ep-home-topic[data-theme="guia"] .ep-home-topic__visual {
  background: linear-gradient(160deg, #4a3728, #063d31);
}

body.ep-home .ep-home-topic__visual img[src=""],
body.ep-home .ep-home-topic__visual img:not([src]) {
  opacity: 0;
}

@media (min-width: 1025px) {
  body.ep-home .ep-home-topics[data-ep-home-section="temas"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem;
  }
}

@media (min-width: 431px) and (max-width: 1024px) {
  body.ep-home .ep-home-topics[data-ep-home-section="temas"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem;
  }
}

@media (max-width: 430px) {
  body.ep-home .ep-home-topics[data-ep-home-section="temas"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.7rem;
  }

  body.ep-home .ep-home-topic__visual {
    min-height: 148px;
    max-height: 188px;
  }
}

/* Comunidade — bloco editorial sem card fantasma */
body.ep-home .ep-home-recipes:has(.ep-home-recipe) [data-ep-community-empty] {
  display: none !important;
}

body.ep-home .ep-home-community-empty {
  display: grid;
  gap: 0.45rem;
  padding: 1rem 1.05rem;
  border-left: 3px solid var(--ep-gold);
  background: linear-gradient(160deg, var(--ep-ivory), var(--ep-parchment));
  min-height: 0;
}

body.ep-home .ep-home-community-empty__lead {
  margin: 0;
  font-family: var(--ep-font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ep-green-deep);
}

body.ep-home .ep-home-community-empty__text {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--ep-ink-muted);
}

body.ep-home .ep-home-community-empty__link {
  margin-top: 0.25rem;
  font-weight: 700;
}

body.ep-home .ep-home-recipe--empty {
  display: none !important;
}

/* Guia futuro — 4 cards completos com ícone SVG */
body.ep-home .ep-home-guide[data-ep-home-section="guia-futuro"] {
  display: grid !important;
  grid-auto-flow: row;
  align-items: stretch;
  gap: 0.75rem;
}

body.ep-home .ep-home-guide-card {
  display: grid !important;
  grid-template-columns: 3.25rem minmax(0, 1fr) !important;
  gap: 0.85rem !important;
  align-items: start !important;
  min-height: 6.75rem !important;
  height: auto !important;
  padding: 0.95rem 1rem !important;
  background: var(--ep-ivory);
  border: 1px solid var(--ep-line-gold);
  box-shadow: var(--ep-shadow-sm);
}

body.ep-home .ep-home-guide-card__icon {
  display: grid !important;
  place-items: center;
  width: 3.25rem !important;
  height: 3.25rem !important;
  border-radius: var(--ep-radius);
  background: linear-gradient(145deg, var(--ep-green-deep), var(--ep-wine-deep));
  color: var(--ep-gold);
  flex-shrink: 0;
}

body.ep-home .ep-home-guide-card__icon svg {
  display: block;
}

body.ep-home .ep-home-guide-card__copy {
  display: flex !important;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
}

body.ep-home .ep-home-guide-card .ep-card__title {
  display: block !important;
  font-size: 1rem !important;
  color: var(--ep-green-deep);
}

body.ep-home .ep-home-guide-card .ep-card__text {
  display: block !important;
  font-size: 0.84rem !important;
  line-height: 1.42 !important;
  color: var(--ep-ink-muted);
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
}

body.ep-home .ep-home-guide-card__cta {
  display: block !important;
  margin-top: auto;
}

body.ep-home .ep-home-guide-card__cta em {
  display: inline-block;
  color: var(--ep-wine);
  font: 800 0.82rem / 1 var(--ep-font-ui);
  font-style: normal;
}

@media (min-width: 769px) {
  body.ep-home .ep-home-guide[data-ep-home-section="guia-futuro"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  body.ep-home .ep-home-guide[data-ep-home-section="guia-futuro"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ==========================================================================
   31. FASE 3.8 — Gastronomia Portuguesa premium editorial
   ========================================================================== */

body.ep-art-gastronomia .ep-gastro-hero .breadcrumb {
  font-size: 0.78rem;
  margin-bottom: 0.5rem;
}

body.ep-art-gastronomia .ep-gastro-hero .breadcrumb span:last-child {
  color: rgba(11, 47, 36, 0.72);
}

body.ep-art-gastronomia .ep-gastro-hero h1 {
  font-size: clamp(1.35rem, 4.2vw, 2rem);
  line-height: 1.15;
  max-width: 22ch;
  margin-bottom: 0.55rem;
}

body.ep-art-gastronomia .ep-gastro-hero__lead {
  font-size: max(0.92rem, var(--ep-font-size-sm));
  line-height: 1.5;
  max-width: 48ch;
  margin: 0 0 0.65rem;
  color: rgba(11, 47, 36, 0.9);
}

body.ep-art-gastronomia .ep-gastro-hero__note {
  margin: 0;
  font-size: 0.82rem;
}

body.ep-art-gastronomia .ep-gastro-hero__note .text-link {
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

body.ep-art-gastronomia .ep-gastro-paths {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 0.65rem;
}

body.ep-art-gastronomia .ep-gastro-path .ep-ed-card__text {
  font-size: 0.82rem;
  line-height: 1.42;
}

body.ep-art-gastronomia .ep-gastro-path__cta {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ep-ed-wine);
}

body.ep-art-gastronomia .ep-ed-band--dark .ep-gastro-path__cta {
  color: var(--ep-ed-gold);
}

body.ep-art-gastronomia .ep-gastro-path__visual--mar {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.35), rgba(111, 29, 47, 0.25)),
    url("/assets/images/premium/card-mar-bacalhau.png");
}

body.ep-art-gastronomia .ep-gastro-path__visual--campo {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.3), rgba(212, 175, 55, 0.2)),
    url("/assets/images/premium/card-campo-pao-azeite.png");
}

body.ep-art-gastronomia .ep-gastro-path__visual--doces {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.28), rgba(212, 175, 55, 0.22)),
    url("/assets/images/premium/card-conventos-docaria.png");
}

body.ep-art-gastronomia .ep-gastro-path__visual--vinhos {
  background-image: linear-gradient(135deg, rgba(42, 10, 18, 0.45), rgba(6, 61, 49, 0.35)),
    url("/assets/images/premium/card-vinhos-mesa-partilhada.png");
}

body.ep-art-gastronomia .ep-gastro-ingredients {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 0.65rem;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
}

body.ep-art-gastronomia .ep-gastro-ingredients li {
  padding: 0.5rem 0.55rem;
  border-radius: 8px;
  background: rgba(6, 61, 49, 0.04);
  border: 1px solid rgba(6, 61, 49, 0.07);
  font-size: 0.8rem;
  line-height: 1.38;
}

body.ep-art-gastronomia .ep-gastro-ingredients li strong {
  display: block;
  font-size: 0.86rem;
  color: var(--ep-ed-green);
  margin-bottom: 0.15rem;
}

body.ep-art-gastronomia .ep-gastro-ingredients li span {
  color: rgba(11, 47, 36, 0.82);
}

body.ep-art-gastronomia .ep-gastro-nav.link-grid,
body.ep-art-gastronomia .link-grid.ep-gastro-nav {
  margin-top: 0.55rem;
  gap: 0.5rem;
}

body.ep-art-gastronomia .ep-gastro-facts li {
  font-size: 0.84rem;
  line-height: 1.45;
}

body.ep-art-gastronomia .ep-gastro-root .legal-notice {
  margin-top: 0.25rem;
}

@media (min-width: 768px) {
  body.ep-art-gastronomia .ep-gastro-paths {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.ep-art-gastronomia .ep-gastro-ingredients {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  body.ep-art-gastronomia .ep-gastro-paths,
  body.ep-art-gastronomia .ep-gastro-ingredients {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-art-gastronomia .ep-gastro-hero h1 {
    max-width: none;
  }
}

/* ==========================================================================
   32. FASE 3.8A — Gastronomia: header mobile + contraste cards + CTA hero
   ========================================================================== */

/* Header mobile Gastronomia — ver seção 33 FASE 3.8B (padrão Home) */

/* Cards “Quatro caminhos” — corpo claro, texto escuro legível */
body.ep-art-gastronomia .ep-ed-band--dark .ep-gastro-paths .ep-gastro-path.ep-ed-card {
  background: #fff !important;
  color: #0b2f24 !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

body.ep-art-gastronomia .ep-ed-band--dark .ep-gastro-paths .ep-gastro-path .ep-ed-card__title {
  color: #0b2f24 !important;
}

body.ep-art-gastronomia .ep-ed-band--dark .ep-gastro-paths .ep-gastro-path .ep-ed-card__text {
  color: rgba(11, 47, 36, 0.92) !important;
}

body.ep-art-gastronomia .ep-ed-band--dark .ep-gastro-paths .ep-gastro-path .ep-ed-card__tag {
  color: var(--ep-ed-wine, #6f1d2f) !important;
}

body.ep-art-gastronomia .ep-ed-band--dark .ep-gastro-paths .ep-gastro-path__cta {
  color: #0b2f24 !important;
  background: rgba(212, 175, 55, 0.28) !important;
  border: 1px solid rgba(6, 61, 49, 0.18) !important;
  padding: 0.32rem 0.5rem !important;
  border-radius: 6px !important;
  line-height: 1.3 !important;
}

body.ep-art-gastronomia .ep-ed-band--dark .ep-gastro-paths .ep-gastro-path:hover .ep-gastro-path__cta {
  background: rgba(212, 175, 55, 0.42) !important;
}

/* CTA do hero — botão claro sobre fundo escuro */
body.ep-art-gastronomia .page-hero .ep-gastro-hero__cta {
  display: inline-block !important;
  margin-top: 0.15rem;
  padding: 0.48rem 0.9rem !important;
  border-radius: 999px !important;
  background: var(--ep-ed-cream, #f7efe2) !important;
  color: var(--ep-ed-green, #063d31) !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
}

body.ep-art-gastronomia .page-hero .ep-gastro-hero__cta:hover {
  background: #fff !important;
  color: var(--ep-ed-green, #063d31) !important;
}

body.ep-art-gastronomia .ep-gastro-hero__lead {
  color: rgba(247, 239, 226, 0.95) !important;
}

/* ==========================================================================
   33. FASE 3.8B — Gastronomia: header mobile = padrão Home aprovado
   ========================================================================== */

@media (max-width: 768px) {
  body.ep-art-gastronomia.ep-inner-public.ep-scope {
    --ep-home-nav-h: 86px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .topbar {
    display: none;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand toggle"
      "brand langs" !important;
    align-items: center !important;
    column-gap: 0.5rem !important;
    row-gap: 0.3rem !important;
    width: min(100% - 20px, 1240px) !important;
    margin-inline: auto !important;
    padding: 0.45rem max(0.5rem, env(safe-area-inset-right, 0px)) 0.45rem max(0.5rem, env(safe-area-inset-left, 0px)) !important;
    min-height: auto !important;
    box-sizing: border-box !important;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__cluster {
    display: contents !important;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    grid-area: brand !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(calc(100vw - 6rem), 210px) !important;
    padding: 0.28rem 0.45rem !important;
    justify-self: start !important;
    align-self: center !important;
    background: rgba(255, 248, 235, 0.96) !important;
    border: 1px solid rgba(217, 173, 69, 0.32) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2) !important;
    overflow: hidden !important;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__toggle {
    grid-area: toggle !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(212, 175, 55, 0.45) !important;
    border-radius: var(--ep-radius, 8px) !important;
    background: rgba(255, 248, 235, 0.12) !important;
    flex-shrink: 0 !important;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 1px !important;
    background-color: #efe3cc !important;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__lang {
    grid-area: langs !important;
    justify-self: end !important;
    align-self: end !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    padding: 0.12rem !important;
    font-size: 0.62rem !important;
    border-radius: 999px !important;
    gap: 0.15rem !important;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__lang a {
    padding: 0.22rem 0.38rem !important;
    font-size: 0.62rem !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 430px) {
  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    max-width: min(calc(100vw - 5.75rem), 178px) !important;
    padding: 0.24rem 0.38rem !important;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-height: 30px !important;
  }

  body.ep-art-gastronomia.ep-inner-public.ep-scope .ep-home-header__inner {
    column-gap: 0.4rem !important;
  }
}

/* ==========================================================================
   34. FASE 3.9 — Receitas Portuguesas premium editorial
   ========================================================================== */

body.ep-art-receitas .ep-receitas-hero .breadcrumb {
  font-size: 0.78rem;
  margin-bottom: 0.5rem;
}

body.ep-art-receitas .ep-receitas-hero .breadcrumb span:last-child {
  color: rgba(11, 47, 36, 0.72);
}

body.ep-art-receitas .ep-receitas-hero h1 {
  font-size: clamp(1.35rem, 4.2vw, 2rem);
  line-height: 1.15;
  max-width: 24ch;
  margin-bottom: 0.55rem;
}

body.ep-art-receitas .ep-receitas-hero__lead {
  font-size: max(0.92rem, var(--ep-font-size-sm));
  line-height: 1.5;
  max-width: 50ch;
  margin: 0 0 0.65rem;
  color: rgba(11, 47, 36, 0.9);
}

body.ep-art-receitas .ep-receitas-hero__note {
  margin: 0;
  font-size: 0.82rem;
}

body.ep-art-receitas .page-hero .ep-receitas-hero__cta {
  display: inline-block !important;
  margin-top: 0.15rem;
  padding: 0.48rem 0.9rem !important;
  border-radius: 999px !important;
  background: var(--ep-ed-cream, #f7efe2) !important;
  color: var(--ep-ed-green, #063d31) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid rgba(212, 175, 55, 0.45) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
}

body.ep-art-receitas .page-hero .ep-receitas-hero__cta:hover {
  background: #fff !important;
  color: var(--ep-ed-wine, #6f1d2f) !important;
}

body.ep-art-receitas .ep-receitas-root {
  padding-bottom: 1.25rem;
}

body.ep-art-receitas .ep-receitas-classics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.65rem;
}

body.ep-art-receitas .ep-receitas-classic {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
}

body.ep-art-receitas .ep-receitas-classic__visual {
  min-height: 108px;
  background-size: cover;
  background-position: center;
  border-radius: var(--ep-radius, 10px) var(--ep-radius, 10px) 0 0;
}

body.ep-art-receitas .ep-receitas-classic__visual--bacalhau {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.35), rgba(111, 29, 47, 0.25)),
    url("/assets/images/receitas/receita-bacalhau-a-lagareiro.jpg");
}

body.ep-art-receitas .ep-receitas-classic__visual--sopa {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.3), rgba(212, 175, 55, 0.2)),
    url("/assets/images/receitas/receita-caldo-verde.jpg");
}

body.ep-art-receitas .ep-receitas-classic__visual--arroz {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.28), rgba(111, 29, 47, 0.22)),
    url("/assets/images/receitas/receita-arroz-de-pato.jpg");
}

body.ep-art-receitas .ep-receitas-classic__visual--carne {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.28), rgba(6, 61, 49, 0.25)),
    url("/assets/images/receitas/receita-carne-de-porco-a-alentejana.jpg");
}

body.ep-art-receitas .ep-receitas-classic__visual--polvo {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.32), rgba(42, 10, 18, 0.35)),
    url("/assets/images/receitas/receita-polvo-a-lagareiro.jpg");
}

body.ep-art-receitas .ep-receitas-classic__visual--doce {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.25), rgba(212, 175, 55, 0.22)),
    url("/assets/images/receitas/receita-pastel-de-nata.jpg");
}

body.ep-art-receitas .ep-receitas-classic__cta {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ep-ed-wine);
}

body.ep-art-receitas .ep-receitas-paths {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 0.65rem;
}

body.ep-art-receitas .ep-receitas-path .ep-ed-card__text {
  font-size: 0.82rem;
  line-height: 1.42;
}

body.ep-art-receitas .ep-receitas-path__cta {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ep-ed-wine);
}

body.ep-art-receitas .ep-ed-band--dark .ep-receitas-path__cta {
  color: var(--ep-ed-gold);
}

body.ep-art-receitas .ep-ed-band--dark .ep-receitas-paths .ep-receitas-path.ep-ed-card {
  background: #fff !important;
  color: #0b2f24 !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

body.ep-art-receitas .ep-ed-band--dark .ep-receitas-paths .ep-receitas-path .ep-ed-card__title {
  color: #0b2f24 !important;
}

body.ep-art-receitas .ep-ed-band--dark .ep-receitas-paths .ep-receitas-path .ep-ed-card__text {
  color: rgba(11, 47, 36, 0.92) !important;
}

body.ep-art-receitas .ep-ed-band--dark .ep-receitas-paths .ep-receitas-path .ep-ed-card__tag {
  color: var(--ep-ed-wine, #6f1d2f) !important;
}

body.ep-art-receitas .ep-ed-band--dark .ep-receitas-paths .ep-receitas-path__cta {
  color: #0b2f24 !important;
  background: rgba(212, 175, 55, 0.28) !important;
  border: 1px solid rgba(6, 61, 49, 0.18) !important;
  padding: 0.32rem 0.5rem !important;
  border-radius: 6px !important;
  line-height: 1.3 !important;
}

body.ep-art-receitas .ep-receitas-biblioteca-band .ep-biblioteca-receitas {
  margin-top: 0.55rem;
}

body.ep-art-receitas .ep-receitas-biblioteca-band .ep-biblioteca-list {
  max-height: 12rem;
  overflow: auto;
}

body.ep-art-receitas .ep-receitas-nav.link-grid,
body.ep-art-receitas .link-grid.ep-receitas-nav {
  margin-top: 0.55rem;
  gap: 0.5rem;
}

body.ep-art-receitas .ep-receitas-facts li {
  font-size: 0.84rem;
  line-height: 1.45;
}

body.ep-art-receitas .ep-receitas-root .legal-notice {
  margin-top: 0.25rem;
}

@media (min-width: 768px) {
  body.ep-art-receitas .ep-receitas-classics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.ep-art-receitas .ep-receitas-paths {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  body.ep-art-receitas .ep-receitas-paths {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  body.ep-art-receitas .ep-receitas-classics,
  body.ep-art-receitas .ep-receitas-paths {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-art-receitas .ep-receitas-hero h1 {
    max-width: none;
  }
}

/* ==========================================================================
   35. FASE 3.9A — Receitas: header mobile = padrão Home/Gastronomia aprovado
   ========================================================================== */

@media (max-width: 768px) {
  body.ep-art-receitas.ep-inner-public.ep-scope {
    --ep-home-nav-h: 86px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .topbar {
    display: none;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand toggle"
      "brand langs" !important;
    align-items: center !important;
    column-gap: 0.5rem !important;
    row-gap: 0.3rem !important;
    width: min(100% - 20px, 1240px) !important;
    margin-inline: auto !important;
    padding: 0.45rem max(0.5rem, env(safe-area-inset-right, 0px)) 0.45rem max(0.5rem, env(safe-area-inset-left, 0px)) !important;
    min-height: auto !important;
    box-sizing: border-box !important;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__cluster {
    display: contents !important;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    grid-area: brand !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(calc(100vw - 6rem), 210px) !important;
    padding: 0.28rem 0.45rem !important;
    justify-self: start !important;
    align-self: center !important;
    background: rgba(255, 248, 235, 0.96) !important;
    border: 1px solid rgba(217, 173, 69, 0.32) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2) !important;
    overflow: hidden !important;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__toggle {
    grid-area: toggle !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(212, 175, 55, 0.45) !important;
    border-radius: var(--ep-radius, 8px) !important;
    background: rgba(255, 248, 235, 0.12) !important;
    flex-shrink: 0 !important;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 1px !important;
    background-color: #efe3cc !important;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__lang {
    grid-area: langs !important;
    justify-self: end !important;
    align-self: end !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    padding: 0.12rem !important;
    font-size: 0.62rem !important;
    border-radius: 999px !important;
    gap: 0.15rem !important;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__lang a {
    padding: 0.22rem 0.38rem !important;
    font-size: 0.62rem !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 430px) {
  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    max-width: min(calc(100vw - 5.75rem), 178px) !important;
    padding: 0.24rem 0.38rem !important;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-height: 30px !important;
  }

  body.ep-art-receitas.ep-inner-public.ep-scope .ep-home-header__inner {
    column-gap: 0.4rem !important;
  }
}

/* ==========================================================================
   36. FASE 4.0 — Bacalhau premium editorial + header mobile
   ========================================================================== */

body.ep-art-bacalhau .ep-bacalhau-hero .breadcrumb {
  font-size: 0.78rem;
  margin-bottom: 0.5rem;
}

body.ep-art-bacalhau .ep-bacalhau-hero h1 {
  font-size: clamp(1.35rem, 4.2vw, 2rem);
  line-height: 1.15;
  max-width: 24ch;
  margin-bottom: 0.55rem;
}

body.ep-art-bacalhau .ep-bacalhau-hero__lead {
  font-size: max(0.92rem, var(--ep-font-size-sm));
  line-height: 1.5;
  max-width: 50ch;
  margin: 0 0 0.65rem;
  color: rgba(11, 47, 36, 0.9);
}

body.ep-art-bacalhau .ep-bacalhau-hero__note {
  margin: 0;
  font-size: 0.82rem;
}

body.ep-art-bacalhau .page-hero .ep-bacalhau-hero__cta {
  display: inline-block !important;
  margin-top: 0.15rem;
  padding: 0.48rem 0.9rem !important;
  border-radius: 999px !important;
  background: var(--ep-ed-cream, #f7efe2) !important;
  color: var(--ep-ed-green, #063d31) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid rgba(212, 175, 55, 0.45) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
}

body.ep-art-bacalhau .page-hero .ep-bacalhau-hero__cta:hover {
  background: #fff !important;
  color: var(--ep-ed-wine, #6f1d2f) !important;
}

body.ep-art-bacalhau .ep-bacalhau-root {
  padding-bottom: 1.25rem;
}

body.ep-art-bacalhau .ep-bacalhau-tips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 0.75rem;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
}

body.ep-art-bacalhau .ep-bacalhau-tips li {
  padding: 0.55rem 0.65rem;
  border-radius: 8px;
  background: rgba(6, 61, 49, 0.04);
  border: 1px solid rgba(6, 61, 49, 0.07);
  font-size: 0.82rem;
  line-height: 1.42;
}

body.ep-art-bacalhau .ep-bacalhau-tips li strong {
  display: block;
  font-size: 0.88rem;
  color: var(--ep-ed-green);
  margin-bottom: 0.15rem;
}

body.ep-art-bacalhau .ep-bacalhau-tips li span {
  color: rgba(11, 47, 36, 0.85);
}

body.ep-art-bacalhau .ep-bacalhau-guia-link {
  margin: 0.55rem 0 0;
  font-size: 0.84rem;
}

body.ep-art-bacalhau .ep-bacalhau-steps {
  margin: 0.65rem 0 0;
  padding-left: 1.15rem;
  display: grid;
  gap: 0.45rem;
}

body.ep-art-bacalhau .ep-bacalhau-steps li {
  font-size: 0.84rem;
  line-height: 1.48;
  color: rgba(11, 47, 36, 0.88);
}

body.ep-art-bacalhau .ep-bacalhau-steps li strong {
  color: var(--ep-ed-green);
}

body.ep-art-bacalhau .ep-bacalhau-classics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.65rem;
}

body.ep-art-bacalhau .ep-bacalhau-classic {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
}

body.ep-art-bacalhau .ep-bacalhau-classic__visual {
  min-height: 108px;
  background-size: cover;
  background-position: center;
  border-radius: var(--ep-radius, 10px) var(--ep-radius, 10px) 0 0;
}

body.ep-art-bacalhau .ep-bacalhau-classic__visual--bras {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.35), rgba(111, 29, 47, 0.25)),
    url("/assets/images/receitas/receita-bacalhau-a-bras.jpg");
}

body.ep-art-bacalhau .ep-bacalhau-classic__visual--natas {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.28), rgba(212, 175, 55, 0.2)),
    url("/assets/images/receitas/receita-bacalhau-com-natas.jpg");
}

body.ep-art-bacalhau .ep-bacalhau-classic__visual--gomes {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.28), rgba(6, 61, 49, 0.25)),
    url("/assets/images/receitas/receita-bacalhau-a-gomes-de-sa.jpg");
}

body.ep-art-bacalhau .ep-bacalhau-classic__visual--lagareiro {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.32), rgba(42, 10, 18, 0.35)),
    url("/assets/images/receitas/receita-bacalhau-a-lagareiro.jpg");
}

body.ep-art-bacalhau .ep-bacalhau-classic__visual--bolinho {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.25), rgba(212, 175, 55, 0.22)),
    url("/assets/images/receitas/receita-pasteis-de-bacalhau.jpg");
}

body.ep-art-bacalhau .ep-bacalhau-classic__visual--salada {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.3), rgba(111, 29, 47, 0.22)),
    url("/assets/images/receitas/receita-bacalhau-a-lagareiro.jpg");
}

body.ep-art-bacalhau .ep-bacalhau-classic__cta {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ep-ed-wine);
}

body.ep-art-bacalhau .ep-bacalhau-erros li {
  font-size: 0.84rem;
  line-height: 1.45;
}

body.ep-art-bacalhau .ep-bacalhau-pairings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 0.65rem;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
}

body.ep-art-bacalhau .ep-bacalhau-pairings li {
  padding: 0.5rem 0.55rem;
  border-radius: 8px;
  background: rgba(6, 61, 49, 0.04);
  border: 1px solid rgba(6, 61, 49, 0.07);
  font-size: 0.82rem;
  line-height: 1.42;
}

body.ep-art-bacalhau .ep-bacalhau-pairings li strong {
  color: var(--ep-ed-green);
}

body.ep-art-bacalhau .ep-bacalhau-nav.link-grid {
  margin-top: 0.55rem;
  gap: 0.5rem;
}

body.ep-art-bacalhau .ep-bacalhau-root .legal-notice {
  margin-top: 0.25rem;
}

@media (min-width: 768px) {
  body.ep-art-bacalhau .ep-bacalhau-classics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.ep-art-bacalhau .ep-bacalhau-tips,
  body.ep-art-bacalhau .ep-bacalhau-pairings {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  body.ep-art-bacalhau .ep-bacalhau-classics,
  body.ep-art-bacalhau .ep-bacalhau-tips,
  body.ep-art-bacalhau .ep-bacalhau-pairings {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-art-bacalhau .ep-bacalhau-hero h1 {
    max-width: none;
  }
}

@media (max-width: 768px) {
  body.ep-art-bacalhau.ep-inner-public.ep-scope {
    --ep-home-nav-h: 86px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .topbar {
    display: none;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand toggle"
      "brand langs" !important;
    align-items: center !important;
    column-gap: 0.5rem !important;
    row-gap: 0.3rem !important;
    width: min(100% - 20px, 1240px) !important;
    margin-inline: auto !important;
    padding: 0.45rem max(0.5rem, env(safe-area-inset-left, 0px)) 0.45rem max(0.5rem, env(safe-area-inset-right, 0px)) !important;
    min-height: auto !important;
    box-sizing: border-box !important;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__cluster {
    display: contents !important;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    grid-area: brand !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(calc(100vw - 6rem), 210px) !important;
    padding: 0.28rem 0.45rem !important;
    justify-self: start !important;
    align-self: center !important;
    background: rgba(255, 248, 235, 0.96) !important;
    border: 1px solid rgba(217, 173, 69, 0.32) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2) !important;
    overflow: hidden !important;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__toggle {
    grid-area: toggle !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(212, 175, 55, 0.45) !important;
    border-radius: var(--ep-radius, 8px) !important;
    background: rgba(255, 248, 235, 0.12) !important;
    flex-shrink: 0 !important;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 1px !important;
    background-color: #efe3cc !important;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__lang {
    grid-area: langs !important;
    justify-self: end !important;
    align-self: end !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    padding: 0.12rem !important;
    font-size: 0.62rem !important;
    border-radius: 999px !important;
    gap: 0.15rem !important;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__lang a {
    padding: 0.22rem 0.38rem !important;
    font-size: 0.62rem !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 430px) {
  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    max-width: min(calc(100vw - 5.75rem), 178px) !important;
    padding: 0.24rem 0.38rem !important;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-height: 30px !important;
  }

  body.ep-art-bacalhau.ep-inner-public.ep-scope .ep-home-header__inner {
    column-gap: 0.4rem !important;
  }
}

/* ==========================================================================
   37. FASE 4.1 — Biblioteca Bacalhau (accordion + itens)
   ========================================================================== */

body.ep-art-bacalhau .ep-bacalhau-honesty {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  font-size: 0.84rem;
  line-height: 1.48;
  color: rgba(11, 47, 36, 0.92);
}

body.ep-art-bacalhau .ep-bacalhau-honesty strong {
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-bacalhau .page-hero .ep-bacalhau-hero__cta--ghost {
  margin-left: 0.35rem;
  background: transparent !important;
  border-style: dashed !important;
  box-shadow: none !important;
}

body.ep-art-bacalhau .ep-bacalhau-library-band {
  scroll-margin-top: calc(var(--ep-home-header-offset, 80px) + 0.5rem);
}

body.ep-art-bacalhau .ep-bacalhau-lib-accordion {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

body.ep-art-bacalhau .ep-bacalhau-lib-cat {
  border: 1px solid rgba(6, 61, 49, 0.1);
  border-radius: 10px;
  background: rgba(255, 252, 245, 0.65);
  overflow: hidden;
}

body.ep-art-bacalhau .ep-bacalhau-lib-cat__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.6rem 0.75rem;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  color: var(--ep-ed-green, #063d31);
  background: rgba(6, 61, 49, 0.04);
}

body.ep-art-bacalhau .ep-bacalhau-lib-cat__summary::-webkit-details-marker {
  display: none;
}

body.ep-art-bacalhau .ep-bacalhau-lib-cat__summary::before {
  content: "+";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: rgba(6, 61, 49, 0.08);
  font-size: 0.9rem;
  margin-right: 0.35rem;
}

body.ep-art-bacalhau .ep-bacalhau-lib-cat[open] .ep-bacalhau-lib-cat__summary::before {
  content: "−";
}

body.ep-art-bacalhau .ep-bacalhau-lib-cat__title {
  flex: 1;
  font-size: 0.92rem;
}

body.ep-art-bacalhau .ep-bacalhau-lib-cat__count {
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(11, 47, 36, 0.65);
  white-space: nowrap;
}

body.ep-art-bacalhau .ep-bacalhau-lib-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  padding: 0.45rem 0.55rem 0.6rem;
}

body.ep-art-bacalhau .ep-bacalhau-lib-item {
  display: grid;
  gap: 0.25rem;
  padding: 0.55rem 0.6rem;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(6, 61, 49, 0.08);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.ep-art-bacalhau a.ep-bacalhau-lib-item:hover {
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

body.ep-art-bacalhau .ep-bacalhau-lib-item--static {
  background: rgba(6, 61, 49, 0.02);
}

body.ep-art-bacalhau .ep-bacalhau-lib-item__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.35rem;
}

body.ep-art-bacalhau .ep-bacalhau-lib-item__title {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.25;
  color: var(--ep-ed-green, #063d31);
  font-weight: 600;
}

body.ep-art-bacalhau .ep-bacalhau-lib-item__status {
  flex-shrink: 0;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.15rem 0.35rem;
  border-radius: 999px;
  line-height: 1.2;
}

body.ep-art-bacalhau .ep-bacalhau-lib-item__status--receita-publicada,
body.ep-art-bacalhau .ep-bacalhau-lib-item__status--guia-editorial {
  background: rgba(6, 61, 49, 0.1);
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-bacalhau .ep-bacalhau-lib-item__status--em-curadoria {
  background: rgba(111, 29, 47, 0.08);
  color: var(--ep-ed-wine, #6f1d2f);
}

body.ep-art-bacalhau .ep-bacalhau-lib-item__status--em-desenvolvimento {
  background: rgba(212, 175, 55, 0.18);
  color: #5c4a12;
}

body.ep-art-bacalhau .ep-bacalhau-lib-item__desc {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.42;
  color: rgba(11, 47, 36, 0.82);
}

body.ep-art-bacalhau .ep-bacalhau-lib-item__type {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-bacalhau .ep-bacalhau-lib-item__cta {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--ep-ed-wine, #6f1d2f);
  margin-top: 0.1rem;
}

body.ep-art-bacalhau .ep-bacalhau-lib-item--static .ep-bacalhau-lib-item__cta {
  color: rgba(11, 47, 36, 0.55);
}

@media (min-width: 768px) {
  body.ep-art-bacalhau .ep-bacalhau-lib-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  body.ep-art-bacalhau .ep-bacalhau-lib-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-art-bacalhau .ep-bacalhau-honesty {
    font-size: 0.8rem;
  }
}

/* ==========================================================================
   38. FASE 4.2 — Biblioteca Doces Portugueses (accordion + destaques + header mobile)
   ========================================================================== */

body.ep-art-doces .ep-doces-hero .breadcrumb {
  font-size: 0.78rem;
  margin-bottom: 0.5rem;
}

body.ep-art-doces .ep-doces-hero h1 {
  font-family: var(--ep-font-serif, Georgia, serif);
  font-size: clamp(1.55rem, 4.2vw, 2.15rem);
  line-height: 1.12;
  max-width: 18ch;
}

body.ep-art-doces .ep-doces-hero__lead {
  font-size: 0.92rem;
  line-height: 1.52;
  max-width: 48ch;
  color: rgba(11, 47, 36, 0.88);
  margin-top: 0.55rem;
}

body.ep-art-doces .ep-doces-hero__note {
  margin-top: 0.65rem;
  font-size: 0.82rem;
}

body.ep-art-doces .page-hero .ep-doces-hero__cta {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  background: var(--ep-ed-wine, #6f1d2f);
  color: #fff !important;
  font-weight: 600;
  font-size: 0.78rem;
  text-decoration: none;
  border: 1px solid transparent;
}

body.ep-art-doces .page-hero .ep-doces-hero__cta:hover {
  background: #5a1726;
}

body.ep-art-doces .ep-doces-root {
  padding-bottom: 1.25rem;
}

body.ep-art-doces .ep-doces-honesty {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  font-size: 0.84rem;
  line-height: 1.48;
  color: rgba(11, 47, 36, 0.92);
}

body.ep-art-doces .ep-doces-honesty strong {
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-doces .page-hero .ep-doces-hero__cta--ghost {
  margin-left: 0.35rem;
  background: transparent !important;
  color: var(--ep-ed-wine, #6f1d2f) !important;
  border: 1px dashed rgba(111, 29, 47, 0.45) !important;
  box-shadow: none !important;
}

body.ep-art-doces .ep-doces-library-band {
  scroll-margin-top: calc(var(--ep-home-header-offset, 80px) + 0.5rem);
}

body.ep-art-doces .ep-doces-classics {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 0.55rem;
}

body.ep-art-doces .ep-doces-classic {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(6, 61, 49, 0.08);
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.ep-art-doces a.ep-doces-classic:hover {
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

body.ep-art-doces .ep-doces-classic__visual {
  min-height: 108px;
  background-size: cover;
  background-position: center;
}

body.ep-art-doces .ep-doces-classic__visual--pastel {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.35), rgba(212, 175, 55, 0.25)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-doces .ep-doces-classic__visual--queijada {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.3), rgba(212, 175, 55, 0.28)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-doces .ep-doces-classic__visual--travesseiro {
  background-image: linear-gradient(135deg, rgba(212, 175, 55, 0.32), rgba(111, 29, 47, 0.22)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-doces .ep-doces-classic__visual--toucinho {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.38), rgba(6, 61, 49, 0.25)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-doces .ep-doces-classic__visual--pao-de-lo {
  background-image: linear-gradient(135deg, rgba(212, 175, 55, 0.35), rgba(255, 252, 245, 0.2)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-doces .ep-doces-classic__visual--ovos-moles {
  background-image: linear-gradient(135deg, rgba(255, 220, 120, 0.35), rgba(111, 29, 47, 0.2)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-doces .ep-doces-classic__visual--arroz-doce {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.28), rgba(255, 252, 245, 0.15)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-doces .ep-doces-classic__visual--bolo-de-mel {
  background-image: linear-gradient(135deg, rgba(92, 58, 18, 0.45), rgba(212, 175, 55, 0.25)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-doces .ep-doces-classic__cta {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ep-ed-wine, #6f1d2f);
}

body.ep-art-doces .ep-doces-classic--static .ep-doces-classic__cta {
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-doces .ep-doces-lib-accordion {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

body.ep-art-doces .ep-doces-lib-cat {
  border: 1px solid rgba(6, 61, 49, 0.1);
  border-radius: 10px;
  background: rgba(255, 252, 245, 0.65);
  overflow: hidden;
}

body.ep-art-doces .ep-doces-lib-cat__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.6rem 0.75rem;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  color: var(--ep-ed-green, #063d31);
  background: rgba(6, 61, 49, 0.04);
}

body.ep-art-doces .ep-doces-lib-cat__summary::-webkit-details-marker {
  display: none;
}

body.ep-art-doces .ep-doces-lib-cat__summary::before {
  content: "+";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: rgba(6, 61, 49, 0.08);
  font-size: 0.9rem;
  margin-right: 0.35rem;
}

body.ep-art-doces .ep-doces-lib-cat[open] .ep-doces-lib-cat__summary::before {
  content: "−";
}

body.ep-art-doces .ep-doces-lib-cat__title {
  flex: 1;
  font-size: 0.92rem;
}

body.ep-art-doces .ep-doces-lib-cat__count {
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(11, 47, 36, 0.65);
  white-space: nowrap;
}

body.ep-art-doces .ep-doces-lib-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  padding: 0.45rem 0.55rem 0.6rem;
}

body.ep-art-doces .ep-doces-lib-item {
  display: grid;
  gap: 0.25rem;
  padding: 0.55rem 0.6rem;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(6, 61, 49, 0.08);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.ep-art-doces a.ep-doces-lib-item:hover {
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

body.ep-art-doces .ep-doces-lib-item--static {
  background: rgba(6, 61, 49, 0.02);
}

body.ep-art-doces .ep-doces-lib-item__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.35rem;
}

body.ep-art-doces .ep-doces-lib-item__title {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.25;
  color: var(--ep-ed-green, #063d31);
  font-weight: 600;
}

body.ep-art-doces .ep-doces-lib-item__status {
  flex-shrink: 0;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.15rem 0.35rem;
  border-radius: 999px;
  line-height: 1.2;
}

body.ep-art-doces .ep-doces-lib-item__status--receita-publicada,
body.ep-art-doces .ep-doces-lib-item__status--guia-editorial {
  background: rgba(6, 61, 49, 0.1);
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-doces .ep-doces-lib-item__status--em-curadoria {
  background: rgba(111, 29, 47, 0.08);
  color: var(--ep-ed-wine, #6f1d2f);
}

body.ep-art-doces .ep-doces-lib-item__status--em-desenvolvimento {
  background: rgba(212, 175, 55, 0.18);
  color: #5c4a12;
}

body.ep-art-doces .ep-doces-lib-item__desc {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.42;
  color: rgba(11, 47, 36, 0.82);
}

body.ep-art-doces .ep-doces-lib-item__type {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-doces .ep-doces-lib-item__cta {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--ep-ed-wine, #6f1d2f);
  margin-top: 0.1rem;
}

body.ep-art-doces .ep-doces-lib-item--static .ep-doces-lib-item__cta {
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-doces .ep-doces-curiosidades {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
}

body.ep-art-doces .ep-doces-curiosidades li {
  margin-bottom: 0.35rem;
  line-height: 1.48;
  font-size: 0.88rem;
}

body.ep-art-doces .ep-doces-nav .link-card {
  min-height: 100%;
}

@media (min-width: 768px) {
  body.ep-art-doces .ep-doces-lib-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.ep-art-doces .ep-doces-classics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  body.ep-art-doces .ep-doces-lib-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-art-doces .ep-doces-honesty {
    font-size: 0.8rem;
  }

  body.ep-art-doces .ep-doces-hero h1 {
    max-width: none;
  }
}

@media (max-width: 768px) {
  body.ep-art-doces.ep-inner-public.ep-scope {
    --ep-home-nav-h: 86px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
  }

  body.ep-art-doces.ep-inner-public.ep-scope .topbar {
    display: none;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand toggle"
      "brand langs" !important;
    align-items: center !important;
    column-gap: 0.5rem !important;
    row-gap: 0.3rem !important;
    width: min(100% - 20px, 1240px) !important;
    margin-inline: auto !important;
    padding: 0.45rem max(0.5rem, env(safe-area-inset-left, 0px)) 0.45rem max(0.5rem, env(safe-area-inset-right, 0px)) !important;
    min-height: auto !important;
    box-sizing: border-box !important;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__cluster {
    display: contents !important;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    grid-area: brand !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(calc(100vw - 6rem), 210px) !important;
    padding: 0.28rem 0.45rem !important;
    justify-self: start !important;
    align-self: center !important;
    background: rgba(255, 248, 235, 0.96) !important;
    border: 1px solid rgba(217, 173, 69, 0.32) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2) !important;
    overflow: hidden !important;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__toggle {
    grid-area: toggle !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(212, 175, 55, 0.45) !important;
    border-radius: var(--ep-radius, 8px) !important;
    background: rgba(255, 248, 235, 0.12) !important;
    flex-shrink: 0 !important;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 1px !important;
    background-color: #efe3cc !important;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__lang {
    grid-area: langs !important;
    justify-self: end !important;
    align-self: end !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    padding: 0.12rem !important;
    font-size: 0.62rem !important;
    border-radius: 999px !important;
    gap: 0.15rem !important;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__lang a {
    padding: 0.22rem 0.38rem !important;
    font-size: 0.62rem !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 430px) {
  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    max-width: min(calc(100vw - 5.75rem), 178px) !important;
    padding: 0.24rem 0.38rem !important;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-height: 30px !important;
  }

  body.ep-art-doces.ep-inner-public.ep-scope .ep-home-header__inner {
    column-gap: 0.4rem !important;
  }
}

/* ==========================================================================
   
/* ==========================================================================
   39. FASE 4.3 — Biblioteca Receitas Regionais Portuguesas (accordion + destaques + header mobile)
   ========================================================================== */

body.ep-art-regionais .ep-regionais-hero .breadcrumb {
  font-size: 0.78rem;
  margin-bottom: 0.5rem;
}

body.ep-art-regionais .ep-regionais-hero h1 {
  font-family: var(--ep-font-serif, Georgia, serif);
  font-size: clamp(1.55rem, 4.2vw, 2.15rem);
  line-height: 1.12;
  max-width: 18ch;
}

body.ep-art-regionais .ep-regionais-hero__lead {
  font-size: 0.92rem;
  line-height: 1.52;
  max-width: 48ch;
  color: rgba(11, 47, 36, 0.88);
  margin-top: 0.55rem;
}

body.ep-art-regionais .ep-regionais-hero__note {
  margin-top: 0.65rem;
  font-size: 0.82rem;
}

body.ep-art-regionais .page-hero .ep-regionais-hero__cta {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  background: var(--ep-ed-wine, #6f1d2f);
  color: #fff !important;
  font-weight: 600;
  font-size: 0.78rem;
  text-decoration: none;
  border: 1px solid transparent;
}

body.ep-art-regionais .page-hero .ep-regionais-hero__cta:hover {
  background: #5a1726;
}

body.ep-art-regionais .ep-regionais-root {
  padding-bottom: 1.25rem;
}

body.ep-art-regionais .ep-regionais-honesty {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  font-size: 0.84rem;
  line-height: 1.48;
  color: rgba(11, 47, 36, 0.92);
}

body.ep-art-regionais .ep-regionais-honesty strong {
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-regionais .page-hero .ep-regionais-hero__cta--ghost {
  margin-left: 0.35rem;
  background: transparent !important;
  color: var(--ep-ed-wine, #6f1d2f) !important;
  border: 1px dashed rgba(111, 29, 47, 0.45) !important;
  box-shadow: none !important;
}

body.ep-art-regionais .ep-regionais-library-band {
  scroll-margin-top: calc(var(--ep-home-header-offset, 80px) + 0.5rem);
}

body.ep-art-regionais .ep-regionais-classics {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 0.55rem;
}

body.ep-art-regionais .ep-regionais-classic {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(6, 61, 49, 0.08);
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.ep-art-regionais a.ep-regionais-classic:hover {
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}


body.ep-art-regionais .ep-regionais-classic__visual--caldo-verde {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.35), rgba(212, 175, 55, 0.22)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-regionais .ep-regionais-classic__visual--francesinha {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.38), rgba(6, 61, 49, 0.25)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-regionais .ep-regionais-classic__visual--gomes-de-sa {
  background-image: linear-gradient(135deg, rgba(255, 252, 245, 0.2), rgba(6, 61, 49, 0.32)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-regionais .ep-regionais-classic__visual--carne-alentejana {
  background-image: linear-gradient(135deg, rgba(212, 175, 55, 0.3), rgba(111, 29, 47, 0.22)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-regionais .ep-regionais-classic__visual--acorda {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.28), rgba(255, 252, 245, 0.15)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-regionais .ep-regionais-classic__visual--cataplana {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.32), rgba(212, 175, 55, 0.25)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-regionais .ep-regionais-classic__visual--espetada {
  background-image: linear-gradient(135deg, rgba(92, 58, 18, 0.4), rgba(212, 175, 55, 0.22)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-regionais .ep-regionais-classic__visual--cozido-furnas {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.35), rgba(111, 29, 47, 0.2)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-regionais .ep-regionais-classic__visual--queijadas {
  background-image: linear-gradient(135deg, rgba(212, 175, 55, 0.32), rgba(111, 29, 47, 0.2)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-regionais .ep-regionais-classic__visual {
  min-height: 108px;
  background-size: cover;
  background-position: center;
}









body.ep-art-regionais .ep-regionais-classic__cta {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ep-ed-wine, #6f1d2f);
}

body.ep-art-regionais .ep-regionais-classic--static .ep-regionais-classic__cta {
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-regionais .ep-regionais-lib-accordion {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

body.ep-art-regionais .ep-regionais-lib-cat {
  border: 1px solid rgba(6, 61, 49, 0.1);
  border-radius: 10px;
  background: rgba(255, 252, 245, 0.65);
  overflow: hidden;
}

body.ep-art-regionais .ep-regionais-lib-cat__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.6rem 0.75rem;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  color: var(--ep-ed-green, #063d31);
  background: rgba(6, 61, 49, 0.04);
}

body.ep-art-regionais .ep-regionais-lib-cat__summary::-webkit-details-marker {
  display: none;
}

body.ep-art-regionais .ep-regionais-lib-cat__summary::before {
  content: "+";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: rgba(6, 61, 49, 0.08);
  font-size: 0.9rem;
  margin-right: 0.35rem;
}

body.ep-art-regionais .ep-regionais-lib-cat[open] .ep-regionais-lib-cat__summary::before {
  content: "−";
}

body.ep-art-regionais .ep-regionais-lib-cat__title {
  flex: 1;
  font-size: 0.92rem;
}

body.ep-art-regionais .ep-regionais-lib-cat__count {
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(11, 47, 36, 0.65);
  white-space: nowrap;
}

body.ep-art-regionais .ep-regionais-lib-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  padding: 0.45rem 0.55rem 0.6rem;
}

body.ep-art-regionais .ep-regionais-lib-item {
  display: grid;
  gap: 0.25rem;
  padding: 0.55rem 0.6rem;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(6, 61, 49, 0.08);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.ep-art-regionais a.ep-regionais-lib-item:hover {
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

body.ep-art-regionais .ep-regionais-lib-item--static {
  background: rgba(6, 61, 49, 0.02);
}

body.ep-art-regionais .ep-regionais-lib-item__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.35rem;
}

body.ep-art-regionais .ep-regionais-lib-item__title {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.25;
  color: var(--ep-ed-green, #063d31);
  font-weight: 600;
}

body.ep-art-regionais .ep-regionais-lib-item__status {
  flex-shrink: 0;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.15rem 0.35rem;
  border-radius: 999px;
  line-height: 1.2;
}

body.ep-art-regionais .ep-regionais-lib-item__status--receita-publicada,
body.ep-art-regionais .ep-regionais-lib-item__status--guia-editorial {
  background: rgba(6, 61, 49, 0.1);
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-regionais .ep-regionais-lib-item__status--em-curadoria {
  background: rgba(111, 29, 47, 0.08);
  color: var(--ep-ed-wine, #6f1d2f);
}

body.ep-art-regionais .ep-regionais-lib-item__status--em-desenvolvimento {
  background: rgba(212, 175, 55, 0.18);
  color: #5c4a12;
}

body.ep-art-regionais .ep-regionais-lib-item__desc {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.42;
  color: rgba(11, 47, 36, 0.82);
}

body.ep-art-regionais .ep-regionais-lib-item__type {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-regionais .ep-regionais-lib-item__cta {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--ep-ed-wine, #6f1d2f);
  margin-top: 0.1rem;
}

body.ep-art-regionais .ep-regionais-lib-item--static .ep-regionais-lib-item__cta {
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-regionais .ep-regionais-curiosidades {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
}

body.ep-art-regionais .ep-regionais-curiosidades li {
  margin-bottom: 0.35rem;
  line-height: 1.48;
  font-size: 0.88rem;
}

body.ep-art-regionais .ep-regionais-nav .link-card {
  min-height: 100%;
}

@media (min-width: 768px) {
  body.ep-art-regionais .ep-regionais-lib-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.ep-art-regionais .ep-regionais-classics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  body.ep-art-regionais .ep-regionais-lib-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-art-regionais .ep-regionais-honesty {
    font-size: 0.8rem;
  }

  body.ep-art-regionais .ep-regionais-hero h1 {
    max-width: none;
  }
}

@media (max-width: 768px) {
  body.ep-art-regionais.ep-inner-public.ep-scope {
    --ep-home-nav-h: 86px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .topbar {
    display: none;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand toggle"
      "brand langs" !important;
    align-items: center !important;
    column-gap: 0.5rem !important;
    row-gap: 0.3rem !important;
    width: min(100% - 20px, 1240px) !important;
    margin-inline: auto !important;
    padding: 0.45rem max(0.5rem, env(safe-area-inset-left, 0px)) 0.45rem max(0.5rem, env(safe-area-inset-right, 0px)) !important;
    min-height: auto !important;
    box-sizing: border-box !important;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__cluster {
    display: contents !important;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    grid-area: brand !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(calc(100vw - 6rem), 210px) !important;
    padding: 0.28rem 0.45rem !important;
    justify-self: start !important;
    align-self: center !important;
    background: rgba(255, 248, 235, 0.96) !important;
    border: 1px solid rgba(217, 173, 69, 0.32) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2) !important;
    overflow: hidden !important;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__toggle {
    grid-area: toggle !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(212, 175, 55, 0.45) !important;
    border-radius: var(--ep-radius, 8px) !important;
    background: rgba(255, 248, 235, 0.12) !important;
    flex-shrink: 0 !important;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 1px !important;
    background-color: #efe3cc !important;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__lang {
    grid-area: langs !important;
    justify-self: end !important;
    align-self: end !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    padding: 0.12rem !important;
    font-size: 0.62rem !important;
    border-radius: 999px !important;
    gap: 0.15rem !important;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__lang a {
    padding: 0.22rem 0.38rem !important;
    font-size: 0.62rem !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 430px) {
  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    max-width: min(calc(100vw - 5.75rem), 178px) !important;
    padding: 0.24rem 0.38rem !important;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-height: 30px !important;
  }

  body.ep-art-regionais.ep-inner-public.ep-scope .ep-home-header__inner {
    column-gap: 0.4rem !important;
  }
}

/* ==========================================================================
   
/* ==========================================================================
   40. FASE 4.4 — Biblioteca Guias da Cozinha Portuguesa (accordion + destaques + header mobile) /* EP_PREMIUM_CSS_V50 */
   ========================================================================== */

body.ep-art-guias .ep-guias-hero .breadcrumb {
  font-size: 0.78rem;
  margin-bottom: 0.5rem;
}

body.ep-art-guias .ep-guias-hero h1 {
  font-family: var(--ep-font-serif, Georgia, serif);
  font-size: clamp(1.55rem, 4.2vw, 2.15rem);
  line-height: 1.12;
  max-width: 18ch;
}

body.ep-art-guias .ep-guias-hero__lead {
  font-size: 0.92rem;
  line-height: 1.52;
  max-width: 48ch;
  color: rgba(11, 47, 36, 0.88);
  margin-top: 0.55rem;
}

body.ep-art-guias .ep-guias-hero__note {
  margin-top: 0.65rem;
  font-size: 0.82rem;
}

body.ep-art-guias .page-hero .ep-guias-hero__cta {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  background: var(--ep-ed-wine, #6f1d2f);
  color: #fff !important;
  font-weight: 600;
  font-size: 0.78rem;
  text-decoration: none;
  border: 1px solid transparent;
}

body.ep-art-guias .page-hero .ep-guias-hero__cta:hover {
  background: #5a1726;
}

body.ep-art-guias .ep-guias-root {
  padding-bottom: 1.25rem;
}

body.ep-art-guias .ep-guias-honesty {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  font-size: 0.84rem;
  line-height: 1.48;
  color: rgba(11, 47, 36, 0.92);
}

body.ep-art-guias .ep-guias-honesty strong {
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-guias .page-hero .ep-guias-hero__cta--ghost {
  margin-left: 0.35rem;
  background: transparent !important;
  color: var(--ep-ed-wine, #6f1d2f) !important;
  border: 1px dashed rgba(111, 29, 47, 0.45) !important;
  box-shadow: none !important;
}

body.ep-art-guias .ep-guias-library-band {
  scroll-margin-top: calc(var(--ep-home-header-offset, 80px) + 0.5rem);
}

body.ep-art-guias .ep-guias-classics {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 0.55rem;
}

body.ep-art-guias .ep-guias-classic {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(6, 61, 49, 0.08);
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.ep-art-guias a.ep-guias-classic:hover {
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}












body.ep-art-guias .ep-guias-classic__visual--dessalgar-bacalhau {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.35), rgba(255, 252, 245, 0.18)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-guias .ep-guias-classic__visual--escolher-bacalhau {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.32), rgba(6, 61, 49, 0.28)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-guias .ep-guias-classic__visual--azeite-portugues {
  background-image: linear-gradient(135deg, rgba(212, 175, 55, 0.32), rgba(6, 61, 49, 0.22)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-guias .ep-guias-classic__visual--mesa-portuguesa {
  background-image: linear-gradient(135deg, rgba(92, 58, 18, 0.35), rgba(212, 175, 55, 0.22)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-guias .ep-guias-classic__visual--doces-portugueses {
  background-image: linear-gradient(135deg, rgba(212, 175, 55, 0.3), rgba(111, 29, 47, 0.2)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-guias .ep-guias-classic__visual--vinhos-portugueses {
  background-image: linear-gradient(135deg, rgba(111, 29, 47, 0.38), rgba(6, 61, 49, 0.25)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-guias .ep-guias-classic__visual--caldos-sopas {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.32), rgba(212, 175, 55, 0.2)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-guias .ep-guias-classic__visual--queijos-enchidos {
  background-image: linear-gradient(135deg, rgba(255, 252, 245, 0.15), rgba(92, 58, 18, 0.35)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-guias .ep-guias-classic__visual--ceia-portuguesa {
  background-image: linear-gradient(135deg, rgba(6, 61, 49, 0.35), rgba(111, 29, 47, 0.28)), url("/assets/images/premium/pillar-gastronomia-portuguesa-cover.jpg");
}

body.ep-art-guias .ep-guias-classic__visual {
  min-height: 108px;
  background-size: cover;
  background-position: center;
}









body.ep-art-guias .ep-guias-classic__cta {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ep-ed-wine, #6f1d2f);
}

body.ep-art-guias .ep-guias-classic--static .ep-guias-classic__cta {
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-guias .ep-guias-lib-accordion {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

body.ep-art-guias .ep-guias-lib-cat {
  border: 1px solid rgba(6, 61, 49, 0.1);
  border-radius: 10px;
  background: rgba(255, 252, 245, 0.65);
  overflow: hidden;
}

body.ep-art-guias .ep-guias-lib-cat__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.6rem 0.75rem;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  color: var(--ep-ed-green, #063d31);
  background: rgba(6, 61, 49, 0.04);
}

body.ep-art-guias .ep-guias-lib-cat__summary::-webkit-details-marker {
  display: none;
}

body.ep-art-guias .ep-guias-lib-cat__summary::before {
  content: "+";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: rgba(6, 61, 49, 0.08);
  font-size: 0.9rem;
  margin-right: 0.35rem;
}

body.ep-art-guias .ep-guias-lib-cat[open] .ep-guias-lib-cat__summary::before {
  content: "−";
}

body.ep-art-guias .ep-guias-lib-cat__title {
  flex: 1;
  font-size: 0.92rem;
}

body.ep-art-guias .ep-guias-lib-cat__count {
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(11, 47, 36, 0.65);
  white-space: nowrap;
}

body.ep-art-guias .ep-guias-lib-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  padding: 0.45rem 0.55rem 0.6rem;
}

body.ep-art-guias .ep-guias-lib-item {
  display: grid;
  gap: 0.25rem;
  padding: 0.55rem 0.6rem;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(6, 61, 49, 0.08);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.ep-art-guias a.ep-guias-lib-item:hover {
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

body.ep-art-guias .ep-guias-lib-item--static {
  background: rgba(6, 61, 49, 0.02);
}

body.ep-art-guias .ep-guias-lib-item__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.35rem;
}

body.ep-art-guias .ep-guias-lib-item__title {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.25;
  color: var(--ep-ed-green, #063d31);
  font-weight: 600;
}

body.ep-art-guias .ep-guias-lib-item__status {
  flex-shrink: 0;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.15rem 0.35rem;
  border-radius: 999px;
  line-height: 1.2;
}

body.ep-art-guias .ep-guias-lib-item__status--receita-publicada,
body.ep-art-guias .ep-guias-lib-item__status--guia-editorial {
  background: rgba(6, 61, 49, 0.1);
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-guias .ep-guias-lib-item__status--em-curadoria {
  background: rgba(111, 29, 47, 0.08);
  color: var(--ep-ed-wine, #6f1d2f);
}

body.ep-art-guias .ep-guias-lib-item__status--em-desenvolvimento {
  background: rgba(212, 175, 55, 0.18);
  color: #5c4a12;
}

body.ep-art-guias .ep-guias-lib-item__desc {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.42;
  color: rgba(11, 47, 36, 0.82);
}

body.ep-art-guias .ep-guias-lib-item__type {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-guias .ep-guias-lib-item__cta {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--ep-ed-wine, #6f1d2f);
  margin-top: 0.1rem;
}

body.ep-art-guias .ep-guias-lib-item--static .ep-guias-lib-item__cta {
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-guias .ep-guias-curiosidades {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
}

body.ep-art-guias .ep-guias-curiosidades li {
  margin-bottom: 0.35rem;
  line-height: 1.48;
  font-size: 0.88rem;
}

body.ep-art-guias .ep-guias-nav .link-card {
  min-height: 100%;
}

@media (min-width: 768px) {
  body.ep-art-guias .ep-guias-lib-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.ep-art-guias .ep-guias-classics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  body.ep-art-guias .ep-guias-lib-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-art-guias .ep-guias-honesty {
    font-size: 0.8rem;
  }

  body.ep-art-guias .ep-guias-hero h1 {
    max-width: none;
  }
}

@media (max-width: 768px) {
  body.ep-art-guias.ep-inner-public.ep-scope {
    --ep-home-nav-h: 86px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
  }

  body.ep-art-guias.ep-inner-public.ep-scope .topbar {
    display: none;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand toggle"
      "brand langs" !important;
    align-items: center !important;
    column-gap: 0.5rem !important;
    row-gap: 0.3rem !important;
    width: min(100% - 20px, 1240px) !important;
    margin-inline: auto !important;
    padding: 0.45rem max(0.5rem, env(safe-area-inset-left, 0px)) 0.45rem max(0.5rem, env(safe-area-inset-right, 0px)) !important;
    min-height: auto !important;
    box-sizing: border-box !important;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__cluster {
    display: contents !important;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    grid-area: brand !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(calc(100vw - 6rem), 210px) !important;
    padding: 0.28rem 0.45rem !important;
    justify-self: start !important;
    align-self: center !important;
    background: rgba(255, 248, 235, 0.96) !important;
    border: 1px solid rgba(217, 173, 69, 0.32) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2) !important;
    overflow: hidden !important;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__toggle {
    grid-area: toggle !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(212, 175, 55, 0.45) !important;
    border-radius: var(--ep-radius, 8px) !important;
    background: rgba(255, 248, 235, 0.12) !important;
    flex-shrink: 0 !important;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 1px !important;
    background-color: #efe3cc !important;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__lang {
    grid-area: langs !important;
    justify-self: end !important;
    align-self: end !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    padding: 0.12rem !important;
    font-size: 0.62rem !important;
    border-radius: 999px !important;
    gap: 0.15rem !important;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__lang a {
    padding: 0.22rem 0.38rem !important;
    font-size: 0.62rem !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 430px) {
  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    max-width: min(calc(100vw - 5.75rem), 178px) !important;
    padding: 0.24rem 0.38rem !important;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-height: 30px !important;
  }

  body.ep-art-guias.ep-inner-public.ep-scope .ep-home-header__inner {
    column-gap: 0.4rem !important;
  }
}

/* ==========================================================================
   
body.ep-art-guias .ep-guias-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1rem;
  margin: 0 0 2rem;
  padding: 1rem 1.15rem;
  border-radius: 12px;
  background: rgba(6, 61, 49, 0.06);
  border: 1px solid rgba(6, 61, 49, 0.12);
}

body.ep-art-guias .ep-guias-nav__link {
  font-weight: 600;
  color: var(--ep-ink, #1a2e28);
  text-decoration: none;
}

body.ep-art-guias .ep-guias-nav__link:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  body.ep-art-guias .ep-guias-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ==========================================================================
   43. FASE 4.7 — Contato institucional (canais + formulário + passos) /* EP_PREMIUM_CSS_V53 */
   ========================================================================== */

body.ep-art-contato .ep-contato-hero .breadcrumb {
  font-size: 0.78rem;
  margin-bottom: 0.5rem;
}

body.ep-art-contato .ep-contato-hero h1 {
  font-family: var(--ep-font-serif, Georgia, serif);
  font-size: clamp(1.55rem, 4.2vw, 2.15rem);
  line-height: 1.12;
  max-width: 18ch;
}

body.ep-art-contato .ep-contato-hero__lead {
  font-size: 0.92rem;
  line-height: 1.52;
  max-width: 48ch;
  color: rgba(11, 47, 36, 0.88);
  margin-top: 0.55rem;
}

body.ep-art-contato .ep-contato-hero__note {
  margin-top: 0.65rem;
  font-size: 0.82rem;
}

body.ep-art-contato .page-hero .ep-contato-hero__cta {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  background: var(--ep-ed-wine, #6f1d2f);
  color: #fff !important;
  font-weight: 600;
  font-size: 0.78rem;
  text-decoration: none;
  border: 1px solid transparent;
}

body.ep-art-contato .page-hero .ep-contato-hero__cta:hover {
  background: #5a1726;
}

body.ep-art-contato .ep-contato-root {
  padding-bottom: 1.25rem;
}

body.ep-art-contato .ep-contato-honesty {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  font-size: 0.84rem;
  line-height: 1.48;
  color: rgba(11, 47, 36, 0.92);
}

body.ep-art-contato .ep-contato-honesty strong {
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-contato .page-hero .ep-contato-hero__cta--ghost {
  margin-left: 0.35rem;
  background: transparent !important;
  color: var(--ep-ed-wine, #6f1d2f) !important;
  border: 1px dashed rgba(111, 29, 47, 0.45) !important;
  box-shadow: none !important;
}


body.ep-art-contato .ep-contato-vitrine {
  margin: 0 0 0.75rem;
  padding: 0.7rem 0.8rem;
  border-radius: 10px;
  background: rgba(111, 29, 47, 0.08);
  border: 1px solid rgba(111, 29, 47, 0.22);
  font-size: 0.84rem;
  line-height: 1.48;
}
body.ep-art-contato .ep-contato-regulatorio {
  margin: 0.85rem 0 0;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(6, 61, 49, 0.06);
  border: 1px dashed rgba(6, 61, 49, 0.2);
  font-size: 0.82rem;
  line-height: 1.45;
}
body.ep-art-contato .ep-contato-destaques {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 0.55rem;
}
body.ep-art-contato .ep-contato-destaque {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(6, 61, 49, 0.08);
  background: #fff;
}
body.ep-art-contato .ep-contato-form-wrap {
  flex-shrink: 0;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.15rem 0.35rem;
  border-radius: 999px;
  line-height: 1.2;
}

body.ep-art-contato .ep-contato-lib-item__status--receita-publicada,
body.ep-art-contato .ep-contato-lib-item__status--guia-editorial {
  background: rgba(6, 61, 49, 0.1);
  color: var(--ep-ed-green, #063d31);
}

body.ep-art-contato .ep-contato-lib-item__status--em-curadoria {
  background: rgba(111, 29, 47, 0.08);
  color: var(--ep-ed-wine, #6f1d2f);
}

body.ep-art-contato .ep-contato-lib-item__status--em-desenvolvimento {
  background: rgba(212, 175, 55, 0.18);
  color: #5c4a12;
}

body.ep-art-contato .ep-contato-lib-item__desc {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.42;
  color: rgba(11, 47, 36, 0.82);
}

body.ep-art-contato .ep-contato-lib-item__type {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-contato .ep-contato-lib-item__cta {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--ep-ed-wine, #6f1d2f);
  margin-top: 0.1rem;
}

body.ep-art-contato .ep-contato-lib-item--static .ep-contato-lib-item__cta {
  color: rgba(11, 47, 36, 0.55);
}

body.ep-art-contato .ep-contato-curiosidades {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
}

body.ep-art-contato .ep-contato-curiosidades li {
  margin-bottom: 0.35rem;
  line-height: 1.48;
  font-size: 0.88rem;
}

body.ep-art-contato .ep-contato-nav .link-card {
  min-height: 100%;
}

@media (min-width: 768px) {
  body.ep-art-contato .ep-contato-lib-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.ep-art-contato .ep-contato-caminhos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  body.ep-art-contato .ep-contato-lib-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ep-art-contato .ep-contato-honesty {
    font-size: 0.8rem;
  }

  body.ep-art-contato .ep-contato-hero h1 {
    max-width: none;
  }
}

@media (max-width: 768px) {
  body.ep-art-contato.ep-inner-public.ep-scope {
    --ep-home-nav-h: 86px;
    --ep-home-header-offset: calc(var(--ep-home-nav-h) + env(safe-area-inset-top, 0px));
  }

  body.ep-art-contato.ep-inner-public.ep-scope .topbar {
    display: none;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand toggle"
      "brand langs" !important;
    align-items: center !important;
    column-gap: 0.5rem !important;
    row-gap: 0.3rem !important;
    width: min(100% - 20px, 1240px) !important;
    margin-inline: auto !important;
    padding: 0.45rem max(0.5rem, env(safe-area-inset-left, 0px)) 0.45rem max(0.5rem, env(safe-area-inset-right, 0px)) !important;
    min-height: auto !important;
    box-sizing: border-box !important;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__cluster {
    display: contents !important;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    grid-area: brand !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(calc(100vw - 6rem), 210px) !important;
    padding: 0.28rem 0.45rem !important;
    justify-self: start !important;
    align-self: center !important;
    background: rgba(255, 248, 235, 0.96) !important;
    border: 1px solid rgba(217, 173, 69, 0.32) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2) !important;
    overflow: hidden !important;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__toggle {
    grid-area: toggle !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(212, 175, 55, 0.45) !important;
    border-radius: var(--ep-radius, 8px) !important;
    background: rgba(255, 248, 235, 0.12) !important;
    flex-shrink: 0 !important;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 1px !important;
    background-color: #efe3cc !important;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__lang {
    grid-area: langs !important;
    justify-self: end !important;
    align-self: end !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    padding: 0.12rem !important;
    font-size: 0.62rem !important;
    border-radius: 999px !important;
    gap: 0.15rem !important;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__lang a {
    padding: 0.22rem 0.38rem !important;
    font-size: 0.62rem !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 430px) {
  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__brand,
  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__brand.brand {
    max-width: min(calc(100vw - 5.75rem), 178px) !important;
    padding: 0.24rem 0.38rem !important;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__brand .brand__logo {
    max-height: 30px !important;
  }

  body.ep-art-contato.ep-inner-public.ep-scope .ep-home-header__inner {
    column-gap: 0.4rem !important;
  }
}

/* ==========================================================================
   
body.ep-art-contato .ep-contato-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1rem;
  margin: 0 0 2rem;
  padding: 1rem 1.15rem;
  border-radius: 12px;
  background: rgba(6, 61, 49, 0.06);
  border: 1px solid rgba(6, 61, 49, 0.12);
}

body.ep-art-contato .ep-contato-nav__link {
  font-weight: 600;
  color: var(--ep-ink, #1a2e28);
  text-decoration: none;
}

body.ep-art-contato .ep-contato-nav__link:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  body.ep-art-contato .ep-contato-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

body.ep-art-contato .ep-contato-passos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

body.ep-art-contato .ep-contato-passo {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1rem 1.15rem;
  border-radius: 12px;
  background: rgba(6, 61, 49, 0.05);
  border: 1px solid rgba(6, 61, 49, 0.12);
}

body.ep-art-contato .ep-contato-passo__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: var(--ep-green, #0b2f24);
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
}

body.ep-art-contato .ep-contato-passo h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

body.ep-art-contato .ep-contato-passo p {
  margin: 0;
  color: var(--ep-muted, #4a5c56);
}

body.ep-art-contato .ep-contato-listas__grid {
  display: grid;
  gap: 2rem;
}

@media (min-width: 768px) {
  body.ep-art-contato .ep-contato-listas__grid {
    grid-template-columns: 1fr 1fr;
  }
  body.ep-art-contato .ep-contato-passos {
    grid-template-columns: 1fr;
  }
}

body.ep-art-contato .ep-contato-lista {
  margin: 0.75rem 0 0;
  padding-left: 1.2rem;
  display: grid;
  gap: 0.45rem;
}

body.ep-art-contato .ep-contato-moderacao {
  margin: 2rem 0;
  padding: 1.25rem 1.35rem;
  border-radius: 12px;
  background: rgba(111, 29, 47, 0.08);
  border: 1px solid rgba(111, 29, 47, 0.2);
}

body.ep-art-contato .ep-contato-moderacao h2 {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
}

body.ep-art-contato .ep-contato-moderacao p {
  margin: 0;
}

body.ep-art-contato .ep-contato-privacidade {
  margin: 1.5rem 0 0;
  padding: 1rem 1.15rem;
  border-radius: 10px;
  background: rgba(6, 61, 49, 0.06);
  border: 1px dashed rgba(6, 61, 49, 0.2);
  font-size: 0.95rem;
}

body.ep-art-contato .ep-contato-honesty {
  margin-bottom: 1.5rem;
}
/* ===== FASE 4.9 — páginas legais e institucionais ===== */
body.ep-art-legal .ep-legal-root,
body.ep-art-institucional .ep-ed-root {
  max-width: 52rem;
  margin: 0 auto;
  padding: 0 1.25rem 3rem;
}
body.ep-art-legal .ep-legal-section {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(6, 61, 49, 0.12);
}
body.ep-art-legal .ep-legal-prose p,
body.ep-art-legal .ep-legal-prose ul {
  margin: 0.75rem 0 0;
  line-height: 1.65;
}
body.ep-art-legal .ep-legal-notice {
  margin-top: 1.25rem;
}
body.ep-art-legal .ep-legal-cta {
  margin-top: 2.5rem;
}
body.ep-art-form .ep-enviar-organizacao {
  margin: 2rem auto 3rem;
  max-width: 52rem;
  padding: 0 1.25rem;
}
/* ===== FASE 4.10 — comerciais, guias, FAQ, catálogo ===== */
body.ep-art-commercial .ep-f410-grid,
body.ep-art-guia .ep-f410-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  margin: 1.5rem 0 0;
}
body.ep-art-commercial .ep-f410-card,
body.ep-art-guia .ep-f410-card {
  padding: 1.1rem 1.25rem;
  border-radius: 0.65rem;
  border: 1px solid rgba(6, 61, 49, 0.14);
  background: rgba(255, 255, 255, 0.72);
}
body.ep-art-commercial .ep-f410-card strong,
body.ep-art-guia .ep-f410-card strong {
  display: block;
  margin-bottom: 0.35rem;
}
body.ep-art-commercial .ep-f410-steps,
body.ep-art-guia .ep-f410-steps {
  margin: 1rem 0 0;
  padding-left: 1.25rem;
  line-height: 1.6;
}
body.ep-art-commercial .ep-f410-disclaimer,
body.ep-art-guia .ep-f410-disclaimer,
body.ep-art-faq .ep-f410-disclaimer {
  margin: 1.5rem 0;
  padding: 1rem 1.15rem;
  border-left: 3px solid rgba(6, 61, 49, 0.35);
  background: rgba(6, 61, 49, 0.06);
  font-size: 0.95rem;
}
body.ep-art-faq .ep-faq-list details {
  margin-top: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(6, 61, 49, 0.12);
  border-radius: 0.5rem;
}
body.ep-art-faq .ep-faq-list summary {
  cursor: pointer;
  font-weight: 600;
}
body.ep-art-catalogo .ep-cat-categories {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  margin-top: 1rem;
}
body.ep-art-catalogo .ep-cat-categories span {
  display: block;
  padding: 0.65rem 0.85rem;
  border-radius: 0.5rem;
  background: rgba(6, 61, 49, 0.08);
  text-align: center;
  font-size: 0.92rem;
}
body.ep-art-form.i18n-premium .language-switcher {
  margin-left: auto;
  flex-wrap: wrap;
  gap: 0.35rem;
}
@media (max-width: 767px) {
  body.ep-art-commercial .section .split,
  body.ep-art-form .section .split {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
}
/* ===== FASE 4.10B — /enviar-receita/ layout premium duas colunas ===== */
body.ep-submit-page .ep-submit-shell {
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(400px, 1.1fr);
  gap: 28px;
  max-width: 1160px;
  margin: 0 auto;
  padding: 48px 20px 64px;
  align-items: start;
  box-sizing: border-box;
}
body.ep-submit-page .ep-submit-editorial {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
body.ep-submit-page .ep-submit-card {
  padding: 1.2rem 1.35rem;
  border-radius: 12px;
  border: 1px solid rgba(6, 61, 49, 0.1);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 4px 20px rgba(6, 61, 49, 0.06);
}
body.ep-submit-page .ep-submit-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(6, 61, 49, 0.65);
  font-weight: 600;
}
body.ep-submit-page .ep-submit-title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2.2vw, 1.65rem);
  line-height: 1.25;
  color: #063d31;
}
body.ep-submit-page .ep-submit-subtitle {
  margin: 0 0 0.55rem;
  font-size: 1.1rem;
  line-height: 1.3;
  color: #063d31;
}
body.ep-submit-page .ep-submit-lead,
body.ep-submit-page .ep-submit-card p {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(6, 61, 49, 0.88);
}
body.ep-submit-page .ep-submit-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}
body.ep-submit-page .ep-submit-badges li {
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-size: 0.78rem;
  background: rgba(6, 61, 49, 0.08);
  border: 1px solid rgba(6, 61, 49, 0.12);
  color: #063d31;
}
body.ep-submit-page .ep-submit-note {
  font-size: 0.88rem !important;
  padding: 0.65rem 0.75rem;
  border-left: 3px solid rgba(6, 61, 49, 0.25);
  background: rgba(6, 61, 49, 0.04);
  margin-top: 0.5rem !important;
}
body.ep-submit-page .ep-submit-links {
  margin: 0.5rem 0 0 !important;
  font-size: 0.88rem !important;
}
body.ep-submit-page .ep-submit-list {
  margin: 0.5rem 0 0;
  padding-left: 1.15rem;
  font-size: 0.9rem;
  line-height: 1.5;
  color: rgba(6, 61, 49, 0.85);
}
body.ep-submit-page .ep-submit-form-col {
  min-width: 0;
  position: sticky;
  top: 1rem;
}
body.ep-submit-page .ep-submit-form-card {
  max-width: 540px;
  width: 100%;
  margin: 0 auto;
  padding: 1.25rem 1.4rem 1.45rem;
  border-radius: 12px;
  border: 1px solid rgba(6, 61, 49, 0.12);
  background: #fff;
  box-shadow: 0 8px 28px rgba(6, 61, 49, 0.08);
  box-sizing: border-box;
}
body.ep-submit-page .ep-submit-form-card .community-recipe-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}
body.ep-submit-page .ep-submit-form-card .field--full,
body.ep-submit-page .ep-submit-form-card .form-section-title,
body.ep-submit-page .ep-submit-form-card .check.field--full,
body.ep-submit-page .ep-submit-form-card .form-privacy,
body.ep-submit-page .ep-submit-form-card .form-note,
body.ep-submit-page .ep-submit-form-card .form-status,
body.ep-submit-page .ep-submit-form-card .button.field--full,
body.ep-submit-page .ep-submit-form-card .hp-field {
  grid-column: 1 / -1;
}
body.ep-submit-page .ep-submit-form-card .form-section-title {
  margin: 18px 0 2px;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  font-weight: 600;
  color: #063d31;
  line-height: 1.3;
}
body.ep-submit-page .ep-submit-form-card .form-section-title:first-of-type {
  margin-top: 0;
}
body.ep-submit-page .ep-submit-form-card .field {
  margin: 0;
  gap: 4px;
}
body.ep-submit-page .ep-submit-form-card .field span {
  font-size: 0.82rem;
  line-height: 1.35;
}
body.ep-submit-page .ep-submit-form-card input:not([type="checkbox"]):not([type="file"]),
body.ep-submit-page .ep-submit-form-card select {
  min-height: 44px;
  height: 44px;
  padding: 0 0.65rem;
  font-size: 0.9rem;
}
body.ep-submit-page .ep-submit-form-card textarea {
  min-height: 88px;
  padding: 0.55rem 0.65rem;
  font-size: 0.9rem;
  line-height: 1.45;
  resize: vertical;
}
body.ep-submit-page .ep-submit-form-card .check {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  font-size: 0.84rem;
  line-height: 1.45;
}
body.ep-submit-page .ep-submit-form-card .check input {
  margin-top: 0.15rem;
}
body.ep-submit-page .ep-submit-form-card .button.field--full {
  min-height: 48px;
  margin-top: 4px;
}
body.ep-submit-page .ep-submit-form-card .form-privacy,
body.ep-submit-page .ep-submit-form-card .form-note {
  font-size: 0.8rem;
  line-height: 1.45;
  margin: 0;
}
body.ep-submit-page .ep-submit-form-card small {
  font-size: 0.76rem;
  line-height: 1.4;
}
body.ep-submit-page .page-hero + .ep-submit-shell {
  margin-top: 0;
}
body.ep-submit-page main > .page-hero {
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  body.ep-submit-page .ep-submit-shell {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 36px 18px 52px;
  }
  body.ep-submit-page .ep-submit-form-col {
    position: static;
  }
}
@media (max-width: 540px) {
  body.ep-submit-page .ep-submit-shell {
    padding: 28px 14px 44px;
  }
  body.ep-submit-page .ep-submit-form-card {
    padding: 1rem 1rem 1.2rem;
  }
  body.ep-submit-page .ep-submit-form-card .community-recipe-form {
    grid-template-columns: 1fr;
  }
}
/* ===== FASE 4.10D — /enviar-receita/ acabamento editorial premium ===== */
body.ep-submit-page .ep-submit-premium-layout {
  background: linear-gradient(180deg, rgba(6, 61, 49, 0.03) 0%, rgba(255, 255, 255, 0) 42%);
}
body.ep-submit-page main > .page-hero {
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem);
}
body.ep-submit-page .page-hero .page-hero__inner {
  padding-top: clamp(1.35rem, 2.8vw, 2.1rem);
  padding-bottom: clamp(1.1rem, 2.2vw, 1.65rem);
}
body.ep-submit-page .ep-submit-shell {
  gap: 24px;
  padding: 36px 20px 56px;
}
body.ep-submit-page .ep-submit-editorial {
  gap: 14px;
}
body.ep-submit-page .ep-submit-card {
  padding: 1.05rem 1.2rem;
  border-color: rgba(6, 61, 49, 0.09);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 3px 16px rgba(6, 61, 49, 0.05);
}
body.ep-submit-page .ep-submit-card--hero {
  position: relative;
  padding-top: 1.15rem;
  border-top: 2px solid rgba(184, 134, 11, 0.55);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 247, 240, 0.92) 100%);
}
body.ep-submit-page .ep-submit-card--hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.2rem;
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, #b8860b, rgba(184, 134, 11, 0.2));
  transform: translateY(-2px);
}
body.ep-submit-page .ep-submit-editorial-kicker {
  color: rgba(184, 134, 11, 0.92);
  letter-spacing: 0.1em;
}
body.ep-submit-page .ep-submit-title {
  font-size: clamp(1.28rem, 2vw, 1.55rem);
  margin-bottom: 0.45rem;
}
body.ep-submit-page .ep-submit-lead {
  font-size: 0.92rem;
  line-height: 1.52;
}
body.ep-submit-page .ep-submit-lead--compact {
  margin-bottom: 0.75rem !important;
}
body.ep-submit-page .ep-submit-badges {
  gap: 6px;
  margin-top: 0.65rem;
}
body.ep-submit-page .ep-submit-badges li {
  padding: 0.28rem 0.58rem;
  font-size: 0.74rem;
  background: rgba(6, 61, 49, 0.06);
  border-color: rgba(6, 61, 49, 0.1);
}
body.ep-submit-page .ep-submit-guidance-card .ep-submit-subtitle {
  font-size: 1.02rem;
  margin-bottom: 0.45rem;
}
body.ep-submit-page .ep-submit-guidance-card p {
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}
body.ep-submit-page .ep-submit-note {
  padding: 0.55rem 0.65rem;
  font-size: 0.84rem !important;
  border-left-color: rgba(184, 134, 11, 0.45);
}
body.ep-submit-page .ep-submit-mini-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 0.35rem;
}
body.ep-submit-page .ep-submit-mini-card {
  padding: 0.55rem 0.65rem;
  border-radius: 8px;
  border: 1px solid rgba(6, 61, 49, 0.08);
  background: rgba(6, 61, 49, 0.03);
}
body.ep-submit-page .ep-submit-mini-card__label {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.68rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(6, 61, 49, 0.62);
}
body.ep-submit-page .ep-submit-mini-card p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.42;
  color: rgba(6, 61, 49, 0.86);
}
body.ep-submit-page .ep-submit-form-card {
  padding: 0;
  overflow: hidden;
  border-color: rgba(6, 61, 49, 0.11);
  box-shadow: 0 6px 24px rgba(6, 61, 49, 0.07);
}
body.ep-submit-page .ep-submit-form-head {
  padding: 1rem 1.25rem 0.85rem;
  border-bottom: 1px solid rgba(6, 61, 49, 0.08);
  background: linear-gradient(180deg, rgba(250, 247, 240, 0.65) 0%, rgba(255, 255, 255, 0) 100%);
}
body.ep-submit-page .ep-submit-form-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.68rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(184, 134, 11, 0.9);
}
body.ep-submit-page .ep-submit-form-title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
  line-height: 1.25;
  color: #063d31;
  font-weight: 600;
}
body.ep-submit-page .ep-submit-form-intro {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: rgba(6, 61, 49, 0.78);
}
body.ep-submit-page .ep-submit-form-card .community-recipe-form {
  padding: 0.85rem 1.25rem 1.2rem;
  gap: 10px;
}
body.ep-submit-page .ep-submit-form-card .form-section-title {
  margin: 14px 0 0;
  padding-top: 10px;
  border-top: 1px solid rgba(6, 61, 49, 0.07);
  font-size: clamp(0.95rem, 1.4vw, 1.05rem);
}
body.ep-submit-page .ep-submit-form-card .form-section-title:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
body.ep-submit-page .ep-submit-form-card input:not([type="checkbox"]):not([type="file"]),
body.ep-submit-page .ep-submit-form-card select {
  min-height: 42px;
  height: 42px;
}
body.ep-submit-page .ep-submit-form-card textarea {
  min-height: 80px;
}
body.ep-submit-page .ep-submit-form-card .button.field--full {
  min-height: 46px;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  background: linear-gradient(180deg, #0a4a3c 0%, #063d31 100%);
  border: 1px solid rgba(6, 61, 49, 0.2);
  box-shadow: 0 4px 14px rgba(6, 61, 49, 0.18);
}
body.ep-submit-page .ep-submit-form-card .form-privacy {
  font-size: 0.76rem;
  color: rgba(6, 61, 49, 0.68);
}
body.ep-submit-page .ep-submit-form-card .form-note {
  font-size: 0.78rem;
  color: rgba(6, 61, 49, 0.72);
}
@media (min-width: 1025px) {
  body.ep-submit-page .ep-submit-mini-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
}
@media (max-width: 1024px) {
  body.ep-submit-page .ep-submit-shell {
    padding: 32px 18px 48px;
  }
}
@media (max-width: 540px) {
  body.ep-submit-page .ep-submit-form-head {
    padding: 0.9rem 1rem 0.75rem;
  }
  body.ep-submit-page .ep-submit-form-card .community-recipe-form {
    padding: 0.75rem 1rem 1.1rem;
  }
}
/* ===== FASE 4.10F — chips Home como links acessíveis ===== */
.ep-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--ep-line-gold);
  border-radius: var(--ep-radius-pill);
  background: var(--ep-surface);
  color: var(--ep-green-deep);
  font: 800 0.82rem / 1 var(--ep-font-ui);
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.ep-tags a:hover,
.ep-tags a:focus-visible {
  background: rgba(212, 175, 55, 0.12);
  border-color: rgba(212, 175, 55, 0.72);
  outline: 2px solid rgba(212, 175, 55, 0.45);
  outline-offset: 2px;
}
body.ep-home .ep-hero-revista__copy .ep-home-hero__tags a {
  min-height: 30px;
  padding: 0.32rem 0.72rem;
  border: 1px solid rgba(212, 175, 55, 0.48);
  border-radius: var(--ep-radius-pill);
  background: rgba(255, 250, 240, 0.1);
  color: rgba(247, 239, 226, 0.94);
  font: 800 0.74rem / 1 var(--ep-font-ui);
  cursor: pointer;
  pointer-events: auto;
}
body.ep-home .ep-hero-revista__copy .ep-home-hero__tags a:hover,
body.ep-home .ep-hero-revista__copy .ep-home-hero__tags a:focus-visible {
  background: rgba(255, 250, 240, 0.18);
  border-color: rgba(212, 175, 55, 0.72);
  color: #fff;
}
body.ep-home.ep-magazine-v22 .ep-home-hero__tags a {
  padding: 0.28rem 0.55rem;
  font-size: 0.68rem;
}
@media (max-width: 540px) {
  body.ep-home .ep-hero-revista__copy .ep-home-hero__tags a {
    font-size: 0.68rem;
    padding: 0.28rem 0.55rem;
  }
}

/* Fase 4.11B — CTAs comerciais Home */
body.ep-home .ep-home-commercial__grid {
  gap: var(--ep-space-4);
}

body.ep-home .ep-home-commercial-card {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-height: 100%;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(6, 61, 49, 0.12);
  border-radius: var(--ep-radius-md);
  background: linear-gradient(165deg, rgba(255, 252, 245, 0.98), rgba(247, 239, 226, 0.92));
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.ep-home .ep-home-commercial-card:hover,
body.ep-home .ep-home-commercial-card:focus-visible {
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 10px 28px rgba(6, 61, 49, 0.08);
  transform: translateY(-1px);
  outline: 2px solid rgba(212, 175, 55, 0.35);
  outline-offset: 2px;
}

body.ep-home .ep-home-commercial-card .ep-card__title {
  margin: 0;
  font-size: 1.02rem;
  color: var(--ep-green-deep);
}

body.ep-home .ep-home-commercial-card .ep-card__text {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(6, 61, 49, 0.78);
}

@media (max-width: 768px) {
  body.ep-home .ep-home-commercial__grid {
    grid-template-columns: 1fr;
  }
}
