/* Ajustes do tema WordPress sobre o CSS original (style.css). */

/* Imagem do banner da página inicial trocada pelo painel */
.hero-art[style*="--tei-hero-image"]{background-image:linear-gradient(90deg,#fbf4e8 0%,#fbf4e8 25%,rgba(251,244,232,.93) 31%,rgba(251,244,232,.33) 41%,rgba(251,244,232,0) 52%),var(--tei-hero-image)}
@media (max-width:760px){
  .hero-art[style*="--tei-hero-image"]{background-image:var(--tei-hero-image)}
}

/* Categorias com link se comportam como os botões originais */
a.icon-category{text-decoration:none;color:inherit}

/* Logo de patrocinador enviado pelo painel */
/* Card patrocinado: tratamos a imagem como peça editorial principal.
   A prioridade é dar mais presença à arte e evitar aparência de miniatura espremida. */
.sponsor-card.sponsor-carousel{
  height:auto;
  min-height:252px;
}
.sponsor-slide .sponsor-box{
  padding:8px 8px 10px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.sponsor-slide .sponsor-logo{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  min-height:112px;
  aspect-ratio:16 / 9;
  object-fit:cover;
  object-position:center;
  margin:0;
  border-radius:8px;
  background:#f4efe6;
  box-shadow:0 1px 4px rgba(57,49,39,.08);
}
.sponsor-slide .sponsor-name{
  font-size:17px;
  line-height:1.18;
  margin:0;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.sponsor-slide .sponsor-box p{
  display:none;
}
.sponsor-slide .sponsor-box a{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:auto;
  align-self:flex-start;
  font-size:12px;
}
@media (min-width:1181px){
  .sponsor-card.sponsor-carousel{
    min-height:272px;
  }
  .sponsor-slide .sponsor-logo{
    min-height:128px;
  }
}
@media (max-width:1200px){
  .sponsor-card.sponsor-carousel{
    min-height:236px;
  }
  .sponsor-slide .sponsor-logo{
    min-height:118px;
  }
}
@media (max-width:680px){
  .sponsor-card.sponsor-carousel{
    height:auto;
    min-height:0;
  }
  .sponsor-slide .sponsor-box{
    padding:8px 8px 11px;
  }
  .sponsor-slide .sponsor-logo{
    min-height:110px;
  }
}

/* Links extras nas páginas individuais */
.detail-extra-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* Texto vindo do editor nas páginas individuais e simples */
.detail-main-copy .entry-content img,.placeholder-card img{max-width:100%;height:auto;border-radius:12px}
.detail-main-copy .entry-content p,.placeholder-card .entry-content p{line-height:1.7}

/* Paginação da busca */
.tei-pagination{display:flex;gap:10px;justify-content:center;padding:10px 0 60px}
.tei-pagination .page-numbers{padding:8px 14px;border-radius:999px;border:1px solid #ead5ae;text-decoration:none;color:inherit}
.tei-pagination .current{background:#033749;color:#fff;border-color:#033749}

/* Monte seu roteiro: versão montada com cards quando a imagem de referência é desativada */
@media (min-width:1100px){
  .route-monte-seu-roteiro .planner-page.tei-no-reference{min-height:828px;background:linear-gradient(180deg,#fbf8ef 0%,#f7f2e6 62%,#fbf8ef 100%)}
  .route-monte-seu-roteiro .planner-page.tei-no-reference::before{display:block}
  .route-monte-seu-roteiro .tei-no-reference .planner-shell-fallback,
  .route-monte-seu-roteiro .tei-no-reference .planner-ear,
  .route-monte-seu-roteiro .tei-no-reference .planner-church,
  .route-monte-seu-roteiro .tei-no-reference .planner-panorama{display:block}
}

/* Início: "Descubra mais" fica sobre a ilustração do fundo; painel claro garante a leitura */
body.route-home .home-intro .intro-copy,
body.route-home .home-intro .intro-links{
  background:rgba(251,246,236,.9);
  border-radius:18px;
  padding:28px 34px;
  box-shadow:0 10px 30px rgba(3,55,73,.08);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}
body.route-home .home-intro .intro-links{align-self:start}
@media (max-width:760px){
  body.route-home .home-intro .intro-copy,
  body.route-home .home-intro .intro-links{padding:22px 20px}
}

/* =====================================================
   v1.5.5 — CAMADA DE LEGIBILIDADE
   Protege somente os blocos de texto que realmente ficam
   sobre a arte ilustrada. Cards e imagens permanecem livres.
   ===================================================== */

/* A suavização global agora é aplicada na camada que realmente desenha
   o fundo. Uma regra posterior do tema antigo anulava o efeito no desktop. */
main{
  background:#f6f0e4 !important;
}
main::before{
  background-color:#f6f0e4 !important;
  background-image:
    linear-gradient(
      rgba(248,238,223,var(--tei-bg-softness,.68)),
      rgba(248,238,223,var(--tei-bg-softness,.68))
    ),
    var(--tei-img-site) !important;
  background-repeat:no-repeat,no-repeat !important;
  background-position:center top,center top !important;
  background-size:cover,cover !important;
}

/* Aparência base dos painéis de leitura. */
body.route-home .routes-title,
body.route-home .home-featured .section-heading-row,
body.route-home .home-events .section-heading-row,
body.route-home .home-intro .intro-copy,
body.route-home .home-intro .intro-links,
.page-plan .plan-recommended-heading,
.detail-page .detail-hero-copy,
.detail-page .detail-main-copy{
  background:rgba(251,246,236,var(--tei-reading-opacity,.88));
  border:1px solid rgba(201,154,69,.28);
  box-shadow:0 10px 28px rgba(42,38,27,.07);
  -webkit-backdrop-filter:blur(var(--tei-reading-blur,6px));
  backdrop-filter:blur(var(--tei-reading-blur,6px));
}

/* Home — faixa Itu Além do Óbvio: painel compacto na coluna do título. */
body.route-home .routes-title{
  padding:22px 20px 20px !important;
  border-radius:18px;
  margin-top:8px;
  align-self:start;
}
body.route-home .routes-title .all-routes{
  margin-top:26px;
}

/* Home — Destaques e Agenda: uma faixa clara curta, preservando os cards. */
body.route-home .home-featured .section-heading-row,
body.route-home .home-events .section-heading-row{
  padding:15px 18px;
  border-radius:16px;
  margin-bottom:18px;
}
body.route-home .home-featured .section-heading-row > div,
body.route-home .home-events .section-heading-row > div{
  min-width:0;
}

/* Home — bloco final já tinha proteção; unifica com os controles novos. */
body.route-home .home-intro .intro-copy,
body.route-home .home-intro .intro-links{
  border-radius:18px;
}

/* Planeje sua visita — título dos roteiros recomendados ficava diretamente
   sobre a arte de fundo. */
.page-plan .plan-recommended-heading{
  padding:16px 18px;
  border-radius:16px;
}

/* Páginas individuais — título/descrição e texto longo precisam de uma
   superfície estável, porque o desenho do fundo pode passar por trás deles. */
.detail-page .detail-hero-copy{
  padding:26px 28px;
  border-radius:20px;
}
.detail-page .detail-main-copy{
  padding:20px 28px 28px;
  border-radius:20px;
  align-self:start;
}
.detail-page .detail-main-copy > h2:first-child{
  margin-top:4px;
}

/* Elementos que já possuem proteção suficiente e não devem ganhar outra caixa:
   hero principal, categorias/filtros, cards, patrocinadores, CTA, busca,
   página simples, montador de roteiro e rodapé. */

@media (max-width:1000px){
  body.route-home .routes-title{
    padding:18px 20px !important;
    margin-top:0;
  }
  body.route-home .routes-title .all-routes{
    margin-top:0;
  }
  .detail-page .detail-hero-copy,
  .detail-page .detail-main-copy{
    padding:22px;
  }
}

@media (max-width:760px){
  main{
    background:#f6f0e4 !important;
  }
  main::before{
    background-image:
      linear-gradient(
        rgba(248,238,223,var(--tei-bg-softness-mobile,.75)),
        rgba(248,238,223,var(--tei-bg-softness-mobile,.75))
      ),
      var(--tei-img-site) !important;
    background-size:cover,cover !important;
  }

  body.route-home .routes-title,
  body.route-home .home-featured .section-heading-row,
  body.route-home .home-events .section-heading-row,
  body.route-home .home-intro .intro-copy,
  body.route-home .home-intro .intro-links,
  .page-plan .plan-recommended-heading,
  .detail-page .detail-hero-copy,
  .detail-page .detail-main-copy{
    background:rgba(251,246,236,var(--tei-reading-opacity-mobile,.94));
    -webkit-backdrop-filter:blur(var(--tei-reading-blur,6px));
    backdrop-filter:blur(var(--tei-reading-blur,6px));
  }

  body.route-home .routes-title{
    padding:18px !important;
    border-radius:16px;
  }
  body.route-home .routes-title .all-routes{
    margin-top:15px;
    margin-bottom:0;
  }
  body.route-home .home-featured .section-heading-row,
  body.route-home .home-events .section-heading-row,
  .page-plan .plan-recommended-heading{
    padding:14px 16px;
    border-radius:14px;
  }
  .detail-page .detail-hero-copy,
  .detail-page .detail-main-copy{
    padding:18px;
    border-radius:16px;
  }
}

/* Agenda sem eventos: nenhuma vitrine fictícia, só um estado vazio claro. */
.event-list-empty{grid-column:1/-1;padding:34px 28px;border:1px solid rgba(201,154,69,.34);border-radius:20px;background:rgba(248,238,223,.86);display:flex;flex-direction:column;gap:6px;color:var(--petrol)}
.event-list-empty strong{font-family:var(--font-display);font-size:clamp(22px,2vw,30px);font-weight:500}
.event-list-empty span{color:#6f675d;font-size:15px}

/* v1.7.1 — banner da Home respeita cover/contain também na prévia e no mobile */
.hero-art[style*="--tei-hero-image"]{background-size:100% 100%,var(--tei-hero-fit,cover) !important;background-repeat:no-repeat,no-repeat !important}
@media(max-width:680px){.hero-art[style*="--tei-hero-image"]{background-size:var(--tei-hero-mobile-fit,var(--tei-hero-fit,cover)) !important;background-repeat:no-repeat !important}}

/* v1.7.41 — card patrocinado compacto: título sempre visível e sem vazio excessivo */
.sponsor-card.sponsor-carousel{
  min-height:226px;
}
.sponsor-slide .sponsor-box{
  gap:5px;
  padding:8px 8px 9px;
}
.sponsor-slide .sponsor-logo{
  min-height:0;
  aspect-ratio:16 / 8.4;
  object-fit:cover;
}
.sponsor-slide .sponsor-name{
  display:block;
  font-size:14px;
  line-height:1.2;
  margin:1px 0 0;
  color:var(--petrol);
  font-family:var(--serif);
  font-weight:600;
}
.sponsor-slide .sponsor-box a{
  margin-top:1px;
  align-self:flex-start;
}
@media (min-width:1181px){
  .sponsor-card.sponsor-carousel{min-height:226px;}
  .sponsor-slide .sponsor-logo{min-height:0;}
}
@media (max-width:1200px){
  .sponsor-card.sponsor-carousel{min-height:210px;}
  .sponsor-slide .sponsor-logo{min-height:0;}
}
@media (max-width:680px){
  .sponsor-card.sponsor-carousel{min-height:0;}
  .sponsor-slide .sponsor-logo{min-height:0;}
}

/* v1.7.42 — patrocinado com altura real do conteúdo, sem faixa branca inferior */
.route-card-grid > .sponsor-card.sponsor-carousel{
  align-self:start;
  height:auto !important;
  min-height:0 !important;
}
.sponsor-card.sponsor-carousel .sponsor-slides{
  flex:0 0 auto;
  min-height:0;
  height:auto;
}
.sponsor-card.sponsor-carousel .sponsor-slide{
  height:auto;
}
.sponsor-card.sponsor-carousel .sponsor-slide.is-active{
  position:relative;
  inset:auto;
}
.sponsor-card.sponsor-carousel .sponsor-slide .sponsor-box{
  flex:0 0 auto;
  margin:8px 0 0;
  padding:7px 7px 8px;
  gap:4px;
}
.sponsor-card.sponsor-carousel .sponsor-slide .sponsor-logo{
  margin:0 0 1px;
}
.sponsor-card.sponsor-carousel .sponsor-slide .sponsor-name{
  margin:0;
}
.sponsor-card.sponsor-carousel .sponsor-slide .sponsor-box a{
  margin:0;
}
.sponsor-card.sponsor-carousel .sponsor-dots{
  flex:0 0 auto;
  margin-top:6px;
}
@media (max-width:1200px){
  .route-card-grid > .sponsor-card.sponsor-carousel{
    min-height:0 !important;
    height:auto !important;
  }
}
@media (max-width:680px){
  .route-card-grid > .sponsor-card.sponsor-carousel{
    min-height:0 !important;
    height:auto !important;
  }
}


/* v1.7.46 — rodapé sem a coluna Portal / Anuncie. */
@media (min-width:761px){
  .footer-inner{grid-template-columns:2fr repeat(2,1fr);}
}
.footer-brand .footer-social{margin-top:18px;justify-content:flex-start;}


/* =====================================================
   v1.7.47 — Itu Além do Óbvio: matéria em formato editorial
   Somente o post type materia usa este layout. As demais páginas internas
   continuam usando o detail-page padrão sem alterações.
   ===================================================== */
.editorial-detail-page{
  position:relative;
  padding:28px 0 70px;
}
.editorial-detail-header{
  max-width:1240px;
}
.editorial-detail-back{
  display:inline-flex;
  margin:0 0 22px;
}
.editorial-detail-heading{
  display:grid;
  grid-template-columns:minmax(0,900px);
  justify-content:center;
  text-align:center;
  margin:0 auto 28px;
}
.editorial-detail-heading-copy{
  padding:30px 54px 34px;
  border:1px solid rgba(201,154,69,.32);
  border-radius:24px;
  background:rgba(255,250,242,.91);
  box-shadow:0 12px 34px rgba(72,51,24,.06);
  backdrop-filter:blur(var(--tei-reading-blur,6px));
}
.editorial-detail-heading .eyebrow{
  margin-bottom:8px;
}
.editorial-detail-category{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin:0 auto 13px;
  padding:4px 12px;
  border:1px solid rgba(196,88,23,.24);
  border-radius:999px;
  color:var(--terracotta);
  background:rgba(255,255,255,.64);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.editorial-detail-heading h1{
  max-width:850px;
  margin:0 auto 17px;
  color:var(--petrol);
  font-family:var(--serif);
  font-size:clamp(46px,5vw,76px);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.025em;
}
.editorial-detail-lead{
  max-width:760px;
  margin:0 auto;
  color:#555a54;
  font-size:19px;
  line-height:1.62;
}
.editorial-detail-hero{
  width:min(100%,980px);
  height:clamp(270px,30vw,380px);
  margin-left:auto;
  margin-right:auto;
  overflow:hidden;
  border:1px solid rgba(201,154,69,.36);
  border-radius:28px;
  background:#e7d8c1;
  box-shadow:0 16px 38px rgba(63,44,21,.09);
}
.editorial-detail-hero picture,
.editorial-detail-hero img{
  display:block;
  width:100%;
  height:100%;
}
.editorial-detail-reading{
  max-width:960px;
  padding-top:10px;
}
.editorial-detail-hero-after{
  margin-top:28px;
}
.editorial-detail-article{
  position:relative;
  padding:42px 64px 48px;
  border:1px solid rgba(201,154,69,.30);
  border-radius:24px;
  background:rgba(255,250,242,.93);
  box-shadow:0 10px 30px rgba(72,51,24,.055);
  backdrop-filter:blur(var(--tei-reading-blur,6px));
}
.editorial-detail-rule{
  width:68px;
  height:3px;
  margin:0 0 27px;
  border-radius:999px;
  background:var(--gold);
}
.editorial-entry-content{
  color:#444944;
  font-size:18px;
  line-height:1.86;
}
.editorial-entry-content>p:first-child{
  margin-top:0;
  font-size:20px;
  line-height:1.8;
}
.editorial-entry-content p:last-child{margin-bottom:0}
.editorial-entry-content h2,
.editorial-entry-content h3{
  color:var(--petrol);
  font-family:var(--serif);
  line-height:1.12;
}
.editorial-entry-content h2{font-size:34px;margin:38px 0 14px}
.editorial-entry-content h3{font-size:27px;margin:30px 0 12px}
.editorial-entry-content blockquote{
  margin:32px 0;
  padding:22px 26px;
  border-left:4px solid var(--gold);
  border-radius:0 14px 14px 0;
  background:#fff7e9;
  color:var(--petrol);
  font-family:var(--serif);
  font-size:24px;
  line-height:1.45;
}
.editorial-entry-content img{
  border-radius:16px;
}
.editorial-related{
  max-width:1240px;
  padding-top:54px;
}
.editorial-related-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.editorial-related-heading h2{
  margin:0;
  color:var(--petrol);
  font-family:var(--serif);
  font-size:38px;
  line-height:1.05;
}
.editorial-related-heading a{
  color:var(--terracotta);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}
.editorial-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.editorial-related-grid .content-card{height:100%}
@media(max-width:900px){
  .editorial-detail-heading-copy{padding:28px 30px}
  .editorial-detail-hero{width:min(100%,860px);height:320px}
  .editorial-detail-article{padding:36px 40px 42px}
  .editorial-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editorial-related-grid .content-card:last-child{display:none}
}
@media(max-width:680px){
  .editorial-detail-page{padding-top:16px;padding-bottom:48px}
  .editorial-detail-back{margin-bottom:14px}
  .editorial-detail-heading{margin-bottom:14px;text-align:left}
  .editorial-detail-heading-copy{padding:22px 20px 24px;border-radius:18px}
  .editorial-detail-category{margin-left:0;margin-right:0}
  .editorial-detail-heading h1{font-size:40px;margin-bottom:13px}
  .editorial-detail-lead{font-size:16px;line-height:1.55}
  .editorial-detail-hero{width:100%;height:220px;border-radius:18px}
  .editorial-detail-reading{padding-top:8px}
  .editorial-detail-hero-after{margin-top:18px}
  .editorial-detail-article{padding:26px 21px 30px;border-radius:18px}
  .editorial-entry-content,.editorial-entry-content>p:first-child{font-size:16px;line-height:1.75}
  .editorial-entry-content h2{font-size:29px}
  .editorial-entry-content h3{font-size:24px}
  .editorial-entry-content blockquote{font-size:21px;padding:18px 20px}
  .editorial-related{padding-top:38px}
  .editorial-related-heading{display:block}
  .editorial-related-heading h2{font-size:31px;margin-bottom:12px}
  .editorial-related-grid{grid-template-columns:1fr}
  .editorial-related-grid .content-card:last-child{display:block}
}

/* =====================================================
   v1.7.55 — páginas internas: grade, leitura e alinhamento
   Aplica-se ao layout compartilhado por atrações, restaurantes,
   hospedagens e eventos. Matérias e roteiros especiais têm layout próprio.
   ===================================================== */
.detail-page{
  padding-bottom:72px;
}
.detail-page .detail-hero,
.detail-page .detail-content-layout{
  max-width:1180px;
  box-sizing:border-box;
}
.detail-page .detail-hero{
  grid-template-columns:minmax(0,45fr) minmax(0,55fr);
  gap:26px;
  align-items:stretch;
  padding-top:34px;
  padding-bottom:30px;
}
.detail-page .detail-hero-copy{
  min-width:0;
  min-height:310px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:30px 32px;
  border-radius:20px;
}
.detail-page .detail-hero-copy .detail-back{
  margin-bottom:14px;
}
.detail-page .detail-hero-copy .eyebrow{
  margin-bottom:4px;
}
.detail-page .detail-hero-copy h1{
  margin:6px 0 14px;
  font-size:clamp(38px,3.25vw,52px);
  line-height:1.03;
  text-wrap:balance;
}
.detail-page .detail-hero-copy p{
  max-width:520px;
  margin:0;
  font-size:16px;
  line-height:1.62;
}
.detail-page .detail-meta-pill{
  align-self:flex-start;
  margin-top:16px;
}
.detail-page .detail-hero-image{
  height:auto;
  min-height:310px;
  max-height:350px;
  align-self:stretch;
  border-radius:20px;
}
.detail-page .detail-hero-image picture,
.detail-page .detail-hero-image img{
  display:block;
  width:100%;
  height:100%;
}

.detail-page .detail-content-layout{
  padding-top:0;
}
.detail-page .detail-main-copy{
  width:min(100%,1080px);
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
  padding:27px 30px 30px;
  border-radius:20px;
}
.detail-page .detail-main-copy > h2{
  font-size:31px;
  line-height:1.1;
  margin:0 0 13px;
}
.detail-page .detail-main-copy .entry-content{
  max-width:none;
  color:#4e534d;
  font-size:16.5px;
  line-height:1.68;
}
.detail-page .detail-main-copy .entry-content p{
  margin:0 0 11px;
  line-height:1.68;
}
.detail-page .detail-main-copy .entry-content p:last-child{
  margin-bottom:0;
}
.detail-page .detail-main-copy .entry-content + h2{
  margin-top:34px;
  margin-bottom:14px;
}
.detail-page .detail-info-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.detail-page .detail-info-grid > div{
  min-width:0;
  min-height:104px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:16px 17px;
  border-radius:13px;
}
.detail-page .detail-info-grid span{
  line-height:1;
}
.detail-page .detail-info-grid strong{
  margin-top:7px;
  font-size:19px;
  line-height:1.15;
}
.detail-page .detail-info-grid p{
  margin:6px 0 0;
  font-size:12px;
  line-height:1.45;
}
.detail-page .detail-hours{
  margin-top:16px;
}
.detail-page .detail-extra-links{
  margin-top:18px;
}

@media (max-width:1000px){
  .detail-page .detail-hero{
    grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
    gap:20px;
    padding-top:28px;
  }
  .detail-page .detail-hero-copy{
    min-height:290px;
    padding:26px;
  }
  .detail-page .detail-hero-copy h1{
    font-size:clamp(36px,4.4vw,46px);
  }
  .detail-page .detail-hero-image{
    min-height:290px;
    max-height:330px;
  }
  .detail-page .detail-main-copy{
    width:100%;
    padding:25px 26px 28px;
  }
  .detail-page .detail-main-copy .entry-content{
    max-width:900px;
    font-size:16px;
    line-height:1.68;
  }
}

@media (max-width:760px){
  .detail-page{
    padding-bottom:52px;
  }
  .detail-page .detail-hero{
    grid-template-columns:1fr;
    gap:14px;
    padding-top:20px;
    padding-bottom:20px;
  }
  .detail-page .detail-hero-copy{
    min-height:0;
    padding:22px 20px;
    border-radius:17px;
  }
  .detail-page .detail-hero-copy h1{
    font-size:38px;
    margin-bottom:12px;
  }
  .detail-page .detail-hero-copy p{
    font-size:15px;
  }
  .detail-page .detail-hero-image{
    min-height:0;
    height:240px;
    max-height:none;
    border-radius:17px;
  }
  .detail-page .detail-main-copy{
    width:100%;
    padding:22px 19px 24px;
    border-radius:17px;
  }
  .detail-page .detail-main-copy > h2{
    font-size:28px;
  }
  .detail-page .detail-main-copy .entry-content{
    max-width:none;
    font-size:15px;
    line-height:1.72;
  }
  .detail-page .detail-main-copy .entry-content p{
    line-height:1.72;
  }
  .detail-page .detail-main-copy .entry-content + h2{
    margin-top:28px;
  }
  .detail-page .detail-info-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .detail-page .detail-info-grid > div{
    min-height:0;
  }
}

/* =====================================================
   v1.7.57 — alinhamento final do bloco Sobre
   A caixa de conteúdo usa exatamente a mesma largura do hero.
   Apenas o corpo de texto é limitado para manter leitura confortável.
   ===================================================== */
@media (min-width:761px){
  .detail-page .detail-content-layout{
    width:100%;
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
  }
  .detail-page .detail-main-copy{
    width:100%;
    max-width:none;
    margin:0;
  }
  .detail-page .detail-main-copy .entry-content{
    max-width:1000px;
  }
}


/* =====================================================
   v1.7.58 — proporção final das páginas internas
   - hero e conteúdo usam a mesma largura real;
   - a imagem preenche toda a coluna direita;
   - o texto de Sobre usa duas colunas em desktop para reduzir
     a altura e aproveitar melhor a área sem criar linhas longas.
   ===================================================== */
@media (min-width:1001px){
  .detail-page .detail-hero,
  .detail-page .detail-content-layout{
    width:min(calc(100% - 64px),1180px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .detail-page .detail-hero{
    grid-template-columns:minmax(0,45fr) minmax(0,55fr);
    gap:26px;
    align-items:stretch;
  }

  .detail-page .detail-hero-copy,
  .detail-page .detail-hero-image{
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  .detail-page .detail-hero-image{
    height:100% !important;
    min-height:310px !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    align-self:stretch !important;
    justify-self:stretch !important;
  }

  .detail-page .detail-main-copy{
    width:100%;
    max-width:none;
  }

  .detail-page .detail-main-copy .entry-content{
    max-width:none !important;
    column-count:2;
    column-gap:44px;
    column-fill:balance;
    font-size:17px;
    line-height:1.66;
  }

  .detail-page .detail-main-copy .entry-content p{
    margin:0 0 13px;
    line-height:1.66;
    orphans:3;
    widows:3;
  }

  .detail-page .detail-main-copy .entry-content h2,
  .detail-page .detail-main-copy .entry-content h3,
  .detail-page .detail-main-copy .entry-content h4,
  .detail-page .detail-main-copy .entry-content figure,
  .detail-page .detail-main-copy .entry-content img,
  .detail-page .detail-main-copy .entry-content blockquote,
  .detail-page .detail-main-copy .entry-content ul,
  .detail-page .detail-main-copy .entry-content ol{
    column-span:all;
  }
}

@media (min-width:761px) and (max-width:1000px){
  .detail-page .detail-hero,
  .detail-page .detail-content-layout{
    width:calc(100% - 32px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .detail-page .detail-main-copy .entry-content{
    column-count:1;
    max-width:none !important;
  }
  .detail-page .detail-hero-image{
    width:100%;
    max-height:none;
    aspect-ratio:auto !important;
  }
}

@media (max-width:760px){
  .detail-page .detail-main-copy .entry-content{
    column-count:1;
  }
}


/* =====================================================
   v1.7.59 — hero interno: conteúdo melhor distribuído
   O breadcrumb fica ancorado no topo e o restante segue um ritmo
   vertical mais compacto, evitando o aspecto de conteúdo flutuando.
   ===================================================== */
@media (min-width:1001px){
  .detail-page .detail-hero-copy{
    min-height:300px;
    justify-content:flex-start;
    padding:28px 30px 26px;
  }
  .detail-page .detail-hero-copy .detail-back{
    margin:0 0 13px;
    line-height:1.2;
  }
  .detail-page .detail-hero-copy .eyebrow{
    margin:0 0 10px;
    line-height:1.2;
  }
  .detail-page .detail-hero-copy h1{
    max-width:470px;
    margin:0 0 16px;
    font-size:clamp(38px,3vw,49px);
    line-height:1.04;
  }
  .detail-page .detail-hero-copy p{
    max-width:455px;
    margin:0;
    font-size:16.5px;
    line-height:1.58;
  }
  .detail-page .detail-meta-pill{
    margin-top:14px;
  }
  .detail-page .detail-hero-image{
    min-height:300px !important;
  }
}

@media (max-width:1000px) and (min-width:681px){
  .detail-page .detail-hero-copy{
    justify-content:flex-start;
    padding:25px 26px 24px;
  }
  .detail-page .detail-hero-copy .detail-back{margin-bottom:12px}
  .detail-page .detail-hero-copy .eyebrow{margin-bottom:8px}
  .detail-page .detail-hero-copy h1{margin-top:0;margin-bottom:14px}
}


/* =====================================================
   v1.7.60 — imagem ao lado do Sobre
   O hero fica compacto e textual; a imagem principal passa a compor
   a seção Sobre, na mesma grade visual das páginas internas.
   ===================================================== */
.detail-page .detail-hero{
  display:block !important;
}
.detail-page .detail-hero-copy{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
}
.detail-page .detail-about-layout,
.detail-page .detail-visit-section{
  width:min(calc(100% - 64px),1180px);
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  padding-left:0;
  padding-right:0;
}
.detail-page .detail-about-layout{
  display:grid;
  grid-template-columns:minmax(0,55fr) minmax(0,45fr);
  gap:26px;
  align-items:stretch;
  margin-top:24px;
}
.detail-page .detail-about-copy{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  min-width:0;
}
.detail-page .detail-about-copy .entry-content{
  column-count:1 !important;
  max-width:none !important;
  font-size:17px;
  line-height:1.7;
}
.detail-page .detail-about-copy .entry-content p{
  margin:0 0 13px;
  line-height:1.7;
}
.detail-page .detail-about-image{
  width:100% !important;
  min-width:0;
  min-height:100% !important;
  height:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  align-self:stretch;
  border-radius:20px;
  overflow:hidden;
}
.detail-page .detail-about-image picture,
.detail-page .detail-about-image img{
  display:block;
  width:100%;
  height:100%;
}
.detail-page .detail-about-image img{
  object-fit:var(--tei-fit,cover);
  object-position:var(--tei-focus-x,50%) var(--tei-focus-y,50%);
}
.detail-page .detail-visit-section{
  margin-top:24px;
  padding:24px 28px 28px;
  border:1px solid rgba(201,154,69,.34);
  border-radius:20px;
  background:rgba(251,246,236,var(--tei-reading-opacity,.88));
  -webkit-backdrop-filter:blur(var(--tei-reading-blur,6px));
  backdrop-filter:blur(var(--tei-reading-blur,6px));
}
.detail-page .detail-visit-section > h2{
  font-family:var(--serif);
  color:var(--petrol);
  font-size:32px;
  line-height:1.08;
  margin:0 0 18px;
}

@media (min-width:1001px){
  .detail-page .detail-hero{
    width:min(calc(100% - 64px),1180px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .detail-page .detail-hero-copy{
    padding:28px 30px 26px;
  }
  .detail-page .detail-hero-copy h1,
  .detail-page .detail-hero-copy p{
    max-width:760px;
  }
}

@media (min-width:761px) and (max-width:1000px){
  .detail-page .detail-hero,
  .detail-page .detail-about-layout,
  .detail-page .detail-visit-section{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }
  .detail-page .detail-about-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
    gap:18px;
  }
  .detail-page .detail-about-copy .entry-content{font-size:16px}
}

@media (max-width:760px){
  .detail-page .detail-about-layout,
  .detail-page .detail-visit-section{
    width:calc(100% - 32px);
    max-width:none;
  }
  .detail-page .detail-about-layout{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:14px;
  }
  .detail-page .detail-about-image{
    min-height:0 !important;
    height:240px !important;
  }
  .detail-page .detail-visit-section{
    margin-top:14px;
    padding:20px 18px 22px;
    border-radius:17px;
  }
  .detail-page .detail-visit-section > h2{font-size:28px}
}


/* =====================================================
   v1.7.63 — Banner Acordes & Sabores com imagem + CTA funcional
   ===================================================== */
.detail-page .acordes-package-banner{
  width:min(calc(100% - 64px),1180px);
  max-width:1180px;
  margin:18px auto 0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(390px,43%) minmax(0,1fr) minmax(230px,23%);
  align-items:stretch;
  min-height:146px;
  border:1px solid rgba(201,154,69,.48);
  border-radius:18px;
  overflow:hidden;
  background:#fff9ee;
  box-shadow:0 7px 22px rgba(74,53,24,.07);
}
.acordes-package-brand{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:21px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fffdf6;
  background-image:
    linear-gradient(90deg,rgba(16,21,16,.72) 0%,rgba(8,31,30,.60) 52%,rgba(8,31,30,.28) 100%),
    var(--acordes-package-image);
  background-repeat:no-repeat;
  background-size:cover,var(--acordes-package-zoom,100%) auto;
  background-position:center,var(--acordes-package-x,50%) var(--acordes-package-y,50%);
}
.acordes-package-brand::after{
  content:'';
  position:absolute;
  z-index:-1;
  top:-18%;
  right:-24px;
  width:52px;
  height:136%;
  background:linear-gradient(90deg,#c8953c 0%,#e8c477 52%,#fff4dc 100%);
  transform:skewX(-20deg);
  box-shadow:-5px 0 12px rgba(0,0,0,.10);
}
.acordes-package-kicker{
  margin-bottom:8px;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
  text-shadow:0 1px 4px rgba(0,0,0,.22);
}
.acordes-package-name{
  max-width:320px;
  font-family:var(--serif);
  font-size:31px;
  line-height:.98;
  font-weight:600;
  color:#fffdf6;
  text-shadow:0 2px 8px rgba(0,0,0,.26);
}
.acordes-package-name b{color:#e9bd58;font-weight:600}
.acordes-package-brand small{
  margin-top:9px;
  max-width:330px;
  font-size:9px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 1px 4px rgba(0,0,0,.28);
}
.acordes-package-copy{
  min-width:0;
  padding:21px 28px 21px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 94% 24%,rgba(201,154,69,.08),transparent 30%),
    linear-gradient(90deg,#fff9ee 0%,#fff8eb 100%);
}
.acordes-package-copy h2{
  margin:0 0 7px;
  font-family:var(--serif);
  color:var(--petrol);
  font-size:29px;
  line-height:1.02;
  font-weight:600;
}
.acordes-package-copy h2::after{
  content:'';
  display:block;
  width:38px;
  height:2px;
  margin-top:8px;
  background:var(--gold);
  border-radius:2px;
}
.acordes-package-copy p{
  margin:0;
  max-width:520px;
  font-size:13.5px;
  line-height:1.45;
  color:#514f49;
}
.acordes-package-action{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 24px 20px 6px;
  background:
    radial-gradient(circle at 82% 28%,rgba(201,154,69,.08),transparent 35%),
    #fff8eb;
}
.acordes-package-button{
  width:100%;
  max-width:245px;
  min-height:54px;
  padding:0 20px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#fff;
  background:linear-gradient(180deg,#c85c27,#ad431a);
  box-shadow:0 5px 14px rgba(155,62,23,.18);
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  text-align:center;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.acordes-package-button:hover,
.acordes-package-button:focus{
  color:#fff;
  transform:translateY(-1px);
  filter:saturate(1.04);
  box-shadow:0 8px 18px rgba(155,62,23,.22);
}
.acordes-package-button span{font-size:18px;line-height:1}

@media (max-width:1050px){
  .detail-page .acordes-package-banner{
    grid-template-columns:minmax(300px,40%) minmax(0,1fr);
    min-height:150px;
  }
  .acordes-package-brand{
    padding:22px 26px;
    background-size:cover,var(--acordes-package-zoom,100%) auto;
    background-position:center,var(--acordes-package-x,50%) var(--acordes-package-y,50%);
  }
  .acordes-package-name{font-size:27px}
  .acordes-package-copy{padding:20px 24px 10px 30px}
  .acordes-package-action{
    grid-column:2;
    justify-content:flex-start;
    padding:0 24px 20px 30px;
  }
  .acordes-package-button{max-width:220px}
}

@media (max-width:680px){
  .detail-page .acordes-package-banner{
    width:calc(100% - 32px);
    max-width:none;
    margin-top:16px;
    grid-template-columns:1fr;
    min-height:0;
    border-radius:16px;
  }
  .acordes-package-brand{
    min-height:150px;
    padding:24px 22px;
    background-size:cover,var(--acordes-package-zoom,100%) auto;
    background-position:center,var(--acordes-package-x,50%) var(--acordes-package-y,50%);
  }
  .acordes-package-brand::after{display:none}
  .acordes-package-name{font-size:29px}
  .acordes-package-copy{padding:20px 22px 10px}
  .acordes-package-copy h2{font-size:25px}
  .acordes-package-copy p{font-size:14px}
  .acordes-package-action{
    grid-column:1;
    padding:8px 22px 22px;
  }
  .acordes-package-button{max-width:none;width:100%}
}


/* =====================================================
   v1.7.67 — Informações para sua visita mais compactas e alinhadas
   ===================================================== */
.detail-page .detail-visit-section{
  padding:20px 22px 22px;
  border-radius:18px;
  background:rgba(251,246,236,.92);
  box-shadow:0 8px 24px rgba(73,52,25,.045);
}
.detail-page .detail-visit-section > h2{
  font-size:27px;
  line-height:1.08;
  margin:0 0 14px;
  letter-spacing:-.01em;
}
.detail-page .detail-info-grid{
  gap:12px;
}
.detail-page .detail-info-grid > div{
  min-height:84px;
  padding:13px 15px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:11px;
  row-gap:2px;
  align-content:center;
  border-radius:14px;
  background:rgba(255,252,247,.98);
  box-shadow:0 3px 10px rgba(73,52,25,.035);
}
.detail-page .detail-info-grid span{
  grid-column:1;
  grid-row:1 / span 2;
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  border:1px solid rgba(196,88,23,.42);
  border-radius:50%;
  background:#fff9ef;
  color:var(--terracotta-dark);
  font-size:14px;
  line-height:1;
}
.detail-page .detail-info-grid strong{
  grid-column:2;
  grid-row:1;
  margin:0;
  font-size:18px;
  line-height:1.15;
}
.detail-page .detail-info-grid p{
  grid-column:2;
  grid-row:2;
  margin:3px 0 0;
  font-size:13px;
  line-height:1.4;
  color:#646961;
}
.detail-page .detail-hours{
  margin-top:14px;
}
.detail-page .detail-extra-links{
  margin-top:14px;
}
@media (max-width:1000px){
  .detail-page .detail-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .detail-page .detail-info-grid > div{min-height:88px;}
}
@media (max-width:760px){
  .detail-page .detail-visit-section{
    padding:18px 16px 18px;
  }
  .detail-page .detail-visit-section > h2{
    font-size:25px;
    margin-bottom:12px;
  }
  .detail-page .detail-info-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .detail-page .detail-info-grid > div{
    min-height:76px;
    padding:12px 13px;
  }
}


/* =====================================================
   v1.7.69 — rodapé no fim da viewport em páginas curtas
   Mantém o rodapé no fluxo normal em páginas longas, mas impede que
   ele suba imediatamente após conteúdos curtos, como uma agenda com
   apenas um evento.
   ===================================================== */
html{min-height:100%;}
body{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
body>main{
  flex:1 0 auto;
  width:100%;
}
body>.site-footer{
  flex:0 0 auto;
  width:100%;
}


/* =====================================================
   v1.7.70 — enquadramento proporcional da imagem ao lado do Sobre
   A imagem deixa de esticar até a altura total do texto. Mantém uma
   moldura horizontal equilibrada e continua respeitando os controles
   de foco/fit cadastrados no Personalizar.
   ===================================================== */
@media (min-width:1001px){
  .detail-page .detail-about-layout{
    align-items:start;
  }
  .detail-page .detail-about-image{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:4 / 3 !important;
    align-self:start;
    background:#eee3d2;
  }
  .detail-page .detail-about-image picture,
  .detail-page .detail-about-image img{
    width:100%;
    height:100%;
  }
}
@media (min-width:681px) and (max-width:1000px){
  .detail-page .detail-about-layout{
    align-items:start;
  }
  .detail-page .detail-about-image{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    align-self:start;
    background:#eee3d2;
  }
}
@media (max-width:680px){
  .detail-page .detail-about-image{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
    background:#eee3d2;
  }
}

/* v1.7.71 — card patrocinado inteiro clicável */
.sponsor-card.sponsor-carousel .sponsor-clickthrough{
  display:block;
  color:inherit;
  text-decoration:none;
  border-radius:10px;
  cursor:pointer;
}
.sponsor-card.sponsor-carousel .sponsor-clickthrough:focus-visible{
  outline:2px solid var(--terracotta);
  outline-offset:3px;
}
.sponsor-card.sponsor-carousel .sponsor-clickthrough .sponsor-box{
  transition:transform .18s ease,box-shadow .18s ease;
}
.sponsor-card.sponsor-carousel .sponsor-clickthrough:hover .sponsor-box{
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(35,49,48,.10);
}
.sponsor-card.sponsor-carousel .sponsor-cta{
  display:inline-flex;
  align-items:center;
  gap:4px;
  width:max-content;
  margin:0;
  font-size:11px;
  color:#bd5b2b;
  font-weight:700;
  border-bottom:1px solid #c8865d;
  padding-bottom:2px;
}
