/* ==========================================================================
   ESTILOS GENERALES
   ========================================================================== */

body,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Inter', sans-serif;
}

/* =========================
   🔴 ESTADOS DE ERROR
========================= */
.field-error {
    border-color    : #dc3545 !important;
    background-color: transparent;
}

/* Contenedor en error (checkbox) */
.form-field.field-error {
    border          : 1px solid #dc3545;
    border-radius   : 6px;
    padding         : 10px;
    background-color: transparent;
}

/* Mensaje de error */
.error-msg {
    font-size : 10px;
    color     : #dc3545;
    margin-top: 4px;
    display   : block;
    animation : fadeIn 0.2s ease;
}



.card-img-overlay .row .col-md-12 .contact-form-card .cf7-dynamic-form .d-flex a {
    text-decoration: underline;
}

/* Por defecto, ocultamos todos los banners */

.banner-movil,
.banner-web {
    display: none;
}

.copyrights {
    display        : flex;
    justify-content: center;
}

.copyrights>a {
    font-size      : 0.8em;
    color          : #FFFFFF;
    display        : flex;
    width          : 100%;
    align-items    : center;
    justify-content: center;
}

.copyrights>a img {
    width: 10%;
}

.copyrights a:focus,
.copyrights a:active {
    color: #FFFFFF;
}

.copyrights a:hover {
    color          : #FFFFFF;
    text-decoration: none;
}

/* ==========================================================================
   SECCIÓN 1: BANNER & FORMULARIO DE CONTACTO
   ========================================================================== */

.banner-proyectos {
    width : auto;
    height: 100%;
}

.contact {
    display        : flex;
    justify-content: end;
}

.site-footer .contact {
    display        : flex;
    justify-content: start;
}

.contact-form-card {
    background   : var(--form-background-color);
    border-radius: 25px;
    box-shadow   : 0 20px 60px rgba(0, 0, 0, .08);
}

.contact-form-card--sm {
    width         : 360px;
    height        : max-content;
    padding       : 25px 20px;
    display       : flex;
    flex-direction: column;
}

.form-title {
    font-family  : Inter;
    font-size    : 20px;
    font-weight  : 700;
    margin-bottom: 18px;
}

.form-steps-indicator {
    display        : flex;
    align-items    : center;
    justify-content: space-between;
    margin         : 5px 0 10px;
    position       : relative;
}

.step {
    display       : flex;
    flex-direction: column;
    align-items   : center;
    text-align    : center;
    width         : 100px;
    z-index       : 2;
}

.step-number {
    width          : 25px;
    height         : 25px;
    border-radius  : 50%;
    display        : flex;
    align-items    : center;
    justify-content: center;
    background     : var(--form-color_paso_inactivo);
    color          : var(--form-color_texto_botones);
    font-weight    : 700;
    font-size      : 10px;
    border         : 3px solid rgba(255, 255, 255, .6);
}

.step.active .step-number {
    background: var(--form-color_paso_activo);
    color     : #FFFFFF;
}

.step-label {
    margin-top: 6px;
    font-size : 10px;
    color     : var(--form-label-color, #FFFFFF);
}

.step-line {
    position  : absolute;
    left      : 92px;
    right     : 92px;
    height    : 1px;
    background: var(--form-label-color, #FFFFFF);
    top       : 15px;
}

label {
    color        : var(--form-label-color, #FFFFFF);
    margin-bottom: 0;
    font-size    : 0.6rem;
}

.form-grid {
    display  : flex;
    flex-wrap: wrap;
    gap      : 12px;
}

.col-100 {
    width: 100%;
}

.col-50 {
    width: calc(50% - 6px);
}

.cf7-dynamic-form input[type="text"],
.cf7-dynamic-form input[type="tel"],
.cf7-dynamic-form input[type="email"],
.cf7-dynamic-form input[type="number"],
.cf7-dynamic-form input[type="select"],
.cf7-dynamic-form textarea {
    width        : 100%;
    padding      : 8px;
    border-radius: 5px;
    border       : 1px solid var(--form-border-color);
    background   : var(--form-input-bg, transparent);
    font-size    : 10px;
    color        : var(--form-input-color) !important;
}

.cf7-dynamic-form select {
    width        : 100%;
    padding      : 8px;
    border-radius: 5px;
    border       : 1px solid var(--form-border-color);
    background   : var(--form-input-bg, transparent);
    font-size    : 10px;
    color        : var(--form-placeholder-color) !important;
}


textarea {
    min-height: 80px;
}

.cf7-dynamic-form .select-wrapper {
    position: relative;
    display : inline-block;
    width   : 100%;
}

.cf7-dynamic-form select {
    color             : var(--form-input-color);
    -webkit-appearance: none;
    -moz-appearance   : none;
    appearance        : none;
    background-color  : var(--form-input-bg, transparent) !important;
    padding-right     : 42px;
    /* espacio para la flecha */
    width             : 100%;
}

.cf7-dynamic-form .select-arrow {
    position      : absolute;
    right         : 16px;
    top           : 50%;
    transform     : translateY(-50%);
    pointer-events: none;
    /* evita que bloquee el clic */
    color         : var(--form-placeholder-color);
}

select option {
    color: #000;
}

.form-checkbox {
    display    : flex;
    align-items: center;
    gap        : 8px;
    font-size  : 12px;
}

.btn-next {
    background   : var(--form-color_botones);
    color        : var(--form-color_texto_botones);
    padding      : 5px 35px;
    border-radius: 40px;
    font-size    : 12px;
    font-weight  : bold;
    border       : none;
    cursor       : pointer;
    float        : right;
    margin-top   : 18px;
}

.wpcf7-submit {
    background   : var(--form-color_botones) !important;
    width        : 140px !important;
    color        : var(--form-color_texto_botones) !important;
    padding      : 10px 22px !important;
    font-size    : 16px !important;
    font-weight  : bold !important;
    border-radius: 40px !important;
    border       : none !important;
    cursor       : pointer !important;
    float        : right !important;
    margin-top   : 18px !important;
}

.btn-next:hover,
.wpcf7-submit:hover {
    opacity: .9 !important;
}

.form-step {
    transition: all .3s ease;
}

.cf7-dynamic-form input::placeholder,
.cf7-dynamic-form textarea::placeholder {
    color  : var(--form-placeholder-color);
    opacity: 1;
}

.cf7-dynamic-form input::-webkit-input-placeholder,
.cf7-dynamic-form textarea::-webkit-input-placeholder {
    color  : var(--form-placeholder-color);
    opacity: 1;
}

.cf7-dynamic-form input::-moz-placeholder,
.cf7-dynamic-form textarea::-moz-placeholder {
    color  : var(--form-placeholder-color);
    opacity: 1;
}

.cf7-dynamic-form input:-ms-input-placeholder,
.cf7-dynamic-form textarea:-ms-input-placeholder {
    color: var(--form-placeholder-color);
}

.cf7-dynamic-form select {
    color: var(--form-placeholder-color);
}

.cf7-dynamic-form select:invalid {
    color: var(--form-placeholder-color);
}

.cf7-dynamic-form select option {
    color: #000;
}

.step-2 .form-field .d-flex label {
    color      : var(--form-label-color);
    font-size  : 8px;
    font-style : normal;
    font-weight: 500;
    line-height: normal;
}

.step-2 .form-field .d-flex label a {
    color      : var(--form-label-color);
    font-size  : 8px;
    font-style : bold;
    font-weight: 500;
    line-height: normal;
}

.wpcf7 form.sent .wpcf7-response-output {
    margin      : 5em 0.5em 1em !important;
    padding     : 0.2em 1em !important;
    border      : 2px solid var(--form-label-color) !important;
    color       : var(--form-label-color) !important;
    border-color: var(--form-label-color) !important;
}

.field-error {
    border: 2px solid #ff4d4f !important;
}


/* ==========================================================================
   SECCIÓN 2: CONTENIDO PROYECTO
   ========================================================================== */

.contenido-proyecto {
    width : auto;
    height: 100vh;
}

.fondo-responsive{
    background-image: var(--bg-desktop);
    background-size: cover;
    background-position: center;
    height: 100vh;
}

.texto-titulo {
    color      : #0746C4;
    font-size  : 45px;
    font-weight: 700;
    line-height: normal;
}


/* ==========================================================================
   SECCIÓN 3: DESCRIPCIÓN PROYECTO & DIVISAS
   ========================================================================== */

.card-proyecto {
    position: relative;
    border  : none;
    height  : 735px;
}


.overlay-proyecto {
    background-color: rgba(255, 255, 255, 0.5);
    position        : absolute;
    top             : 0;
    left            : 0;
    right           : 0;
    bottom          : 0;
    display         : flex;
    justify-content : center;
    align-items     : center;
    text-align      : center;
}

.descripcion-textos {
    max-width: 80%;
}

.titulo-proyecto {
    color      : #515151;
    text-align : center;
    align-self : stretch;
    font-size  : 38px;
    font-style : normal;
    font-weight: 700;
}

.subtitulo-proyecto {
    color      : #515151;
    font-size  : 18px;
    align-self : stretch;
    font-style : normal;
    font-weight: 400;
}

.desc-un {
    color      : #515151;
    text-align : justify;
    align-self : stretch;
    font-size  : 26px;
    font-style : normal;
    font-weight: 600;
    line-height: 30px;
}

.desc-dos {
    color      : #515151;
    text-align : justify;
    align-self : stretch;
    font-size  : 18px;
    font-style : normal;
    font-weight: 400;
    line-height: 20px;
}

.card-proyecto .overlay-proyecto .d-sm-block {
    background-color: #FFFFFF;
    border-radius   : 20px;
}

.card-proyecto .overlay-proyecto h2 {
    color      : #515151;
    font-family: Inter;
    font-size  : 40px;
    font-style : normal;
    font-weight: 700;
    line-height: 122.178%;
}

.btn-divisas {
    background-color: #D9D9D9;
    color           : #515151;
    font-size       : 20px;
    font-style      : normal;
    font-weight     : 500;
    padding         : 0px 10px;
}

.btn-divisas.active {
    background-color: #0746C4;
    color           : #fffFFF;
}

#precio-divisa {
    color      : #515151;
    font-size  : 30px;
    font-style : normal;
    font-weight: 400;
    line-height: 122.178%;
}

/* ==========================================================================
   SECCIÓN 4: GALERÍA
   ========================================================================== */

section.galeria {
    background-color: #FFFFFF;
    height          : auto;
}

.galeria h2 {
    color      : #0746C4;
    font-weight: bold;
}

.div-btn-g button {
    background-color: #0746C4 !important;
    color           : #FFFFFF !important;
    font-size       : 0.9rem;
    border-radius   : 10px !important;
    font-weight     : bold;
}

.div-btn-g button.nav-link {
    position: relative;
    z-index : 1;
    width   : 100%;
}

.div-btn-g button.nav-link.active::before {
    content         : "";
    position        : absolute;
    inset           : 0;
    background-color: var(--azul);
    z-index         : -1;
    opacity         : 0.7;
    filter          : brightness(0.5);
    border-radius   : 10px !important;
}

.image-wrapper {
    position: relative;
    display : inline-block;
    width   : 33.3%;
    padding : 0 0.4rem 0.7rem 0.4rem;
    overflow: hidden;
}

.image-wrapper a::before {
    content         : '';
    position        : absolute;
    top             : 0;
    left            : 6px;
    width           : 96.7%;
    height          : 95.5%;
    background-color: rgba(0, 0, 0, 0.6);
    opacity         : 0;
    transition      : opacity .3s ease;
    z-index         : 1;
}

.icon-overlay {
    position  : absolute;
    top       : 50%;
    left      : 50%;
    transform : translate(-50%, -50%);
    font-size : 2rem;
    color     : #FFFFFF;
    opacity   : 0;
    transition: opacity .3s ease;
    z-index   : 2;
}

.image-wrapper:hover a::before,
.image-wrapper:hover .icon-overlay {
    opacity: 1;
}

.tab-video-galeria .video-container-slide {
    width        : 100%;
    position     : relative;
    overflow     : hidden;
    border-radius: 20px;
    cursor       : pointer;
}

.tab-video-galeria .video-container-slide.video-desktop {
    aspect-ratio: 16 / 9;
    display     : block;
}

.tab-video-galeria .video-container-slide.video-normal {
    aspect-ratio: 16 / 9;
    display     : none;
}

.tab-video-galeria .video-container-slide.video-short {
    aspect-ratio: 9 / 16;
    max-width   : 300px;
    margin      : 0 auto;
    display     : none;
}

.tab-video-galeria .video-thumbnail {
    width     : 100%;
    height    : 100%;
    object-fit: cover;
    display   : block;
}

.tab-video-galeria .video-container-slide iframe {
    width : 100%;
    height: 100%;
}

.tab-video-galeria .play-icon {
    position : absolute;
    top      : 50%;
    left     : 50%;
    transform: translate(-50%, -50%);
    z-index  : 2;
}

/* ==========================================================================
   SECCIÓN 5: ZONAS SOCIALES
   ========================================================================== */

.zonas-sociales {
    height          : 100vh;
    background-color: #EAE8E8;
}

.zonas-sociales h2 {
    color      : #0746C4;
    font-weight: bold;
}

.img_zonas {
    position: relative;
    overflow: hidden;
}

.container-sociales {
    background-color: #FFFFFF;
    filter          : drop-shadow(6px 4px 15.3px rgba(0, 0, 0, 0.25));
}

.item-iconost {
    width          : 25%;
    height         : 33.3%;
    display        : flex;
    flex-direction : column;
    align-items    : center;
    justify-content: center;
    transition     : background-color 0.3s ease, color 0.3s ease;
}

.item-iconost.items-6 {
    width: 33.3% !important;
}

.item-iconost img {
    width     : 23.5%;
    transition: transform 0.3s ease, filter 0.3s ease;
    transform : scale(1);
}

.item-iconost span {
    font-size  : 0.9rem;
    line-height: 1.1;
    color      : var(--azul);
    transition : color 0.3s ease;
}

.item-iconost:hover {
    background-color: #0746C4;
}

.item-iconost:hover img {
    transform: scale(1.3);
    filter   : brightness(0) invert(1);
}

.item-iconost:hover span {
    color      : #FFFFFF;
    font-weight: bold;
}

/* ==========================================================================
   SECCIÓN 6: NOVEDADES (VIDEO SLIDE)
   ========================================================================== */

.novedades {
    height  : auto;
    position: relative;
    z-index : 1;
}

.novedades h2 {
    color      : #0746C4;
    text-align : center;
    font-size  : 30px;
    font-weight: 700;
}

.novedades-video-row {
    height: auto;
}

.novedades .video-container-slide {
    width        : 100%;
    position     : relative;
    overflow     : hidden;
    cursor       : pointer;
}

.novedades .video-container-slide.video-desktop {
    aspect-ratio: 16 / 9;
    display     : block;
}

.novedades .video-container-slide.video-normal {
    aspect-ratio: 16 / 9;
    display     : none;
}

.novedades .video-container-slide.video-short {
    aspect-ratio: 9 / 16;
    max-width   : 420px;
    margin      : 0 auto;
    display     : none;
}

.novedades .video-thumbnail {
    width     : 100%;
    height    : 100%;
    object-fit: cover;
    display   : block;
}

.novedades .video-container-slide iframe {
    width : 100%;
    height: 100%;
}

.novedades .play-icon {
    position : absolute;
    top      : 50%;
    left     : 50%;
    transform: translate(-50%, -50%);
    z-index  : 2;
}

/* ==========================================================================
   SECCIÓN 7: TESTIMONIOS
   ========================================================================== */

.testimonios {
    background-color: #EAE8E8;
}

.testimonios h2 {
    color      : #0746C4;
    font-weight: bold;
}

.testimonios .row-testi {
    background-color: #FFFFFF;
    border-radius   : 30px;
}

.testimonios .item-testi .card {
    border          : none;
    background-color: transparent;
}

.testimonios .item-testi p.parrafo {
    font-size  : 1rem;
    line-height: 1.2;
}

.testimonios .estrellas {
    gap: 10px;
}

.testimonios .estrellas img {
    width: 9%;
}

.testimonios .slick-arrow {
    position  : absolute;
    z-index   : 9;
    border    : none;
    background: transparent;
    bottom    : 50%;
    transform : translate(-50%, 50%);
}

.testimonios button.f-prev.slick-arrow {
    right: -45px;
}

.testimonios button.f-next.slick-arrow {
    left: 0;
}


/* ==========================================================================
   SECCIÓN 8: UBICACIÓN
   ========================================================================== */

.ubica h2 {
    color      : #0746C4;
    font-weight: bold;
}

.google-map iframe {
    width    : 100%;
    max-width: 100% !important;
}

a.btn-waze {
    background-color: #32CCFE;
    display         : inline;
    color           : #FFFFFF;
    padding         : 11px 5px 12px 20px;
    border-radius   : 50px;
    font-size       : 0.9rem;
    font-weight     : 500;
}

a.btn-waze img,
a.btn-gmaps img {
    width: 10%;
}

a.btn-gmaps {
    background-color: var(--azul);
    display         : inline;
    color           : #FFFFFF;
    padding         : 10px 5px 10px 20px;
    border-radius   : 50px;
    font-size       : 0.9rem;
    font-weight     : 500;
}


/* ==========================================================================
   SECCIÓN 9: TIPO APARTAMENTO
   ========================================================================== */

.tipo-apto h2 {
    color      : #0746C4;
    font-weight: bold;
}

#sliderTipoApto {
    border-radius: 20px;
    box-shadow   : 0px 0px 10px 5px rgba(0, 0, 0, 0.1);
}

#sliderTipoApto .item-tapto img {
    width  : 85%;
    margin : auto;
    display: block;
}

#sliderTipoApto button.slick-arrow {
    position  : absolute;
    z-index   : 9;
    border    : none;
    background: transparent;
    bottom    : 50%;
    transform : translate(-50%, 50%);
}

#sliderTipoApto button.f-prev.slick-arrow {
    right: -40px;
}

#sliderTipoApto button.f-next.slick-arrow {
    left: 20px;
}

#sliderTipoApto .slick-dots {
    bottom   : 28px;
    transform: translate(-50%, 50%);
    left     : 50%;
}

#sliderTipoApto .slick-dots li button {
    background-color: #0746C4;
    border-radius   : 50%;
    width           : 20px;
    height          : 20px;
    position        : relative;
    padding         : 0;
}

#sliderTipoApto .slick-dots li button:before {
    content  : "";
    font-size: 0;
}

#sliderTipoApto .slick-dots li button::after {
    content      : "";
    position     : absolute;
    width        : 15px;
    height       : 15px;
    background   : #FFFFFF;
    border-radius: 50%;
    top          : 50%;
    left         : 50%;
    transform    : translate(-50%, -50%);
}

#sliderTipoApto .slick-dots li.slick-active button {
    background-color: #0746C4;
}

#sliderTipoApto .slick-dots li.slick-active button::after {
    display: none;
}

#sliderTipoApto .slick-dots li {
    margin: 0 6px;
}




/* ==========================================================================
   DISEÑO RESPONSIVO (MEDIA QUERIES)
   ========================================================================== */

/* ------------------------------------------------------------------
   BREAKPOINT: ≤ 767px  → mostrar banner móvil, ocultar banner web
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
    .banner-movil {
        display: block;
    }

}

/* ------------------------------------------------------------------
   BREAKPOINT: ≥ 768px  → mostrar banner web, ocultar banner móvil
   ------------------------------------------------------------------ */
@media (min-width: 768px) {

    .banner-web {
        display: block;
    }

    .descripcion-proyecto .col-md-8 {
        max-width: 50%;
    }
}

/* ------------------------------------------------------------------
   BREAKPOINT: ≤ 768px  → ajustes generales de layout en tablet/móvil
   ------------------------------------------------------------------ */
@media (max-width: 768px) {

    /* Formulario de contacto */
    .contact-form-card--sm {
        width : auto;
        height: auto;
        margin: 20px 0 0 0;
    }

    .col-50 {
        width: 100%;
    }

    /* Banner overlay */
    .card-img-overlay {
        position: relative !important;
        top     : auto !important;
        left    : auto !important;
        right   : auto !important;
        bottom  : auto !important;
        padding : 0;
    }

    .banner-card {
        display       : flex;
        flex-direction: column;
    }

    section.galeria {
        height: auto;
    }

    .wpcf7-submit {
        float  : none !important;
        display: block;
        margin : 18px auto 0 auto;
        width  : auto !important;
    }
}



/* ------------------------------------------------------------------
   BREAKPOINT: 426px – 625px  (pantallas pequeñas / móvil grande)
   ------------------------------------------------------------------ */
@media (max-width: 625px) and (min-width: 426px) {

    /* --- SECCIÓN 1: BANNER & FORMULARIO --- */
    .container-contact {
        margin: 0 !important;
    }

    .contact {
        padding-right: 100px;
        padding-left : 100px;
    }

    .contact-form-card.contact-form-card--sm {
        transform: none !important;
        margin   : 12px !important;
    }

    .step-line {
        left : 115px;
        right: 115px;
    }

    .step-title-header {
        color: var(--form-label-color);
    }

    .step-title-footer {
        color: var(--form-label-color2);
    }

    .btn-next {
        float  : none !important;
        margin : 18px auto 0 auto;
        display: block;
    }

    .galeria h2,
    .zonas-sociales h2,
    .novedades h2,
    .testimonios h2,
    .ubica h2,
    .tipo-apto h2 {
        font-size: 24px;
    }

    /* --- SECCIÓN 2: CONTENIDO PROYECTO --- */
    .card-proyecto {
        height: 600px !important;
    }

    .contenido-proyecto,
    .contenido-proyecto .card {
        height: 100vh !important;
    }

    .contenido-proyecto .card {
        background-size: cover !important;
    }

    .contenido-proyecto .card-img-overlay {
        height: 100%;
    }

    .contenido-proyecto .card-img-overlay .texto-titulo {
        font-size: 22px;
        padding  : 0 40px;
        transform: translateY(-100%);
    }

    /* --- SECCIÓN 3: DESCRIPCIÓN & DIVISAS --- */
    .overlay-proyecto .descripcion-textos {
        width: 95% !important;
    }

    .overlay-proyecto .descripcion-textos .titulo-proyecto {
        font-size: 32px;
    }

    .overlay-proyecto .descripcion-textos .subtitulo-proyecto {
        font-size  : 16px;
        line-height: 20px;
    }

    .overlay-proyecto .descripcion-textos .desc-un {
        font-size  : 20px;
        line-height: 24px;
    }

    .overlay-proyecto .descripcion-textos .desc-dos {
        font-size  : 16px;
        line-height: 20px;
    }

    .overlay-proyecto {
        padding: 120px 0;
    }

    .overlay-proyecto .col-6 h2 {
        font-size: 24px;
    }

    .overlay-proyecto #precio-divisa {
        font-size: 20px;
    }

    .overlay-proyecto .btn-divisas,
    .btn-divisas {
        font-size: 14px;
        padding  : 2px 8px;
        margin   : 0 8px;
    }

    .divisas {
        flex-wrap: nowrap !important;
    }

    /* --- SECCIÓN 4: GALERÍA --- */
    section.galeria {
        height: auto;
    }

    .image-wrapper {
        width  : 50% !important;
        padding: 0 0.2rem 0.4rem 0.2rem;
    }

    .div-btn-g button {
        font-size: 0.8rem;
        width    : 120px;
    }

    .content-video {
        margin-right: 0px !important;
        margin-left : 0px !important;
    }

    /* --- SECCIÓN 5: ZONAS SOCIALES — layout en columna --- */
    .zonas-sociales {
        height: auto;
    }

    .zonas-sociales .row {
        flex-direction: column;
    }

    .zonas-sociales .img_zonas {
        width  : 100%;
        padding: 0;
    }

    .zonas-sociales .img_zonas img {
        width  : 100%;
        height : auto;
        display: block;
    }

    .zonas-sociales .col-sm-6,
    .zonas-sociales .pl-sm-0 {
        max-width: 100% !important;
        flex     : 0 0 100% !important;
        padding  : 0;
    }

    .container-sociales {
        flex-wrap: wrap;
        height   : auto !important;
    }

    .item-iconost {
        width : 25% !important;
        height: auto;
    }

    .item-iconost.items-6 {
        width: 33.3% !important;
    }

    .item-iconost span {
        font-size: 0.85rem !important;
    }

    /* --- SECCIÓN 6: NOVEDADES --- */
    .novedades .novedades-video-row {
        height       : auto !important;
        padding-left : 1rem !important;
        padding-right: 1rem !important;
        margin-bottom: 2rem !important;
    }

    .novedades .video-container-slide.video-desktop,
    .tab-video-galeria .video-container-slide.video-desktop {
        display: none;
    }

    .novedades .video-container-slide.video-short,
    .novedades .video-container-slide.video-normal,
    .tab-video-galeria .video-container-slide.video-short,
    .tab-video-galeria .video-container-slide.video-normal {
        display: block;
    }


    /* --- SECCIÓN 7: TESTIMONIOS --- */
    .testimonios .item-testi p.parrafo {
        text-align: center;
    }

    .testimonios .item-testi h6.nombre,
    .testimonios .item-testi div.estrella {
        text-align: center;
        width     : 100%;
    }

    .testimonios button.f-next.slick-arrow {
        left: -81px;
    }

    .testimonios button.f-prev.slick-arrow {
        right: -143px;
    }

    /* --- COPYRIGHTS --- */
    .copyrights>a {
        font-size: 0.65em;
    }

    .copyrights>a img {
        width: 25%;
    }
}


/* ------------------------------------------------------------------
   BREAKPOINT: ≤ 425px  (móvil pequeño)
   ------------------------------------------------------------------ */
@media (max-width: 425px) {

    /* --- SECCIÓN 1: BANNER & FORMULARIO --- */
    .container-contact {
        margin: 0 !important;
    }

    .contact-form-card.contact-form-card--sm {
        transform: none !important;
        margin   : 12px !important;
    }

    .step-line {
        left : 30%;
        right: 30%;
    }

    .btn-next {
        float  : none !important;
        margin : 18px auto 0 auto;
        display: block;
    }

    .wpcf7-submit {
        float  : none !important;
        display: block;
        margin : 18px auto 0 auto;
        width  : auto !important;
    }

    .galeria h2,
    .zonas-sociales h2,
    .novedades h2,
    .testimonios h2,
    .ubica h2,
    .tipo-apto h2 {
        font-size: 20px;
    }

    /* --- SECCIÓN 2: CONTENIDO PROYECTO --- */
    .contenido-proyecto .card-img-overlay {
        height: 100%;
    }

    .contenido-proyecto .card-img-overlay .texto-titulo {
        font-size  : 17px;
        font-style : normal;
        font-weight: 600;
        transform  : translateY(-100%);
        padding    : 0 35px;
    }

    /* --- SECCIÓN 3: DESCRIPCIÓN & DIVISAS --- */
    .card-proyecto {
        height: 546px !important;
    }

    .fondo-responsive{
        background-image: var(--bg-mobile);
    }

    .overlay-proyecto .descripcion-textos {
        width: 100% !important;
    }

    .overlay-proyecto .descripcion-textos .titulo-proyecto {
        font-size: 25px;
    }

    .overlay-proyecto .descripcion-textos .subtitulo-proyecto {
        font-size  : 15px;
        line-height: 18px;
    }

    .overlay-proyecto .descripcion-textos .desc-un {
        font-size  : 17px;
        line-height: 18px;
    }

    .overlay-proyecto .descripcion-textos .desc-dos {
        font-size  : 15px;
        line-height: 18px;
    }

    .overlay-proyecto .col-6 {
        flex          : none;
        padding-bottom: 20px;
    }

    .overlay-proyecto .col-6 h2 {
        font-size: 20px;
    }

    .overlay-proyecto #precio-divisa {
        font-size: 15px;
    }

    .overlay-proyecto .btn-divisas {
        font-size: 12px;
        padding  : 0 5px;
        margin   : 0 5px;
    }

    /* --- SECCIÓN 4: GALERÍA --- */
    section.galeria {
        height: auto;
    }

    .galeria .nav {
        flex-wrap: nowrap;
    }

    .image-wrapper {
        width  : 50% !important;
        padding: 0 0.1rem 0.2rem 0.1rem;
    }

    .div-btn-g button {
        font-size: 0.6rem;
        width    : 100px;
        height   : auto;
    }

    .nav-link {
        padding    : 0 5px;
        line-height: normal;
    }


    .div-btn-g button.nav-link {
        margin: 0 2px;
    }

    .content-video {
        margin-right: 0px !important;
        margin-left : 0px !important;
    }

    /* --- SECCIÓN 5: ZONAS SOCIALES --- */

    .zonas-sociales {
        height: auto;
    }

    .zonas-sociales .row {
        flex-direction: column;
    }

    .zonas-sociales .col-sm-6,
    .zonas-sociales .pl-sm-0 {
        max-width: 100% !important;
        flex     : 0 0 100% !important;
        padding  : 0;
    }

    .zonas-sociales h2 {
        padding-top: 2.5rem;
    }

    .img_zonas {
        padding-bottom: 0 !important;
    }

    .container-sociales {
        flex-wrap: wrap;
        height   : auto !important;
    }

    .item-iconost {
        width : 25% !important;
        height: auto;
    }

    .item-iconost.items-6 {
        width: 33.3% !important;
    }

    .item-iconost span {
        font-size    : 0.8rem !important;
        padding-left : 0.5rem;
        padding-right: 0.5rem;
        height       : 28px;
    }

    /* --- SECCIÓN 6: NOVEDADES --- */

    .novedades .novedades-video-row {
        height       : auto !important;
        padding-left : 0 !important;
        padding-right: 0 !important;
        margin-bottom: 2rem !important;
    }

    .novedades .video-container-slide.video-desktop,
    .tab-video-galeria .video-container-slide.video-desktop {
        display: none;
    }

    .novedades .video-container-slide.video-short,
    .novedades .video-container-slide.video-normal,
    .tab-video-galeria .video-container-slide.video-short,
    .tab-video-galeria .video-container-slide.video-normal {
        display: block;
    }

    /* --- SECCIÓN 7: TESTIMONIOS --- */
    .testimonios .item-testi p.parrafo {
        text-align: center;
    }

    .testimonios .item-testi h6.nombre,
    .testimonios .item-testi div.estrella {
        text-align: center;
        width     : 100%;
    }

    .testimonios button.f-prev.slick-arrow {
        padding: 0;
        right  : -80px;
    }

    .testimonios button.f-next.slick-arrow {
        padding: 0;
        left   : -40px;
    }

    .f-next .slick-arrow,
    .f-prev .slick-arrow {
        padding: 0;
    }

    /* --- TIPO APARTAMENTO --- */
    #sliderTipoApto button.f-prev.slick-arrow {
        padding: 0 !important;
        right  : -5px;
    }

    #sliderTipoApto button.f-next.slick-arrow {
        padding: 0 !important;
        left   : 25px;
    }

    #sliderTipoApto .slick-dots li button {
        width : 10px;
        height: 10px;
    }

    #sliderTipoApto .slick-dots li button::after {
        width : 7px;
        height: 7px;
    }

    .slick-dots li {
        width : 10px !important;
        height: 10px !important;
    }

    #sliderTipoApto .slick-dots li {
        margin: 0 2px !important;
    }

    /* --- FOOTER --- */
    .site-footer .banner-overlay {
        width: 100%;
    }

    .site-footer .banner-overlay .row .col-md-12 {
        display        : flex;
        justify-content: end;
    }

    .site-footer .container-fluid .banner-card .banner-overlay {
        background-color: #EAE8E8;
        padding         : 30px 0;
    }

    .site-footer .card-img-overlay {
        order: 1;
    }

    .site-footer img {
        order: 2;
    }

    .step-title-header,
    .step-title-footer {
        font-family: Inter;
        font-size  : 18px;
        font-style : normal;
        font-weight: 600;
        line-height: normal;
    }

    /* --- COPYRIGHTS --- */
    .copyrights>a {
        font-size: 0.65em;
    }

    .copyrights>a img {
        width: 25%;
    }
}