/**
 * Unidad Estetica LaTorre | Footer global | v1.2.0
 *
 * Edicion: Elementor > Theme Builder > Footer (#46 en Local).
 * Alcance: .latorre-footer y sus descendientes exclusivamente.
 * Paleta: variables globales de Elementor, con valores de respaldo.
 * Contenido, enlaces, logos e imagen de marca: editables en Elementor.
 * Reparto: escritorio 5 columnas; tablet 2+3; tablet estrecha 2; movil 1.
 * Portabilidad: sin rutas, dominios ni IDs locales en los selectores.
 * No modificar header-responsive.css ni el codigo de Elementor.
 */

/* Identidad y contenedor. */
.latorre-footer {
    --latorre-footer-bg: var(--e-global-color-primary, #7E6E64);
    --latorre-footer-muted: var(--e-global-color-latorre_beige, #E6D5C9);
    --latorre-footer-white: var(--e-global-color-latorre_white, #FFFFFF);
    --latorre-footer-divider: rgb(255 255 255 / 12%);

    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    gap: 0;
    padding: 60px clamp(20px, 5vw, 72px) 90px;
    background-color: var(--latorre-footer-bg);
    color: var(--latorre-footer-muted);
}

.latorre-footer *,
.latorre-footer *::before,
.latorre-footer *::after {
    box-sizing: border-box;
}

/* Cinco columnas. La rejilla prevalece sobre el Flexbox visual de Elementor. */
.latorre-footer .latorre-footer__top {
    display: grid;
    grid-template-columns: 204px minmax(200px, 1.35fr) repeat(3, minmax(0, 1fr));
    align-items: start;
    column-gap: clamp(24px, 2.5vw, 40px);
    row-gap: 32px;
    width: 100%;
    max-width: 1296px;
    min-width: 0;
    margin-inline: auto;
    padding-bottom: 64px;
    border-bottom: 1px solid var(--latorre-footer-divider);
}

.latorre-footer .latorre-footer__top > .latorre-footer__column {
    min-width: 0;
    width: auto;
    max-width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
}

.latorre-footer .latorre-footer__logo {
    width: 100%;
    text-align: left;
}

.latorre-footer .latorre-footer__logo img {
    display: block;
    width: 204px;
    max-width: 100%;
    height: auto;
}

/* Jerarquia tipografica comun. */
.latorre-footer .latorre-footer__top .latorre-footer__heading {
    margin: 0 0 16px;
    color: var(--latorre-footer-white);
}

.latorre-footer .latorre-footer__top .latorre-footer__heading .elementor-heading-title {
    margin: 0;
    color: var(--latorre-footer-white);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: none;
}

.latorre-footer .latorre-footer__top :is(p, li, a, span) {
    font-size: 14px;
    line-height: 1.55;
}

.latorre-footer .latorre-footer__top p {
    margin: 0 0 12px;
    color: var(--latorre-footer-muted);
}

.latorre-footer .latorre-footer__top :is(li, a) {
    color: var(--latorre-footer-muted);
}

/* Un mismo estilo para los dos widgets de lista, sin duplicar reglas. */
.latorre-footer :is(.latorre-footer__nav, .latorre-footer__legal) .elementor-icon-list-items {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.latorre-footer :is(.latorre-footer__nav, .latorre-footer__legal) .elementor-icon-list-item {
    margin: 0;
    padding: 0;
}

.latorre-footer :is(.latorre-footer__nav, .latorre-footer__legal) .elementor-icon-list-text {
    color: var(--latorre-footer-muted);
}

.latorre-footer :is(.latorre-footer__nav, .latorre-footer__legal) a,
.latorre-footer .latorre-footer__contact a {
    text-decoration: none;
    overflow-wrap: anywhere;
}

.latorre-footer :is(.latorre-footer__nav, .latorre-footer__legal) a:hover .elementor-icon-list-text,
.latorre-footer :is(.latorre-footer__nav, .latorre-footer__legal) a:focus-visible .elementor-icon-list-text,
.latorre-footer .latorre-footer__contact a:hover {
    color: var(--latorre-footer-white);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.latorre-footer a:focus-visible {
    outline: 2px solid var(--latorre-footer-white);
    outline-offset: 4px;
    border-radius: 2px;
}

/* Imagen de marca original de Figma; sin tipografia sustituta. */
.latorre-footer .latorre-footer__wordmark {
    width: 100%;
    max-width: 1296px;
    min-width: 0;
    margin: 60px auto 0;
    overflow: hidden;
}

.latorre-footer .latorre-footer__wordmark .elementor-widget-image {
    width: 100%;
    text-align: center;
}

.latorre-footer .latorre-footer__wordmark img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* Dos textos legales en una misma franja. */
.latorre-footer .latorre-footer__bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 24px;
    width: 100%;
    max-width: 1296px;
    min-width: 0;
    margin: 60px auto 0;
}

.latorre-footer .latorre-footer__bottom .elementor-heading-title {
    margin: 0;
    color: var(--latorre-footer-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Tablet: logo independiente y cuatro secciones en 2 x 2. */
@media (max-width: 1199px) {
    .latorre-footer .latorre-footer__top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(24px, 4vw, 48px);
        row-gap: 32px;
        padding-bottom: 44px;
    }

    .latorre-footer .latorre-footer__top > .latorre-footer__column:first-child {
        grid-column: 1 / -1;
    }

    .latorre-footer .latorre-footer__top > .latorre-footer__column:nth-child(n + 2) {
        grid-column: auto;
    }
}

/* Tablet estrecha: misma estructura, menos espacio exterior. */
@media (max-width: 780px) {
    .latorre-footer {
        padding: 42px 28px 60px;
    }

    .latorre-footer .latorre-footer__top {
        column-gap: 24px;
        row-gap: 28px;
        padding-bottom: 36px;
    }

    .latorre-footer .latorre-footer__wordmark,
    .latorre-footer .latorre-footer__bottom {
        margin-top: 40px;
    }
}

/* Movil: lectura natural, logo alineado con el contenido, sin desbordes. */
@media (max-width: 560px) {
    .latorre-footer {
        padding: 34px 20px 44px;
    }

    .latorre-footer .latorre-footer__top {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 22px;
        padding-bottom: 30px;
    }

    .latorre-footer .latorre-footer__top > .latorre-footer__column:nth-child(n) {
        grid-column: auto;
    }

    .latorre-footer .latorre-footer__logo {
        text-align: left;
    }

    .latorre-footer .latorre-footer__logo img {
        width: 178px;
    }

    .latorre-footer .latorre-footer__top .latorre-footer__heading {
        margin-bottom: 10px;
    }

    .latorre-footer .latorre-footer__top p {
        margin-bottom: 9px;
    }

    .latorre-footer :is(.latorre-footer__nav, .latorre-footer__legal) .elementor-icon-list-items {
        gap: 6px;
    }

    .latorre-footer .latorre-footer__wordmark,
    .latorre-footer .latorre-footer__bottom {
        margin-top: 28px;
    }

    .latorre-footer .latorre-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .latorre-footer .latorre-footer__bottom .elementor-heading-title {
        font-size: 12px;
        letter-spacing: 0.06em;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 359px) {
    .latorre-footer {
        padding-inline: 16px;
    }
}
