/* inmuebles.com.uy — portal general. Colores: cambiar en :root */
:root {
  --primario: #0f2747;
  --primario-2: #1d3d6b;
  --acento: #f2a33a;
  --acento-2: #e08c1a;
  --fondo: #f5f6fa;
  --texto: #1b2433;
  --suave: #6b7489;
  --borde: #e3e6ee;
  --radio: 14px;
  --bs-body-font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  --bs-body-color: var(--texto);
  --bs-link-color-rgb: 29, 61, 107;
}
body { background: var(--fondo); }
a { text-decoration: none; }
h1, h2, h3 { font-weight: 800; letter-spacing: -.02em; }

/* Cabecera */
.cabecera { background: var(--primario); }
.cabecera .navbar { padding: .8rem 0; }
.cabecera .nav-link { color: #c9d4e5; font-weight: 600; font-size: .95rem; }
.cabecera .nav-link:hover { color: #fff; }
.cabecera .navbar-toggler { color: #fff; border-color: rgba(255,255,255,.3); font-size: 1.5rem; }
.marca { display: flex; align-items: center; gap: .6rem; color: #fff; font-weight: 800; font-size: 1.25rem; letter-spacing: -.02em; }
.marca:hover { color: #fff; }
.marca b { color: var(--acento); font-weight: 800; }
.marca-icono { width: 36px; height: 36px; }
.ref-form .form-control { max-width: 150px; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: #fff; }
.ref-form .form-control::placeholder { color: #9fb0c8; }

/* Botones */
.btn-acento { background: var(--acento); border-color: var(--acento); color: var(--primario); font-weight: 700; }
.btn-acento:hover, .btn-acento:focus { background: var(--acento-2); border-color: var(--acento-2); color: var(--primario); }
.btn-outline-primario { border: 1px solid var(--primario); color: var(--primario); font-weight: 600; }
.btn-outline-primario:hover, .btn-check:checked + .btn-outline-primario { background: var(--primario); color: #fff; }

/* Portada */
.hero {
  background:
    radial-gradient(1200px 400px at 85% -10%, rgba(242,163,58,.35), transparent 60%),
    linear-gradient(160deg, var(--primario) 0%, var(--primario-2) 100%);
  color: #fff; padding: 4.5rem 0 5rem;
}
.hero h1 { font-size: clamp(1.9rem, 4vw, 3rem); max-width: 760px; }
.hero-sub { color: #c9d4e5; font-size: 1.1rem; margin-bottom: 2rem; }
.buscador { background: #fff; border-radius: var(--radio); padding: 1rem; box-shadow: 0 20px 50px rgba(7,20,40,.35); color: var(--texto); max-width: 1040px; }
.buscador-op { display: inline-flex; background: var(--fondo); border-radius: 999px; padding: 4px; margin-bottom: .9rem; }
.buscador-op .btn { border-radius: 999px; font-weight: 700; padding: .35rem 1.2rem; border: 0; color: var(--suave); }
.buscador-op .btn-check:checked + .btn { background: var(--primario); color: #fff; }
.buscador-campos { display: grid; grid-template-columns: repeat(5, 1fr); gap: .75rem; align-items: end; }
.buscador .campo label { display: block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--suave); margin-bottom: .25rem; }
.buscador .form-select { border-color: var(--borde); padding-top: .6rem; padding-bottom: .6rem; }
.buscador .btn-acento { padding: .62rem; }
@media (max-width: 991px) { .buscador-campos { grid-template-columns: 1fr 1fr; } .campo-btn { grid-column: 1 / -1; } }
@media (max-width: 575px) { .buscador-campos { grid-template-columns: 1fr; } }

.seccion { padding-top: 3rem; padding-bottom: 3rem; }
.seccion-alt { background: #fff; padding: 3rem 0; border-top: 1px solid var(--borde); border-bottom: 1px solid var(--borde); }
.seccion-cabeza { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1.5rem; }
.seccion-cabeza a { font-weight: 700; }
.depto { display: block; padding: 1rem 1.1rem; border: 1px solid var(--borde); border-radius: var(--radio); background: var(--fondo); color: var(--texto); transition: .15s; }
.depto:hover { border-color: var(--acento); background: #fff; transform: translateY(-2px); }
.depto strong { display: block; }
.depto span { font-size: .85rem; color: var(--suave); }

/* Tarjeta de propiedad */
.prop { border: 1px solid var(--borde); border-radius: var(--radio); overflow: hidden; transition: box-shadow .2s, transform .2s; }
.prop:hover { box-shadow: 0 14px 30px rgba(15,39,71,.12); transform: translateY(-3px); }
.prop-img { background: #e9ecef; }
.prop-img img { object-fit: cover; width: 100%; height: 100%; }
.prop-badges { position: absolute; top: .7rem; left: .7rem; display: flex; gap: .35rem; flex-wrap: wrap; inset: .7rem auto auto .7rem; width: auto; height: auto; }
.prop-badges .badge { font-weight: 700; }
.b-venta { background: var(--primario); }
.b-alquiler { background: #2b8a6e; }
.b-obra { background: var(--acento); color: var(--primario); }
.b-temp { background: #0b84a5; }
.prop .card-body { padding: 1rem 1.1rem .4rem; }
.prop-precio { font-size: 1.3rem; font-weight: 800; color: var(--primario); }
.prop-titulo { font-size: 1rem; font-weight: 700; margin: .25rem 0; }
.prop-titulo a { color: var(--texto); }
.prop-lugar { color: var(--suave); font-size: .9rem; }
.prop-datos { list-style: none; display: flex; gap: 1rem; flex-wrap: wrap; padding: .6rem 1.1rem .9rem; margin: 0; font-size: .85rem; color: var(--suave); border-top: 1px dashed var(--borde); }
.prop-ref { margin-left: auto; font-size: .72rem; color: #a3abbd; font-weight: 600; align-self: center; }

/* Resultados */
.resultados-cabeza { background: #fff; border-bottom: 1px solid var(--borde); padding: 1.5rem 0 1.2rem; }
.resultados-cabeza h1 { font-size: clamp(1.4rem, 3vw, 2rem); margin: .2rem 0; }
.resultados-cuenta { color: var(--suave); margin: 0; }
.breadcrumb { font-size: .85rem; margin-bottom: .25rem; }
.filtros { border: 1px solid var(--borde); border-radius: var(--radio); margin-bottom: 1.5rem; }
.filtros [data-precio] { font-size: .8rem; padding-right: 1.6rem; }
.filtros .form-label { font-size: .8rem; font-weight: 700; color: var(--suave); margin-bottom: .2rem; }
.facetas { background: #fff; border: 1px solid var(--borde); border-radius: var(--radio); padding: 1rem 1.1rem; margin-bottom: 1.5rem; }
.facetas h2 { font-size: .95rem; margin-bottom: .6rem; }
.facetas ul { list-style: none; padding: 0; margin: 0; max-height: 360px; overflow: auto; }
.facetas li { display: flex; justify-content: space-between; padding: .25rem 0; font-size: .9rem; border-bottom: 1px solid #f0f2f6; }
.facetas li span { color: var(--suave); font-size: .8rem; }
.vacio { text-align: center; padding: 3rem 1rem; }
.vacio > i { font-size: 3rem; color: var(--acento); }
.vacio h1, .vacio h2 { font-size: 1.4rem; margin-top: 1rem; }
.texto-seo { margin-top: 3rem; color: var(--suave); font-size: .92rem; }
.texto-seo h2 { font-size: 1.05rem; color: var(--texto); }
.pagination { --bs-pagination-active-bg: var(--primario); --bs-pagination-active-border-color: var(--primario); --bs-pagination-color: var(--primario); }

/* Pie */
.pie { background: var(--primario); color: #c9d4e5; padding: 3rem 0 1.5rem; margin-top: 2rem; }
.pie h2 { font-size: .9rem; color: #fff; text-transform: uppercase; letter-spacing: .06em; }
.pie ul { list-style: none; padding: 0; }
.pie li { margin: .35rem 0; }
.pie a { color: #c9d4e5; }
.pie a:hover { color: var(--acento); }
.marca-pie { margin-bottom: .8rem; }
.pie-legal { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; border-top: 1px solid rgba(255,255,255,.12); margin-top: 2rem; padding-top: 1.2rem; font-size: .85rem; }
