/* ===========================================================
   IPSE · footer.css  ·  Pie de página (.ipft) + botón WhatsApp flotante
   =========================================================== */
.ipft,.ipft *{box-sizing:border-box}
.ipft a{text-decoration:none}
.ipft{--red:#CC0000;--redD:#B40017;--ink:#0f172a;--sub:#475569;width:100%;background:#f8fafc;padding:clamp(32px,5vw,56px) 0 0;font-family:"Poppins",system-ui,Arial;position:relative}
.ipft-inner{max-width:1380px;margin:0 auto;padding:0 clamp(16px,4vw,48px) clamp(32px,4vw,48px)}
.ipft-card{background:#fff;border-radius:24px;border:1px solid rgb(15 23 42 / .07);box-shadow:0 8px 40px rgb(15 23 42 / .09);padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px);display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(24px,4vw,48px)}
.ipft-brand img{height:52px;width:auto;display:block;margin-bottom:14px}
.ipft-brand p{font-size:13.5px;color:var(--sub);line-height:1.6;max-width:280px;margin:0 0 16px}
.ipft-info{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.ipft-info a{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink);transition:color .15s ease}
.ipft-info a:hover{color:var(--red)}
.ipft-reclamaciones{display:inline-flex;align-items:center;gap:12px;padding:10px 16px;border-radius:14px;background:rgb(204 0 0 / .06);border:1px solid rgb(204 0 0 / .14);font-size:13px;color:var(--ink);transition:background .15s ease;width:fit-content}
.ipft-reclamaciones:hover{background:rgb(204 0 0 / .10)}
.ipft-reclamaciones span{font-weight:900;font-size:13px;color:var(--redD);display:block}
.ipft-reclamaciones small{font-size:11.5px;color:var(--sub)}
.ipft-col h4{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:0 0 16px}
.ipft-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ipft-col ul li a{font-size:14px;color:var(--sub);transition:color .15s ease}
.ipft-col ul li a:hover{color:var(--red)}
.ipft-correo{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:12px;background:#f8fafc;border:1px solid rgb(15 23 42 / .07);margin-bottom:14px}
.ipft-correo-ico{width:32px;height:32px;border-radius:999px;flex-shrink:0;background:rgb(204 0 0 / .08);border:1px solid rgb(204 0 0 / .14);display:grid;place-items:center;font-size:14px}
.ipft-correo div{font-size:12px;color:var(--sub);line-height:1.4}
.ipft-correo div strong{display:block;font-size:13px;color:var(--ink);margin-bottom:2px}
.ipft-correo div a{color:var(--red);font-size:12.5px}
.ipft-correo div a:hover{text-decoration:underline}
.ipft-redes{display:flex;flex-wrap:wrap;gap:8px}
.ipft-red{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid rgb(15 23 42 / .10);font-size:13px;font-weight:700;color:var(--ink);box-shadow:0 2px 8px rgb(15 23 42 / .06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.ipft-red:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgb(15 23 42 / .12);border-color:rgb(204 0 0 / .22)}
.ipft-map-wrap{padding:0 clamp(16px,4vw,48px) clamp(24px,3vw,36px)}
.ipft-map-inner{max-width:1380px;margin:0 auto;height:clamp(200px,30vw,340px);border-radius:20px;overflow:hidden;box-shadow:0 12px 40px rgb(15 23 42 / .12);border:1px solid rgb(15 23 42 / .07)}
.ipft-map-inner iframe{width:100%;height:100%;border:0;display:block}
.ipft-bottom{border-top:1px solid rgb(15 23 42 / .07);padding:14px clamp(16px,4vw,48px);max-width:1380px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ipft-copy{font-size:12px;color:#94a3b8}
.ipft-copy span{color:var(--red);font-weight:700}
.ipft-legal{display:flex;gap:16px}
.ipft-legal a{font-size:12px;color:#94a3b8;transition:color .15s ease}
.ipft-legal a:hover{color:var(--sub)}
@media(max-width:900px){.ipft-card{grid-template-columns:1fr 1fr}.ipft-brand{grid-column:1/-1}.ipft-brand p{max-width:100%}}
@media(max-width:560px){.ipft-card{grid-template-columns:1fr;gap:0;padding:20px 18px;border-radius:20px}.ipft-brand{padding-bottom:20px;border-bottom:1px solid rgb(15 23 42 / .07)}.ipft-brand img{height:44px}.ipft-brand p{font-size:13px;margin-bottom:12px}.ipft-info{gap:6px}.ipft-info a{font-size:13px}.ipft-reclamaciones{padding:9px 14px}.ipft-col{padding-top:18px;padding-bottom:18px;border-bottom:1px solid rgb(15 23 42 / .07)}.ipft-col:last-child{border-bottom:none;padding-bottom:0}.ipft-col h4{margin-bottom:12px}.ipft-col ul{display:grid;grid-template-columns:1fr 1fr;gap:0}.ipft-col ul li a{display:block;padding:8px 10px;border-radius:10px;font-size:13px;color:var(--sub);background:rgb(15 23 42 / .03);border:1px solid rgb(15 23 42 / .06);text-align:center;font-weight:600;transition:background .15s ease,color .15s ease}.ipft-col ul li a:hover{background:rgb(204 0 0 / .07);color:var(--red)}.ipft-col ul li{padding:3px}.ipft-col ul li:last-child{grid-column:1/-1}.ipft-correo{margin-bottom:12px}.ipft-redes{gap:6px}.ipft-red{flex:1 1 calc(50% - 6px);justify-content:center;padding:9px 10px;font-size:12.5px}.ipft-bottom{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:12px 16px}.ipft-legal{gap:12px}}
.ipft-wa{position:fixed;right:18px;bottom:18px;z-index:99999;display:flex;align-items:center;gap:10px;view-transition-name:ipse-wa}
.ipft-wa-bubble{padding:9px 14px;border-radius:999px;background:#fff;border:1px solid rgb(229 231 235 / .9);font:700 12px/1 system-ui,Arial;color:#111827;box-shadow:0 8px 24px rgb(15 23 42 / .14);white-space:nowrap}
.ipft-wa-btn{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#44f08a,#22c55e 55%,#16a34a);box-shadow:0 12px 32px rgb(34 197 94 / .35),0 0 0 6px rgb(34 197 94 / .10);border:none;cursor:pointer;text-decoration:none;flex-shrink:0;animation:ipftWaft 2.8s ease-in-out infinite}
@keyframes ipftWaft{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.ipft-wa-btn svg{width:26px;height:26px}
@media(max-width:480px){.ipft-wa{right:12px;bottom:12px}.ipft-wa-bubble{display:none}}
