/*
 * COSTA RENT | PASO 41.1-B
 * Footer Glass Premium
 *
 * Los selectores cr411b se incorporan
 * exclusivamente a los bloques reales
 * encontrados por el controlador.
 */

footer.cr-site-footer {
    height: auto !important;
    min-height: 0 !important;

    background:
        radial-gradient(
            ellipse at 85% 0%,
            rgba(41,147,204,.25),
            transparent 48%
        ),
        linear-gradient(
            135deg,
            #102d48 0%,
            #153c5c 54%,
            #102b45 100%
        ) !important;
}

/* Distribución en tres paneles */

footer.cr-site-footer .cr411b-grid {
    display: grid !important;

    grid-template-columns:
        minmax(0,1.25fr)
        minmax(0,1fr)
        minmax(0,.82fr) !important;

    align-items: stretch !important;
    gap: 20px !important;

    margin: 0 !important;
}

/* Tarjetas de cristal azul */

footer.cr-site-footer .cr411b-grid > .cr411b-col {
    position: relative !important;

    box-sizing: border-box !important;
    min-width: 0 !important;

    padding: 27px 25px !important;
    margin: 0 !important;

    border:
        1px solid rgba(171,217,247,.18) !important;

    border-radius: 19px !important;

    background:
        linear-gradient(
            148deg,
            rgba(255,255,255,.105),
            rgba(255,255,255,.035) 65%
        ) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.13),
        0 10px 25px rgba(0,16,34,.09) !important;

    backdrop-filter: blur(8px);

    transition:
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease !important;
}

/* Iluminación glossy */

footer.cr-site-footer .cr411b-grid > .cr411b-col:hover {
    background:
        linear-gradient(
            145deg,
            rgba(93,178,222,.19),
            rgba(255,255,255,.055) 75%
        ) !important;

    border-color:
        rgba(169,224,255,.42) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.19),
        0 16px 30px rgba(0,14,34,.17) !important;

    transform: translateY(-3px) !important;
}

/* Contenido de los paneles */

footer.cr-site-footer .cr411b-col h2,
footer.cr-site-footer .cr411b-col h3,
footer.cr-site-footer .cr411b-col h4 {
    margin: 0 0 15px !important;
    padding: 0 0 12px !important;

    color: #fff !important;

    font-size: 18px !important;
    font-weight: 750 !important;

    border-bottom:
        1px solid rgba(186,223,247,.16) !important;
}

footer.cr-site-footer .cr411b-col p {
    color: #dbeaf5 !important;

    font-size: 13.5px !important;
    line-height: 1.75 !important;

    margin-bottom: 12px !important;
}

/* Logotipo: proporcionado y sin ampliaciones */

footer.cr-site-footer .cr411b-brand img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Enlaces del panel de navegación */

footer.cr-site-footer
.cr411b-links .cr-footer-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    gap: 7px !important;

    margin: 0 !important;
    padding: 0 !important;
}

footer.cr-site-footer
.cr411b-links .cr-footer-nav a {
    display: flex !important;

    width: 100% !important;
    max-width: 100% !important;

    min-height: 37px !important;

    padding: 9px 12px !important;
    margin: 0 !important;

    justify-content: space-between !important;

    border-radius: 10px !important;

    border:
        1px solid rgba(181,220,246,.10) !important;

    background:
        rgba(255,255,255,.055) !important;

    color: #edf7ff !important;

    font-size: 13px !important;
}

/* Flecha discreta */

footer.cr-site-footer
.cr411b-links .cr-footer-nav a::after {
    content: "↗";

    color: #83d4f9;

    opacity: .75;

    transition:
        transform .2s ease,
        opacity .2s ease;
}

footer.cr-site-footer
.cr411b-links .cr-footer-nav a:hover {
    background:
        linear-gradient(
            120deg,
            rgba(71,175,227,.28),
            rgba(102,190,232,.13)
        ) !important;

    border-color:
        rgba(156,218,251,.4) !important;

    box-shadow:
        0 5px 15px rgba(0,14,37,.12),
        inset 0 1px 0 rgba(255,255,255,.12) !important;

    transform: translateX(2px) !important;
}

footer.cr-site-footer
.cr411b-links .cr-footer-nav a:hover::after {
    opacity: 1;
    transform: translate(2px,-2px);
}

/* Enlaces de contacto */

footer.cr-site-footer
.cr411b-contact a[href^="mailto:"],
footer.cr-site-footer
.cr411b-contact a[href^="tel:"] {
    color: #a9e7ff !important;
    font-weight: 600 !important;
}

/* Copyright y elementos inferiores */

footer.cr-site-footer
.cr411b-grid > :not(.cr411b-col) {
    grid-column: 1 / -1 !important;
}

footer.cr-site-footer .cr-footer-inner {
    padding-top: 32px !important;
    padding-bottom: 23px !important;
}

/* Tablet */

@media (min-width: 761px) and (max-width: 1050px) {
    footer.cr-site-footer .cr411b-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

    footer.cr-site-footer
    .cr411b-grid > .cr411b-links {
        grid-column: 1 / -1 !important;
    }
}

/* Móvil */

@media (max-width: 760px) {
    footer.cr-site-footer .cr411b-grid {
        grid-template-columns:
            minmax(0,1fr) !important;

        gap: 12px !important;
    }

    footer.cr-site-footer
    .cr411b-grid > .cr411b-col {
        grid-column: 1 !important;

        padding: 22px 20px !important;
    }

    footer.cr-site-footer .cr-footer-inner {
        padding-top: 21px !important;
        padding-bottom: 18px !important;
    }
}

/* Accesibilidad */

@media (prefers-reduced-motion: reduce) {
    footer.cr-site-footer .cr411b-col,
    footer.cr-site-footer .cr411b-links a {
        transition: none !important;
        transform: none !important;
    }
}

/* FIN PASO 41.1-B */
