/* ===== Footer base ===== */
.seccion_footer{
  width: 100vw;
  margin: 0;
  padding: 1.5rem 0 0;
  background: linear-gradient(to bottom,transparent 0%,rgba(0, 85, 72, 1) 100%);
  display: flex;
  flex-direction: column;

  /* Desvanecido superior */
  /* --fade: 25%;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--fade), #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 var(--fade), #000 100%); */
}

/* ===== Branding ===== */
.footer_logo{
  width: min(1100px, 90%);
  margin: 0 auto 0.5rem;
  text-align: center;
}
.footer_logo h2{
  font-size: clamp(1.2rem, 1rem + 1vw, 1.8rem);
  font-weight: 800;
  letter-spacing: .35em;
  color: #fafafa;
  padding: 3rem 0;
  margin: 0 auto;
}
.footer_logo img{
  width: min(340px, 60%);
  height: auto;
  display: block;
  margin: 0 auto;
  /* Suavizado de bordes con máscara */
  -webkit-mask-image:
    linear-gradient(to bottom, #000 10%, transparent 100%),
    linear-gradient(to left,  #000 90%, transparent 100%),
    linear-gradient(to right, #000 90%, transparent 100%);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  -webkit-mask-composite: destination-in;
  mask-image:
    linear-gradient(to bottom, #000 80%, transparent 100%),
    linear-gradient(to left,  #000 95%, transparent 100%),
    linear-gradient(to right, #000 95%, transparent 100%);
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  mask-composite: intersect;
}

/* ===== Contenedor columnas ===== */
.footer_container{
  width: 100%;
  background: transparent;
  padding: .5rem 0 0;
}
.footer_grid{
  width: min(1100px, 92%);
  margin: 0 auto;
  display: grid;
  gap: 1.25rem 2rem;
  grid-template-columns: repeat(6, minmax(0, 1fr)); /* 6 columnas en desktop */
}

/* Responsive grid */
@media (max-width: 1100px){
  .footer_grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .footer_grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px){
  .footer_grid{ grid-template-columns: 1fr; }
}

/* ===== Columnas ===== */
.footer_col{ min-width: 0; }
.footer_title{
  margin: 0 0 .5rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: #fafafa;
  text-transform: uppercase;
}

/* ===== Listas ===== */
.footer_list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}
.footer_list a{
  color: #fafafa;
  text-decoration: none;
  font-size: .95rem;
  line-height: 1.35;
  transition: color .2s ease;
}
.footer_list a:hover{ color: #ffd95a; }

/* ===== Redes ===== */
.socials{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: .25rem 0 0;
}
.socials a{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.08);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  backdrop-filter: blur(4px);
}
.socials a:hover{
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  background: rgba(255,255,255,.16);
}
.socials ion-icon{
  font-size: 20px;
  color: #fafafa;
}

/* ===== Pie legal ===== */
.footer_bottom{
  text-align: center;
  color: #fafafa;
  font-size: .95rem;
  border-top: 1px solid rgba(255,255,255,.2);
  padding: 1rem 0 1.25rem;
  margin-top: .75rem;
}
.footer_bottom a{
  text-decoration: none;
  color: inherit;
}

/* Accesibilidad: texto solo para lectores */
.sr-only{
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
