/* Footer institucional de tres columnas, inspirado en la referencia del cliente. */
.site-footer{background:var(--footer-bg);color:var(--on-dark-muted);padding:72px 0 0}
.footer-columns{display:grid;grid-template-columns:1.65fr 1fr 1fr;gap:65px;padding-bottom:66px}
.footer-title{font-size:var(--text-label);letter-spacing:.19em;line-height:1.5;color:var(--accent);margin:0 0 25px}
.footer-wordmark{display:inline-block;color:var(--paper);font-size:36px;line-height:1.2;letter-spacing:-.025em;font-weight:700;margin-bottom:22px}
.footer-company>p{font-size:14px;line-height:1.95;margin:0 0 15px;max-width:540px;color:var(--on-dark-muted)}
.footer-row{display:flex;align-items:flex-start;gap:15px;margin:0 0 21px;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.footer-row .icon{width:18px;height:18px;margin-top:4px;color:var(--accent)}
.footer-row address{font-style:normal}
.footer-hours strong{font-weight:700;color:var(--on-dark-muted)}
.footer-service-note{font-size:13px;line-height:1.9;color:var(--on-dark-muted);border-top:1px solid var(--footer-line);padding-top:17px;max-width:260px}
.footer-map{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--accent);margin-top:10px}
.footer-map .icon{width:14px;height:14px;margin:0}
.footer-quote{font-size:12px;gap:14px;padding-inline:16px;margin-top:6px}
.site-footer .footer-quote:hover,.site-footer .footer-quote:focus-visible{background:var(--brand-soft);color:var(--brand)}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--paper)}
.site-footer a[aria-current]{color:var(--accent)}
.footer-social-icons{display:flex;gap:12px;margin-top:26px}
.footer-social-icons>a,.footer-social-icons>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--footer-line);color:var(--on-dark-muted)}
.footer-social-icons .icon{width:18px;height:18px}
.footer-social-icons>a:hover,.footer-social-icons>a:focus-visible{background:var(--brand);border-color:var(--paper);color:var(--paper)}
.footer-base{background:var(--footer-base);border-top:1px solid var(--footer-line)}
.footer-bottom{padding-block:24px;display:flex;justify-content:space-between;align-items:center;gap:25px;color:var(--on-dark-muted);font-size:12px;flex-wrap:wrap}
.footer-bottom nav{display:flex;gap:22px;flex-wrap:wrap;order:initial;width:auto}
.footer-bottom>span:last-child{margin-left:0}
.footer-bottom .back-top{display:grid;place-items:center;margin-left:0;width:44px;height:44px;border:1px solid var(--footer-line);border-radius:50%;flex-shrink:0;transition:background .2s,border-color .2s}
.footer-bottom .back-top:hover,.footer-bottom .back-top:focus-visible{background:var(--brand);border-color:var(--paper);color:var(--paper)}
.footer-bottom .back-top .icon{width:17px;height:17px;transform:rotate(-90deg)}
@media(max-width:1100px){.footer-columns{gap:35px;grid-template-columns:1.4fr 1fr 1fr}.footer-company>p,.footer-row{font-size:13px}.footer-bottom{font-size:11px}}
@media(max-width:760px){.site-footer{padding-top:46px}.footer-columns{grid-template-columns:1fr 1fr;gap:36px 25px;padding-bottom:40px}.footer-company{grid-column:1/-1}.footer-company>p{max-width:none;font-size:14px}.footer-row{font-size:13px;gap:10px}.footer-title{font-size:var(--text-label);margin-bottom:20px}.footer-bottom{gap:20px;padding-block:22px;padding-right:50px}.footer-bottom nav{gap:14px;font-size:11px}.footer-bottom .back-top{display:grid}.footer-service-note{max-width:none}}
@media(max-width:400px){.footer-columns{grid-template-columns:1fr;gap:30px}.footer-company{grid-column:auto}.footer-title{margin-bottom:18px}}

/* Distribución compacta compartida por todas las páginas. */
.site-footer{padding-top:36px}
.site-footer .footer-columns{grid-template-columns:1.05fr 1.25fr 1.35fr 1.05fr;gap:30px;padding-bottom:32px;align-items:start}
.site-footer .footer-logo{max-width:220px;margin:0}
.site-footer .footer-privacy{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:12px;color:var(--on-dark-muted);text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-title{font-size:12px;letter-spacing:.06em;margin:0 0 14px;color:var(--paper)}
.site-footer .footer-company>p{font-size:14px;line-height:1.65;margin:0;max-width:320px}
.site-footer .footer-contact .footer-row{font-size:14px;line-height:1.6;margin-bottom:12px;gap:9px}
.site-footer .footer-row .icon{color:var(--paper);opacity:.85;margin-top:3px;flex-shrink:0}
.site-footer .footer-map{margin-top:4px;color:var(--on-dark-muted)}
.site-footer .footer-quote{margin-top:2px;min-height:44px;padding-block:10px}
.site-footer .footer-follow .footer-title{margin-bottom:12px}
.site-footer .footer-social-icons{gap:6px;margin:0 0 18px;flex-wrap:nowrap}
.site-footer .footer-follow .footer-hours .footer-title{font-size:11px;margin:0 0 10px}
.site-footer .footer-follow .footer-row{font-size:12px;line-height:1.55;gap:8px;margin-bottom:8px}
.site-footer .footer-bottom{position:relative;display:grid;grid-template-columns:minmax(0,1fr);padding:24px 72px;gap:0;font-size:11px;letter-spacing:0;text-align:center;min-height:68px}
.site-footer .footer-bottom>span{width:100%;max-width:none}
.site-footer .footer-bottom .back-top{position:absolute;right:72px;top:50%;transform:translateY(-50%);margin:0}
@media(max-width:1100px){.site-footer .footer-columns{grid-template-columns:1fr 1fr;gap:26px 40px}.site-footer .footer-company>p{max-width:none}.site-footer .footer-logo{max-width:210px}}
@media(max-width:640px){.site-footer{padding-top:28px}.site-footer .footer-columns{grid-template-columns:1fr;gap:24px;padding-bottom:28px}.site-footer .footer-logo{max-width:190px}.site-footer .footer-company>p{max-width:460px}.site-footer .footer-follow{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-items:start}.site-footer .footer-follow>h2{grid-column:1;grid-row:1}.site-footer .footer-social-icons{grid-column:1;grid-row:2;flex-wrap:wrap;margin:0}.site-footer .footer-hours{grid-column:2;grid-row:1/3}.site-footer .footer-bottom{flex-wrap:wrap;gap:8px 16px;padding-block:12px}.site-footer .footer-bottom>span{width:100%;font-size:10px;line-height:1.6}.site-footer .footer-bottom .back-top{margin-left:auto}}

@media(max-width:640px){.site-footer .footer-bottom{padding:14px 0;min-height:88px;gap:10px}.site-footer .footer-bottom .back-top{position:static;transform:none;justify-self:center;margin:0}.site-footer .footer-bottom>span{font-size:10px;line-height:1.6}}
