/* Footer único del sitio público — ver resources/views/layouts/web/footer.blade.php */
.llf { background:#0b0d12; color:rgba(255,255,255,.7); position:relative; font-size:.875rem; line-height:1.6; }
.llf a { color:rgba(255,255,255,.7); text-decoration:none; transition:color .15s; }
.llf a:hover, .llf a:focus { color:#fff; }
.llf h2, .llf h3, .llf h4 { color:#fff; margin:0; font-weight:600; }
.llf ul { list-style:none; margin:0; padding:0; }
.llf__wrap { max-width:1140px; margin:0 auto; padding:0 1rem; }

/* Bloque superior: contacto */
.llf-contact { display:grid; gap:2.5rem; padding:4rem 0 3rem; grid-template-columns:1fr; }
.llf-contact__title { font-size:2rem; line-height:1.2; margin-bottom:.75rem !important; }
.llf-contact__lead { margin:0 0 2rem; }
.llf-contact__lead a { color:#6ea8fe; }
.llf-contact__items { display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); }
.llf-contact__icon { display:inline-flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; margin-bottom:.75rem; font-size:1rem; }
.llf-contact__label { font-size:1rem; margin-bottom:.15rem !important; }
.llf-card { background:#fff; color:#1e2022; border-radius:.75rem; padding:1.75rem; box-shadow:0 1rem 3rem rgba(0,0,0,.35); }
.llf-card h3 { color:#1e2022; font-size:1.5rem; margin-bottom:.5rem; }
.llf-card p { color:#677788; margin:0 0 1.25rem; }
.llf-card a { color:inherit; }

/* Bloque superior: newsletter */
.llf-news { display:grid; gap:1.5rem; align-items:center; padding:3.5rem 0 3rem; grid-template-columns:1fr; }
.llf-news__title { font-size:1.6rem; line-height:1.25; margin-bottom:.5rem !important; }
.llf-news__text { margin:0; }
.llf-news__note { font-size:.8rem; margin:.5rem 0 0; }
.llf-news input { background:#fff; color:#1e2022; }

.llf-sep { border:0; border-top:1px solid rgba(255,255,255,.1); margin:0; }

/* Columnas (contenido común a todas las variantes) */
.llf-main { display:grid; gap:2rem 1.5rem; padding:3rem 0 2.5rem; grid-template-columns:repeat(2, 1fr); }
.llf-brand { grid-column:1 / -1; }
.llf-brand img { height:2.25rem; width:auto; margin-bottom:1.25rem; }
.llf-col h4 { font-size:.95rem; margin-bottom:.9rem !important; }
.llf-col li { padding:.2rem 0; }
.llf-col i { margin-right:.35rem; }

/* Barra inferior */
.llf-bottom { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; padding:1.75rem 0 1rem; }
.llf-legal { display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; }
.llf-social { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.llf-social a { display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:.4rem; background:rgba(255,255,255,.08); color:#fff; }
.llf-social a:hover { background:rgba(255,255,255,.2); }
.llf-social svg { display:block; width:14px; height:14px; }
.llf-copy { text-align:center; font-size:.8rem; color:rgba(255,255,255,.5); padding:1rem 0 2rem; }
.llf-copy p { margin:0 0 .35rem; }

@media (min-width: 768px) {
  .llf-main { grid-template-columns:repeat(4, 1fr); }
  .llf-news { grid-template-columns:1fr 1fr; }
}
@media (min-width: 992px) {
  .llf-contact { grid-template-columns:5fr 6fr; gap:4rem; }
  .llf-main { grid-template-columns:1.3fr repeat(4, 1fr); }
  .llf-brand { grid-column:auto; }
}
