.resort-card-link-wrapper{text-decoration:none;color:inherit;display:block;height:100%}.resort-card{background:var(--color-bg-card);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;height:100%;cursor:pointer}.resort-card-link-wrapper:hover .resort-card{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.resort-card-image{width:100%;height:200px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.resort-card-image,.resort-card-image-error{background:var(--color-skeleton)}.resort-card-image img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}.resort-card-image-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4) 50%,rgba(255,255,255,0));background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;z-index:1}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.resort-card-content{padding:1rem;display:flex;flex-direction:column;flex:1 1}.resort-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.resort-card-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .5rem;line-height:1.3}.resort-card-distance,.resort-card-location,.resort-card-region{display:flex;align-items:center;gap:.5rem;color:var(--color-gray-mid);margin-bottom:0;font-size:.95rem}.resort-card-distance{margin-top:.35rem}.resort-card-arrow{width:1.25rem;height:1.25rem;flex-shrink:0;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23858585' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 6 15 12 9 18'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:50%;background-size:contain;transition:transform .2s ease,background-image .2s ease}.resort-card-link-wrapper:hover .resort-card-arrow{transform:translateX(4px);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CCCE48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 6 15 12 9 18'%3e%3c/polyline%3e%3c/svg%3e")}.location-icon,.region-icon,.resort-card-distance .distance-icon,.resort-card-location .location-icon,.resort-card-region .region-icon{width:18px;height:18px;flex-shrink:0;color:var(--color-gray-mid)}.arrow-icon{width:16px;height:16px;display:inline-block;vertical-align:middle;margin-left:.25rem;transition:transform .2s ease}.resort-card-link-wrapper:hover .arrow-icon{transform:translateX(2px)}.resort-card-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border-light-2)}.resort-card-buttons{display:flex;gap:.75rem;margin-top:1rem}.resort-card-button{flex:1 1;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;background:var(--color-bg-subtle);color:var(--color-text-primary);border:2px solid transparent}.resort-card-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-dropdown)}.resort-card-button-website{background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%);color:var(--color-text-inverse)}.resort-card-button-website:hover{background:linear-gradient(135deg,var(--color-accent-dark) 0,var(--color-accent) 100%);box-shadow:var(--shadow-accent)}.resort-card-button-pricing{background:linear-gradient(135deg,var(--color-accent-pink) 0,var(--color-accent-pink-dark) 100%);color:var(--color-text-inverse)}.resort-card-button-pricing:hover{background:linear-gradient(135deg,var(--color-accent-pink-dark) 0,var(--color-accent-pink) 100%);box-shadow:var(--shadow-accent-pink)}.resort-card-link{display:inline-block;color:var(--color-accent);text-decoration:none;font-weight:600;transition:color .2s ease}.resort-card-link-wrapper:hover .resort-card-link{color:var(--color-accent-dark)}@media (max-width:768px){.resort-card-buttons{flex-direction:column;gap:.5rem}.resort-card-button{padding:.625rem .875rem;font-size:.875rem}}.search-bar{flex:0 1 auto}.search-bar-input-wrapper{position:relative;display:flex;align-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-bg-card);box-shadow:var(--shadow-sm);cursor:pointer;transition:width .3s ease,height .3s ease,border-radius .3s ease,box-shadow .3s ease;overflow:hidden}.search-bar-input-wrapper.expanded{width:250px;height:2.5rem;border-radius:12px;box-shadow:var(--shadow-dropdown)}.search-icon{position:absolute;left:50%;transform:translateX(-50%);width:24px;height:24px;z-index:2;color:var(--color-text-muted);pointer-events:none;transition:left .3s ease,transform .3s ease;flex-shrink:0}.search-bar-input-wrapper.expanded .search-icon{left:1rem;transform:translateX(0)}.search-bar-input{width:0;padding:0;border:none;border-radius:12px;font-size:1rem;background:transparent;opacity:0;transition:width .3s ease,padding .3s ease,opacity .3s ease;cursor:pointer;height:100%}.search-bar-input-wrapper.expanded .search-bar-input{width:100%;padding:0 3rem;opacity:1;cursor:text}.search-bar-input:focus{outline:none}.search-bar-input::placeholder{color:var(--color-text-placeholder)}.search-bar-clear{position:absolute;right:.75rem;background:none;border:none;font-size:1.2rem;color:var(--color-text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease;z-index:2}.search-bar-clear:hover{color:var(--color-text-primary)}@media (max-width:768px){.search-bar-input-wrapper.expanded{width:calc(100vw - 2rem);max-width:250px}}.region-filter{display:flex;align-items:center;gap:.75rem;min-width:200px;flex:0 1 auto}.region-filter-select-root{width:100%;max-width:320px}.region-filter .admin-select-trigger{box-sizing:border-box;min-height:2.5rem;border:none;border-radius:12px;background:var(--color-bg-card);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,background-color .2s ease}.region-filter .admin-select-trigger:hover:not(:disabled){border:none;box-shadow:var(--shadow-dropdown)}.region-filter .admin-select-trigger:focus,.region-filter .admin-select-trigger:focus-visible{outline:none;box-shadow:var(--shadow-dropdown)}@media (max-width:768px){.region-filter{width:100%}.region-filter-select-root{max-width:none}}.catalog-filter-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;min-height:2.5rem;padding:0 1rem;border:none;border-radius:12px;background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-sm);font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0;transition:box-shadow .2s ease,background-color .2s ease,transform .2s ease}.catalog-filter-button:hover{box-shadow:var(--shadow-dropdown);transform:translateY(-1px)}.catalog-filter-button-icon{width:18px;height:18px;flex-shrink:0}.catalog-filter-button-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--color-primary);color:var(--color-text-inverse);font-size:.75rem;font-weight:600;line-height:1}@media (max-width:768px){.catalog-filter-button{min-width:2.5rem;padding:0 .65rem}.catalog-filter-button-label{display:none}}.modal-overlay.catalog-filters-modal{align-items:flex-end}@media (min-width:769px){.modal-overlay.catalog-filters-modal{align-items:center}}.modal-overlay.catalog-filters-modal .modal-container{max-height:90vh}@media (max-width:768px){.modal-overlay.catalog-filters-modal{padding:0}.modal-overlay.catalog-filters-modal .modal-container{max-height:92vh;border-radius:16px 16px 0 0;margin-top:auto}}.modal-overlay.catalog-filters-modal .modal-content{flex-direction:column;padding:0;align-items:stretch}.catalog-filters-modal-body{padding:1rem 1.5rem .5rem;overflow-y:auto}.catalog-filters-section+.catalog-filters-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.catalog-filters-section-title{margin:0 0 .35rem;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.catalog-filters-section-hint{margin:0 0 .65rem;font-size:.8125rem;color:var(--color-text-muted)}.catalog-filters-chip-group{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.catalog-filters-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-white);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.catalog-filters-chip.active,.catalog-filters-chip:hover{border-color:var(--color-primary)}.catalog-filters-chip.active{background:var(--color-primary);color:var(--color-text-inverse)}.catalog-filters-slope-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.catalog-filters-slope-dot--green{background:#43a047}.catalog-filters-slope-dot--blue{background:#1e88e5}.catalog-filters-slope-dot--red{background:#e53935}.catalog-filters-slope-dot--black{background:#212121}.catalog-filters-chip.active .catalog-filters-slope-dot--black{box-shadow:0 0 0 1px rgba(255,255,255,.35)}.catalog-filters-lift-icon{width:18px;height:18px;flex-shrink:0;color:var(--color-text-primary);transition:color .2s ease}.catalog-filters-chip:hover:not(.active) .catalog-filters-lift-icon{color:var(--color-primary)}.catalog-filters-chip.active .catalog-filters-lift-icon{color:var(--color-text-inverse)}.catalog-filters-season-select{width:100%}.catalog-filters-season-select .admin-select-trigger{box-sizing:border-box;min-height:2.5rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-white)}.catalog-filters-date-label,.catalog-filters-number-label{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;color:var(--color-text-secondary)}.catalog-filters-date-input,.catalog-filters-number-input{box-sizing:border-box;width:100%;min-height:2.5rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-white);color:var(--color-text-primary);font-size:.9375rem}.catalog-filters-modal-footer{display:flex;gap:.75rem;padding:1rem 1.5rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-bg-white)}.catalog-filters-footer-btn{flex:1 1;min-height:2.75rem;border-radius:12px;font-size:.9375rem;font-weight:500;cursor:pointer;border:none}.catalog-filters-footer-btn.secondary{background:var(--color-bg-subtle);color:var(--color-text-primary)}.catalog-filters-footer-btn.primary{background:var(--color-primary);color:var(--color-text-inverse)}.catalog-filters-footer-btn.primary:hover{background:var(--color-primary-hover)}.catalog-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:-.5rem 0 1.25rem}.catalog-filter-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-card);color:var(--color-text-primary);font-size:.8125rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.catalog-filter-chip:hover{background:var(--color-bg-subtle);border-color:var(--color-primary)}.catalog-filter-chip-icon{width:14px;height:14px;opacity:.7}.catalog-filter-chips-clear{border:none;background:none;color:var(--color-primary);font-size:.8125rem;font-weight:500;cursor:pointer;padding:.25rem .35rem}.catalog-filter-chips-clear:hover{text-decoration:underline}.yandex-map-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-overlay-light);z-index:1000;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top, 0px) + 2rem) calc(env(safe-area-inset-right, 0px) + 2rem) calc(env(safe-area-inset-bottom, 0px) + 2rem) calc(env(safe-area-inset-left, 0px) + 2rem)}.yandex-map-container{background:white;border-radius:16px;width:100%;max-width:1400px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);overflow:hidden;position:relative}.yandex-map-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:white;flex-shrink:0}.yandex-map-header-title{display:flex;align-items:center;gap:1rem;min-width:0}.yandex-map-loading{font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.yandex-map-header h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.yandex-map-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease,color .2s ease}.yandex-map-close:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.yandex-map{flex:1 1;width:100%;min-height:0}.yandex-map-cluster{width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:var(--color-text-inverse);border:3px solid var(--color-bg-white);box-shadow:var(--shadow-dropdown);display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.yandex-map-footer{padding:1rem 2rem;border-top:1px solid var(--color-border);background:white}.yandex-map-footer p{margin:0;color:var(--color-text-secondary);font-size:.9rem}.yandex-map-resort-info{display:flex;gap:.75rem;padding:1rem 1.25rem;background:white;position:absolute;bottom:3rem;left:1rem;right:1rem;max-height:140px;border-radius:12px;box-shadow:var(--shadow-dropdown);animation:slideUpFade .3s ease-out;z-index:100}.resort-info-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1rem;color:var(--color-text-muted);cursor:pointer;padding:.25rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s ease,color .2s ease;z-index:1}.resort-info-close:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.resort-info-photo{flex-shrink:0;width:80px;height:80px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-dark) 100%)}.resort-info-photo img{width:100%;height:100%;object-fit:cover}.resort-info-content{flex:1 1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.resort-info-name{font-size:1.1rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3}.resort-info-region{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:.9rem;margin:0}.resort-info-icon{width:18px;height:18px;flex-shrink:0;color:var(--color-text-secondary)}.resort-info-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);text-decoration:none;font-weight:600;margin-top:auto;align-self:flex-start;transition:color .2s ease}.resort-info-link:hover{color:var(--color-primary-hover)}.resort-info-link .arrow-icon{width:16px;height:16px;transition:transform .2s ease}.resort-info-link:hover .arrow-icon{transform:translateX(2px)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.map-balloon-link{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color .2s ease}.map-balloon-link:hover{color:var(--color-primary-hover);text-decoration:underline}@media (max-width:768px){.yandex-map-overlay{padding:0;align-items:stretch;justify-content:stretch}.yandex-map-container{height:100%;max-height:none;min-height:0;flex:1 1;border-radius:0}.yandex-map-header{padding:calc(env(safe-area-inset-top, 0px) + 1rem) calc(env(safe-area-inset-right, 0px) + 1rem) 1rem calc(env(safe-area-inset-left, 0px) + 1rem)}.yandex-map-header h2{font-size:1.25rem}.yandex-map-footer{padding:.75rem 1rem calc(env(safe-area-inset-bottom, 0px) + .75rem)}.yandex-map-resort-info{padding:.75rem 1rem;max-height:120px;bottom:2rem;left:.75rem;right:.75rem;gap:.5rem}.resort-info-photo{width:60px;height:60px}.resort-info-name{font-size:1rem}.resort-info-region{font-size:.85rem}}.resorts-page{position:relative;width:100%}.resorts-page-header{margin-bottom:2rem;justify-content:space-between}.resorts-actions,.resorts-page-controls,.resorts-page-header{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.resorts-actions{justify-content:space-between;margin-bottom:1.5rem}.resorts-count{font-size:1.1rem;color:var(--color-text-primary);font-weight:500}.show-map-button{display:flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;min-height:2.5rem;padding:0 1.5rem;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:12px;font-size:.875rem;font-weight:400;cursor:pointer;transition:background .2s ease,transform .2s ease}.show-map-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px)}.show-map-button:disabled{opacity:.5;cursor:not-allowed}.map-button-icon{width:20px;height:20px}.resorts-region-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.resorts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:1.5rem;gap:1.5rem}.error-message{background:var(--color-bg-card);padding:2rem;border-radius:12px;text-align:center;color:var(--color-red);margin:2rem 0}.error-hint{margin-top:.5rem;font-size:.9rem;color:var(--color-text-muted)}.no-results{background:var(--color-bg-card);padding:3rem;border-radius:12px;text-align:center;color:var(--color-text-secondary);font-size:1.1rem}.no-results-clear-filters{margin-top:1rem;padding:.65rem 1.25rem;border:none;border-radius:10px;background:var(--color-primary);color:var(--color-text-inverse);font-size:.9375rem;cursor:pointer}.no-results-clear-filters:hover{background:var(--color-primary-hover)}.load-more-trigger{display:flex;align-items:center;justify-content:center;padding:.75rem 0}.load-more-button{padding:.75rem 2rem;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:opacity .2s,background .2s}.load-more-button:hover:not(:disabled){opacity:.9}.load-more-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.resorts-page{padding-bottom:10px}.resorts-grid{grid-template-columns:1fr}.resorts-page-controls,.resorts-page-header{flex-direction:row;flex-wrap:nowrap}.resorts-page-controls,.resorts-page-controls .search-bar{flex:1 1;min-width:0}.resorts-page-controls .search-bar .search-bar-input-wrapper.expanded{width:100%;max-width:none}.resorts-page-controls .region-filter{width:auto;flex-shrink:0;min-width:120px}.resorts-page-controls .catalog-filter-button{flex-shrink:0}.show-map-button{position:fixed;bottom:calc(var(--map-button-bottom-offset, 0px) + 1rem + env(safe-area-inset-bottom, 0px));left:50%;transform:translateX(-50%);z-index:500;min-height:auto;padding:.5rem 1rem;font-size:.875rem;box-shadow:var(--shadow-dropdown);transition:bottom .2s ease}.show-map-button:hover:not(:disabled){transform:translateX(-50%) translateY(-2px)}.show-map-button .map-button-icon{width:18px;height:18px}}@media (max-width:360px){.resorts-page-controls .region-filter{min-width:100px}}