/* === ANDREUSSI: LISTADO & FICHA DE PROPIEDADES === */

:root{
  --andreussi-red:#C62828;
  --andreussi-dark-red:#9e1f1f;
  --andreussi-black:#111827;
  --andreussi-gray:#6b7280;
}

/* -------- Hero / cabecera de la página de listado -------- */
.propiedades-page-andreussi{
  padding-top: 32px;
  min-height: 100vh;
  background: linear-gradient(135deg,#f8f9fa 0%,#e9ecef 50%,#f8f9fa 100%);
}

.propiedades-hero{
  background: linear-gradient(135deg,var(--andreussi-red),var(--andreussi-dark-red));
  color:#fff;
  text-align:center;
  padding:36px 0 18px;
  position:relative; overflow:hidden;
}
.propiedades-hero::before{
  content:""; position:absolute; inset:0; opacity:.25;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.2)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
}
.propiedades-hero-content{position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:0 16px}
.page-title-propiedades{font-size:2.2rem; font-weight:900; margin:0 0 .25rem}
.page-subtitle-propiedades{opacity:.95; margin:0}
.stats-quick{display:flex; gap:24px; justify-content:center; margin-top:12px}
.stat-quick{text-align:center}
.stat-quick-number{display:block; font-size:1.6rem; font-weight:900}
.stat-quick-label{opacity:.9}

/* -------- Filtros -------- */
.filters-section{
  background:#fff;
  border-bottom:3px solid var(--andreussi-red);
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  position:sticky; top:70px; z-index:20;
}
.filters-container{max-width:1200px; margin:0 auto; padding:14px 16px}
.filters-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px; align-items:end;
}
.filter-label{font-weight:700; color:var(--andreussi-black); margin-bottom:6px; font-size:.9rem}
.filter-input,.filter-select{
  padding:.65rem .7rem; border:2px solid #e5e7eb; border-radius:12px; font-size:.95rem; background:#fff;
}
.filter-input:focus,.filter-select:focus{outline:none; border-color:var(--andreussi-red); box-shadow:0 0 0 3px rgba(198,40,40,.12)}
.filter-btn{
  background:linear-gradient(135deg,var(--andreussi-red),var(--andreussi-dark-red));
  color:#fff; border:none; padding:.7rem 1rem; border-radius:12px; font-weight:900; cursor:pointer;
  box-shadow:0 8px 16px rgba(198,40,40,.25)
}
.filter-btn:hover{filter:brightness(1.05); transform:translateY(-1px)}
.filter-btn-clear{background:#6b7280}

/* -------- Encabezado resultados -------- */
.results-section{max-width:1200px; margin:0 auto; padding:26px 16px}
.results-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.results-count{color:var(--andreussi-gray);font-weight:700}
.sort-select{padding:.5rem;border:2px solid #e5e7eb;border-radius:8px}

/* -------- Grid de cards -------- */
.propiedades-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}

.propiedad-card{
  background:#fff; border:1px solid #e9eef5; border-radius:16px; overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  transition:transform .18s ease, box-shadow .18s ease;
  position:relative;
  animation:fadeInUp .6s ease-out;
}
.propiedad-card:hover{transform:translateY(-6px); box-shadow:0 18px 36px rgba(0,0,0,.12)}

.propiedad-image{position:relative;height:210px;overflow:hidden}
.propiedad-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.propiedad-card:hover .propiedad-image img{transform:scale(1.04)}

.operacion-badge{position:absolute;left:12px;top:12px}
.codigo-referencia{
  position:absolute;right:12px;top:12px;background:rgba(17,24,39,.85);color:#fff;
  border-radius:10px;padding:.25rem .5rem;font-size:.72rem;font-weight:800
}
.gallery-indicator{
  position:absolute;right:12px;bottom:12px;background:rgba(17,24,39,.85);color:#fff;
  border-radius:10px;padding:.25rem .5rem;font-size:.76rem
}

/* pills Venta/Alquiler */
.pill{display:inline-block;padding:.28rem .6rem;font-size:.72rem;font-weight:800;text-transform:uppercase;border-radius:999px;color:#fff;letter-spacing:.3px;box-shadow:0 2px 0 rgba(0,0,0,.25)}
.pill-ven{background:#C62828}
.pill-alq{background:#4F46E5}

/* Contenido card */
.propiedad-content{padding:16px}
.propiedad-tipo{display:inline-block;font-size:.75rem;font-weight:800;color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.25rem}
.propiedad-precio{font-size:1.35rem;font-weight:900;color:#111827;margin:.15rem 0 .35rem}
.propiedad-precio .currency{
  display:inline-block;margin-right:6px;padding:.15rem .4rem;font-size:.72rem;font-weight:900;color:#fff;background:#111827;border-radius:6px;position:relative;top:-2px
}
.propiedad-precio small{font-size:.8rem;color:#6b7280;font-weight:700}
.propiedad-direccion{font-weight:700;color:#374151;margin-bottom:.6rem;font-size:.95rem}

.propiedad-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem .9rem;margin:.4rem 0 1rem}
.spec-item{color:#6b7280;font-weight:600;font-size:.9rem;display:flex;gap:.35rem;align-items:center}

.propiedad-servicios .servicios-title{color:#111827;font-weight:900;font-size:.85rem;margin-bottom:.25rem}
.servicios-list{display:flex;flex-wrap:wrap;gap:8px}
.servicio-tag{background:#eef2ff;color:#4F46E5;border:1px solid #dbe4ff;padding:.18rem .5rem;font-size:.72rem;font-weight:800;border-radius:999px}

.propiedad-actions{display:flex;align-items:center;gap:8px}
.btn-ver-propiedad{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  padding:.6rem .9rem; border-radius:10px; font-weight:900; text-decoration:none; color:#fff;
  background:linear-gradient(180deg,var(--andreussi-red),var(--andreussi-dark-red));
  box-shadow:0 8px 16px rgba(198,40,40,.25)
}
.btn-ver-propiedad:hover{filter:brightness(1.05); transform:translateY(-1px)}
.btn-contactar{
  background:transparent; color:var(--andreussi-red); border:2px solid var(--andreussi-red);
  padding:.6rem .8rem;border-radius:10px;font-weight:900;text-decoration:none
}
.btn-contactar:hover{background:var(--andreussi-red);color:#fff}

/* Paginación */
.pagination-andreussi{display:flex;justify-content:center;gap:8px;margin-top:26px}
.pagination-andreussi a{
  padding:.6rem .9rem;border:2px solid #e5e7eb;background:#fff;color:#111827;text-decoration:none;border-radius:10px;font-weight:800
}
.pagination-andreussi .current{background:linear-gradient(180deg,var(--andreussi-red),var(--andreussi-dark-red));color:#fff;border-color:var(--andreussi-red)}

/* No results */
.no-results{text-align:center;padding:3rem 1rem;color:var(--andreussi-gray)}
.no-results-icon{font-size:3rem;margin-bottom:.5rem;opacity:.6}

/* Anim */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* --------- Detalle (single-propiedad) --------- */
.single-prop-wrap{max-width:1200px;margin:0 auto;padding:22px 16px}
.prop-hero{background:linear-gradient(135deg,var(--andreussi-red),var(--andreussi-dark-red));color:#fff;padding:26px 0 20px;margin-bottom:22px}
.prop-hero .inner{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;gap:18px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.prop-title{margin:0;font-weight:900;font-size:1.9rem}
.prop-sub{opacity:.95;margin:.25rem 0 0}
.prop-right{text-align:right}
.prop-price{font-size:1.6rem;font-weight:900;margin:6px 0 0}
.prop-price .currency{display:inline-block;margin-right:6px;padding:.15rem .4rem;font-size:.72rem;font-weight:900;color:#fff;background:#111827;border-radius:6px;position:relative;top:-2px}
.prop-meta{display:flex;gap:10px;align-items:center;margin-top:8px}
.prop-meta .ref{background:rgba(17,24,39,.85);padding:.18rem .5rem;border-radius:8px;font-weight:800}

.prop-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}
@media (max-width:980px){.prop-grid{grid-template-columns:1fr}.prop-right{text-align:left}}

.gallery-main{border-radius:16px;overflow:hidden;border:1px solid #e9eef5;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.gallery-main .cover{height:420px;overflow:hidden}
.gallery-main .cover img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px;background:#fff}
.gallery-thumbs img{width:100%;height:76px;object-fit:cover;border-radius:10px;border:1px solid #e9eef5;cursor:pointer}

.side-panel{position:sticky;top:80px;height:max-content;border:1px solid #e9eef5;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:14px}
.side-panel .cta{display:flex;gap:10px}
.side-panel .btn-primary{
  flex:1;display:inline-flex;align-items:center;justify-content:center;padding:.7rem .9rem;border-radius:12px;font-weight:900;color:#fff;text-decoration:none;
  background:linear-gradient(180deg,var(--andreussi-red),var(--andreussi-dark-red));
}
.side-panel .btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:.7rem .9rem;border-radius:12px;font-weight:900;border:2px solid var(--andreussi-red);color:var(--andreussi-red);text-decoration:none}
.side-panel .block{margin-top:12px}
.side-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem .8rem}
.side-specs .item{font-weight:700;color:#374151}

.section{margin-top:26px}
.section h3{margin:0 0 .6rem;font-size:1.2rem;font-weight:900;color:#111827}
#mapa-prop{height:360px;border-radius:16px;border:1px solid #e9eef5;overflow:hidden}

.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.prop-card{background:#fff;border-radius:16px;border:1px solid #e9eef5;box-shadow:0 10px 30px rgba(0,0,0,.06);overflow:hidden}
.prop-card img{width:100%;height:190px;object-fit:cover;display:block}
.prop-card .body{padding:12px}
.prop-card .price{font-weight:900}

/* Responsive tweaks */
@media (max-width: 680px){
  .propiedad-specs{grid-template-columns:1fr}
}