:root{--color-forest-deep:#0a190f;--color-forest-mid:#586330;--color-forest-light:#d8e6a6;--color-forest-pale:#edeef0;--color-green-dark:#3a5c1e;--color-green-bright:#4e7a22;--color-green-accent:#6a9e30;--color-brown-dark:#5b4137;--color-brown-mid:#5c6834;--color-ink:#191c1e;--color-border-warm:#c8d9a0;--color-surface:#f8f9fb;--color-card:#f2f4f6;--color-white:#fff;--shadow-card:0 4px 20px #0a190f0d;--shadow-card-hover:0 10px 30px #0a190f1f;--shadow-btn:0 8px 20px #4e7a2240;--shadow-btn-green:0 8px 20px #3a5c1e40;--radius-card:24px;--radius-pill:9999px;--radius-btn:16px;--radius-tag:9999px;--radius-panel:24px;--transition-base:all .25s ease;--transition-img:transform .7s ease}.resort-page *,.resort-page :before,.resort-page :after{box-sizing:border-box}.resort-page{background-color:var(--color-surface);min-height:100vh;padding-top:10px;padding-bottom:96px}.search-section{max-width:1280px;margin:0 auto;padding:0 24px}.search-bar-wrapper{background:var(--color-white);box-shadow:var(--shadow-card);transition:var(--transition-base);border:1px solid #c8d9a059;border-radius:2rem;flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.search-bar-wrapper:hover{box-shadow:var(--shadow-card-hover)}@media (min-width:1024px){.search-bar-wrapper{flex-direction:row}}.search-input-group{background:var(--color-card);border-radius:var(--radius-pill);border:1px solid #c8d9a066;flex:1;align-items:center;gap:12px;width:100%;padding:16px 24px;display:flex}.search-input-group .pin-icon{color:var(--color-green-dark);flex-shrink:0}.search-input-group input{width:100%;color:var(--color-ink);background:0 0;border:none;outline:none;font-size:1rem;font-weight:500}.search-input-group input::placeholder{color:#5b413766}.search-clear-btn{cursor:pointer;color:#5b413780;transition:var(--transition-base);background:0 0;border:none;align-items:center;display:flex}.search-clear-btn:hover{color:var(--color-green-dark)}.search-submit-btn{background:var(--color-green-bright);color:var(--color-white);cursor:pointer;border-radius:var(--radius-pill);letter-spacing:.08em;width:100%;box-shadow:var(--shadow-btn);transition:var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;padding:16px 48px;font-size:.875rem;font-weight:700;display:flex}.search-submit-btn:hover{background:var(--color-green-accent)}.search-submit-btn:active{transform:scale(.95)}@media (min-width:1024px){.search-submit-btn{width:auto}}.main-layout{flex-direction:column;gap:32px;max-width:1280px;margin:0 auto;padding:48px 24px;display:flex}@media (min-width:1024px){.main-layout{flex-direction:row;align-items:flex-start}}.sidebar{background:var(--color-white);width:288px;box-shadow:var(--shadow-card);border:1px solid #c8d9a073;border-radius:1.5rem;flex-direction:column;flex-shrink:0;align-self:flex-start;gap:24px;padding:24px;display:none;position:sticky;top:88px}@media (min-width:1024px){.sidebar{display:flex}}.sidebar-header{justify-content:space-between;align-items:flex-end;margin-bottom:8px;display:flex}.sidebar-header h3{letter-spacing:-.02em;color:var(--color-ink);font-size:1.25rem;font-weight:800}.sidebar-header p{text-transform:uppercase;letter-spacing:.12em;color:#5b4137b3;margin-top:2px;font-size:.625rem;font-weight:700}.clear-all-btn{cursor:pointer;color:var(--color-green-dark);text-transform:uppercase;letter-spacing:.05em;transition:var(--transition-base);background:0 0;border:none;font-size:.75rem;font-weight:700}.clear-all-btn:hover{text-decoration:underline}.filter-block{border:1px solid #e5e7ebcc;border-radius:12px;margin-bottom:8px;overflow:hidden}.filter-toggle{width:100%;color:var(--color-brown-dark);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;justify-content:space-between;align-items:center;padding:12px;font-size:.875rem;font-weight:700;display:flex}.filter-toggle:hover{background:#00000005}.filter-toggle.active{background:var(--color-forest-light);color:var(--color-brown-mid)}.filter-toggle-label{align-items:center;gap:12px;display:flex}.filter-toggle-label svg{color:var(--color-forest-mid)}.chevron-icon{transition:transform .2s}.chevron-icon.open{transform:rotate(180deg)}.filter-dropdown{background:var(--color-white);border-top:1px solid #f3f4f6;flex-direction:column;gap:8px;padding:12px;display:flex}.filter-option{text-align:left;color:var(--color-brown-dark);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;border-radius:8px;padding:8px;font-size:.75rem}.filter-option:hover{background:#f9fafb}.filter-option.selected{background:var(--color-forest-mid);color:var(--color-white);font-weight:700}.amenities-block{background:var(--color-white);border:1px solid #e5e7ebcc;border-radius:12px;flex-direction:column;gap:12px;margin-bottom:8px;padding:12px;display:flex}.amenities-label{color:var(--color-brown-dark);align-items:center;gap:12px;font-size:.875rem;font-weight:700;display:flex}.amenities-label svg{color:var(--color-forest-mid)}.amenities-list{flex-direction:column;gap:8px;margin-left:28px;display:flex}.amenity-checkbox-label{color:var(--color-brown-dark);cursor:pointer;transition:var(--transition-base);align-items:center;gap:10px;font-size:.75rem;font-weight:600;display:flex}.amenity-checkbox-label:hover{color:var(--color-green-dark)}.amenity-checkbox-label input[type=checkbox]{border:1px solid var(--color-border-warm);width:16px;height:16px;accent-color:var(--color-green-dark);cursor:pointer;border-radius:4px}.resorts-column{flex-direction:column;flex:1;min-width:0;display:flex}.resorts-header{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}@media (min-width:640px){.resorts-header{flex-direction:row;justify-content:space-between;align-items:center}}.resorts-count-title{color:var(--color-ink);letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.sort-row{color:var(--color-brown-dark);flex-shrink:0;align-self:flex-end;align-items:center;gap:8px;font-size:.875rem;font-weight:700;display:flex}@media (min-width:640px){.sort-row{align-self:auto}}.sort-select{color:var(--color-green-dark);cursor:pointer;appearance:auto;background:0 0;border:none;outline:none;padding:4px 4px 4px 0;font-size:.875rem;font-weight:700}.resorts-grid{grid-template-columns:1fr;gap:32px;display:grid}@media (min-width:768px){.resorts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.resorts-grid{grid-template-columns:repeat(3,1fr)}}.resort-card{background:var(--color-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:1px solid #e5e7ebcc;flex-direction:column;transition:box-shadow .3s;display:flex;overflow:hidden}.resort-card:hover{box-shadow:var(--shadow-card-hover)}.card-image-wrap{background:var(--color-forest-deep);width:100%;height:240px;position:relative;overflow:hidden}.card-image-wrap img{object-fit:cover;width:100%;height:100%;transition:var(--transition-img);display:block}.resort-card:hover .card-image-wrap img{transform:scale(1.05)}.card-image-fallback{color:#d4a373;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.badge-park{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius-pill);color:var(--color-forest-mid);background:#fffffff2;border:1px solid #f3f4f6;align-items:center;gap:6px;max-width:180px;padding:6px 12px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 2px 8px #00000014}.badge-park span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.badge-rating{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-white);border-radius:var(--radius-pill);background:#0a190fd9;align-items:center;gap:4px;padding:6px 12px;font-size:.875rem;font-weight:700;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 2px 8px #00000026}.badge-rating .star-icon{fill:#ff9800;color:#ff9800}.badge-featured{background:var(--color-green-dark);color:var(--color-white);border-radius:var(--radius-pill);letter-spacing:.12em;text-transform:uppercase;padding:6px 16px;font-size:.625rem;font-weight:700;position:absolute;bottom:16px;left:16px}.card-body{background:var(--color-white);flex-direction:column;flex:1;padding:24px;display:flex}.card-title{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:1.125rem;font-weight:800;line-height:1.3;transition:color .3s;overflow:hidden}.resort-card:hover .card-title{color:var(--color-green-dark)}.card-location{color:var(--color-brown-dark);align-items:center;gap:4px;margin-bottom:16px;font-size:.75rem;font-weight:600;display:flex}.card-location svg{color:var(--color-green-dark);flex-shrink:0}.amenity-tags{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.amenity-tag{background:var(--color-card);border-radius:var(--radius-tag);color:var(--color-brown-dark);border:1px solid #f3f4f6;align-items:center;gap:6px;padding:6px 12px;font-size:.6875rem;font-weight:700;display:flex}.amenity-tag svg{flex-shrink:0}.amenity-tag-more{background:var(--color-card);border-radius:var(--radius-tag);color:var(--color-brown-dark);border:1px solid #f3f4f6;padding:6px 10px;font-size:.6875rem;font-weight:700}.card-footer{border-top:1px solid #c8d9a066;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:16px;display:flex}.card-price-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-brown-dark);margin-bottom:2px;font-size:.625rem;font-weight:700}.card-price-value{color:var(--color-ink);font-size:1.25rem;font-weight:800}.card-price-unit{color:var(--color-brown-dark);margin-left:4px;font-size:.75rem}.card-details-btn{background:var(--color-forest-mid);color:var(--color-white);border-radius:var(--radius-btn);transition:var(--transition-base);white-space:nowrap;padding:10px 20px;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-block}.card-details-btn:hover{background:var(--color-forest-deep);transform:scale(.97)}.card-details-btn:active{transform:scale(.95)}.card-strip{background:var(--color-card);text-align:center;border-top:1px solid #c8d9a066;grid-template-columns:repeat(3,1fr);padding:14px 24px;display:grid}.card-strip-cell{flex-direction:column;gap:2px;display:flex}.card-strip-cell:not(:last-child){border-right:1px solid #c8d9a066}.strip-label{text-transform:uppercase;letter-spacing:.08em;color:#5b4137cc;font-size:.625rem;font-weight:700}.strip-value{color:var(--color-ink);font-size:.75rem;font-weight:700}.skeleton-card{background:var(--color-white);border-radius:var(--radius-card);border:1px solid #e5e7eb;flex-direction:column;height:400px;display:flex;overflow:hidden}.skeleton-img{background:var(--color-card);height:240px;animation:1.5s ease-in-out infinite pulse}.skeleton-body{flex-direction:column;flex:1;gap:12px;padding:24px;display:flex}.skeleton-line{background:var(--color-card);border-radius:6px;animation:1.5s ease-in-out infinite pulse}.skeleton-line--title{width:75%;height:24px}.skeleton-line--sub{width:50%;height:16px}.skeleton-line--btn{border-radius:12px;width:100%;height:48px;margin-top:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.load-more-wrap{justify-content:center;margin-top:64px;display:flex}.load-more-btn{background:var(--color-green-dark);color:var(--color-white);cursor:pointer;border-radius:var(--radius-pill);letter-spacing:.1em;text-transform:uppercase;box-shadow:var(--shadow-btn-green);transition:var(--transition-base);border:none;padding:16px 48px;font-size:.75rem;font-weight:700}.load-more-btn:hover{background:var(--color-green-bright);transform:scale(1.04)}.load-more-btn:active{transform:scale(.96)}.empty-state{background:var(--color-white);text-align:center;box-shadow:var(--shadow-card);border:1px solid #e5e7ebcc;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;max-width:448px;margin:40px auto;padding:64px 32px;display:flex}.empty-state-icon{background:var(--color-card);width:64px;height:64px;color:var(--color-green-dark);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;display:flex}.empty-state h3{color:var(--color-ink);margin-bottom:8px;font-size:1.25rem;font-weight:800}.empty-state p{color:var(--color-brown-dark);max-width:320px;margin-bottom:32px;font-size:.875rem;line-height:1.6}.empty-clear-btn{background:var(--color-forest-mid);color:var(--color-white);cursor:pointer;border-radius:var(--radius-pill);letter-spacing:.1em;text-transform:uppercase;transition:var(--transition-base);border:none;padding:12px 32px;font-size:.75rem;font-weight:700}.empty-clear-btn:hover{background:var(--color-forest-deep)}.empty-clear-btn:active{transform:scale(.95)}
