*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:#fafafa;color:#333}.catalog-wrapper{display:grid;grid-template-columns:280px 1fr;gap:3rem;padding:2rem 5%;max-width:1400px;margin:0 auto;min-height:100vh}.catalog-sidebar{position:sticky;top:100px;height:fit-content;background:transparent;display:flex;flex-direction:column;gap:2rem}.sidebar-header{display:flex;justify-content:space-between;align-items:baseline}.sidebar-header h2{font-size:1.25rem;font-weight:700}.clear-filters{color:#b05c21;font-size:.9rem;font-weight:600;text-decoration:none}.clear-filters:hover{text-decoration:underline}.filter-section h3{font-size:1rem;font-weight:600;margin-bottom:1.5rem;color:#111}.price-slider-track{width:100%;height:4px;background:#e0e0e0;border-radius:2px;position:relative;margin-bottom:2rem;margin-top:1rem}.price-slider-fill{position:absolute;height:100%;background:#0f2d21;left:20%;right:30%;border-radius:2px}.price-slider-handle{width:16px;height:16px;background:#0f2d21;border-radius:50%;position:absolute;top:50%;transform:translateY(-50%);cursor:grab}.price-slider-handle.left{left:20%;transform:translate(-50%,-50%)}.price-slider-handle.right{left:70%;transform:translate(-50%,-50%)}.price-inputs{display:flex;justify-content:space-between;gap:1rem}.price-input-box{flex:1;border:1px solid #ddd;border-radius:8px;padding:.5rem 1rem;display:flex;flex-direction:column;background:#fff}.price-label{font-size:.7rem;color:#666;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.price-value{font-size:.95rem;font-weight:500;margin-top:.2rem}.sidebar-divider{border:none;border-top:1px solid #ddd;margin:0}.custom-checkbox{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;cursor:pointer;font-size:.95rem;color:#444}.custom-checkbox input{display:none}.checkmark{width:20px;height:20px;border:2px solid #ccc;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;background:#fff}.custom-checkbox input:checked+.checkmark{background-color:#0f2d21;border-color:#0f2d21}.custom-checkbox input:checked+.checkmark:after{content:"";width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.show-more-link{display:flex;align-items:center;gap:.3rem;color:#b05c21;font-size:.9rem;font-weight:600;text-decoration:none;margin-top:.5rem}.btn-apply-filters{background-color:#0f2d21;color:#fff;border:none;padding:1rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s}.btn-apply-filters:hover{background-color:#0a1e16}.results-header{margin-bottom:2rem}.results-title-area h1{font-size:1.8rem;font-weight:700;color:#111;margin-bottom:.5rem}.results-count{color:#666;font-size:.95rem;margin-bottom:1.5rem}.results-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.active-filters{display:flex;gap:.5rem;flex-wrap:wrap}.active-tag{background:var(--filter-chip-bg, #f0f0f0);color:var(--text-color, #111);border:1px solid var(--border-color, transparent);border-radius:20px;padding:.4rem .8rem;font-size:.85rem;display:flex;align-items:center;gap:.5rem;font-weight:500}.active-tag button{background:transparent;border:none;cursor:pointer;font-size:1rem;color:var(--text-light, #666);display:flex;align-items:center;justify-content:center}.sort-dropdown{font-size:.9rem;color:var(--text-light, #555);cursor:pointer;display:flex;align-items:center;gap:.4rem}.sort-dropdown strong{color:var(--text-color, #111);font-weight:600}.fincas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem 1.5rem;margin-bottom:3rem}.finca-card{display:flex;flex-direction:column;gap:0;cursor:pointer;background:var(--card-bg, #ffffff);border:1px solid var(--border-light, #e5e7eb);border-radius:16px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.finca-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #0000001f}.finca-img-wrapper{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:0;overflow:hidden}.finca-img-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.finca-card:hover .finca-img-wrapper img{transform:scale(1.05)}.img-badge{position:absolute;top:1rem;left:1rem;background:#fff;color:#111;font-size:.8rem;font-weight:600;padding:.4rem .8rem;border-radius:20px;z-index:5;box-shadow:0 2px 4px #00000026}.favorite-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#fff;cursor:pointer;z-index:5;transition:transform .2s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.favorite-btn:hover{transform:scale(1.1)}.finca-info{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem 1.2rem}.finca-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.finca-title{flex:1 1 auto;min-width:0;font-size:1.05rem;font-weight:600;line-height:1.3;color:#111;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.finca-rating{flex:0 0 auto;display:flex;align-items:center;gap:.2rem;font-size:.95rem;font-weight:600;color:#111;white-space:nowrap}.finca-rating.finca-new{font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:.18rem .55rem;border-radius:999px;color:#b05c21;background:#b05c2124}.finca-location{font-size:.9rem;color:#555}.finca-amenities-text{font-size:.85rem;color:#777;margin-top:.2rem;margin-bottom:.4rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.finca-price{font-size:.95rem;color:#b05c21}.finca-price strong{color:#111;font-weight:600}.loading-more{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem}.spinner-icon{width:30px;height:30px;border:3px solid #ddd;border-top-color:#b05c21;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-more p{color:#666;font-size:.9rem}.map-button-container{display:flex;justify-content:center;margin-bottom:4rem}.btn-map{background:transparent;color:#111;border:1.5px solid #111;padding:.8rem 1.5rem;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.btn-map:hover{background:#f0f0f0}@media screen and (max-width:992px){.catalog-wrapper{grid-template-columns:1fr;gap:0;padding:1rem 5% 2rem}catalog-filters:empty,catalog-filters{min-height:0}.catalog-sidebar{display:none}}
