/* =============================================================================
   PIE DE PÁGINA de Operarme.cl. Es idéntico en las tres versiones.
   ========================================================================== */
.site-footer{
  --pie-bg:linear-gradient(160deg, #2b5b86 0%, #356997 45%, #048c8e 100%);
  --pie-ease:cubic-bezier(.25, .8, .25, 1);
  --pie-ease-out:cubic-bezier(.16, 1, .3, 1);
  position:relative;
  padding:80px 0 28px;
  background:var(--pie-bg);
  color:rgba(255,255,255,.85);
  font-family:'Poppins', system-ui, sans-serif;
  overflow:hidden;
}
.site-footer .container{
  width:100%; max-width:1170px;
  margin:0 auto; padding:0 24px;
}
.footer-grid{
  position:relative; z-index:2;
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:46px;
}
.footer-brand{ display:inline-block; }
.footer-brand img{
  width:200px; height:auto; margin-bottom:24px;
  filter:brightness(0) invert(1);
  transition:transform .45s var(--pie-ease-out);
}
.footer-brand:hover img{ transform:translateY(-3px); }
.footer-col p{
  margin:0 0 14px;
  font-size:12.5px; line-height:1.95;
  color:rgba(255,255,255,.78);
}
.footer-col h4{
  margin:0 0 24px;
  font-size:11px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.footer-contact{ margin:0; padding:0; list-style:none; }
.footer-contact li{
  display:flex; align-items:center; gap:12px;
  margin-bottom:14px;
  font-size:13px;
}
.footer-contact svg{
  width:15px; height:15px; flex:0 0 auto;
  fill:#fff;
  transition:transform .35s var(--pie-ease-out);
}
.footer-contact li:hover svg{ transform:translateY(-2px) scale(1.1); }
.footer-contact a{
  position:relative;
  color:rgba(255,255,255,.88);
  text-decoration:none;
}
.footer-contact a::after{
  content:"";
  position:absolute; left:0; bottom:-2px;
  width:0; height:1px; background:#fff;
  transition:width .35s var(--pie-ease-out);
}
.footer-contact a:hover{ color:#fff; }
.footer-contact a:hover::after{ width:100%; }

.footer-social{ display:flex; gap:10px; margin-top:26px; }
.footer-social a{
  display:block;
  width:36px; height:36px; padding:9px;
  background:rgba(255,255,255,.13);
  color:#fff;
  transition:background .35s var(--pie-ease), transform .35s var(--pie-ease-out), box-shadow .35s var(--pie-ease);
}
.footer-social svg{ display:block; width:18px; height:18px; fill:currentColor; }
.footer-social a:hover{
  background:#fff; color:#356997;
  transform:translateY(-5px);
  box-shadow:0 10px 20px rgba(0,0,0,.25);
}

/* Tarjeta blanca de la tercera columna */
.footer-col--cta{ display:flex; flex-direction:column; }
.pie-tarjeta{
  display:inline-flex; flex-direction:column; align-items:flex-start;
  gap:12px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  background:rgba(255,255,255,.96);
  text-decoration:none;
  transition:transform .4s var(--pie-ease-out), box-shadow .4s var(--pie-ease), background .4s var(--pie-ease);
}
.pie-tarjeta:hover{
  transform:translateY(-4px);
  background:#fff;
  box-shadow:0 14px 30px rgba(0,30,50,.28);
}
.pie-tarjeta strong{
  font-size:15px; font-weight:600;
  color:#356997;
}
.pie-tarjeta span{
  font-size:11.5px; line-height:1.5;
  color:#6b7f90;
}
.pie-tarjeta em{
  font-style:normal;
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:#048c8e;
}

.footer-divider{
  position:relative; z-index:2;
  height:1px; margin:52px 0 22px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
}
.footer-copy{
  position:relative; z-index:2;
  margin:0;
  text-align:center;
  font-size:12px;
  color:rgba(255,255,255,.72);
}

/* WhatsApp flotante */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:90;
  width:58px; height:58px; padding:13px;
  border-radius:50%;
  background:#25d366;
  box-shadow:0 10px 26px rgba(0,0,0,.22);
  transition:transform .35s cubic-bezier(.16, 1, .3, 1);
}
.wa-float svg{ display:block; width:32px; height:32px; fill:#fff; }
.wa-float:hover{ transform:scale(1.08); }

@media (max-width:991px){
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .footer-col:first-child{ grid-column:1 / -1; }
}
@media (max-width:600px){
  .site-footer{ padding-top:64px; }
  .footer-grid{ grid-template-columns:1fr; }
  .wa-float{ right:16px; bottom:16px; width:52px; height:52px; padding:11px; }
  .wa-float svg{ width:30px; height:30px; }
}
