
/* =========================================================
   CASTTUR - LAYOUT ÚNICO FINAL
   Um CSS único para eliminar conflitos acumulados.
   ========================================================= */

*,
*::before,
*::after{box-sizing:border-box}

html{overflow-x:hidden;scroll-behavior:smooth}
body{
  margin:0;
  overflow-x:hidden;
  background:#fff;
  color:var(--site-text,#0f172a);
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%}
a{text-decoration:none;color:inherit}
.container{
  width:min(1180px,calc(100% - 36px));
  margin-inline:auto;
}

/* ---------------- TOPO ---------------- */
.top-strip{
  background:var(--top-bar-bg,#0b1220);
  color:var(--top-bar-text,#fff);
  font-size:12px;
}
.top-strip .container{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.city-switch{
  border:0;
  height:26px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font:inherit;
  cursor:pointer;
}
.city-switch strong{font-size:12px}
.change-city{font-size:11px;opacity:.75}
.desktop-contact{font-size:12px;opacity:.94}

.site-header{
  background:#fff;
  border-bottom:1px solid #e5eaf0;
  box-shadow:0 8px 24px rgba(15,23,42,.055);
  position:relative;
  z-index:100;
}
.head,
.casttur-head{
  min-height:96px;
  display:grid;
  grid-template-columns:220px minmax(320px,728px) auto;
  grid-template-areas:
    "logo banner actions"
    "nav nav nav";
  align-items:center;
  gap:10px 18px;
  padding:12px 0 10px;
}
.logo{
  grid-area:logo;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:#0f172a;
}
.logo-img-wrap{
  display:flex;
  align-items:center;
  max-width:220px;
  min-width:0;
}
.logo-img,
.logo img{
  display:block;
  max-width:210px;
  max-height:68px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.logo-mark{
  width:46px;
  height:46px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:rgba(var(--primary-rgb),.10);
}
.logo small{
  display:block;
  color:#64748b;
  font-size:11px;
}

/* Banner topo */
.top-banner-area{
  grid-area:banner;
  width:100%;
  max-width:728px;
  margin-inline:auto;
  display:flex;
  justify-content:center;
  align-items:center;
  background:transparent;
}
.top-banner-slot,
.ad-top-728{
  width:100%;
  max-width:728px;
  aspect-ratio:728/90;
  height:auto;
  position:relative;
  overflow:hidden;
  background:transparent;
  border:0;
  box-shadow:none;
}
.top-banner-slot .banner-rotator-item,
.ad-top-728 .top-banner-item,
.ad-top-728 .banner-rotator-item{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease;
}
.top-banner-slot .banner-rotator-item.active,
.ad-top-728 .top-banner-item.active,
.ad-top-728 .banner-rotator-item.active{
  opacity:1;
  pointer-events:auto;
}
.top-banner-slot img,
.ad-top-728 img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border:0;
  box-shadow:none;
}

/* Conta / busca / menu */
.header-actions{
  grid-area:actions;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.account-menu{position:relative}
.account-trigger,
.search-trigger,
.hamb{
  height:42px;
  min-width:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #e5eaf0;
  background:#fff;
  color:#0f172a;
  border-radius:999px;
  padding:0 13px;
  font-size:13px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  cursor:pointer;
}
.search-trigger,
.hamb{
  width:42px;
  padding:0;
  font-size:17px;
}
.hamb{display:none}
.account-dropdown{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:230px;
  z-index:500;
  display:none;
  padding:10px;
  background:#fff;
  border:1px solid #e5eaf0;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(15,23,42,.18);
}
.account-menu:hover .account-dropdown,
.account-menu:focus-within .account-dropdown{
  display:grid;
  gap:4px;
}
.account-dropdown strong{
  padding:8px 10px;
  font-size:13px;
  color:#0f172a;
}
.account-dropdown a{
  display:block;
  padding:10px 11px;
  border-radius:11px;
  color:#334155;
  font-size:13px;
  font-weight:850;
}
.account-dropdown a:hover{
  background:#f8fafc;
  color:var(--primary,#0284c7);
}

/* Menu */
.nav{
  grid-area:nav;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:2px;
  padding-top:4px;
}
.nav a{
  padding:9px 10px;
  color:var(--menu-item,#334155);
  border-radius:10px;
  font-size:13px;
  font-weight:900;
}
.nav a:hover{
  background:rgba(var(--primary-rgb),.08);
  color:var(--primary,#0284c7);
}
.nav-close,
.nav-backdrop{display:none}
.scope-bar,
.city-filter-bar{
  min-height:31px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e6f6ff;
  color:#075985;
  font-size:12px;
  font-weight:850;
}

/* ---------------- HERO / HOME ---------------- */
.hero-carousel{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#0f172a;
}
.hero-slide{
  min-height:520px;
  display:none;
  align-items:center;
  background-size:cover;
  background-position:center;
  position:relative;
}
.hero-slide.active{display:flex}
.hero-slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(2,6,23,.82),rgba(15,23,42,.46),rgba(15,23,42,.08));
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:760px;
  padding:78px 0;
}
.kicker,
.ct-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.hero-content h1{
  margin:15px 0 10px;
  color:#fff;
  font-size:clamp(36px,5vw,66px);
  line-height:1.03;
  letter-spacing:-.055em;
}
.hero-content p{
  margin:0 0 20px;
  max-width:660px;
  color:rgba(255,255,255,.86);
  font-size:clamp(15px,1.45vw,19px);
  line-height:1.55;
}
.btn,
.button,
.ct-btn{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:12px;
  padding:0 16px;
  background:var(--button-primary-bg,var(--primary,#0284c7));
  color:var(--button-primary-text,#fff);
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(var(--primary-rgb),.18);
}
.btn.ghost,
.button.secondary,
.ct-btn-light{
  background:#fff;
  color:var(--primary,#0284c7);
  border:1px solid rgba(var(--primary-rgb),.18);
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}
.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:28px;
  cursor:pointer;
}
.hero-arrow.prev{left:18px}
.hero-arrow.next{right:18px}

/* Atalhos */
.quick-actions-app{
  position:relative;
  z-index:6;
  margin-top:-34px;
}
.quick-actions-scroll{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.quick-action-card{
  min-height:76px;
  display:grid;
  place-items:center;
  gap:5px;
  padding:10px;
  background:#fff;
  border:1px solid #e5eaf0;
  border-radius:18px;
  color:#0f172a;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.quick-action-card span{font-size:22px}
.quick-action-card strong{font-size:12px}

/* Seções */
.section,
.home-section{
  padding:56px 0;
  background:#fff;
}
.home-section.soft-bg,
.soft-bg{background:#f7f9fc}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
.section-head h2{
  margin:0 0 6px;
  color:#0f172a;
  font-size:clamp(28px,3vw,40px);
  line-height:1.08;
  letter-spacing:-.04em;
}
.section-head p,
.lead{
  margin:0;
  color:#64748b;
  font-size:15px;
  line-height:1.55;
}

/* Cards e carrosséis */
.grid,
.listing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.home-carousel-wrap{
  position:relative;
  overflow:hidden;
}
.home-carousel-track{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.home-carousel-wrap.is-carousel{
  padding:0 44px;
}
.home-carousel-wrap.is-carousel .home-carousel-track{
  display:flex;
  flex-wrap:nowrap;
  gap:22px;
  overflow:hidden;
  scroll-behavior:smooth;
}
.home-carousel-wrap.is-carousel .home-carousel-item{
  flex:0 0 calc((100% - 44px)/3);
  max-width:calc((100% - 44px)/3);
}
.card,
.listing-card,
.home-carousel-item{
  position:relative;
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #e5eaf0;
  border-radius:18px;
  color:#0f172a;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover,
.listing-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(15,23,42,.10);
}
.card>a,
.listing-card>a,
.spot-card>a{
  display:block;
  color:inherit;
}
.card-img,
.card img,
.listing-card .card-img,
.home-section .card-img{
  width:100%;
  height:215px;
  max-height:215px;
  object-fit:cover;
  object-position:center;
  display:block;
  background:#e2e8f0;
}
.card-body{
  padding:15px;
}
.badge{
  display:inline-flex;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(var(--primary-rgb),.09);
  color:var(--primary,#0284c7);
  font-size:10.5px;
  line-height:1;
  font-weight:950;
}
.card h3,
.card-body h3{
  margin:10px 0 7px;
  font-size:18px;
  line-height:1.22;
  color:#0f172a;
}
.card p,
.card-body p{
  margin:0;
  color:#64748b;
  font-size:14px;
  line-height:1.5;
}
.price{
  margin-top:12px;
  color:var(--primary,#0284c7);
  font-size:19px;
  font-weight:950;
}
.favorite-heart{
  position:absolute!important;
  right:10px!important;
  top:10px!important;
  z-index:8!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  color:#94a3b8!important;
  border-radius:999px!important;
  font-size:22px!important;
  font-weight:900!important;
  box-shadow:0 10px 24px rgba(15,23,42,.16)!important;
}
.favorite-heart.active{
  background:#ef4444!important;
  color:#fff!important;
}
.home-car-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:36px;
  height:36px;
  border:1px solid #e5eaf0;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 10px 25px rgba(15,23,42,.12);
  font-size:22px;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.home-car-arrow.prev{left:4px}
.home-car-arrow.next{right:4px}

/* Agenda / parceiros */
.home-events-grid,
.event-listing-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.event,
.listing-event{
  min-height:88px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  background:#fff;
  border:1px solid #e5eaf0;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.datebox{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:var(--primary,#0284c7);
  color:#fff;
  text-align:center;
}
.datebox small{
  text-transform:uppercase;
  font-size:10px;
  line-height:1;
}
.datebox span{
  display:block;
  font-size:22px;
  line-height:1;
  font-weight:950;
}
.event strong{display:block;margin-bottom:4px}
.event p{margin:0;color:#64748b;font-size:13px}
.partners-carousel{
  padding:14px;
  background:#fff;
  border:1px solid #e5eaf0;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  overflow:hidden;
}
.partners-track{
  display:flex;
  gap:12px;
  overflow:hidden;
}
.partner,
.partner-slide{
  flex:0 0 calc((100% - 48px)/5);
  min-height:84px;
  display:grid;
  place-items:center;
  border:1px solid #e5eaf0;
  border-radius:14px;
  background:#fff;
}
.partner img,
.partner-slide img{
  max-width:84%;
  max-height:58px;
  object-fit:contain;
}

/* Páginas internas */
.page-hero{
  padding:62px 0;
  background:linear-gradient(135deg,#0f172a,#1e293b);
  color:#fff;
}
.page-hero h1{
  margin:0 0 8px;
  font-size:clamp(32px,4vw,52px);
  line-height:1.06;
  letter-spacing:-.045em;
}
.page-hero p{
  margin:0;
  color:rgba(255,255,255,.78);
}
.listing-section{padding:54px 0;background:#fff}
.listing-filter{
  margin:0 0 24px;
  padding:16px;
  background:#fff;
  border:1px solid #e5eaf0;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.filter-main{
  display:grid;
  grid-template-columns:2fr 1fr 160px auto auto;
  gap:12px;
  align-items:end;
}
.filter-main label{
  display:grid;
  gap:6px;
  font-size:12px;
  color:#334155;
  font-weight:900;
}
.filter-main input,
.filter-main select,
input,
select,
textarea{
  width:100%;
  border:1px solid #dbe3ef;
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
  outline:none;
}
.filter-main input,
.filter-main select{height:42px}
.listing-total{
  margin-top:10px;
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.pagination{
  margin-top:28px;
  display:flex;
  justify-content:center;
  gap:7px;
  flex-wrap:wrap;
}
.pagination a,
.pagination span{
  min-width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid #e5eaf0;
  border-radius:11px;
  background:#fff;
  color:#334155;
  font-size:13px;
  font-weight:900;
}
.pagination a.active,
.pagination a:hover{
  background:var(--primary,#0284c7);
  border-color:var(--primary,#0284c7);
  color:#fff;
}
.partner-listing-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.partner-list-card{
  padding:16px;
  text-align:center;
  background:#fff;
  border:1px solid #e5eaf0;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.partner-logo-box{
  height:92px;
  display:grid;
  place-items:center;
}
.partner-logo-box img{
  max-width:90%;
  max-height:70px;
  object-fit:contain;
}

/* Conteúdo com banners */
.main-layout,
.news-layout,
.podcast-news-layout,
.podcast-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:28px;
  align-items:start;
}
.content-page,
.sidebox{
  background:#fff;
  border:0;
  box-shadow:none;
}
.standard-ad-sidebar,
.news-ad-sidebar,
.podcast-ad-sidebar{
  width:300px;
  max-width:300px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.side-banner-slot,
.standard-ad-banner{
  width:300px;
  max-width:300px;
}
.side-banner-slot .banner-rotator-item{display:none}
.side-banner-slot .banner-rotator-item.active{display:block}
.side-banner-slot img,
.standard-ad-banner img{
  width:300px;
  height:auto;
  object-fit:contain;
  display:block;
}

/* Busca/modal */
.search-overlay{
  position:fixed;
  inset:0;
  z-index:1800;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.search-overlay.show{display:flex}
.search-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,.68);
  backdrop-filter:blur(3px);
}
.search-box{
  position:relative;
  z-index:2;
  width:min(680px,100%);
  padding:26px;
  background:#fff;
  border-radius:22px;
  box-shadow:0 34px 90px rgba(15,23,42,.32);
}
.search-box h2{
  margin:0 0 6px;
  font-size:32px;
  letter-spacing:-.04em;
}
.search-box p{margin:0 0 18px;color:#64748b}
.search-line{display:flex;gap:10px}
.search-line input{height:48px;flex:1}
.search-line button{
  border:0;
  border-radius:12px;
  background:var(--primary,#0284c7);
  color:#fff;
  padding:0 18px;
  font-weight:900;
}
.search-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  background:#f1f5f9;
  font-size:22px;
  cursor:pointer;
}
.city-modal,
.popup-modal{
  position:fixed;
  inset:0;
  z-index:1900;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(2,6,23,.58);
}
.city-modal.show,
.popup-modal.show{display:flex}
.city-modal-card{
  width:min(520px,100%);
  padding:24px;
  background:#fff;
  border-radius:22px;
  box-shadow:0 34px 90px rgba(15,23,42,.32);
}
.city-list{display:grid;gap:8px}
.city-list a{
  padding:13px;
  border:1px solid #e5eaf0;
  border-radius:14px;
  color:#0f172a;
  font-weight:900;
}
.popup-banner-card{
  position:relative;
  background:transparent;
}
.popup-banner-item{display:none}
.popup-banner-item.active{display:block}
.popup-banner-item img{
  width:auto;
  height:auto;
  max-width:calc(100vw - 36px);
  max-height:calc(100vh - 36px);
  object-fit:contain;
}
.popup-close{
  position:absolute;
  right:-12px;
  top:-12px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:#fff;
  font-size:20px;
  cursor:pointer;
}

/* Rodapé */
.footer{
  padding:44px 0 0;
  background:linear-gradient(135deg,#075985,#061224);
  color:#dbeafe;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:28px;
}
.footer h3{color:#fff}
.footer p,
.footer a{
  display:block;
  color:#dbeafe;
  font-size:14px;
  line-height:1.65;
}
.copy{
  margin-top:26px;
  padding:16px 0;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:12px;
}
.mobile-bottom-nav{display:none}
.whatsapp-float,
.ct-whatsapp{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1200;
  width:46px;
  height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#0ea5e9;
  color:#fff;
  box-shadow:0 16px 38px rgba(15,23,42,.22);
}

/* ---------------- MOBILE APP ---------------- */
@media(max-width:900px){
  body{
    padding-bottom:74px;
    background:#fff;
  }
  .desktop-contact{display:none}
  .top-strip{display:none}
  .container{
    width:calc(100% - 20px);
  }
  .site-header{
    position:relative;
    box-shadow:0 4px 16px rgba(15,23,42,.06);
  }
  .head,
  .casttur-head{
    width:100%;
    max-width:100%;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "logo actions"
      "banner banner";
    gap:8px;
    padding:8px 10px 10px;
  }
  .logo{
    grid-area:logo;
    max-width:175px;
  }
  .logo-img-wrap{max-width:175px}
  .logo-img,
  .logo img{
    max-width:168px;
    max-height:50px;
  }
  .header-actions{
    grid-area:actions;
    gap:7px;
  }
  .account-trigger,
  .search-trigger,
  .hamb{
    width:38px;
    height:38px;
    min-width:38px;
    padding:0;
    font-size:0;
  }
  .account-trigger .account-icon{font-size:15px}
  .search-trigger::before{
    content:"🔍";
    font-size:15px;
  }
  .hamb{
    display:inline-flex;
    background:var(--primary,#0284c7);
    color:#fff;
    border-color:var(--primary,#0284c7);
  }
  .hamb::before{
    content:"☰";
    font-size:20px;
  }
  .account-trigger span:not(.account-icon){display:none}
  .account-dropdown{
    right:0;
    width:220px;
  }
  .top-banner-area{
    grid-area:banner;
    max-width:100%;
    width:100%;
  }
  .top-banner-slot,
  .ad-top-728{
    max-width:100%;
    width:100%;
    aspect-ratio:728/90;
  }
  .nav{
    position:fixed;
    top:0;
    right:-310px;
    z-index:1600;
    width:300px;
    max-width:calc(100% - 34px);
    height:100dvh;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:5px;
    padding:58px 14px 18px;
    background:#fff;
    box-shadow:-24px 0 70px rgba(15,23,42,.25);
    overflow:auto;
    transition:right .22s ease;
  }
  .nav.open{right:0}
  .nav a{
    width:100%;
    padding:13px 12px;
    font-size:14px;
  }
  .nav-close{
    display:grid;
    place-items:center;
    position:absolute;
    top:12px;
    right:12px;
    width:34px;
    height:34px;
    border:0;
    border-radius:999px;
    background:#f1f5f9;
    color:#0f172a;
    font-size:22px;
  }
  .nav-backdrop.show{
    display:block;
    position:fixed;
    inset:0;
    z-index:1550;
    background:rgba(2,6,23,.45);
    backdrop-filter:blur(2px);
  }
  .scope-bar,
  .city-filter-bar{
    min-height:28px;
    font-size:11px;
  }

  .hero-carousel{min-height:0}
  .hero-slide{
    min-height:310px;
    align-items:flex-end;
  }
  .hero-slide::before{
    background:linear-gradient(180deg,rgba(2,6,23,.10),rgba(2,6,23,.92));
  }
  .hero-content{
    padding:0 0 16px;
    width:100%;
  }
  .hero-content h1{
    font-size:26px;
    line-height:1.08;
  }
  .hero-content p{
    font-size:13px;
    margin-bottom:12px;
  }
  .hero-content .btn{
    width:100%;
    min-height:44px;
  }
  .hero-arrow{display:none}

  .quick-actions-app{
    margin-top:0;
    padding:12px 0 4px;
  }
  .quick-actions-scroll{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .quick-action-card{
    min-height:64px;
    border-radius:15px;
  }
  .quick-action-card span{font-size:18px}
  .quick-action-card strong{font-size:11px}

  .section,
  .home-section{
    padding:30px 0;
  }
  .section-head{
    align-items:flex-start;
    margin-bottom:14px;
  }
  .section-head h2{
    font-size:24px;
  }
  .section-head p,
  .lead{display:none}
  .section-head .btn{
    height:30px;
    min-height:30px;
    padding:0 10px;
    border-radius:999px;
    font-size:11px;
    white-space:nowrap;
  }

  .home-carousel-wrap,
  .home-carousel-wrap.is-carousel{
    padding:0;
    overflow:visible;
  }
  .home-carousel-track,
  .home-carousel-wrap.is-carousel .home-carousel-track,
  .partners-track{
    display:flex;
    flex-wrap:nowrap;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px;
  }
  .home-carousel-track::-webkit-scrollbar,
  .partners-track::-webkit-scrollbar{display:none}
  .home-carousel-item,
  .home-carousel-wrap.is-carousel .home-carousel-item{
    flex:0 0 86%;
    max-width:86%;
    scroll-snap-align:start;
  }
  .home-car-arrow{display:none}

  .grid,
  .listing-grid{
    grid-template-columns:1fr;
  }
  .card,
  .listing-card{
    border-radius:18px;
  }
  .card-img,
  .card img,
  .listing-card .card-img,
  .home-section .card-img{
    height:180px;
    max-height:180px;
  }
  .card-body{padding:13px}
  .badge{font-size:9.5px}
  .card h3,
  .card-body h3{
    font-size:15px;
  }
  .card p,
  .card-body p{
    font-size:12.5px;
  }
  .favorite-heart{
    width:34px!important;
    height:34px!important;
    font-size:20px!important;
  }

  .home-events-grid,
  .event-listing-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .event,
  .listing-event{
    min-height:76px;
    padding:12px;
    border-radius:16px;
  }
  .datebox{
    width:52px;
    height:52px;
    flex-basis:52px;
  }
  .datebox span{font-size:20px}
  .event strong{font-size:13px}
  .event p{font-size:11.5px}

  .partner,
  .partner-slide{
    flex:0 0 44%;
    min-height:72px;
    scroll-snap-align:start;
  }
  .partner-listing-grid{
    grid-template-columns:1fr;
  }

  .filter-main{
    grid-template-columns:1fr;
  }
  .filter-main .btn,
  .filter-main a,
  .filter-main button{
    width:100%;
  }
  .listing-filter{
    padding:12px;
    border-radius:16px;
  }

  .main-layout,
  .news-layout,
  .podcast-news-layout,
  .podcast-detail-layout{
    grid-template-columns:1fr;
  }
  .standard-ad-sidebar,
  .news-ad-sidebar,
  .podcast-ad-sidebar{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2px;
  }
  .side-banner-slot,
  .standard-ad-banner,
  .side-banner-slot img,
  .standard-ad-banner img{
    width:100%;
    max-width:100%;
  }

  .search-box{
    padding:22px;
    border-radius:20px;
  }
  .search-box h2{font-size:24px}
  .search-line{
    display:grid;
    grid-template-columns:1fr;
  }
  .search-line input,
  .search-line button{
    height:44px;
    width:100%;
  }

  .footer{
    padding:30px 0 84px;
  }
  .footer-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .footer p,
  .footer a{
    font-size:12px;
  }
  .mobile-bottom-nav{
    position:fixed;
    left:8px;
    right:8px;
    bottom:8px;
    z-index:1500;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:space-around;
    background:#fff;
    border:1px solid #e5eaf0;
    border-radius:20px;
    box-shadow:0 18px 50px rgba(15,23,42,.20);
    overflow:hidden;
  }
  .mobile-bottom-nav a{
    flex:1;
    height:100%;
    display:grid;
    place-items:center;
    gap:2px;
    color:#334155;
    font-size:9px;
    font-weight:850;
  }
  .mobile-bottom-nav span{
    font-size:16px;
  }
  .whatsapp-float,
  .ct-whatsapp{
    right:16px;
    bottom:78px;
    width:42px;
    height:42px;
  }
}
@media(max-width:380px){
  .logo-img,
  .logo img{max-width:145px}
  .header-actions{gap:5px}
  .account-trigger,
  .search-trigger,
  .hamb{
    width:36px;
    height:36px;
    min-width:36px;
  }
  .home-carousel-item,
  .home-carousel-wrap.is-carousel .home-carousel-item{
    flex-basis:88%;
    max-width:88%;
  }
  .card-img,
  .card img,
  .listing-card .card-img,
  .home-section .card-img{
    height:168px;
    max-height:168px;
  }
}


/* =========================================================
   CORREÇÃO FINAL REAL - páginas internas, galerias, lightbox,
   menu inferior e mobile. Carregado por último.
   ========================================================= */

/* Nunca deixar elementos técnicos crus aparecendo */
.install-app-btn{
  display:none!important;
}

.app-bottom-nav{
  display:none;
}

/* Evita controles de lightbox aparecerem soltos no rodapé */
.gallery-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:3000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(2,6,23,.86)!important;
}
.gallery-lightbox.show,
.gallery-lightbox[aria-hidden="false"]{
  display:flex!important;
}
.gallery-lightbox-stage{
  width:min(980px,100%)!important;
  max-height:calc(100vh - 80px)!important;
  display:grid!important;
  place-items:center!important;
}
.gallery-lightbox-content{
  width:100%!important;
  display:grid!important;
  place-items:center!important;
}
.gallery-lightbox-content img,
.gallery-lightbox-content iframe,
.gallery-lightbox-content video{
  max-width:100%!important;
  max-height:calc(100vh - 120px)!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:14px!important;
}
.gallery-lightbox-close,
.gallery-lightbox-arrow{
  position:absolute!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:0 18px 40px rgba(0,0,0,.25)!important;
  cursor:pointer!important;
}
.gallery-lightbox-close{
  top:18px!important;
  right:18px!important;
  width:42px!important;
  height:42px!important;
  font-size:28px!important;
}
.gallery-lightbox-arrow{
  top:50%!important;
  transform:translateY(-50%)!important;
  width:44px!important;
  height:44px!important;
  font-size:30px!important;
}
.gallery-lightbox-arrow.prev{left:18px!important}
.gallery-lightbox-arrow.next{right:18px!important}
.gallery-lightbox-counter,
.gallery-lightbox-title{
  color:#fff!important;
  text-align:center!important;
  margin:8px 0!important;
}

/* Páginas internas: largura e leitura */
.news-detail-section,
.podcast-detail-section{
  background:#fff!important;
  padding:58px 0!important;
}
.news-detail-section .container,
.podcast-detail-section .container{
  width:min(1180px,calc(100% - 36px))!important;
  margin-inline:auto!important;
}
.news-layout,
.podcast-news-layout,
.main-layout{
  display:grid!important;
  grid-template-columns:minmax(0,760px) 300px!important;
  justify-content:center!important;
  gap:34px!important;
  align-items:start!important;
}
.news-article,
.podcast-detail-main,
.content-page{
  min-width:0!important;
  width:100%!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}
.news-main-image,
.detail-main-img{
  width:100%!important;
  height:auto!important;
  max-height:560px!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:16px!important;
  margin:0 0 14px!important;
}
.photo-credit{
  color:#64748b!important;
  font-size:12px!important;
  margin:0 0 14px!important;
}
.lead-text{
  padding:16px!important;
  background:#f0f9ff!important;
  border:1px solid #dbeafe!important;
  border-radius:14px!important;
  color:#334155!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.article-readable,
.podcast-description{
  color:#1e293b!important;
  font-size:16px!important;
  line-height:1.78!important;
}
.article-readable p,
.podcast-description p{
  margin:0 0 16px!important;
}

/* Compartilhamento e ferramentas */
.news-tools,
.podcast-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:14px 0 20px!important;
  padding:12px!important;
  background:#f8fafc!important;
  border:1px solid #e5eaf0!important;
  border-radius:14px!important;
}
.share-buttons,
.reading-tools{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.share-buttons span{
  font-size:12px!important;
  font-weight:900!important;
  color:#475569!important;
}
.share-buttons a,
.share-buttons button,
.reading-tools button{
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #dbe3ef!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0f172a!important;
  padding:0 10px!important;
  font-size:12px!important;
  font-weight:850!important;
  cursor:pointer!important;
}

/* Galerias dentro da notícia */
.detail-block{
  margin-top:30px!important;
}
.detail-block h2,
.podcast-comments h2{
  margin:0 0 14px!important;
  font-size:24px!important;
  letter-spacing:-.03em!important;
}
.detail-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.detail-gallery-grid a{
  display:block!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  border-radius:12px!important;
  border:1px solid #e5eaf0!important;
  background:#f1f5f9!important;
}
.detail-gallery-grid img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.detail-video-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.video-box,
.lightbox-video-card{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  padding:0!important;
  border:1px solid #e5eaf0!important;
  border-radius:12px!important;
  background:#000!important;
  cursor:pointer!important;
}
.video-box iframe,
.lightbox-video-card iframe{
  width:100%!important;
  height:100%!important;
  display:block!important;
  border:0!important;
  pointer-events:none!important;
}
.video-open-label{
  position:absolute!important;
  right:8px!important;
  bottom:8px!important;
  z-index:2!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:#0f172a!important;
  font-size:11px!important;
  font-weight:900!important;
}

/* Podcast */
.podcast-detail-video{
  width:100%!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background:#000!important;
  margin-bottom:14px!important;
}
.podcast-detail-video iframe{
  width:100%!important;
  height:100%!important;
  display:block!important;
  border:0!important;
}
.podcast-detail-video-file{
  width:100%!important;
  border-radius:16px!important;
}
.podcast-audio-box{
  display:grid!important;
  gap:12px!important;
  padding:16px!important;
  background:#f8fafc!important;
  border:1px solid #e5eaf0!important;
  border-radius:16px!important;
}
.podcast-audio-box img{
  width:100%!important;
  max-height:320px!important;
  object-fit:cover!important;
  border-radius:12px!important;
}
.podcast-audio-box audio{
  width:100%!important;
}

/* Comentários */
.podcast-comments{
  margin-top:28px!important;
  padding-top:24px!important;
  border-top:1px solid #e5eaf0!important;
}
.comment-login-required,
.comment-form,
.comment-item{
  background:#f8fafc!important;
  border:1px solid #e5eaf0!important;
  border-radius:14px!important;
  padding:14px!important;
}
.comment-login-required p{
  margin:0 0 12px!important;
  color:#475569!important;
}
.comment-form textarea{
  width:100%!important;
  min-height:110px!important;
  resize:vertical!important;
}
.comment-submit{
  margin-top:10px!important;
}
.comment-list{
  display:grid!important;
  gap:10px!important;
  margin-top:16px!important;
}
.comment-item strong{
  display:inline-block!important;
  margin-right:8px!important;
}
.comment-item small{
  color:#64748b!important;
}
.comment-item p{
  margin:10px 0 0!important;
}
.comment-reply{
  margin-top:10px!important;
  padding:10px!important;
  border-left:4px solid var(--primary,#0284c7)!important;
  background:#fff!important;
  border-radius:10px!important;
}

/* Banners laterais */
.standard-ad-sidebar{
  width:300px!important;
  max-width:300px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.side-banner-slot{
  width:300px!important;
  max-width:300px!important;
  position:relative!important;
}
.side-banner-slot .banner-rotator-item{
  display:none!important;
}
.side-banner-slot .banner-rotator-item.active{
  display:block!important;
}
.side-banner-slot img{
  width:300px!important;
  max-width:300px!important;
  height:auto!important;
  display:block!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Relacionados */
.related-news-full-section,
.related-podcast-full-section{
  background:#fff!important;
  padding:42px 0 58px!important;
}
.related-news-grid,
.related-podcast-grid,
.grid.cols-3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
}
.podcast-thumb-wrap{
  position:relative!important;
}
.podcast-play{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  font-size:34px!important;
  text-shadow:0 6px 18px rgba(0,0,0,.4)!important;
  pointer-events:none!important;
}

/* Corrige footer/bottom nav real usado no sistema */
.app-bottom-nav{
  display:none!important;
}
.floating-whatsapp{
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  z-index:1200!important;
  width:46px!important;
  height:46px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#0ea5e9!important;
  color:#fff!important;
  box-shadow:0 16px 38px rgba(15,23,42,.22)!important;
}

/* Mobile final */
@media(max-width:900px){
  .news-detail-section,
  .podcast-detail-section{
    padding:30px 0!important;
  }
  .news-detail-section .container,
  .podcast-detail-section .container{
    width:calc(100% - 20px)!important;
  }
  .news-layout,
  .podcast-news-layout,
  .main-layout{
    grid-template-columns:1fr!important;
    gap:22px!important;
    justify-content:stretch!important;
  }
  .news-main-image,
  .detail-main-img{
    border-radius:14px!important;
    max-height:none!important;
  }
  .news-tools,
  .podcast-tools{
    display:grid!important;
    gap:10px!important;
  }
  .share-buttons,
  .reading-tools{
    gap:6px!important;
  }
  .share-buttons a,
  .share-buttons button,
  .reading-tools button{
    font-size:11px!important;
    min-height:30px!important;
    padding:0 8px!important;
  }
  .article-readable,
  .podcast-description{
    font-size:15px!important;
    line-height:1.7!important;
  }
  .lead-text{
    font-size:14px!important;
  }
  .detail-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .detail-video-grid{
    grid-template-columns:1fr!important;
  }
  .standard-ad-sidebar{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:2px!important;
  }
  .side-banner-slot,
  .side-banner-slot img{
    width:100%!important;
    max-width:100%!important;
  }
  .related-news-grid,
  .related-podcast-grid,
  .grid.cols-3{
    display:flex!important;
    overflow-x:auto!important;
    gap:12px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .related-news-grid::-webkit-scrollbar,
  .related-podcast-grid::-webkit-scrollbar,
  .grid.cols-3::-webkit-scrollbar{
    display:none!important;
  }
  .related-news-grid .card,
  .related-podcast-grid .card,
  .grid.cols-3 .card{
    flex:0 0 86%!important;
    max-width:86%!important;
    scroll-snap-align:start!important;
  }
  .gallery-lightbox{
    padding:10px!important;
  }
  .gallery-lightbox-arrow{
    width:38px!important;
    height:38px!important;
    font-size:26px!important;
  }
  .gallery-lightbox-arrow.prev{left:8px!important}
  .gallery-lightbox-arrow.next{right:8px!important}
  .gallery-lightbox-close{
    top:10px!important;
    right:10px!important;
  }

  .app-bottom-nav{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    z-index:1500!important;
    height:58px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-around!important;
    background:#fff!important;
    border:1px solid #e5eaf0!important;
    border-radius:20px!important;
    box-shadow:0 18px 50px rgba(15,23,42,.20)!important;
    overflow:hidden!important;
  }
  .app-bottom-nav a,
  .app-bottom-nav button{
    flex:1!important;
    height:100%!important;
    border:0!important;
    background:#fff!important;
    display:grid!important;
    place-items:center!important;
    color:#334155!important;
    font-size:9px!important;
    font-weight:850!important;
    padding:0!important;
  }
  .app-bottom-nav span{
    font-size:16px!important;
    line-height:1!important;
  }
  .app-bottom-nav small{
    display:block!important;
  }
  .floating-whatsapp{
    right:16px!important;
    bottom:78px!important;
    width:42px!important;
    height:42px!important;
  }
  body{
    padding-bottom:74px!important;
  }
}
@media(max-width:520px){
  .detail-gallery-grid{
    grid-template-columns:1fr!important;
  }
  .related-news-grid .card,
  .related-podcast-grid .card,
  .grid.cols-3 .card{
    flex-basis:88%!important;
    max-width:88%!important;
  }
}

/* Refinamento profissional seguro: não altera a ordem dos blocos, apenas acabamento visual */
.hero.hero-carousel{isolation:isolate;background:#08111f;box-shadow:0 18px 54px rgba(15,23,42,.14)}
.hero-slide{min-height:600px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.hero-slide:before{background:linear-gradient(90deg,rgba(2,6,23,.88) 0%,rgba(2,6,23,.66) 42%,rgba(2,6,23,.20) 72%,rgba(2,6,23,.08) 100%)!important}
.hero-slide:after{content:"";position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(180deg,transparent,rgba(2,6,23,.55));pointer-events:none;z-index:1}
.hero-content{position:relative;z-index:2;max-width:760px;padding-top:104px;padding-bottom:104px}
.hero-content .kicker{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);color:#fff;font-weight:800;letter-spacing:.01em;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.hero-content h1{text-shadow:0 16px 42px rgba(0,0,0,.36);letter-spacing:-.055em;max-width:820px}
.hero-content p{color:rgba(255,255,255,.90);font-weight:500;text-shadow:0 8px 24px rgba(0,0,0,.32)}
.hero-content .btn,.hero-content .ct-btn{border-radius:999px;padding:14px 24px;box-shadow:0 16px 42px rgba(var(--primary-rgb),.30);font-weight:900}
.hero-arrow{border:1px solid rgba(255,255,255,.28)!important;background:rgba(255,255,255,.17)!important;box-shadow:0 16px 40px rgba(0,0,0,.20)}
.hero-dots{position:absolute;z-index:5;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:8px;padding:7px 9px;border-radius:999px;background:rgba(2,6,23,.42);backdrop-filter:blur(10px)}
.hero-dots button{width:9px;height:9px;border:0;border-radius:999px;background:rgba(255,255,255,.42);cursor:pointer}.hero-dots button.active{width:28px;background:#fff}
.card,.event,.quick-action-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card:hover,.event:hover,.quick-action-card:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(15,23,42,.13)}
.professional-footer{background:linear-gradient(135deg,var(--footer-bg),color-mix(in srgb,var(--footer-bg) 74%,#000));border-top:1px solid rgba(255,255,255,.08)}
.professional-footer .footer-grid{grid-template-columns:1.4fr .85fr .95fr 1fr;gap:34px;align-items:flex-start}.footer-logo-white{display:block;max-width:220px;max-height:86px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1);margin:0 0 16px}.professional-footer h3{color:#fff;margin-bottom:12px}.professional-footer p{margin:0 0 8px}.professional-footer a{color:rgba(255,255,255,.84);text-decoration:none}.professional-footer a:hover{color:#fff;text-decoration:underline}.professional-footer .copy{border-top:1px solid rgba(255,255,255,.10);padding-top:18px;color:rgba(255,255,255,.72)}
.institutional-hero{background:radial-gradient(circle at 20% 10%,rgba(var(--primary-rgb),.38),transparent 32%),linear-gradient(135deg,#06111f,#13233a)!important}.institutional-page{max-width:980px}.institutional-card{background:var(--card-bg);border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:0 18px 54px rgba(15,23,42,.08);font-size:1.04rem;line-height:1.85;color:var(--site-text)}
@media(max-width:760px){.hero-slide{min-height:430px!important;align-items:flex-end}.hero-slide:before{background:linear-gradient(180deg,rgba(2,6,23,.16),rgba(2,6,23,.92))!important}.hero-content{padding:0 0 54px!important}.hero-content .kicker{font-size:12px;padding:7px 11px}.hero-content h1{font-size:31px!important;line-height:1.04}.hero-content p{font-size:14px!important}.hero-content .btn,.hero-content .ct-btn{width:100%;justify-content:center;min-height:48px}.hero-dots{bottom:14px}.professional-footer .footer-grid{grid-template-columns:1fr;gap:18px}.footer-logo-white{max-width:190px}.institutional-card{padding:22px;border-radius:20px}}

/* =========================================================
   AJUSTES FINAIS - BANNER MOBILE / CONTA / MENU
   ========================================================= */
.account-trigger{
  appearance:none;
  -webkit-appearance:none;
  font-family:inherit;
}
.account-menu::after{
  content:"";
  position:absolute;
  right:0;
  top:100%;
  width:230px;
  height:14px;
  display:none;
}
.account-menu:hover::after,
.account-menu:focus-within::after,
.account-menu.open::after{display:block}
.account-menu.open .account-dropdown,
.account-menu:hover .account-dropdown,
.account-menu:focus-within .account-dropdown{
  display:grid;
  gap:4px;
}
.account-dropdown{
  top:calc(100% + 8px);
}
.hamb{
  position:relative;
  line-height:1!important;
  font-size:0!important;
  align-items:center!important;
  justify-content:center!important;
}
.hamb span,
.hamb::before,
.hamb::after{display:none!important}
.hamb::before{
  content:""!important;
  display:block!important;
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;
  transform:none!important;
  margin:0!important;
}
@media(max-width:900px){
  .hamb{
    display:inline-flex!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    padding:0!important;
    border-radius:12px!important;
  }
  .account-dropdown{
    right:0!important;
    top:calc(100% + 8px)!important;
    width:min(230px,calc(100vw - 24px))!important;
  }
}
@media(max-width:760px){
  .hero.hero-carousel{
    margin:12px 10px 0!important;
    border-radius:22px!important;
    overflow:hidden!important;
    min-height:0!important;
    box-shadow:0 16px 38px rgba(15,23,42,.16)!important;
  }
  .hero.hero-carousel .hero-slide,
  .hero-slide{
    min-height:420px!important;
    border-radius:22px!important;
    align-items:flex-end!important;
  }
  .hero-content{
    width:100%!important;
    padding:0 18px 52px!important;
    max-width:none!important;
  }
  .hero-content h1{
    font-size:29px!important;
    line-height:1.06!important;
    margin:10px 0 8px!important;
  }
  .hero-content p{
    font-size:14px!important;
    line-height:1.42!important;
    margin-bottom:14px!important;
  }
  .hero-content .btn,
  .hero-content .ct-btn{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    display:inline-flex!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:11px 18px!important;
    border-radius:999px!important;
  }
  .hero-dots{bottom:12px!important}
}
@media(max-width:420px){
  .hero.hero-carousel{margin:10px 8px 0!important;border-radius:18px!important}
  .hero.hero-carousel .hero-slide,.hero-slide{min-height:390px!important;border-radius:18px!important}
  .hero-content{padding:0 16px 48px!important}
  .hero-content h1{font-size:25px!important}
  .hero-content .btn,.hero-content .ct-btn{font-size:13px!important;padding:10px 16px!important;min-height:40px!important}
}

/* =========================================================
   CORREÇÃO FINAL - LOGIN / CADASTRO / PAINEL DO USUÁRIO
   ========================================================= */
.user-auth-section,
.user-panel-section{background:linear-gradient(180deg,#f8fafc,#fff)!important}
.user-hero{background:radial-gradient(circle at 20% 8%,rgba(var(--primary-rgb),.25),transparent 34%),linear-gradient(135deg,#071426,#16243a)!important;color:#fff!important}
.user-auth-wrap{display:block!important;max-width:1120px!important}
.user-auth-shell{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(360px,520px)!important;gap:26px!important;align-items:stretch!important;width:100%!important}
.user-auth-info{position:relative!important;overflow:hidden!important;border-radius:26px!important;padding:34px!important;background:linear-gradient(135deg,var(--primary,#0f766e),#0f172a)!important;color:#fff!important;box-shadow:0 22px 58px rgba(15,23,42,.14)!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;min-height:390px!important}
.user-auth-info:before{content:"";position:absolute;inset:-80px -80px auto auto;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.13)}
.user-auth-badge{display:inline-flex!important;align-items:center!important;width:max-content!important;padding:8px 12px!important;border-radius:999px!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.22)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.04em!important;margin-bottom:14px!important}
.user-auth-info h2{margin:0 0 10px!important;font-size:34px!important;line-height:1.05!important;letter-spacing:-.03em!important;color:#fff!important}
.user-auth-info p{margin:0!important;max-width:520px!important;color:rgba(255,255,255,.82)!important;line-height:1.65!important}
.user-card-form.user-auth-form{width:100%!important;align-self:center!important;padding:28px!important;border-radius:24px!important;border:1px solid #e5eaf0!important;background:#fff!important;box-shadow:0 20px 55px rgba(15,23,42,.10)!important;gap:15px!important}
.user-card-form h2{margin:0 0 4px!important;color:#0f172a!important;letter-spacing:-.02em!important;font-size:25px!important}
.user-card-form label{font-size:13px!important;font-weight:900!important;color:#334155!important}
.user-card-form small{display:block!important;color:#64748b!important;font-weight:750!important;margin-top:2px!important}
.user-card-form input,
.user-card-form select,
.user-card-form textarea{height:46px!important;background:#fff!important;border:1px solid #dbe3ef!important;border-radius:13px!important;padding:0 13px!important;font:inherit!important;color:#0f172a!important;box-sizing:border-box!important}
.user-card-form textarea{height:auto!important;min-height:112px!important;padding:12px 13px!important;resize:vertical!important}
.user-card-form button,
.user-card-form .btn{width:auto!important;min-height:46px!important;justify-self:start!important;border-radius:13px!important;padding:0 22px!important}
.auth-switch{margin:0!important;color:#64748b!important;font-size:14px!important}.auth-switch a{font-weight:900!important;color:var(--primary,#0f766e)!important;text-decoration:none!important}
.alert.err,.alert.ok{border-radius:14px!important;padding:12px 14px!important;font-weight:850!important}.alert.err{background:#fff1f2!important;color:#9f1239!important;border:1px solid #fecdd3!important}.alert.ok{background:#ecfdf5!important;color:#065f46!important;border:1px solid #a7f3d0!important}
.user-dashboard{display:grid!important;grid-template-columns:270px minmax(0,1fr)!important;gap:24px!important;align-items:start!important}
.user-panel-nav{position:sticky!important;top:92px!important;background:#fff!important;border:1px solid #e5eaf0!important;border-radius:22px!important;padding:12px!important;box-shadow:0 16px 42px rgba(15,23,42,.065)!important}
.user-panel-nav a{display:flex!important;align-items:center!important;gap:10px!important;min-height:46px!important;padding:0 13px!important;border-radius:14px!important;color:#334155!important;text-decoration:none!important;font-weight:900!important;white-space:nowrap!important}
.user-panel-nav a span{width:26px!important;height:26px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important;background:#f1f5f9!important;font-size:14px!important}
.user-panel-nav a.active,.user-panel-nav a:hover{background:rgba(var(--primary-rgb),.10)!important;color:var(--primary,#0f766e)!important}.user-panel-nav a.active span,.user-panel-nav a:hover span{background:#fff!important}
.user-panel-content{min-width:0!important;display:grid!important;gap:16px!important}.user-welcome-card,.user-panel-card,.content-page{background:#fff!important;border:1px solid #e5eaf0!important;border-radius:22px!important;box-shadow:0 16px 42px rgba(15,23,42,.06)!important}.user-welcome-card{padding:24px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:18px!important}.user-welcome-card span{font-size:12px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--primary,#0f766e)!important}.user-welcome-card h2{margin:4px 0 6px!important;font-size:28px!important;letter-spacing:-.03em!important}.user-welcome-card p{margin:0!important;color:#64748b!important;line-height:1.55!important}.user-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:0!important}.user-stats a{display:block!important;background:#fff!important;border:1px solid #e5eaf0!important;border-radius:22px!important;padding:22px!important;text-decoration:none!important;color:#0f172a!important;box-shadow:0 14px 36px rgba(15,23,42,.055)!important}.user-stats strong{display:block!important;font-size:36px!important;line-height:1!important;color:var(--primary,#0f766e)!important}.user-stats span{display:block!important;margin-top:8px!important;font-weight:900!important;color:#475569!important}.user-panel-card,.content-page{padding:22px!important}.user-panel-card h2,.content-page h2{margin-top:0!important}.route-spots{display:grid!important;gap:8px!important;padding:12px!important;border:1px solid #e5eaf0!important;border-radius:16px!important;background:#f8fafc!important}.route-spots h3{margin:0 0 5px!important}.route-spots label{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:9px!important;padding:9px 10px!important;background:#fff!important;border:1px solid #e5eaf0!important;border-radius:12px!important}.route-spots input[type="checkbox"]{width:18px!important;height:18px!important;padding:0!important;flex:0 0 18px!important}.route-item,.user-comment-item{padding:16px!important;border:1px solid #e5eaf0!important;border-radius:16px!important;background:#fff!important;margin-top:12px!important}.comment-reply-form{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:flex-end!important}.comment-reply-form label{flex:1 1 100%!important;display:grid!important;gap:6px!important;font-weight:900!important}.comment-reply-form .btn{width:auto!important}.btn.danger{background:#ef4444!important;color:#fff!important}
@media(max-width:900px){.user-auth-shell{grid-template-columns:1fr!important}.user-auth-info{min-height:auto!important;padding:26px!important}.user-auth-info h2{font-size:28px!important}.user-dashboard{grid-template-columns:1fr!important}.user-panel-nav{position:relative!important;top:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.user-welcome-card{align-items:flex-start!important;flex-direction:column!important}.user-welcome-card .btn{width:auto!important}.user-stats{grid-template-columns:1fr!important}}
@media(max-width:520px){.user-auth-section .container,.user-panel-section .container{padding-left:12px!important;padding-right:12px!important}.user-card-form.user-auth-form{padding:20px!important;border-radius:20px!important}.user-auth-info{padding:22px!important;border-radius:20px!important}.user-auth-info h2{font-size:24px!important}.user-panel-nav{grid-template-columns:1fr!important;border-radius:18px!important}.user-welcome-card,.user-panel-card,.content-page,.user-stats a{border-radius:18px!important;padding:18px!important}.user-card-form button,.user-card-form .btn{width:100%!important;justify-self:stretch!important}.comment-reply-form .btn{width:100%!important}}

/* =========================================================
   AJUSTE FINAL - LOGIN / CADASTRO SEM CARD LATERAL
   ========================================================= */
.user-auth-single{
  display:flex!important;
  justify-content:center!important;
  align-items:flex-start!important;
  max-width:760px!important;
  margin:0 auto!important;
  padding-top:6px!important;
  padding-bottom:8px!important;
}
.user-auth-single .user-card-form.user-auth-form{
  width:min(100%,520px)!important;
  margin:0 auto!important;
  padding:34px!important;
  gap:18px!important;
  border-radius:24px!important;
}
.user-auth-single .user-card-form h2{
  margin-bottom:2px!important;
  font-size:28px!important;
  line-height:1.12!important;
}
.user-auth-single .user-card-form label{
  gap:8px!important;
  line-height:1.25!important;
}
.user-auth-single .user-card-form input,
.user-auth-single .user-card-form select,
.user-auth-single .user-card-form textarea{
  height:50px!important;
  border-radius:14px!important;
  padding-left:15px!important;
  padding-right:15px!important;
}
.user-auth-single .user-card-form button,
.user-auth-single .user-card-form .btn{
  margin-top:4px!important;
  min-height:48px!important;
}
.user-auth-single .auth-switch{
  padding-top:2px!important;
  text-align:left!important;
}
@media(max-width:640px){
  .user-auth-single{padding-left:14px!important;padding-right:14px!important;max-width:100%!important}
  .user-auth-single .user-card-form.user-auth-form{padding:24px!important;border-radius:22px!important;gap:16px!important}
  .user-auth-single .user-card-form h2{font-size:25px!important}
  .user-auth-single .user-card-form button,.user-auth-single .user-card-form .btn{width:auto!important;min-width:150px!important;justify-self:start!important}
}


/* ==========================================================
   Ajuste final: páginas brancas, conteúdo alinhado e galerias
   ========================================================== */
body.lightbox-open{overflow:hidden!important}
.section > .container,
.page-hero > .container,
.news-detail-section > .container,
.podcast-detail-section > .container{
  width:min(1210px,calc(100% - 38px))!important;
  max-width:1210px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.content-page,
.news-article,
.podcast-detail-main,
.region-intro-card,
.user-panel-card,
.sidebox{
  background:#fff!important;
  box-shadow:none!important;
}
.content-page,
.news-article,
.podcast-detail-main,
.region-intro-card,
.user-panel-card{
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
  max-width:none!important;
}
.institutional-page{
  max-width:none!important;
}
.institutional-card{
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
}
.content-page > h2:first-child,
.institutional-page > h2:first-child{
  margin-top:0!important;
}
.main-layout,
.news-layout,
.podcast-news-layout,
.podcast-detail-layout{
  align-items:start!important;
}
.detail-gallery-grid,
.detail-video-grid,
.partner-gallery,
.gallery-card{
  position:relative;
}
.content-page [data-lightbox-item],
.news-article [data-lightbox-item],
.video-gallery-card{
  cursor:pointer!important;
}
.content-page [data-lightbox-item] img,
.news-article [data-lightbox-item] img,
.detail-gallery-grid img,
.partner-gallery img{
  transition:transform .22s ease, filter .22s ease!important;
}
.content-page [data-lightbox-item]:hover img,
.news-article [data-lightbox-item]:hover img,
.detail-gallery-grid a:hover img,
.partner-gallery a:hover img{
  transform:translateY(-2px)!important;
  filter:brightness(.96)!important;
}
.gallery-lightbox{
  z-index:99999!important;
}
.gallery-lightbox.show,
.gallery-lightbox[aria-hidden="false"]{
  display:flex!important;
}
.gallery-lightbox-content iframe{
  aspect-ratio:16/9!important;
  width:min(1100px,100%)!important;
  height:auto!important;
  min-height:320px!important;
}
@media(max-width:760px){
  .section > .container,
  .page-hero > .container,
  .news-detail-section > .container,
  .podcast-detail-section > .container{
    width:calc(100% - 28px)!important;
    max-width:none!important;
  }
  .content-page,
  .news-article,
  .podcast-detail-main,
  .region-intro-card,
  .user-panel-card,
  .institutional-card{
    padding:0!important;
    border-radius:0!important;
  }
  .gallery-lightbox-content iframe{
    min-height:210px!important;
  }
}


/* ==========================================================
   Correção final solicitada: alinhamento de páginas e galerias mobile
   - conteúdo/foto alinhados à margem esquerda do container do site
   - galerias visíveis em grade antes do modal
   - mobile sempre 2 colunas para fotos/vídeos de galeria
   ========================================================== */
.section > .container,
.page-hero > .container,
.news-detail-section > .container,
.podcast-detail-section > .container{
  width:min(1210px,calc(100% - 38px))!important;
  max-width:1210px!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
.main-layout,
.news-layout,
.podcast-news-layout,
.podcast-detail-layout{
  justify-content:start!important;
  justify-items:stretch!important;
}
.news-layout,
.main-layout{
  grid-template-columns:minmax(0,760px) 300px!important;
  gap:34px!important;
}
.content-page,
.news-article,
.podcast-detail-main{
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  background:#fff!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
}
.content-page > img,
.content-page > a:first-child img,
.news-main-image,
.detail-main-img,
.article-main-image{
  display:block!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.article-readable,
.content-page > div:not(.detail-block):not(.news-tools):not(.detail-gallery-grid):not(.detail-video-grid),
.content-page > p,
.lead-text,
.photo-credit{
  margin-left:0!important;
  margin-right:0!important;
}
.detail-gallery-grid,
.detail-video-grid,
.content-page .grid.cols-3:has(.gallery-card),
.partner-gallery{
  display:grid!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  clear:both!important;
}
.detail-gallery-grid,
.content-page .grid.cols-3:has(.gallery-card),
.partner-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.detail-video-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.detail-gallery-grid a,
.content-page .grid.cols-3:has(.gallery-card) .gallery-card,
.partner-gallery .gallery-card,
.detail-video-grid .video-box,
.detail-video-grid .lightbox-video-card{
  display:block!important;
  min-width:0!important;
  margin:0!important;
}
.content-page .grid.cols-3:has(.gallery-card) .gallery-card{
  padding:0!important;
  overflow:hidden!important;
}
.content-page .grid.cols-3:has(.gallery-card) .gallery-card .card-img,
.partner-gallery .gallery-card .card-img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  display:block!important;
}
@media(max-width:900px){
  .section > .container,
  .page-hero > .container,
  .news-detail-section > .container,
  .podcast-detail-section > .container{
    width:calc(100% - 28px)!important;
    max-width:none!important;
  }
  .main-layout,
  .news-layout,
  .podcast-news-layout,
  .podcast-detail-layout{
    grid-template-columns:1fr!important;
    justify-content:stretch!important;
    gap:22px!important;
  }
  .content-page,
  .news-article,
  .podcast-detail-main{
    width:100%!important;
    max-width:none!important;
  }
}
@media(max-width:760px){
  .detail-gallery-grid,
  .content-page .grid.cols-3:has(.gallery-card),
  .partner-gallery,
  .detail-video-grid,
  .content-page .grid.cols-3:has(.video-gallery-card){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .detail-gallery-grid a,
  .content-page .grid.cols-3:has(.gallery-card) .gallery-card,
  .partner-gallery .gallery-card{
    aspect-ratio:1/1!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .detail-gallery-grid img,
  .content-page .grid.cols-3:has(.gallery-card) .gallery-card img,
  .partner-gallery .gallery-card img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
  }
  .detail-video-grid .video-box,
  .detail-video-grid .lightbox-video-card,
  .content-page .grid.cols-3:has(.video-gallery-card) .video-gallery-card{
    aspect-ratio:16/9!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .news-main-image,
  .detail-main-img,
  .article-main-image,
  .content-page > a:first-child img{
    border-radius:14px!important;
  }
}

/* ==========================================================
   Correção: botões da matéria e banner destaque alinhado
   ========================================================== */
.article-readable{
  transition:font-size .18s ease!important;
}
.reading-tools button.is-reading,
.reading-tools button.is-active{
  background:var(--primary,#0284c7)!important;
  border-color:var(--primary,#0284c7)!important;
  color:#fff!important;
}
@media(min-width:761px){
  .hero.hero-carousel .hero-slide > .container.hero-content{
    width:min(1210px,calc(100% - 38px))!important;
    max-width:1210px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    text-align:left!important;
  }
  .hero.hero-carousel .hero-content h1,
  .hero.hero-carousel .hero-content p{
    max-width:760px!important;
  }
}
@media(max-width:760px){
  .hero.hero-carousel .hero-slide > .container.hero-content{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    text-align:center!important;
  }
  .hero.hero-carousel .hero-content .kicker,
  .hero.hero-carousel .hero-content .btn,
  .hero.hero-carousel .hero-content .ct-btn{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hero.hero-carousel .hero-content h1,
  .hero.hero-carousel .hero-content p{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* =========================================================
   TOPO PREMIUM - SOMENTE CABEÇALHO
   ========================================================= */
.top-strip{
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(90deg, color-mix(in srgb,var(--primary,#0f766e) 78%,#020617), #071426 48%, color-mix(in srgb,var(--secondary,#f59e0b) 34%,#071426));
  border-bottom:1px solid rgba(255,255,255,.10);
}
.top-strip .container{
  min-height:38px;
}
.city-switch{
  height:30px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 20px rgba(2,6,23,.14);
  backdrop-filter:blur(10px);
}
.city-switch:hover{
  background:rgba(255,255,255,.20);
  transform:translateY(-1px);
}
.desktop-contact{
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
}
.site-header{
  background:
    linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.92));
  border-bottom:1px solid rgba(226,232,240,.95);
  box-shadow:0 16px 46px rgba(15,23,42,.09);
  backdrop-filter:blur(16px) saturate(150%);
}
.site-header::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--primary,#0f766e),var(--secondary,#f59e0b),var(--primary,#0f766e));
  pointer-events:none;
}
.casttur-head{
  position:relative;
  padding-top:16px;
  padding-bottom:12px;
}
.logo-img-wrap{
  padding:5px 7px;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  border:1px solid rgba(226,232,240,.9);
  box-shadow:0 14px 32px rgba(15,23,42,.07);
}
.logo:not(.has-logo) .logo-mark{
  background:linear-gradient(135deg,var(--primary,#0f766e),var(--secondary,#f59e0b));
  color:#fff;
  box-shadow:0 14px 28px rgba(var(--primary-rgb),.22);
}
.top-banner-area{
  padding:6px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(var(--primary-rgb),.07),rgba(245,158,11,.08));
  border:1px solid rgba(226,232,240,.86);
}
.top-banner-slot,
.ad-top-728{
  border-radius:15px;
}
.header-actions{
  gap:10px;
}
.account-trigger,
.search-trigger,
.hamb{
  border:1px solid rgba(226,232,240,.95);
  background:linear-gradient(180deg,#fff,#f8fafc);
  box-shadow:0 12px 30px rgba(15,23,42,.09);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.account-trigger:hover,
.search-trigger:hover,
.hamb:hover{
  transform:translateY(-2px);
  border-color:rgba(var(--primary-rgb),.24);
  box-shadow:0 18px 38px rgba(15,23,42,.13);
  background:#fff;
}
.account-icon{
  width:24px;
  height:24px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:rgba(var(--primary-rgb),.10);
  font-size:13px;
}
.search-trigger{
  color:var(--primary,#0f766e);
}
.hamb{
  background:linear-gradient(135deg,var(--primary,#0f766e),color-mix(in srgb,var(--primary,#0f766e) 70%,#020617))!important;
  border-color:transparent!important;
  color:#fff!important;
}
.account-dropdown{
  border-radius:20px;
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 28px 80px rgba(15,23,42,.22);
  overflow:hidden;
}
.account-dropdown::before{
  content:"";
  display:block;
  height:4px;
  margin:-10px -10px 6px;
  background:linear-gradient(90deg,var(--primary,#0f766e),var(--secondary,#f59e0b));
}
.nav{
  margin-top:4px;
  padding:8px 10px;
  border-radius:999px;
  background:linear-gradient(180deg,#f8fafc,#fff);
  border:1px solid rgba(226,232,240,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px rgba(15,23,42,.05);
}
.nav a{
  position:relative;
  padding:10px 12px;
  border-radius:999px;
  transition:color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.nav a:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg,rgba(var(--primary-rgb),.12),rgba(245,158,11,.10));
  box-shadow:0 10px 20px rgba(15,23,42,.06);
}
@media(max-width:900px){
  .site-header{
    background:#fff;
    box-shadow:0 10px 28px rgba(15,23,42,.10);
  }
  .site-header::before{height:3px}
  .casttur-head{
    padding:10px 10px 12px;
  }
  .logo-img-wrap{
    padding:3px 4px;
    border-radius:14px;
    box-shadow:none;
    border-color:rgba(226,232,240,.75);
  }
  .header-actions{gap:7px}
  .account-trigger,
  .search-trigger,
  .hamb{
    box-shadow:0 8px 18px rgba(15,23,42,.08);
  }
  .account-trigger:hover,
  .search-trigger:hover,
  .hamb:hover{
    transform:none;
  }
  .top-banner-area{
    padding:5px;
    border-radius:16px;
  }
  .nav{
    margin-top:0;
    padding:62px 14px 18px!important;
    border-radius:0;
    border:0;
    background:#fff;
    box-shadow:-24px 0 70px rgba(15,23,42,.25);
  }
  .nav a{
    border-radius:14px;
    padding:13px 12px!important;
  }
}

/* =========================================================
   TOPO FIXO E LIMPO - SEM SOMBRAS COLORIDAS
   ========================================================= */
.top-strip{
  background:var(--top-bar-bg,#0b1220)!important;
  color:var(--top-bar-text,#fff)!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.top-strip .container{min-height:36px!important}
.city-switch{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
  transform:none!important;
}
.desktop-contact{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:var(--header-bg,#fff)!important;
  border-bottom:1px solid var(--line,#e2e8f0)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.site-header::before{display:none!important}
.casttur-head{
  padding-top:12px!important;
  padding-bottom:10px!important;
  transition:min-height .18s ease,padding .18s ease!important;
}
.logo-img-wrap,
.top-banner-area,
.nav,
.account-trigger,
.search-trigger,
.hamb{
  background:var(--header-bg,#fff)!important;
  border-color:var(--line,#e2e8f0)!important;
  box-shadow:none!important;
}
.logo-img-wrap{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}
.top-banner-area{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}
.top-banner-slot,
.ad-top-728{border-radius:0!important}
.account-trigger:hover,
.search-trigger:hover,
.hamb:hover,
.nav a:hover{
  transform:none!important;
  box-shadow:none!important;
}
.account-trigger:hover,
.search-trigger:hover,
.nav a:hover{
  background:color-mix(in srgb,var(--primary,#0f766e) 8%,var(--header-bg,#fff))!important;
}
.hamb{
  background:var(--primary,#0f766e)!important;
  color:#fff!important;
  border-color:var(--primary,#0f766e)!important;
}
.account-icon{background:color-mix(in srgb,var(--primary,#0f766e) 12%,#fff)!important}
.nav{
  margin-top:3px!important;
  padding:6px 8px!important;
  border-radius:999px!important;
}
.nav a:hover{
  color:var(--primary,#0f766e)!important;
}
.site-header.is-stuck .casttur-head{
  min-height:72px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
.site-header.is-stuck .logo-img,
.site-header.is-stuck .logo img{
  max-height:46px!important;
  max-width:170px!important;
}
.site-header.is-stuck .nav{
  padding-top:4px!important;
  padding-bottom:4px!important;
}
.site-header.is-stuck .nav a{padding-top:8px!important;padding-bottom:8px!important}
.site-header.is-stuck .top-banner-slot,
.site-header.is-stuck .ad-top-728{max-height:72px!important}
@media(max-width:900px){
  .site-header{position:sticky!important;top:0!important}
  .casttur-head{padding:10px 10px 12px!important}
  .top-banner-area{margin-inline:auto!important}
  .nav{
    background:#fff!important;
    border-radius:0!important;
    box-shadow:none!important;
    border:0!important;
  }
}

/* =========================================================
   CORREÇÃO DEFINITIVA DO TOPO FIXO / MENU SEM SOMBRA
   ========================================================= */
:root{
  --casttur-strip-h:36px;
  --casttur-header-h:120px;
}
.top-strip{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:3000!important;
  background:var(--top-bar-bg,#0b1220)!important;
  box-shadow:none!important;
  border:0!important;
  transition:transform .18s ease, opacity .18s ease!important;
}
.site-header{
  position:fixed!important;
  top:var(--casttur-strip-h,36px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:2999!important;
  background:var(--header-bg,#fff)!important;
  border-top:0!important;
  border-bottom:1px solid var(--line,#e2e8f0)!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:none!important;
}
body.header-is-stuck .top-strip{
  transform:translateY(-100%)!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.header-is-stuck .site-header{
  top:0!important;
}
.site-header,
.site-header::before,
.site-header::after,
.casttur-head,
.logo-img-wrap,
.top-banner-area,
.top-banner-slot,
.ad-top-728,
.header-actions,
.account-menu,
.account-trigger,
.search-trigger,
.hamb,
.nav,
.nav a,
.nav-close{
  box-shadow:none!important;
  text-shadow:none!important;
}
.site-header::before,
.site-header::after{display:none!important;content:none!important}
.logo-img-wrap,
.top-banner-area,
.account-trigger,
.search-trigger,
.nav{
  background:var(--header-bg,#fff)!important;
  border-color:var(--line,#e2e8f0)!important;
}
.nav{
  border:1px solid var(--line,#e2e8f0)!important;
  border-radius:999px!important;
  padding:6px 8px!important;
  margin-top:3px!important;
}
.nav a{
  background:transparent!important;
  color:var(--menu-item,#334155)!important;
}
.nav a:hover{
  background:color-mix(in srgb,var(--primary,#0f766e) 8%,#fff)!important;
  color:var(--primary,#0f766e)!important;
  transform:none!important;
}
.account-trigger:hover,
.search-trigger:hover,
.hamb:hover{
  transform:none!important;
  box-shadow:none!important;
}
.hamb{
  background:var(--primary,#0f766e)!important;
  border-color:var(--primary,#0f766e)!important;
  color:#fff!important;
}
.hamb span,
.hamb span::before,
.hamb span::after{
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
}
.hamb span::before{transform:translate(-50%,calc(-50% - 7px))!important}
.hamb span::after{transform:translate(-50%,calc(-50% + 7px))!important}
body.header-is-stuck .casttur-head{
  min-height:68px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
body.header-is-stuck .logo-img,
body.header-is-stuck .logo img{
  max-height:46px!important;
  max-width:175px!important;
}
body.header-is-stuck .top-banner-area{
  max-height:62px!important;
  overflow:hidden!important;
}
body.header-is-stuck .nav{
  padding-top:4px!important;
  padding-bottom:4px!important;
}
body.header-is-stuck .nav a{
  padding-top:8px!important;
  padding-bottom:8px!important;
}
@media(max-width:900px){
  .top-strip{display:none!important}
  .site-header{top:0!important;z-index:3000!important}
  body{padding-top:var(--casttur-header-h,92px)!important}
  .casttur-head{padding:10px 0 10px!important}
  .nav{
    position:fixed!important;
    top:0!important;
    right:-310px!important;
    height:100dvh!important;
    border-radius:0!important;
    border:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .nav.open{right:0!important}
  .nav a:hover{background:#f8fafc!important}
}
/* Ícone do menu centralizado de verdade */
.hamb{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  font-size:0!important;
}
.hamb span{display:none!important}
.hamb::before{
  content:"☰"!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  display:block!important;
  font-size:20px!important;
  line-height:1!important;
  color:#fff!important;
}
@media(min-width:901px){.hamb{display:none!important}}

/* =========================================================
   CORREÇÃO FINAL: SOMENTE O MENU FIXO, SEM CONTORNO REDONDO
   ========================================================= */
@media (min-width:901px){
  body.mobile-app-shell,
  body{
    padding-top:0!important;
  }
  .top-strip{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:auto!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
    box-shadow:none!important;
  }
  .site-header{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    z-index:100!important;
    background:var(--header-bg,#fff)!important;
    border-bottom:1px solid var(--line,#e2e8f0)!important;
    box-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.header-is-stuck .top-strip{
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.header-is-stuck .site-header{
    position:relative!important;
    top:auto!important;
  }
  .casttur-head,
  body.header-is-stuck .casttur-head{
    min-height:initial!important;
    padding-top:12px!important;
    padding-bottom:10px!important;
  }
  .nav{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    margin:10px 0 0!important;
    padding:0!important;
    min-height:52px!important;
    border-radius:0!important;
    border:0!important;
    border-top:1px solid var(--line,#e2e8f0)!important;
    background:var(--menu-bg,var(--header-bg,#fff))!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .nav a{
    min-height:52px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 12px!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--menu-item,#334155)!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  .nav a:hover{
    background:rgba(var(--primary-rgb),.08)!important;
    color:var(--menu-item-hover,var(--primary,#0f766e))!important;
    transform:none!important;
    box-shadow:none!important;
  }
  .nav-close{display:none!important;}
  .nav .nav-sticky-logo{
    display:none!important;
  }
  body.header-is-stuck .nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:5000!important;
    margin:0!important;
    min-height:58px!important;
    padding-left:max(16px,calc((100vw - 1180px)/2))!important;
    padding-right:max(16px,calc((100vw - 1180px)/2))!important;
    justify-content:flex-start!important;
    border-top:0!important;
    border-bottom:1px solid var(--line,#e2e8f0)!important;
    background:var(--menu-bg,var(--header-bg,#fff))!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 0 auto!important;
    min-height:58px!important;
    height:58px!important;
    margin:0 18px 0 0!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo img,
  body.header-is-stuck .nav .nav-sticky-logo .logo-img{
    max-height:42px!important;
    max-width:160px!important;
    object-fit:contain!important;
    display:block!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo .logo-img-wrap{
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .nav a:not(.nav-sticky-logo){
    min-height:58px!important;
    padding:0 11px!important;
  }
  .logo-img-wrap,
  .top-banner-area,
  .account-trigger,
  .search-trigger,
  .hamb,
  .nav,
  .nav a{
    box-shadow:none!important;
    text-shadow:none!important;
  }
}

@media (max-width:900px){
  body.mobile-app-shell,
  body{padding-top:0!important;}
  .top-strip{display:none!important;}
  .site-header{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    box-shadow:none!important;
  }
  .nav{
    border-radius:0!important;
    box-shadow:none!important;
  }
  .nav .nav-sticky-logo{display:none!important;}
}

/* ==========================================================
   CORREÇÃO DEFINITIVA: MENU FIXO LIMPO + PÁGINA DE REGIÃO
   ========================================================== */
@media (min-width:901px){
  body,
  body.mobile-app-shell{padding-top:0!important;}
  body.header-is-stuck,
  body.mobile-app-shell.header-is-stuck{padding-top:var(--casttur-menu-h,58px)!important;}

  .site-header{position:relative!important;z-index:100!important;box-shadow:none!important;filter:none!important;}
  .casttur-head{display:grid!important;grid-template-columns:180px minmax(360px,728px) auto!important;grid-template-areas:"logo banner actions" "menu menu menu"!important;align-items:center!important;gap:12px 22px!important;}
  .casttur-head > .logo{grid-area:logo!important;margin:0!important;align-self:center!important;}
  .casttur-head > .top-banner-area{grid-area:banner!important;justify-self:center!important;width:100%!important;max-width:728px!important;box-shadow:none!important;border-radius:0!important;}
  .casttur-head > .header-actions{grid-area:actions!important;justify-self:end!important;}

  .casttur-head > .nav{
    grid-area:menu!important;
    width:100%!important;
    max-width:100%!important;
    min-height:54px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    border-radius:0!important;
    border:0!important;
    background:var(--menu-bg,var(--primary,#0f8fc7))!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .casttur-head > .nav a:not(.nav-sticky-logo){
    min-height:54px!important;
    padding:0 13px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:var(--menu-item,#fff)!important;
    font-weight:800!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  .casttur-head > .nav a:not(.nav-sticky-logo):hover{
    background:rgba(255,255,255,.14)!important;
    color:var(--menu-item-hover,#fff)!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .nav-close,.nav-backdrop{display:none!important;}
  .nav .nav-sticky-logo{display:none!important;}

  body.header-is-stuck .casttur-head > .nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:9999!important;
    min-height:60px!important;
    margin:0!important;
    padding-left:max(18px,calc((100vw - 1180px)/2))!important;
    padding-right:max(18px,calc((100vw - 1180px)/2))!important;
    justify-content:flex-start!important;
    border-radius:0!important;
    border:0!important;
    box-shadow:none!important;
    background:var(--menu-bg,var(--primary,#0f8fc7))!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 0 auto!important;
    height:60px!important;
    min-height:60px!important;
    max-width:172px!important;
    margin:0 22px 0 0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo .logo-img-wrap,
  body.header-is-stuck .nav .nav-sticky-logo img{
    box-shadow:none!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo img,
  body.header-is-stuck .nav .nav-sticky-logo .logo-img{
    max-height:44px!important;
    max-width:160px!important;
    width:auto!important;
    object-fit:contain!important;
    display:block!important;
  }
  body.header-is-stuck .casttur-head > .nav a:not(.nav-sticky-logo){min-height:60px!important;}
}

/* Ícone mobile correto, centralizado e sem sombra */
.hamb{box-shadow:none!important;border-radius:0!important;position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.hamb::before{content:"☰"!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;font-size:22px!important;line-height:1!important;color:#fff!important;}
.hamb span{display:none!important;}
@media(max-width:900px){
  .site-header{position:relative!important;box-shadow:none!important;}
  .nav{border-radius:0!important;box-shadow:none!important;}
}

/* Página de região organizada, sem conteúdo afundado */
.region-hero{min-height:430px!important;background-size:cover!important;background-position:center!important;display:flex!important;align-items:center!important;margin:0!important;}
.region-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,23,.60),rgba(2,6,23,.20),rgba(2,6,23,.05));pointer-events:none;}
.region-hero{position:relative!important;}
.region-hero .hero-content{position:relative!important;z-index:1!important;width:min(1210px,calc(100% - 38px))!important;margin-inline:auto!important;padding:0!important;}
.region-hero .hero-content h1{font-size:clamp(42px,5vw,70px)!important;line-height:.95!important;margin:12px 0!important;color:#fff!important;max-width:720px!important;}
.region-hero .hero-content p{max-width:620px!important;color:#fff!important;font-size:18px!important;line-height:1.55!important;font-weight:700!important;}
.region-hero .kicker{display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:0 12px!important;border-radius:0!important;background:rgba(15,23,42,.72)!important;color:#fff!important;font-weight:900!important;}

.region-intro-section,
.region-categories-section,
.section{padding-top:58px!important;padding-bottom:58px!important;}
.region-intro-card{max-width:none!important;width:100%!important;background:#fff!important;padding:0!important;margin:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;}
.region-intro-card h2{font-size:28px!important;line-height:1.15!important;margin:0 0 18px!important;}
.region-intro-card p{font-size:16px!important;line-height:1.75!important;margin:0!important;color:#334155!important;}
.section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin:0 0 26px!important;}
.section-head h2{font-size:clamp(30px,3vw,46px)!important;line-height:1.05!important;margin:4px 0 6px!important;}
.section-head .lead{max-width:760px!important;margin:0!important;color:#64748b!important;}
.eyebrow{display:block!important;margin-bottom:4px!important;color:#64748b!important;font-weight:800!important;}

.region-category-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin:0!important;align-items:stretch!important;}
.region-category-card{display:flex!important;align-items:center!important;gap:14px!important;min-height:104px!important;padding:18px!important;text-decoration:none!important;background:#fff!important;border:1px solid var(--line,#e2e8f0)!important;border-radius:0!important;box-shadow:none!important;color:var(--site-text,#0f172a)!important;}
.region-category-card:hover,.region-category-card.active{border-color:var(--primary,#0f8fc7)!important;background:color-mix(in srgb,var(--primary,#0f8fc7) 7%,#fff)!important;box-shadow:none!important;transform:none!important;}
.region-category-icon{width:42px!important;height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:24px!important;line-height:1!important;flex:0 0 42px!important;}
.region-category-card strong{display:block!important;font-size:16px!important;line-height:1.2!important;margin:0 0 6px!important;}
.region-category-card p{margin:0!important;font-size:13px!important;line-height:1.35!important;color:#64748b!important;}

.grid.cols-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important;}
.grid.cols-3 .card{display:block!important;background:#fff!important;border:1px solid var(--line,#e2e8f0)!important;border-radius:16px!important;overflow:hidden!important;text-decoration:none!important;color:inherit!important;box-shadow:none!important;}
.grid.cols-3 .card:hover{transform:none!important;box-shadow:none!important;border-color:var(--primary,#0f8fc7)!important;}
.grid.cols-3 .card-img{width:100%!important;height:230px!important;object-fit:cover!important;display:block!important;}
.grid.cols-3 .card-body{padding:18px!important;}
.grid.cols-3 .card-body h3{margin:8px 0 8px!important;font-size:20px!important;line-height:1.2!important;}
.grid.cols-3 .card-body p{margin:0!important;color:#64748b!important;line-height:1.55!important;}

@media(max-width:1100px){.region-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){
  .region-hero{min-height:340px!important;text-align:left!important;}
  .region-hero .hero-content{width:calc(100% - 28px)!important;}
  .region-hero .hero-content h1{font-size:42px!important;}
  .region-hero .hero-content p{font-size:15px!important;}
  .region-intro-section,.region-categories-section,.section{padding-top:36px!important;padding-bottom:36px!important;}
  .section-head{display:block!important;margin-bottom:18px!important;}
  .region-category-grid{grid-template-columns:1fr!important;gap:10px!important;}
  .region-category-card{min-height:82px!important;padding:14px!important;}
  .grid.cols-3{grid-template-columns:1fr!important;gap:16px!important;}
  .grid.cols-3 .card-img{height:210px!important;}
}

/* =========================================================
   CORREÇÃO FINAL REAL DO TOPO, MENU E CONTEÚDO
   Remove o botão de menu do desktop, elimina sobras visuais,
   deixa o menu reto/limpo e evita sobreposição na home.
   ========================================================= */

/* base limpa: nada de sombras/contornos inesperados no topo */
.site-header,
.site-header *,
.nav,
.nav *,
.top-banner-area,
.logo-img-wrap,
.account-trigger,
.search-trigger,
.hamb{
  text-shadow:none!important;
}
.site-header{box-shadow:none!important;filter:none!important;-webkit-filter:none!important;}
.logo-img-wrap,.top-banner-area{box-shadow:none!important;border-radius:0!important;background:transparent!important;border:0!important;}

/* DESKTOP: o botão hambúrguer não pode aparecer de jeito nenhum */
@media (min-width:901px){
  .header-actions .hamb,
  button.hamb,
  .hamb{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;
    min-width:0!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  body,
  body.mobile-app-shell{padding-top:0!important;}
  body.header-is-stuck,
  body.mobile-app-shell.header-is-stuck{padding-top:60px!important;}

  .top-strip{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:auto!important;
    transform:none!important;
    opacity:1!important;
    box-shadow:none!important;
  }

  .site-header{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:100!important;
    width:100%!important;
    background:var(--header-bg,#fff)!important;
    border-bottom:1px solid var(--line,#e2e8f0)!important;
  }

  .casttur-head{
    width:min(1180px,calc(100% - 36px))!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    display:grid!important;
    grid-template-columns:180px minmax(360px,728px) minmax(130px,190px)!important;
    grid-template-areas:
      "logo banner actions"
      "menu menu menu"!important;
    align-items:center!important;
    gap:12px 22px!important;
    padding-top:12px!important;
    padding-bottom:0!important;
  }
  .casttur-head > .logo{grid-area:logo!important;margin:0!important;align-self:center!important;}
  .casttur-head > .top-banner-area{grid-area:banner!important;justify-self:center!important;width:100%!important;max-width:728px!important;}
  .casttur-head > .header-actions{grid-area:actions!important;justify-self:end!important;display:flex!important;align-items:center!important;gap:8px!important;}

  .account-trigger,
  .search-trigger{
    height:42px!important;
    min-width:42px!important;
    border-radius:999px!important;
    box-shadow:none!important;
    background:#fff!important;
    border:1px solid var(--line,#e2e8f0)!important;
    transform:none!important;
  }

  .casttur-head > .nav{
    grid-area:menu!important;
    width:100%!important;
    max-width:100%!important;
    min-height:52px!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    border:0!important;
    border-radius:0!important;
    background:var(--menu-bg,var(--primary,#0284c7))!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .casttur-head > .nav a:not(.nav-sticky-logo){
    min-height:52px!important;
    height:52px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 11px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--menu_item_fixed,#fff)!important;
    font-size:12.5px!important;
    font-weight:850!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .casttur-head > .nav a:not(.nav-sticky-logo):hover{
    background:rgba(255,255,255,.16)!important;
    color:#fff!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .nav-close,.nav-backdrop{display:none!important;}
  .nav .nav-sticky-logo{display:none!important;}

  body.header-is-stuck .casttur-head > .nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:9999!important;
    min-height:60px!important;
    height:60px!important;
    margin:0!important;
    padding-left:max(18px,calc((100vw - 1180px)/2))!important;
    padding-right:max(18px,calc((100vw - 1180px)/2))!important;
    justify-content:flex-start!important;
    background:var(--menu-bg,var(--primary,#0284c7))!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .casttur-head > .nav a:not(.nav-sticky-logo){
    min-height:60px!important;
    height:60px!important;
    padding:0 10px!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 0 auto!important;
    width:auto!important;
    max-width:170px!important;
    height:60px!important;
    min-height:60px!important;
    margin:0 20px 0 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo .logo-img-wrap,
  body.header-is-stuck .nav .nav-sticky-logo img,
  body.header-is-stuck .nav .nav-sticky-logo .logo-img{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo img,
  body.header-is-stuck .nav .nav-sticky-logo .logo-img{
    max-width:155px!important;
    max-height:44px!important;
    object-fit:contain!important;
    display:block!important;
  }
}

/* MOBILE: mantém o ícone centralizado e o menu lateral limpo */
@media (max-width:900px){
  body,body.mobile-app-shell{padding-top:0!important;}
  .top-strip{display:none!important;}
  .site-header{position:relative!important;top:auto!important;box-shadow:none!important;border-bottom:1px solid var(--line,#e2e8f0)!important;}
  .casttur-head{width:100%!important;max-width:100%!important;margin:0!important;padding:10px!important;}
  .hamb{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    background:var(--primary,#0284c7)!important;
    border:0!important;
    box-shadow:none!important;
    position:relative!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:0!important;
  }
  .hamb::before{
    content:"☰"!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    display:block!important;
    color:#fff!important;
    font-size:22px!important;
    line-height:1!important;
  }
  .hamb span{display:none!important;}
  .nav{
    border-radius:0!important;
    box-shadow:none!important;
    border:0!important;
    background:#fff!important;
  }
}

/* Corrige o ponto branco/controle do banner aparecendo por cima dos atalhos */
.hero-dots{
  bottom:78px!important;
  z-index:4!important;
  box-shadow:none!important;
}
.quick-actions-app{z-index:8!important;}
.quick-action-card{box-shadow:0 10px 24px rgba(15,23,42,.08)!important;}
@media(max-width:760px){.hero-dots{bottom:14px!important;}}

/* Conteúdo alinhado com a margem padrão do site, sem afundar para dentro */
.section > .container,
.home-section > .container,
.page-hero > .container,
.news-detail-section > .container,
.podcast-detail-section > .container,
.region-hero .hero-content{
  width:min(1180px,calc(100% - 36px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.home-section .section-head,
.home-section .home-carousel-wrap,
.home-section .home-events-grid,
.home-section .partners-carousel,
.region-intro-card,
.content-page,
.news-article,
.podcast-detail-main{
  margin-left:0!important;
  margin-right:0!important;
}

/* Remove sombras indevidas em blocos que não devem parecer cartão */
.content-page,
.news-article,
.podcast-detail-main,
.region-intro-card,
.nav,
.nav a{
  box-shadow:none!important;
}

@media(max-width:760px){
  .section > .container,
  .home-section > .container,
  .page-hero > .container,
  .news-detail-section > .container,
  .podcast-detail-section > .container,
  .region-hero .hero-content{
    width:calc(100% - 28px)!important;
    max-width:none!important;
  }
}

/* =========================================================
   CORREÇÃO DEFINITIVA: FAIXA AZUL DO MENU EM LARGURA TOTAL
   O menu desktop não pode ficar como uma faixa curta no meio.
   A barra azul ocupa 100% da tela e os links ficam centralizados
   dentro da mesma largura do site.
   ========================================================= */
@media (min-width:901px){
  .casttur-head > .nav{
    grid-area:menu!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:max(18px,calc((100vw - 1180px)/2))!important;
    padding-right:max(18px,calc((100vw - 1180px)/2))!important;
    border-radius:0!important;
    border:0!important;
    box-shadow:none!important;
    background:var(--menu-bg,var(--primary,#0284c7))!important;
    justify-content:center!important;
  }
  .casttur-head > .nav a:not(.nav-sticky-logo){
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .casttur-head > .nav{
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    left:0!important;
    right:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:max(18px,calc((100vw - 1180px)/2))!important;
    padding-right:max(18px,calc((100vw - 1180px)/2))!important;
    border-radius:0!important;
    border:0!important;
    box-shadow:none!important;
  }
}


/* =========================================================
   AJUSTE FINAL: MENU MOBILE CORRIGIDO + LOGO BRANCA NO FIXO
   Vale para mobile e desktop quando o menu fixar em fundo escuro.
   ========================================================= */
@media (min-width:901px){
  body.header-is-stuck .nav .nav-sticky-logo,
  body.header-is-stuck .nav .nav-sticky-logo .logo-img-wrap,
  body.header-is-stuck .nav .nav-sticky-logo img,
  body.header-is-stuck .nav .nav-sticky-logo .logo-img{
    background:transparent!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo img,
  body.header-is-stuck .nav .nav-sticky-logo .logo-img{
    filter:brightness(0) invert(1)!important;
  }
  body.header-is-stuck .nav .nav-sticky-logo span,
  body.header-is-stuck .nav .nav-sticky-logo small{
    color:#fff!important;
  }
}

@media (max-width:900px){
  body.mobile-app-shell,
  body{padding-top:0!important;}

  .casttur-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "logo actions"
      "menu menu"!important;
    align-items:center!important;
    gap:10px!important;
    padding:10px 12px!important;
  }
  .casttur-head > .logo{grid-area:logo!important;min-width:0!important;}
  .casttur-head > .top-banner-area{display:none!important;}
  .casttur-head > .header-actions{grid-area:actions!important;justify-self:end!important;display:flex!important;align-items:center!important;gap:8px!important;}
  .casttur-head > .nav{grid-area:menu!important;}

  .logo-img{max-height:54px!important;width:auto!important;object-fit:contain!important;}

  .account-trigger,
  .search-trigger,
  .hamb{
    box-shadow:none!important;
    border-radius:0!important;
  }

  .hamb{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    background:var(--primary,#0284c7)!important;
    border:0!important;
    position:relative!important;
    overflow:hidden!important;
  }
  .hamb::before{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:18px!important;
    height:2px!important;
    border-radius:2px!important;
    background:#fff!important;
    transform:translate(-50%,-50%)!important;
    box-shadow:0 -6px 0 #fff, 0 6px 0 #fff!important;
  }
  .hamb::after{display:none!important;content:none!important;}

  .nav{
    position:fixed!important;
    top:0!important;
    right:-100%!important;
    width:min(320px,86vw)!important;
    height:100vh!important;
    padding:72px 16px 24px!important;
    background:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow-y:auto!important;
    z-index:3200!important;
  }
  .nav.open{right:0!important;}
  .nav a{
    display:flex!important;
    align-items:center!important;
    min-height:46px!important;
    padding:12px 10px!important;
    border-radius:0!important;
    font-size:14px!important;
    font-weight:800!important;
  }
  .nav-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    width:40px!important;
    height:40px!important;
    border:0!important;
    border-radius:0!important;
    background:#f1f5f9!important;
    color:#0f172a!important;
    font-size:26px!important;
    line-height:1!important;
    z-index:2!important;
  }
  .nav-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(2,6,23,.48)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .2s ease!important;
    z-index:3100!important;
  }
  .nav-backdrop.show{
    opacity:1!important;
    pointer-events:auto!important;
  }

  body.header-is-stuck,
  body.mobile-app-shell.header-is-stuck{padding-top:64px!important;}
  body.header-is-stuck .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:3300!important;
    background:var(--primary,#0284c7)!important;
    border-bottom:0!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .casttur-head{
    padding:10px 12px!important;
    min-height:64px!important;
  }
  body.header-is-stuck .casttur-head > .logo,
  body.header-is-stuck .casttur-head > .logo .logo-img-wrap,
  body.header-is-stuck .casttur-head > .logo img,
  body.header-is-stuck .casttur-head > .logo .logo-img{
    background:transparent!important;
    box-shadow:none!important;
  }
  body.header-is-stuck .casttur-head > .logo img,
  body.header-is-stuck .casttur-head > .logo .logo-img{
    filter:brightness(0) invert(1)!important;
  }
  body.header-is-stuck .casttur-head > .logo span,
  body.header-is-stuck .casttur-head > .logo small{
    color:#fff!important;
  }
  body.header-is-stuck .account-trigger,
  body.header-is-stuck .search-trigger,
  body.header-is-stuck .hamb{
    background:transparent!important;
    border:1px solid rgba(255,255,255,.22)!important;
    color:#fff!important;
  }
  body.header-is-stuck .account-trigger span,
  body.header-is-stuck .account-trigger,
  body.header-is-stuck .search-trigger{
    color:#fff!important;
  }
  body.header-is-stuck .hamb::before{
    background:#fff!important;
    box-shadow:0 -6px 0 #fff, 0 6px 0 #fff!important;
  }
  body.header-is-stuck .nav{
    top:64px!important;
    height:calc(100vh - 64px)!important;
  }
}


/* =========================================================
   MENU MOBILE PREMIUM: visual refinado do menu lateral
   ========================================================= */
.mobile-menu-brand,
.mobile-menu-links,
.mobile-menu-contact{display:none;}

@media (max-width:900px){
  .nav .nav-sticky-logo{display:none!important;}

  .nav,
  body.header-is-stuck .nav{
    background:#ffffff!important;
    color:#0f172a!important;
    width:min(360px,88vw)!important;
    right:-110%!important;
    padding:16px 16px 24px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    box-shadow:-18px 0 44px rgba(2,6,23,.14)!important;
    border-left:1px solid rgba(15,23,42,.06)!important;
  }
  .nav.open{right:0!important;}

  .nav-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:sticky!important;
    top:0!important;
    align-self:flex-end!important;
    width:42px!important;
    height:42px!important;
    margin:0 0 8px auto!important;
    border:1px solid var(--line,#e2e8f0)!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:26px!important;
    line-height:1!important;
    box-shadow:none!important;
    z-index:3!important;
  }

  .mobile-menu-brand{display:block!important;margin-bottom:16px!important;}
  .mobile-menu-brand-card{
    display:grid!important;
    gap:12px!important;
    padding:18px!important;
    border:1px solid var(--line,#e2e8f0)!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%)!important;
  }
  .mobile-menu-logo{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:auto!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .mobile-menu-logo img{
    width:auto!important;
    max-width:170px!important;
    max-height:58px!important;
    object-fit:contain!important;
    filter:none!important;
  }
  .mobile-menu-brand-text{display:grid!important;gap:6px!important;}
  .mobile-menu-kicker{
    display:inline-flex!important;
    align-items:center!important;
    width:max-content!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    background:rgba(var(--primary-rgb),.08)!important;
    color:var(--primary,#0284c7)!important;
    font-size:11px!important;
    font-weight:900!important;
    letter-spacing:.03em!important;
    text-transform:uppercase!important;
  }
  .mobile-menu-brand-text strong{
    color:#0f172a!important;
    font-size:19px!important;
    line-height:1.1!important;
    font-weight:900!important;
  }
  .mobile-menu-brand-text small{
    color:#64748b!important;
    font-size:13px!important;
    line-height:1.45!important;
  }

  .mobile-menu-links{
    display:grid!important;
    gap:10px!important;
    margin-bottom:18px!important;
  }
  .nav a.mobile-nav-link,
  .nav a.mobile-nav-link:visited,
  .nav a.mobile-nav-link:active,
  body.header-is-stuck .nav a.mobile-nav-link{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:54px!important;
    padding:14px 16px!important;
    margin:0!important;
    border:1px solid var(--line,#e2e8f0)!important;
    border-radius:18px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:15px!important;
    font-weight:850!important;
    line-height:1.2!important;
    box-shadow:none!important;
    transition:transform .16s ease, border-color .16s ease, background .16s ease!important;
  }
  .nav a.mobile-nav-link::after{
    content:"›"!important;
    font-size:22px!important;
    line-height:1!important;
    color:#94a3b8!important;
    margin-left:10px!important;
  }
  .nav a.mobile-nav-link:hover,
  body.header-is-stuck .nav a.mobile-nav-link:hover{
    background:#f8fbff!important;
    border-color:rgba(var(--primary-rgb),.22)!important;
    color:#0f172a!important;
    transform:translateX(2px)!important;
  }
  .nav a.mobile-nav-link:hover::after,
  body.header-is-stuck .nav a.mobile-nav-link:hover::after{
    color:var(--primary,#0284c7)!important;
  }

  .mobile-menu-contact{
    display:grid!important;
    gap:12px!important;
    padding:16px!important;
    border:1px solid var(--line,#e2e8f0)!important;
    border-radius:22px!important;
    background:#f8fafc!important;
    color:#0f172a!important;
  }
  .mobile-menu-contact-head{display:grid!important;gap:4px!important;}
  .mobile-menu-contact-head strong{
    color:#0f172a!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:1.15!important;
  }
  .mobile-menu-contact-head small{
    color:#64748b!important;
    font-size:12.5px!important;
    line-height:1.45!important;
  }
  .mobile-menu-contact-list{
    display:grid!important;
    gap:10px!important;
  }
  .mobile-menu-contact-item,
  body.header-is-stuck .mobile-menu-contact-item{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    min-height:58px!important;
    padding:12px 14px!important;
    margin:0!important;
    border:1px solid var(--line,#e2e8f0)!important;
    border-radius:18px!important;
    background:#fff!important;
    color:#0f172a!important;
    box-shadow:none!important;
  }
  .mobile-menu-contact-item:hover,
  body.header-is-stuck .mobile-menu-contact-item:hover{
    background:#fff!important;
    border-color:rgba(var(--primary-rgb),.22)!important;
    color:#0f172a!important;
  }
  .menu-contact-badge{
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    border-radius:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(var(--primary-rgb),.10)!important;
    color:var(--primary,#0284c7)!important;
    font-size:18px!important;
    font-weight:900!important;
  }
  .menu-contact-copy{
    display:grid!important;
    gap:2px!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .menu-contact-copy small{
    color:#64748b!important;
    font-size:11.5px!important;
    line-height:1.2!important;
    text-transform:uppercase!important;
    letter-spacing:.03em!important;
    font-weight:800!important;
  }
  .menu-contact-copy strong{
    color:#0f172a!important;
    font-size:13.5px!important;
    line-height:1.35!important;
    font-weight:850!important;
    word-break:break-word!important;
  }
}

@media (min-width:901px){
  .mobile-menu-brand,
  .mobile-menu-links,
  .mobile-menu-contact{display:none!important;}
}


/* =========================================================
   CORREÇÃO REAL DO DROP MOBILE: impedir colunas/corte lateral
   ========================================================= */
@media (max-width:900px){
  .site-header .casttur-head > nav.nav,
  .site-header .casttur-head > nav.nav.open,
  body.header-is-stuck .site-header .casttur-head > nav.nav,
  body.header-is-stuck .site-header .casttur-head > nav.nav.open{
    position:fixed!important;
    top:0!important;
    right:-110%!important;
    left:auto!important;
    bottom:auto!important;
    width:min(360px,88vw)!important;
    max-width:min(360px,88vw)!important;
    min-width:0!important;
    height:100vh!important;
    max-height:100vh!important;
    margin:0!important;
    padding:16px!important;
    display:block!important;
    flex-direction:initial!important;
    align-items:initial!important;
    justify-content:initial!important;
    flex-wrap:initial!important;
    gap:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:#fff!important;
    border:0!important;
    border-left:1px solid rgba(15,23,42,.08)!important;
    border-radius:0!important;
    box-shadow:-18px 0 44px rgba(2,6,23,.14)!important;
    z-index:3200!important;
  }
  .site-header .casttur-head > nav.nav.open,
  body.header-is-stuck .site-header .casttur-head > nav.nav.open{
    right:0!important;
  }
  body.header-is-stuck .site-header .casttur-head > nav.nav,
  body.header-is-stuck .site-header .casttur-head > nav.nav.open{
    top:64px!important;
    height:calc(100vh - 64px)!important;
    max-height:calc(100vh - 64px)!important;
  }

  .site-header .casttur-head > nav.nav > *,
  body.header-is-stuck .site-header .casttur-head > nav.nav > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    float:none!important;
    clear:both!important;
    box-sizing:border-box!important;
  }

  .site-header .casttur-head > nav.nav .nav-close,
  body.header-is-stuck .site-header .casttur-head > nav.nav .nav-close{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    display:flex!important;
    margin:0 0 12px auto!important;
    padding:0!important;
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .site-header .casttur-head > nav.nav .mobile-menu-brand,
  body.header-is-stuck .site-header .casttur-head > nav.nav .mobile-menu-brand{
    display:block!important;
    margin:0 0 16px 0!important;
    padding:0!important;
  }
  .site-header .casttur-head > nav.nav .mobile-menu-brand-card,
  body.header-is-stuck .site-header .casttur-head > nav.nav .mobile-menu-brand-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .site-header .casttur-head > nav.nav .mobile-menu-links,
  body.header-is-stuck .site-header .casttur-head > nav.nav .mobile-menu-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:0 0 18px 0!important;
    padding:0!important;
  }

  .site-header .casttur-head > nav.nav a.mobile-nav-link,
  body.header-is-stuck .site-header .casttur-head > nav.nav a.mobile-nav-link{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:54px!important;
    display:flex!important;
    color:#0f172a!important;
    white-space:normal!important;
  }

  .site-header .casttur-head > nav.nav .mobile-menu-contact,
  body.header-is-stuck .site-header .casttur-head > nav.nav .mobile-menu-contact{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .site-header .casttur-head > nav.nav .mobile-menu-contact-list,
  body.header-is-stuck .site-header .casttur-head > nav.nav .mobile-menu-contact-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .site-header .casttur-head > nav.nav .mobile-menu-contact-item,
  body.header-is-stuck .site-header .casttur-head > nav.nav .mobile-menu-contact-item{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    color:#0f172a!important;
  }
}


/* =========================================================
   CORREÇÃO: MENU DESKTOP RESTAURADO APÓS WRAPPER DO MOBILE
   ========================================================= */
@media (min-width:901px){
  .casttur-head > .nav .mobile-menu-links{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    flex:0 1 auto!important;
    min-width:0!important;
  }
  body.header-is-stuck .casttur-head > .nav .mobile-menu-links{
    justify-content:flex-start!important;
  }
  .casttur-head > .nav .mobile-menu-links a.mobile-nav-link{
    min-height:52px!important;
    height:52px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 11px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--menu_item_fixed,#fff)!important;
    font-size:12.5px!important;
    font-weight:850!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .casttur-head > .nav .mobile-menu-links a.mobile-nav-link::after{display:none!important;content:none!important;}
  .casttur-head > .nav .mobile-menu-links a.mobile-nav-link:hover{
    background:rgba(255,255,255,.16)!important;
    color:#fff!important;
  }
  body.header-is-stuck .casttur-head > .nav .mobile-menu-links a.mobile-nav-link{
    min-height:60px!important;
    height:60px!important;
    padding:0 10px!important;
  }
  .mobile-menu-brand,
  .mobile-menu-contact{display:none!important;}
}


/* Correção persistente: cidade com categorias, rolagem e espaçamentos compactos */
.region-intro-section{padding-top:34px!important;padding-bottom:18px!important;}
.region-categories-section{padding-top:18px!important;padding-bottom:20px!important;}
.region-locais-section{padding-top:18px!important;padding-bottom:44px!important;}
.region-intro-section .content-page{margin-bottom:0!important;}
.region-categories-section .section-head{margin-bottom:18px!important;}
.region-locais-section .section-head{margin-bottom:18px!important;}
.region-category-grid{margin-bottom:0!important;}
@media(max-width:700px){
  .region-intro-section{padding-top:26px!important;padding-bottom:12px!important;}
  .region-categories-section{padding-top:12px!important;padding-bottom:14px!important;}
  .region-locais-section{padding-top:14px!important;padding-bottom:34px!important;}
}

/* Ajuste final menu público: desktop com Atrações e Estabelecimentos */
.desktop-menu-links{display:none;}
@media (min-width:901px){
  .casttur-head > .nav{display:flex!important;}
  .desktop-menu-links{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    min-height:52px!important;
    height:52px!important;
  }
  body.header-is-stuck .desktop-menu-links{
    width:auto!important;
    flex:1 1 auto!important;
    justify-content:flex-start!important;
    min-height:60px!important;
    height:60px!important;
  }
  .desktop-menu-links a{
    min-height:52px!important;
    height:52px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 9px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--menu_item_fixed,#fff)!important;
    font-size:12.2px!important;
    font-weight:850!important;
    white-space:nowrap!important;
  }
  body.header-is-stuck .desktop-menu-links a{height:60px!important;min-height:60px!important;}
  .desktop-menu-links a:hover{background:rgba(255,255,255,.16)!important;color:#fff!important;}
  .mobile-menu-links{display:none!important;}
}
@media (max-width:900px){
  .desktop-menu-links{display:none!important;}
}


/* =========================================================
   CORREÇÃO FINAL DO MENU PÚBLICO: sem duplicação no desktop
   ========================================================= */
@media (min-width:901px){
  .site-header .casttur-head > nav.nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
  }
  .site-header .casttur-head > nav.nav .desktop-menu-links{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    min-width:0!important;
    gap:0!important;
  }
  body.header-is-stuck .site-header .casttur-head > nav.nav .desktop-menu-links{
    justify-content:flex-start!important;
    width:auto!important;
    flex:1 1 auto!important;
  }
  .site-header .casttur-head > nav.nav .desktop-menu-links a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 10px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-decoration:none!important;
  }
  body.header-is-stuck .site-header .casttur-head > nav.nav .desktop-menu-links a{
    height:60px!important;
    min-height:60px!important;
  }
  .site-header .casttur-head > nav.nav .desktop-menu-links a:hover{
    background:rgba(255,255,255,.14)!important;
    color:#fff!important;
  }
  .site-header .casttur-head > nav.nav .mobile-menu-brand,
  .site-header .casttur-head > nav.nav .mobile-menu-links,
  .site-header .casttur-head > nav.nav .mobile-menu-contact{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  .site-header .casttur-head > nav.nav .mobile-menu-links a,
  body.header-is-stuck .site-header .casttur-head > nav.nav .mobile-menu-links a{
    display:none!important;
  }
}

@media (max-width:900px){
  .site-header .casttur-head > nav.nav .desktop-menu-links{
    display:none!important;
    visibility:hidden!important;
  }
  .site-header .casttur-head > nav.nav .mobile-menu-links{
    display:grid!important;
    visibility:visible!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    pointer-events:auto!important;
  }
}

/* =========================================================
   AJUSTE SOLICITADO: FONTE MAIOR NO MENU PRINCIPAL DO SITE
   ========================================================= */
@media (min-width:901px){
  .casttur-head > .nav a:not(.nav-sticky-logo),
  body.header-is-stuck .casttur-head > .nav a:not(.nav-sticky-logo){
    font-size:14.5px!important;
    font-weight:900!important;
    letter-spacing:-.01em!important;
    padding-left:13px!important;
    padding-right:13px!important;
  }
}
@media (min-width:901px) and (max-width:1180px){
  .casttur-head > .nav a:not(.nav-sticky-logo),
  body.header-is-stuck .casttur-head > .nav a:not(.nav-sticky-logo){
    font-size:13.5px!important;
    padding-left:9px!important;
    padding-right:9px!important;
  }
}

/* =========================================================
   CORREÇÃO REAL: AUMENTAR FONTE DO MENU DESKTOP ATUAL
   O menu público usa .desktop-menu-links, por isso a regra anterior
   não pegava nos links visíveis.
   ========================================================= */
@media (min-width:901px){
  .site-header .casttur-head > nav.nav .desktop-menu-links a,
  body.header-is-stuck .site-header .casttur-head > nav.nav .desktop-menu-links a,
  .desktop-menu-links a,
  body.header-is-stuck .desktop-menu-links a{
    font-size:15.5px!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:-.015em!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}
@media (min-width:901px) and (max-width:1280px){
  .site-header .casttur-head > nav.nav .desktop-menu-links a,
  body.header-is-stuck .site-header .casttur-head > nav.nav .desktop-menu-links a,
  .desktop-menu-links a,
  body.header-is-stuck .desktop-menu-links a{
    font-size:14.5px!important;
    padding-left:9px!important;
    padding-right:9px!important;
  }
}
@media (min-width:901px) and (max-width:1080px){
  .site-header .casttur-head > nav.nav .desktop-menu-links a,
  body.header-is-stuck .site-header .casttur-head > nav.nav .desktop-menu-links a,
  .desktop-menu-links a,
  body.header-is-stuck .desktop-menu-links a{
    font-size:13.6px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
}
