.search-container{background-color:var(--color-secondary);width:100%;min-height:calc(100vh - 8rem);color:var(--color-text-primary);margin:0;display:flex}.loading-container{background-color:var(--color-secondary);z-index:9999;justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:fixed;inset:0}.loading-content{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.loading-spinner{border:6px solid var(--color-tertiary);border-top:6px solid var(--color-n4z9k6ph);border-radius:50%;width:80px;height:80px;animation:.8s linear infinite spin}.loading-text{color:var(--color-text-primary);text-align:center;margin:0;font-size:1.3rem;font-weight:600}.loading-subtext{color:var(--color-text-primary);opacity:.7;text-align:center;margin:0;font-size:.95rem;font-weight:400;animation:2s ease-in-out infinite pulse}.genre-loading-results,.genre-loading-inline{color:var(--color-text-primary)}.genre-loading-results{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:4rem 2rem;display:flex}.genre-loading-inline{text-align:center;opacity:.8;margin-top:1.5rem;font-size:.95rem}.search-plan-loading{flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex}.search-plan-loading-spinner{border-width:3px;width:36px;height:36px}.loading-results{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:4rem 2rem;display:flex}.loading-spinner-results{border:4px solid var(--color-tertiary);border-top:4px solid var(--color-n4z9k6ph);border-radius:50%;width:60px;height:60px;animation:.8s linear infinite spin}.loading-text-results{color:var(--color-text-primary);margin:0;font-size:1.1rem;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.search-sidebar{background-color:var(--color-secondary);border-right:1px solid var(--color-tertiary);flex-shrink:0;width:260px;padding:1rem 1.25rem}.search-section{margin-bottom:2rem}.section-title{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.search-results{box-sizing:border-box;flex-direction:column;gap:2rem;width:100%;max-width:100%;display:flex}.checkbox-group{flex-direction:column;gap:.75rem;display:flex}.checkbox-item{cursor:pointer;color:var(--color-text-primary);align-items:center;padding-left:1.5rem;font-size:.9rem;display:flex;position:relative}.checkbox-item input[type=checkbox]{opacity:0;cursor:pointer;position:absolute}.checkmark{border:2px solid var(--color-n4z9k6ph);background-color:#0000;border-radius:2px;width:15px;height:15px;position:absolute;left:0}.checkbox-item input[type=checkbox]:checked~.checkmark{background-color:var(--color-n4z9k6ph)}.checkmark:after{content:"";display:none;position:absolute}.checkbox-item input[type=checkbox]:checked~.checkmark:after{display:block}.checkbox-item .checkmark:after{border:solid var(--color-secondary);border-width:0 2px 2px 0;width:3px;height:7px;top:1px;left:4px;transform:rotate(45deg)}.area-select{background-color:var(--color-secondary);border:1px solid var(--color-n4z9k6ph);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.5rem;font-size:.9rem}.area-select:focus{border-color:var(--color-n4z9k6ph);outline:none}.keywords-input{background-color:var(--color-secondary);border:1px solid var(--color-n4z9k6ph);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.5rem;font-size:.9rem}.keywords-input:focus{border-color:var(--color-n4z9k6ph);outline:none}.keywords-input::-moz-placeholder{color:var(--color-text-primary)}.keywords-input::placeholder{color:var(--color-text-primary)}.search-button{background-color:var(--color-n4z9k6ph);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;margin-top:1rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .3s}.search-button:hover{background-color:var(--color-n4z9k6ph)}.search-main{flex:1;min-width:0;padding:.75rem 1rem 1.5rem}.results-title{color:var(--color-text-primary);margin-bottom:2rem;font-size:1.5rem;font-weight:600}.no-results{text-align:center;color:var(--color-text-primary);padding:3rem;font-size:1.1rem}.accommodation-grid{box-sizing:border-box;grid-template-columns:1fr;align-items:stretch;gap:.75rem;width:100%;display:grid}.accommodation-card{--search-card-image-height:270px;box-sizing:border-box;border:2px solid var(--color-quaternary);width:100%;min-width:0;max-width:100%;color:inherit;background-color:#ffffff15;border-radius:8px;flex-direction:column;gap:.75rem;text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;overflow:hidden}.accommodation-card:hover{border-color:var(--color-n4z9k6ph);transform:translateY(-2px);box-shadow:0 4px 20px #0000004d}.accommodation-card:focus{outline:3px solid var(--color-n4z9k6ph);outline-offset:2px;border-color:var(--color-n4z9k6ph)}.accommodation-card:focus:not(:focus-visible){outline:none}.accommodation-card:focus-visible{outline:3px solid var(--color-n4z9k6ph);outline-offset:2px;border-color:var(--color-n4z9k6ph)}.card-image{width:100%;height:var(--search-card-image-height);flex:0 0 var(--search-card-image-height);background-color:#00000040;line-height:0;position:relative;overflow:hidden}.card-area-chips{z-index:1;flex-wrap:wrap;justify-content:flex-end;gap:.375rem;max-width:calc(100% - 1.5rem);display:flex;position:absolute;top:.75rem;right:.75rem}.card-area-chip{color:#fff;white-space:nowrap;background-color:#0000008c;border-radius:4px;padding:.375rem .625rem;font-size:.8125rem;font-weight:600;line-height:1.2;display:inline-block}.card-image img{width:100%;height:var(--search-card-image-height);min-height:var(--search-card-image-height);max-height:var(--search-card-image-height);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;max-width:none;display:block}.card-content{text-align:center;box-sizing:border-box;flex-direction:column;flex:none;align-items:center;width:100%;padding:1rem;display:flex}.card-title{color:var(--color-text-primary);word-break:normal;overflow-wrap:break-word;margin-bottom:.75rem;font-size:1rem;font-weight:600;line-height:1.4}.match-chips{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.75rem;display:flex}.chip{background-color:var(--color-n4z9k6ph);color:#fff;white-space:nowrap;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.details-button{box-sizing:border-box;background-color:var(--color-n4z9k6ph);width:auto;color:var(--color-secondary);border:1px solid var(--color-quaternary);text-align:center;margin-top:auto;margin-inline:1rem;border-radius:8px;align-self:stretch;margin-bottom:1rem;padding:.625rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:border-color .2s,background-color .2s;display:block}.mobile-filter-button{z-index:999;background-color:var(--color-n4z9k6ph);color:#fff;cursor:pointer;border:none;border-radius:50px;align-items:center;gap:8px;padding:14px 24px;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:none;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 12px #0000004d}.mobile-filter-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006}.mobile-filter-button:active{transform:translateY(0)}.filter-badge{color:var(--color-text-primary);background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin-left:4px;font-size:.75rem;font-weight:700;display:flex}.mobile-filter-overlay{z-index:1000;background-color:#00000080;animation:.3s fadeIn;display:none;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-filter-sheet{background-color:var(--color-secondary);z-index:1001;box-sizing:border-box;border-top-left-radius:20px;border-top-right-radius:20px;flex-direction:column;width:100%;height:92vh;max-height:92vh;transition:transform .3s;display:none;position:fixed;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(100%);box-shadow:0 -4px 20px #0000004d}.mobile-filter-sheet.is-open{transform:translateY(0)}.filter-sheet-header{border-bottom:1px solid var(--color-tertiary);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;padding:16px;display:flex}.filter-sheet-header h2{color:var(--color-text-primary);margin:0;font-size:1.15rem;font-weight:600}.close-button{color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.filter-sheet-content{box-sizing:border-box;flex:1;width:100%;min-height:0;padding:20px 16px;overflow-y:auto}.filter-sheet-content .search-section{margin-bottom:1.25rem}.filter-sheet-content .checkbox-group{gap:.5rem}.filter-sheet-content .section-title{margin-bottom:.75rem;font-size:1rem}.filter-sheet-content .checkbox-item{padding-left:1.5rem;font-size:.85rem}.filter-sheet-content .keywords-input{width:100%;padding:.75rem;font-size:.9rem}.filter-sheet-footer{border-top:1px solid var(--color-tertiary);background-color:var(--color-secondary);box-sizing:border-box;flex-shrink:0;gap:12px;width:100%;margin:0;padding:16px;display:flex}.clear-button,.apply-button{cursor:pointer;box-sizing:border-box;white-space:nowrap;border:none;border-radius:8px;flex:1;padding:14px;font-size:1rem;font-weight:600;transition:opacity .2s}.clear-button{color:var(--color-text-primary);border:2px solid var(--color-n4z9k6ph);background-color:#0000}.apply-button{background-color:var(--color-n4z9k6ph);color:#fff}.clear-button:active,.apply-button:active{opacity:.8}@media (width>=1025px){.search-container{padding:0 .5rem}.search-sidebar{padding:1rem 1.5rem}.search-main{padding:.75rem 1.25rem 1.5rem}.accommodation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1024px){.search-container{flex-direction:column;padding:0}.search-sidebar{display:none}.search-main{box-sizing:border-box;width:100%;max-width:100%;margin:0 auto;padding:1rem}.mobile-filter-button,.mobile-filter-overlay,.mobile-filter-sheet{display:flex}.mobile-filter-overlay{display:block}.section-title{font-size:1rem}.checkbox-item{margin-bottom:.5rem;font-size:.85rem}.area-select,.keywords-input{box-sizing:border-box;padding:.75rem;font-size:1rem}.search-button{box-sizing:border-box;margin-top:1.5rem;padding:1rem;font-size:1.1rem}.results-title{display:none}.accommodation-grid{box-sizing:border-box;grid-template-columns:1fr;justify-items:stretch;gap:1rem;width:100%;max-width:100%}.accommodation-card{--search-card-image-height:220px;box-sizing:border-box;width:100%;min-width:0;max-width:100%}.card-content{box-sizing:border-box;width:100%;padding:1rem}.card-title{word-break:normal;overflow-wrap:break-word;margin-bottom:.75rem;font-size:1rem}.details-button{padding:.75rem 2rem;font-size:1rem}}.booking-date-summary,.availability-date-summary{border:1px solid var(--color-quaternary);color:var(--color-text-primary);background:#ffffff10;border-radius:8px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.95rem}.date-input{border:2px solid var(--color-quaternary);background-color:var(--color-secondary);width:100%;color:var(--color-text-primary);box-sizing:border-box;border-radius:4px;padding:.75rem;font-size:1rem}.date-input:focus{border-color:var(--color-n4z9k6ph);outline:none}.stock-filter-error{color:#c0392b;margin:0 0 1rem;font-size:.9rem}.stock-loading-results{color:var(--color-text-primary);flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;display:flex}.accommodation-card-body{color:inherit;flex-direction:column;flex:none;text-decoration:none;display:flex}.search-plan-list{flex-direction:column;flex:auto;gap:.75rem;padding:0 1rem;display:flex}.search-plan-card{width:100%;min-height:72px;color:inherit;border:1px solid var(--color-quaternary);background:#ffffff12;border-radius:8px;align-items:stretch;gap:.75rem;text-decoration:none;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.search-plan-card:hover{border-color:var(--color-n4z9k6ph);transform:translateY(-1px)}.search-plan-card:focus-visible{outline:2px solid var(--color-n4z9k6ph);outline-offset:2px}.search-plan-image{background:#00000020;flex:0 0 72px;align-self:stretch;width:72px;min-height:72px;line-height:0;position:relative;overflow:hidden}.search-plan-image img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.search-plan-content{flex-direction:column;flex:1;justify-content:center;min-width:0;padding:.5rem .75rem .5rem 0;display:flex}.search-plan-title{color:var(--color-text-primary);word-break:normal;overflow-wrap:break-word;margin:0 0 .25rem;font-size:.85rem;font-weight:600;line-height:1.4}.search-plan-price{color:var(--color-text-primary);margin:0;font-size:.85rem;font-weight:600}.search-plan-more-button{border:1px solid var(--color-quaternary);width:100%;color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:8px;padding:.625rem .75rem;font-size:.85rem;font-weight:600;transition:border-color .2s,background-color .2s}.search-plan-more-button:hover{border-color:var(--color-n4z9k6ph);background:#ffffff12}.search-plan-more-button:focus-visible{outline:2px solid var(--color-n4z9k6ph);outline-offset:2px}.booking-date-range-picker{border:1px solid var(--color-quaternary);background-color:#ffffff0a;border-radius:8px;flex-direction:column;gap:0;display:flex;overflow:visible}.booking-date-range-trigger{box-sizing:border-box;border:1px solid var(--color-quaternary);width:calc(100% - 1.5rem);min-height:2.5rem;color:var(--color-text-primary);text-align:left;cursor:pointer;background-color:#ffffff0f;border-radius:6px;justify-content:flex-start;align-items:center;margin:.75rem;padding:.65rem .75rem;font-family:inherit;font-size:.85rem;line-height:1.2;display:flex}.booking-date-range-trigger:hover{border-color:var(--color-n4z9k6ph)}.booking-date-range-popover{z-index:1100;border:1px solid var(--color-quaternary);background-color:var(--color-secondary);box-sizing:border-box;border-radius:8px;width:288px;min-width:288px;padding:.75rem;box-shadow:0 8px 24px #00000059}.booking-date-range-inline{box-sizing:border-box;width:100%;min-width:0;padding:.75rem;overflow-x:auto}.booking-date-range-calendar{box-sizing:border-box;width:100%;min-width:252px}.booking-date-range-calendar-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.booking-date-range-heading{color:var(--color-text-primary);text-align:center;white-space:nowrap;flex:1;font-size:.95rem;font-weight:600}.booking-date-range-nav{border:1px solid var(--color-quaternary);width:2rem;height:2rem;color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.booking-date-range-nav:hover{background-color:#c79f621f}.booking-date-range-grid{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.booking-date-range-weekdays,.booking-date-range-week{display:table-row}.booking-date-range-weekday,.booking-date-range-cell{vertical-align:middle;display:table-cell}.booking-date-range-weekday{color:var(--color-text-primary);opacity:.7;text-align:center;padding:.25rem 0;font-size:.7rem}.booking-date-range-cell{text-align:center;padding:0;position:relative}.booking-date-range-cell:before{content:"";z-index:0;background:0 0;position:absolute;inset:0}.booking-date-range-cell:has([data-selected]):before,.booking-date-range-cell:has([data-highlighted]):before,.booking-date-range-cell[aria-selected=true]:before{background-color:#c79f6252}.booking-date-range-cell:has([data-selection-start]):before,.booking-date-range-cell:has([data-highlighted-start]):before{border-top-left-radius:999px;border-bottom-left-radius:999px}.booking-date-range-cell:has([data-selection-end]):before,.booking-date-range-cell:has([data-highlighted-end]):before{border-top-right-radius:999px;border-bottom-right-radius:999px}.booking-date-range-cell:has([data-selection-start][data-selection-end]):before{border-radius:6px}.booking-date-range-cell-trigger{z-index:1;width:100%;height:2rem;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;margin:0;font-size:.8rem;line-height:1;transition:background-color .15s,color .15s,border-radius .15s;display:flex;position:relative}.booking-date-range-cell-trigger:hover:not([data-disabled]):not([data-unavailable]):not([data-selected]):not([data-highlighted]){background-color:#c79f622e;border-radius:6px}.booking-date-range-cell-trigger[data-outside-view]{opacity:.35}.booking-date-range-cell-trigger[data-disabled],.booking-date-range-cell-trigger[data-unavailable]{opacity:.35;cursor:not-allowed}.booking-date-range-cell-trigger[data-today]:not([data-selected]):not([data-highlighted]){border:1px solid var(--color-n4z9k6ph);border-radius:6px}.booking-date-range-cell-trigger[data-selected]:not([data-selection-start]):not([data-selection-end]),.booking-date-range-cell[aria-selected=true] .booking-date-range-cell-trigger:not([data-selection-start]):not([data-selection-end]){color:var(--color-text-primary);background-color:#c79f6252;font-weight:500}.booking-date-range-cell-trigger[data-highlighted]:not([data-selected]){color:var(--color-text-primary);background-color:#c79f6233}.booking-date-range-cell-trigger[data-selection-start],.booking-date-range-cell-trigger[data-selection-end]{background-color:var(--color-n4z9k6ph);color:var(--color-secondary);font-weight:600}.booking-date-range-cell-trigger[data-selection-start]:not([data-selection-end]){border-radius:6px 0 0 6px}.booking-date-range-cell-trigger[data-selection-end]:not([data-selection-start]){border-radius:0 6px 6px 0}.booking-date-range-cell-trigger[data-selection-start][data-selection-end]{border-radius:6px}.booking-date-range-cell-trigger[data-highlighted-start]:not([data-selected]),.booking-date-range-cell-trigger[data-highlighted-end]:not([data-selected]){color:var(--color-secondary);background-color:#c79f6273;font-weight:600}.booking-date-range-cell-trigger[data-highlighted-start]:not([data-selected]):not([data-highlighted-end]){border-radius:6px 0 0 6px}.booking-date-range-cell-trigger[data-highlighted-end]:not([data-selected]):not([data-highlighted-start]){border-radius:0 6px 6px 0}
