/* Shared site chrome — nav + footer (index & política) */

/* ===== NAV ===== */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(6,15,28,.96);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-inner{
  max-width:1280px;margin:0 auto;
  padding:0 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:68px;
}
.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.brand-img{
  height:40px;width:auto;max-width:min(220px,42vw);
  display:block;object-fit:contain;object-position:left center;
  transition:opacity .2s;
}
.brand:hover .brand-img{opacity:.88}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{
  padding:8px 14px;border-radius:8px;
  text-decoration:none;color:#94a3b8;font-size:14px;font-weight:500;
  transition:all .15s ease;white-space:nowrap;
}
.nav-links a:hover,.nav-links a.is-active{color:#fff;background:rgba(255,255,255,.06)}
.nav-links a.is-active{color:var(--blue,#0EA5E9)}
.nav-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.btn-wa{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 16px;border-radius:10px;
  background:rgba(37,211,102,.12);border:1px solid rgba(37,211,102,.25);
  color:#25d366;font-weight:600;font-size:13px;
  text-decoration:none;transition:all .2s;
}
.btn-wa:hover{background:rgba(37,211,102,.2);transform:translateY(-1px)}
.btn-cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 20px;border-radius:10px;
  background:var(--blue,#0EA5E9);color:#fff;
  font-weight:700;font-size:13px;
  text-decoration:none;border:none;cursor:pointer;font-family:inherit;
  transition:all .2s;box-shadow:0 4px 16px rgba(14,165,233,.3);
}
.btn-cta:hover{background:var(--blue-dark,#0284C7);transform:translateY(-1px);box-shadow:0 8px 24px rgba(14,165,233,.4)}

/* Mobile menu toggle */
.nav-toggle{
  display:none;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:44px;height:44px;padding:0;margin:0;
  border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);cursor:pointer;
  transition:background .2s,border-color .2s;
  flex-shrink:0;
}
.nav-toggle:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.nav-toggle-bar{
  display:block;width:20px;height:2px;border-radius:2px;background:#fff;
  transition:transform .25s ease,opacity .2s ease;
}
.nav-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .nav-toggle-bar:nth-child(2){opacity:0}
.nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav-overlay{
  display:none;
  position:fixed;inset:0;top:68px;z-index:98;
  background:rgba(6,15,28,.55);
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
}
.nav-mobile{
  display:none;
  position:fixed;top:68px;left:0;right:0;z-index:99;
  width:100vw;
  max-height:calc(100dvh - 68px);
  overflow-y:auto;
  background:var(--navy,#060F1C);
  border-top:1px solid rgba(255,255,255,.06);
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  padding:20px 20px 28px;
  transform:translateX(100%);
  transition:transform .28s ease;
}
.nav-mobile-links{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}
.nav-mobile-link{
  display:block;padding:14px 16px;border-radius:10px;
  text-decoration:none;color:#cbd5e1;font-size:15px;font-weight:500;
  transition:background .15s,color .15s;
}
.nav-mobile-link:hover,.nav-mobile-link.is-active{
  color:#fff;background:rgba(255,255,255,.06);
}
.nav-mobile-link.is-active{color:var(--blue,#0EA5E9)}
.nav-mobile-actions{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.btn-wa--block,.btn-cta--block{justify-content:center;width:100%}

body.nav-menu-open{overflow:hidden}

/* ===== FOOTER ===== */
.site-footer{
  background:var(--navy,#060F1C);
  color:#cbd5e1;
  padding:64px 32px 32px;
  border-top:1px solid rgba(255,255,255,.05);
  margin-top:0;
}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.07);
  margin-bottom:32px;
}
.footer-logo{
  height:48px;width:auto;max-width:220px;
  display:block;margin-bottom:20px;
  filter:brightness(1.05);
}
.footer-desc{
  font-size:14px;color:#94a3b8;line-height:1.65;
  max-width:300px;margin-bottom:24px;
}
.footer-contact{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.footer-contact li{
  display:flex;align-items:flex-start;gap:12px;
  font-size:13.5px;color:#94a3b8;line-height:1.55;
}
.footer-contact a{color:#94a3b8;text-decoration:none;transition:color .15s}
.footer-contact a:hover{color:var(--blue,#0EA5E9)}
.footer-contact-icon{
  flex-shrink:0;width:18px;height:18px;margin-top:2px;
  color:var(--blue,#0EA5E9);opacity:.9;
}
.footer-block h4{
  font-size:11px;font-weight:800;color:#64748b;
  letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:18px;
}
.footer-block a{
  font-size:14px;color:#94a3b8;
  text-decoration:none;display:block;margin-bottom:10px;
  line-height:1.45;transition:color .15s;
}
.footer-block a:hover{color:var(--blue,#0EA5E9)}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  font-size:12px;color:#475569;
}
.footer-bottom a{color:#64748b;text-decoration:none;transition:color .15s}
.footer-bottom a:hover{color:var(--blue,#0EA5E9)}

@media (max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .nav-links{display:none}
  .nav-actions .btn-wa{display:none}
  .nav-toggle{display:flex}
  .nav-overlay{display:block}
  .nav-mobile{display:block}
  .nav-open .nav-overlay{opacity:1;pointer-events:auto}
  .nav-open .nav-mobile{transform:translateX(0)}
}
@media (max-width:640px){
  .nav-inner{padding:0 16px;gap:12px}
  .site-footer{padding:48px 16px 24px}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .nav-actions .btn-cta{padding:9px 14px;font-size:12px}
  .brand-img{height:36px;max-width:min(180px,48vw)}
}
