/* MENU MOBILE ORGANIZADO FINAL V3
   Classes novas (ctm-*) para não receber regras antigas do menu anterior. */
.casttur-mobile-menu-panel{display:none;}

@media (min-width:901px){
  .site-header .casttur-head > nav.nav .casttur-mobile-menu-panel,
  .site-header .casttur-head > nav.nav .ctm-topbar,
  .site-header .casttur-head > nav.nav .ctm-hero,
  .site-header .casttur-head > nav.nav .ctm-links,
  .site-header .casttur-head > nav.nav .ctm-contact,
  .site-header .casttur-head > nav.nav .ctm-section-title,
  .site-header .casttur-head > nav.nav .nav-close{
    display:none!important;
  }
  .site-header .casttur-head > nav.nav .desktop-menu-links{
    display:flex!important;
  }
}

@media (max-width:900px){
  html:has(body.casttur-menu-open),
  body.casttur-menu-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
  }

  .site-header,
  body.header-is-stuck .site-header{
    overflow:visible!important;
    z-index:9000!important;
  }
  .site-header .casttur-head,
  body.header-is-stuck .site-header .casttur-head{
    overflow:visible!important;
    min-height:62px!important;
    align-items:center!important;
  }
  .site-header .header-actions{
    gap:7px!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }

  .site-header .hamb,
  body.header-is-stuck .site-header .hamb{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#075985,#0f766e)!important;
    color:#fff!important;
    box-shadow:0 10px 26px rgba(7,89,133,.26)!important;
    position:relative!important;
    z-index:9010!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .site-header .hamb span,
  .site-header .hamb::before,
  .site-header .hamb::after{
    content:""!important;
    display:block!important;
    width:21px!important;
    height:2.5px!important;
    border-radius:999px!important;
    background:#fff!important;
    position:absolute!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    opacity:1!important;
  }
  .site-header .hamb span{top:22px!important;}
  .site-header .hamb::before{top:15px!important;}
  .site-header .hamb::after{top:29px!important;}
  body.casttur-menu-open .site-header .hamb{
    box-shadow:none!important;
    opacity:.35!important;
    pointer-events:none!important;
  }

  .site-header .nav-backdrop,
  body.header-is-stuck .site-header .nav-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    background:rgba(2,6,23,.68)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    z-index:9980!important;
    transition:opacity .22s ease,visibility .22s ease!important;
  }
  .site-header .nav-backdrop.show,
  body.casttur-menu-open .site-header .nav-backdrop{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .site-header .casttur-head > nav.nav,
  body.header-is-stuck .site-header .casttur-head > nav.nav,
  body.mobile-app-shell .site-header .casttur-head > nav.nav{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    right:8px!important;
    bottom:8px!important;
    left:8px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    background:#f8fbff!important;
    color:#0f172a!important;
    border:1px solid rgba(226,232,240,.94)!important;
    border-radius:26px!important;
    box-shadow:0 30px 80px rgba(2,6,23,.36)!important;
    z-index:9990!important;
    transform:translateY(108%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s ease,visibility .22s ease!important;
  }
  .site-header .casttur-head > nav.nav.open,
  body.casttur-menu-open .site-header .casttur-head > nav.nav,
  body.header-is-stuck .site-header .casttur-head > nav.nav.open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .site-header .casttur-head > nav.nav,
  .site-header .casttur-head > nav.nav *,
  .site-header .casttur-head > nav.nav *::before,
  .site-header .casttur-head > nav.nav *::after{
    box-sizing:border-box!important;
  }

  .site-header .casttur-head > nav.nav .desktop-menu-links,
  .site-header .casttur-head > nav.nav .nav-sticky-logo,
  .site-header .casttur-head > nav.nav .mobile-menu-topbar,
  .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;
    pointer-events:none!important;
  }

  .site-header .casttur-head > nav.nav .casttur-mobile-menu-panel{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    background:#f8fbff!important;
    color:#0f172a!important;
  }
  .site-header .casttur-head > nav.nav .casttur-mobile-menu-panel::-webkit-scrollbar{
    width:0!important;
    height:0!important;
  }

  .site-header .casttur-head > nav.nav .ctm-topbar,
  .site-header .casttur-head > nav.nav .ctm-hero,
  .site-header .casttur-head > nav.nav .ctm-section-title,
  .site-header .casttur-head > nav.nav .ctm-links,
  .site-header .casttur-head > nav.nav .ctm-contact{
    position:static!important;
    float:none!important;
    clear:both!important;
    transform:none!important;
    min-width:0!important;
    max-width:100%!important;
    isolation:auto!important;
    contain:none!important;
  }

  .site-header .casttur-head > nav.nav .ctm-topbar{
    position:sticky!important;
    top:-14px!important;
    z-index:10!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:calc(100% + 28px)!important;
    margin:-14px -14px 12px!important;
    padding:14px 14px 10px!important;
    background:linear-gradient(180deg,#f8fbff 82%,rgba(248,251,255,0))!important;
  }
  .site-header .casttur-head > nav.nav .ctm-logo{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    max-width:calc(100% - 62px)!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:6px 11px!important;
    background:#fff!important;
    border:1px solid rgba(226,232,240,.95)!important;
    border-radius:17px!important;
    box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
    color:#0f172a!important;
    text-decoration:none!important;
  }
  .site-header .casttur-head > nav.nav .ctm-logo img{
    display:block!important;
    width:auto!important;
    max-width:138px!important;
    max-height:36px!important;
    height:auto!important;
    object-fit:contain!important;
    filter:none!important;
    opacity:1!important;
  }
  .site-header .casttur-head > nav.nav .ctm-logo strong{
    color:#0f172a!important;
    font-size:16px!important;
    font-weight:950!important;
    line-height:1.1!important;
  }
  .site-header .casttur-head > nav.nav .nav-close,
  body.header-is-stuck .site-header .casttur-head > nav.nav .nav-close{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 48px!important;
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 0 3px!important;
    border:0!important;
    border-radius:17px!important;
    background:#0f172a!important;
    color:#fff!important;
    font-size:32px!important;
    line-height:1!important;
    font-weight:400!important;
    box-shadow:0 10px 28px rgba(15,23,42,.18)!important;
    cursor:pointer!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:11!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .site-header .casttur-head > nav.nav .ctm-hero{
    display:block!important;
    width:100%!important;
    margin:0 0 13px!important;
    padding:18px 18px!important;
    border:0!important;
    border-radius:23px!important;
    background:linear-gradient(135deg,#075985 0%,#0f766e 100%)!important;
    color:#fff!important;
    box-shadow:0 14px 36px rgba(7,89,133,.22)!important;
    overflow:hidden!important;
  }
  .site-header .casttur-head > nav.nav .ctm-hero span{
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    min-height:0!important;
    padding:5px 10px!important;
    margin:0 0 9px!important;
    border:1px solid rgba(255,255,255,.28)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.16)!important;
    color:#e0f2fe!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }
  .site-header .casttur-head > nav.nav .ctm-hero strong{
    display:block!important;
    margin:0!important;
    color:#fff!important;
    font-size:23px!important;
    font-weight:950!important;
    line-height:1.08!important;
    letter-spacing:-.03em!important;
  }
  .site-header .casttur-head > nav.nav .ctm-hero small{
    display:block!important;
    max-width:285px!important;
    margin:6px 0 0!important;
    color:rgba(255,255,255,.86)!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:700!important;
  }

  .site-header .casttur-head > nav.nav .ctm-section-title{
    display:block!important;
    margin:4px 3px 9px!important;
    color:#64748b!important;
    font-size:11px!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }

  .site-header .casttur-head > nav.nav .ctm-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
    gap:9px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 0 15px!important;
    padding:0!important;
    overflow:visible!important;
    align-items:stretch!important;
  }
  .site-header .casttur-head > nav.nav .ctm-links a,
  .site-header .casttur-head > nav.nav .ctm-contact a{
    position:static!important;
    float:none!important;
    transform:none!important;
    box-sizing:border-box!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    text-decoration:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .site-header .casttur-head > nav.nav .ctm-links a,
  .site-header .casttur-head > nav.nav .ctm-links a:link,
  .site-header .casttur-head > nav.nav .ctm-links a:visited,
  body.header-is-stuck .site-header .casttur-head > nav.nav .ctm-links a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    height:auto!important;
    margin:0!important;
    padding:10px 13px!important;
    border:1px solid rgba(226,232,240,.92)!important;
    border-radius:17px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:15px!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
    box-shadow:0 8px 24px rgba(15,23,42,.052)!important;
    white-space:normal!important;
    overflow:hidden!important;
  }
  .site-header .casttur-head > nav.nav .ctm-links a::after{
    content:"›"!important;
    display:block!important;
    margin-left:auto!important;
    color:#94a3b8!important;
    font-size:22px!important;
    line-height:1!important;
  }
  .site-header .casttur-head > nav.nav .ctm-links a span:not(.ctm-icon){
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .site-header .casttur-head > nav.nav .ctm-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 36px!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:13px!important;
    background:#eef6ff!important;
    color:#075985!important;
    font-size:15px!important;
    font-weight:950!important;
    line-height:1!important;
    box-shadow:inset 0 0 0 1px rgba(14,116,144,.08)!important;
  }
  .site-header .casttur-head > nav.nav .ctm-links a:hover,
  .site-header .casttur-head > nav.nav .ctm-links a:focus,
  .site-header .casttur-head > nav.nav .ctm-links a:active{
    background:#f0f9ff!important;
    border-color:rgba(14,116,144,.22)!important;
    color:#075985!important;
    box-shadow:0 10px 26px rgba(7,89,133,.10)!important;
    outline:0!important;
  }

  .site-header .casttur-head > nav.nav .ctm-contact{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:14px!important;
    background:#fff!important;
    border:1px solid rgba(226,232,240,.92)!important;
    border-radius:22px!important;
    box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
    overflow:visible!important;
  }
  .site-header .casttur-head > nav.nav .ctm-contact a,
  body.header-is-stuck .site-header .casttur-head > nav.nav .ctm-contact a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:auto!important;
    margin:0!important;
    padding:8px 10px!important;
    border:1px solid rgba(226,232,240,.92)!important;
    border-radius:15px!important;
    background:#f8fafc!important;
    color:#0f172a!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  .site-header .casttur-head > nav.nav .ctm-contact-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    border-radius:13px!important;
    background:#e0f2fe!important;
    color:#075985!important;
    font-weight:950!important;
    line-height:1!important;
  }
  .site-header .casttur-head > nav.nav .ctm-contact a > span:last-child{
    display:block!important;
    min-width:0!important;
    line-height:1.1!important;
  }
  .site-header .casttur-head > nav.nav .ctm-contact small{
    display:block!important;
    margin:0 0 2px!important;
    color:#64748b!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:850!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
  }
  .site-header .casttur-head > nav.nav .ctm-contact strong{
    display:block!important;
    margin:0!important;
    color:#0f172a!important;
    font-size:12.5px!important;
    line-height:1.15!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .app-bottom-nav,
  .mobile-bottom-nav,
  .ct-bottom-nav{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  @media (min-width:520px){
    .site-header .casttur-head > nav.nav .ctm-links{
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
  }
}
