/* =========================================================
   FORCE FOOTER COLORS
   Prevent theme / Elementor color inheritance
   ========================================================= */

/* ---------- ALL LINKS ---------- */

.propera-footer a,
.propera-footer a:link,
.propera-footer a:visited {
    color: #FFFFFF !important;
    text-decoration: none !important;
}

.propera-footer a:hover,
.propera-footer a:focus,
.propera-footer a:active {
    color: #FFFFFF !important;
    text-decoration: none !important;
}


/* ---------- MENU / HELP LINKS ---------- */

.propera-footer .propera-footer__links a,
.propera-footer .propera-footer__links a:link,
.propera-footer .propera-footer__links a:visited {
    color: rgba(255, 255, 255, 0.68) !important;
}

.propera-footer .propera-footer__links a:hover,
.propera-footer .propera-footer__links a:focus,
.propera-footer .propera-footer__links a:active {
    color: #FFFFFF !important;
}


/* ---------- CONTACT LINKS ---------- */

.propera-footer .propera-footer__contact-group a,
.propera-footer .propera-footer__contact-group a:link,
.propera-footer .propera-footer__contact-group a:visited {
    color: rgba(255, 255, 255, 0.68) !important;
}

.propera-footer .propera-footer__contact-group a:hover,
.propera-footer .propera-footer__contact-group a:focus,
.propera-footer .propera-footer__contact-group a:active {
    color: #FFFFFF !important;
}


/* ---------- BOTTOM LINKS ---------- */

.propera-footer .propera-footer__bottom-links a,
.propera-footer .propera-footer__bottom-links a:link,
.propera-footer .propera-footer__bottom-links a:visited {
    color: rgba(255, 255, 255, 0.48) !important;
}

.propera-footer .propera-footer__bottom-links a:hover,
.propera-footer .propera-footer__bottom-links a:focus,
.propera-footer .propera-footer__bottom-links a:active {
    color: #FFFFFF !important;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.propera-footer .propera-footer__action,
.propera-footer .propera-footer__action:link,
.propera-footer .propera-footer__action:visited {
    color: #FFFFFF !important;
    text-decoration: none !important;
}


/* PRIMARY BUTTON */

.propera-footer .propera-footer__action--primary,
.propera-footer .propera-footer__action--primary:link,
.propera-footer .propera-footer__action--primary:visited {
    background-color: #92278F !important;
    border-color: #92278F !important;
    color: #FFFFFF !important;
}

.propera-footer .propera-footer__action--primary:hover,
.propera-footer .propera-footer__action--primary:focus,
.propera-footer .propera-footer__action--primary:active {
    background-color: #A936A3 !important;
    border-color: #A936A3 !important;
    color: #FFFFFF !important;
}


/* SECONDARY BUTTON */

.propera-footer .propera-footer__action--secondary,
.propera-footer .propera-footer__action--secondary:link,
.propera-footer .propera-footer__action--secondary:visited {
    background-color: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    color: #FFFFFF !important;
}

.propera-footer .propera-footer__action--secondary:hover,
.propera-footer .propera-footer__action--secondary:focus,
.propera-footer .propera-footer__action--secondary:active {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: #FFFFFF !important;
    color: #FFFFFF !important;
}


/* =========================================================
   SOCIAL BUTTONS
   ========================================================= */

.propera-footer .propera-footer__social,
.propera-footer .propera-footer__social:link,
.propera-footer .propera-footer__social:visited {
    background-color: transparent !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.propera-footer .propera-footer__social:hover,
.propera-footer .propera-footer__social:focus,
.propera-footer .propera-footer__social:active {
    background-color: #92278F !important;
    border-color: #92278F !important;
    color: #FFFFFF !important;
}


/* =========================================================
   FOOTER TEXT
   ========================================================= */

.propera-footer .propera-footer__title,
.propera-footer .propera-footer__contact-title {
    color: #FFFFFF !important;
}

.propera-footer .propera-footer__tagline {
    color: rgba(255, 255, 255, 0.68) !important;
}

.propera-footer .propera-footer__contact-group {
    color: rgba(255, 255, 255, 0.68) !important;
}

.propera-footer .propera-footer__contact-note {
    color: rgba(255, 255, 255, 0.48) !important;
}

.propera-footer .propera-footer__copyright {
    color: rgba(255, 255, 255, 0.48) !important;
}











/**
 * =========================================================
 * PROPERA FOOTER
 * =========================================================
 */


/* =========================================================
   VARIABLES
   ========================================================= */

.propera-footer {
    --footer-bg: #073F60;
    --footer-bg-dark: #063650;

    --footer-text: #FFFFFF;
    --footer-text-muted: rgba(255, 255, 255, 0.68);
    --footer-text-soft: rgba(255, 255, 255, 0.48);

    --footer-accent: #92278F;
    --footer-accent-hover: #A936A3;

    --footer-border: rgba(255, 255, 255, 0.14);

    --footer-radius: 18px;
}


/* =========================================================
   RESET / BASE
   ========================================================= */

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

.propera-footer {
    width: 100%;
    margin: 0;
    padding: 0;

    background: var(--footer-bg);
    color: var(--footer-text);

    font-family: inherit;
}

.propera-footer a {
    color: inherit;
    text-decoration: none;
}

.propera-footer p,
.propera-footer h3,
.propera-footer h4,
.propera-footer ul {
    margin: 0;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.propera-footer__container {
    width: min(100% - 80px, 1240px);
    margin: 0 auto;
}


/* =========================================================
   TOP
   ========================================================= */

.propera-footer__top {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    align-items: center;
    gap: 50px;

    padding: 58px 0 48px;
}


/* =========================================================
   BRAND
   ========================================================= */

.propera-footer__brand {
    min-width: 0;
}

.propera-footer__logo {
    display: flex;
    align-items: center;
}

.propera-footer__logo .custom-logo-link {
    display: inline-flex;
    align-items: center;
}

.propera-footer__logo .custom-logo {
    display: block;
    width: auto;
    max-width: 210px;
    max-height: 65px;

    object-fit: contain;

    filter: brightness(0) invert(1);
}

.propera-footer__text-logo {
    display: inline-block;

    font-size: 28px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.propera-footer__tagline {
    margin-top: 16px !important;

    max-width: 260px;

    color: var(--footer-text-muted);

    font-size: 15px;
    line-height: 1.5;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.propera-footer__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.propera-footer__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 0 22px;

    border-radius: 12px;

    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    white-space: nowrap;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.propera-footer__action:hover {
    transform: translateY(-2px);
}

.propera-footer__action--primary {
    background: var(--footer-accent);
    color: #FFFFFF;
}

.propera-footer__action--primary:hover {
    background: var(--footer-accent-hover);
    color: #FFFFFF;
}

.propera-footer__action--secondary {
    background: transparent;
    color: #FFFFFF;

    border: 1px solid rgba(255, 255, 255, 0.35);
}

.propera-footer__action--secondary:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #FFFFFF;
}


/* =========================================================
   SOCIALS
   ========================================================= */

.propera-footer__socials {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.propera-footer__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 42px;
    height: 42px;
    padding: 0 12px;

    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;

    color: rgba(255, 255, 255, 0.85);

    font-size: 12px;
    font-weight: 600;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.propera-footer__social:hover {
    background: var(--footer-accent);
    border-color: var(--footer-accent);

    color: #FFFFFF;

    transform: translateY(-2px);
}


/* =========================================================
   DIVIDER
   ========================================================= */

.propera-footer__top::after {
    content: "";
    display: none;
}


/* =========================================================
   MAIN CONTENT
   ========================================================= */

.propera-footer__content {
    display: grid;
    grid-template-columns: 0.85fr 0.85fr 1.3fr;
    gap: 70px;

    padding: 46px 0 54px;

    border-top: 1px solid var(--footer-border);
}


/* =========================================================
   COLUMNS
   ========================================================= */

.propera-footer__column {
    min-width: 0;
}

.propera-footer__title {
    margin-bottom: 24px !important;

    color: #FFFFFF;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;

    text-transform: uppercase;
    letter-spacing: 0.06em;
}


/* =========================================================
   LINKS
   ========================================================= */

.propera-footer__links {
    display: flex;
    flex-direction: column;
    gap: 11px;

    padding: 0;
    list-style: none;
}

.propera-footer__links li {
    margin: 0;
    padding: 0;
}

.propera-footer__links a {
    display: inline;

    color: var(--footer-text-muted);

    font-size: 14px;
    line-height: 1.45;

    transition:
        color 0.2s ease;
}

.propera-footer__links a:hover {
    color: #FFFFFF;
}


/* =========================================================
   CONTACTS
   ========================================================= */

.propera-footer__contact-group {
    color: var(--footer-text-muted);

    font-size: 14px;
    line-height: 1.55;
}

.propera-footer__contact-title {
    margin-bottom: 12px !important;

    color: #FFFFFF;

    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.propera-footer__contact-group p + p {
    margin-top: 14px !important;
}

.propera-footer__contact-group a {
    color: var(--footer-text-muted);

    transition: color 0.2s ease;
}

.propera-footer__contact-group a:hover {
    color: #FFFFFF;
}

.propera-footer__contact-note {
    color: var(--footer-text-soft);
    font-size: 12px;
}

.propera-footer__contact-divider {
    width: 100%;
    height: 1px;

    margin: 25px 0;

    background: var(--footer-border);
}


/* =========================================================
   BOTTOM
   ========================================================= */

.propera-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    min-height: 70px;

    border-top: 1px solid var(--footer-border);

    color: var(--footer-text-soft);

    font-size: 12px;
}

.propera-footer__bottom-links {
    display: flex;
    align-items: center;
    gap: 20px;
}

.propera-footer__bottom-links a {
    color: var(--footer-text-soft);

    transition: color 0.2s ease;
}

.propera-footer__bottom-links a:hover {
    color: #FFFFFF;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .propera-footer__container {
        width: min(100% - 50px, 1100px);
    }

    .propera-footer__top {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .propera-footer__socials {
        justify-content: flex-start;
    }

    .propera-footer__content {
        grid-template-columns: 1fr 1fr;
        gap: 50px 45px;
    }

    .propera-footer__column--contacts {
        grid-column: 1 / -1;
    }

    .propera-footer__contact-group {
        max-width: 620px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .propera-footer__container {
        width: min(100% - 32px, 600px);
    }


    /* TOP */

    .propera-footer__top {
        display: flex;
        flex-direction: column;
        align-items: flex-start;

        gap: 28px;

        padding: 42px 0 38px;
    }


    /* LOGO */

    .propera-footer__logo .custom-logo {
        max-width: 175px;
        max-height: 55px;
    }

    .propera-footer__tagline {
        margin-top: 12px !important;

        font-size: 14px;
    }


    /* ACTIONS */

    .propera-footer__actions {
        width: 100%;

        flex-direction: column;
        align-items: stretch;

        gap: 10px;
    }

    .propera-footer__action {
        width: 100%;
        min-height: 50px;
    }


    /* SOCIALS */

    .propera-footer__socials {
        width: 100%;

        justify-content: flex-start;
        flex-wrap: wrap;
    }


    /* CONTENT */

    .propera-footer__content {
        display: flex;
        flex-direction: column;

        gap: 38px;

        padding: 38px 0 42px;
    }


    /* COLUMNS */

    .propera-footer__title {
        margin-bottom: 18px !important;
    }

    .propera-footer__links {
        gap: 12px;
    }


    /* CONTACTS */

    .propera-footer__contact-group {
        font-size: 14px;
    }

    .propera-footer__contact-divider {
        margin: 24px 0;
    }


    /* BOTTOM */

    .propera-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        gap: 12px;

        min-height: auto;

        padding: 22px 0 25px;
    }

    .propera-footer__bottom-links {
        flex-wrap: wrap;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .propera-footer__container {
        width: min(100% - 24px, 600px);
    }

    .propera-footer__top {
        padding-top: 34px;
    }

    .propera-footer__action {
        font-size: 13px;
    }

    .propera-footer__social {
        height: 40px;
        min-width: 40px;
    }

}