/* =========================================================
   VÍA SUR · ESTILOS GLOBALES
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600&display=swap');


/* =========================================================
   MENÚ PRINCIPAL
   ========================================================= */

header nav a,
.navbar-nav > li > a,
.navbar-nav > li > a span,
.navbar a,
.main-menu a,
.menu a,
#menu a,
nav ul li a {
    font-family: 'Jost', Arial, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.7px !important;
    text-transform: uppercase !important;
    transition: color 0.25s ease !important;
}


/* DORADO AL PASAR EL RATÓN */

header nav a:hover,
.navbar-nav > li > a:hover,
.navbar a:hover,
.main-menu a:hover,
.menu a:hover,
#menu a:hover,
nav ul li a:hover {
    color: #c9a84d !important;
}


/* PESTAÑA ACTIVA */

.navbar-nav > li.active > a,
.navbar-nav > li.active > a span,
.navbar-nav > .active > a,
.menu .active > a,
.main-menu .active > a,
nav ul li.active > a {
    color: #c9a84d !important;
}


/* =========================================================
   QUITAR COMILLAS DECORATIVAS DE LA PÁGINA NUESTRO MÉTODO
   ========================================================= */

blockquote:has(.vs-metodo),
blockquote:has(.vs-metodo) *,
blockquote:has(.vs-metodo)::before,
blockquote:has(.vs-metodo)::after {
    quotes: none !important;
}

blockquote:has(.vs-metodo) {
    border: 0 !important;
    border-left: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background-image: none !important;
}

blockquote:has(.vs-metodo)::before,
blockquote:has(.vs-metodo)::after {
    content: "" !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    background: none !important;
    background-image: none !important;
}


/* Refuerzo para iconos de cita que pueda generar la plantilla */

.quote:has(.vs-metodo)::before,
.quote:has(.vs-metodo)::after,
.cita:has(.vs-metodo)::before,
.cita:has(.vs-metodo)::after {
    content: "" !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}/* =========================================================
   FOOTER GLOBAL · VÍA SUR
   ========================================================= */

#viasur-footer,
#viasur-footer * {
    box-sizing: border-box;
}

#viasur-footer {
    width: 100%;
    background: #151515;
    color: #fff;
    font-family: 'Montserrat', Arial, sans-serif !important;
    margin: 0;
}

/* CTA SUPERIOR */

.vsf-cta {
    text-align: center;
    padding: 52px 20px 48px;
    position: relative;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(244,194,29,.10),
            transparent 58%
        ),
        #1b1b1b;

    border-bottom: 1px solid rgba(255,255,255,.07);
}

.vsf-cta:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 2px;

    background: linear-gradient(
        90deg,
        transparent,
        #f4c21d,
        transparent
    );
}

.vsf-mini {
    color: #f4c21d;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.vsf-cta h2 {
    margin: 9px 0 9px !important;
    color: #fff !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 32px;
    font-weight: 600;
}

.vsf-cta p {
    margin: 0 auto 23px !important;
    max-width: 620px;
    color: rgba(255,255,255,.62) !important;
    font-size: 14px;
    line-height: 1.7;
}

.vsf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 47px;
    padding: 0 26px;

    background: #f4c21d;
    color: #171717 !important;

    text-decoration: none !important;
    text-transform: uppercase;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;

    border-radius: 3px;
    transition: .25s;
}

.vsf-btn:hover {
    background: #ffd536;
    transform: translateY(-2px);
}


/* CUERPO DEL FOOTER */

.vsf-main {
    max-width: 1180px;
    margin: auto;
    padding: 52px 25px 46px;

    display: grid;
    grid-template-columns: 1.35fr .8fr 1fr;
    gap: 65px;
}


/* MARCA */

.vsf-logo {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 17px;
}

.vsf-logo-icon {
    width: 58px;
    height: 58px;
}

.vsf-logo-text {
    line-height: 1;
}

.vsf-logo-text strong {
    display: block;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .5px;
}

.vsf-logo-text span {
    display: block;
    margin-top: 6px;
    color: #f4c21d;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 4px;
}

.vsf-lema {
    color: #f4c21d;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 10px;
}

.vsf-desc {
    max-width: 340px;
    margin: 0 !important;
    color: rgba(255,255,255,.54) !important;
    font-size: 13px;
    line-height: 1.75;
}


/* COLUMNAS */

.vsf-col h3 {
    margin: 0 0 19px !important;
    color: #fff !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.vsf-links {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
}

.vsf-links li {
    margin-bottom: 11px;
}

.vsf-links a {
    color: rgba(255,255,255,.62) !important;
    text-decoration: none !important;
    font-size: 13px;
    transition: .2s;
}

.vsf-links a:hover {
    color: #f4c21d !important;
}


/* CONTACTO */

.vsf-contact {
    margin-bottom: 15px;
}

.vsf-contact small {
    display: block;
    margin-bottom: 4px;
    color: rgba(255,255,255,.35);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.vsf-contact a,
.vsf-contact span {
    color: rgba(255,255,255,.76) !important;
    text-decoration: none !important;
    font-size: 13px;
}

.vsf-contact a:hover {
    color: #f4c21d !important;
}

.vsf-whatsapp {
    display: inline-block;
    margin-top: 7px;
    padding: 11px 16px;

    border: 1px solid rgba(244,194,29,.35);
    border-radius: 3px;

    color: #fff !important;
    text-decoration: none !important;

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

    transition: .25s;
}

.vsf-whatsapp:hover {
    background: #f4c21d;
    color: #171717 !important;
}


/* FRANJA INFERIOR */

.vsf-bottom {
    background: #111;
    border-top: 1px solid rgba(255,255,255,.06);
}

.vsf-bottom-inner {
    max-width: 1180px;
    margin: auto;
    padding: 18px 25px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.vsf-copy {
    color: rgba(255,255,255,.36);
    font-size: 10px;
}

.vsf-legal {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.vsf-legal a {
    color: rgba(255,255,255,.40) !important;
    text-decoration: none !important;
    font-size: 10px;
}

.vsf-legal a:hover {
    color: #f4c21d !important;
}


/* TABLET */

@media(max-width: 900px) {

    .vsf-main {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .vsf-brand {
        grid-column: 1 / -1;
    }
}


/* MÓVIL */

@media(max-width: 620px) {

    .vsf-cta {
        padding: 42px 20px;
    }

    .vsf-cta h2 {
        font-size: 26px;
    }

    .vsf-btn {
        width: 100%;
        max-width: 320px;
    }

    .vsf-main {
        display: block;
        padding: 42px 22px 34px;
    }

    .vsf-brand {
        margin-bottom: 36px;
    }

    .vsf-col {
        padding: 27px 0 10px;
        border-top: 1px solid rgba(255,255,255,.07);
    }

    .vsf-bottom-inner {
        display: block;
        text-align: center;
    }

    .vsf-legal {
        justify-content: center;
        margin-top: 12px;
    }
}/* OCULTAR FOOTER ORIGINAL DE INMOVILLA */
body > footer:not(#viasur-footer) {
    display: none !important;
}/* OCULTAR PIE ORIGINAL DE INMOVILLA */
footer.modulo-pie {
    display: none !important;
}/* ===== FOOTER SIMPLE VÍA SUR ===== */

/* Ocultar pie antiguo y "Disenado por CRM Inmovilla" */
footer.modulo-pie,
#modulo-disenyoadminmovilla-1 {
    display: none !important;
}

#viasur-footer {
    background: #151515;
    color: #ffffff;
    font-family: 'Montserrat', Arial, sans-serif !important;
    border-top: 1px solid rgba(244,194,29,0.22);
}

#viasur-footer * {
    box-sizing: border-box;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.vs-simple-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 28px 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}

.vs-simple-brand img {
    height: 52px;
    width: auto;
    display: block;
    margin-bottom: 8px;
}

.vs-simple-tag {
    color: #f4c21d;
    font-size: 12px;
    font-weight: 600;
}

.vs-simple-contact {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.vs-simple-contact a,
.vs-simple-contact span {
    color: rgba(255,255,255,0.82) !important;
    text-decoration: none !important;
    font-size: 13px;
}

.vs-simple-contact a:hover {
    color: #f4c21d !important;
}

.vs-simple-legal {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.vs-simple-legal a {
    color: rgba(255,255,255,0.72) !important;
    text-decoration: none !important;
    font-size: 12px;
}

.vs-simple-legal a:hover {
    color: #f4c21d !important;
}

.vs-simple-copy {
    border-top: 1px solid rgba(255,255,255,0.08);
    text-align: center;
    padding: 12px 20px 14px;
    color: rgba(255,255,255,0.45);
    font-size: 10px;
}

@media(max-width: 768px) {
    .vs-simple-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .vs-simple-legal {
        justify-content: flex-start;
    }
}#viasur-footer .vs-simple-legal{
    display:none !important;
}