/* =========================================================
   CASA HOME — CATALOGO MAS PURO
   (/catalogo/index.php, va despues de sus estilos)

   Fotos tal cual: sin acercamiento al pasar el mouse ni velo oscuro.
   Filtros al estilo Apple: sin bordes ni rayas entre secciones,
   etiquetas en letra normal, opciones sobre gris claro y la elegida en
   negro. Solo espacio y fondo separan las cosas.
========================================================= */

.ct-sidebar,
.ct-main,
.ct-toolbar,
.ct-activos{
    font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}

/* ---------- Fotos sin efectos ---------- */
.ct-card-img::after,
.ct-card.is-vendido .ct-card-img::after{ display:none !important; }
.ct-card-img img,
.ct-proy-img img{ transition:none !important; }
.ct-card:hover .ct-card-img img,
.ct-proy-card:hover .ct-proy-img img{ transform:none !important; }

.ct-proy-sin{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    background:linear-gradient(180deg,#f5f5f7,#ececf0);
    color:#aeaeb2;
}
.ct-proy-sin svg{ width:30px; height:30px; }
.ct-proy-sin small{ color:#86868b; font-size:12px; font-weight:500; }

/* ---------- Filtros ---------- */
.ct-sidebar{
    border:0 !important;
    border-radius:22px !important;
    box-shadow:0 1px 2px rgba(0,0,0,.04), 0 6px 22px rgba(0,0,0,.06) !important;
}
.ct-sb-head{
    border-bottom:0 !important;
    padding:20px 20px 6px !important;
}
.ct-sb-titulo{
    color:#1d1d1f !important;
    font-size:17px !important;
    font-weight:600 !important;
    letter-spacing:-.01em !important;
    text-transform:none !important;
}
.ct-sb-titulo svg{ display:none !important; }
.ct-sb-reset{ color:#0066cc !important; font-size:13px !important; }
.ct-sb-sec{
    border-bottom:0 !important;
    padding:14px 20px !important;
}
.ct-sb-lbl{
    margin-bottom:9px !important;
    color:#86868b !important;
    font-size:12.5px !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}
.ct-tipo-sep{ display:none !important; }
.ct-tipo-opts{ gap:4px !important; }
.ct-tipo-opt{
    padding:10px 12px !important;
    border:0 !important;
    border-radius:12px !important;
    background:#f5f5f7 !important;
    box-shadow:none !important;
    color:#1d1d1f !important;
    font-size:13.5px !important;
    font-weight:500 !important;
}
.ct-tipo-opt:hover{ background:#ebebef !important; }
.ct-tipo-opt.activo{ background:#1d1d1f !important; color:#fff !important; }
.ct-tipo-opt i{ color:inherit !important; opacity:.75; }
.ct-cnt{ background:rgba(0,0,0,.06) !important; color:inherit !important; font-weight:500 !important; }
.ct-tipo-opt.activo .ct-cnt{ background:rgba(255,255,255,.18) !important; color:#fff !important; }

.ct-sb-inp{
    height:42px !important;
    border:0 !important;
    border-radius:12px !important;
    background-color:#f5f5f7 !important;
    color:#1d1d1f !important;
    font-weight:500 !important;
}
.ct-sb-inp:focus{ background-color:#fff !important; box-shadow:0 0 0 2px #1d1d1f !important; }

/* Estado y modalidad marcan el elegido con color en la propia etiqueta:
   aqui solo se afina la forma, sin tocar su color. */
.ct-estado-chip{
    border:0 !important;
    border-radius:980px !important;
    font-weight:500 !important;
}
.ct-feat-chip,
.ct-manzana-chip{
    border:0 !important;
    border-radius:980px !important;
    background:#f5f5f7 !important;
    color:#1d1d1f !important;
    font-weight:500 !important;
}
.ct-feat-chip.activo,
.ct-manzana-chip.activo{ background:#1d1d1f !important; color:#fff !important; }

.ct-btn-filtrar{
    border-radius:980px !important;
    background:#1d1d1f !important;
    font-weight:500 !important;
}
.ct-check-of{ color:#1d1d1f !important; font-weight:500 !important; }
.ct-check-of input{ accent-color:#1d1d1f !important; }

/* ---------- Filtros activos arriba ---------- */
.ct-activo-chip{
    border:0 !important;
    background:#f5f5f7 !important;
    color:#1d1d1f !important;
    font-weight:500 !important;
}
.ct-activo-chip .x{ background:rgba(0,0,0,.08) !important; color:#1d1d1f !important; }
.ct-activo-limpiar{ border:0 !important; color:#0066cc !important; font-weight:500 !important; }
.ct-activo-limpiar:hover{ background:#f5f5f7 !important; }

/* =========================================================
   TARJETA DE LOTE / PROPIEDAD, VERSION PRO

   Una linea de contexto (tipo, proyecto, ciudad), el titulo en letra
   normal, los datos en texto y el precio. Sobre la foto solo el
   estado y el corazon de favoritos. Sin bordes, sin rayas, sin
   chips con iconos: espacio y una sombra suave.
========================================================= */
.ct-card.ct-card-pro{
    position:relative;
    display:flex;
    flex-direction:column;
    border:0 !important;
    border-radius:20px !important;
    background:#fff;
    box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 26px rgba(0,0,0,.06) !important;
    transition:box-shadow .25s ease, transform .25s ease !important;
}
.ct-card.ct-card-pro:hover{
    transform:translateY(-3px) !important;
    box-shadow:0 2px 4px rgba(0,0,0,.05), 0 18px 40px rgba(0,0,0,.10) !important;
}
.ct-card-pro .ct-card-foto{ display:block; text-decoration:none; }
.ct-card-pro .ct-card-img{ border-radius:20px 20px 0 0; }

.ct-pills{ position:absolute; top:12px; left:12px; z-index:3; display:flex; gap:6px; flex-wrap:wrap; }
.ct-pill{
    display:inline-flex; align-items:center; gap:6px;
    height:26px; padding:0 10px;
    border-radius:980px;
    background:rgba(255,255,255,.94);
    color:#1d1d1f;
    font-size:12px; font-weight:500; line-height:1;
    box-shadow:0 2px 8px rgba(0,0,0,.10);
}
.ct-punto{ width:7px; height:7px; border-radius:50%; background:#30a46c; }
.ct-pill.is-oferta{ background:#1d1d1f; color:#fff; }

.ct-like-btn.ct-like-foto{
    position:absolute; top:10px; right:10px; z-index:4;
    display:inline-flex; align-items:center; justify-content:center; gap:4px;
    min-width:34px; height:34px; padding:0 9px;
    border:0 !important; border-radius:980px !important;
    background:rgba(255,255,255,.94) !important;
    color:#1d1d1f !important;
    font-size:12px; font-weight:600;
    box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.ct-like-btn.ct-like-foto span:empty{ display:none; }
.ct-like-btn.ct-like-foto:hover{ color:#e11d48 !important; }
.ct-like-btn.ct-like-foto.liked{ color:#e11d48 !important; background:#fff !important; }

.ct-card-pro .ct-card-body{ display:flex; flex-direction:column; gap:0 !important; padding:16px 16px 16px !important; }
.ct-card-ceja{
    overflow:hidden;
    color:#6e6e73;
    font-size:12.5px; font-weight:500; line-height:1.35;
    white-space:nowrap; text-overflow:ellipsis;
}
.ct-card-pro .ct-card-nombre{
    margin-top:4px;
    color:#1d1d1f;
    font-size:16px !important; font-weight:600 !important;
    line-height:1.3; letter-spacing:-.01em;
    text-transform:none !important;
}
.ct-card-pro .ct-card-nombre a{ color:inherit; text-decoration:none; }
.ct-card-pro .ct-card-nombre a:hover{ color:#1d1d1f; text-decoration:underline; text-underline-offset:3px; }

.ct-card-datos{ display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:8px; color:#6e6e73; font-size:13px; line-height:1.4; }
.ct-card-datos strong{ color:#1d1d1f; font-weight:600; }

.ct-card-precio{ margin-top:12px; }
.ct-card-pro .ct-precio-main{ color:#1d1d1f; font-size:18px; font-weight:600; letter-spacing:-.015em; }
.ct-card-pro .ct-precio-cuota{ margin-top:2px; color:#6e6e73; font-size:12.5px; font-weight:400; }
.ct-card-pro .ct-precio-consultar{ color:#1d1d1f !important; font-size:15px !important; font-weight:600 !important; }

.ct-card-pro .ct-card-btns{ display:flex; gap:8px; margin-top:auto; padding-top:16px; }
.ct-card-pro .ct-btn-ver{
    flex:1 1 auto; min-width:0;
    display:flex !important; align-items:center; justify-content:center;
    height:42px; padding:0 14px;
    border:0; border-radius:980px !important;
    background:#1d1d1f !important; color:#fff !important;
    font-size:14px !important; font-weight:500 !important;
    white-space:nowrap; text-decoration:none;
}
.ct-card-pro .ct-btn-ver:hover{ background:#000 !important; }
.ct-card-pro .ct-btn-wa{
    flex:0 0 42px; width:42px; height:42px;
    border:0 !important; border-radius:50% !important;
    background:#f5f5f7 !important; color:#1d1d1f !important;
}
.ct-card-pro .ct-btn-wa:hover{ background:#25d366 !important; color:#fff !important; }

/* Lista: foto a la izquierda. */
.ct-grid.lista .ct-card-pro .ct-card-foto{ flex:0 0 280px; }
.ct-grid.lista .ct-card-pro .ct-card-img{ width:100%; height:100%; border-radius:20px 0 0 20px; }

@media (max-width:640px){
    .ct-grid:not(.lista) .ct-card-pro .ct-card-body{ padding:11px 11px 12px !important; }
    .ct-grid:not(.lista) .ct-card-pro .ct-card-nombre{ font-size:13.5px !important; }
    .ct-grid:not(.lista) .ct-card-ceja,
    .ct-grid:not(.lista) .ct-card-datos{ font-size:11.5px; }
    .ct-grid:not(.lista) .ct-card-pro .ct-precio-main{ font-size:15px; }
    .ct-grid:not(.lista) .ct-card-pro .ct-btn-ver{ height:36px; font-size:12.5px !important; padding:0 10px; }
    .ct-grid:not(.lista) .ct-card-pro .ct-btn-wa{ flex-basis:36px; width:36px; height:36px; }
    .ct-grid.lista .ct-card-pro .ct-card-foto{ flex:none; }
    .ct-grid.lista .ct-card-pro .ct-card-img{ border-radius:20px 20px 0 0; }
}
