/* Ajustes Capital Back - alinhamento do menu e responsividade */
html { scroll-padding-top: 110px; }
body { overflow-x: hidden; }
header.fixed { min-height: 96px; }
header.fixed > div:first-child {
  width: min(100%, 1280px) !important;
  min-height: 96px !important;
  height: auto !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 12px 28px !important;
}
header.fixed > div:first-child > a:first-child,
header.fixed a[href=#inicio] {
  flex: 0 0 auto !important;
  min-width: 220px !important;
}
header.fixed > div:first-child > a:first-child img,
header.fixed a[href=#inicio] img {
  width: auto !important;
  height: 86px !important;
  max-width: 260px !important;
  max-height: 86px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  filter: contrast(1.08) saturate(1.08) !important;
}
header.fixed > div:first-child > nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  justify-content: center !important;
  gap: clamp(14px, 1.55vw, 26px) !important;
}
header.fixed > div:first-child > nav a,
header.fixed > div:first-child > div a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: nowrap !important;
  word-break: normal !important;
}
header.fixed > div:first-child > nav a { font-size: 14px !important; }
header.fixed > div:first-child > div.hidden {
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 12px !important;
}
header.fixed > div:first-child > div.hidden a[href=#contato] {
  min-width: 150px !important;
  padding-inline: 22px !important;
}
main { min-width: 0; }
section { overflow-x: clip; }
img { max-width: 100%; }

@media (max-width: 1440px) {
  header.fixed > div:first-child { gap: 16px !important; padding-inline: 20px !important; }
  header.fixed > div:first-child > a:first-child,
  header.fixed a[href=#inicio] { min-width: 190px !important; }
  header.fixed > div:first-child > a:first-child img,
  header.fixed a[href=#inicio] img { height: 76px !important; max-height: 76px !important; max-width: 230px !important; }
  header.fixed > div:first-child > nav { gap: 16px !important; }
  header.fixed > div:first-child > nav a { font-size: 13px !important; }
  header.fixed > div:first-child > div.hidden a { font-size: 13px !important; }
}

@media (max-width: 1240px) {
  header.fixed { min-height: 82px; }
  header.fixed > div:first-child { min-height: 82px !important; }
  header.fixed > div:first-child > nav, header.fixed > div:first-child > div.hidden { display: none !important; }
  header.fixed button { display: inline-flex !important; align-items: center; justify-content: center; }
  header.fixed > div:first-child > a:first-child,
  header.fixed a[href=#inicio] { min-width: 0 !important; }
  header.fixed > div:first-child > a:first-child img,
  header.fixed a[href=#inicio] img { height: 70px !important; max-height: 70px !important; max-width: 220px !important; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 86px; }
  header.fixed > div:first-child { padding: 8px 16px !important; }
  header.fixed > div:first-child > a:first-child img,
  header.fixed a[href=#inicio] img { height: 58px !important; max-height: 58px !important; max-width: 190px !important; }
  h1 { font-size: clamp(2.25rem, 13vw, 3.45rem) !important; line-height: 1.04 !important; }
  h2 { font-size: clamp(1.8rem, 9vw, 2.5rem) !important; line-height: 1.12 !important; }
  p, a, button, input, select, textarea { max-width: 100%; }
  .glass-panel { overflow-wrap: anywhere; }
}


/* Menu mobile aberto */
@media (max-width: 1240px) {
  header.fixed > div:nth-child(2) {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    max-height: calc(100vh - 82px) !important;
    overflow-y: auto !important;
    border-top: 1px solid rgba(216, 182, 107, 0.18) !important;
    background: rgba(6, 8, 13, 0.98) !important;
    backdrop-filter: blur(18px) !important;
  }
  header.fixed > div:nth-child(2) nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  header.fixed > div:nth-child(2) nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 14px !important;
    text-align: center !important;
    white-space: normal !important;
    border-radius: 10px !important;
  }
}
