/* Estilos aislados de Bootstrap y de las reglas heredadas de cada pestaña. */
.intranet-footer {
    box-sizing: border-box;
    width: 100%;
    margin: clamp(32px, 5vw, 64px) 0 0;
    padding: 0;
    background: #111;
    color: #fff;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.65;
    text-align: left;
    clear: both;
}
.intranet-footer *, .intranet-footer *::before, .intranet-footer *::after { box-sizing: border-box; }
.intranet-footer .intranet-footer-content {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(0, 2fr) auto;
    align-items: start;
    gap: 32px 48px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 32px;
}
.intranet-footer .intranet-footer-brand { display: inline-block; width: fit-content; max-width: 100%; }
.intranet-footer .intranet-footer-brand img { display: block; width: 220px; max-width: 100%; height: auto; }
.intranet-footer h2 { margin: 0 0 8px; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.4; letter-spacing: normal; }
.intranet-footer .intranet-footer-contact { min-width: 0; }
.intranet-footer .intranet-footer-contact h2:not(:first-child) { margin-top: 24px; }
.intranet-footer p { margin: 0; color: #eee; font-size: 14px; line-height: 1.65; text-align: left; overflow-wrap: anywhere; }
.intranet-footer a { color: #fff; font-size: 14px; line-height: 1.65; text-decoration: none; }
.intranet-footer .intranet-footer-contact a { display: block; width: fit-content; max-width: 100%; padding: 5px 0; overflow-wrap: anywhere; }
.intranet-footer a:hover { color: #ffad7b; opacity: 1; text-decoration: underline; }
.intranet-footer a:focus-visible { outline: 2px solid #ffad7b; outline-offset: 4px; }
.intranet-footer .intranet-footer-social { display: flex; flex-wrap: wrap; gap: 12px; }
.intranet-footer .intranet-footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #666; border-radius: 8px; }
.intranet-footer .intranet-footer-social svg { display: block; width: 24px; height: 24px; flex-shrink: 0; }
.intranet-footer .intranet-footer-copyright { margin: 0; padding: 16px 24px; background: #b64000; color: #fff; font-size: 13px; line-height: 1.5; text-align: center; }
@media (max-width: 767.98px) {
    .intranet-footer .intranet-footer-content { grid-template-columns: 1fr; gap: 28px; padding: 32px 24px; }
    .intranet-footer .intranet-footer-brand img { width: 190px; }
    .intranet-footer .intranet-footer-contact a { padding-block: 10px; min-height: 44px; }
}
/* El formulario independiente usa una hoja que centra todo el body con flex. */
body.reservation-page { display: block; }
