.filter-bar{position:sticky;top:68px;z-index:50;background:rgba(250,249,246,.9);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--color-sand);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6);transition:box-shadow var(--dur-norm) var(--ease-out)}.filter-bar.is-stuck{box-shadow:var(--shadow-md)}#hotel-filter-form{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:stretch;margin:0;padding:0;background:0 0;border:none;border-radius:0}.filter-group{flex:1 1 160px;min-width:0;position:relative;background:0 0}.filter-group label{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-600);margin-bottom:4px;padding-left:2px}.filter-group .filter-input-wrap{position:relative;display:flex;align-items:center}.filter-group .filter-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-ink-500);pointer-events:none;flex-shrink:0}.filter-group input[type=text],.filter-group select{width:100%;padding:10px 12px 10px 36px;border:2px solid var(--color-fog-200);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-ink-800);background:var(--color-white);font-family:var(--font-body);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);appearance:none;-webkit-appearance:none}.filter-group select{padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px}.filter-group input[type=text]:focus,.filter-group select:focus{outline:0;border-color:var(--color-thames-700);box-shadow:var(--shadow-focus)}.filter-group input[type=text]::placeholder{color:var(--color-fog-300)}.filter-actions{display:flex;align-items:flex-end;gap:var(--space-2);flex-shrink:0}.submit-button{display:inline-flex;align-items:center;gap:6px;background:var(--color-thames-700);color:#fff;border:none;padding:10px 22px;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);white-space:nowrap;font-family:var(--font-body)}.submit-button:hover{background:var(--color-thames-600);transform:translateY(-1px);box-shadow:var(--shadow-md)}.submit-button svg{width:16px;height:16px}.filter-reset{display:inline-flex;align-items:center;gap:4px;padding:10px 16px;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--color-ink-600);background:0 0;cursor:pointer;text-decoration:none;transition:color var(--dur-fast) var(--ease-out);white-space:nowrap;font-family:var(--font-body)}.filter-reset:hover{color:var(--color-brick-700)}.filter-toggle{display:none;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:var(--color-white);border:2px solid var(--color-fog-200);border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;color:var(--color-ink-700);cursor:pointer;margin-bottom:var(--space-4);transition:all var(--dur-fast) var(--ease-out);font-family:var(--font-body)}.filter-toggle svg{width:18px;height:18px}.filter-toggle:hover{border-color:var(--color-fog-300);background:var(--color-ivory)}.filter-toggle .filter-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--color-thames-700);color:#fff;font-size:11px;font-weight:700;width:20px;height:20px;border-radius:var(--radius-full)}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);color:var(--color-ink-600)}.results-header .results-count{font-size:.875rem;color:var(--color-ink-600)}.results-header .results-count strong{color:var(--color-ink-800);font-weight:700}.hotels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);list-style:none;margin:0;padding:0}.hotel-grid-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--color-white);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--dur-norm) var(--ease-out);text-decoration:none;color:inherit}.hotel-grid-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.hotel-grid-card .card-image{position:relative;overflow:hidden;aspect-ratio:4/3}.hotel-grid-card .card-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition:transform .5s var(--ease-out)}.hotel-grid-card:hover .card-image img{transform:scale(1.05)}.hotel-grid-card .card-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6);flex:1}.hotel-grid-card .card-stars{color:var(--color-crown-600);font-size:.875rem;letter-spacing:1px;line-height:1}.hotel-grid-card .card-title{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--color-ink-800);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hotel-grid-card .card-location{font-size:.875rem;color:var(--color-ink-600);display:flex;align-items:center;gap:4px;margin:0}.hotel-grid-card .card-location svg{width:14px;height:14px;flex-shrink:0;color:var(--color-thames-400)}.hotel-grid-card .card-footer{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-fog-100)}.hotel-grid-card .card-rating{display:flex;align-items:center;gap:var(--space-2)}.hotel-grid-card .card-score{display:inline-flex;align-items:center;justify-content:center;background:var(--color-thames-100);color:var(--color-thames-800);font-family:var(--font-mono);font-size:.75rem;font-weight:700;min-width:36px;height:32px;padding:0 8px;border-radius:var(--radius-sm);line-height:1}.hotel-grid-card .card-score.score-high{background:var(--color-park-100);color:var(--color-park-800)}.hotel-grid-card .card-rating-info{display:flex;flex-direction:column}.hotel-grid-card .card-rating-label{font-size:.75rem;font-weight:600;color:var(--color-ink-600);line-height:1.2}.hotel-grid-card .card-reviews{font-size:11px;color:var(--color-fog-400);line-height:1.2}.hotel-grid-card .card-price{display:flex;flex-direction:column;align-items:flex-end}.hotel-grid-card .card-price-label{font-size:.75rem;color:var(--color-ink-600);line-height:1.2}.hotel-grid-card .card-price-value{font-family:var(--font-mono);font-size:1.125rem;font-weight:700;color:var(--color-ink-900);line-height:1.2}.map-section{margin-bottom:var(--space-6)}.map-section h2{font-size:1.125rem;margin-bottom:var(--space-2)}.hotels-results{color:var(--color-ink-600);font-size:.875rem;margin-bottom:var(--space-3)}.hotels-listing{margin-bottom:var(--space-8)}.hotels-listing>h2{font-size:1.25rem;margin-bottom:var(--space-1)}.ajax-switch-elems{margin-bottom:var(--space-4)}.ajax-switch-elems .pagination{margin-bottom:0}.hotels-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);list-style:none;margin:0;padding:0}@media (max-width:1024px){.hotels-grid,.hotels-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.filter-toggle{display:flex}.filter-bar{position:relative;top:auto;padding:var(--space-4);display:none}.filter-bar.is-open{display:block}#hotel-filter-form{flex-direction:column;gap:var(--space-3)}.filter-group{flex:1 1 100%}.filter-actions{flex-direction:row;width:100%}.filter-actions .submit-button{flex:1}.filter-actions .filter-reset{flex:0 0 auto}.hotels-grid,.hotels-list{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.hotel-grid-card .card-title{font-size:1rem}}@media (max-width:480px){.hotels-grid,.hotels-list{grid-template-columns:1fr}}.filter-bar{top:var(--nav-h);background:rgba(250,245,236,.92);backdrop-filter:saturate(120%) blur(14px);-webkit-backdrop-filter:saturate(120%) blur(14px);border-bottom:1px solid var(--line);border-radius:var(--r-lg)}.filter-bar.is-stuck{box-shadow:var(--shadow-card)}.filter-group label{font-family:var(--font-sans);letter-spacing:var(--tr-wide);color:var(--fg-muted)}.filter-group input[type=text],.filter-group select{border:1px solid var(--line);background:var(--paper);border-radius:var(--r-sm);font-family:var(--font-sans);color:var(--fg)}.filter-group input[type=text]:focus,.filter-group select:focus{border-color:var(--accent);box-shadow:var(--shadow-focus)}.filter-group .filter-icon{color:var(--cinnabar-500)}.submit-button{background:var(--accent);color:var(--fg-on-accent);border-radius:var(--r-pill);font-family:var(--font-sans);padding:11px 24px}.submit-button:hover{background:var(--accent-hover)}.filter-reset{color:var(--fg-muted);font-family:var(--font-sans)}.filter-reset:hover{color:var(--cinnabar-500)}.filter-toggle{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--font-sans);color:var(--fg)}.filter-toggle:hover{border-color:var(--line-strong);background:var(--sand-50)}.filter-toggle .filter-badge{background:var(--accent);color:var(--cream)}.results-header .results-count{font-family:var(--font-sans);color:var(--fg-muted)}.results-header .results-count strong{color:var(--fg)}.hotel-grid-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.hotel-grid-card:hover{box-shadow:var(--shadow-card-hv);transform:translateY(-2px)}.hotel-grid-card .card-image img{border-radius:var(--r-lg) var(--r-lg) 0 0}.hotel-grid-card .card-stars{color:var(--ochre-400)}.hotel-grid-card .card-title{font-family:var(--font-display);color:var(--indigo-800)}.hotel-grid-card .card-location svg{color:var(--cinnabar-500)}.hotel-grid-card .card-footer{border-top:1px dashed var(--line)}.hotel-grid-card .card-score{background:var(--indigo-800);color:var(--cream);border-radius:var(--r-xs);font-family:var(--font-sans)}.hotel-grid-card .card-score.score-high{background:var(--jungle-400);color:var(--cream)}.hotel-grid-card .card-price-value{font-family:var(--font-display);color:var(--indigo-800)}