/* OFERT-ECO R10 (ECO3): OfertCasa «Inmuebles» — buscador, ficha y área del anunciante. Usa las variables del tema (--o, --line, --mute, --r). */
.hm-head h1{margin-bottom:.4rem}
.hm-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem 1rem;align-items:start;padding:1rem;border:1px solid var(--line);border-radius:var(--r,12px);background:#fff;margin:1.25rem 0}
.hm-filters label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem}
.hm-filters select,.hm-filters input{width:100%;min-height:44px;box-sizing:border-box}
.hm-go .btn{width:100%;min-height:44px}
.hm-count{color:var(--mute);margin:.5rem 0 1rem}
.hm-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.hm-card a{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:var(--r,12px);overflow:hidden;background:#fff;color:inherit;text-decoration:none}
.hm-card a:hover,.hm-card a:focus-visible{border-color:var(--o);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.hm-card img,.hm-nophoto{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--o-soft,#f4f4f4)}
.hm-card-b{display:flex;flex-direction:column;gap:.25rem;padding:.8rem .9rem 1rem}
.hm-price{font-size:1.25rem;font-weight:700}
.hm-title{font-weight:600}
.hm-meta{color:var(--mute);font-size:.9rem}
.hm-energy{display:inline-block;min-width:1.6rem;padding:0 .4rem;border-radius:4px;font-weight:700;font-size:.85rem;line-height:1.5;text-align:center;color:#fff;background:#6b6b6b;align-self:flex-start}
.hm-energy-a{background:#00703c}.hm-energy-b{background:#2e7d32}.hm-energy-c{background:#5b7f12}.hm-energy-d{background:#7a6a00}
.hm-energy-e{background:#9a5b00}.hm-energy-f{background:#b23c00}.hm-energy-g{background:#b00020}.hm-energy-x{background:#555;font-weight:600}
.hm-empty{padding:1.5rem;border:1px dashed var(--line);border-radius:var(--r,12px);text-align:center}
.hm-pager{display:flex;gap:.75rem;align-items:center;justify-content:center;margin:1.5rem 0}
.hm-rules{margin-top:2rem;padding:1rem 1.25rem;border-left:4px solid var(--o);background:var(--o-soft,#f7f7f7);border-radius:0 var(--r,12px) var(--r,12px) 0}
.hm-rules ul{margin:.5rem 0 0;padding-left:1.2rem}
.hm-detail h1{margin-bottom:.25rem}
.hm-place{color:var(--mute)}
.hm-gallery{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.hm-gallery li:first-child{grid-column:span 2;grid-row:span 2}
.hm-gallery img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.hm-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:2rem;align-items:start}
.hm-desc{white-space:normal;overflow-wrap:anywhere}
.hm-dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.35rem 1rem}
.hm-dl dt{font-weight:600}.hm-dl dd{margin:0;overflow-wrap:anywhere}
.hm-verified{margin:1.25rem 0;padding:.9rem 1rem;border:1px solid var(--o-line,var(--line));border-radius:var(--r,12px);background:var(--o-soft,#fafafa)}
.hm-verified h2{font-size:1.05rem;margin:0 0 .3rem}
.hm-ask{position:sticky;top:1rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--r,12px);background:#fff}
.hm-ask h2{margin-top:0}
.acc-err{color:#b00020;font-size:.9rem;margin:.2rem 0 .5rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hm-table{overflow-x:auto}
.hm-thumbs{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}
.hm-thumbs img{display:block;width:160px;height:120px;object-fit:cover;border-radius:6px}
.hm-inline{display:inline}
.hm-inq h3{margin-top:0}
@media (max-width:900px){.hm-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-cols{grid-template-columns:1fr}.hm-ask{position:static}}
@media (max-width:560px){.hm-filters{grid-template-columns:1fr}.hm-grid{grid-template-columns:1fr}.hm-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hm-ask .acc-check,.hm-form .acc-check{display:flex;gap:.6rem;align-items:flex-start;text-align:left;font-weight:500}
.hm-ask .acc-check input,.hm-form .acc-check input{width:auto;flex:0 0 auto;margin:.2rem 0 0;min-height:0}

/* R17: comparison remains usable without JavaScript and with keyboard scrolling. */
.hm-compare-pick{display:flex;align-items:center;gap:.6rem;padding:1rem;font-weight:600}.hm-compare-pick input{width:1.25rem;height:1.25rem;flex:none}
.hm-compare-scroll{max-width:100%;overflow-x:auto;margin:1.5rem 0}.hm-compare-scroll:focus-visible{outline:3px solid #b94012;outline-offset:3px}
.hm-compare{border-collapse:collapse;width:100%;min-width:700px}.hm-compare caption{text-align:left;font-weight:700;padding:.75rem}.hm-compare th,.hm-compare td{border:1px solid #767676;padding:1rem;text-align:left;vertical-align:top;min-width:150px;overflow-wrap:anywhere}.hm-compare thead th{background:#f0ede8}.hm-compare tbody th{background:#f8f6f2}.hm-compare-form>.btn{margin:1rem 0 2rem}

.hm-compare-pick .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.hm-compare-form .hm-card{display:flex;flex-direction:column}.hm-compare-form .hm-card>a{height:auto;flex:1}

.hm-alert{margin:2rem 0 0;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--r,12px);background:#fff;max-width:40rem}.hm-alert h2{margin-top:0}
.hm-alert .acc-check{display:flex;gap:.6rem;align-items:flex-start;text-align:left;font-weight:500}.hm-alert .acc-check input{width:auto;flex:0 0 auto;margin:.2rem 0 0;min-height:0}
.hm-alert-page form{margin:1rem 0}
