[hidden]{display:none!important}.hoteis-page{background:var(--page-bg);min-height:calc(100vh - 56px);padding-bottom:var(--space-8)}.presence{background:#fff;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--divider)}.presence-inner{max-width:var(--max-content);margin:0 auto}.presence-title{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.presence-row{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:4px}.presence-chip{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-full);border:1px solid var(--divider);background:#fff;font-size:var(--text-sm);font-weight:600;color:var(--text-dark);white-space:nowrap;transition:border-color .15s ease,background-color .15s ease}.presence-chip svg{width:15px;height:15px;flex:none;fill:var(--text-muted);color:var(--text-muted)}.presence-chip:hover{border-color:var(--border-control);background:var(--tint-hover)}.presence-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.catalog{max-width:var(--max-content);margin:0 auto;padding:var(--space-6);display:flex;align-items:flex-start;gap:var(--space-6)}.results{flex:1;min-width:0}.filters{width:240px;flex:none}.filters-summary{display:none;list-style:none;cursor:pointer}.filters-summary::-webkit-details-marker{display:none}.filters-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 var(--space-4)}.filters-header h3{margin:0;font-size:var(--text-base);font-weight:800}.filters-clear{background:none;border:none;color:var(--primary);font-size:var(--text-xs);font-weight:700;cursor:pointer;min-height:44px;padding:4px 8px;margin:-4px -8px}.filters-group{border:none;margin:0 0 var(--space-4);padding:0}.filters-group legend{padding:0;margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:700;color:var(--text-dark)}.filter-check{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-dark);padding:var(--space-2) 0;cursor:pointer}.filter-check input{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;flex:none;border:1px solid var(--border-control);border-radius:3px;background:#fff;cursor:pointer;display:grid;place-content:center}.filter-check input:before{content:"";width:10px;height:10px;transform:scale(0);background:#fff;clip-path:polygon(14% 44%,0 65%,40% 100%,100% 16%,82% 0%,37% 70%)}.filter-check input:checked{background:var(--primary);border-color:var(--primary)}.filter-check input:checked:before{transform:scale(1)}.filter-check input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.filters-note{font-size:var(--text-xs);line-height:1.5;color:var(--text-muted);margin:0 0 var(--space-4)}.filters-apply{width:100%;min-height:44px;background:#fff;color:var(--primary);border:1.4px solid var(--primary);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-sm);font-weight:700;cursor:pointer}.filters-apply:hover{background:var(--tint-hover)}.filters-apply:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(max-width:699px){.filters{width:100%}.filters-summary{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--border-control);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:700;color:var(--text-dark)}.filters-body{padding-top:var(--space-3)}}.grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media(min-width:760px){.grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1280px){.grid{grid-template-columns:repeat(3,1fr)}}.hotel-card{display:flex;flex-direction:column;height:352px;background:#fff;border:1px solid var(--divider);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.hotel-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.card-cover{height:180px;flex:none;background:var(--divider)}.card-cover img{width:100%;height:100%;object-fit:cover;display:block}.card-cover .photo-fallback{background:var(--gradient-brand-muted)}.card-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:var(--space-4) var(--space-4)}.card-name{margin:0 0 var(--space-2);font-size:var(--text-lg);line-height:1.25;font-weight:700;color:var(--text-dark);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.5em}.card-location{display:flex;align-items:center;gap:6px;margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--text-muted);min-width:0}.card-location svg{width:14px;height:14px;fill:var(--text-muted);flex:none}.card-location span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-types{margin:0;font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--divider)}.card-price{color:var(--text-muted);font-weight:400;font-size:var(--text-xs)}.badge{font-size:var(--text-xs);font-weight:700;padding:4px 10px;border-radius:var(--radius-full);white-space:nowrap}.badge-available{background:var(--success-soft);color:var(--success)}.badge-unavailable{background:var(--surface-neutral);color:var(--text-muted)}.state-box{text-align:center;padding:var(--space-11) var(--space-5);color:var(--text-dark)}.state-box p{margin:0 0 var(--space-4);font-size:var(--text-base);line-height:1.5}.state-icon{width:44px;height:44px;color:var(--text-muted);margin-bottom:var(--space-3)}.spinner{width:40px;height:40px;margin:var(--space-11) auto;border-radius:50%;border:4px solid var(--divider);border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.retry-btn,.more-btn{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--primary);border:1.4px solid var(--primary);border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:700;cursor:pointer}.more-btn{display:flex;margin:var(--space-7) auto 0}.empty-card{max-width:520px;margin:var(--space-12) auto var(--space-9);padding:var(--space-8) var(--space-7) var(--space-7);background:#fff;border:1px solid var(--divider);border-radius:var(--radius-lg);text-align:center}.empty-badge{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--space-5);border-radius:50%;background:var(--gradient-brand)}.empty-badge svg{width:34px;height:34px;fill:#fff}.empty-badge-soft{background:var(--primary-soft)}.empty-badge-soft svg{fill:var(--primary)}.empty-title{margin:0 0 var(--space-3);font-size:var(--text-lg);line-height:1.3;font-weight:800;color:var(--text-dark)}.empty-text{margin:0 auto var(--space-6);max-width:42ch;font-size:var(--text-base);line-height:1.6;color:var(--text-muted)}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.empty-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700;cursor:pointer;border:1.4px solid transparent}.empty-btn-primary{background:var(--primary);color:#fff}.empty-btn-ghost{background:#fff;color:var(--primary);border-color:var(--primary)}@media(max-width:699px){.catalog{flex-direction:column;padding:var(--space-4)}.empty-card{margin:var(--space-6) auto;padding:var(--space-7) var(--space-5) var(--space-6)}.empty-actions{flex-direction:column}.empty-btn{width:100%}}
