/* =========================================================
   Site Footer
========================================================= */

.site-footer{
  position:relative;
  width:100%;
  background:radial-gradient(circle at 12% 0%,rgba(254,107,0,.14),transparent 30%),linear-gradient(135deg,#000f27 0%,#071a35 55%,#0b2447 100%);
  color:#fff;
  overflow:hidden
}

.site-footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, transparent, #fe6b00, transparent);
  opacity:.95;
}

.site-footer,
.site-footer *{box-sizing:border-box}

/* Bloque superior */
.site-footer-top{
  padding: clamp(1rem, 2vw, 3rem) 0;
}

.site-footer-container{width:min(1280px,calc(100% - 32px));margin-inline:auto;display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:clamp(1.5rem,3vw,2.75rem);align-items:start}
.site-footer-brand,.site-footer-block{min-width:0}
.site-footer-logo{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none;color:#fff;margin-bottom:1.25rem}
.site-footer-logo img{width:100%;height:auto;display:block;border-radius:.25rem}
.site-footer-logo span{font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:1.25rem;line-height:1.1;font-weight:900;letter-spacing:-.035em}
.site-footer-brand p{max-width:340px;margin:0;color:#d6e3ff;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:.98rem;line-height:1.72}
.site-footer-block h2{
  margin:0 0 1rem;
  color:#ffb693;
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:1.05rem !important;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase
}

.site-footer-contact-list{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}
.site-footer-contact-list li{display:grid;grid-template-columns:22px 1fr;gap:.65rem;align-items:start;color:#d6e3ff;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:.95rem;line-height:1.55}
.site-footer-contact-list .material-symbols-outlined{color:#ffb693;font-family:"Material Symbols Outlined"!important;font-size:1.15rem;line-height:1.35;text-transform:none!important;letter-spacing:normal!important}
.site-footer a{color:inherit}
.site-footer-contact-list a,.site-footer-links a{color:#d6e3ff;text-decoration:none;transition:color 180ms ease,transform 180ms ease}
.site-footer-contact-list a:hover,.site-footer-links a:hover{color:#ffb693}
.site-footer-links{display:grid;gap:.65rem}
.site-footer-links a{width:fit-content;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:.96rem;line-height:1.45}
.site-footer-links a:hover{transform:translateX(3px)}
.site-footer-hours{display:grid;gap:.85rem}
.site-footer-hours p{margin:0;display:grid;gap:.2rem;color:#d6e3ff;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:.95rem;line-height:1.5}
.site-footer-hours strong{color:#fff;font-weight:800}
.site-footer-hours span{color:#d6e3ff}

/* Bloque inferior */
.site-footer-bottom{
  width:100%;
  border-top:1px solid rgba(255,255,255,.12);
  padding:1.1rem 1rem;
  text-align:center;
  background:rgba(0,15,39,.32);

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.site-footer-bottom p{
  margin:0;
  text-align:center;
  width:100%;
  max-width:none;
  color:#d6e3ff;
  font-family:"Hanken Grotesk",system-ui,sans-serif;
  font-size:.92rem;
  line-height:1.6;
}
@media (max-width:1024px){.site-footer-container{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer-brand p{max-width:100%}}
@media (max-width:640px){
  .site-footer-top{padding:2.5rem 0}
  .site-footer-container{grid-template-columns:1fr;gap:2rem}
  .site-footer-logo img{width:100%}
}


/* =========================================================
   Footer layout refinement
========================================================= */

.site-footer-container {
  width: min(1120px, calc(100% - 32px)) !important;
  grid-template-columns: 1.15fr .95fr .85fr .95fr !important;
}

@media (max-width: 900px) {
  .site-footer-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .site-footer-container {
    grid-template-columns: 1fr !important;
  }
}
