.eco-filter{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem;margin:1.8rem 0}.eco-filter .ef-heading{font-family:var(--font-display);font-size:1.3rem;margin:0 0 .4rem}.eco-filter .ef-lead{color:var(--muted);margin:0 0 1.1rem;max-width:68ch}.eco-filter .ef-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-bottom:1.2rem}.eco-filter .ef-field{display:flex;flex-direction:column;gap:.3rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:.6rem .75rem .75rem;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0}.eco-filter .ef-field select{font:inherit;font-size:.92rem;font-weight:500;letter-spacing:normal;text-transform:none;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.45rem .55rem}.eco-filter .ef-field select:focus-visible,.eco-filter .ef-check input:focus-visible,.eco-filter .ef-budget input:focus-visible,.eco-filter .ef-book:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.eco-filter .ef-amenities{gap:.35rem;letter-spacing:normal;text-transform:none;font-size:.86rem;font-weight:500;color:var(--ink)}.eco-filter .ef-amenities legend{padding:0 .3rem;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.eco-filter .ef-check{display:flex;align-items:center;gap:.45rem;font-size:.88rem}.eco-filter .ef-check input{accent-color:var(--accent);width:1rem;height:1rem}.eco-filter .ef-budget-row{display:flex;align-items:center;gap:.7rem;text-transform:none}.eco-filter .ef-budget input[type=range]{flex:1 1 auto;accent-color:var(--accent)}.eco-filter .ef-budget-value{font-size:.88rem;font-weight:700;color:var(--accent-strong);white-space:nowrap}.eco-filter .ef-budget-hint{font-size:.74rem;font-weight:500;letter-spacing:normal;text-transform:none;color:var(--muted)}.eco-filter .ef-count{font-weight:700;color:var(--accent-strong);margin:0 0 .9rem}.eco-filter .ef-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.eco-filter .ef-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.eco-filter .ef-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.eco-filter .ef-thumb{display:flex;align-items:center;justify-content:center;height:96px;background:linear-gradient(135deg,var(--accent-soft),color-mix(in srgb,var(--gold) 35%,var(--surface)));border-bottom:1px solid var(--line)}.eco-filter .ef-thumb span{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:var(--accent);color:#fff;font-family:var(--font-display);font-size:1.4rem}.eco-filter .ef-card-body{display:flex;flex-direction:column;gap:.45rem;padding:.9rem 1rem 1rem;flex:1 1 auto}.eco-filter .ef-card-name{font-family:var(--font-display);font-size:1rem;margin:0;line-height:1.3}.eco-filter .ef-card-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;font-size:.78rem;color:var(--muted)}.eco-filter .ef-tag-type{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.eco-filter .ef-lake{align-self:center}.eco-filter .ef-card-price{margin:0;font-size:.9rem;color:var(--muted)}.eco-filter .ef-card-price strong{font-family:var(--font-display);font-size:1.15rem;color:var(--ink)}.eco-filter .ef-tags{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0 0 .3rem;padding:0}.eco-filter .ef-tags li{font-size:.74rem;padding:.2rem .5rem;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.eco-filter .ef-book{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .9rem;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:.86rem;text-decoration:none}.eco-filter .ef-book:after{content:"→"}.eco-filter .ef-book:hover{background:var(--accent-strong)}.eco-filter .ef-empty{margin:0;color:var(--muted)}@media(prefers-reduced-motion:reduce){.eco-filter .ef-card{transition:none}}@media(max-width:620px){.eco-filter{padding:1.1rem}}
