/* === Sticky layout base === */
html,
body {
    height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Contenido principal crece y empuja el footer hacia abajo */
#pc-main,
.pc-main,
#client-container {
    flex: 1 0 auto;
    padding-bottom: 2rem;
}

/* Si tu header es fixed, añade esta clase al body para dar espacio arriba */
:root {
    --pc-header-h: 5rem;
}

/* ajusta según tu navbar */
.with-fixed-header #pc-main,
.with-fixed-header .pc-main,
.with-fixed-header #client-container {
    padding-top: var(--pc-header-h);
}

/* === Footer (no fixed) === */
#pc-footer {
    background-color: #1d3f5c;
    color: white;
    width: 100%;
    min-height: 10rem;
    /* altura mínima, NO altura fija */
    padding: 1.5rem 1rem;

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

    flex-shrink: 0;
    /* no se comprime */
    text-align: center;
}

/* Logo e interior */
.footer-logo {
    max-height: 3rem;
    display: block;
}

.footer-logo-wrapper {
    margin-bottom: 0.5rem;
}

/* Impresión: ocultar footer */
@media print {
    #pc-footer {
        display: none !important;
    }
}