
/* -------------------------------------------------------------
   Tu Parcela Lista - Sistema de Estilos Premium
   Inspirado en los colores del logo y diseño Falabella de alto nivel
   ------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
  /* Colores Corporativos (Logo) */
  --primary: #003f7a;         /* Azul profundo corporativo */
  --primary-rgb: 0, 63, 122;
  --secondary: #00828a;       /* Teal/Verde azulado */
  --secondary-rgb: 0, 130, 138;
  --yellow: #f2be1a;          /* Amarillo Oro */
  --yellow-hover: #dbaa12;
  --green: #5fa723;           /* Verde Hoja */
  
  /* Paleta Neutra Premium */
  --dark: #0f172a;            /* Slate oscuro para textos */
  --light-bg: #f4f7fa;        /* Fondo general suave */
  --card-bg: #ffffff;         /* Fondo de tarjetas */
  --border-color: #e2e8f0;    /* Bordes sutiles */
  --text-muted: #64748b;      /* Textos secundarios */
  
  /* Tipografía y bordes */
  --font-sans: 'Outfit', sans-serif;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-full: 9999px;
  
  /* Sombras */
  --shadow-sm: 0 2px 8px rgba(0, 63, 122, 0.04);
  --shadow-md: 0 10px 25px rgba(0, 63, 122, 0.07);
  --shadow-lg: 0 20px 40px rgba(0, 63, 122, 0.12);
  --shadow-highlight: 0 0 0 3px rgba(0, 130, 138, 0.4);
  
  /* Transiciones */
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Reset general */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-family: var(--font-sans);
  background-color: var(--light-bg);
  color: var(--dark);
}

body {
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* Contenedor principal */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* -------------------------------------------------------------
   Barra de Navegación (Navbar)
   ------------------------------------------------------------- */
   
.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;

  height: 82px;

  display: flex;
  align-items: center;

  background: rgba(255, 255, 255, 0.82);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  border-bottom: 1px solid rgba(220, 230, 240, 0.9);

  box-shadow:
    0 4px 24px rgba(15, 23, 42, 0.05),
    0 1px 2px rgba(15, 23, 42, 0.04);

  transition: 0.3s ease;
}

/* CONTENEDOR */
.navbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}


.logo-container {
  display: flex;
  align-items: center;
  gap: 14px;

  text-decoration: none;
  transition: 0.25s ease;
}

.logo-container:hover {
  transform: translateY(-1px);
}

.logo-svg {
  height: 44px;
  width: auto;
  transition: 0.3s ease;
}

.logo-container:hover .logo-svg {
  transform: scale(1.03);
}

.nav-links {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 28px;
}

.nav-links li {
  position: relative;
}

.nav-links a {
  position: relative;

  text-decoration: none;

  color: #163042;

  font-size: 0.97rem;
  font-weight: 600;
  letter-spacing: 0.2px;

  padding: 8px 2px;

  transition: 0.25s ease;
}

/* Línea inferior elegante */
.nav-links a::after {
  content: '';

  position: absolute;
  left: 0;
  bottom: -4px;

  width: 0%;
  height: 2px;

  border-radius: 50px;

  background: linear-gradient(
    90deg,
    #00828a,
    #00b8c4
  );

  transition: width 0.28s ease;
}

.nav-links a:hover {
  color: #00828a;
}

.nav-links a:hover::after {
  width: 100%;
}

/* =========================
   BOTÓN CONTACTO
========================= */

.nav-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 12px 24px;

  border-radius: 999px;

  text-decoration: none;

  font-size: 0.95rem;
  font-weight: 700;

  color: white;

  background: linear-gradient(
    135deg,
    #003b5c 0%,
    #00828a 100%
  );

  border: 1px solid transparent;

  box-shadow:
    0 8px 20px rgba(0, 130, 138, 0.18);

  transition: 0.28s ease;
}

.nav-contact-btn:hover {
  transform: translateY(-2px);

  background: linear-gradient(
    135deg,
    #004b73 0%,
    #00a7b2 100%
  );

  box-shadow:
    0 12px 24px rgba(0, 130, 138, 0.24);
}

/* =========================
   HAMBURGUESA
========================= */

.nav-toggle {
  display: none;

  width: 46px;
  height: 46px;

  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 14px;

  background: rgba(255,255,255,0.7);

  color: #003b5c;

  font-size: 1.2rem;

  cursor: pointer;

  transition: 0.25s ease;
}

.nav-toggle:hover {
  background: #f4fbff;
  border-color: rgba(0,130,138,0.2);
  transform: translateY(-1px);
}


/* -------------------------------------------------------------
   Sección Hero & Buscador por ID
   ------------------------------------------------------------- */
.hero {
  position: relative;

  background:
    linear-gradient(
      135deg,
      #002b52 0%,
      #003f73 45%,
      #005b8f 100%
    );

  color: white;

  padding: 90px 0 110px 0;

  text-align: center;

  overflow: visible;
}

.hero::before {
  content: '';

  position: absolute;
  inset: 0;

  background:
    radial-gradient(
      circle at 20% 15%,
      rgba(255, 193, 7, 0.18) 0%,
      transparent 35%
    ),
    radial-gradient(
      circle at 85% 20%,
      rgba(255, 214, 10, 0.12) 0%,
      transparent 30%
    ),
    radial-gradient(
      circle at 50% 100%,
      rgba(255,255,255,0.05) 0%,
      transparent 50%
    );

  pointer-events: none;
}

.hero::after {
  content: '';

  position: absolute;
  bottom: -60px;
  left: -5%;

  width: 110%;
  height: 120px;

  background: rgba(255,255,255,0.05);

  transform: rotate(-3deg);
}


.hero h1 {
  position: relative;
  z-index: 2;

  font-size: 3.3rem;
  font-weight: 900;

  line-height: 1.1;

  margin-bottom: 18px;

  letter-spacing: -1px;

  text-shadow:
    0 4px 20px rgba(0,0,0,0.25);
}

.hero h1 span {
  color: #ffd447;

  text-shadow:
    0 0 18px rgba(255,212,71,0.25);
}

.hero p {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* Panel de búsqueda por ID */
.search-container {
  max-width: 680px;

  margin: 0 auto;

  position: relative;
  z-index: 5;
}

.search-box {
  display: flex;
  align-items: center;

  background: rgba(255,255,255,0.98);

  padding: 6px;

  border-radius: 22px;

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

  box-shadow:
    0 18px 40px rgba(0,0,0,0.18),
    0 4px 10px rgba(0,0,0,0.08);

  transition: 0.28s ease;
}

.search-box:focus-within {
  border-color: var(--secondary);
}

.search-box i {
  color: var(--text-muted);
  font-size: 1.25rem;
  margin-left: 16px;
}

/* ===========================
   BOTÓN BUSCADOR PREMIUM
=========================== */

#search-btn{

    position:relative;
    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:15px 30px;

    border:none;
    border-radius:18px;

    cursor:pointer;

    font-size:1rem;
    font-weight:700;

    color:#fff;

    background:linear-gradient(
        135deg,
        #005b8f 0%,
        #00828a 100%
    );

    box-shadow:
        0 10px 25px rgba(0,91,143,.25),
        0 4px 10px rgba(0,0,0,.10);

    transition:
        transform .25s,
        box-shadow .25s,
        background .25s;
}

#search-btn::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:70%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );

    transform:skewX(-25deg);

    transition:.7s;
}

#search-btn:hover{

    transform:translateY(-3px);

    background:linear-gradient(
        135deg,
        #006da7,
        #00a6b2
    );

    box-shadow:
        0 18px 35px rgba(0,91,143,.35),
        0 8px 18px rgba(0,0,0,.15);
}

#search-btn:hover::before{

    left:140%;
}

/* INPUT */
.search-box input {
  flex: 1;

  border: none;
  outline: none;

  background: transparent;

  padding: 15px 18px;

  font-size: 1.05rem;
  font-family: inherit;

  color: #17384d;
}

.search-box input::placeholder {
  color: #94a3b8;
}

/* BOTÓN */
.view-switch{
    display:flex;
    justify-content:center;
    gap:12px;
    margin:25px 0;
}

.view-btn{

    display:flex;
    align-items:center;
    gap:8px;

    padding:14px 24px;

    border-radius:14px;

    border:2px solid #0d8b8b;

    background:#fff;

    color:#0b4f87;

    font-weight:700;

    cursor:pointer;

    transition:.25s;
}

.view-btn:hover{

    background:#0b4f87;

    color:white;

    transform:translateY(-2px);

    box-shadow:0 10px 24px rgba(11,79,135,.25);
}

.view-btn.active{

    background:linear-gradient(
    135deg,
    #0b4f87,
    #129a98
    );

    color:white;

    border-color:transparent;

    box-shadow:
    0 12px 28px rgba(11,79,135,.35);
}


/* Escritorio */
.view-selector{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;

    margin-top:18px;
    padding-top:18px;

    border-top:1px solid rgba(0,0,0,.08);
}

/* Móvil */
@media (max-width:768px){

    .view-selector{

        justify-content:center;

        flex-wrap:wrap;

        gap:12px;

    }

    .view-label{

        width:100%;

        text-align:center;

        margin:0 0 10px;

    }

    .view-btn{

        width:56px;
        height:56px;

    }

}
/* -------------------------------------------------------------
   Filtros Horizontales ("Elige tu parcela")
   ------------------------------------------------------------- */
.filter-section {
  position: relative;
  z-index: 20;

  margin-top: 2%;
}


.filter-card h2 {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;
  gap: 10px;

  margin-bottom: 24px;

  font-family: "Cormorant Garamond", serif;
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: none;
  line-height: 1.1;

  color: #005047;
}

.filter-card h2 i {
  color: var(--secondary);
}

.filter-buttons-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.filter-btn {
  background: rgb(255, 214, 6);
  border: 1px solid var(--border-color);
  padding: 10px 20px;
  border-radius: var(--radius-md);
  font-weight: 600;
  color: var(--dark);
  cursor: pointer;
  transition: var(--transition);
  font-family: inherit;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: var(--shadow-sm);
}

.filter-btn:hover {
  border-color: var(--secondary);
  color: var(--secondary);
  transform: translateY(-2px);
}

.filter-btn.active {
  background: var(--secondary);
  color: white;
  border-color: var(--secondary);
}

/* Selector de comunas dropdown custom */
.dropdown-container {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: rgb(255, 243, 155);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  min-width: 200px;
  z-index: 100;
  display: none;
  flex-direction: column;
  padding: 8px 0;
}

.dropdown-menu.active {
  display: flex;
  animation: dropdownFadeIn 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes dropdownFadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.dropdown-item {
  padding: 10px 20px;
  font-weight: 500;
  color: rgb(0, 0, 0);
  cursor: pointer;
  transition: var(--transition);
}

.dropdown-item:hover {
  background: rgba(0, 130, 138, 0.08);
  color: var(--secondary);
}

.dropdown-item.selected {
  background: var(--secondary);
  color: white;
}

/* -------------------------------------------------------------
   Grilla y Tarjetas de Parcelas
   ------------------------------------------------------------- */

.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  margin: 56px 0 28px;

  padding-bottom: 14px;

  border-bottom: 1px solid rgba(0,43,82,0.08);
}

.section-title h3 {
  font-size: 1.9rem;
  font-weight: 900;

  color: #002b52;

  letter-spacing: -0.5px;

  line-height: 1.2;
}

#results-count{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 8px 16px;

  border-radius: 999px;

  background: rgba(0,91,143,0.08);

  color: #005b8f;

  font-size: 0.92rem;
  font-weight: 700;

  white-space: nowrap;
}

/* =========================================================
   GRID
========================================================= */

.parcelas-grid{

    display:grid;

    grid-template-columns:repeat(5,minmax(0,1fr));

    gap:20px;

    margin-top:25px;

}

@media (max-width:1500px){

    .parcelas-grid{
        grid-template-columns:repeat(4,1fr);
    }

}

@media (max-width:1200px){

    .parcelas-grid{
        grid-template-columns:repeat(3,1fr);
    }

}

@media (max-width:768px){

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

}

@media (max-width:480px){

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

}



/* =========================================================
   BADGE
========================================================= */

.selection-badge {
  position: absolute;

  top: 14px;
  left: 14px;

  z-index: 20;

  display: flex;
  align-items: center;
  gap: 6px;

  padding: 8px 14px;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      #ffc107,
      #ffcf33
    );

  color: #002b52;

  font-size: 0.78rem;
  font-weight: 800;

  box-shadow:
    0 8px 20px rgba(255,193,7,0.25);

  opacity: 0;

  transform: translateY(-8px);

  transition: 0.28s ease;
}

/* =========================================================
   GALERIA
========================================================= */



/* =========================================================
   BOTONES GALERIA
========================================================= */

.gallery-nav {
  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  z-index: 15;

  width: 38px;
  height: 38px;

  border: none;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;

  background: rgba(255,255,255,0.88);

  color: #002b52;

  backdrop-filter: blur(10px);

  box-shadow:
    0 6px 18px rgba(0,0,0,0.12);

  opacity: 0;

  transition: 0.25s ease;
}


.gallery-nav:hover {
  background: white;

  color: #005b8f;

  transform: translateY(-50%) scale(1.06);
}

.gallery-prev {
  left: 12px;
}

.gallery-next {
  right: 12px;
}

/* =========================================================
   DOTS
========================================================= */

.gallery-dots {
  position: absolute;

  bottom: 14px;
  left: 50%;

  transform: translateX(-50%);

  z-index: 15;

  display: flex;
  align-items: center;
  gap: 7px;
}

.gallery-dot {
  width: 8px;
  height: 8px;

  border-radius: 999px;

  background: rgba(255,255,255,0.55);

  cursor: pointer;

  transition: 0.25s ease;
}

.gallery-dot.active {
  width: 22px;

  background: #ffc107;
}

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

@media (max-width: 768px) {

  .section-title {
    flex-direction: column;
    align-items: flex-start;

    gap: 12px;
  }

  .section-title h3 {
    font-size: 1.45rem;
  }

  .results-count {
    font-size: 0.82rem;
  }

  .parcelas-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .card-gallery-container {
    height: 210px;
  }

  .gallery-nav {
    opacity: 1;
    width: 34px;
    height: 34px;
  }
}



/* ITEM */
.feature-item {
  display: flex;
  align-items: center;
  gap: 10px;

  font-size: 0.84rem;
  font-weight: 600;

  color: #334155;
}

/* ICONOS */
.feature-item i {
  width: 24px;
  height: 24px;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 0.82rem;
}

/* ACTIVO */
.feature-item.active i {
  background: rgba(34,197,94,0.12);
  color: #16a34a;
}

/* INACTIVO */
.feature-item.inactive i {
  background: rgba(239,68,68,0.10);
  color: #ef4444;
}

/* =========================================================
   BOTONES
========================================================= */

.card-actions {
  display: grid;

  grid-template-columns: 1fr 1.2fr;

  gap: 12px;

  margin-top: auto;
}

/* BOTON SECUNDARIO */
.btn-secondary-link {
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 12px;

  border-radius: 14px;

  border: 1px solid rgba(0,43,82,0.14);

  background: white;

  text-decoration: none;

  color: #002b52;

  font-size: 0.9rem;
  font-weight: 700;

  transition: 0.25s ease;
}

.btn-secondary-link:hover {
  transform: translateY(-2px);

  background: #f7fbff;

  border-color: rgba(0,91,143,0.25);

  color: #005b8f;
}

/* BOTON PRINCIPAL */
.btn-select-plot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  border: none;

  padding: 12px 16px;

  border-radius: 14px;

  cursor: pointer;

  font-size: 0.92rem;
  font-weight: 800;

  color: white;

  background:
    linear-gradient(
      135deg,
      #002b52 0%,
      #005b8f 100%
    );

  box-shadow:
    0 10px 24px rgba(0,91,143,0.18);

  transition: 0.28s ease;
}

/* HOVER */
.btn-select-plot:hover {
  transform: translateY(-2px);

  background:
    linear-gradient(
      135deg,
      #003867 0%,
      #006fa8 100%
    );

  box-shadow:
    0 14px 28px rgba(0,91,143,0.24);
}


/* =========================================================
   NO RESULTS
========================================================= */

.no-results {
  grid-column: 1 / -1;

  text-align: center;

  padding: 56px 30px;

  border-radius: 28px;

  background: white;

  border: 1px solid rgba(15,23,42,0.06);

  box-shadow:
    0 8px 24px rgba(15,23,42,0.05);

  color: #64748b;
}

.no-results i {
  font-size: 3.5rem;

  margin-bottom: 18px;

  color: #cbd5e1;
}

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

@media (max-width: 768px) {

  .card-body {
    padding: 18px;
  }

  .card-title {
    font-size: 1.05rem;
  }

  .card-price {
    font-size: 1.4rem;
  }

  .card-features {
    gap: 10px;
  }

  .feature-item {
    font-size: 0.78rem;
  }

  .card-actions {
    grid-template-columns: 1fr;
  }

  .btn-secondary-link,
  .btn-select-plot {
    width: 100%;
  }
}


/* =========================================================
   SECCIÓN CASAS - PREMIUM TU PARCELA LISTA
========================================================= */

.section-casas {
  position: relative;

  padding: 90px 0;

  background:
    linear-gradient(
      180deg,
      #f8fbff 0%,
      #eef5fb 100%
    );

  border-top: 1px solid rgba(0,43,82,0.06);

  overflow: hidden;

  opacity: 0.5;
  pointer-events: none;

  transition: 0.35s ease;
}

/* EFECTOS DECORATIVOS */
.section-casas::before {
  content: '';

  position: absolute;

  top: -120px;
  right: -120px;

  width: 320px;
  height: 320px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(255,193,7,0.14) 0%,
      transparent 70%
    );
}

.section-casas::after {
  content: '';

  position: absolute;

  bottom: -180px;
  left: -120px;

  width: 360px;
  height: 360px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(0,91,143,0.08) 0%,
      transparent 70%
    );
}

.section-casas.active {
  opacity: 1;
  pointer-events: auto;
}

/* =========================================================
   GRID
========================================================= */

.casas-grid {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

  gap: 26px;
}

/* =========================================================
   TARJETA
========================================================= */

.casa-card {
  position: relative;

  display: flex;
  flex-direction: column;

  overflow: hidden;

  background: rgba(255,255,255,0.94);

  border-radius: 28px;

  border: 1px solid rgba(15,23,42,0.06);

  backdrop-filter: blur(14px);

  box-shadow:
    0 10px 28px rgba(15,23,42,0.06);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

/* HOVER */
.casa-card:hover {
  transform: translateY(-7px);

  border-color: rgba(0,91,143,0.16);

  box-shadow:
    0 24px 50px rgba(15,23,42,0.12);
}

/* SELECCIONADA */
.casa-card.selected {
  border-color: #ffc107;

  outline: 3px solid rgba(255,193,7,0.18);

  box-shadow:
    0 24px 54px rgba(255,193,7,0.18);
}

/* =========================================================
   BADGE
========================================================= */

.selection-badge {
  position: absolute;

  top: 14px;
  right: 14px;

  z-index: 20;

  display: flex;
  align-items: center;
  gap: 6px;

  padding: 8px 14px;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      #ffc107,
      #ffd447
    );

  color: #002b52;

  font-size: 0.76rem;
  font-weight: 800;

  box-shadow:
    0 10px 22px rgba(255,193,7,0.24);

  opacity: 0;

  transform: translateY(-8px);

  transition: 0.28s ease;
}

.casa-card.selected .selection-badge {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   IMAGEN
========================================================= */

.casa-thumb {
  position: relative;

  width: 100%;
  height: 240px;

  overflow: hidden;

  background: #edf4fa;

  flex-shrink: 0;
}

/* DEGRADADO FOTO */
.casa-thumb::after {
  content: '';

  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 90px;

  background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.32),
      transparent
    );
}

.casa-thumb img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  display: block;

  transition: transform 0.45s ease;
}

.casa-card:hover .casa-thumb img {
  transform: scale(1.05);
}

/* =========================================================
   BODY
========================================================= */

.casa-body {
  display: flex;
  flex-direction: column;
  flex: 1;

  padding: 22px;
}

/* =========================================================
   TITULO
========================================================= */

.casa-title {
  font-size: 1.18rem;
  font-weight: 800;

  line-height: 1.35;

  color: #002b52;

  margin-bottom: 10px;

  letter-spacing: -0.3px;
}

/* =========================================================
   PRECIO
========================================================= */

.casa-price {
  display: inline-flex;
  align-items: center;

  width: fit-content;

  padding: 6px 14px;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      rgba(255,193,7,0.14),
      rgba(255,212,71,0.20)
    );

  color: #002b52;

  font-size: 1.35rem;
  font-weight: 900;

  margin-bottom: 14px;
}

/* =========================================================
   DESCRIPCIÓN
========================================================= */

.casa-desc {
  color: #64748b;

  font-size: 0.92rem;

  line-height: 1.7;

  margin-bottom: 20px;

  min-height: 48px;
}

/* =========================================================
   ESPECIFICACIONES
========================================================= */

.casa-specs-strip {
  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 10px;

  padding: 18px 0;

  margin-bottom: 22px;

  border-top: 1px solid rgba(15,23,42,0.06);
  border-bottom: 1px solid rgba(15,23,42,0.06);
}

/* ITEM */
.casa-spec {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 6px;

  text-align: center;
}

/* ICONOS */
.casa-spec i {
  width: 34px;
  height: 34px;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      135deg,
      rgba(0,91,143,0.10),
      rgba(255,193,7,0.14)
    );

  color: #005b8f;

  font-size: 0.95rem;
}

/* TEXTO */
.casa-spec span {
  font-size: 0.78rem;
  font-weight: 700;

  color: #334155;

  line-height: 1.4;
}

/* =========================================================
   BOTÓN
========================================================= */

.btn-select-casa {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  width: 100%;

  border: none;

  padding: 14px 18px;

  border-radius: 16px;

  cursor: pointer;

  font-size: 0.94rem;
  font-weight: 800;

  color: white;

  background:
    linear-gradient(
      135deg,
      #002b52 0%,
      #005b8f 100%
    );

  box-shadow:
    0 12px 26px rgba(0,91,143,0.18);

  transition: 0.28s ease;

  margin-top: auto;
}

/* HOVER */
.btn-select-casa:hover {
  transform: translateY(-2px);

  background:
    linear-gradient(
      135deg,
      #003867 0%,
      #006fa8 100%
    );

  box-shadow:
    0 16px 32px rgba(0,91,143,0.24);
}

/* SELECCIONADA */
.casa-card.selected .btn-select-casa {
  background:
    linear-gradient(
      135deg,
      #16a34a 0%,
      #22c55e 100%
    );

  box-shadow:
    0 14px 28px rgba(34,197,94,0.24);
}

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

@media (max-width: 768px) {

  .section-casas {
    padding: 70px 0;
  }

  .casas-grid {
    grid-template-columns: 1fr;

    gap: 20px;
  }

  .casa-card {
    border-radius: 22px;
  }

  .casa-thumb {
    height: 220px;
  }

  .casa-body {
    padding: 18px;
  }

  .casa-title {
    font-size: 1.05rem;
  }

  .casa-price {
    font-size: 1.2rem;
  }

  .casa-specs-strip {
    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
  }

  .btn-select-casa {
    padding: 13px;
  }
}

/* =========================================================
   SECTION COTIZADOR - PREMIUM TU PARCELA LISTA
========================================================= */

.section-cotizador {
  position: relative;

  padding: 90px 0;

  background:
    linear-gradient(
      180deg,
      #f4faff 0%,
      #edf7ff 45%,
      #f9fdff 100%
    );

  border-top: 1px solid rgba(0,43,82,0.06);

  overflow: hidden;

  opacity: 0.5;
  pointer-events: none;

  transition: 0.35s ease;
}

/* DECORACIONES */
.section-cotizador::before {
  content: '';

  position: absolute;

  top: -120px;
  right: -120px;

  width: 320px;
  height: 320px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(255,193,7,0.14) 0%,
      transparent 70%
    );
}

.section-cotizador::after {
  content: '';

  position: absolute;

  bottom: -160px;
  left: -120px;

  width: 340px;
  height: 340px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(0,166,178,0.10) 0%,
      transparent 70%
    );
}

.section-cotizador.active {
  opacity: 1;
  pointer-events: auto;
}

/* =========================================================
   LAYOUT
========================================================= */

.cotizador-layout {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns: 1.55fr 1fr;

  gap: 28px;

  align-items: start;
}

.cotizador-left {
  display: flex;
  flex-direction: column;

  gap: 24px;
}

/* =========================================================
   TARJETAS PRINCIPALES
========================================================= */

.options-box {
  background: rgba(255,255,255,0.92);

-webkit-backdrop-filter: blur(14px);
backdrop-filter: blur(14px);

  border: 1px solid rgba(15,23,42,0.06);

  border-radius: 28px;

  padding: 28px;

  box-shadow:
    0 10px 28px rgba(15,23,42,0.06);

  transition: 0.28s ease;
}

.options-box:hover {
  box-shadow:
    0 18px 40px rgba(15,23,42,0.08);
}

/* TITULO */
.options-box h3 {
  display: flex;
  align-items: center;
  gap: 12px;

  margin-bottom: 24px;

  padding-bottom: 14px;

  border-bottom: 1px solid rgba(15,23,42,0.06);

  font-size: 1.18rem;
  font-weight: 800;

  color: #002b52;
}

.options-box h3 i {
  width: 38px;
  height: 38px;

  border-radius: 12px;

  display: flex;
  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      135deg,
      rgba(0,166,178,0.12),
      rgba(255,193,7,0.16)
    );

  color: #00a6b2;
}

/* =========================================================
   FUNDACIONES
========================================================= */

.fundaciones-grid {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 16px;
}

.fundacion-option {
  position: relative;

  display: flex;
  flex-direction: column;
  gap: 8px;

  padding: 18px;

  border-radius: 20px;

  background: #f9fcff;

  border: 1px solid rgba(15,23,42,0.06);

  cursor: pointer;

  transition: 0.28s ease;
}

.fundacion-option:hover {
  transform: translateY(-3px);

  background: #ffffff;

  border-color: rgba(0,166,178,0.22);

  box-shadow:
    0 14px 28px rgba(0,166,178,0.08);
}

/* ACTIVA */
.fundacion-option.active {
  background:
    linear-gradient(
      180deg,
      #ecfdff 0%,
      #f9ffff 100%
    );

  border-color: #00a6b2;

  outline: 2px solid rgba(0,166,178,0.16);

  box-shadow:
    0 16px 30px rgba(0,166,178,0.12);
}

.fundacion-radio {
  position: absolute;

  top: 14px;
  right: 14px;

  accent-color: #00a6b2;
}

.fundacion-name {
  font-size: 1rem;
  font-weight: 800;

  color: #17384d;

  padding-right: 22px;
}

.fundacion-price {
  font-size: 1.15rem;
  font-weight: 900;

  color: #0097a7;
}

.fundacion-info {
  font-size: 0.82rem;

  line-height: 1.5;

  color: #6b7f90;
}

/* =========================================================
   EXTRAS
========================================================= */

.extras-list {
  display: flex;
  flex-direction: column;

  gap: 14px;
}

.extra-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  padding: 16px 18px;

  border-radius: 20px;

  background: rgba(255,255,255,0.86);

  border: 1px solid rgba(15,23,42,0.06);

  transition: 0.28s ease;
}

.extra-row:hover {
  transform: translateX(4px);

  border-color: rgba(0,166,178,0.18);

  box-shadow:
    0 10px 22px rgba(15,23,42,0.05);
}

/* CHECKED */
.extra-row.checked {
  background:
    linear-gradient(
      90deg,
      #ecfdff 0%,
      #f8ffff 100%
    );

  border-color: rgba(0,166,178,0.28);

  box-shadow:
    0 12px 24px rgba(0,166,178,0.08);
}

.extra-left {
  display: flex;
  align-items: center;
  gap: 14px;

  flex: 1;
}

.extra-checkbox {
  width: 20px;
  height: 20px;

  accent-color: #00a6b2;

  cursor: pointer;
}

.extra-info-text {
  display: flex;
  flex-direction: column;

  gap: 4px;
}

.extra-name {
  font-size: 0.95rem;
  font-weight: 800;

  color: #17384d;
}

.extra-desc {
  font-size: 0.8rem;

  color: #708293;

  line-height: 1.5;
}

/* TAG PRECIO */
.extra-price-tag {
  width: fit-content;

  margin-top: 4px;

  padding: 5px 10px;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      rgba(0,166,178,0.10),
      rgba(255,193,7,0.16)
    );

  color: #008b96;

  font-size: 0.78rem;
  font-weight: 800;
}

/* =========================================================
   CONTROLES CANTIDAD
========================================================= */

.extra-controls {
  display: flex;
  align-items: center;
  gap: 18px;
}

.extra-qty-picker {
  display: flex;
  align-items: center;

  background: #f1f6fb;

  border-radius: 14px;

  padding: 4px;

  opacity: 0.35;
  pointer-events: none;

  transition: 0.28s ease;
}

.extra-row.checked .extra-qty-picker {
  opacity: 1;
  pointer-events: auto;
}

/* BOTONES */
.qty-btn {
  width: 30px;
  height: 30px;

  border: 1px solid rgba(15,23,42,0.08);

  border-radius: 10px;

  background: white;

  color: #17384d;

  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 1rem;

  transition: 0.25s ease;
}

.qty-btn:hover {
  background: #00a6b2;

  color: white;

  border-color: #00a6b2;
}

.qty-input-box {
  width: 48px;

  border: none;

  background: transparent;

  text-align: center;

  font-size: 0.92rem;
  font-weight: 800;

  color: #17384d;

  appearance: textfield;
}

.qty-input-box::-webkit-inner-spin-button,
.qty-input-box::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.qty-unit {
  font-size: 0.78rem;
  font-weight: 700;

  color: #7a8d9d;
}

.extra-total-val {
  min-width: 100px;

  text-align: right;

  font-size: 0.98rem;
  font-weight: 900;

  color: #0f172a;
}

/* =========================================================
   RESUMEN STICKY
========================================================= */

.cotizacion-summary-card {
  position: sticky;

  top: 100px;

  background: rgba(255,255,255,0.95);

  backdrop-filter: blur(14px);

  border-radius: 28px;

  border: 1px solid rgba(15,23,42,0.06);

  padding: 28px;

  box-shadow:
    0 18px 40px rgba(15,23,42,0.08);
}

/* HEADER */
.summary-header {
  margin-bottom: 22px;

  padding-bottom: 16px;

  border-bottom: 1px solid rgba(15,23,42,0.06);
}

.summary-header h3 {
  display: flex;
  align-items: center;
  gap: 10px;

  font-size: 1.2rem;
  font-weight: 800;

  color: #002b52;
}

.summary-header h3 i {
  color: #00a6b2;
}

/* =========================================================
   TABLA
========================================================= */

.summary-table {
  width: 100%;

  border-collapse: collapse;

  margin-bottom: 24px;
}

.summary-table th {
  padding-bottom: 12px;

  border-bottom: 1px solid rgba(15,23,42,0.06);

  text-align: left;

  font-size: 0.75rem;
  font-weight: 800;

  letter-spacing: 1px;
  text-transform: uppercase;

  color: #7b8da1;
}

.summary-table td {
  padding: 14px 0;

  border-bottom: 1px solid #eef4f8;

  vertical-align: top;

  font-size: 0.92rem;
}

.summary-item-name {
  font-weight: 700;

  color: #17384d;
}

.summary-item-qty {
  margin-top: 4px;

  font-size: 0.76rem;

  color: #7b8da1;
}

.summary-item-val {
  text-align: right;

  font-weight: 800;

  color: #0f172a;
}

/* =========================================================
   TOTAL
========================================================= */

.summary-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin: 0 -28px 24px;

  padding: 20px 28px;

  background:
    linear-gradient(
      135deg,
      rgba(0,91,143,0.08),
      rgba(255,193,7,0.12)
    );

  border-top: 1px solid rgba(15,23,42,0.06);
  border-bottom: 1px solid rgba(15,23,42,0.06);
}

.total-label {
  font-size: 1rem;
  font-weight: 800;

  color: #002b52;
}

.total-amount {
  font-size: 1.6rem;
  font-weight: 900;

  color: #002b52;

  letter-spacing: -1px;
}

/* =========================================================
   BOTON WHATSAPP
========================================================= */

.btn-whatsapp-quote {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  width: 100%;

  border: none;

  padding: 16px;

  border-radius: 18px;

  cursor: pointer;

  font-size: 1rem;
  font-weight: 800;

  color: white;

  background:
    linear-gradient(
      135deg,
      #25D366 0%,
      #1ebe57 100%
    );

  box-shadow:
    0 14px 30px rgba(37,211,102,0.24);

  transition: 0.28s ease;
}

.btn-whatsapp-quote:hover {
  transform: translateY(-2px);

  box-shadow:
    0 18px 36px rgba(37,211,102,0.32);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 992px) {

  .cotizador-layout {
    grid-template-columns: 1fr;
  }

  .cotizacion-summary-card {
    position: relative;
    top: 0;
  }
}

@media (max-width: 768px) {

  .section-cotizador {
    padding: 70px 0;
  }

  .options-box,
  .cotizacion-summary-card {
    border-radius: 22px;

    padding: 22px;
  }

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

  .extra-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .extra-controls {
    width: 100%;

    justify-content: space-between;
  }

  .summary-total-row {
    flex-direction: column;
    align-items: flex-start;

    gap: 8px;
  }

  .total-amount {
    font-size: 1.4rem;
  }
}
/* -------------------------------------------------------------
   Sección Quiénes Somos / Contacto
   ------------------------------------------------------------- */
.section-footer-info {
  background: var(--primary);
  color: white;
  padding: 80px 0;
  border-top: 1px solid var(--border-color);
}

.footer-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
}

.footer-column h2 {
  font-size: 1.75rem;
  font-weight: 800;
  margin-bottom: 24px;
  color: var(--yellow);
}

.footer-column p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.05rem;
  line-height: 1.8;
  margin-bottom: 20px;
}

.contact-info-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contact-info-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.05rem;
}

.contact-info-list li i {
  color: var(--yellow);
  font-size: 1.25rem;
}

.main-footer {
  background: #002244;
  color: rgba(255, 255, 255, 0.6);
  padding: 24px 0;
  font-size: 0.9rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* -------------------------------------------------------------
   Estilos específicos de parcela.html (Detalle de Terreno Dinámico)
   ------------------------------------------------------------- */
.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  color: var(--text-muted);
  padding: 24px 0 16px 0;
}

.breadcrumbs a {
  text-decoration: none;
  color: var(--text-muted);
  transition: var(--transition);
}

.breadcrumbs a:hover {
  color: var(--secondary);
}

.breadcrumbs i {
  width: 14px;
  height: 14px;
}

.detail-header-layout {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 32px;
  flex-wrap: wrap;
  gap: 20px;
}

.detail-title h1 {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--primary);
  margin-bottom: 12px;
  line-height: 1.2;
}

.detail-location {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
  font-size: 1.05rem;
  font-weight: 500;
}

.detail-location i {
  color: var(--secondary);
}

.detail-price-box {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.detail-main-price {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--primary);
}

.detail-uf-estimate {
  font-size: 1.05rem;
  color: var(--text-muted);
  font-weight: 600;
}


.contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}


/* =========================================================
   Base común: todos los botones se sienten importantes
   ========================================================= */
.btn-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  padding: 12px 16px;
  border-radius: 14px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: var(--transition);
  border: 1px solid transparent;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

.btn-card i {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* =========================================================
   1) Ver parcela
   Protagónico, pero más limpio y editorial
   ========================================================= */
.btn-detail-plot {
  background: #ffffff;
  color: var(--primary);
  border-color: rgba(var(--primary-rgb), 0.14);
}

.btn-detail-plot:hover {
  transform: translateY(-1px);
  background: #f8fbff;
  border-color: rgba(var(--primary-rgb), 0.24);
  box-shadow: 0 10px 22px rgba(var(--primary-rgb), 0.10);
}

/* =========================================================
   2) Sumar casa
   Principal corporativo
   ========================================================= */
.btn-select-plot {
  background: var(--primary);
  color: #ffffff;
  border-color: rgba(var(--primary-rgb), 0.18);                     
}

.btn-select-plot:hover {
  transform: translateY(-1px);
  background: #004162;
  box-shadow: 0 10px 22px rgba(var(--primary-rgb), 0.16);
}

/* Estado cuando la parcela ya está elegida */
.btn-select-plot.selected {
  background: var(--secondary);
  border-color: rgba(var(--secondary-rgb), 0.18);
}

.btn-select-plot.selected:hover {
  background: #006f75;
  box-shadow: 0 10px 22px rgba(var(--secondary-rgb), 0.16);
}

/* =========================================================
   Variante reusable para otros botones protagónicos del sitio
   (por ejemplo CTA de cotizar, diseño propio, etc.)
   ========================================================= */
.btn-accent {
  background: #ffffff;
  color: var(--secondary);
  border: 1px solid rgba(var(--secondary-rgb), 0.18);
  box-shadow: 0 6px 18px rgba(var(--secondary-rgb), 0.08);
}

.btn-accent:hover {
  transform: translateY(-1px);
  background: #f7fcfc;
  border-color: rgba(var(--secondary-rgb), 0.28);
  box-shadow: 0 10px 22px rgba(var(--secondary-rgb), 0.12);
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 640px) {
  .card-actions {
    flex-direction: column;
  }
}

.casa-img-slide {
  display: none;
}

.casa-img-slide.active {
  display: block;
}

.section-cotizador.active {
  animation: fadeUp 0.4s ease;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ===== GRID CASAS ===== */

.casas-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(350px,1fr));
    gap:20px;
}

/* ===== IMAGEN ===== */

.casa-img-container{
    position:relative;
    height:260px;
    overflow:hidden;
}

.casa-img-container img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.casa-card:hover .casa-img-container img{
    transform:scale(1.05);
}

/* ===== BADGE M2 ===== */

.casa-specs-badge{
    position:absolute;
    bottom:15px;
    left:15px;
    background:rgb(212, 255, 0);
    padding:8px 14px;
    border-radius:50px;
    font-weight:700;
    font-size:14px;
    box-shadow:0 4px 10px rgba(0,0,0,.15);
}

/* ===== CUERPO ===== */

.casa-body{
    padding:22px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.casa-title{
    font-size:1.4rem;
    font-weight:700;
    margin-bottom:10px;
}

.casa-price{
    font-size:2rem;
    font-weight:800;
    margin-bottom:15px;
}

.casa-desc{
    min-height:20px;
    line-height:1.5;
}

/* ===== BOTON ===== */

.btn-select-casa{
    width:100%;
    margin-top:center;
    padding:14px;
    border:none;
    border-radius:12px;
    background:#00828a;
    color:#fff;
    font-weight:700;
    cursor:pointer;
}

/* ===== TARJETA ===== */

.casa-card{
    background:#ffffff;
    border-radius:18px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    height:100%;
}

/* =========================================================
   PREVIEW PROYECTO FINAL
========================================================= */

.summary-project-preview {
  margin-bottom: 26px;
}

/* IMÁGENES */
.preview-images {
  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 10px;

  margin-bottom: 18px;
}

.preview-images img {
  width: 100%;
  height: 130px;

  object-fit: cover;

  border-radius: 18px;

  border: 3px solid white;

  background: #edf4fa;

  box-shadow:
    0 10px 24px rgba(15,23,42,0.10);

  transition: 0.3s ease;
}

.preview-images img:hover {
  transform: scale(1.02);
}

/* BADGE */
.preview-badge {
  display: inline-flex;

  padding: 6px 14px;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      #ffc107,
      #ffe082
    );

  color: #002b52;

  font-size: 0.78rem;
  font-weight: 800;

  margin-bottom: 12px;

  box-shadow:
    0 6px 16px rgba(255,193,7,0.20);
}

/* TITULO */
.preview-info h3 {
  font-size: 1.2rem;
  font-weight: 800;

  color: #002b52;

  margin-bottom: 8px;

  line-height: 1.3;
}

/* TEXTO */
.preview-info p {
  color: #64748b;

  font-size: 0.9rem;

  line-height: 1.6;
}


/* Datos principales visibles del proyecto */
.project-main-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
}

.project-detail-card {
  position: relative;
  overflow: hidden;
  min-height: 116px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(0, 63, 122, 0.12);
  background: linear-gradient(145deg, #ffffff, #f3f8fc);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
}

.project-detail-card::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -30px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: rgba(0, 130, 138, 0.09);
}

.project-detail-label {
  position: relative;
  z-index: 1;
  display: inline-flex;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #003f7a;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.project-detail-house .project-detail-label {
  background: #00828a;
}

.project-detail-card strong,
.project-detail-card small {
  position: relative;
  z-index: 1;
  display: block;
}

.project-detail-card strong {
  color: #002b52;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.25;
}

.project-detail-card small {
  margin-top: 7px;
  color: #526b7d;
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.35;
}

@media (max-width: 620px) {
  .project-main-details {
    grid-template-columns: 1fr;
  }

  .project-detail-card {
    min-height: 104px;
  }
}

/* TOTAL MÁS PREMIUM */
.total-amount {
  font-size: 2rem;
  letter-spacing: -1px;
}

/* MOBILE */
@media (max-width: 768px) {

  .preview-images img {
    height: 110px;
  }

  .preview-info h3 {
    font-size: 1.05rem;
  }

}

.casa-actions{

  display:grid;

  grid-template-columns: 1fr 1.3fr;

  gap:12px;

  margin-top:auto;

}

.btn-view-plan{

  background:white;

  border:1px solid #dce7f0;

  border-radius:14px;

  padding:12px;

  font-weight:700;

  color:var(--primary);

  cursor:pointer;

  transition:.3s ease;

  display:flex;

  align-items:center;

  justify-content:center;

  gap:8px;

}

.btn-view-plan:hover{

  background:#f2fbff;

  border-color:var(--secondary);

  color:var(--secondary);

  transform:translateY(-2px);

}

@media (max-width:640px){

  .casa-actions{

    grid-template-columns:1fr;

  }

}

/* =========================================
   FILTROS CASAS
========================================= */

.casas-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:28px;
  padding:18px;
  background:white;
  border-radius:22px;
  border:1px solid #dbe7ef;
  box-shadow:0 8px 24px rgba(0,63,122,0.06);
}

.filter-room-btn{
  border:none;
  background:#eef5fb;
  color:var(--primary);
  padding:12px 18px;
  border-radius:999px;
  font-weight:700;
  cursor:pointer;
  transition:0.25s ease;
  font-size:0.92rem;
}

.filter-room-btn:hover{
  background:var(--yellow);
  color:var(--dark);
  transform:translateY(-2px);
}

.filter-room-btn.active{
  background:linear-gradient(135deg,var(--primary),#0057a8);
  color:white;
  box-shadow:0 8px 20px rgba(0,63,122,0.20);
}

/* MOBILE */

@media (max-width:640px){

  .casas-filters{
    gap:8px;
    padding:14px;
    overflow-x:auto;
    flex-wrap:nowrap;
  }

  .filter-room-btn{
    white-space:nowrap;
    font-size:0.85rem;
    padding:10px 14px;
  }

}


/* Contenedor */
.casas-room-filter{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    margin:30px 0;
}

.room-filter-btn{

    display:flex;
    align-items:center;
    gap:8px;

    padding:12px 24px;

    background:#fff;

    border:2px solid #E5E7EB;

    border-radius:50px;

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

    color:#555;

    cursor:pointer;

    transition:all .30s ease;
}

.room-filter-btn i{
    font-size:16px;
}

.room-filter-btn:hover{

    background:#0A58CA;
    color:white;

    border-color:#0A58CA;

    transform:translateY(-3px);

    box-shadow:0 10px 20px rgba(0,0,0,.12);
}

.room-filter-btn.active{

    background:linear-gradient(135deg,#0A58CA,#2563EB);

    color:white;

    border-color:#2563EB;

    box-shadow:0 8px 18px rgba(37,99,235,.35);
}

.image-banner {
    display: flex;
    gap: 10px;
    width: 100%;
}

.image-banner .promo-banner {
    width: 50%;
    height: auto;
    object-fit: cover;
}

.grid-view {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.list-view{
    display:grid;
}

@media (max-width: 1400px) {
    .grid-view {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 1100px) {
    .grid-view {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .grid-view {
        grid-template-columns: repeat(2, 1fr);
    }
}
/*=========================================
MODOS DE VISUALIZACIÓN
=========================================*/

.parcelas-grid.grid-view{
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
}

.parcelas-grid.list-view{
    grid-template-columns: 1fr;
}

#map-container{

    position:relative;

    width:100%;

    height:100%;

    border-radius:22px;

    overflow:hidden;

    background:#fff;

    box-shadow:
        0 12px 35px rgba(0,0,0,.10);

}

.map-hidden{
    display:none;
}

.map-visible{
    display:block;
}



.map-layout{

    display:none;

    grid-template-columns:420px 1fr;

    gap:28px;

    width:100%;

    height:calc(100vh - 170px);

    margin-top:25px;

}



.map-layout.map-visible{

    display:grid;

}


#map-sidebar{

    width:280px;

    background:#fff;

    border-radius:18px;

    overflow-y:auto;

    padding:15px;

    box-shadow:0 4px 15px rgba(0,0,0,.08);

    #map-sidebar::-webkit-scrollbar{

    width:8px;

}

#map-sidebar::-webkit-scrollbar-track{

    background:#f3f3f3;

}

#map-sidebar::-webkit-scrollbar-thumb{

    background:#d3d3d3;

    border-radius:20px;

}

#map-sidebar::-webkit-scrollbar-thumb:hover{

    background:#b8b8b8;

}

}

.map-card{

    display:flex;

    flex-direction:column;

    gap:14px;

    margin-bottom:18px;

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    cursor:pointer;

    border:1px solid #ececec;

    transition:
        transform .25s,
        box-shadow .25s,
        border-color .25s;

}

#map-cards{

    flex:1;

    overflow-y:auto;

    padding:20px;

    background:#f6f7f9;

}

#map-cards::-webkit-scrollbar{

    width:8px;

}

#map-cards::-webkit-scrollbar-thumb{

    background:#d3d3d3;

    border-radius:20px;

}



.map-card:hover{

    transform:translateY(-4px);

    border-color:#FFC107;

    box-shadow:
        0 16px 35px rgba(0,0,0,.14);

}


.map-card img{

    width:100%;

    height:220px;

    object-fit:cover;

}

.map-card-image{

    position:relative;

}

.map-card-image img{

    width:100%;

    height:230px;

    object-fit:cover;

    display:block;

}



.map-card-info{

    padding:0 18px 18px;

}



.map-card-info h4{

    margin:0 0 6px;

}

.map-card-info p{

    margin:0;

    color:#666;

}

.map-card-info strong{

    display:block;

    margin-top:14px;

    font-size:1.3rem;

    color:#009245;

}

#map-sidebar{

    width:420px;
    min-width:420px;

    display:flex;
    flex-direction:column;

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    border:1px solid #ececec;

    box-shadow:
        0 20px 45px rgba(0,0,0,.08);

}

.map-sidebar-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:22px 24px;

    background:#fff;

    border-bottom:1px solid #ececec;

    position:sticky;

    top:0;

    z-index:50;

}

.map-sidebar-header h4{

    margin:0;

    font-size:20px;

    font-weight:700;

}

#map-results{

    background:#FFC107;

    color:#333;

    padding:6px 14px;

    border-radius:30px;

    font-weight:700;

    font-size:13px;

}



.map-wrapper{

    height:calc(100vh - 110px);

}

.map-controls{

    position:absolute;

    right:20px;

    top:20px;

    display:flex;

    flex-direction:column;

    gap:12px;

}

.map-badge{

    position:absolute;

    top:14px;

    left:14px;

    background:#FFC107;

    color:#222;

    padding:8px 14px;

    border-radius:30px;

    font-size:12px;

    font-weight:700;

}

.map-card-info h3{

    margin:0;

    font-size:20px;

    color:#222;

}

.map-card-location{

    margin-top:8px;

    color:#777;

}

.map-card-price{

    margin-top:18px;

    font-size:28px;

    font-weight:800;

    color:#009245;

}

.map-features{

    display:flex;

    gap:10px;

    flex-wrap:wrap;

    margin-top:18px;

}

.map-features span{

    background:#f4f6f8;

    padding:8px 12px;

    border-radius:25px;

    font-size:13px;

}

.map-detail-btn{

    display:inline-block;

    margin-top:18px;

    text-decoration:none;

    text-align:center;

    width:100%;

    padding:12px;

    border-radius:12px;

    background:#FFC107;

    color:#222;

    font-weight:700;

    transition:.2s;

}

.map-detail-btn:hover{
    background:#ffb300;
}


.map-card{

    transition:
        transform .25s,
        box-shadow .25s;

}

.map-card:hover{

    transform:translateY(-6px);

    box-shadow:
        0 22px 40px rgba(0,0,0,.16);

}


.decision-flow{

    width:100%;

    display:flex;

    justify-content:center;

    padding:40px 20px;

}

.decision-box{

    background:white;

    padding:30px;

    border-radius:20px;

    box-shadow:0 15px 40px rgba(0,0,0,.1);

    text-align:center;

    max-width:600px;

    width:100%;

}

.decision-buttons{

    display:flex;

    gap:15px;

    justify-content:center;

    margin-top:20px;

}

.decision-buttons button{

    padding:14px 20px;

    border-radius:12px;

    border:1px solid #ddd;

    cursor:pointer;

    font-weight:700;

    transition:.2s;

}

.decision-buttons button:hover{

    background:#FFC107;

    border-color:#FFC107;

}

.budget-box{

    margin-top:25px;

}

#budget-input{

    width:100%;

    padding:14px;

    border-radius:12px;

    border:1px solid #ddd;

    margin-top:10px;

    font-size:16px;

}

#budget-go{

    margin-top:15px;

    width:100%;

    padding:14px;

    background:#009245;

    color:white;

    border:none;

    border-radius:12px;

    font-weight:700;

    cursor:pointer;

}

.hidden{
    display:none !important;
}

.property-section {
    margin-bottom: 40px;
}

.property-section h2 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #111;
}

.property-section .grid-view {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

/* =========================================================
   BOTONES DE VISTA
========================================================= */

.view-buttons{

    display:flex;
    align-items:center;
    gap:8px;

    padding:6px;

    background:#fff;

    border-radius:18px;

    border:1px solid rgba(15,23,42,.06);

    box-shadow:0 10px 25px rgba(15,23,42,.08);

}

.view-buttons button{

    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:12px 18px;

    border:none;

    background:transparent;

    border-radius:14px;

    cursor:pointer;

    font-size:.92rem;
    font-weight:700;

    color:#64748b;

    transition:.25s ease;

}

.view-buttons button i{

    font-size:15px;

}

.view-buttons button:hover{

    background:#f5f9fc;

    color:#005b8f;

}

.view-buttons button.active{

    background:linear-gradient(135deg,#005b8f,#007cc2);

    color:#fff;

    box-shadow:0 10px 20px rgba(0,91,143,.22);

}

.view-buttons button.active i{

    color:#fff;

}

@media (max-width:768px){

    .view-buttons{

        width:100%;

    }

    .view-buttons button{

        flex:1;

        padding:12px;

    }

    .view-buttons button span{

        display:none;

    }

}

/* =========================================================
   TRANSICIÓN ENTRE VISTAS
========================================================= */



.card-gallery-container {
  position: relative;

  height: 220px;

  overflow: hidden;

  background: #edf4fa;
}




.parcela-card {
  border-radius: 18px;
  overflow: hidden;
  background: white;
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
  transition: .25s;
  display: flex;
  flex-direction: column;
}

.parcela-card:hover {
  transform: translateY(-4px);
  transform: scale(1.05);
}

.card-image {
  position: relative;
  height: 190px;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  transition: transform 0.4s ease;

}

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

.card-comuna {
  position: absolute;
  top: 10px;
  left: 10px;

  display: inline-flex;
  align-items: center;

  background: rgba(15, 23, 42, 0.45);
  color: white;

  font-size: 0.92rem;
  font-weight: 600;

  padding: 3px 8px;  /* 👈 más compacto */
  border: 1px solid rgba(255,255,255,0.12);

  backdrop-filter: blur(6px);

  max-width: fit-content;
  white-space: nowrap;
}


.card-price {
  position: absolute;
  bottom: 10px;
  left: 10px;

  background: rgba(0, 10, 102, 0.95);
  color: #ffffff;

  font-weight: 900;
  font-size: 1rem;

  padding: 6px 12px;
  border-radius: 10px;

  box-shadow: 0 8px 20px rgba(255,193,7,.25);
}

.card-body {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.card-title {
  font-size: 0.95rem;
  font-weight: 800;
  color: #002b52;
  margin: 0;
}

.card-meta {
  font-size: 0.85rem;
  color: #64748b;
}

.leaflet-popup-content {
    margin: 0;
}

.leaflet-popup-content-wrapper {
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
}

.popup-card{
    width:260px;
    overflow:hidden;
    background:#fff;
}

.popup-image{

    width:100%;
    height:165px;
    object-fit:cover;
    display:block;

}

.popup-content{

    padding:16px;

}

.popup-content h4{

    margin:0;
    font-size:18px;
    font-weight:700;
    color:#222;

}

.popup-price{

    margin:10px 0 18px;
    font-size:24px;
    font-weight:800;
    color:#009245;

}

.popup-btn{

    display:block;
    text-align:center;
    padding:12px;
    border-radius:10px;
    text-decoration:none;
    font-weight:700;
    margin-bottom:10px;
    transition:.25s;

}

.popup-btn.info{

    background:#f3f3f3;
    color:#333;

}

.popup-btn.info:hover{

    background:#e8e8e8;

}

.popup-btn.quote{

    background:#009245;
    color:white;

}

.popup-btn.quote:hover{

    background:#007a39;

}

.custom-price-marker{

    background:none;
    border:none;

}

.price-marker{

    background:white;

    padding:8px 14px;

    border-radius:30px;

    font-weight:700;

    font-size:14px;

    color:#222;

    border:2px solid white;

    box-shadow:0 8px 25px rgba(0,0,0,.25);

    transition:.25s;

    white-space:nowrap;

    cursor:pointer;

}

.price-marker:hover{

    transform:scale(1.08);

}

.price-marker.active{

    background:#009245;

    color:white;

    border-color:#009245;

}

.filter-card {
  position: sticky;
  top: 70px; /* ajusta según tu navbar */
  z-index: 100;
  background: white;
}

.map-visible .filter-card {
  position: fixed;
  top: 10px;
  left: 10px;
  right: 10px;
  z-index: 999;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.filter-btn.active {
  background: #111;
  color: white;
  border-color: #111;
}

.dropdown-container{
    position: relative;
    z-index: 2000;
}

.dropdown-menu{
    position: absolute;
    z-index: 9999;
}


/* =====================================================
   MEJORAS FLUJO INICIAL / PARCELAS / MAPA / COTIZADOR
   ===================================================== */
.hidden{display:none!important;}
.decision-flow{
  padding:42px 18px 26px;
  background:linear-gradient(135deg,#004785 0%,#005fa8 48%,#00828a 100%);
  color:#fff;
}
.decision-flow.flow-completed{padding:18px;background:#f8fafc;color:var(--primary,#004785);}
.decision-box,.budget-box{
  max-width:980px;
  margin:0 auto;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 22px 60px rgba(0,0,0,.18);
  border-radius:28px;
  padding:30px;
  backdrop-filter:blur(10px);
}
.budget-box{margin-top:18px;background:#fff;color:#123;}
.decision-kicker{display:inline-flex;padding:7px 14px;border-radius:999px;background:#ffd447;color:#004785;font-weight:800;font-size:.86rem;}
.decision-box h2{font-size:clamp(1.9rem,4vw,3rem);margin:14px 0 8px;color:#fff;}
.decision-intro{opacity:.9;margin-bottom:22px;}
.decision-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.decision-buttons button{
  border:0;border-radius:22px;padding:22px;cursor:pointer;text-align:left;background:#fff;color:#004785;
  box-shadow:0 14px 35px rgba(0,0,0,.16);transition:.25s ease;font:inherit;
}
.decision-buttons button:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(0,0,0,.24);}
.decision-buttons strong{display:block;font-size:1.25rem;margin-bottom:6px;}
.decision-buttons span{display:block;color:#64748b;font-weight:600;line-height:1.35;}
.budget-box h3{margin:0 0 6px;color:#004785;font-size:1.55rem;}
.budget-box p{margin:0 0 18px;color:#64748b;}
.budget-box input,.budget-box select{
  width:100%;border:1px solid #dbe3ef;border-radius:16px;padding:15px 16px;font-size:1rem;margin-bottom:12px;background:#f8fafc;
}
.combo-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
#budget-go{width:100%;border:0;border-radius:16px;padding:16px 18px;background:#ffc107;color:#14324a;font-weight:900;cursor:pointer;box-shadow:0 12px 26px rgba(255,193,7,.28);}
.parcelas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;align-items:stretch;}
.parcela-card{background:#fff;border:1px solid #e5edf6;border-radius:24px;overflow:hidden;box-shadow:0 14px 35px rgba(15,23,42,.08);transition:.25s ease;}
.parcela-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(15,23,42,.14);}
.parcela-card.selected{outline:3px solid #ffc107;}
.card-image{position:relative;display:block;height:210px;overflow:hidden;color:inherit;text-decoration:none;background:#dbeafe;}
.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s ease;}
.parcela-card:hover .card-image img{transform:scale(1.06);}
.card-comuna,.card-price{position:absolute;z-index:2;border-radius:999px;font-weight:900;box-shadow:0 10px 25px rgba(0,0,0,.18);}
.card-comuna{left:14px;top:14px;background:rgba(255,255,255,.94);color:#004785;padding:8px 12px;font-size:.82rem;}
.card-price{right:14px;bottom:14px;background:#ffc107;color:#0f172a;padding:10px 14px;}
.card-body{padding:20px;}
.card-title{margin:0 0 8px;color:#004785;font-size:1.15rem;line-height:1.25;}
.card-meta{font-weight:800;color:#00828a;margin-bottom:10px;}
.card-description{color:#64748b;line-height:1.45;font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;}
.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.btn-card{border:0;border-radius:14px;padding:12px 10px;text-decoration:none;text-align:center;font-weight:900;cursor:pointer;font-size:.9rem;}
.btn-details{background:#eef6ff;color:#004785;}
.btn-add-house{background:#00828a;color:#fff;}
.view-buttons{display:flex;justify-content:flex-end;margin-bottom:18px;}
.btn-open-map{display:inline-flex!important;gap:8px;align-items:center;border:0;border-radius:999px;background:#004785!important;color:#fff!important;padding:13px 18px!important;font-weight:900;box-shadow:0 12px 30px rgba(0,71,133,.25);}
.map-hidden{display:none!important;}
.map-visible{display:grid!important;}
.map-layout{grid-template-columns:360px minmax(0,1fr);gap:0;min-height:680px;margin-top:28px;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.16);border:1px solid #e2e8f0;position:relative;}
.map-toolbar{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:#004785;color:#fff;}
.map-toolbar h3{margin:0;display:flex;align-items:center;gap:8px;color:#fff;}
.map-actions{display:flex;flex-wrap:wrap;gap:10px;}
.map-actions button,.back-to-parcelas-btn{border:0;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;background:#ffc107;color:#17324a;}
#map-sidebar{background:#f8fafc;border-right:1px solid #e2e8f0;padding:18px;overflow:auto;max-height:620px;}
.map-sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.map-sidebar-header h4{margin:0;color:#004785;}
#map-results{background:#e0f2fe;color:#0369a1;padding:6px 10px;border-radius:999px;font-weight:900;font-size:.8rem;}
#map-cards{display:grid;gap:12px;}
.map-card-item{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:center;width:100%;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:10px;text-align:left;cursor:pointer;transition:.2s ease;}
.map-card-item:hover{transform:translateX(4px);border-color:#00828a;}
.map-card-item img{width:82px;height:66px;border-radius:14px;object-fit:cover;background:#dbeafe;}
.map-card-item strong{display:block;color:#004785;font-size:.92rem;line-height:1.25;}
.map-card-item small{display:block;color:#64748b;margin-top:4px;}
#map-container{width:100%;min-height:620px;z-index:1;}
.back-to-parcelas-btn{position:absolute;right:18px;bottom:18px;z-index:500;background:#fff;color:#004785;box-shadow:0 12px 30px rgba(0,0,0,.18);}
.popup-select{border:0;border-radius:999px;background:#00828a;color:#fff;font-weight:800;padding:8px 12px;margin-top:8px;cursor:pointer;}
.section-casas,.section-cotizador{display:none;}
.section-casas.active,.section-cotizador.active{display:block;}
.casa-card.selected{outline:3px solid #ffc107;}
.btn-select-house{width:100%;border:0;border-radius:14px;background:#004785;color:#fff;font-weight:900;padding:12px;margin-top:14px;cursor:pointer;}
.fundacion-option{border:1px solid #dbe3ef;background:#fff;border-radius:16px;padding:14px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:10px;}
.fundacion-option.selected{border-color:#00828a;background:#ecfeff;}
.extra-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px;margin-bottom:10px;}
.extra-row-modern{grid-template-columns:1fr auto 82px;}
.extra-row input{border:1px solid #dbe3ef;border-radius:12px;padding:8px;width:82px;}
@media(max-width:900px){.decision-buttons,.combo-fields,.map-layout{grid-template-columns:1fr}.map-toolbar{align-items:flex-start;flex-direction:column}.map-visible{display:block!important}#map-sidebar{max-height:none}.card-actions{grid-template-columns:1fr}.parcelas-grid{grid-template-columns:1fr}.decision-box,.budget-box{padding:22px}.decision-flow{padding:24px 12px}}

/* Mejora: texto clickeable Ver en mapa dentro de tarjetas */
.card-map-text{
  margin:8px 0 10px;
  font-size:.92rem;
  line-height:1.25;
  color:#00828a;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  flex-direction:column;
  gap:2px;
  border-bottom:1px dashed rgba(0,130,138,.45);
}
.card-map-text span{
  font-size:.75rem;
  font-weight:600;
  color:#64748b;
}
.card-map-text:hover{color:#004785;border-bottom-color:#004785;}
.card-map-text:focus{outline:3px solid rgba(0,130,138,.22);outline-offset:4px;border-radius:8px;}
.extra-row-modern span small{display:block;margin-top:3px;color:#64748b;font-size:.78rem;font-weight:600;}
.fundacion-option.selected{border-color:#00828a!important;background:linear-gradient(135deg,rgba(0,130,138,.12),rgba(255,212,71,.18))!important;box-shadow:0 12px 26px rgba(0,130,138,.16)!important;}

/* =========================================================
   MEJORAS FINALES JULIO 2026 - FLUJO PROFESIONAL
========================================================= */
.parcelas-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.parcelas-sidebar{
  position:sticky;
  top:96px;
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:26px;
  padding:20px;
  box-shadow:0 18px 45px rgba(15,23,42,.10);
}
.sidebar-header h3{margin:0 0 10px;color:#004785;font-size:1.2rem;line-height:1.2;}
.parcelas-sidebar .filter-buttons-wrapper{display:grid;gap:10px;}
.parcelas-sidebar .filter-btn{
  width:100%;
  justify-content:flex-start;
  border:1px solid #dbe3ef;
  border-radius:16px;
  background:#f8fafc;
  color:#12324a;
  padding:13px 14px;
  font-weight:850;
  box-shadow:none;
}
.parcelas-sidebar .filter-btn:hover,
.parcelas-sidebar .filter-btn.active{
  background:#004785;
  color:#fff;
  border-color:#004785;
  transform:translateX(3px);
}
.parcelas-content{min-width:0;}
.search-heading-card{
  background:linear-gradient(135deg,#ffffff 0%,#f1f9ff 100%);
  border:1px solid #dbeafe;
  border-radius:24px;
  padding:20px 22px;
  box-shadow:0 14px 35px rgba(15,23,42,.07);
  margin-bottom:18px;
}
.search-kicker{display:inline-flex;border-radius:999px;background:#ffc107;color:#17324a;padding:5px 12px;font-weight:900;font-size:.78rem;margin-bottom:8px;}
.search-heading-card h3{margin:0;color:#004785;font-size:1.35rem;line-height:1.25;}
.search-heading-card p{margin:6px 0 0;color:#64748b;line-height:1.45;}
.parcelas-content .parcelas-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.card-map-text span{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#64748b!important;
  font-weight:650!important;
  box-shadow:none!important;
  font-size:.78rem;
}
.house-plan-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:14px;
  border-radius:14px;
  padding:11px 12px;
  background:#fff7d6;
  color:#8a5a00;
  font-weight:900;
  text-decoration:none;
  border:1px solid rgba(255,193,7,.45);
}
.house-plan-link:hover{background:#ffc107;color:#17324a;}
.preview-photo-box{position:relative;display:grid;gap:8px;}
.preview-photo-box img{margin:0;}
.summary-change-link{
  border:0;
  background:transparent;
  color:#00828a;
  font-weight:900;
  cursor:pointer;
  padding:0;
  text-decoration:underline;
  text-underline-offset:4px;
}
.summary-change-link:hover{color:#004785;}
.no-results{
  grid-column:1/-1;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:24px;
  padding:28px;
  text-align:center;
  box-shadow:0 14px 35px rgba(15,23,42,.08);
}
@media(max-width:1100px){
  .parcelas-layout{grid-template-columns:1fr;}
  .parcelas-sidebar{position:relative;top:0;}
  .parcelas-sidebar .filter-buttons-wrapper{grid-template-columns:repeat(2,minmax(0,1fr));}
  .parcelas-content .parcelas-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  .parcelas-sidebar .filter-buttons-wrapper,
  .parcelas-content .parcelas-grid{grid-template-columns:1fr;}
}

/* =====================================================
   MEJORAS PREMIUM MAPA / POPUPS / CASAS / PRECIO
   ===================================================== */
.card-price{
  font-size:1.08rem!important;
  letter-spacing:.2px;
  box-shadow:0 14px 35px rgba(255,193,7,.42),0 5px 14px rgba(0,0,0,.22)!important;
  border:2px solid rgba(255,255,255,.85);
}
.map-popup-card{width:230px;font-family:Outfit,Arial,sans-serif;line-height:1.25;}
.map-popup-card img{width:100%;height:105px;object-fit:cover;border-radius:12px;margin-bottom:8px;display:block;}
.map-popup-card strong{display:block;color:#004785;font-size:1rem;margin-bottom:4px;}
.map-popup-price{display:inline-flex;background:#ffc107;color:#102a43;font-weight:900;border-radius:999px;padding:5px 9px;margin:2px 0 5px;box-shadow:0 8px 18px rgba(255,193,7,.35);}
.map-popup-card small{display:block;color:#00828a;font-weight:800;margin-bottom:5px;}
.map-popup-card p{margin:0 0 9px;color:#475569;font-size:.82rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.popup-detail{display:inline-flex;width:100%;justify-content:center;text-decoration:none;background:#004785;color:#fff!important;border-radius:999px;padding:9px 12px;font-weight:900;}
.map-distance-output{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:rgba(255,255,255,.1);border-radius:14px;padding:0 22px 14px;color:#fff;}
.map-distance-output:empty{display:none;}
.map-distance-output span{background:#fff;color:#004785;border-radius:999px;padding:7px 10px;font-size:.84rem;font-weight:700;}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,24,45,.62);display:none;align-items:center;justify-content:center;z-index:99999;padding:20px;backdrop-filter:blur(5px);}
.modal-backdrop.active{display:flex;}
.lead-modal{width:min(520px,100%);background:#fff;border-radius:28px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.28);position:relative;border:1px solid #e2e8f0;}
.lead-modal h3{margin:0 0 8px;color:#004785;font-size:1.7rem;}
.lead-modal p{margin:0 0 18px;color:#64748b;line-height:1.45;}
.lead-modal form{display:grid;gap:12px;}
.lead-modal input,.lead-modal textarea{width:100%;border:1px solid #dbe3ef;border-radius:15px;padding:14px 15px;font:inherit;background:#f8fafc;}
.modal-close{position:absolute;right:16px;top:14px;border:0;background:#eef2f7;color:#004785;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer;}
.casas-grid{grid-template-columns:repeat(auto-fill,minmax(280px,320px))!important;justify-content:center;align-items:stretch;}
.casa-card{width:100%;max-width:320px;}
.casas-results-counter{max-width:1100px;margin:0 auto 18px;padding:12px 18px;border-radius:999px;background:#e0f2fe;color:#004785;font-weight:900;text-align:center;box-shadow:0 10px 25px rgba(0,71,133,.08);}
.parcela-detail-hero-upgrade{background:linear-gradient(135deg,#003f7a,#00828a);color:#fff;border-radius:30px;padding:30px;margin:22px auto;box-shadow:0 24px 65px rgba(0,63,122,.24);}

/* ===== Marca Tu Parcela Lista + mejoras mapa ===== */
.brand-logo-img{height:72px;width:auto;display:block;border-radius:18px;box-shadow:0 12px 28px rgba(0,71,133,.22);object-fit:contain;background:#004785;}
.navbar .logo-container{display:flex;align-items:center;text-decoration:none;}
.map-layout{position:relative;}
.leaflet-top.leaflet-right{top:18px;right:18px;}
.leaflet-control-zoom{border:0!important;box-shadow:0 14px 32px rgba(0,0,0,.28)!important;border-radius:16px!important;overflow:hidden;}
.leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important;font-size:24px!important;font-weight:900!important;color:#004785!important;}
.map-brand-watermark{position:absolute;right:22px;top:84px;z-index:420;width:118px;border-radius:18px;opacity:.94;box-shadow:0 18px 40px rgba(0,0,0,.28);pointer-events:none;}
.back-to-parcelas-btn{font-size:0!important;}
.back-to-parcelas-btn::after{content:'Volver a parcelas';font-size:14px;}
.map-actions button{box-shadow:0 10px 22px rgba(0,71,133,.16);}
.map-actions button#map-satellite{background:#004785;color:#fff;}
.map-actions button#map-back-top{background:#00828a;color:#fff;}
.map-popup-card img{height:110px;object-fit:cover;}
.map-popup-card .popup-detail{background:#004785!important;color:#fff!important;}
.parcela-card .price,.property-card .price,.card-price,[class*="price"]{text-shadow:0 4px 12px rgba(0,0,0,.18);}
@media(max-width:768px){.brand-logo-img{height:54px}.map-brand-watermark{width:84px;top:80px;right:14px}.leaflet-top.leaflet-right{top:12px;right:12px}}


/* ===== Ajustes v4: logo real, mapa ordenado y navegación visible ===== */
body{padding-top:82px;}
.navbar{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:6000!important;}
.brand-logo-img{height:64px!important;max-width:230px!important;width:auto!important;object-fit:contain!important;background:transparent!important;border-radius:14px!important;box-shadow:none!important;filter:drop-shadow(0 8px 18px rgba(0,71,133,.18));}
.map-layout{scroll-margin-top:100px;grid-template-columns:340px minmax(0,1fr)!important;overflow:hidden!important;box-sizing:border-box!important;}
#map-sidebar{box-sizing:border-box!important;min-width:0!important;width:100%!important;overflow-x:hidden!important;padding:16px!important;background:linear-gradient(180deg,#ffffff 0%,#f4f8fb 100%)!important;}
.map-sidebar-header{gap:10px!important;align-items:flex-start!important;}
.map-sidebar-header h4{font-size:1.05rem!important;line-height:1.1!important;}
#map-results{white-space:nowrap!important;}
.map-card-item{box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important;}
.map-card-item span{min-width:0!important;overflow:hidden!important;}
.map-card-item strong,.map-card-item small{overflow:hidden!important;text-overflow:ellipsis!important;}
.leaflet-top.leaflet-right{top:20px!important;right:20px!important;z-index:800!important;}
.map-brand-watermark{top:92px!important;right:22px!important;width:96px!important;opacity:.9!important;background:rgba(255,255,255,.92);padding:6px;border-radius:20px;}
.back-to-parcelas-btn{right:22px!important;bottom:22px!important;background:#ffffff!important;color:#004785!important;border:2px solid rgba(0,71,133,.12)!important;}
.map-popup-card{width:250px!important;}
.map-popup-card p{font-size:.93rem!important;font-weight:700!important;color:#23384d!important;line-height:1.35!important;-webkit-line-clamp:4!important;}
.map-popup-card small{font-size:.88rem!important;color:#006b75!important;}
@media(max-width:900px){body{padding-top:72px}.map-layout{grid-template-columns:1fr!important}.brand-logo-img{height:52px!important;max-width:180px!important}.map-brand-watermark{width:78px!important;top:90px!important;}}

/* ===== Ajuste final mapa: lista compacta y logo fuera del zoom ===== */
.map-layout{
  grid-template-columns: 330px minmax(0, 1fr) !important;
  overflow: hidden !important;
}
#map-sidebar{
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  padding: 14px !important;
}
#map-cards{
  max-height: 335px !important;
  overflow: hidden !important;
  gap: 10px !important;
}
.map-card-item{
  grid-template-columns: 72px minmax(0, 1fr) !important;
  padding: 8px !important;
  border-radius: 16px !important;
}
.map-card-item img{
  width: 72px !important;
  height: 58px !important;
}
.map-card-item strong,
.map-card-item small{
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.map-brand-watermark{
  top: auto !important;
  bottom: 18px !important;
  right: 18px !important;
  width: 82px !important;
  z-index: 350 !important;
  opacity: .88 !important;
  pointer-events: none !important;
}
.leaflet-top.leaflet-right{
  z-index: 900 !important;
  top: 14px !important;
  right: 14px !important;
}
.map-popup-card p{
  color:#1f2937 !important;
  font-size:.92rem !important;
  font-weight:700 !important;
  line-height:1.35 !important;
}
@media(max-width:900px){
  .map-layout{grid-template-columns:1fr !important;}
  #map-cards{max-height:250px !important;}
  .map-brand-watermark{width:68px !important;bottom:14px !important;right:14px !important;}
}

/* =====================================================
   TU PARCELA LISTA 2.0 - CAPA PREMIUM
===================================================== */
.decision-flow{position:relative;padding:96px 16px 54px;background:linear-gradient(135deg,rgba(0,63,122,.08),rgba(0,130,138,.08));overflow:hidden}.decision-flow:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(242,190,26,.24),transparent 28%),radial-gradient(circle at 90% 20%,rgba(0,130,138,.18),transparent 26%);pointer-events:none}.decision-box,.budget-box{position:relative;z-index:1}.decision-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(260px,1fr));gap:22px;max-width:980px;margin:28px auto 0}.decision-buttons button{min-height:210px!important;justify-content:flex-end!important;align-items:flex-start!important;text-align:left!important;border:0!important;border-radius:30px!important;padding:28px!important;overflow:hidden;position:relative;color:#fff!important;box-shadow:0 24px 60px rgba(0,63,122,.22);transition:.25s ease}.decision-buttons button:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,63,122,.82));z-index:0}.decision-buttons button:after{content:"";position:absolute;inset:0;background-size:cover;background-position:center;z-index:-1;transition:.35s ease}.decision-buttons button:hover{transform:translateY(-6px) scale(1.01)}.decision-buttons button:hover:after{transform:scale(1.08)}#opt-parcela:after{background-image:url('image/fondo_pantalla.png')}#opt-combo:after{background-image:url('image/afiche banner.png')} .decision-buttons strong,.decision-buttons span{position:relative;z-index:1}.decision-buttons strong{font-size:1.75rem;display:block;margin-bottom:8px}.decision-buttons span{font-size:1rem;line-height:1.35;max-width:330px;color:rgba(255,255,255,.92)}#budget-input{font-weight:900;font-size:1.55rem;letter-spacing:.02em;text-align:center;border:2px solid rgba(0,130,138,.18)!important;border-radius:18px!important;padding:15px 18px!important;background:#fff!important;color:#003f7a!important}.section-promos-v2,.section-premium-tools{padding:82px 0;background:#fff}.section-premium-tools{background:linear-gradient(180deg,#f8fbfd,#ffffff)}.section-title-v2{text-align:center;max-width:760px;margin:0 auto 38px}.section-title-v2 .kicker{display:inline-flex;background:rgba(242,190,26,.18);color:#9a6a00;padding:7px 16px;border-radius:999px;font-weight:800}.section-title-v2 h2{font-size:clamp(2rem,4vw,3.1rem);color:var(--primary,#003f7a);margin:14px 0 10px;font-weight:900}.section-title-v2 p{color:var(--text-muted,#64748b);font-size:1.05rem}.promos-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.promo-card-v2{background:#fff;border-radius:30px;overflow:hidden;border:1px solid rgba(0,63,122,.1);box-shadow:0 20px 50px rgba(15,23,42,.1);cursor:pointer;transition:.25s ease}.promo-card-v2:hover{transform:translateY(-7px);box-shadow:0 30px 70px rgba(0,63,122,.18)}.promo-photo{height:220px;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:space-between;padding:18px;color:#fff}.promo-photo strong{font-size:1.55rem;text-shadow:0 3px 18px rgba(0,0,0,.35)}.promo-chip{align-self:flex-start;background:#f2be1a;color:#123;padding:7px 14px;border-radius:999px;font-weight:900}.promo-body{padding:22px}.promo-body h3{font-size:1.2rem;color:#0f2740;margin:0 0 10px}.promo-body p{color:#64748b;font-size:.94rem;line-height:1.5;margin:0 0 16px}.promo-price{font-size:1.6rem;font-weight:950;color:#003f7a;margin-bottom:10px}.promo-cta{font-weight:900;color:#00828a}.premium-tools-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:22px}.premium-tool-card{background:#fff;border:1px solid rgba(0,63,122,.1);border-radius:28px;padding:24px;box-shadow:0 18px 46px rgba(15,23,42,.08)}.premium-tool-card h3{margin:0 0 14px;color:#003f7a;font-size:1.25rem}.mini-pill{display:block;width:100%;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px;margin:8px 0;font-weight:800;color:#0f2740}.compare-mini{display:grid;gap:4px;border-bottom:1px solid #e2e8f0;padding:10px 0}.compare-mini strong{color:#0f2740}.compare-mini span{font-size:.86rem;color:#64748b}.compare-mini b{color:#00828a}.empty-mini{color:#64748b;margin:0}.credit-grid{display:grid;grid-template-columns:1fr 90px 90px;gap:10px}.credit-grid input{border:1px solid #dbe4ee;border-radius:14px;padding:12px;font-weight:800}.credit-result{margin-top:14px;background:#003f7a;color:#fff;border-radius:18px;padding:14px;font-weight:900;text-align:center}.premium-card-tools{display:flex;gap:8px;padding:0 16px 16px}.premium-card-tools button{flex:1;border:1px solid rgba(0,130,138,.2);background:#f8fafc;color:#003f7a;border-radius:999px;padding:9px 10px;font-weight:800;cursor:pointer}.premium-card-tools button:hover{background:#003f7a;color:#fff}.timeline-v2{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:26px}.timeline-step{background:#fff;border-radius:22px;padding:18px;border:1px solid rgba(0,63,122,.1);box-shadow:0 12px 26px rgba(15,23,42,.06)}.timeline-step b{display:inline-grid;place-items:center;width:34px;height:34px;background:#f2be1a;border-radius:50%;color:#123;margin-bottom:10px}.timeline-step strong{display:block;color:#003f7a}.timeline-step span{font-size:.87rem;color:#64748b}.video-hero-placeholder{max-width:980px;margin:34px auto 0;border-radius:34px;min-height:260px;background:linear-gradient(135deg,rgba(0,63,122,.86),rgba(0,130,138,.72)),url('image/fondo_pantalla.png');background-size:cover;background-position:center;display:grid;place-items:center;color:#fff;text-align:center;padding:28px;box-shadow:0 28px 70px rgba(0,63,122,.24)}.video-hero-placeholder h3{font-size:2rem;margin:0 0 8px}.share-box-v2{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}.share-box-v2 a{background:#003f7a;color:#fff;text-decoration:none;border-radius:999px;padding:12px 18px;font-weight:900}.share-box-v2 a:nth-child(2){background:#00828a}.share-box-v2 a:nth-child(3){background:#f2be1a;color:#123}@media(max-width:980px){.decision-buttons,.promos-grid-v2,.premium-tools-grid,.timeline-v2{grid-template-columns:1fr}.timeline-v2{gap:10px}.credit-grid{grid-template-columns:1fr}.decision-buttons button{min-height:180px}}


/* =========================================================
   AJUSTES FINALES SOLICITADOS - Tu Parcela Lista
========================================================= */
.decision-buttons button{
  min-height:240px!important;
  background:#003f7a!important;
  box-shadow:0 28px 70px rgba(0,43,82,.30)!important;
}
.decision-buttons button:before{
  background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,43,82,.92) 100%)!important;
}
#opt-parcela:after{
  background-image:url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=1200&q=80')!important;
}
#opt-combo:after{
  background-image:url('https://images.unsplash.com/photo-1564013799919-ab600027ffc6?auto=format&fit=crop&w=1200&q=80')!important;
}
.decision-buttons strong{font-size:2rem!important;text-shadow:0 4px 18px rgba(0,0,0,.35)}
.decision-buttons span{color:#fff!important;text-shadow:0 3px 12px rgba(0,0,0,.35);font-size:1.04rem!important;}

.card-actions{grid-template-columns:1fr 1fr!important;gap:10px!important;align-items:stretch!important;}
.btn-card,.btn-details,.btn-add-house{min-height:46px;white-space:nowrap;text-align:center;}
.card-description{min-height:auto!important;margin-bottom:16px!important;}
.card-map-text{display:none!important;}

.casas-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:20px!important;}
.casa-card{border-radius:22px!important;min-height:auto!important;}
.casa-img-container,.casa-thumb{height:178px!important;}
.casa-body{padding:16px!important;gap:10px!important;}
.casa-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.casa-title{font-size:1.02rem!important;margin:0!important;line-height:1.25!important;}
.casa-price{font-size:1rem!important;padding:5px 10px!important;margin:0!important;white-space:nowrap;}
.casa-desc{font-size:.84rem!important;line-height:1.45!important;margin:0!important;min-height:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.casa-specs-strip{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:8px 0!important;margin:0!important;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7;}
.casa-specs-strip span{font-size:.78rem;font-weight:800;background:#f7fafc;border:1px solid #e5edf6;border-radius:999px;padding:5px 9px;color:#17324a;}
.casa-gallery{position:relative;overflow:hidden;background:#e8f1f8;}
.casa-gallery-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:34px;height:34px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#003f7a;font-size:1.7rem;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.16);opacity:.92;}
.casa-gallery-btn:hover{background:#f2be1a;color:#122;}
.casa-prev{left:10px}.casa-next{right:10px}
.casa-gallery-counter{position:absolute;right:10px;bottom:10px;z-index:5;background:rgba(0,43,82,.78);color:#fff;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:900;}
.house-plan-preview{display:flex;align-items:center;gap:10px;text-decoration:none;color:#003f7a;font-weight:900;background:#f8fafc;border:1px solid #e3edf7;border-radius:14px;padding:7px 9px;overflow:visible;}
.house-plan-preview img{width:48px;height:36px;object-fit:cover;border-radius:9px;border:1px solid #dbe6f1;transition:.25s ease;transform-origin:left center;background:#fff;}
.house-plan-preview:hover img{transform:scale(2.15);box-shadow:0 18px 40px rgba(0,43,82,.28);z-index:20;}
.house-plan-preview:hover{background:#fff8df;border-color:#f2be1a;}
.btn-select-house{padding:11px 14px!important;border-radius:14px!important;font-size:.88rem!important;}

.friendly-message{position:fixed;right:22px;bottom:22px;z-index:100000;width:min(390px,calc(100vw - 44px));background:#fff;border:1px solid rgba(0,130,138,.18);border-left:7px solid #f2be1a;border-radius:22px;padding:18px 46px 18px 18px;box-shadow:0 24px 70px rgba(0,43,82,.22);transform:translateY(24px);opacity:0;pointer-events:none;transition:.28s ease;}
.friendly-message.show{transform:translateY(0);opacity:1;pointer-events:auto;}
.friendly-message strong{display:block;color:#003f7a;font-size:1.05rem;margin-bottom:4px;}
.friendly-message p{margin:0;color:#52667a;line-height:1.45;font-size:.94rem;}
.friendly-message-close{position:absolute;right:12px;top:10px;width:30px;height:30px;border:0;border-radius:999px;background:#eef5fb;color:#003f7a;font-size:1.2rem;font-weight:900;cursor:pointer;}
.lead-modal{border-top:7px solid #f2be1a!important;}
.lead-modal h3:before{content:'🏡 ';}

@media(max-width:760px){
  .decision-buttons{grid-template-columns:1fr!important;}
  .decision-buttons button{min-height:200px!important;}
  .casas-grid{grid-template-columns:1fr!important;}
  .casa-head-row{flex-direction:column;}
  .card-actions{grid-template-columns:1fr!important;}
}


/* =========================================================
   AJUSTES FINALES JUAN - JULIO 2026
   ========================================================= */
:root{--tpl-blue:#003f7a;--tpl-teal:#00828a;--tpl-gold:#f2be1a;}

/* Botones iniciales con foto visible antes y después de pinchar */
.decision-flow{padding-top:86px!important;background:linear-gradient(135deg,#eef7fb 0%,#ffffff 58%,#fff8df 100%)!important;}
.decision-box h2{color:#003f7a!important;text-shadow:none!important;}
.decision-intro{color:#36566d!important;opacity:1!important;}
.decision-buttons button{min-height:245px!important;border-radius:34px!important;padding:30px!important;box-shadow:0 28px 70px rgba(0,63,122,.24)!important;border:1px solid rgba(255,255,255,.55)!important;}
.decision-buttons button:before{background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,35,70,.42) 42%,rgba(0,35,70,.92) 100%)!important;}
#opt-parcela:after{background-image:url('image/boton_combo_parcela_casa.png')!important;filter:saturate(1.08) contrast(1.03);}
#opt-combo:after{background-image:url('image/boton_combo_parcela_casa.png')!important;filter:saturate(1.08) contrast(1.03);}
.decision-buttons strong,.decision-buttons span{color:#fff!important;text-shadow:0 4px 18px rgba(0,0,0,.5)!important;}
.decision-buttons button.active,.decision-buttons button:focus{outline:4px solid rgba(242,190,26,.45)!important;}

/* Layout parcelas: sidebar más a la izquierda y grilla más amplia */
.filter-section>.container#grid-view{max-width:1680px!important;margin-left:0!important;margin-right:auto!important;padding-left:10px!important;padding-right:18px!important;}
.parcelas-layout{display:grid!important;grid-template-columns:230px minmax(0,1fr)!important;gap:18px!important;align-items:start!important;}
.parcelas-sidebar{position:sticky;top:96px;align-self:start;border-radius:0 24px 24px 0!important;margin-left:0!important;padding:18px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 18px 45px rgba(15,23,42,.09)!important;border:1px solid rgba(0,63,122,.08)!important;}
.parcelas-content{min-width:0!important;}
.parcelas-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px!important;margin-top:18px!important;}

/* Filtros premium */
.filter-buttons-wrapper{gap:10px!important;}
.filter-btn{width:100%;justify-content:flex-start;border:1px solid rgba(0,63,122,.11)!important;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%)!important;color:#123a56!important;border-radius:18px!important;padding:12px 14px!important;font-weight:800!important;box-shadow:0 10px 24px rgba(0,63,122,.06)!important;}
.filter-btn:hover{transform:translateY(-2px)!important;color:#003f7a!important;border-color:rgba(0,130,138,.28)!important;box-shadow:0 16px 34px rgba(0,130,138,.13)!important;}
.filter-btn.active{background:linear-gradient(135deg,#003f7a,#00828a)!important;color:#fff!important;border-color:transparent!important;}
.dropdown-menu{left:auto!important;right:0!important;background:#fff!important;}

/* Tarjetas parcelas compactas 4:3, sin franja grande de precio */
.parcela-card{border-radius:22px!important;overflow:hidden!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important;border:1px solid rgba(0,63,122,.09)!important;background:#fff!important;}
.parcela-card:hover{transform:translateY(-4px)!important;box-shadow:0 22px 50px rgba(0,63,122,.15)!important;}
.card-image,.card-image-link{position:relative!important;display:block!important;aspect-ratio:4/3!important;height:auto!important;overflow:hidden!important;background:#e8eef5!important;}
.card-image img,.card-image-link img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .35s ease!important;}
.card-comuna{top:10px!important;left:10px!important;right:auto!important;bottom:auto!important;background:rgba(255,255,255,.92)!important;color:#003f7a!important;padding:5px 9px!important;font-size:.73rem!important;box-shadow:0 8px 18px rgba(0,0,0,.14)!important;}
.card-price{right:10px!important;bottom:10px!important;background:rgba(0,43,82,.82)!important;color:#fff!important;padding:6px 10px!important;font-size:.82rem!important;border-radius:999px!important;text-shadow:0 3px 10px rgba(0,0,0,.45)!important;box-shadow:0 8px 18px rgba(0,0,0,.18)!important;}
.card-body{padding:13px 13px 14px!important;}
.card-title{font-size:.96rem!important;line-height:1.25!important;margin-bottom:6px!important;color:#062f55!important;}
.card-meta{font-size:.78rem!important;color:#00828a!important;font-weight:800!important;margin-bottom:7px!important;}
.card-description{font-size:.78rem!important;line-height:1.36!important;color:#64748b!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin-bottom:12px!important;}
.card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:0!important;}
.btn-card,.btn-secondary-link,.btn-select-plot,.btn-details,.btn-add-house{min-height:38px!important;border-radius:13px!important;padding:9px 8px!important;font-size:.78rem!important;font-weight:900!important;text-decoration:none!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.1!important;}
.btn-details{background:#fff!important;color:#003f7a!important;border:1px solid rgba(0,63,122,.17)!important;}
.btn-add-house{background:linear-gradient(135deg,#003f7a,#00828a)!important;color:#fff!important;border:0!important;box-shadow:0 10px 20px rgba(0,63,122,.18)!important;cursor:pointer!important;}
.btn-add-house:hover,.btn-details:hover{transform:translateY(-2px)!important;}
.premium-card-tools,.btn-fav-v2,.btn-compare-v2{display:none!important;}

/* Casas más bajas, ordenadas y con plano ampliable */
.casas-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;gap:18px!important;}
.casa-card{border-radius:22px!important;}
.casa-img-container,.casa-thumb,.casa-gallery{height:auto!important;aspect-ratio:4/3!important;position:relative!important;overflow:hidden!important;background:#edf4fa!important;}
.casa-main-img{width:100%!important;height:100%!important;object-fit:cover!important;}
.casa-body{padding:15px!important;}
.casa-head-row{display:block!important;}
.casa-title{font-size:1rem!important;margin-bottom:7px!important;}
.casa-price{font-size:1rem!important;margin-bottom:9px!important;padding:5px 10px!important;}
.casa-desc{font-size:.8rem!important;line-height:1.35!important;min-height:0!important;margin-bottom:10px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
.casa-specs-strip{display:flex!important;gap:8px!important;flex-wrap:wrap!important;padding:8px 0!important;margin-bottom:10px!important;border-top:1px solid #eef3f8!important;border-bottom:1px solid #eef3f8!important;}
.casa-specs-strip span{font-size:.76rem!important;font-weight:800!important;color:#29475e!important;}
.casa-gallery-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(0,0,0,.16);font-size:1.45rem;font-weight:900;color:#003f7a;cursor:pointer;}
.casa-prev{left:10px}.casa-next{right:10px}.casa-gallery-counter{position:absolute;right:10px;bottom:10px;background:rgba(0,43,82,.78);color:#fff;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:900;z-index:4;}
.house-plan-preview{height:54px!important;border-radius:14px!important;display:flex!important;align-items:center!important;gap:10px!important;overflow:visible!important;margin:8px 0 12px!important;padding:6px!important;background:#f8fbff!important;border:1px solid #e2e8f0!important;text-decoration:none!important;color:#003f7a!important;font-weight:900!important;}
.house-plan-preview img{width:64px!important;height:42px!important;object-fit:cover!important;border-radius:10px!important;transition:transform .25s ease, box-shadow .25s ease!important;transform-origin:left center!important;}
.house-plan-preview:hover img{transform:scale(2.6)!important;z-index:20!important;box-shadow:0 18px 45px rgba(0,0,0,.25)!important;}
.btn-select-house,.btn-select-casa{padding:11px 12px!important;border-radius:14px!important;font-size:.84rem!important;}

/* Mapa: marcador corporativo, tarjetas máximas y botón visible */
.tpl-corporate-marker{border-radius:50%;box-shadow:0 8px 22px rgba(0,63,122,.34);border:3px solid #fff;background:#fff;}
.map-layout{position:relative!important;}
#map-sidebar{max-width:340px!important;width:340px!important;left:14px!important;bottom:24px!important;top:auto!important;max-height:42%!important;border-radius:24px!important;box-shadow:0 24px 55px rgba(0,0,0,.22)!important;}
#map-cards{display:grid!important;gap:10px!important;}
.map-card-item{border-radius:16px!important;padding:9px!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(0,63,122,.1)!important;box-shadow:0 10px 24px rgba(15,23,42,.08)!important;}
.map-card-item img{width:72px!important;height:54px!important;aspect-ratio:4/3!important;object-fit:cover!important;border-radius:12px!important;}
.back-to-parcelas-btn,#back-to-parcelas{bottom:32px!important;right:28px!important;z-index:800!important;background:linear-gradient(135deg,#003f7a,#00828a)!important;color:#fff!important;box-shadow:0 18px 40px rgba(0,63,122,.28)!important;border:0!important;}
.map-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;}
.map-actions button{border:0!important;border-radius:999px!important;background:#fff!important;color:#003f7a!important;padding:9px 13px!important;font-weight:900!important;box-shadow:0 8px 18px rgba(0,0,0,.12)!important;}
.map-actions #map-back-top{background:#f2be1a!important;color:#123!important;}

/* Mensajes y modales más amables */
.friendly-toast,.tpl-friendly-message{border-radius:24px!important;background:#fff!important;color:#17384d!important;box-shadow:0 24px 60px rgba(0,63,122,.2)!important;border:1px solid rgba(0,130,138,.13)!important;}
.lead-modal{border-radius:30px!important;box-shadow:0 30px 80px rgba(0,43,82,.28)!important;border:1px solid rgba(0,130,138,.12)!important;}
.lead-modal h3{color:#003f7a!important;font-size:1.6rem!important;}
.lead-modal p{color:#64748b!important;}
.lead-modal input{border:1px solid #dbe4ee!important;border-radius:15px!important;padding:13px 14px!important;}
.btn-primary-submit{border-radius:16px!important;background:linear-gradient(135deg,#003f7a,#00828a)!important;box-shadow:0 14px 32px rgba(0,63,122,.22)!important;}

@media(max-width:1400px){.parcelas-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(max-width:1050px){.parcelas-layout{grid-template-columns:1fr!important}.parcelas-sidebar{position:relative!important;top:auto!important;border-radius:24px!important;margin:0 0 14px!important}.filter-btn{width:auto!important}.parcelas-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.filter-section>.container#grid-view{padding:0 16px!important;margin:auto!important}}
@media(max-width:620px){.decision-buttons{grid-template-columns:1fr!important}.parcelas-grid,.casas-grid{grid-template-columns:1fr!important}#map-sidebar{position:absolute!important;width:calc(100% - 28px)!important;max-width:none!important;left:14px!important;right:14px!important;bottom:88px!important}.back-to-parcelas-btn,#back-to-parcelas{bottom:22px!important;left:14px!important;right:14px!important;width:auto!important}.card-actions{grid-template-columns:1fr 1fr!important}}


/* Ajustes finales solicitados: pasos y promos */
.search-heading-card .search-kicker,
.section-casas span,
.section-cotizador span{
  letter-spacing:.08em;
}
.promo-photo{
  aspect-ratio: 4 / 3;
  height:auto !important;
  min-height:230px;
  background-size:cover;
  background-position:center;
}
.promo-card-v2:nth-child(1) .promo-photo{background-position:center center;}
.promo-card-v2:nth-child(2) .promo-photo{background-position:center center;}
.promo-card-v2:nth-child(3) .promo-photo{background-position:center center;}
.promo-photo strong{
  max-width:92%;
  line-height:1.08;
}

/* =========================================================
   ENTREGA FINAL: BOTONES PREMIUM SIN FOTOS + MAPA INMOBILIARIO
========================================================= */

/* Botones iniciales sin fotografía, más premium */
.decision-buttons button{
  min-height:190px!important;
  border-radius:32px!important;
  padding:30px!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 18% 18%, rgba(242,190,26,.34), transparent 30%),
    radial-gradient(circle at 92% 15%, rgba(0,130,138,.28), transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#f7fbff 45%,#edf8fb 100%)!important;
  color:#003f7a!important;
  border:1px solid rgba(0,63,122,.12)!important;
  box-shadow:0 22px 55px rgba(0,63,122,.14)!important;
}
.decision-buttons button:after{display:none!important;background-image:none!important;}
.decision-buttons button:before{
  content:""!important;
  position:absolute!important;
  inset:auto 24px 22px auto!important;
  width:72px!important;
  height:72px!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#003f7a,#00828a)!important;
  box-shadow:0 18px 34px rgba(0,63,122,.22)!important;
  z-index:-1!important;
  opacity:.95!important;
}
.decision-buttons button:hover{
  transform:translateY(-7px)!important;
  box-shadow:0 32px 78px rgba(0,63,122,.22)!important;
  border-color:rgba(0,130,138,.32)!important;
}
.decision-buttons button strong{
  color:#003f7a!important;
  text-shadow:none!important;
  font-size:1.85rem!important;
  letter-spacing:-.03em!important;
}
.decision-buttons button span{
  color:#496579!important;
  text-shadow:none!important;
  max-width:350px!important;
}
#opt-parcela strong:before,
#opt-combo strong:before{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-right:10px;
  border-radius:14px;
  background:#f2be1a;
  color:#123;
  font-size:1.1rem;
  vertical-align:middle;
  box-shadow:0 12px 24px rgba(242,190,26,.26);
}
#opt-parcela strong:before{content:"1";}
#opt-combo strong:before{content:"2";}
.decision-buttons button.active,
.decision-buttons button:focus{outline:4px solid rgba(242,190,26,.38)!important;}

/* Layout parcelas: sidebar más al borde y 5 tarjetas reales */
.filter-section>.container#grid-view{
  max-width:1680px!important;
  margin-left:0!important;
  margin-right:auto!important;
  padding-left:18px!important;
  padding-right:22px!important;
}
.parcelas-layout{
  grid-template-columns:230px minmax(0,1fr)!important;
  gap:18px!important;
}
.parcelas-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:15px!important;}
@media(max-width:1450px){.parcelas-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(max-width:1120px){.parcelas-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}.parcelas-layout{grid-template-columns:1fr!important;}}
@media(max-width:760px){.parcelas-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:520px){.parcelas-grid{grid-template-columns:1fr!important;}}

/* Mapa premium: panel izquierdo legible con 5 parcelas */
.map-layout.map-visible,
#map-layout.map-visible{
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  grid-template-rows:auto minmax(620px,72vh)!important;
  gap:0!important;
  max-width:100%!important;
}
.map-toolbar{grid-column:1/-1!important;}
#map-sidebar{
  position:relative!important;
  inset:auto!important;
  width:360px!important;
  max-width:360px!important;
  height:100%!important;
  max-height:none!important;
  border-radius:0!important;
  padding:18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;
  border-right:1px solid rgba(0,63,122,.1)!important;
  box-shadow:10px 0 30px rgba(15,23,42,.08)!important;
  overflow:hidden!important;
  z-index:20!important;
}
#map-cards{
  display:grid!important;
  gap:12px!important;
  max-height:calc(100% - 58px)!important;
  overflow:auto!important;
  padding:2px 4px 12px 0!important;
}
.map-sidebar-header{align-items:center!important;margin-bottom:14px!important;}
.map-sidebar-header h4{font-size:1.15rem!important;color:#003f7a!important;margin:0!important;}
#map-results{background:rgba(242,190,26,.22)!important;color:#6b4900!important;font-weight:900!important;}
#map-container{grid-column:2!important;grid-row:2!important;min-height:620px!important;height:100%!important;width:100%!important;}
.map-brand-watermark{display:none!important;}

.map-card-item{
  display:block!important;
  width:100%!important;
  border:1px solid rgba(0,63,122,.1)!important;
  border-radius:20px!important;
  background:#fff!important;
  padding:10px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
  transition:.22s ease!important;
}
.map-card-item:hover,
.map-card-item.active{
  transform:translateY(-2px)!important;
  border-color:rgba(0,130,138,.35)!important;
  box-shadow:0 20px 45px rgba(0,63,122,.15)!important;
}
.map-card-main{
  display:grid!important;
  grid-template-columns:116px minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
  cursor:pointer!important;
  align-items:center!important;
}
.map-card-main img{
  width:116px!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  border-radius:15px!important;
  object-fit:cover!important;
  box-shadow:0 8px 18px rgba(15,23,42,.1)!important;
}
.map-card-info{min-width:0!important;display:block!important;}
.map-card-price{
  display:inline-flex!important;
  color:#003f7a!important;
  font-size:.98rem!important;
  font-weight:950!important;
  margin-bottom:4px!important;
}
.map-card-info strong{
  display:block!important;
  color:#16324a!important;
  font-size:.92rem!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.map-card-info small{display:block!important;color:#64748b!important;font-size:.76rem!important;margin-top:3px!important;line-height:1.3!important;}
.map-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:10px!important;}
.map-card-actions a,
.map-card-actions button{
  border-radius:13px!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:.78rem!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.map-card-actions a{background:#fff!important;color:#003f7a!important;border:1px solid rgba(0,63,122,.16)!important;}
.map-card-actions button{background:linear-gradient(135deg,#003f7a,#00828a)!important;color:#fff!important;border:0!important;}

/* Marcador circular con foto de la parcela */
.tpl-photo-marker{
  border:0!important;
  background:transparent!important;
}
.tpl-photo-marker-inner{
  display:block!important;
  width:48px!important;
  height:48px!important;
  border-radius:999px!important;
  background-size:cover!important;
  background-position:center!important;
  border:4px solid #fff!important;
  box-shadow:0 10px 25px rgba(0,43,82,.32),0 0 0 1px rgba(0,63,122,.16)!important;
  transition:.22s ease!important;
}
.tpl-photo-marker:hover .tpl-photo-marker-inner,
.tpl-photo-marker.selected .tpl-photo-marker-inner{
  width:58px!important;
  height:58px!important;
  border-color:#f2be1a!important;
  box-shadow:0 16px 34px rgba(0,43,82,.38),0 0 0 4px rgba(242,190,26,.24)!important;
}
.tpl-corporate-marker{display:none!important;}

.map-popup-premium{width:230px!important;border-radius:20px!important;overflow:hidden!important;}
.map-popup-premium img{width:100%!important;aspect-ratio:4/3!important;height:auto!important;object-fit:cover!important;border-radius:16px!important;margin-bottom:10px!important;}
.map-popup-premium strong{display:block!important;color:#003f7a!important;font-size:1rem!important;line-height:1.2!important;margin:4px 0!important;}
.map-popup-premium small{display:block!important;color:#64748b!important;margin-bottom:10px!important;}
.map-popup-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:10px!important;}
.map-popup-actions a,
.map-popup-actions button{border-radius:12px!important;padding:8px 9px!important;font-size:.78rem!important;font-weight:900!important;text-align:center!important;text-decoration:none!important;}

.back-to-parcelas-btn,#back-to-parcelas{
  bottom:28px!important;
  right:28px!important;
  z-index:800!important;
}

@media(max-width:900px){
  .map-layout.map-visible,#map-layout.map-visible{display:block!important;}
  #map-sidebar{position:absolute!important;left:14px!important;right:14px!important;bottom:88px!important;width:auto!important;max-width:none!important;height:auto!important;max-height:320px!important;border-radius:24px!important;box-shadow:0 24px 55px rgba(0,0,0,.22)!important;}
  #map-container{min-height:620px!important;}
  .map-card-main{grid-template-columns:92px 1fr!important;}
  .map-card-main img{width:92px!important;}
}


/* =========================================================
   AJUSTES 04-07: botones sin cuadrado azul + casas compactas
========================================================= */
.decision-buttons button::before{
  display:none!important;
  content:none!important;
  width:0!important;
  height:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.decision-buttons button{
  overflow:hidden!important;
}
.casas-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;
  gap:18px!important;
}
.casa-card{
  max-width:none!important;
  border-radius:20px!important;
}
.casa-img-container,
.casa-thumb{
  height:170px!important;
}
.casa-body{
  padding:16px!important;
}
.casa-title{
  font-size:1.02rem!important;
  line-height:1.15!important;
}
.casa-price{
  font-size:1rem!important;
  white-space:nowrap!important;
}
.casa-desc{
  display:block!important;
  color:#163247!important;
  font-size:.94rem!important;
  line-height:1.45!important;
  font-weight:700!important;
  background:#f8fafc!important;
  border-left:4px solid #f2be1a!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  margin:10px 0!important;
}
.house-plan-preview img{max-height:78px!important;object-fit:contain!important;}
.btn-select-house{padding:11px 14px!important;border-radius:14px!important;}
@media(max-width:700px){.casa-img-container,.casa-thumb{height:155px!important}}


/* AJUSTES SOLICITADOS 04-07 */
.sidebar-menu-title h3{margin:0!important;color:#003f7a!important;font-size:1.18rem!important;}
.decision-buttons button{background:transparent!important;}
.decision-buttons button:after{z-index:0!important;}
.decision-buttons button:before{z-index:1!important;}
.decision-buttons strong,.decision-buttons span{z-index:2!important;position:relative!important;}
#opt-parcela:after{background-image:url('image/botones/boton-parcela.png')!important;}
#opt-combo:after{background-image:url('image/botones/boton-parcela-casa.png')!important;}
.distance-badge{display:inline-flex;margin:8px 0 0;padding:7px 10px;border-radius:999px;background:rgba(0,130,138,.1);color:#003f7a;font-weight:900;font-size:.86rem;}
.map-card-info .distance-badge{font-size:.82rem;margin-top:7px;background:#fff7d6;color:#17324a;}
#casas-container{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;gap:18px!important;}
.casa-card{max-width:none!important;border-radius:18px!important;}
.casa-img-container{height:170px!important;}
.casa-body{padding:14px!important;}
.casa-title{font-size:1rem!important;line-height:1.15!important;}
.casa-price{font-size:1.08rem!important;}
.casa-desc{font-size:.92rem!important;line-height:1.5!important;color:#334155!important;-webkit-line-clamp:3!important;}
.house-plan-preview{display:none!important;}
.promos-grid-v2{grid-template-columns:repeat(4,1fr)!important;}
@media(max-width:1100px){.promos-grid-v2{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:720px){.promos-grid-v2{grid-template-columns:1fr!important;}#casas-container{grid-template-columns:1fr!important;}}

/* =========================================================
   BOTONES INICIALES CON FOTO - AJUSTE FINAL
========================================================= */
.decision-buttons{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(260px,1fr))!important;
  gap:22px!important;
}

.decision-buttons button{
  position:relative!important;
  min-height:245px!important;
  border:0!important;
  border-radius:34px!important;
  overflow:hidden!important;
  padding:30px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  text-align:left!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:0 28px 70px rgba(0,63,122,.24)!important;
  cursor:pointer!important;
  transition:transform .28s ease, box-shadow .28s ease!important;
}

.decision-buttons button::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  display:block!important;
  z-index:0!important;
  background-size:cover!important;
  background-position:center!important;
  transform:scale(1)!important;
  transition:transform .45s ease!important;
}

.decision-buttons button::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  z-index:1!important;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,.04) 0%,
    rgba(0,35,70,.30) 42%,
    rgba(0,35,70,.88) 100%
  )!important;
  box-shadow:none!important;
}

#opt-parcela::after{
  background-image:url('image/botones/boton-parcela.png')!important;
}

#opt-combo::after{
  background-image:url('image/botones/boton-parcela-casa.png')!important;
}

.decision-buttons button strong,
.decision-buttons button span{
  position:relative!important;
  z-index:2!important;
  color:#fff!important;
  text-shadow:0 4px 18px rgba(0,0,0,.55)!important;
}

.decision-buttons button strong{
  font-size:clamp(1.55rem,2.5vw,2.1rem)!important;
  line-height:1.05!important;
  margin-bottom:8px!important;
}

.decision-buttons button span{
  max-width:360px!important;
  font-size:1.02rem!important;
  line-height:1.35!important;
  opacity:.96!important;
}

.decision-buttons button:hover{
  transform:translateY(-6px)!important;
  box-shadow:0 34px 80px rgba(0,63,122,.32)!important;
}

.decision-buttons button:hover::after{
  transform:scale(1.07)!important;
}

@media(max-width:720px){
  .decision-buttons{
    grid-template-columns:1fr!important;
  }
  .decision-buttons button{
    min-height:210px!important;
    border-radius:26px!important;
    padding:24px!important;
  }
}

/* =====================================================
   PROYECTOS LISTOS PARA COTIZAR - 4 AFICHES PREMIUM
===================================================== */
.section-promos-v2{
  padding:86px 0!important;
  background:linear-gradient(180deg,#ffffff 0%,#f4f7fa 100%)!important;
}
.promos-grid-v2{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
}
.proyecto-listo-card{
  background:#fff;
  border:1px solid rgba(0,63,122,.12);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 22px 55px rgba(15,23,42,.10);
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.proyecto-listo-card:hover{
  transform:translateY(-8px);
  border-color:rgba(0,130,138,.38);
  box-shadow:0 32px 80px rgba(0,63,122,.18);
}
.proyecto-listo-img{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#eaf1f6;
}
.proyecto-listo-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.proyecto-listo-card:hover .proyecto-listo-img img{transform:scale(1.05)}
.proyecto-listo-badge{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  background:#f2be1a;
  color:#122033;
  border-radius:999px;
  padding:8px 13px;
  font-weight:950;
  font-size:.78rem;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.proyecto-listo-body{padding:20px;}
.proyecto-listo-kicker{
  display:inline-flex;
  color:#00828a;
  font-weight:900;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:7px;
}
.proyecto-listo-body h3{
  margin:0 0 8px;
  color:#003f7a;
  font-size:1.2rem;
  line-height:1.15;
  font-weight:950;
}
.proyecto-listo-body p{
  color:#64748b;
  font-size:.9rem;
  line-height:1.45;
  margin:0 0 14px;
}
.proyecto-listo-specs{
  display:grid;
  gap:7px;
  margin:14px 0;
  color:#0f2740;
  font-size:.88rem;
  font-weight:750;
}
.proyecto-listo-price{
  border-top:1px solid #e2e8f0;
  padding-top:14px;
  margin-top:12px;
}
.proyecto-listo-price small{
  display:block;
  color:#64748b;
  font-weight:800;
}
.proyecto-listo-price strong{
  display:block;
  color:#003f7a;
  font-size:1.45rem;
  font-weight:1000;
  line-height:1.1;
}
.btn-proyecto-listo{
  width:100%;
  margin-top:15px;
  border:0;
  border-radius:999px;
  padding:13px 16px;
  background:linear-gradient(135deg,#003f7a,#00828a);
  color:#fff;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(0,63,122,.22);
}
.own-design-callout{
  margin:42px auto 0;
  max-width:1020px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:22px;
  padding:28px;
  border-radius:32px;
  background:linear-gradient(135deg,#003f7a,#00828a);
  color:#fff;
  box-shadow:0 24px 60px rgba(0,63,122,.25);
  position:relative;
  overflow:hidden;
}
.own-design-callout:after{
  content:"";
  position:absolute;
  inset:auto -80px -120px auto;
  width:280px;
  height:280px;
  border-radius:50%;
  background:rgba(242,190,26,.28);
}
.own-design-icon{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:rgba(255,255,255,.15);
  font-size:2rem;
}
.own-design-content span{
  color:#f2be1a;
  font-weight:950;
}
.own-design-content h3{
  margin:4px 0 6px;
  font-size:1.65rem;
  font-weight:950;
}
.own-design-content p{margin:0;color:rgba(255,255,255,.9);}
.btn-own-design-index{
  position:relative;
  z-index:1;
  text-decoration:none;
  color:#102033;
  background:#f2be1a;
  border-radius:999px;
  padding:15px 20px;
  font-weight:1000;
  white-space:nowrap;
  box-shadow:0 16px 32px rgba(0,0,0,.18);
}
@media(max-width:1180px){
  .promos-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .promos-grid-v2{grid-template-columns:1fr!important;}
  .own-design-callout{grid-template-columns:1fr;text-align:center;}
  .own-design-icon{margin:auto;}
  .btn-own-design-index{width:100%;text-align:center;}
}


/* =========================================================
   PLANO DE CASAS - POPUP RESPONSIVE
   ========================================================= */
.house-plan-preview{display:none!important;}
.house-plan-button{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border:1px solid rgba(0,63,122,.18)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#fff8df,#ffffff)!important;
  color:#003f7a!important;
  font-weight:950!important;
  font-size:.92rem!important;
  cursor:pointer!important;
  margin:8px 0 10px!important;
  box-shadow:0 10px 22px rgba(0,63,122,.08)!important;
}
.house-plan-button:hover{
  transform:translateY(-2px)!important;
  border-color:#f2be1a!important;
  box-shadow:0 16px 32px rgba(0,63,122,.14)!important;
}
.house-plan-icon{font-size:1.05rem!important;}
.plan-modal-open{overflow:hidden!important;}
.house-plan-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.house-plan-modal.active{display:flex;}
.house-plan-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,24,48,.72);
  backdrop-filter:blur(7px);
}
.house-plan-modal-panel{
  position:relative;
  z-index:2;
  width:min(1080px,96vw);
  max-height:92vh;
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 32px 90px rgba(0,0,0,.38);
  border:1px solid rgba(255,255,255,.45);
}
.house-plan-modal-header{
  padding:18px 64px 16px 22px;
  background:linear-gradient(135deg,#003f7a,#00828a);
  color:#fff;
}
.house-plan-modal-header span{
  display:block;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
  color:#f2be1a;
  margin-bottom:4px;
}
.house-plan-modal-header h3{margin:0;font-size:1.35rem;line-height:1.2;}
.house-plan-modal-close{
  position:absolute;
  top:13px;
  right:14px;
  z-index:4;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#003f7a;
  font-size:1.8rem;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.house-plan-modal-image-wrap{
  max-height:calc(92vh - 86px);
  overflow:auto;
  background:#f3f7fb;
  padding:18px;
  text-align:center;
}
.house-plan-modal-image{
  display:block;
  max-width:100%;
  height:auto;
  max-height:calc(92vh - 126px);
  margin:0 auto;
  object-fit:contain;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(0,43,82,.12);
}
@media(max-width:700px){
  .house-plan-modal{padding:10px;}
  .house-plan-modal-panel{width:100%;max-height:94vh;border-radius:20px;}
  .house-plan-modal-header{padding:15px 58px 14px 16px;}
  .house-plan-modal-header h3{font-size:1.05rem;}
  .house-plan-modal-close{width:38px;height:38px;top:10px;right:10px;}
  .house-plan-modal-image-wrap{padding:10px;max-height:calc(94vh - 76px);}
  .house-plan-modal-image{max-height:calc(94vh - 98px);border-radius:14px;}
}


/* Corrección sidebar comunas: permite ver todas las opciones sin tapar resultados */
.parcelas-sidebar .dropdown-container{
  position:relative!important;
}

.parcelas-sidebar .dropdown-menu{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  min-width:0!important;
  margin-top:10px!important;
  max-height:280px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  border-radius:18px!important;
  box-shadow:0 16px 34px rgba(0,63,122,.16)!important;
  z-index:20!important;
}

.parcelas-sidebar .dropdown-menu.active{
  display:flex!important;
}

.parcelas-sidebar .dropdown-item{
  flex:0 0 auto!important;
  padding:11px 14px!important;
  font-size:.92rem!important;
  border-bottom:1px solid rgba(226,232,240,.75)!important;
}

.parcelas-sidebar .dropdown-item:last-child{
  border-bottom:0!important;
}

.parcelas-sidebar .dropdown-menu::-webkit-scrollbar{
  width:8px!important;
}

.parcelas-sidebar .dropdown-menu::-webkit-scrollbar-thumb{
  background:rgba(0,63,122,.28)!important;
  border-radius:999px!important;
}

@media(max-width:1050px){
  .parcelas-sidebar .dropdown-menu{
    max-height:240px!important;
  }
}

/* =====================================================
   Botones premium efecto vidrio / glassmorphism
   ===================================================== */
:root{
  --glass-blue: rgba(0, 63, 122, .78);
  --glass-teal: rgba(0, 130, 138, .74);
  --glass-white: rgba(255, 255, 255, .22);
  --glass-border: rgba(255, 255, 255, .42);
  --glass-shadow: 0 14px 34px rgba(0, 43, 82, .22);
}

button,
a.btn-card,
a.btn-secondary-link,
a.btn-select-plot,
.btn-select-plot,
.btn-select-casa,
.btn-whatsapp-quote,
.map-detail-btn,
.popup-btn,
.btn-view-plan,
.filter-btn,
.view-btn,
.room-filter-btn,
.filter-room-btn,
.decision-buttons button,
.view-buttons button,
#search-btn,
.nav-contact-btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid var(--glass-border)!important;
  box-shadow:var(--glass-shadow)!important;
  backdrop-filter:blur(14px) saturate(145%);
  -webkit-backdrop-filter:blur(14px) saturate(145%);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease!important;
}

button::after,
a.btn-card::after,
a.btn-secondary-link::after,
a.btn-select-plot::after,
.btn-select-plot::after,
.btn-select-casa::after,
.btn-whatsapp-quote::after,
.map-detail-btn::after,
.popup-btn::after,
.btn-view-plan::after,
.filter-btn::after,
.view-btn::after,
.room-filter-btn::after,
.filter-room-btn::after,
.decision-buttons button::after,
.view-buttons button::after,
#search-btn::after,
.nav-contact-btn::after{
  content:"";
  position:absolute;
  inset:1px auto auto 8%;
  width:84%;
  height:42%;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,0));
  opacity:.68;
  pointer-events:none;
  z-index:-1;
}

button:hover,
a.btn-card:hover,
a.btn-secondary-link:hover,
a.btn-select-plot:hover,
.btn-select-plot:hover,
.btn-select-casa:hover,
.btn-whatsapp-quote:hover,
.map-detail-btn:hover,
.popup-btn:hover,
.btn-view-plan:hover,
.filter-btn:hover,
.view-btn:hover,
.room-filter-btn:hover,
.filter-room-btn:hover,
.decision-buttons button:hover,
.view-buttons button:hover,
#search-btn:hover,
.nav-contact-btn:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 20px 48px rgba(0,43,82,.30)!important;
  border-color:rgba(255,255,255,.68)!important;
  filter:saturate(1.06);
}

.filter-btn,
.view-btn,
.room-filter-btn,
.filter-room-btn,
.view-buttons button{
  background:linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.38))!important;
  color:#003f7a!important;
}

.filter-btn.active,
.view-btn.active,
.room-filter-btn.active,
.filter-room-btn.active,
.view-buttons button.active{
  background:linear-gradient(135deg, var(--glass-blue), var(--glass-teal))!important;
  color:#fff!important;
  border-color:rgba(242,190,26,.58)!important;
}

#search-btn,
.nav-contact-btn,
.btn-select-casa,
.btn-select-plot,
.btn-add-house,
.btn-whatsapp-quote,
.map-detail-btn,
.popup-btn.quote,
.decision-buttons button{
  background:linear-gradient(135deg, rgba(0,63,122,.90), rgba(0,130,138,.82))!important;
  color:#fff!important;
}

.btn-details,
.btn-secondary-link,
.btn-view-plan,
.popup-btn.info{
  background:linear-gradient(135deg, rgba(255,255,255,.88), rgba(238,246,255,.58))!important;
  color:#003f7a!important;
}

.dropdown-menu,
.parcelas-sidebar .dropdown-menu{
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.72))!important;
  border:1px solid rgba(255,255,255,.66)!important;
  backdrop-filter:blur(16px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(145%)!important;
  box-shadow:0 18px 42px rgba(0,43,82,.18)!important;
}

.dropdown-item:hover{
  background:linear-gradient(135deg, rgba(0,63,122,.10), rgba(0,130,138,.12))!important;
  color:#003f7a!important;
}


/* =====================================================
   AJUSTES JULIO 2026 - PROYECTOS / BOTONES / COMO COMPRAR
===================================================== */
.proyecto-listo-img{aspect-ratio:16/10!important;}
.proyecto-listo-body{position:relative!important;padding:18px 20px 20px!important;}
.proyecto-listo-topline{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:10px!important;flex-wrap:wrap!important;}
.proyecto-listo-badge{position:static!important;display:inline-flex!important;max-width:100%!important;background:linear-gradient(135deg,#f2be1a,#ffe080)!important;color:#172033!important;border:1px solid rgba(255,255,255,.65)!important;box-shadow:0 8px 18px rgba(242,190,26,.22)!important;white-space:normal!important;line-height:1.12!important;}
.proyecto-listo-kicker{margin:0!important;font-size:.72rem!important;background:rgba(0,130,138,.10)!important;border:1px solid rgba(0,130,138,.18)!important;padding:7px 10px!important;border-radius:999px!important;}
.proyecto-listo-body h3{clear:both!important;}
@media(max-width:560px){.proyecto-listo-topline{align-items:flex-start!important}.proyecto-listo-badge,.proyecto-listo-kicker{font-size:.7rem!important}.proyecto-listo-img{aspect-ratio:4/3!important}}

.nav-how-buy{display:inline-flex!important;align-items:center;gap:7px;padding:9px 14px!important;border-radius:999px!important;background:linear-gradient(135deg,rgba(242,190,26,.96),rgba(255,224,128,.98))!important;color:#122033!important;font-weight:950!important;box-shadow:0 12px 26px rgba(242,190,26,.26), inset 0 1px 0 rgba(255,255,255,.7)!important;border:1px solid rgba(255,255,255,.55)!important;text-decoration:none!important;}
.nav-how-buy:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(242,190,26,.32)!important;}
.footer-link-strong{color:#f2be1a!important;font-weight:950!important;text-decoration:none!important;}

/* Página Cómo Comprar */
.buy-page{background:#f4f7fa;color:#0f2740;}
.buy-hero{position:relative;overflow:hidden;padding:96px 0 62px;background:radial-gradient(circle at 20% 20%,rgba(242,190,26,.24),transparent 32%),linear-gradient(135deg,#003f7a,#00828a);color:#fff;}
.buy-hero:after{content:"";position:absolute;right:-120px;bottom:-150px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.10);}
.buy-hero .container{position:relative;z-index:2;}
.buy-kicker{display:inline-flex;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);font-weight:900;margin-bottom:16px;}
.buy-hero h1{font-size:clamp(2.1rem,5vw,4.4rem);line-height:.98;margin:0 0 16px;font-weight:1000;letter-spacing:-.04em;}
.buy-hero p{max-width:820px;font-size:1.08rem;line-height:1.7;color:rgba(255,255,255,.88);}
.buy-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
.buy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:999px;font-weight:950;text-decoration:none;border:1px solid rgba(255,255,255,.35);}
.buy-btn.primary{background:#f2be1a;color:#122033;box-shadow:0 18px 36px rgba(0,0,0,.18)}
.buy-btn.ghost{color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.buy-nav{position:sticky;top:74px;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,63,122,.10);}
.buy-nav .container{display:flex;gap:10px;overflow:auto;padding:12px 16px;}
.buy-nav a{white-space:nowrap;text-decoration:none;color:#003f7a;font-weight:900;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid rgba(0,63,122,.10);}
.buy-section{padding:54px 0;}
.buy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.buy-card{background:#fff;border:1px solid rgba(0,63,122,.10);border-radius:28px;padding:26px;box-shadow:0 20px 46px rgba(15,23,42,.08);}
.buy-card.full{grid-column:1/-1;}
.buy-step-number{width:46px;height:46px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#003f7a,#00828a);color:#fff;font-weight:1000;margin-bottom:16px;}
.buy-card h2,.buy-card h3{margin:0 0 10px;color:#003f7a;font-weight:1000;letter-spacing:-.02em;}
.buy-card p{color:#475569;line-height:1.72;margin:0 0 12px;}
.buy-card ul{margin:12px 0 0;padding-left:20px;color:#475569;line-height:1.75;}
.buy-mini-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.buy-mini-actions a{display:inline-flex;text-decoration:none;background:#edf7f7;color:#003f7a;border:1px solid rgba(0,130,138,.18);border-radius:999px;padding:9px 12px;font-weight:900;font-size:.9rem;}
.buy-alert{background:linear-gradient(135deg,rgba(242,190,26,.20),rgba(0,130,138,.10));border:1px solid rgba(242,190,26,.35);border-radius:22px;padding:18px;color:#17324a;font-weight:750;line-height:1.6;}
.ecosystem-band{background:#0b253d;color:#fff;border-radius:32px;padding:32px;display:grid;grid-template-columns:1.3fr .7fr;gap:22px;align-items:center;box-shadow:0 24px 60px rgba(0,63,122,.22);}
.ecosystem-band h2{color:#fff;margin:0 0 10px;font-size:2rem;}
.ecosystem-tags{display:flex;flex-wrap:wrap;gap:9px;}
.ecosystem-tags span{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 10px;font-weight:850;font-size:.88rem;}
@media(max-width:860px){.buy-grid,.ecosystem-band{grid-template-columns:1fr}.buy-nav{top:66px}.buy-hero{padding-top:78px}.buy-card.full{grid-column:auto}}

/* =====================================================
   AJUSTE SIDEBAR COLORES PREMIUM - JULIO 2026
   Objetivo: que el menú lateral sea el primer foco visual
===================================================== */
.parcelas-sidebar{
  background:
    radial-gradient(circle at 18% 0%, rgba(242,190,26,.34), transparent 30%),
    linear-gradient(180deg, rgba(0,63,122,.98) 0%, rgba(0,86,130,.96) 54%, rgba(0,130,138,.94) 100%)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:
    0 26px 58px rgba(0,43,82,.28),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
  overflow:hidden!important;
}

.parcelas-sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(255,255,255,.13), transparent 32%);
  pointer-events:none;
}

.parcelas-sidebar .sidebar-header,
.sidebar-menu-title{
  position:relative!important;
  z-index:1!important;
  padding:4px 2px 14px!important;
  margin-bottom:10px!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
}

.parcelas-sidebar .sidebar-header h3,
.sidebar-menu-title h3{
  color:#ffffff!important;
  font-size:1.22rem!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  text-shadow:0 3px 14px rgba(0,0,0,.28)!important;
}

.parcelas-sidebar .sidebar-header::after{
  content:"Elige un filtro para comenzar";
  display:inline-flex;
  margin-top:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(242,190,26,.96);
  color:#11243a;
  font-size:.72rem;
  font-weight:950;
  box-shadow:0 10px 22px rgba(242,190,26,.22);
}

.parcelas-sidebar .filter-buttons-wrapper{
  position:relative!important;
  z-index:1!important;
}

.parcelas-sidebar .filter-btn{
  min-height:50px!important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(236,248,255,.80))!important;
  color:#003f7a!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:
    0 12px 26px rgba(0,28,64,.20),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
  border-radius:18px!important;
  font-weight:950!important;
  letter-spacing:-.01em!important;
}

.parcelas-sidebar .filter-btn i,
.parcelas-sidebar .filter-btn svg{
  width:22px!important;
  height:22px!important;
  padding:3px!important;
  border-radius:10px!important;
  color:#00828a!important;
  background:rgba(0,130,138,.10)!important;
  box-shadow:inset 0 0 0 1px rgba(0,130,138,.10)!important;
}

.parcelas-sidebar .filter-btn:hover{
  background:
    linear-gradient(135deg, #ffffff 0%, #fff6cf 100%)!important;
  color:#002b52!important;
  border-color:rgba(242,190,26,.95)!important;
  transform:translateY(-3px) scale(1.015)!important;
  box-shadow:
    0 18px 38px rgba(0,28,64,.28),
    0 0 0 3px rgba(242,190,26,.18)!important;
}

.parcelas-sidebar .filter-btn:hover i,
.parcelas-sidebar .filter-btn:hover svg{
  color:#003f7a!important;
  background:rgba(242,190,26,.26)!important;
}

.parcelas-sidebar .filter-btn.active{
  background:
    linear-gradient(135deg, #f2be1a 0%, #ffe08a 100%)!important;
  color:#11243a!important;
  border-color:rgba(255,255,255,.88)!important;
  box-shadow:
    0 18px 40px rgba(242,190,26,.28),
    0 0 0 3px rgba(255,255,255,.18),
    inset 0 1px 0 rgba(255,255,255,.80)!important;
}

.parcelas-sidebar .filter-btn.active i,
.parcelas-sidebar .filter-btn.active svg{
  color:#11243a!important;
  background:rgba(255,255,255,.42)!important;
}

/* Botón limpiar filtros con alerta suave */
.parcelas-sidebar #filter-clear{
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,238,238,.86))!important;
  color:#dc2626!important;
  border-color:rgba(248,113,113,.45)!important;
}

.parcelas-sidebar #filter-clear:hover{
  background:linear-gradient(135deg, #fff, #ffe4e6)!important;
  border-color:#fb7185!important;
}

/* Comunas: menú más visible y ordenado */
.parcelas-sidebar .dropdown-menu{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,249,255,.94))!important;
  border:1px solid rgba(255,255,255,.76)!important;
  box-shadow:0 18px 42px rgba(0,28,64,.28)!important;
}

.parcelas-sidebar .dropdown-item{
  color:#123a56!important;
  font-weight:850!important;
}

.parcelas-sidebar .dropdown-item:hover,
.parcelas-sidebar .dropdown-item.selected{
  background:linear-gradient(135deg, rgba(242,190,26,.24), rgba(0,130,138,.12))!important;
  color:#003f7a!important;
}

/* Móvil: conserva protagonismo sin ocupar demasiado */
@media(max-width:1050px){
  .parcelas-sidebar{
    border-radius:24px!important;
    background:linear-gradient(135deg, rgba(0,63,122,.98), rgba(0,130,138,.94))!important;
  }
  .parcelas-sidebar .filter-buttons-wrapper{
    gap:10px!important;
  }
  .parcelas-sidebar .filter-btn{
    min-height:48px!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

@media(max-width:620px){
  .parcelas-sidebar .filter-buttons-wrapper{
    grid-template-columns:1fr!important;
  }
  .parcelas-sidebar .sidebar-header::after{
    font-size:.68rem!important;
  }
}


/* =========================================================
   LIMPIEZA ESTRUCTURAL / DISEÑO UNIFICADO - Tu Parcela Lista
   Enfoque: sidebar como guía principal, botones consistentes,
   lectura comercial clara y mejor responsive.
========================================================= */

:root{
  --tpl-blue:#003f7a;
  --tpl-blue-2:#005b8f;
  --tpl-teal:#00828a;
  --tpl-gold:#f2be1a;
  --tpl-gold-soft:#fff3b5;
  --tpl-ink:#0f172a;
  --tpl-soft:#f4f8fb;
}

.nav-link-feature{
  color:var(--tpl-blue)!important;
  font-weight:900!important;
}
.nav-link-feature::before{
  content:"";
  position:absolute;
  inset:auto -10px -9px -10px;
  height:8px;
  border-radius:999px;
  background:rgba(242,190,26,.28);
  z-index:-1;
}

.tpl-flow-strip{
  position:relative;
  z-index:30;
  margin-top:-38px;
  margin-bottom:26px;
}
.tpl-flow-strip-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.tpl-flow-strip a{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  min-height:76px;
  padding:16px 18px;
  border-radius:22px;
  color:var(--tpl-blue);
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,63,122,.08);
  box-shadow:0 14px 34px rgba(0,63,122,.10);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:.25s ease;
}
.tpl-flow-strip a:hover{
  transform:translateY(-4px);
  border-color:rgba(0,130,138,.26);
  box-shadow:0 22px 42px rgba(0,63,122,.16);
}
.tpl-flow-strip strong{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#002b52;
  background:linear-gradient(135deg,var(--tpl-gold),#ffd85a);
  box-shadow:0 10px 20px rgba(242,190,26,.25);
}
.tpl-flow-strip span{
  font-weight:900;
  letter-spacing:-.2px;
}

.parcelas-layout{
  align-items:start;
}
.parcelas-sidebar{
  position:sticky;
  top:100px;
  align-self:start;
  padding:18px;
  border-radius:28px;
  background:
    radial-gradient(circle at 20% 0%, rgba(242,190,26,.35), transparent 28%),
    linear-gradient(180deg, #003f7a 0%, #005b8f 52%, #00828a 100%);
  box-shadow:0 22px 50px rgba(0,63,122,.22);
  border:1px solid rgba(255,255,255,.22);
  overflow:visible;
}
.parcelas-sidebar::before{
  content:"Empieza aquí";
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  padding:7px 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.7px;
  color:#002b52;
  background:linear-gradient(135deg,#fff6c8,#f2be1a);
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}
.sidebar-menu-title,
.sidebar-header{
  padding:0 4px 14px!important;
  margin-bottom:12px!important;
  border-bottom:1px solid rgba(255,255,255,.20)!important;
}
.sidebar-menu-title h3,
.sidebar-header h3{
  color:#fff!important;
  font-size:1.25rem!important;
  line-height:1.1!important;
  text-shadow:0 2px 12px rgba(0,0,0,.18);
}
.sidebar-menu-title h3::after{
  content:"Filtra antes de mirar las parcelas";
  display:block;
  margin-top:8px;
  font-size:.82rem;
  font-weight:600;
  color:rgba(255,255,255,.82);
}
.parcelas-sidebar .filter-buttons-wrapper{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.parcelas-sidebar .filter-btn{
  width:100%;
  justify-content:flex-start;
  min-height:54px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
  background:linear-gradient(135deg, rgba(255,255,255,.19), rgba(255,255,255,.08))!important;
  box-shadow:0 10px 26px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.25)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-weight:850;
}
.parcelas-sidebar .filter-btn svg,
.parcelas-sidebar .filter-btn i{
  color:#ffe07a!important;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.18));
}
.parcelas-sidebar .filter-btn:hover{
  transform:translateY(-2px) scale(1.01);
  background:linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.12))!important;
  border-color:rgba(255,224,122,.80)!important;
  color:#fff!important;
}
.parcelas-sidebar .filter-btn.active{
  color:#002b52!important;
  background:linear-gradient(135deg,#fff3b5,#f2be1a)!important;
  border-color:rgba(255,255,255,.7)!important;
  box-shadow:0 14px 30px rgba(242,190,26,.22)!important;
}
.parcelas-sidebar .filter-btn.active svg,
.parcelas-sidebar .filter-btn.active i{
  color:#003f7a!important;
}
.parcelas-sidebar .dropdown-container{
  width:100%;
}
.parcelas-sidebar .dropdown-menu{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:100%;
  max-height:280px;
  overflow-y:auto;
  margin-top:8px;
  border-radius:18px;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(255,255,255,.5)!important;
  box-shadow:inset 0 0 0 1px rgba(0,63,122,.04), 0 18px 34px rgba(0,43,82,.18)!important;
}
.parcelas-sidebar .dropdown-item{
  color:#14324a!important;
  border-radius:12px;
  margin:2px 8px;
  font-weight:750;
}
.parcelas-sidebar .dropdown-item:hover,
.parcelas-sidebar .dropdown-item.selected{
  background:linear-gradient(135deg,#003f7a,#00828a)!important;
  color:#fff!important;
}

.search-heading-card{
  border-radius:28px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(244,250,255,.96))!important;
  border:1px solid rgba(0,63,122,.08)!important;
  box-shadow:0 14px 34px rgba(0,63,122,.08)!important;
}
.search-kicker{
  color:var(--tpl-teal)!important;
  font-weight:900!important;
}

button,
a[class*="btn"],
.filter-btn,
.view-btn{
  -webkit-tap-highlight-color:transparent;
}
.btn-select-plot,
.btn-select-casa,
.btn-whatsapp-quote,
.nav-contact-btn,
#search-btn,
#budget-go,
.btn-own-design-index{
  position:relative;
  overflow:hidden;
}
.btn-select-plot::after,
.btn-select-casa::after,
.btn-whatsapp-quote::after,
.nav-contact-btn::after,
#search-btn::after,
#budget-go::after,
.btn-own-design-index::after{
  content:"";
  position:absolute;
  inset:0 auto 0 -120%;
  width:55%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-24deg);
  transition:.65s ease;
}
.btn-select-plot:hover::after,
.btn-select-casa:hover::after,
.btn-whatsapp-quote:hover::after,
.nav-contact-btn:hover::after,
#search-btn:hover::after,
#budget-go:hover::after,
.btn-own-design-index:hover::after{
  left:140%;
}

.section-cotizador .options-box,
.cotizacion-summary-card,
.casa-card,
.parcela-card{
  border-color:rgba(0,63,122,.08)!important;
}

/* Bloque comercial para reducir dudas del cliente */
.tpl-client-note{
  margin:26px 0 0;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(0,130,138,.08),rgba(242,190,26,.14));
  border:1px solid rgba(0,130,138,.14);
  color:#17384d;
  font-weight:650;
}

@media (max-width:992px){
  .tpl-flow-strip{margin-top:18px;}
  .tpl-flow-strip-inner{grid-template-columns:repeat(2,1fr);} 
  .parcelas-sidebar{
    position:relative;
    top:auto;
    margin-bottom:22px;
  }
}
@media (max-width:640px){
  .tpl-flow-strip-inner{grid-template-columns:1fr;}
  .tpl-flow-strip a{min-height:62px;}
  .parcelas-sidebar{border-radius:22px;padding:14px;}
  .parcelas-sidebar .filter-btn{min-height:50px;}
}


/* =========================================================
   AJUSTES DIRECTOR - FOOTER CRM + TARJETAS LIMPIAS
========================================================= */
.footer-inner{
  gap:16px;
}
.footer-crm-access{
  width:42px;
  height:42px;
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#ffffff;
  background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.22);
  text-decoration:none;
  box-shadow:0 10px 25px rgba(0,0,0,.16);
  transition:.25s ease;
}
.footer-crm-access:hover{
  transform:translateY(-2px);
  color:#002b52;
  background:#f2be1a;
  border-color:#f2be1a;
}
.footer-crm-access i,
.footer-crm-access svg{width:20px;height:20px;}

/* Tarjeta de parcela: precio fuera de la foto, limpio y editorial */
.parcela-card .card-image .card-price{
  display:none!important;
}
.parcela-card .v3-feature-chips{
  display:none!important;
}
.parcela-card .card-price-clean,
.parcela-card .card-body > .card-price{
  position:static!important;
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:4px 0 10px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#003f7a!important;
  font-size:1.25rem!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
.parcela-card .card-meta{
  margin-bottom:2px!important;
}
.parcela-card .card-comuna{
  left:12px!important;
  top:12px!important;
  right:auto!important;
  bottom:auto!important;
  background:rgba(0,43,82,.82)!important;
  color:#fff!important;
  padding:7px 11px!important;
  font-size:.78rem!important;
  backdrop-filter:blur(10px)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18)!important;
}
.parcela-card .card-description{
  margin-top:0!important;
}

/* Título dinámico del contenedor reemplaza chips repetidos */
.v3-results-head #search-title{
  color:#003f7a;
}
.v3-results-head .parcelas-filter-note{
  color:#526b7d;
}

@media(max-width:640px){
  .footer-inner{flex-wrap:wrap;justify-content:center;text-align:center;}
  .footer-crm-access{margin-left:0;}
  .parcela-card .card-price-clean,
  .parcela-card .card-body > .card-price{font-size:1.12rem!important;}
}
