/* Footer global del sitio (templates/partials/footer.html): una sola fuente.
   Diseño: el footer azul de referencias/FreelanClick_PORTADA_CORREGIDA
   (2026-10-08), en HTML y CSS. Lo cargan partials/base.html y el inicio
   (documento propio). No depende de Bootstrap ni de style.css: los tokens
   (--fc-marca-*) son los de css/marca.css y llevan su valor de respaldo. */

/* flex-shrink:0 — el body es una columna flex (css/marca.css) y el footer no se
   comprime nunca. El margen de arriba sigue siendo 48: el hueco flexible lo pone
   el main al crecer, no este margen, así que en una página larga el aire entre el
   contenido y el azul es el de siempre. */
.fc-footer{position:relative;isolation:isolate;flex-shrink:0;margin-top:48px;padding:44px 0 36px;
    color:#edf7ff;font-family:var(--fc-marca-fuente,'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif);
    font-size:14px;font-weight:400;line-height:1.5;text-align:left;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
/* Fondo a lo ancho aunque el footer esté dentro de un .container. */
.fc-footer::before{content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(115deg,#022b54,#002850 50%,#012b53);
    box-shadow:0 0 0 100vmax #012a52;clip-path:inset(0 -100vmax);}
:where(.fc-footer) ul{margin:0;padding:0;list-style:none;}
:where(.fc-footer) p{margin:0;}
:where(.fc-footer) h2{margin:0;}
:where(.fc-footer) a{color:inherit;text-decoration:none;}
.fc-footer a:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px;}

.fc-footer__marco{position:relative;display:grid;width:min(100%,1180px);margin:0 auto;padding:0 24px;
    grid-template-columns:minmax(0,2.2fr) minmax(0,.8fr) minmax(0,1.15fr) minmax(0,1fr);
    gap:28px 32px;align-items:start;}
/* Puntos de los bordes, como en la referencia (solo donde hay espacio a los lados). */
@media (min-width:1400px){
    .fc-footer__marco::before,.fc-footer__marco::after{content:"";position:absolute;width:52px;height:44px;
        background:radial-gradient(circle,rgba(76,150,255,.75) 1.3px,transparent 1.7px) 0 0/11px 11px;pointer-events:none;}
    .fc-footer__marco::before{left:-92px;top:42px;}
    .fc-footer__marco::after{right:-80px;bottom:-26px;}
}

.fc-footer .fc-logo{display:inline-flex;align-items:baseline;font-size:22px;font-weight:900;line-height:1;
    letter-spacing:-.01em;text-decoration:none;}
.fc-footer .fc-logo__freelan{color:#fff;letter-spacing:.04em;}
.fc-footer .fc-logo__click{color:#2a9bff;}
.fc-footer__lema{margin-top:10px;color:rgba(237,247,255,.9);font-size:14px;}
.fc-footer__redes{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.fc-footer__redes a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
    border-radius:50%;background:#1667e6;color:#fff;font-size:18px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:background-color .15s ease,transform .15s ease;}
.fc-footer__redes a:hover{background:#2b7dff;transform:translateY(-1px);}
.fc-footer__copy{margin-top:16px;color:rgba(237,247,255,.78);font-size:12.5px;}
.fc-footer__copy strong{color:#fff;font-weight:700;}

.fc-footer__titulo{margin:0 0 10px;color:#fff;font-size:15px;font-weight:700;line-height:1.3;letter-spacing:0;}
.fc-footer__lista li + li{margin-top:7px;}
.fc-footer__lista a{color:rgba(237,247,255,.84);font-size:14px;transition:color .15s ease;}
.fc-footer__lista a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;}

/* Escritorio ancho: la columna de la marca alcanza para el lema y el copyright en una línea. */
@media (min-width:1200px){
    .fc-footer__marco{grid-template-columns:minmax(410px,2.2fr) minmax(0,.8fr) minmax(0,1.15fr) minmax(0,1fr);}
}
/* Tablet: la marca a lo ancho y las tres columnas debajo. */
@media (max-width:991.98px){
    .fc-footer{padding:36px 0 30px;}
    .fc-footer__marco{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;}
    .fc-footer__marca{grid-column:1/-1;}
}
/* Celular: dos columnas, con la marca a lo ancho. */
@media (max-width:575.98px){
    .fc-footer{padding:30px 0 26px;}
    .fc-footer__marco{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;padding:0 20px;}
    .fc-footer .fc-logo{font-size:20px;}
    .fc-footer__lista a{display:inline-block;padding:2px 0;}
}
