/*
 * Reserva Feirantes 2.0 — tema visual consolidado.
 * Arquivo autoritativo para ajustes visuais do frontend.
 * Gerado a partir das camadas RC3.8–RC3.12 já homologadas.
 */

/* === origem consolidada: ui-rc38.css === */
/* Reserva Feirantes 2.0 RC3.8
 * Camada visual autoritativa. Carregada depois de frontend.css para consolidar
 * o layout sem alterar as regras funcionais do plugin.
 */

.rfv-page-premium{
  --rfv-ui-shell:1180px;
  --rfv-ui-gutter:32px;
  --rfv-ui-section:58px;
  --rfv-ui-line:rgba(0,47,68,.09);
  --rfv-ui-soft:#f6f5f1;
  --rfv-ui-paper:#fbfaf6;
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  background:var(--rfv-ui-soft)!important;
}

.rfv-page-premium .rfv-content-shell{
  width:min(var(--rfv-ui-shell),calc(100vw - (var(--rfv-ui-gutter) * 2)))!important;
  margin-inline:auto!important;
  padding:70px 0 46px!important;
  background:transparent!important;
}

/* O fundo ilustrado pertence à página, nunca aos containers. */
.rfv-page-premium .rfv-content-shell::before{
  left:50%!important;
  right:auto!important;
  width:100vw!important;
  transform:translateX(-50%);
  opacity:.82;
}

/* Ritmo editorial: um único fundo e divisores discretos. */
.rfv-page-premium .rfv-upcoming-editions,
.rfv-page-premium .rfv-past-editions,
.rfv-page-premium .rfvs-presentation-premium,
.rfv-page-premium .rfv-market-layout,
.rfv-page-premium .rfvs-visit,
.rfv-page-premium .rfv-feirante-hub{
  margin:0!important;
  padding:var(--rfv-ui-section) 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.rfv-page-premium .rfv-past-editions,
.rfv-page-premium .rfvs-presentation-premium,
.rfv-page-premium .rfv-market-layout,
.rfv-page-premium .rfvs-visit,
.rfv-page-premium .rfv-feirante-hub{
  border-top:1px solid var(--rfv-ui-line)!important;
}

.rfv-page-premium .rfv-upcoming-editions{
  padding-top:34px!important;
}

/* Cabeçalhos de seção passam a compartilhar a mesma régua visual. */
.rfv-page-premium .rfv-upcoming-editions-head,
.rfv-page-premium .rfv-past-editions-head,
.rfv-page-premium .rfv-exhibitors-heading,
.rfv-page-premium .rfv-attractions-heading,
.rfv-page-premium .rfv-feirante-hub-heading,
.rfv-page-premium .rfvs-visit-head{
  margin:0 0 28px!important;
  padding:0 0 20px!important;
  border:0!important;
  border-bottom:1px solid var(--rfv-ui-line)!important;
}

.rfv-page-premium .rfv-upcoming-editions-head,
.rfv-page-premium .rfv-past-editions-head,
.rfv-page-premium .rfv-exhibitors-heading{
  align-items:flex-end!important;
}

.rfv-page-premium .rfv-upcoming-editions-head h2,
.rfv-page-premium .rfv-past-editions-head h2,
.rfv-page-premium .rfv-exhibitors-heading h2,
.rfv-page-premium .rfv-attractions-heading h2,
.rfv-page-premium .rfvs-visit-head h2,
.rfv-page-premium .rfv-feirante-hub-heading h2{
  margin-top:5px!important;
  font-size:clamp(32px,3.5vw,46px)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
}

.rfv-page-premium .rfv-upcoming-editions-head p,
.rfv-page-premium .rfv-past-editions-head p,
.rfv-page-premium .rfv-exhibitors-heading-copy,
.rfv-page-premium .rfv-attractions-heading p,
.rfv-page-premium .rfv-feirante-hub-heading p{
  max-width:430px!important;
  color:#6a7b80!important;
  font-size:11.5px!important;
  line-height:1.65!important;
}

/* Próximas datas: bloco compacto, porque agora entra antes dos expositores. */
.rfv-page-premium .rfv-upcoming-editions-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  overflow:visible!important;
}

.rfv-page-premium .rfv-upcoming-card{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  min-height:174px!important;
  border:1px solid rgba(0,47,68,.08)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:none!important;
}

.rfv-page-premium .rfv-upcoming-card-media{
  min-height:174px!important;
  height:100%!important;
}

.rfv-page-premium .rfv-upcoming-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.rfv-page-premium .rfv-upcoming-card-date{
  left:10px!important;
  right:10px!important;
  bottom:10px!important;
  width:auto!important;
  justify-content:center!important;
}

.rfv-page-premium .rfv-upcoming-card-copy{
  min-height:0!important;
  padding:15px 16px 16px!important;
}

.rfv-page-premium .rfv-upcoming-card h3{
  font-size:17px!important;
  line-height:1.1!important;
  margin-bottom:7px!important;
}

.rfv-page-premium .rfv-upcoming-theme{
  font-size:9px!important;
}

.rfv-page-premium .rfv-upcoming-link{
  margin-top:auto!important;
}

.rfv-page-premium .rfv-upcoming-editions-footer{
  margin-top:18px!important;
}

/* Edições anteriores: uma edição não deve gerar um deserto visual. */
.rfv-page-premium .rfv-past-editions-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}

.rfv-page-premium .rfv-past-editions.is-single{
  padding-bottom:48px!important;
}

.rfv-page-premium .rfv-past-editions.is-single .rfv-past-editions-grid{
  grid-template-columns:minmax(0,540px)!important;
}

.rfv-page-premium .rfv-past-editions.is-single .rfv-past-edition-card{
  grid-template-columns:190px minmax(0,1fr)!important;
  min-height:150px!important;
}

.rfv-page-premium .rfv-past-edition-card{
  border:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* Institucional: preserva a boa composição, mas reduz espaços residuais. */
.rfv-page-premium .rfvs-presentation-premium{
  padding-top:62px!important;
  padding-bottom:62px!important;
}

.rfv-page-premium .rfvs-presentation-grid{
  gap:clamp(42px,6vw,76px)!important;
  align-items:center!important;
}

.rfv-page-premium .rfvs-presentation-moments{
  margin-top:42px!important;
  padding-top:24px!important;
  border-top:1px solid var(--rfv-ui-line)!important;
}

/* Expositores e atrações: uma composição só, sem colunas “soltas”. */
.rfv-page-premium .rfv-market-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(275px,310px)!important;
  gap:clamp(38px,4vw,58px)!important;
  align-items:start!important;
}

.rfv-page-premium .rfv-market-main,
.rfv-page-premium .rfv-exhibitors-section,
.rfv-page-premium .rfv-attractions-sidebar{
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
}

.rfv-page-premium .rfv-exhibitors-heading-main{
  position:relative;
}

.rfv-page-premium .rfv-exhibitors-count{
  display:flex;
  align-items:baseline;
  gap:7px;
  margin-top:14px;
  color:#728086;
}

.rfv-page-premium .rfv-exhibitors-count strong{
  color:var(--rfv-theme-accent-text);
  font-family:"Yantramanav","Poppins",sans-serif;
  font-size:26px;
  font-weight:500;
  line-height:1;
}

.rfv-page-premium .rfv-exhibitors-count span{
  font-size:10px;
  font-weight:600;
  letter-spacing:.02em;
}

.rfv-page-premium .rfv-exhibitor-browser{
  grid-template-columns:165px minmax(0,1fr)!important;
  gap:24px!important;
}

.rfv-page-premium .rfv-exhibitor-categories{
  padding:12px 10px!important;
  background:rgba(0,47,68,.035)!important;
}

.rfv-page-premium .rfv-exhibitors-grid,
.rfv-page-premium .rfv-market-layout.has-attractions .rfv-exhibitors-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}

.rfv-page-premium .rfv-exhibitor-card{
  height:auto!important;
  min-height:0!important;
  background:#fff!important;
}

.rfv-page-premium .rfv-exhibitor-card .rfv-card-content{
  min-height:184px;
}

.rfv-page-premium .rfv-attractions-sticky{
  position:sticky!important;
  top:120px!important;
  padding:0!important;
}

.rfv-page-premium .rfv-attractions-heading{
  margin-bottom:20px!important;
}

.rfv-page-premium .rfv-attractions-heading h2{
  font-size:30px!important;
}

.rfv-page-premium .rfv-attractions-list{
  gap:18px!important;
}

.rfv-page-premium .rfv-timeline-entry{
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:10px!important;
}

.rfv-page-premium .rfv-attraction-card{
  background:#fff!important;
}

.rfv-page-premium .rfv-attraction-image{
  border-radius:0!important;
}

/* Visita: faixa objetiva, sem grande área morta. */
.rfv-page-premium .rfvs-visit{
  padding-top:54px!important;
  padding-bottom:54px!important;
}

.rfv-page-premium .rfvs-visit-quick{
  margin-bottom:22px!important;
}

.rfv-page-premium .rfvs-visit-fact{
  min-height:82px!important;
}

.rfv-page-premium .rfvs-visit-copy{
  margin-top:0!important;
  max-width:900px!important;
}

.rfv-page-premium .rfvs-visit-copy p{
  margin:0 0 10px!important;
}

.rfv-page-premium .rfvs-visit-address{
  margin-top:14px!important;
}

/* Área do feirante: termina junto com o conteúdo, sem “caixa vazia”. */
.rfv-page-premium .rfv-feirante-hub{
  padding-top:54px!important;
  padding-bottom:42px!important;
}

.rfv-page-premium .rfv-feirante-hub-heading{
  max-width:760px!important;
}

.rfv-page-premium .rfv-feirante-panels{
  margin-top:0!important;
  gap:12px!important;
}

.rfv-page-premium .rfv-feirante-panel{
  overflow:hidden!important;
  background:#fff!important;
}

.rfv-page-premium .rfv-feirante-panel>summary{
  min-height:74px!important;
  padding:16px 20px!important;
}

.rfv-page-premium .rfv-feirante-panel[open]{
  box-shadow:none!important;
}

/* Resumo legado permanece compacto quando shortcode isolado for usado. */
.rfv-page-premium .rfv-summary-simple{
  padding:16px 0!important;
}

/* Agenda completa acompanha a mesma largura e margem editorial. */
.rfv-page-premium.rfv-full-agenda .rfv-content-shell{
  width:min(1240px,calc(100vw - 64px))!important;
  padding:68px 44px 82px!important;
}

/* Tablet */
@media (max-width:1080px){
  .rfv-page-premium{
    --rfv-ui-gutter:24px;
    --rfv-ui-section:52px;
  }

  .rfv-page-premium .rfv-market-layout{
    grid-template-columns:1fr!important;
    gap:48px!important;
  }

  .rfv-page-premium .rfv-attractions-sticky{
    position:static!important;
    padding-top:42px!important;
    border-top:1px solid var(--rfv-ui-line)!important;
  }

  .rfv-page-premium .rfv-attractions-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px!important;
  }

  .rfv-page-premium .rfv-timeline-entry{
    grid-template-columns:46px minmax(0,1fr)!important;
  }
}

/* Tablet estreito / mobile grande */
@media (max-width:780px){
  .rfv-page-premium{
    --rfv-ui-gutter:18px;
    --rfv-ui-section:46px;
  }

  .rfv-page-premium .rfv-content-shell{
    padding-top:44px!important;
    padding-bottom:34px!important;
  }

  .rfv-page-premium .rfv-upcoming-editions{
    padding-top:28px!important;
  }

  .rfv-page-premium .rfv-upcoming-editions-head,
  .rfv-page-premium .rfv-past-editions-head,
  .rfv-page-premium .rfv-exhibitors-heading{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:12px!important;
  }

  .rfv-page-premium .rfv-upcoming-editions-grid,
  .rfv-page-premium .rfv-past-editions-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(275px,82vw)!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    gap:12px!important;
    padding-bottom:8px!important;
    scroll-snap-type:x proximity;
  }

  .rfv-page-premium .rfv-upcoming-card,
  .rfv-page-premium .rfv-past-edition-card{
    scroll-snap-align:start;
  }

  .rfv-page-premium .rfv-past-editions.is-single .rfv-past-editions-grid{
    display:block!important;
  }

  .rfv-page-premium .rfv-past-editions.is-single .rfv-past-edition-card{
    width:100%!important;
    grid-template-columns:135px minmax(0,1fr)!important;
  }

  .rfv-page-premium .rfvs-presentation-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  .rfv-page-premium .rfv-exhibitor-browser{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  .rfv-page-premium .rfv-exhibitor-categories{
    padding:0!important;
    background:transparent!important;
  }

  .rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters{
    display:flex!important;
    overflow-x:auto!important;
    gap:8px!important;
    padding-bottom:5px!important;
  }

  .rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters button{
    flex:0 0 auto!important;
    width:auto!important;
    min-height:36px!important;
    padding:8px 11px!important;
    background:rgba(255,255,255,.72)!important;
  }

  .rfv-page-premium .rfv-exhibitors-grid,
  .rfv-page-premium .rfv-market-layout.has-attractions .rfv-exhibitors-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .rfv-page-premium .rfvs-visit-quick{
    grid-template-columns:1fr!important;
  }

  .rfv-page-premium .rfvs-visit-fact+.rfvs-visit-fact{
    border-left:0!important;
    border-top:1px solid var(--rfv-ui-line)!important;
  }

  .rfv-page-premium .rfv-feirante-panels{
    grid-template-columns:1fr!important;
  }

  .rfv-page-premium.rfv-full-agenda .rfv-content-shell{
    width:calc(100vw - 28px)!important;
    padding:46px 20px 64px!important;
  }
}

/* Mobile */
@media (max-width:560px){
  .rfv-page-premium{
    --rfv-ui-gutter:14px;
    --rfv-ui-section:40px;
  }

  .rfv-page-premium .rfv-upcoming-editions-head h2,
  .rfv-page-premium .rfv-past-editions-head h2,
  .rfv-page-premium .rfv-exhibitors-heading h2,
  .rfv-page-premium .rfv-attractions-heading h2,
  .rfv-page-premium .rfvs-visit-head h2,
  .rfv-page-premium .rfv-feirante-hub-heading h2{
    font-size:31px!important;
  }

  .rfv-page-premium .rfv-upcoming-editions-grid,
  .rfv-page-premium .rfv-past-editions-grid{
    grid-auto-columns:minmax(260px,88vw)!important;
  }

  .rfv-page-premium .rfv-exhibitors-grid,
  .rfv-page-premium .rfv-market-layout.has-attractions .rfv-exhibitors-grid{
    grid-template-columns:1fr!important;
  }

  .rfv-page-premium .rfv-exhibitor-card .rfv-card-content{
    min-height:0!important;
  }

  .rfv-page-premium .rfv-attractions-list{
    grid-template-columns:1fr!important;
  }

  .rfv-page-premium .rfv-past-editions.is-single .rfv-past-edition-card{
    grid-template-columns:115px minmax(0,1fr)!important;
  }
}

/* === origem consolidada: ui-rc39.css === */
/* Reserva Feirantes 2.0 RC3.9 — jornada de decisão do visitante */

/* Ritmo geral: a edição atual vem primeiro; blocos de aprofundamento ficam no fim. */
.rfv-page-premium .rfv-content-shell{
  padding-top:clamp(76px,7vw,108px)!important;
}
.rfv-page-premium .rfv-event-highlights,
.rfv-page-premium .rfv-attractions-section,
.rfv-page-premium .rfv-exhibitors-section,
.rfv-page-premium .rfvs-presentation-premium,
.rfv-page-premium .rfvs-visit,
.rfv-page-premium .rfv-past-editions,
.rfv-page-premium .rfv-upcoming-editions,
.rfv-page-premium .rfv-feirante-hub{
  width:min(1120px,calc(100% - 48px));
  margin-inline:auto!important;
  padding:clamp(54px,6.5vw,86px) 0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.rfv-page-premium .rfv-event-highlights + .rfv-attractions-section,
.rfv-page-premium .rfv-attractions-section + .rfv-exhibitors-section,
.rfv-page-premium .rfv-exhibitors-section + .rfvs-presentation-premium,
.rfv-page-premium .rfvs-presentation-premium + .rfvs-visit,
.rfv-page-premium .rfvs-visit + .rfv-past-editions,
.rfv-page-premium .rfv-past-editions + .rfv-upcoming-editions,
.rfv-page-premium .rfv-upcoming-editions + .rfv-feirante-hub{
  border-top:1px solid rgba(0,47,68,.08)!important;
}

/* “O que vai ter”: responde a principal pergunta de quem veio do anúncio. */
.rfv-event-highlights-head{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.72fr);
  gap:36px;
  align-items:end;
  margin-bottom:34px;
}
.rfv-event-highlights-head h2{
  margin:7px 0 0;
  color:var(--rfv-navy);
  font-size:clamp(32px,4.1vw,54px);
  line-height:1.02;
  letter-spacing:-.035em;
}
.rfv-event-highlights-head p{
  margin:0 0 4px;
  color:#657981;
  font-size:14px;
  line-height:1.65;
}
.rfv-event-highlights-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(0,47,68,.10);
  border-bottom:1px solid rgba(0,47,68,.10);
}
.rfv-event-highlight-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:14px;
  align-items:start;
  min-height:104px;
  padding:22px 22px 22px 0;
}
.rfv-event-highlight-item + .rfv-event-highlight-item{
  padding-left:22px;
  border-left:1px solid rgba(0,47,68,.08);
}
.rfv-event-highlight-item>span{
  color:var(--rfv-theme-accent-text);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.rfv-event-highlight-item div{display:grid;gap:5px}
.rfv-event-highlight-item small{
  color:#849197;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rfv-event-highlight-item strong{
  color:var(--rfv-navy);
  font-size:17px;
  line-height:1.25;
}

/* Programação ganha protagonismo e deixa de ser uma coluna lateral comprimida. */
.rfv-attractions-section .rfv-attractions-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);
  gap:36px;
  align-items:end;
  margin-bottom:30px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(0,47,68,.08);
}
.rfv-attractions-section .rfv-attractions-heading h2{
  margin:7px 0 0;
  font-size:clamp(30px,3.4vw,46px);
  line-height:1.04;
}
.rfv-attractions-section .rfv-attractions-heading p{
  margin:0;
  color:#667a82;
  line-height:1.65;
}
.rfv-attractions-section .rfv-attractions-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.rfv-attractions-section .rfv-timeline-entry{
  position:relative;
  display:block;
  min-width:0;
  padding:0;
  border:0;
}
.rfv-attractions-section .rfv-timeline-entry::before,
.rfv-attractions-section .rfv-timeline-entry::after{display:none!important}
.rfv-attractions-section .rfv-timeline-time{
  position:absolute;
  z-index:3;
  top:14px;
  left:14px;
  min-width:54px;
  padding:8px 11px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--rfv-theme-accent-text);
  box-shadow:0 5px 18px rgba(0,35,50,.08);
  font-size:10px;
  font-weight:800;
  text-align:center;
}
.rfv-attractions-section .rfv-attraction-card{
  height:100%;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(0,35,50,.045)!important;
}
.rfv-attractions-section .rfv-attraction-image{aspect-ratio:16/9}
.rfv-attractions-section .rfv-attraction-content{padding:18px 18px 22px}

/* Expositores: com poucos participantes, o visitante vê tudo sem ferramentas desnecessárias. */
.rfv-exhibitors-section .rfv-exhibitors-heading{
  align-items:end!important;
}
.rfv-exhibitor-browser.is-small-catalog{
  display:block!important;
}
.rfv-exhibitor-browser.is-small-catalog .rfv-exhibitor-results{
  width:100%!important;
}
.rfv-exhibitor-browser.is-small-catalog .rfv-exhibitors-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
}
.rfv-exhibitor-browser.is-small-catalog .rfv-exhibitor-pagination{display:none!important}
.rfv-exhibitor-card{background:#fff!important}
.rfv-card-view{font-size:10px!important}

/* Institucional vem depois da decisão: mais leve e menos dominante. */
.rfvs-presentation-premium .rfvs-presentation-grid{
  gap:clamp(36px,5vw,72px)!important;
}
.rfvs-presentation-premium .rfvs-presentation-copy{
  max-width:440px;
}
.rfvs-presentation-premium .rfvs-intro p{
  line-height:1.72!important;
}

/* A prova social continua no aprofundamento final; as próximas datas sobem para antes dos expositores. */
.rfv-past-editions.is-single .rfv-past-editions-grid{
  max-width:760px!important;
}
.rfv-past-editions.is-single .rfv-past-edition-card{
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr)!important;
  min-height:220px!important;
}
.rfv-upcoming-editions-grid{
  gap:18px!important;
}

/* Área do feirante como faixa de utilidade, não capítulo principal da visita. */
.rfv-feirante-hub{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:46px;
  align-items:start;
}
.rfv-feirante-hub-heading{
  padding:0!important;
  border:0!important;
}
.rfv-feirante-hub-heading h2{
  font-size:clamp(26px,3vw,38px)!important;
}
.rfv-feirante-panels{
  display:grid!important;
  gap:0!important;
  border-top:1px solid rgba(0,47,68,.09);
}
.rfv-feirante-panel{
  border-bottom:1px solid rgba(0,47,68,.09)!important;
  background:transparent!important;
}
.rfv-feirante-panel summary{padding:18px 0!important}

@media (max-width:960px){
  .rfv-event-highlights-head,
  .rfv-attractions-section .rfv-attractions-heading,
  .rfv-feirante-hub{grid-template-columns:1fr}
  .rfv-event-highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rfv-event-highlight-item:nth-child(3){border-left:0;border-top:1px solid rgba(0,47,68,.08);padding-left:0}
  .rfv-event-highlight-item:nth-child(4){border-top:1px solid rgba(0,47,68,.08)}
  .rfv-attractions-section .rfv-attractions-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rfv-exhibitor-browser.is-small-catalog .rfv-exhibitors-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:640px){
  .rfv-page-premium .rfv-event-highlights,
  .rfv-page-premium .rfv-attractions-section,
  .rfv-page-premium .rfv-exhibitors-section,
  .rfv-page-premium .rfvs-presentation-premium,
  .rfv-page-premium .rfvs-visit,
  .rfv-page-premium .rfv-past-editions,
  .rfv-page-premium .rfv-upcoming-editions,
  .rfv-page-premium .rfv-feirante-hub{width:min(100% - 30px,1120px)}
  .rfv-event-highlights-grid{grid-template-columns:1fr}
  .rfv-event-highlight-item,
  .rfv-event-highlight-item + .rfv-event-highlight-item,
  .rfv-event-highlight-item:nth-child(3){
    min-height:82px;
    padding:16px 0!important;
    border-left:0!important;
    border-top:1px solid rgba(0,47,68,.08);
  }
  .rfv-event-highlight-item:first-child{border-top:0}
  .rfv-attractions-section .rfv-attractions-list{grid-template-columns:1fr}
  .rfv-exhibitor-browser.is-small-catalog .rfv-exhibitors-grid{grid-template-columns:1fr!important}
  .rfv-past-editions.is-single .rfv-past-edition-card{grid-template-columns:1fr!important}
}

/* === origem consolidada: ui-rc310.css === */
/* Reserva Feirantes 2.0 RC3.10 — catálogo escalável + correção de overflow responsivo */

/* Catálogo grande: seis cards por grupo no desktop, em 3 colunas x 2 linhas. */
.rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog) .rfv-exhibitors-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}

/* Paginação mais legível para catálogos grandes. */
.rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog) .rfv-exhibitor-pagination{
  margin-top:26px!important;
}

@media (max-width:1024px){
  /* Quatro por grupo no tablet: 2 x 2. */
  .rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog) .rfv-exhibitors-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:780px){
  /*
   * O full-bleed com 100vw + margens negativas é útil no desktop, mas no mobile
   * pode somar alguns pixels além da viewport (especialmente dentro do Elementor).
   * Aqui a página passa a respeitar exatamente a largura do contêiner/viewport.
   */
  .rfv-page-premium{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow-x:hidden!important;
  }

  .rfv-page-premium .rfv-event-nav{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow-x:hidden!important;
  }

  .rfv-page-premium .rfv-event-nav-inner{
    width:100%!important;
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    box-sizing:border-box!important;
  }

  .rfv-page-premium .rfv-event-nav-links{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scroll-padding-inline:8px;
  }

  .rfv-page-premium .rfv-premium-hero,
  .rfv-page-premium .rfv-premium-hero-inner,
  .rfv-page-premium .rfv-premium-hero-media,
  .rfv-page-premium .rfv-content-shell{
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .rfv-page-premium .rfv-content-shell{
    width:calc(100% - 28px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow-x:visible!important;
  }

  /* A arte decorativa continua existindo, mas não aumenta a largura física. */
  .rfv-page-premium .rfv-content-shell::before{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
  }

  .rfv-page-premium.rfv-full-agenda .rfv-content-shell{
    width:calc(100% - 28px)!important;
    max-width:100%!important;
  }
}

@media (max-width:640px){
  /* Dois expositores por grupo no celular, em sequência vertical. */
  .rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog) .rfv-exhibitors-grid{
    grid-template-columns:1fr!important;
  }

  .rfv-page-premium .rfv-content-shell{
    width:calc(100% - 20px)!important;
  }

  .rfv-page-premium .rfv-event-nav-inner{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .rfv-page-premium .rfv-event-nav-links{
    padding-left:4px!important;
    padding-right:4px!important;
  }

  /* Evita que qualquer mídia/controle isolado expanda a viewport. */
  .rfv-page-premium img,
  .rfv-page-premium video,
  .rfv-page-premium iframe,
  .rfv-page-premium input,
  .rfv-page-premium textarea,
  .rfv-page-premium select{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

@supports (overflow:clip){
  @media (max-width:780px){
    .rfv-page-premium,
    .rfv-page-premium .rfv-event-nav{
      overflow-x:clip!important;
    }
  }
}

/* === origem consolidada: ui-rc311.css === */
/* Reserva Feirantes 2.0 RC3.11 — destaques editoriais com explicação */

.rfv-page-premium .rfv-event-highlights-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  border-top:1px solid rgba(0,47,68,.10);
  border-bottom:1px solid rgba(0,47,68,.10);
}
.rfv-page-premium .rfv-event-highlight-item{
  position:relative;
  display:grid;
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:18px;
  align-items:start;
  min-height:176px;
  padding:30px 30px 30px 0!important;
  border:0!important;
}
.rfv-page-premium .rfv-event-highlight-item:nth-child(even){
  padding-left:30px!important;
  border-left:1px solid rgba(0,47,68,.08)!important;
}
.rfv-page-premium .rfv-event-highlight-item:nth-child(n+3){
  border-top:1px solid rgba(0,47,68,.08)!important;
}
.rfv-page-premium .rfv-event-highlight-item>span{
  padding-top:4px;
  color:var(--rfv-theme-accent-text);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.rfv-page-premium .rfv-event-highlight-copy{
  display:block!important;
}
.rfv-page-premium .rfv-event-highlight-copy small{
  display:block;
  margin-bottom:8px;
  color:var(--rfv-theme-accent-text);
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.rfv-page-premium .rfv-event-highlight-copy strong{
  display:block;
  color:var(--rfv-navy);
  font-size:clamp(21px,2.1vw,28px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em;
}
.rfv-page-premium .rfv-event-highlight-copy p{
  max-width:520px;
  margin:12px 0 0;
  color:#64767d;
  font-size:13px;
  line-height:1.72;
}
.rfv-page-premium .rfv-event-highlights-grid.is-count-1{
  grid-template-columns:minmax(0,760px)!important;
}
.rfv-page-premium .rfv-event-highlights-grid.is-count-1 .rfv-event-highlight-item{
  min-height:0;
  padding-right:0!important;
}
.rfv-page-premium .rfv-event-highlights-grid.is-count-3 .rfv-event-highlight-item:last-child{
  grid-column:1/-1;
  border-left:0!important;
  padding-left:0!important;
}

@media (max-width:760px){
  .rfv-page-premium .rfv-event-highlights-grid{grid-template-columns:1fr!important}
  .rfv-page-premium .rfv-event-highlight-item,
  .rfv-page-premium .rfv-event-highlight-item:nth-child(even),
  .rfv-page-premium .rfv-event-highlights-grid.is-count-3 .rfv-event-highlight-item:last-child{
    grid-column:auto;
    min-height:0;
    padding:22px 0!important;
    border-left:0!important;
    border-top:1px solid rgba(0,47,68,.08)!important;
  }
  .rfv-page-premium .rfv-event-highlight-item:first-child{border-top:0!important}
  .rfv-page-premium .rfv-event-highlight-copy strong{font-size:22px!important}
  .rfv-page-premium .rfv-event-highlight-copy p{font-size:12px;line-height:1.68}
}

/* === origem consolidada: ui-rc312.css === */
/* Reserva Feirantes 2.0 RC3.12 — hero com logo mais visível, vídeo full-bleed e aviso destacado */

/* 1) Cabeçalho: mais respiro no topo e logo mais evidente. */
.rfv-page-premium .rfv-event-nav{
  min-height:194px!important;
}
.rfv-page-premium .rfv-event-nav::before{
  height:274px!important;
  background:linear-gradient(180deg,
    rgba(2,18,25,.56) 0%,
    rgba(2,18,25,.44) 34%,
    rgba(2,18,25,.28) 58%,
    rgba(2,18,25,.12) 78%,
    rgba(2,18,25,0) 100%)!important;
}
.rfv-page-premium .rfv-event-nav-inner{
  min-height:176px!important;
  padding:28px 0 38px!important;
  gap:18px!important;
}
.rfv-page-premium .rfv-event-nav-logo{
  margin-top:6px;
}
.rfv-page-premium .rfv-event-nav-logo-image{
  max-width:198px!important;
  max-height:94px!important;
}

/* 2) Hero: reserva mais área para o aviso e mantém a faixa prática respirando. */
.rfv-page-premium .rfv-premium-hero-inner{
  padding-top:214px!important;
  padding-bottom:152px!important;
}

/* 3) Vídeo do hero: comportamento real de cover para YouTube/Vimeo. */
.rfv-page-premium .rfv-premium-hero-video iframe{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:177.78vh!important;
  height:56.25vw!important;
  min-width:100%!important;
  min-height:100%!important;
  border:0!important;
  pointer-events:none!important;
  transform:translate(-50%,-50%) scale(1.16)!important;
  will-change:transform;
}
.rfv-page-premium .rfv-premium-hero-video.is-native video{
  width:100%!important;
  height:100%!important;
}

/* 4) Avisos do hero: sobem um pouco e ganham leitura de alerta. */
.rfv-page-premium .rfv-premium-hero-notes{
  position:relative;
  z-index:7;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  width:min(920px,calc(100% - 60px));
  margin:0 auto 96px;
}
.rfv-page-premium .rfv-premium-hero-note{
  align-self:center!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:100%;
  margin:0!important;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(3,25,34,.58);
  color:rgba(255,255,255,.90);
  font-size:10.2px;
  line-height:1.55;
  text-align:center;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 24px rgba(0,16,24,.12);
}
.rfv-page-premium .rfv-premium-hero-note.is-notice{
  background:rgba(10,31,39,.74);
  border-left:0!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 26px rgba(0,16,24,.16);
}
.rfv-page-premium .rfv-hero-note-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.rfv-page-premium .rfv-hero-note-text{
  display:inline;
}

@media (max-width:960px){
  .rfv-page-premium .rfv-event-nav{min-height:172px!important}
  .rfv-page-premium .rfv-event-nav::before{height:236px!important}
  .rfv-page-premium .rfv-event-nav-inner{min-height:156px!important;padding:22px 0 30px!important}
  .rfv-page-premium .rfv-event-nav-logo-image{max-width:176px!important;max-height:82px!important}
  .rfv-page-premium .rfv-premium-hero-inner{padding-top:190px!important;padding-bottom:146px!important}
  .rfv-page-premium .rfv-premium-hero-notes{width:min(760px,calc(100% - 42px));margin-bottom:90px}
}

@media (max-width:640px){
  .rfv-page-premium .rfv-event-nav{min-height:160px!important}
  .rfv-page-premium .rfv-event-nav::before{height:214px!important}
  .rfv-page-premium .rfv-event-nav-inner{width:calc(100% - 18px)!important;min-height:146px!important;padding:18px 0 24px!important}
  .rfv-page-premium .rfv-event-nav-logo-image{max-width:166px!important;max-height:78px!important}
  .rfv-page-premium .rfv-premium-hero-inner{padding-top:174px!important;padding-bottom:136px!important}
  .rfv-page-premium .rfv-premium-hero-notes{width:calc(100% - 22px);margin-bottom:82px;gap:8px}
  .rfv-page-premium .rfv-premium-hero-note{padding:10px 12px;border-radius:18px;font-size:9.5px;line-height:1.5}
  .rfv-page-premium .rfv-premium-hero-note.is-notice{flex-direction:column;align-items:center}
  .rfv-page-premium .rfv-hero-note-kicker{font-size:8.3px}
  .rfv-page-premium .rfv-premium-hero-video iframe{transform:translate(-50%,-50%) scale(1.2)!important}
}


/* ==========================================================
 * PRODUÇÃO 2.0 — HEADER/HERO CENTRALIZADO
 * Esta é a camada final. Ajustes visuais futuros devem ser
 * feitos abaixo deste bloco ou no final deste arquivo.
 * ========================================================== */

/* Cabeçalho: logo e navegação no eixo central. */
.rfv-page-premium .rfv-event-nav-inner{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.rfv-page-premium .rfv-event-nav-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.rfv-page-premium .rfv-event-nav-links{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* Hero: toda a narrativa principal centralizada. */
.rfv-page-premium .rfv-premium-hero-inner{
  align-items:center!important;
  text-align:center!important;
}
.rfv-page-premium .rfv-premium-hero-copy{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.rfv-page-premium .rfv-premium-edition-name,
.rfv-page-premium .rfv-premium-hero-chips,
.rfv-page-premium .rfv-premium-hero-actions{
  justify-content:center!important;
}
.rfv-page-premium .rfv-premium-hero h1,
.rfv-page-premium .rfv-premium-hero-lead,
.rfv-page-premium .rfv-premium-hero-notes{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.rfv-page-premium .rfv-premium-hero-info{
  margin-left:auto!important;
  margin-right:auto!important;
}
.rfv-page-premium .rfv-hero-info-item,
.rfv-page-premium .rfv-hero-section-link,
.rfv-page-premium .rfv-hero-map-link{
  text-align:center!important;
  justify-content:center!important;
}

/* Mobile: navegação central, sem scroll horizontal do menu. */
@media (max-width:640px){
  .rfv-page-premium .rfv-event-nav-links{
    width:100%!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    gap:7px 11px!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }
  .rfv-page-premium .rfv-event-nav-links a{
    flex:0 0 auto!important;
  }
}

/* ==========================================================
 * RC3.14 — AJUSTE DA PRIMEIRA DOBRA
 * Mantem a composicao aprovada no desktop e traz a faixa
 * pratica para dentro da primeira tela.
 * ========================================================== */

/* Desktop: posicionamento testado pelo usuario. */
@media (min-width:961px){
  .rfv-page-premium .rfv-premium-hero-copy{
    margin-top:100px!important;
  }

  /* Hero mais baixo para que data/entrada/local aparecam no carregamento. */
  .rfv-page-premium .rfv-premium-hero,
  .rfv-page-premium .rfv-premium-hero-inner{
    min-height:clamp(680px,74vh,760px)!important;
  }
  .rfv-page-premium .rfv-premium-hero-inner{
    padding-top:172px!important;
    padding-bottom:112px!important;
  }

  /* Faixa pratica um pouco mais para dentro do hero. */
  .rfv-page-premium .rfv-premium-hero-info{
    bottom:-24px!important;
  }
  .rfv-page-premium .rfv-premium-hero-notes{
    margin-bottom:68px!important;
  }
  .rfv-page-premium .rfv-premium-hero{
    margin-bottom:34px!important;
  }
}

/* Tablet: mesma proporcao, sem forcar 100px. */
@media (min-width:641px) and (max-width:960px){
  .rfv-page-premium .rfv-premium-hero-copy{
    margin-top:56px!important;
  }
  .rfv-page-premium .rfv-premium-hero,
  .rfv-page-premium .rfv-premium-hero-inner{
    min-height:680px!important;
  }
  .rfv-page-premium .rfv-premium-hero-inner{
    padding-top:160px!important;
    padding-bottom:120px!important;
  }
  .rfv-page-premium .rfv-premium-hero-info{
    bottom:-28px!important;
  }
  .rfv-page-premium .rfv-premium-hero-notes{
    margin-bottom:72px!important;
  }
}

/* Mobile: preserva leitura e evita excesso vertical. */
@media (max-width:640px){
  .rfv-page-premium .rfv-premium-hero-copy{
    margin-top:32px!important;
  }
  .rfv-page-premium .rfv-premium-hero,
  .rfv-page-premium .rfv-premium-hero-inner{
    min-height:650px!important;
  }
  .rfv-page-premium .rfv-premium-hero-inner{
    padding-top:154px!important;
    padding-bottom:116px!important;
  }
  .rfv-page-premium .rfv-premium-hero-info{
    bottom:-24px!important;
  }
  .rfv-page-premium .rfv-premium-hero-notes{
    margin-bottom:68px!important;
  }
}

/* Posicionamento deterministico da narrativa do hero.
 * O flex deixa de ancorar o conteudo no rodape; assim o margin-top
 * definido acima passa a controlar de fato a posicao vertical. */
@media (min-width:961px){
  .rfv-page-premium .rfv-premium-hero-inner{
    justify-content:flex-start!important;
  }
}
@media (min-width:641px) and (max-width:960px){
  .rfv-page-premium .rfv-premium-hero-inner{
    justify-content:flex-start!important;
  }
}
@media (max-width:640px){
  .rfv-page-premium .rfv-premium-hero-inner{
    justify-content:flex-start!important;
  }
}

/* ==========================================================
 * RC3.15 — CATÁLOGO DE EXPOSITORES ROBUSTO
 * Corrige alinhamento de categorias/contadores, toolbar e grid.
 * ========================================================== */

/* Sidebar: largura suficiente para nomes reais e badges sempre dentro da linha. */
.rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog){
  display:grid!important;
  grid-template-columns:minmax(200px,220px) minmax(0,1fr)!important;
  gap:32px!important;
  align-items:start!important;
}

.rfv-page-premium .rfv-exhibitor-categories{
  min-width:0!important;
  padding:16px 10px!important;
  background:rgba(0,47,68,.028)!important;
}

.rfv-page-premium .rfv-filter-title{
  margin:0 8px 12px!important;
}

.rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters{
  display:grid!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}

.rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters button{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:10px 10px 10px 12px!important;
  border:0!important;
  border-left:2px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#66787f!important;
  text-align:left!important;
  overflow:hidden!important;
}

.rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters button:hover{
  border-left-color:var(--rfv-theme-accent-line)!important;
  background:var(--rfv-theme-accent-soft)!important;
  color:var(--rfv-navy)!important;
}

.rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters button.is-active{
  border-left-color:var(--rfv-theme-accent)!important;
  background:var(--rfv-theme-accent-soft)!important;
  color:var(--rfv-navy)!important;
  box-shadow:none!important;
}

.rfv-page-premium .rfv-category-name{
  display:block!important;
  min-width:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  font-size:10px!important;
  font-weight:600!important;
  line-height:1.35!important;
}

.rfv-page-premium .rfv-category-count{
  position:static!important;
  inset:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-width:24px!important;
  height:24px!important;
  margin:0!important;
  padding:0 6px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(0,47,68,.055)!important;
  color:#7b898e!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  transform:none!important;
}

.rfv-page-premium .rfv-category-filters button.is-active .rfv-category-count{
  background:var(--rfv-theme-accent)!important;
  color:var(--rfv-theme-accent-on)!important;
}

/* Toolbar: busca, quantidade filtrada e favoritos formam um único cabeçalho. */
.rfv-page-premium .rfv-exhibitor-results{
  min-width:0!important;
}

.rfv-page-premium .rfv-exhibitor-results .rfv-exhibitor-tools{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0 0 20px!important;
  padding:0 0 16px!important;
  border-bottom:1px solid rgba(0,47,68,.085)!important;
}

.rfv-page-premium .rfv-public-search-wrap{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}

.rfv-page-premium .rfv-public-search{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:10px 2px!important;
  color:var(--rfv-navy)!important;
}

.rfv-page-premium .rfv-exhibitor-tools-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:max-content!important;
}

.rfv-page-premium .rfv-results-count{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:0 10px!important;
  color:#7a898e!important;
  font-size:10px!important;
  font-weight:600!important;
  white-space:nowrap!important;
}

.rfv-page-premium .rfv-favorites-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:106px!important;
  min-height:38px!important;
  padding:8px 11px!important;
  border:1px solid rgba(0,47,68,.10)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--rfv-navy)!important;
  box-shadow:none!important;
}

.rfv-page-premium .rfv-favorites-icon{
  display:inline-block!important;
  color:var(--rfv-theme-accent-text)!important;
  font-size:15px!important;
  line-height:1!important;
}

.rfv-page-premium .rfv-favorites-label{
  display:inline!important;
  color:inherit!important;
  font-size:9.5px!important;
  font-weight:600!important;
}

.rfv-page-premium .rfv-favorites-toggle strong{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:19px!important;
  height:19px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:rgba(0,47,68,.06)!important;
  color:#718187!important;
  font-size:8.5px!important;
}

/* Grade previsível para catálogo grande. */
.rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog) .rfv-exhibitors-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
}

.rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog) .rfv-exhibitor-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}

/* Sidebar fica útil mesmo com muitas categorias, sem alongar demais a página. */
@media (min-width:1025px){
  .rfv-page-premium .rfv-exhibitor-categories{
    position:sticky!important;
    top:112px!important;
    max-height:calc(100vh - 138px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(0,47,68,.16) transparent;
  }
}

@media (max-width:1024px){
  .rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog){
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .rfv-page-premium .rfv-exhibitor-categories{
    position:static!important;
    max-height:none!important;
    padding:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 6px!important;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters::-webkit-scrollbar{display:none}
  .rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters button{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-height:38px!important;
    padding:8px 10px!important;
    border-left:0!important;
    border-bottom:2px solid transparent!important;
    background:rgba(255,255,255,.68)!important;
    overflow:visible!important;
    scroll-snap-align:start;
  }
  .rfv-page-premium .rfv-exhibitor-browser .rfv-category-filters button.is-active{
    border-bottom-color:var(--rfv-theme-accent)!important;
  }
  .rfv-page-premium .rfv-category-name{
    white-space:nowrap!important;
    font-size:9.5px!important;
  }
  .rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog) .rfv-exhibitors-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:640px){
  .rfv-page-premium .rfv-exhibitor-results .rfv-exhibitor-tools{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .rfv-page-premium .rfv-exhibitor-tools-meta{
    width:100%!important;
    min-width:0!important;
    justify-content:space-between!important;
  }
  .rfv-page-premium .rfv-results-count{
    padding-left:0!important;
  }
  .rfv-page-premium .rfv-favorites-toggle{
    min-width:0!important;
  }
  .rfv-page-premium .rfv-exhibitor-browser:not(.is-small-catalog) .rfv-exhibitors-grid{
    grid-template-columns:1fr!important;
  }
}

/* ==========================================================
   Reserva Feirantes 2.0 RC3.16 — perfil do expositor / galeria robusta
   A galeria tem altura controlada e miniaturas sempre visiveis.
   Imagens verticais, quadradas ou panoramicas nao alteram o tamanho do modal.
   ========================================================== */
.rfv-page-premium .rfv-exhibitor-modal{
  padding:clamp(18px,3vw,34px)!important;
}

.rfv-page-premium .rfv-exhibitor-modal-dialog{
  width:min(94vw,1120px)!important;
  height:min(86dvh,760px);
  max-height:86dvh!important;
  overflow:hidden!important;
  background:#fff;
}

.rfv-page-premium .rfv-exhibitor-modal-layout{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr)!important;
  height:100%;
  min-height:0!important;
}

.rfv-page-premium .rfv-exhibitor-modal-media{
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
  background:#f3f1ed!important;
}

.rfv-page-premium .rfv-modal-gallery{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  width:100%;
  height:100%!important;
  min-height:0!important;
  overflow:hidden;
  background:#f3f1ed!important;
}

.rfv-page-premium .rfv-modal-gallery-stage{
  position:relative;
  display:grid;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 40%,rgba(255,255,255,.82),rgba(247,245,241,.46) 48%,rgba(236,235,231,.72) 100%);
}

.rfv-page-premium .rfv-modal-gallery-main{
  position:relative;
  display:block!important;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  padding:0!important;
  overflow:hidden;
  border:0!important;
  background:transparent!important;
  cursor:zoom-in;
}

.rfv-page-premium .rfv-modal-gallery-main-image{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center;
  background:transparent;
  transform:none!important;
}

.rfv-page-premium .rfv-modal-gallery-main:hover .rfv-modal-gallery-main-image,
.rfv-page-premium .rfv-modal-gallery-main:focus-visible .rfv-modal-gallery-main-image{
  transform:none!important;
  filter:none!important;
}

.rfv-page-premium .rfv-modal-gallery-main .rfv-gallery-zoom{
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  opacity:1!important;
  transform:none!important;
  background:rgba(0,47,68,.72);
  border:1px solid rgba(255,255,255,.54)!important;
}

.rfv-page-premium .rfv-modal-photo-count{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.44);
  border-radius:999px;
  background:rgba(0,31,45,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:#fff;
  font-size:10px;
  font-weight:500;
  letter-spacing:.025em;
  line-height:1;
  pointer-events:none;
}

.rfv-page-premium .rfv-modal-photo-count strong{
  font:inherit;
  font-weight:700;
}

.rfv-page-premium .rfv-modal-gallery-nav{
  appearance:none;
  position:absolute;
  z-index:4;
  top:50%;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin:0;
  padding:0 0 3px;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:50%;
  background:rgba(0,31,45,.62)!important;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  color:#fff!important;
  font:inherit;
  font-size:27px;
  line-height:1;
  cursor:pointer;
  transform:translateY(-50%);
  transition:background .18s ease,transform .18s ease;
}

.rfv-page-premium .rfv-modal-gallery-nav:hover,
.rfv-page-premium .rfv-modal-gallery-nav:focus-visible{
  background:rgba(0,47,68,.92)!important;
  transform:translateY(-50%) scale(1.04);
}

.rfv-page-premium .rfv-modal-gallery-nav.is-prev{left:14px}
.rfv-page-premium .rfv-modal-gallery-nav.is-next{right:14px}

.rfv-page-premium .rfv-modal-thumbnails{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:92px;
  padding:10px 12px 12px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  border-top:1px solid rgba(0,47,68,.08);
  background:#fff;
}

.rfv-page-premium .rfv-modal-thumbnail{
  appearance:none;
  position:relative;
  flex:0 0 72px;
  width:72px;
  aspect-ratio:1/1;
  margin:0;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(0,47,68,.10)!important;
  border-radius:6px!important;
  background:#f2f2ef!important;
  opacity:.68;
  cursor:pointer;
  transition:opacity .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.rfv-page-premium .rfv-modal-thumbnail:hover{
  opacity:.92;
  transform:translateY(-1px);
}

.rfv-page-premium .rfv-modal-thumbnail.is-active{
  opacity:1;
  border-color:var(--rfv-theme-accent)!important;
  box-shadow:0 0 0 1px var(--rfv-theme-accent);
}

.rfv-page-premium .rfv-modal-thumbnail:focus-visible{
  outline:2px solid var(--rfv-theme-accent)!important;
  outline-offset:2px;
}

.rfv-page-premium .rfv-modal-thumbnail-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.rfv-page-premium .rfv-exhibitor-modal-content{
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  padding:clamp(48px,5vw,64px) clamp(28px,3.6vw,46px) 34px!important;
}

.rfv-page-premium .rfv-modal-logo-only,
.rfv-page-premium .rfv-modal-media-placeholder{
  width:100%;
  height:100%;
  min-height:0!important;
}

@media (max-width:860px){
  .rfv-page-premium .rfv-exhibitor-modal{
    align-items:end!important;
    padding:10px 8px 8px!important;
  }

  .rfv-page-premium .rfv-exhibitor-modal-dialog{
    width:100%!important;
    height:min(94dvh,860px);
    max-height:94dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .rfv-page-premium .rfv-exhibitor-modal-layout{
    display:block;
    height:auto;
    min-height:0!important;
  }

  .rfv-page-premium .rfv-exhibitor-modal-media{
    height:auto;
    min-height:0;
    overflow:visible;
  }

  .rfv-page-premium .rfv-modal-gallery{
    display:grid!important;
    grid-template-rows:minmax(260px,min(46dvh,380px)) auto!important;
    height:auto!important;
    min-height:0!important;
  }

  .rfv-page-premium .rfv-exhibitor-modal-content{
    height:auto;
    min-height:0;
    overflow:visible;
    padding:30px 22px 28px!important;
  }

  .rfv-page-premium .rfv-modal-logo-only,
  .rfv-page-premium .rfv-modal-media-placeholder{
    height:min(48dvh,390px);
    min-height:280px!important;
  }
}

@media (max-width:520px){
  .rfv-page-premium .rfv-exhibitor-modal{
    padding:6px 5px 5px!important;
  }

  .rfv-page-premium .rfv-modal-gallery{
    grid-template-rows:minmax(230px,min(43dvh,330px)) auto!important;
  }

  .rfv-page-premium .rfv-modal-thumbnails{
    gap:7px;
    min-height:78px;
    padding:8px 10px 10px;
  }

  .rfv-page-premium .rfv-modal-thumbnail{
    flex-basis:58px;
    width:58px;
  }

  .rfv-page-premium .rfv-modal-gallery-nav{
    width:34px;
    height:34px;
    font-size:24px;
  }

  .rfv-page-premium .rfv-modal-gallery-nav.is-prev{left:10px}
  .rfv-page-premium .rfv-modal-gallery-nav.is-next{right:10px}

  .rfv-page-premium .rfv-modal-photo-count{
    left:10px;
    bottom:10px;
  }

  .rfv-page-premium .rfv-modal-gallery-main .rfv-gallery-zoom{
    top:10px;
    right:10px;
  }
}

/* ==========================================================
 * RC3.18 — CORRECOES VISUAIS DE EDICOES E CARDS
 * Garante contraste do titulo do hero e neutraliza estilos
 * globais do tema/Elementor sobre o botao de capa do expositor.
 * ========================================================== */

/* O titulo de qualquer edicao precisa permanecer branco sobre o hero,
 * inclusive em paginas de edicoes passadas e futuras. */
.rfv-page-premium .rfv-premium-hero .rfv-premium-hero-copy h1,
.rfv-page-premium .rfv-premium-hero h1{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 12px 34px rgba(0,18,26,.18)!important;
}

/* A capa e um botao sem aparencia de botao. Alguns temas do WordPress
 * aplicam padding/background !important em <button>; zeramos tudo aqui
 * para que a imagem encoste nas bordas do card sem moldura colorida. */
.rfv-page-premium button.rfv-card-cover,
.rfv-page-premium .rfv-exhibitor-card button.rfv-card-cover{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#edf0ef!important;
  box-shadow:none!important;
  outline-offset:0!important;
  line-height:0!important;
  overflow:hidden!important;
}

.rfv-page-premium button.rfv-card-cover .rfv-card-cover-image,
.rfv-page-premium .rfv-exhibitor-card .rfv-card-cover-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:cover!important;
}

/* Mantem acessibilidade no teclado sem recriar a moldura laranja. */
.rfv-page-premium button.rfv-card-cover:focus-visible{
  outline:2px solid rgba(0,47,68,.42)!important;
  outline-offset:-2px!important;
  box-shadow:none!important;
}

/* ==========================================================
 * RC3.19 — SISTEMA DE FUNDOS EDITORIAIS POR SECAO
 * Alterna superfícies muito claras com ilustrações desenhadas à mão.
 * A arte ocupa 100% da largura da viewport e o conteúdo continua
 * limitado pela régua editorial do plugin.
 * ========================================================== */

/* A antiga camada única de desenhos da página é substituída por fundos
 * próprios de cada seção. Isso deixa a leitura visual imediata sem criar
 * caixas ou blocos pesados. */
.rfv-page-premium .rfv-content-shell::before{
  display:none!important;
}

.rfv-page-premium{
  background:#fffbf4!important;
}

.rfv-page-premium .rfv-section-surface{
  position:relative!important;
  isolation:isolate;
  overflow:visible!important;
  background:transparent!important;
  background-image:none!important;
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.rfv-page-premium .rfv-section-surface::before,
.rfv-page-premium .rfv-section-surface::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  max-width:100vw;
  transform:translateX(-50%);
  pointer-events:none;
  background-repeat:no-repeat;
  background-position:center top;
  background-size:100% auto;
}

.rfv-page-premium .rfv-section-surface::before{
  z-index:-2;
}

.rfv-page-premium .rfv-section-surface::after{
  z-index:-1;
  opacity:.24;
}

.rfv-page-premium .rfv-surface-cream::before{
  background-color:#fffbf4;
}

.rfv-page-premium .rfv-surface-beige::before{
  background-color:#fcf4e7;
}

.rfv-page-premium .rfv-surface-blue::before{
  background-color:#f2fafe;
}

.rfv-page-premium .rfv-surface-orange::before{
  background-color:#fef7ec;
}

.rfv-page-premium .rfv-surface-cream::after{
  background-image:url("../images/section-backgrounds/section-cream-left.webp");
}

.rfv-page-premium .rfv-surface-beige::after{
  background-image:url("../images/section-backgrounds/section-beige-right.webp");
}

.rfv-page-premium .rfv-surface-blue::after{
  background-image:url("../images/section-backgrounds/section-blue-left.webp");
}

.rfv-page-premium .rfv-surface-orange::after{
  background-image:url("../images/section-backgrounds/section-orange-right.webp");
}

/* O novo contraste entre superfícies substitui os antigos divisores entre capítulos. */
.rfv-page-premium .rfv-event-highlights + .rfv-attractions-section,
.rfv-page-premium .rfv-attractions-section + .rfv-exhibitors-section,
.rfv-page-premium .rfv-exhibitors-section + .rfvs-presentation-premium,
.rfv-page-premium .rfvs-presentation-premium + .rfvs-visit,
.rfv-page-premium .rfvs-visit + .rfv-past-editions,
.rfv-page-premium .rfv-past-editions + .rfv-upcoming-editions,
.rfv-page-premium .rfv-upcoming-editions + .rfv-feirante-hub,
.rfv-page-premium .rfv-section-surface + .rfv-section-surface{
  border-top:0!important;
}

/* Pós-evento: cada capítulo vira uma faixa editorial, sem lacunas neutras
 * entre os fundos. Os cards internos continuam brancos e legíveis. */
.rfv-page-premium .rfv-post-event{
  gap:0!important;
  margin-top:0!important;
}

.rfv-page-premium .rfv-post-event > .rfv-section-surface{
  margin:0!important;
  padding-top:clamp(56px,6vw,86px)!important;
  padding-bottom:clamp(56px,6vw,86px)!important;
}

.rfv-page-premium .rfv-post-event-intro.rfv-section-surface{
  max-width:820px;
}

.rfv-page-premium .rfv-post-event-media-grid.rfv-section-surface{
  padding-left:0!important;
  padding-right:0!important;
}

.rfv-page-premium .rfv-post-social.rfv-section-surface,
.rfv-page-premium .rfv-community-section.rfv-section-surface,
.rfv-page-premium .rfv-next-edition-cta.rfv-section-surface,
.rfv-page-premium .rfv-post-event-placeholder.rfv-section-surface{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.rfv-page-premium .rfv-post-event-credits{
  margin:0!important;
  padding:18px 0 30px!important;
  border-top:0!important;
}

/* Agenda: usa o mesmo sistema, inclusive em futuras edições criadas pelo gestor. */
.rfv-page-premium.rfv-full-agenda .rfv-full-agenda-header.rfv-section-surface,
.rfv-page-premium.rfv-full-agenda .rfv-agenda-group.rfv-section-surface{
  margin:0!important;
  padding-top:clamp(54px,6vw,82px)!important;
  padding-bottom:clamp(54px,6vw,82px)!important;
}

.rfv-page-premium.rfv-full-agenda .rfv-full-agenda-header.rfv-section-surface{
  max-width:820px;
}

/* Mantém a arte perceptível em telas menores sem aumentar o peso nem invadir o conteúdo. */
@media (max-width:1024px){
  .rfv-page-premium .rfv-section-surface::before,
  .rfv-page-premium .rfv-section-surface::after{
    width:100vw;
    background-size:1400px auto;
  }

  .rfv-page-premium .rfv-surface-cream::after,
  .rfv-page-premium .rfv-surface-blue::after{
    background-position:left top;
  }

  .rfv-page-premium .rfv-surface-beige::after,
  .rfv-page-premium .rfv-surface-orange::after{
    background-position:right top;
  }
}

@media (max-width:640px){
  .rfv-page-premium .rfv-section-surface::before,
  .rfv-page-premium .rfv-section-surface::after{
    background-size:980px auto;
  }

  .rfv-page-premium .rfv-post-event > .rfv-section-surface,
  .rfv-page-premium.rfv-full-agenda .rfv-full-agenda-header.rfv-section-surface,
  .rfv-page-premium.rfv-full-agenda .rfv-agenda-group.rfv-section-surface{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
}


/* RC3.23 — Próximas datas na jornada principal */
@media (max-width:960px){
  .rfv-page-premium .rfv-upcoming-editions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:640px){
  .rfv-page-premium .rfv-upcoming-editions-grid{grid-template-columns:1fr!important;gap:12px!important}
  .rfv-page-premium .rfv-upcoming-card{grid-template-columns:96px minmax(0,1fr)!important;min-height:150px!important}
  .rfv-page-premium .rfv-upcoming-card-media{min-height:150px!important}
  .rfv-page-premium .rfv-upcoming-card-copy{padding:14px!important}
}


/* ==========================================================
   Reserva Feirantes 2.0 RC3.24 — modal sempre acima da pagina
   Corrige vazamento visual de secoes vizinhas e estabiliza os
   botoes de acao contra estilos globais do tema/Elementor.
   ========================================================== */
.rfv-page-premium .rfv-exhibitors-section.rfv-modal-host-active{
  z-index:1000000!important;
}

.rfv-page-premium .rfv-exhibitor-modal{
  z-index:1000001!important;
  background:rgba(0,25,36,.72)!important;
  backdrop-filter:blur(8px) saturate(102%)!important;
  -webkit-backdrop-filter:blur(8px) saturate(102%)!important;
}

.rfv-page-premium .rfv-exhibitor-modal-dialog{
  z-index:1;
}

.rfv-page-premium .rfv-modal-actions{
  position:relative;
  z-index:2;
}

.rfv-page-premium .rfv-modal-actions button.rfv-card-action{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:10px 15px!important;
  border:1px solid rgba(0,47,68,.18)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#003047!important;
  -webkit-text-fill-color:#003047!important;
  opacity:1!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.045em!important;
  line-height:1!important;
  text-transform:none!important;
  visibility:visible!important;
}

.rfv-page-premium .rfv-modal-actions button.rfv-card-action svg{
  display:block!important;
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  fill:none!important;
  stroke:currentColor!important;
  opacity:1!important;
}

.rfv-page-premium .rfv-modal-actions button.rfv-card-action:hover,
.rfv-page-premium .rfv-modal-actions button.rfv-card-action:focus-visible{
  border-color:#003047!important;
  background:#003047!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.rfv-page-premium .rfv-modal-actions button.rfv-favorite-action.is-favorite{
  border-color:#f95134!important;
  background:#f95134!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.rfv-page-premium .rfv-modal-actions button.rfv-favorite-action.is-favorite:hover,
.rfv-page-premium .rfv-modal-actions button.rfv-favorite-action.is-favorite:focus-visible{
  border-color:#d93f27!important;
  background:#d93f27!important;
}
