/* =========================================================
   CORRECOES FINAIS REAIS - carregado por ultimo
   1) imagem no topo das paginas
   2) menu mobile funcional
   3) banner destaque mobile correto
   4) conteudo mobile sem cortar/vazar
   5) remove barra inferior ruim
   ========================================================= */

/* Imagem cadastrada no painel atras dos titulos das paginas */
.page-hero,
.internal-hero,
.title-hero,
.listing-hero,
.news-hero,
.detail-hero{
  position:relative!important;
  overflow:hidden!important;
  background-color:#0b1220!important;
  background-image:linear-gradient(90deg,rgba(2,6,23,.86),rgba(2,6,23,.58),rgba(2,6,23,.36)),var(--page-hero-image)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  box-shadow:none!important;
}
.page-hero > .container,
.internal-hero > .container,
.title-hero > .container,
.listing-hero > .container,
.news-hero > .container,
.detail-hero > .container{position:relative!important;z-index:2!important;}

/* Remove definitivamente a barra inferior mobile antiga */
.app-bottom-nav,
.mobile-bottom-nav,
.ct-bottom-nav{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;height:0!important;overflow:hidden!important;}

/* Sem sombra pesada nos conteudos */
.content-page,.news-article,.podcast-detail-main,.detail-main,.detail-card,.info-card,.ponto-section,.ponto-info-card,.ponto-gallery-card,.ponto-video-card,.region-intro-card,.card,.event,.partner,.sidebox,.filter-box,.filters,.search-filter,.form-card,.spot-card,.package-card,.news-card,.quick-action-card{
  box-shadow:none!important;
}

/* Desktop: deixa o menu normal intacto e o fixo sem cortar */
@media (min-width:901px){
  .nav-close,.nav-backdrop,.mobile-menu-brand,.mobile-menu-links,.mobile-menu-contact{display:none!important;}
  .desktop-menu-links{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;gap:0!important;min-width:0!important;}
  body.header-is-stuck .site-header .casttur-head > nav.nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    height:58px!important;
    min-height:58px!important;
    margin:0!important;
    padding:0 max(10px,calc((100vw - 1180px)/2))!important;
    border:0!important;
    border-radius:0!important;
    background:var(--menu-bg,var(--primary,#075985))!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    z-index:4000!important;
  }
  body.header-is-stuck .site-header .casttur-head > nav.nav .nav-sticky-logo{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    height:58px!important;
    width:auto!important;
    max-width:112px!important;
    margin:0 12px 0 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .site-header .casttur-head > nav.nav .nav-sticky-logo img,
  body.header-is-stuck .site-header .casttur-head > nav.nav .nav-sticky-logo .logo-img{
    max-width:96px!important;
    max-height:42px!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
    filter:brightness(0) invert(1)!important;
  }
  body.header-is-stuck .site-header .casttur-head > nav.nav .desktop-menu-links{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:calc(1180px - 120px)!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  body.header-is-stuck .site-header .casttur-head > nav.nav .desktop-menu-links a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:58px!important;
    min-height:58px!important;
    padding:0 8px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#fff!important;
    font-size:13.8px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .site-header .casttur-head > nav.nav .desktop-menu-links a:hover{background:rgba(255,255,255,.14)!important;color:#fff!important;}
}

/* Mobile real: topo funcional e menu clicavel */
@media (max-width:900px){
  html,body{max-width:100%!important;overflow-x:hidden!important;}
  body{padding-bottom:0!important;}

  .top-strip{display:none!important;}
  .site-header{
    position:sticky!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:6000!important;
    background:#fff!important;
    border-bottom:1px solid var(--line,#e2e8f0)!important;
    box-shadow:none!important;
    filter:none!important;
    opacity:1!important;
  }
  body.header-is-stuck,
  body.mobile-app-shell.header-is-stuck{padding-top:0!important;}
  .casttur-head{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:8px 10px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"logo actions"!important;
    align-items:center!important;
    gap:8px!important;
    min-height:58px!important;
  }
  .casttur-head > .logo{grid-area:logo!important;min-width:0!important;max-width:180px!important;margin:0!important;}
  .casttur-head > .logo .logo-img,
  .casttur-head > .logo img{max-width:132px!important;max-height:46px!important;width:auto!important;height:auto!important;object-fit:contain!important;}
  .casttur-head > .top-banner-area{display:none!important;}
  .casttur-head > .header-actions{grid-area:actions!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;}
  .account-trigger{width:36px!important;min-width:36px!important;height:36px!important;padding:0!important;border-radius:10px!important;background:#fff!important;border:1px solid var(--line,#e2e8f0)!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
  .account-trigger span:not(.account-icon){display:none!important;}
  .search-trigger,.hamb{width:38px!important;min-width:38px!important;height:38px!important;border-radius:10px!important;border:1px solid var(--line,#e2e8f0)!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;}
  .search-trigger{background:#fff!important;color:#0f172a!important;font-size:16px!important;}
  .hamb{background:var(--primary,#075985)!important;color:#fff!important;position:relative!important;font-size:0!important;}
  .hamb span{display:none!important;}
  .hamb::before{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:17px!important;height:2px!important;background:#fff!important;border-radius:2px!important;transform:translate(-50%,-50%)!important;box-shadow:0 -6px 0 #fff,0 6px 0 #fff!important;display:block!important;}
  .hamb::after{display:none!important;content:none!important;}

  .site-header .casttur-head > nav.nav,
  body.header-is-stuck .site-header .casttur-head > nav.nav{
    position:fixed!important;
    top:0!important;
    right:-102vw!important;
    left:auto!important;
    width:min(360px,86vw)!important;
    max-width:min(360px,86vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:12px!important;
    background:#fff!important;
    color:#0f172a!important;
    border:0!important;
    border-left:1px solid var(--line,#e2e8f0)!important;
    border-radius:0!important;
    box-shadow:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:10px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:none!important;
    filter:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:10050!important;
    transition:right .22s ease!important;
  }
  .site-header .casttur-head > nav.nav.open,
  body.header-is-stuck .site-header .casttur-head > nav.nav.open{right:0!important;}
  .nav-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(2,6,23,.54)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    z-index:10040!important;
    transition:opacity .18s ease!important;
  }
  .nav-backdrop.show{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
  .nav-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    align-self:flex-end!important;
    flex:0 0 36px!important;
    width:36px!important;
    height:36px!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#0f172a!important;
    border:1px solid var(--line,#e2e8f0)!important;
    border-radius:10px!important;
    font-size:24px!important;
    line-height:1!important;
    cursor:pointer!important;
    z-index:10060!important;
    box-shadow:none!important;
  }
  .nav .nav-sticky-logo,.desktop-menu-links{display:none!important;}
  .mobile-menu-brand,.mobile-menu-links,.mobile-menu-contact{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;overflow:visible!important;pointer-events:auto!important;}
  .mobile-menu-brand-card{border:1px solid var(--line,#e2e8f0)!important;border-radius:16px!important;background:#fff!important;padding:12px!important;box-shadow:none!important;}
  .mobile-menu-logo{display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:0!important;margin:0 0 8px!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:auto!important;}
  .mobile-menu-logo img{max-width:140px!important;max-height:48px!important;object-fit:contain!important;filter:none!important;}
  .mobile-menu-brand-text{display:grid!important;gap:4px!important;}
  .mobile-menu-kicker{display:inline-flex!important;width:max-content!important;padding:4px 8px!important;border-radius:999px!important;background:rgba(var(--primary-rgb),.08)!important;color:var(--primary,#075985)!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;}
  .mobile-menu-brand-text strong{display:block!important;color:#0f172a!important;font-size:16px!important;line-height:1.15!important;font-weight:900!important;}
  .mobile-menu-brand-text small{display:block!important;color:#64748b!important;font-size:12px!important;line-height:1.35!important;}
  .mobile-menu-links{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;}
  .nav a.mobile-nav-link,
  body.header-is-stuck .nav a.mobile-nav-link{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:42px!important;
    padding:10px 12px!important;
    margin:0!important;
    background:#fff!important;
    color:#0f172a!important;
    border:1px solid var(--line,#e2e8f0)!important;
    border-radius:12px!important;
    font-size:13.5px!important;
    font-weight:900!important;
    line-height:1.2!important;
    text-decoration:none!important;
    box-shadow:none!important;
    pointer-events:auto!important;
  }
  .nav a.mobile-nav-link::after{content:"›"!important;color:#94a3b8!important;font-size:18px!important;line-height:1!important;}
  .nav a.mobile-nav-link:active{background:#f8fafc!important;}
  .mobile-menu-contact{display:grid!important;gap:10px!important;background:#f8fafc!important;border:1px solid var(--line,#e2e8f0)!important;border-radius:16px!important;padding:12px!important;color:#0f172a!important;}
  .mobile-menu-contact-head strong{display:block!important;color:#0f172a!important;font-size:14px!important;font-weight:900!important;}
  .mobile-menu-contact-head small{display:block!important;color:#64748b!important;font-size:11.5px!important;line-height:1.35!important;}
  .mobile-menu-contact-list{display:grid!important;gap:7px!important;}
  .mobile-menu-contact-item{display:flex!important;align-items:center!important;gap:9px!important;width:100%!important;min-height:46px!important;padding:8px 10px!important;background:#fff!important;color:#0f172a!important;border:1px solid var(--line,#e2e8f0)!important;border-radius:12px!important;box-shadow:none!important;text-decoration:none!important;}
  .menu-contact-badge{width:30px!important;height:30px!important;flex:0 0 30px!important;border-radius:9px!important;display:grid!important;place-items:center!important;background:rgba(var(--primary-rgb),.08)!important;color:var(--primary,#075985)!important;font-weight:900!important;}
  .menu-contact-copy{display:grid!important;min-width:0!important;}
  .menu-contact-copy small{font-size:10px!important;text-transform:uppercase!important;color:#64748b!important;font-weight:800!important;}
  .menu-contact-copy strong{font-size:12px!important;color:#0f172a!important;font-weight:900!important;line-height:1.2!important;word-break:break-word!important;}

  /* Banner destaque mobile refeito */
  .hero.hero-carousel{
    width:calc(100% - 14px)!important;
    margin:0 auto 14px!important;
    height:330px!important;
    min-height:330px!important;
    border-radius:16px!important;
    overflow:hidden!important;
    background:#0f172a!important;
    position:relative!important;
    isolation:isolate!important;
  }
  .hero-carousel .hero-slide{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:330px!important;
    min-height:330px!important;
    display:flex!important;
    align-items:flex-end!important;
    background-size:cover!important;
    background-position:center!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:scale(1.015)!important;
    transition:opacity .5s ease,transform .65s ease!important;
  }
  .hero-carousel .hero-slide.active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:scale(1)!important;z-index:2!important;}
  .hero-slide::before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(2,6,23,.08) 0%,rgba(2,6,23,.34) 45%,rgba(2,6,23,.88) 100%)!important;z-index:1!important;}
  .hero-carousel .hero-content{
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 14px 42px!important;
    text-align:center!important;
    color:#fff!important;
  }
  .hero-carousel .kicker{font-size:10px!important;padding:5px 8px!important;margin:0 auto 7px!important;border-radius:999px!important;}
  .hero-carousel h1{font-size:24px!important;line-height:1.08!important;margin:0 0 7px!important;color:#fff!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
  .hero-carousel p{font-size:12.8px!important;line-height:1.38!important;margin:0 auto 10px!important;color:#fff!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;max-width:95%!important;}
  .hero-carousel .btn{width:auto!important;min-width:0!important;max-width:100%!important;min-height:36px!important;padding:8px 12px!important;border-radius:10px!important;font-size:12px!important;display:inline-flex!important;}
  .hero-carousel .hero-arrow{display:none!important;}
  .hero-carousel .hero-dots{position:absolute!important;left:0!important;right:0!important;bottom:12px!important;z-index:5!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;}
  .hero-carousel .hero-dots button{width:7px!important;height:7px!important;min-width:7px!important;min-height:7px!important;padding:0!important;border-radius:999px!important;border:0!important;background:rgba(255,255,255,.55)!important;box-shadow:none!important;font-size:0!important;line-height:0!important;}
  .hero-carousel .hero-dots button.active{width:22px!important;height:7px!important;background:#fff!important;}

  /* Conteudo mobile padronizado para nao comer/vazar */
  .container,.section > .container,.home-section > .container,.page-hero > .container,.news-detail-section > .container,.podcast-detail-section > .container,.footer > .container{
    width:calc(100% - 14px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .scope-bar .container{width:calc(100% - 14px)!important;}
  .section,.home-section{padding:28px 0!important;overflow:hidden!important;}
  .section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px!important;margin-bottom:12px!important;}
  .section h2,.section-head h2{font-size:24px!important;line-height:1.1!important;margin:0!important;}
  .section p.lead{font-size:13px!important;line-height:1.45!important;}
  .grid,.cols-2,.cols-3,.cols-4,.main-layout,.news-large,.home-events-grid,.listing-grid,.cards-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .home-carousel-track{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;overflow:visible!important;scroll-snap-type:none!important;}
  .home-carousel-wrap{overflow:visible!important;}
  .home-car-arrow{display:none!important;}
  .card,.spot-card,.package-card,.news-card,.event,.partner,.sidebox,.filter-box,.filters,.search-filter,.content-page,.news-article,.podcast-detail-main{width:100%!important;max-width:100%!important;border-radius:14px!important;overflow:hidden!important;box-shadow:none!important;}
  .card-img,.news-card img,.spot-card img,.package-card img,.article-main-image,.detail-main-img{width:100%!important;max-width:100%!important;height:auto!important;object-fit:cover!important;}
  .card-img,.news-card .card-img,.spot-card .card-img,.package-card .card-img{height:190px!important;}
  .card-body,.spot-card-body,.package-card-body,.news-card-body{padding:13px!important;}
  .filter-box form,.filters form,.filter-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  input,select,textarea,.form input,.form select,.form textarea{max-width:100%!important;min-height:42px!important;}
  table,.table-wrap,iframe,video{max-width:100%!important;}
  .gallery-grid,.media-gallery,.page-gallery,.city-gallery,.photos-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .gallery-grid img,.media-gallery img,.page-gallery img,.city-gallery img,.photos-grid img{width:100%!important;height:108px!important;object-fit:cover!important;border-radius:10px!important;}
  .footer{padding-bottom:28px!important;margin-bottom:0!important;}
  .floating-whatsapp{bottom:18px!important;}
}

@media (max-width:420px){
  .hero.hero-carousel,.hero-carousel .hero-slide{height:315px!important;min-height:315px!important;}
  .hero-carousel h1{font-size:22px!important;}
  .card-img,.news-card .card-img,.spot-card .card-img,.package-card .card-img{height:176px!important;}
}
