/* =========================================================
   VARIABLES DE MARCA RE/MAX UNITED
   ========================================================= */

:root {
    --rojo: #DC1C2E;
    --azul: #003366;
    --azul-claro: #1A73E8;
    --azul-oscuro: #061a45;
    --gris-texto: #6b7280;
    --gris-borde: #e2e2e2;
    --gris-fondo: #f7f8fa;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    color: #1a1a1a;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    border: none;
}

input,
select,
textarea {
    font-family: 'Montserrat', sans-serif;
}

#inicio,
#propiedades,
#equipo,
#nosotros,
#contacto,
#iniciar-sesion,
#desarrollos {
    scroll-margin-top: 90px;
}

/* =========================================================
   HEADER
   ========================================================= */

header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 40px;
    border-bottom: 1px solid var(--gris-borde);
    background: #ffffff;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.logo img {
    width: 320px;
    height: auto;
    max-width: none;
}

nav {
    display: flex;
    align-items: center;
    gap: 28px;
}

nav a {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    padding-bottom: 6px;
    transition: color 0.2s ease;
}

nav a:hover {
    color: var(--azul);
}

nav a.activo {
    color: var(--azul);
    border-bottom: 2px solid var(--azul);
}

nav .btn-iniciar-sesion {
    background: var(--azul);
    color: #ffffff;
    padding: 10px 14px;
    border-radius: 6px;
    border-bottom: none;
}

nav .btn-iniciar-sesion:hover {
    background: var(--azul-oscuro);
    color: #ffffff;
}

/* =========================================================
   BANNER PRINCIPAL
   ========================================================= */

.banner {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    padding: 0;
    margin-bottom: 30px;
    background-color: #ffffff;
}

.banner .slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease-in-out,
                visibility 0.6s ease-in-out;
    display: flex;
    align-items: center;
}

.banner .slide.activo {
    opacity: 1;
    visibility: visible;
}

.banner .slide img.banner-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: block;
    object-fit: contain;
    object-position: center center;
    background: #ffffff;
}

/* Banner 1 */

.banner-oportunidad {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff;
}

/* Banner 2 */

.banner-desarrollo {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff;
}

/* Ocultar elementos antiguos del banner */

.banner-overlay {
    display: none !important;
}

.banner-isotipo {
    display: none !important;
}

/* Contenido del banner */

.contenido-banner {
    position: relative;
    z-index: 3;
    padding-left: 60px;
    max-width: 480px;
    color: #ffffff;
}

.contenido-banner h1 {
    margin: 0 0 14px;
    font-size: 34px;
    line-height: 1.15;
}

.contenido-banner h1 span {
    color: #ffffff;
}

.contenido-banner h1 strong {
    color: var(--rojo);
}

.contenido-banner p {
    font-size: 15px;
    margin: 0 0 24px;
    color: #dfe4f0;
}

/* =========================================================
   BOTÓN VER PROPIEDAD
   ========================================================= */

.banner-boton-propiedad {
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    z-index: 5;
}

.btn-banner-propiedad {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 24px;
    background: var(--rojo);
    color: #ffffff;
    text-decoration: none;
    border: 2px solid var(--rojo);
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.22);
    transition: background 0.2s ease,
                border-color 0.2s ease,
                transform 0.2s ease;
}

.btn-banner-propiedad:hover {
    background: var(--azul);
    border-color: var(--azul);
    color: #ffffff;
}

.btn-ver-propiedades {
    background: var(--azul);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 12px 22px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: background 0.3s ease;
}

.btn-ver-propiedades:hover {
    background: var(--azul-oscuro);
}

/* =========================================================
   FLECHAS DEL CARRUSEL
   ========================================================= */

.flecha {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 51, 102, 0.65);
    color: #ffffff;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    cursor: pointer;
    transition: background 0.2s ease;
}

.flecha.izquierda {
    left: 20px;
}

.flecha.derecha {
    right: 20px;
}

.flecha:hover {
    background: var(--rojo);
}

/* =========================================================
   PUNTOS DEL CARRUSEL
   ========================================================= */

.banner-puntos {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
}

.punto {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(0, 51, 102, 0.35);
    cursor: pointer;
    transition: background 0.3s ease;
}

.punto.activo {
    background: var(--rojo);
}

/* =========================================================
   TÍTULO DEL BUSCADOR
   ========================================================= */

.titulo-buscador {
    text-align: center;
    margin: 25px 15px;
    font-size: 30px;
    font-weight: 700;
}

.titulo-buscador span {
    color: var(--azul);
}

.titulo-buscador strong {
    color: var(--rojo);
}

/* =========================================================
   BUSCADOR DE PROPIEDADES
   ========================================================= */

.contenedor-busqueda {
    max-width: none;
    margin: 0 40px 30px;
    border: 1px solid var(--gris-borde);
    border-radius: 12px;
    padding: 20px 24px;
    text-align: left;
    background: #ffffff;
}

.campo-texto {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--gris-borde);
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 18px;
    color: var(--gris-texto);
    width: 100%;
}

.campo-texto i {
    color: #aaaaaa;
}

.campo-texto input {
    border: none;
    outline: none;
    font-size: 14px;
    width: 100%;
    background: transparent;
}

.filtros {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 16px;
    align-items: end;
}

.campo-filtro {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.campo-filtro label {
    font-size: 12px;
    font-weight: 600;
    color: #333333;
}

.campo-filtro select,
.campo-filtro input {
    border: 1px solid var(--gris-borde);
    border-radius: 6px;
    padding: 10px;
    font-size: 13px;
    color: #333333;
    background: #ffffff;
    width: 100%;
    min-width: 0;
}

.btn-buscar {
    background: var(--azul);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    padding: 11px 20px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
    min-height: 40px;
}

.btn-buscar:hover {
    background: var(--azul-oscuro);
}

/* =========================================================
   PROPIEDADES DESTACADAS
   ========================================================= */

.propiedades {
    padding: 30px 40px 10px;
}

.titulo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.titulo h2 {
    font-size: 15px;
    letter-spacing: 0.5px;
    color: #222222;
    margin: 0;
}

.ver-todas {
    font-size: 13px;
    font-weight: 600;
    color: var(--azul);
    display: flex;
    align-items: center;
    gap: 6px;
}

/* =========================================================
   TARJETAS DE PROPIEDADES
   ========================================================= */

.cards {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
}

.card {
    border: 1px solid var(--gris-borde);
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
    transition: box-shadow 0.2s ease,
                transform 0.2s ease;
}

.card:hover {
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.card-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.card-img {
    position: relative;
    height: 140px;
    overflow: hidden;
}

.card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.etiqueta {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 10px;
    font-weight: 700;
    color: #ffffff;
    padding: 3px 9px;
    border-radius: 4px;
}

.etiqueta.venta {
    background: var(--rojo);
}

.etiqueta.renta {
    background: var(--azul);
}

.favorito {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(255, 255, 255, 0.9);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #444444;
    font-size: 11px;
}

.card h3 {
    font-size: 13px;
    margin: 10px 12px 4px;
}

.card .ubicacion {
    font-size: 11px;
    color: var(--gris-texto);
    margin: 0 12px 8px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.specs {
    display: flex;
    gap: 8px;
    font-size: 11px;
    color: var(--gris-texto);
    margin: 0 12px 8px;
    flex-wrap: wrap;
}

.card h4 {
    font-size: 13px;
    color: var(--rojo);
    margin: 0 12px 12px;
}

/* =========================================================
   EQUIPO
   ========================================================= */

.seccion-equipo {
    padding: 40px;
    background: var(--gris-fondo);
}

.contenedor-equipo {
    max-width: 1200px;
    margin: 0 auto;
}

.titulo-equipo {
    text-align: center;
    margin-bottom: 24px;
}

.titulo-equipo h2 {
    font-size: 24px;
    margin: 0 0 6px;
    color: var(--azul);
}

.titulo-equipo h2 strong {
    color: var(--rojo);
}

.titulo-equipo p {
    color: var(--gris-texto);
    line-height: 1.6;
}

.iframe-contenedor {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    background: #ffffff;
    border: 1px solid var(--gris-borde);
}

.iframe-contenedor iframe {
    width: 100%;
    height: 800px;
    border: none;
    display: block;
}

/* =========================================================
   NOSOTROS
   ========================================================= */

.seccion-nosotros {
    padding: 40px 0;
}

.seccion-nosotros h1 {
    text-align: center;
    font-size: 28px;
}

.seccion-nosotros h1 span {
    color: var(--azul);
}

.seccion-nosotros h1 strong {
    color: var(--rojo);
}

.seccion-nosotros p {
    padding: 0 40px;
    color: var(--gris-texto);
    line-height: 1.7;
    max-width: 1200px;
    margin: 20px auto;
}

/* =========================================================
   CONTACTO
   ========================================================= */

#contacto {
    padding: 20px 40px 40px;
}

.titulo-contacto {
    text-align: center;
    font-size: 28px;
}

.titulo-contacto span {
    color: var(--azul);
}

.titulo-contacto strong {
    color: var(--rojo);
}

.contenedor-contacto {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    margin: 20px 0;
}

.btn-contacto {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 22px;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out;
}

.btn-contacto i {
    font-size: 18px;
}

.btn-contacto:hover {
    transform: translateY(-2px);
    filter: brightness(0.95);
}

.btn-ubicacion {
    background: #ea4335;
    box-shadow: 0 4px 10px rgba(234, 67, 53, 0.3);
}

.btn-llamada {
    background: #0b8043;
    box-shadow: 0 4px 10px rgba(11, 128, 67, 0.3);
}

.btn-correo {
    background: var(--azul-claro);
    box-shadow: 0 4px 10px rgba(26, 115, 232, 0.3);
}

/* =========================================================
   FORMULARIO DE CONTACTO
   ========================================================= */

.formulario-contacto {
    max-width: 600px;
    background: #ffffff;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border: 1px solid #e0e0e0;
}

.formulario-contacto h2 {
    margin-top: 0;
    margin-bottom: 20px;
    color: #202124;
    text-align: center;
    letter-spacing: 1px;
}

.fila-doble {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}

.campo {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
}

.campo label {
    font-size: 14px;
    font-weight: 700;
    color: #5f6368;
    margin-bottom: 6px;
}

.campo input,
.campo textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cccccc;
    border-radius: 6px;
    font-size: 14px;
    background: #ffffff;
}

.campo input:focus,
.campo textarea:focus {
    outline: none;
    border-color: var(--azul);
    box-shadow: 0 0 0 2px rgba(0, 51, 102, 0.1);
}

.campo textarea {
    resize: vertical;
}

.btn-enviar {
    width: 100%;
    background: var(--azul);
    color: #ffffff;
    border: none;
    padding: 12px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.btn-enviar:hover {
    background: var(--azul-oscuro);
}

/* =========================================================
   BENEFICIOS
   ========================================================= */

.beneficios {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    padding: 30px 40px 40px;
    border-top: 1px solid var(--gris-borde);
    margin-top: 30px;
}

.beneficios > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

.beneficios h3 {
    font-size: 15px;
    margin: 4px 0 0;
    color: #1a1a1a;
}

.beneficios p {
    font-size: 13px;
    color: var(--gris-texto);
    margin: 0;
    line-height: 1.5;
}

.icono-circulo {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1.5px solid var(--azul);
    color: var(--azul);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 15px;
}

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

footer {
    text-align: center;
    padding: 24px;
    border-top: 1px solid var(--gris-borde);
}

footer img {
    height: 36px;
    max-width: 150px;
    object-fit: contain;
    margin-bottom: 8px;
}

footer p {
    font-size: 12px;
    color: var(--gris-texto);
    margin: 0;
}

/* =========================================================
   WHATSAPP FLOTANTE
   ========================================================= */

.whatsapp-flotante {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 52px;
    height: 52px;
    background: #25D366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 24px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    z-index: 100;
    transition: transform 0.2s ease;
}

.whatsapp-flotante:hover {
    transform: scale(1.06);
}

/* =========================================================
   RESPONSIVE: TABLET
   ========================================================= */

@media (max-width: 1200px) {
    .cards {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1000px) {
    header {
        padding: 14px 25px;
    }

    nav {
        gap: 18px;
    }

    nav a {
        font-size: 12px;
    }

    .banner {
        height: 260px;
    }

    .filtros {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .btn-buscar {
        width: 100%;
    }

    .beneficios {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   RESPONSIVE: CELULAR
   ========================================================= */

@media (max-width: 700px) {
    header {
        padding: 12px 20px;
        flex-direction: column;
        gap: 15px;
    }

    nav {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 15px;
    }

    nav a {
        font-size: 11px;
    }

    .banner {
        height: 220px;
    }

    .banner-boton-propiedad {
        bottom: 25px;
    }

    .btn-banner-propiedad {
        padding: 10px 17px;
        font-size: 12px;
    }

    .flecha {
        width: 36px;
        height: 36px;
    }

    .flecha.izquierda {
        left: 8px;
    }

    .flecha.derecha {
        right: 8px;
    }

    .titulo-buscador {
        font-size: 23px;
    }

    .contenedor-busqueda {
        margin-left: 15px;
        margin-right: 15px;
        padding: 15px;
    }

    .filtros {
        grid-template-columns: 1fr;
    }

    .propiedades {
        padding-left: 20px;
        padding-right: 20px;
    }

    .titulo {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .seccion-equipo {
        padding: 25px 20px;
    }

    .iframe-contenedor iframe {
        height: 600px;
    }

    #contacto {
        padding-left: 20px;
        padding-right: 20px;
    }

    .contenedor-contacto {
        flex-direction: column;
        align-items: stretch;
    }

    .fila-doble {
        flex-direction: column;
        gap: 0;
    }

    .beneficios {
        grid-template-columns: 1fr;
        padding-left: 20px;
        padding-right: 20px;
    }

    .seccion-nosotros p {
        padding: 0 20px;
    }
}

/* =========================================================
   RESPONSIVE: CELULARES PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {
    .cards {
        grid-template-columns: 1fr;
    }

    .banner {
        height: 200px;
    }

    .btn-banner-propiedad {
        padding: 9px 14px;
        font-size: 11px;
    }

    .banner .flecha {
        width: 32px;
        height: 32px;
    }

    .titulo-buscador {
        font-size: 21px;
    }

    .formulario-contacto {
        padding: 16px;
    }

    .whatsapp-flotante {
        width: 46px;
        height: 46px;
        font-size: 22px;
        bottom: 16px;
        right: 16px;
    }
}

/* =========================================================
   PANTALLAS GRANDES
   ========================================================= */

@media (min-width: 1200px) {
    .banner {
        height: 300px;
    }
}

/* =========================================================
   REMAX UNITED — ACABADO PREMIUM
   Mantiene la paleta de marca: azul, rojo y blanco.
   ========================================================= */

:root {
  --rojo: #DC1C2E;
  --azul: #003366;
  --azul-claro: #1A73E8;
  --azul-oscuro: #061a45;
  --gris-texto: #687386;
  --gris-borde: #e5e9f0;
  --gris-fondo: #f6f8fb;
  --ancho-premium: 1480px;
  --sombra-suave: 0 12px 35px rgba(6, 26, 69, .07);
  --sombra-elevada: 0 22px 55px rgba(6, 26, 69, .13);
}

html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
  background: #fff;
  color: #172033;
  font-family: 'Montserrat', sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Header: distribución limpia y alineada */
header {
  min-height: 96px;
  padding: 16px clamp(24px, 5vw, 84px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(20px, 3vw, 52px);
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid rgba(0,51,102,.09);
  box-shadow: 0 5px 24px rgba(6,26,69,.045);
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(14px);
}
.logo { flex: 0 0 auto; }
.logo img { display:block; width: clamp(132px, 11vw, 168px); height:auto; max-height:62px; object-fit:contain; }
header nav {
  display:flex; align-items:center; justify-content:flex-end;
  gap: clamp(16px, 2.15vw, 34px); flex-wrap:nowrap;
}
header nav a {
  position:relative; white-space:nowrap; padding:12px 0;
  color:#263247; font-size:12px; font-weight:700; letter-spacing:.075em;
  transition:color .25s ease;
}
header nav a:not(.btn-iniciar-sesion)::after {
  content:""; position:absolute; left:0; bottom:3px; width:0; height:2px;
  background:var(--rojo); transition:width .25s ease;
}
header nav a:not(.btn-iniciar-sesion):hover,
header nav a.activo { color:var(--azul); }
header nav a:not(.btn-iniciar-sesion):hover::after,
header nav a.activo::after { width:100%; }
header nav .btn-iniciar-sesion {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:46px; padding:0 22px; margin-left:4px;
  color:#fff; background:var(--azul); border:1px solid var(--azul);
  border-radius:3px; font-size:11px; letter-spacing:.08em;
  box-shadow:0 7px 18px rgba(0,51,102,.13);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
header nav .btn-iniciar-sesion:hover {
  background:var(--rojo); border-color:var(--rojo); color:#fff;
  transform:translateY(-2px); box-shadow:0 10px 22px rgba(220,28,46,.18);
}

/* Banner: imagen grande, bordes alineados y controles discretos */
.banner {
  width:100%; max-width:none; height:clamp(420px, 43vw, 650px);
  margin:0 0 58px; position:relative; overflow:hidden;
  background:#f4f6f9; isolation:isolate;
}
.banner .slide { align-items:center; }
.banner .slide img.banner-img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  background:#f4f6f9; transition:transform 1.1s cubic-bezier(.2,.65,.3,1);
}
.banner .slide.activo img.banner-img { transform:scale(1.012); }
/* Las piezas gráficas del banner se conservan completas */
.banner .slide img.banner-oportunidad,
.banner .slide img.banner-desarrollo {
  object-fit:contain !important; object-position:center center !important;
  background:#fff;
}
.banner-boton-propiedad { bottom:clamp(28px, 4vw, 52px); }
.btn-banner-propiedad {
  min-height:52px; padding:0 28px; gap:12px;
  background:var(--rojo); border:1px solid var(--rojo); border-radius:3px;
  font-size:11px; letter-spacing:.12em; box-shadow:0 10px 28px rgba(6,26,69,.22);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.btn-banner-propiedad:hover {
  background:var(--azul); border-color:var(--azul);
  transform:translateY(-3px); box-shadow:0 14px 30px rgba(6,26,69,.24);
}
.flecha {
  width:48px; height:48px; background:rgba(0,51,102,.78);
  border:1px solid rgba(255,255,255,.42); box-shadow:0 5px 18px rgba(0,0,0,.12);
  backdrop-filter:blur(8px); transition:background .25s ease, transform .25s ease;
}
.flecha.izquierda { left:clamp(16px, 3vw, 44px); }
.flecha.derecha { right:clamp(16px, 3vw, 44px); }
.flecha:hover { background:var(--rojo); }
.banner-puntos { bottom:16px; gap:9px; }
.punto { width:8px; height:8px; border:1px solid rgba(0,51,102,.45); background:rgba(255,255,255,.8); }
.punto.activo { width:25px; border-radius:8px; background:var(--rojo); border-color:var(--rojo); }

/* Buscador: panel con jerarquía visual y anchura consistente */
.titulo-buscador {
  margin:0 auto 28px; padding:0 20px; max-width:var(--ancho-premium);
  text-align:center; font-size:clamp(27px, 3vw, 40px); line-height:1.2;
  font-weight:500; letter-spacing:-.045em; color:#18243a;
}
.titulo-buscador span { color:var(--azul); }
.titulo-buscador strong { color:var(--rojo); font-weight:800; }
.contenedor-busqueda {
  width:calc(100% - clamp(32px, 8vw, 144px)); max-width:var(--ancho-premium);
  margin:0 auto 68px; padding:28px; text-align:left;
  border:1px solid var(--gris-borde); border-radius:8px; background:#fff;
  box-shadow:var(--sombra-suave);
}
.campo-texto { border-color:#e3e8f0; border-radius:4px; padding:15px 17px; margin-bottom:22px; }
.campo-texto:focus-within { border-color:var(--azul); box-shadow:0 0 0 3px rgba(0,51,102,.07); }
.campo-texto i { color:var(--azul); }
.campo-texto input { color:#18243a; font-size:14px; }
.campo-filtro { gap:9px; }
.campo-filtro label { color:#354158; font-size:11px; font-weight:700; letter-spacing:.035em; }
.campo-filtro select, .campo-filtro input {
  min-height:48px; padding:0 13px; border-color:#e0e5ed; border-radius:4px;
  color:#354158; font-size:12px; background:#fff; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.campo-filtro select:focus, .campo-filtro input:focus {
  border-color:var(--azul); box-shadow:0 0 0 3px rgba(0,51,102,.07);
}
.btn-buscar {
  min-height:48px; padding:0 24px; border-radius:4px; background:var(--azul);
  font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  transition:background .25s ease, transform .25s ease;
}
.btn-buscar:hover { background:var(--rojo); transform:translateY(-1px); }

/* Secciones: misma retícula y ritmo vertical */
.propiedades { max-width:var(--ancho-premium); margin:0 auto; padding:20px clamp(24px, 4vw, 64px) 70px; }
.titulo { margin-bottom:25px; padding-bottom:18px; border-bottom:1px solid var(--gris-borde); }
.titulo h2 { color:var(--azul); font-size:13px; font-weight:800; letter-spacing:.13em; }
.ver-todas { color:var(--azul); font-size:12px; font-weight:700; transition:color .2s ease; }
.ver-todas:hover { color:var(--rojo); }
.cards { grid-template-columns:repeat(4, minmax(0,1fr)); gap:22px; }
.card {
  border:1px solid #e8ebf1; border-radius:5px; box-shadow:0 4px 15px rgba(6,26,69,.035);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.card:hover { transform:translateY(-5px); border-color:#d8dfeb; box-shadow:var(--sombra-elevada); }
.card-img { height:clamp(175px, 15vw, 230px); background:#eef1f5; }
.card-img img { transition:transform .55s ease; }
.card:hover .card-img img { transform:scale(1.035); }
.etiqueta { top:14px; left:14px; padding:7px 10px; border-radius:2px; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.card h3 { margin:16px 16px 7px; color:#17233a; font-size:14px; line-height:1.5; }
.card .ubicacion { margin:0 16px 12px; font-size:11px; line-height:1.6; }
.specs { margin:0 16px 14px; gap:12px; font-size:11px; }
.card h4 { margin:0 16px 18px; font-size:16px; font-weight:800; }

/* Equipo, nosotros y contacto */
.seccion-equipo { padding:76px clamp(24px, 5vw, 80px); background:var(--gris-fondo); }
.contenedor-equipo { max-width:var(--ancho-premium); }
.titulo-equipo { margin-bottom:32px; }
.titulo-equipo h2 { font-size:clamp(24px, 2.5vw, 34px); letter-spacing:-.035em; }
.titulo-equipo p { font-size:14px; }
.iframe-contenedor { border-radius:5px; box-shadow:var(--sombra-suave); }
.seccion-nosotros { padding:80px 24px; }
.seccion-nosotros h1, .titulo-contacto { margin:0 auto 22px; font-size:clamp(27px, 3vw, 38px); letter-spacing:-.04em; }
.seccion-nosotros p { font-size:14px; line-height:1.95; max-width:900px; text-align:center; }
#contacto { padding:65px clamp(24px, 7vw, 110px) 80px; background:var(--gris-fondo); }
.contenedor-contacto { justify-content:center; gap:14px; margin:28px 0 34px; }
.btn-contacto { min-height:48px; border-radius:3px; padding:0 22px; font-size:12px; box-shadow:none; }
.btn-ubicacion { background:var(--azul); }
.btn-llamada { background:var(--azul-oscuro); }
.btn-correo { background:var(--rojo); }
.formulario-contacto {
  max-width:760px; margin:0 auto; padding:clamp(22px, 4vw, 42px);
  border:1px solid var(--gris-borde); border-radius:5px; box-shadow:var(--sombra-suave);
}
.campo label { color:#344057; font-size:11px; letter-spacing:.025em; }
.campo input, .campo textarea {
  padding:14px; border:1px solid #e0e5ed; border-radius:3px; font-size:13px;
}
.campo input:focus, .campo textarea:focus { border-color:var(--azul); box-shadow:0 0 0 3px rgba(0,51,102,.07); }
.btn-enviar { min-height:48px; border-radius:3px; background:var(--azul); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.btn-enviar:hover { background:var(--rojo); }

/* Beneficios y pie */
.beneficios {
  max-width:var(--ancho-premium); margin:0 auto; padding:54px clamp(24px, 5vw, 80px);
  border-top:1px solid var(--gris-borde); gap:30px;
}
.beneficios > div { padding:14px; }
.icono-circulo { width:52px; height:52px; border-color:#d8dfeb; background:#f7f9fc; font-size:17px; }
.beneficios h3 { color:var(--azul); font-size:12px; letter-spacing:.015em; }
.beneficios p { max-width:240px; font-size:12px; line-height:1.8; }
footer { padding:32px 24px; background:#fff; border-top:1px solid var(--gris-borde); }
footer img { height:40px; max-width:165px; }
footer p { margin-top:8px; font-size:10px; letter-spacing:.06em; }
.whatsapp-flotante { box-shadow:0 8px 24px rgba(0,0,0,.18); }

/* Responsive */
@media (min-width:1500px) {
  .banner { height:650px; }
}
@media (max-width:1150px) {
  header { padding:15px 28px; gap:22px; }
  header nav { gap:17px; }
  header nav a { font-size:10px; }
  header nav .btn-iniciar-sesion { padding:0 15px; }
  .cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .banner { height:clamp(380px, 48vw, 540px); }
}
@media (max-width:850px) {
  header { min-height:auto; flex-wrap:wrap; justify-content:center; padding:18px 24px; gap:14px; }
  header nav { width:100%; justify-content:center; flex-wrap:wrap; gap:10px 22px; }
  header nav a { font-size:10px; }
  .banner { height:clamp(300px, 55vw, 460px); margin-bottom:42px; }
  .contenedor-busqueda { width:calc(100% - 40px); padding:22px; margin-bottom:48px; }
  .filtros { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .btn-buscar { width:100%; }
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seccion-equipo { padding:52px 24px; }
  .iframe-contenedor iframe { height:650px; }
  .beneficios { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  header { padding:16px 14px; }
  .logo img { width:138px; }
  header nav { gap:8px 15px; }
  header nav a { font-size:9px; letter-spacing:.035em; }
  header nav .btn-iniciar-sesion { min-height:39px; padding:0 13px; }
  .banner { height:clamp(230px, 65vw, 340px); margin-bottom:38px; }
  .banner .slide img.banner-oportunidad,
  .banner .slide img.banner-desarrollo { object-fit:contain !important; }
  .banner-boton-propiedad { bottom:27px; }
  .btn-banner-propiedad { min-height:42px; padding:0 17px; font-size:9px; }
  .flecha { width:34px; height:34px; }
  .titulo-buscador { font-size:25px; margin-bottom:22px; }
  .contenedor-busqueda { width:calc(100% - 28px); padding:16px; }
  .filtros { grid-template-columns:1fr; gap:13px; }
  .propiedades { padding:12px 16px 45px; }
  .titulo { align-items:flex-start; }
  .titulo h2 { font-size:11px; }
  .cards { grid-template-columns:1fr; gap:18px; }
  .card-img { height:230px; }
  .seccion-equipo { padding:42px 16px; }
  .iframe-contenedor iframe { height:580px; }
  .seccion-nosotros { padding:50px 16px; }
  .seccion-nosotros p { padding:0 4px; font-size:13px; text-align:left; }
  #contacto { padding:46px 16px 54px; }
  .contenedor-contacto { align-items:stretch; flex-direction:column; }
  .fila-doble { flex-direction:column; gap:0; }
  .formulario-contacto { padding:20px 16px; }
  .beneficios { grid-template-columns:1fr; padding:35px 18px; gap:12px; }
}
/* LOGO REMAX UNITED — TAMAÑO CORREGIDO */
header .logo {
    flex: 0 0 auto !important;
}

header .logo img {
    display: block !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain;
}

/* Header compacto */
header {
    padding: 10px 40px !important;
    display: flex;
    align-items: center; /* Centra el logo, menú y botón verticalmente */
}

/* Logo más grande y proporcional */
header .logo img {
    height: 200px !important; /* Logo más grande */
    width: auto !important;
    max-height: 90px !important;
}

/* Ajuste para celulares */
@media (max-width: 768px) {
    header {
        padding: 8px 15px !important;
    }
    header .logo img {
        height: 55px !important;
    }
}

/* Ocultar botones de navegación del carrusel */
.slick-prev, .slick-next,
.swiper-button-prev, .swiper-button-next,
.carousel-control-prev, .carousel-control-next,
.owl-prev, .owl-next {
    display: none !important;
}

