
/* ==========================================================
   ONG USAR ÑUBLE — VERSIÓN 4 FINAL
   ========================================================== */

/* Encabezado compacto y proporcionado */
.alert-top{
  height:34px !important;
  min-height:34px !important;
  padding:0 18px !important;
  font-size:10px !important;
}

nav{
  height:72px !important;
  min-height:72px !important;
  padding:0 max(3.5vw,24px) !important;
}

.nav-logo-img{
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  min-height:50px !important;
}

.nav-brand-text strong{
  font-size:18px !important;
}

.nav-brand-text small{
  font-size:8px !important;
}

.nav-links li,
.nav-links a{
  height:72px !important;
  min-height:72px !important;
}

.nav-links a{
  padding:0 13px !important;
  font-size:10px !important;
}

.nav-cta{
  height:40px !important;
  min-height:40px !important;
  padding:0 18px !important;
  border-radius:5px !important;
  font-size:10px !important;
}

/* Portada como en la referencia */
.hero-impeke{
  min-height:calc(100vh - 106px) !important;
  padding:0 max(2.6vw,18px) 24px !important;
}

.hero-impeke-inner{
  width:min(1460px,100%) !important;
  min-height:620px !important;
  padding:34px 18px 22px !important;
  grid-template-columns:minmax(0,1fr) 275px !important;
  gap:30px !important;
}

.hero-impeke-bg img{
  object-fit:cover !important;
  object-position:center 45% !important;
  transform:scale(1.005) !important;
  filter:saturate(.95) contrast(1.06) brightness(.74) !important;
}

.hero-impeke-overlay{
  background:
    linear-gradient(90deg,#020810 0%,rgba(2,8,16,.97) 26%,rgba(2,8,16,.76) 49%,rgba(2,8,16,.16) 76%,rgba(2,8,16,.28) 100%),
    linear-gradient(0deg,rgba(2,8,16,.90) 0%,transparent 48%) !important;
}

.hero-impeke-copy{
  max-width:600px !important;
}

.hero-impeke-kicker{
  margin-bottom:16px !important;
  font-size:10px !important;
}

.hero-impeke-title{
  margin-bottom:17px !important;
}

.hero-impeke-title>span,
.hero-impeke-title>strong{
  font-size:clamp(55px,6vw,88px) !important;
}

.hero-impeke-title>small{
  margin-top:17px !important;
  font-size:clamp(23px,2.6vw,36px) !important;
  letter-spacing:.20em !important;
}

.hero-impeke-desc{
  max-width:510px !important;
  margin-bottom:22px !important;
  font-size:14px !important;
  line-height:1.62 !important;
}

.impeke-btn{
  min-height:46px !important;
  padding:0 22px !important;
  font-size:11px !important;
}

.hero-impeke-brand{
  width:255px !important;
}

.hero-impeke-brand>img{
  width:165px !important;
  height:165px !important;
}

.hero-impeke-brand-card{
  margin-top:15px !important;
  padding:14px 12px !important;
}

.hero-impeke-brand-card strong{
  font-size:14px !important;
}

.hero-impeke-brand-card span{
  font-size:10px !important;
}

/* Tarjetas inferiores más compactas */
.final-feature-strip,
.usar-pillars,
.hero-pro-features{
  margin-top:0 !important;
}

.stats-strip{
  display:none !important;
}

/* Responsive */
@media(max-width:1080px){
  .hero-impeke-inner{
    grid-template-columns:1fr 240px !important;
  }

  .hero-impeke-brand{
    width:230px !important;
  }

  .hero-impeke-brand>img{
    width:150px !important;
    height:150px !important;
  }
}

@media(max-width:820px){
  .hero-impeke{
    min-height:auto !important;
  }

  .hero-impeke-inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .hero-impeke-bg img{
    object-position:center center !important;
  }

  .hero-impeke-brand{
    justify-self:center !important;
  }
}

@media(max-width:600px){
  .alert-top{
    height:auto !important;
    min-height:32px !important;
    font-size:8px !important;
  }

  nav{
    height:68px !important;
    min-height:68px !important;
  }

  .hero-impeke{
    padding:22px 12px 20px !important;
  }

  .hero-impeke-inner{
    padding:18px 0 !important;
  }

  .hero-impeke-title>span,
  .hero-impeke-title>strong{
    font-size:48px !important;
  }

  .hero-impeke-title>small{
    font-size:23px !important;
    letter-spacing:.11em !important;
  }

  .hero-impeke-bg img{
    object-position:58% center !important;
  }
}


/* Acceso institucional moderno — Portal de Voluntarios */
.nav-links .institutional-login-btn{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:184px !important;
  height:48px !important;
  padding:5px 14px 5px 8px !important;
  margin-left:10px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:10px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.035)) !important;
  color:#fff !important;
  box-shadow:0 10px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(10px);
  overflow:hidden;
  line-height:1 !important;
  text-transform:none !important;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease !important;
}
.nav-links .institutional-login-btn::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,#f14555,#a80920);
}
.nav-links .institutional-login-btn::after{display:none !important}
.nav-links .institutional-login-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.42) !important;
  background:linear-gradient(135deg,rgba(255,255,255,.17),rgba(255,255,255,.07)) !important;
  box-shadow:0 15px 34px rgba(0,0,0,.32),0 0 0 3px rgba(198,38,47,.10) !important;
}
.login-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:linear-gradient(145deg,#cf2634,#991524);
  box-shadow:0 7px 16px rgba(198,38,47,.28);
}
.login-icon svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;white-space:nowrap}
.login-copy small{
  font-family:'Source Sans 3',sans-serif;
  font-size:8px;
  line-height:1;
  font-weight:600;
  letter-spacing:1.35px;
  text-transform:uppercase;
  color:#aebdca;
}
.login-copy strong{
  font-family:'Oswald',sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:500;
  letter-spacing:.65px;
  text-transform:uppercase;
  color:#fff;
}
.institutional-mobile-login{
  display:grid !important;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:12px;
  margin-top:12px;
  padding:13px !important;
  min-height:68px;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px;
  background:linear-gradient(135deg,rgba(198,38,47,.18),rgba(255,255,255,.045)) !important;
  color:#fff !important;
}
.institutional-mobile-login .login-icon{width:42px;height:42px}
.institutional-mobile-login .login-copy small{font-size:9px;color:#b9c7d1}
.institutional-mobile-login .login-copy strong{font-size:15px}
.login-arrow{font-size:23px;color:#d5af66;transition:transform .2s ease}
.institutional-mobile-login:hover .login-arrow{transform:translateX(4px)}
@media(max-width:1080px){
  .nav-links .institutional-login-btn{min-width:160px !important;padding-right:10px !important}
  .nav-links .institutional-login-btn .login-copy small{display:none}
}

/* Ajuste final: acceso institucional compacto */
.nav-links .institutional-login-btn{
  min-width:150px !important;
  width:auto !important;
  height:42px !important;
  gap:8px !important;
  padding:4px 11px 4px 7px !important;
  margin-left:8px !important;
  border-radius:9px !important;
  box-shadow:0 7px 20px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.nav-links .institutional-login-btn::before{width:3px !important}
.nav-links .institutional-login-btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.27),0 0 0 2px rgba(198,38,47,.09) !important;
}
.nav-links .institutional-login-btn .login-icon{
  flex-basis:30px !important;
  width:30px !important;
  height:30px !important;
  border-radius:7px !important;
}
.nav-links .institutional-login-btn .login-icon svg{width:17px !important;height:17px !important}
.nav-links .institutional-login-btn .login-copy{gap:2px !important}
.nav-links .institutional-login-btn .login-copy small{
  font-size:6.8px !important;
  letter-spacing:1.05px !important;
}
.nav-links .institutional-login-btn .login-copy strong{
  font-size:11.5px !important;
  letter-spacing:.5px !important;
}
@media(max-width:1080px){
  .nav-links .institutional-login-btn{min-width:126px !important;height:40px !important;padding-right:8px !important}
  .nav-links .institutional-login-btn .login-copy small{display:none !important}
  .nav-links .institutional-login-btn .login-copy strong{font-size:11px !important}
}

/* CORRECCIÓN FINAL — acceso visible en PC y menú disponible en pantallas intermedias */
@media (min-width:1181px){
  nav > .nav-links,
  .nav-links{
    display:flex !important;
    align-items:center !important;
    flex-shrink:0 !important;
  }
  .mobile-menu-btn{display:none !important;}
  #nav-auth-slot{display:flex !important;visibility:visible !important;opacity:1 !important;}
  #nav-auth-slot .institutional-login-btn{display:inline-flex !important;visibility:visible !important;opacity:1 !important;}
}

@media (max-width:1180px){
  nav > .nav-links,
  .nav-links{display:none !important;}
  .mobile-menu-btn{display:flex !important;margin-left:auto !important;}
}
