/* Ajuste SOMENTE MOBILE: melhora leitura e alinhamento sem alterar desktop */
@media (max-width: 900px){
  html{overflow-x:hidden!important;}
  body{overflow-x:hidden!important;background:#fff!important;}

  /* largura padrão só para conteúdo no mobile */
  main,
  .section,
  .home-section,
  .page-hero,
  .news-detail-section,
  .podcast-detail-section,
  .content-section{
    overflow:hidden!important;
  }
  main > .container,
  .section > .container,
  .home-section > .container,
  .page-hero > .container,
  .news-detail-section > .container,
  .podcast-detail-section > .container,
  .main-layout,
  .content-page,
  .news-article,
  .podcast-detail-main,
  .region-hero .hero-content{
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* topo mobile estável */
  .casttur-head{
    width:100%!important;
    max-width:100%!important;
    padding:10px 12px!important;
    gap:8px!important;
  }
  .logo-img,
  .logo img{max-width:170px!important;max-height:54px!important;object-fit:contain!important;}
  .header-actions{gap:6px!important;}
  .account-trigger{height:40px!important;padding:0 10px!important;font-size:12px!important;}
  .search-trigger,.hamb{width:40px!important;height:40px!important;min-width:40px!important;}

  /* hero/home mais limpos no celular */
  .hero-slide,
  .home-hero,
  .hero{
    min-height:auto!important;
  }
  .hero-slide{
    min-height:390px!important;
    align-items:flex-end!important;
  }
  .hero-content{
    width:calc(100% - 24px)!important;
    padding:36px 0 46px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hero h1,
  .page-hero h1{
    font-size:30px!important;
    line-height:1.08!important;
    margin:10px 0!important;
  }
  .hero p,
  .page-hero p,
  .lead{
    font-size:15px!important;
    line-height:1.55!important;
  }
  .hero-actions,
  .hero-buttons{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
  .hero-actions .btn,
  .hero-buttons .btn{width:auto!important;min-height:42px!important;padding:11px 14px!important;}

  /* páginas internas */
  .page-hero{padding:26px 0!important;}
  .section,
  .home-section{padding:24px 0!important;}
  .section-head{display:block!important;margin-bottom:14px!important;}
  .section h2,
  .section-head h2{font-size:24px!important;line-height:1.15!important;margin:0 0 6px!important;}

  /* conteúdo branco, alinhado, sem cartão afundado */
  .content-page,
  .news-article,
  .podcast-detail-main,
  .detail-main,
  .region-intro-card{
    background:#fff!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    padding:0!important;
  }
  .content-page p,
  .news-article p,
  .article-content p,
  .detail-content p{
    font-size:16px!important;
    line-height:1.72!important;
    margin:0 0 14px!important;
  }
  .content-page h1,.content-page h2,.content-page h3,
  .news-article h1,.news-article h2,.news-article h3,
  .detail-main h1,.detail-main h2,.detail-main h3{
    line-height:1.18!important;
    margin:16px 0 10px!important;
  }

  /* grids e cards */
  .grid,
  .cols-2,
  .cols-3,
  .cols-4,
  .news-large,
  .main-layout,
  .home-events-grid,
  .cards-grid,
  .listing-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .card,
  .spot-card,
  .package-card,
  .news-card,
  .event,
  .sidebox,
  .filter-box,
  .search-filter,
  .form-card{
    border:1px solid var(--line,#e2e8f0)!important;
    border-radius:14px!important;
    box-shadow:none!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .card-body,
  .spot-card-body,
  .package-card-body,
  .news-card-body{padding:14px!important;}
  .card h3,
  .spot-card h3,
  .package-card h3,
  .news-card h3{font-size:18px!important;line-height:1.25!important;}
  .card p,
  .spot-card p,
  .package-card p,
  .news-card p{font-size:14px!important;line-height:1.55!important;}

  /* imagens */
  img,
  .card-img,
  .detail-main-img,
  .article-main-image,
  .news-article img,
  .content-page img{
    max-width:100%!important;
    height:auto!important;
  }
  .card-img,
  .article-main-image,
  .detail-main-img{border-radius:14px!important;object-fit:cover!important;}
  .card-img{height:190px!important;}

  /* filtros e formulários */
  form,
  .form,
  .filters,
  .filter-row{
    gap:10px!important;
  }
  .form input,.form textarea,.form select,
  form input,form textarea,form select,
  .filters input,.filters select{
    width:100%!important;
    min-height:44px!important;
    border-radius:12px!important;
    font-size:15px!important;
  }
  .btn,button,input[type="submit"]{min-height:42px!important;border-radius:12px!important;}

  /* sidebar fica abaixo e sem apertar conteúdo */
  .sidebar{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin-top:18px!important;}

  /* galeria mobile */
  .gallery-grid,
  .media-gallery,
  .page-gallery,
  .city-gallery{
    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{aspect-ratio:1/1!important;object-fit:cover!important;border-radius:10px!important;}

  /* menu lateral mobile: vertical e legível */
  .mobile-menu-links{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important;}
  .nav a.mobile-nav-link{width:100%!important;color:#0f172a!important;}
  .mobile-menu-contact{width:100%!important;}

  /* evita que elementos vazem para fora da tela */
  table,.table-wrap,iframe,video{max-width:100%!important;}
  .table-wrap{overflow-x:auto!important;}
}

@media (max-width: 480px){
  .hero-slide{min-height:360px!important;}
  .hero h1,.page-hero h1{font-size:27px!important;}
  .section h2,.section-head h2{font-size:22px!important;}
  .content-page p,.news-article p,.article-content p,.detail-content p{font-size:15.5px!important;}
}
