.hafp{--hafp-accent:#f35b13;--hafp-dark:#17191c;--hafp-muted:#62676d;--hafp-border:#e2e4e7;font-family:inherit;color:var(--hafp-dark)}
.hafp *{box-sizing:border-box}.hafp__header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}.hafp__title{font-size:clamp(34px,4vw,58px);line-height:1.05;margin:0 0 12px}.hafp__subtitle{font-size:18px;color:var(--hafp-muted);margin:0}.hafp__view-switch{display:flex;background:#f0f1f2;padding:4px;border-radius:8px}.hafp__view-switch button{border:0;background:transparent;padding:12px 22px;border-radius:6px;font:inherit;cursor:pointer}.hafp__view-switch .is-active{background:#fff;color:#b93c00;font-weight:400;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.hafp__layout{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:36px;align-items:start}.hafp__sidebar{position:sticky;top:24px}.hafp__form{border:1px solid var(--hafp-border);border-radius:10px;padding:28px;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.04)}.hafp__filter-head{display:flex;align-items:center;border-bottom:1px solid var(--hafp-border);padding-bottom:20px;margin-bottom:22px}.hafp__filter-head strong{font-size:27px;font-weight:400}.hafp__reset{margin-left:auto;border:0;background:none;color:#b83b00;cursor:pointer;font:inherit}.hafp__close-filters{display:none;border:0;background:none;font-size:30px;margin-left:12px}.hafp__field{display:block;border:0;padding:0;margin:0 0 22px}.hafp__field>span,.hafp__field legend{display:block;font-weight:400;margin-bottom:9px}.hafp select,.hafp input[type=number]{width:100%;min-height:52px;border:1px solid #d9dde1;border-radius:6px;background:#fff;padding:0 16px;font:inherit}.hafp__double{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hafp__chips{display:flex;flex-wrap:wrap;gap:8px}.hafp__chips input,.hafp__segments input{position:absolute;opacity:0;pointer-events:none}.hafp__chips span{display:block;padding:8px 14px;border-radius:20px;background:#f0f1f2;cursor:pointer;font-size:14px}.hafp__chips input:checked+span{background:#bd4208;color:#fff}.hafp__segments{display:grid;grid-template-columns:repeat(4,1fr)}.hafp__segments span{display:block;border:1px solid #d9dde1;padding:12px;text-align:center;cursor:pointer}.hafp__segments label:first-child span{border-radius:6px 0 0 6px}.hafp__segments label:last-child span{border-radius:0 6px 6px 0}.hafp__segments label+label span{border-left:0}.hafp__segments input:checked+span{background:#eee;font-weight:400}.hafp__submit{width:100%;min-height:56px;border:0;border-radius:6px;background:var(--hafp-accent);color:#fff;font-size:17px;font-weight:400;cursor:pointer;box-shadow:0 7px 16px rgba(243,91,19,.23)}
.hafp__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.hafp-card{overflow:hidden;border:1px solid var(--hafp-border);border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.04);transition:transform .25s,box-shadow .25s}.hafp-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.10)}.hafp-card__image{position:relative;display:block;height:295px;overflow:hidden}.hafp-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.hafp-card:hover .hafp-card__image img{transform:scale(1.04)}.hafp-card__badge{position:absolute;top:18px;left:18px;background:#bd4208;color:#fff;padding:7px 11px;border-radius:3px;font-size:12px;font-weight:700;text-transform:uppercase}.hafp-card__price{position:absolute;left:18px;bottom:14px;background:rgba(255,255,255,.95);padding:8px 14px;border-radius:5px;color:#ad3c00;font-size:23px;font-weight:800}.hafp-card__body{padding:25px 28px 22px}.hafp-card__address{font-size:13px;text-transform:uppercase;color:var(--hafp-muted);margin-bottom:12px}.hafp-card h2{font-size:26px;line-height:1.18;margin:0 0 14px}.hafp-card h2 a{color:inherit;text-decoration:none}.hafp-card__excerpt{color:var(--hafp-muted);font-size:16px;line-height:1.55;margin:0 0 20px}.hafp-card__footer{border-top:1px solid var(--hafp-border);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.hafp-card__meta{display:flex;gap:15px;color:#4f555b;font-size:14px}.hafp-card__details{color:#b83b00;font-weight:700;text-decoration:none;white-space:nowrap}.hafp__pagination{display:flex;justify-content:center;gap:8px;margin-top:30px}.hafp__pagination button{width:42px;height:42px;border:1px solid var(--hafp-border);background:#fff;border-radius:5px;cursor:pointer}.hafp__pagination .is-active{background:var(--hafp-accent);color:#fff;border-color:var(--hafp-accent)}.hafp__empty{text-align:center;border:1px dashed var(--hafp-border);border-radius:10px;padding:70px 20px}.hafp__status{min-height:0}.hafp.is-loading .hafp__results{opacity:.45;pointer-events:none}.hafp__mobile-filter-row{display:none}.hafp__overlay{display:none}
.hafp.is-list-view .hafp__grid{grid-template-columns:1fr}.hafp.is-list-view .hafp-card{display:grid;grid-template-columns:42% 1fr}.hafp.is-list-view .hafp-card__image{height:100%;min-height:300px}
@media(max-width:1024px){.hafp__layout{grid-template-columns:280px 1fr;gap:22px}.hafp__grid{grid-template-columns:1fr}.hafp-card__image{height:330px}}
@media(max-width:767px){.hafp__header{align-items:flex-start;margin-bottom:20px}.hafp__view-switch{display:none}.hafp__layout{display:block}.hafp__mobile-filter-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.hafp__open-filters{border:0;background:var(--hafp-accent);color:#fff;padding:11px 17px;border-radius:5px;font-weight:700}.hafp__sidebar{position:fixed;z-index:100002;top:0;left:0;height:100vh;width:min(90vw,360px);transform:translateX(-105%);transition:transform .25s}.hafp__sidebar.is-open{transform:translateX(0)}.hafp__form{height:100%;overflow:auto;border-radius:0}.hafp__close-filters{display:block}.hafp__overlay{position:fixed;z-index:100001;inset:0;background:rgba(0,0,0,.48)}.hafp__overlay.is-open{display:block}.hafp__grid{grid-template-columns:1fr;gap:20px}.hafp-card__image{height:250px}.hafp-card__body{padding:21px}.hafp-card h2{font-size:22px}.hafp-card__footer{align-items:flex-end}.hafp-card__meta{flex-wrap:wrap;gap:10px}.hafp.is-list-view .hafp-card{display:block}.hafp__title{font-size:36px}.hafp__subtitle{font-size:16px}}
.hafp-loop-item{min-width:0;width:100%;position:relative}
.hafp-loop-item>.elementor{width:100%}
.hafp-loop-item .elementor-element{max-width:100%}
.hafp__grid.elementor-loop-container{align-items:stretch}
.hafp-loop-item>.elementor>.elementor-element{height:100%}
