/* =========================================================
   UAVI — GLOBAL FINAL LAYER
   Social, idiomas/translate e refinamentos do menu mobile.
   Carregada depois das folhas globais existentes.
   ========================================================= */

/* ---------- Header desktop ---------- */
.header .nav{
  grid-template-columns:190px minmax(0,1fr) auto;
}
.header-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  white-space:nowrap;
}
.header-socials,
.footer-socials,
.drawer-socials{
  display:flex;
  align-items:center;
  gap:7px;
}
.social-icon{
  width:30px;
  height:30px;
  border:1px solid #deded9;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#111;
  background:#fff;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease;
}
.social-icon svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.social-icon:hover,
.social-icon:focus-visible{
  transform:translateY(-1px);
  border-color:var(--yellow);
  background:var(--yellow);
  color:#111;
  outline:none;
}

.translate-switcher{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:10px;
  color:#aaa;
}
.translate-switcher .lang-choice{
  border:0;
  background:transparent;
  padding:4px 1px;
  margin:0;
  color:#8a8a8a;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  cursor:pointer;
  transition:color .2s ease,opacity .2s ease;
}
.translate-switcher .lang-choice:hover,
.translate-switcher .lang-choice:focus-visible{
  color:#111;
  outline:none;
}
.translate-switcher .lang-choice.is-active{
  color:#111;
  font-weight:900;
}

/* O widget do Google fica funcional, mas invisível: usamos nosso seletor próprio. */
.google-translate-host{
  position:fixed!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  opacity:0!important;
}
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover{
  display:none!important;
}
html,body{top:0!important}

/* ---------- Menu mobile ---------- */
.drawer-actions{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.drawer-contact-btn{
  width:100%;
  justify-content:space-between;
  min-height:52px;
}
.drawer-tools-row{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.drawer-socials .social-icon{
  width:34px;
  height:34px;
}
.translate-switcher-mobile .lang-choice{
  font-size:11px;
}
.drawer-location{
  margin-top:11px;
  font-size:9px;
  color:#898989;
  letter-spacing:.02em;
}

/* ---------- Footer ---------- */
.footer-socials{
  margin-top:14px;
}
.footer-socials .social-icon{
  width:32px;
  height:32px;
}
.footer-lang{
  justify-content:flex-end;
}
.footer-lang .lang-choice{
  font-size:10px;
}

@media(max-width:1180px) and (min-width:901px){
  .header .nav{
    grid-template-columns:155px minmax(0,1fr) auto;
    gap:16px;
  }
  .navlinks{gap:19px}
  .header-socials{display:none}
}

@media(max-width:900px){
  .header .nav{
    grid-template-columns:minmax(0,1fr) auto!important;
    width:min(92vw,var(--max))!important;
    gap:16px!important;
  }
  .header-tools{display:none!important}
  .header .menu-btn{
    display:flex!important;
    justify-self:end!important;
    margin-left:auto!important;
  }
  .mobile-drawer{
    padding-bottom:22px;
  }
  .drawer-title{margin-bottom:12px}
  .drawer-link{padding:14px 0;font-size:18px}
  .drawer-subcard{padding:11px 0}
  .drawer-actions{margin-top:15px;padding-top:15px}
  .footer-lang{justify-content:flex-start;margin-top:8px}
}

@media(max-width:420px){
  .drawer-tools-row{align-items:flex-start;flex-direction:column;gap:12px}
}

/* Google Translate: tradução silenciosa, sem barra/toolbar visual */
body > .skiptranslate,
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
#goog-gt-tt,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-tooltip:hover{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  border:0!important;
}
html,
body{
  top:0!important;
  margin-top:0!important;
}

/* Google Translate — ocultação robusta do chrome/banner injetado */
iframe.goog-te-banner-frame,
iframe.skiptranslate,
iframe[class*="VIpgJd-ZVi9od-ORHb"],
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
body > .skiptranslate:not(.google-translate-host){
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  max-height:0!important;
  border:0!important;
}
html,body{top:0!important;margin-top:0!important;}


/* =========================================================
   LANGUAGE FLAGS — header desktop + mobile
   ========================================================= */
.translate-flags{
  gap:6px;
}
.translate-flags .flag-choice{
  width:28px;
  height:22px;
  padding:2px;
  display:grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  opacity:.55;
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease,background .2s ease;
}
.translate-flags .flag-choice:hover,
.translate-flags .flag-choice:focus-visible{
  opacity:1;
  transform:translateY(-1px);
  border-color:#d9d9d4;
  outline:none;
}
.translate-flags .flag-choice.is-active{
  opacity:1;
  border-color:#cfcfc8;
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.translate-flags .flag-icon{
  width:22px;
  height:auto;
  display:block;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.07);
}
.translate-flags-mobile-header{display:none;}

@media(max-width:900px){
  .translate-flags-mobile-header{
    display:flex;
    align-items:center;
    justify-self:end;
    margin-left:auto;
    margin-right:6px;
    gap:3px;
  }
  .translate-flags-mobile-header .flag-choice{
    width:24px;
    height:22px;
    padding:2px;
    border-radius:5px;
  }
  .translate-flags-mobile-header .flag-icon{
    width:19px;
  }
  .header .nav{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:8px!important;
  }
  .drawer-tools-row{
    justify-content:flex-start;
  }
}

@media(max-width:390px){
  .translate-flags-mobile-header{gap:2px;margin-right:2px;}
  .translate-flags-mobile-header .flag-choice{width:22px;height:20px;padding:1px;}
  .translate-flags-mobile-header .flag-icon{width:18px;}
}
