.room-search-section { background:#faf8f4; border-bottom:1px solid #e5ddcf; padding:30px 20px; }
.room-search-form { max-width:1100px; margin:0 auto; padding:26px; border:1px solid #e5ddcf; border-radius:18px; background:#fff; box-shadow:0 6px 24px #51493605; }
.room-search-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.room-search-heading h2 { color:#514936; font-size:23px; font-weight:700; margin:5px 0; }
.room-search-heading p:last-child { color:#84765b; font-size:13px; line-height:1.7; }
.room-search-mark { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; background:#f3efe7; color:#84765b; border-radius:14px; font-size:30px; }
.room-search-mark .ws-icon { width:25px; height:25px; }
.room-search-filter-icon .ws-icon { width:17px; height:17px; }
.room-search-primary { display:grid; grid-template-columns:minmax(190px,1fr) minmax(230px,1.7fr) auto auto; gap:14px; align-items:end; }
.room-search-form label,.room-search-field { min-width:0; color:#6c604a; font-size:12px; font-weight:600; }
.room-search-form label > input:not([type=checkbox]),.room-search-form label > select { display:block; width:100%; min-width:0; margin-top:8px; padding:12px 14px; height:48px; border:1px solid #cfc3ad; border-radius:9px; background:#fff; color:#514936; font-size:13px; font-weight:400; }
.room-search-form input::placeholder { color:#9c8d70; }
.room-search-form input:focus-visible,.room-search-form select:focus-visible,.room-search-form summary:focus-visible,.room-search-form a:focus-visible,.room-search-form button:focus-visible { outline:2px solid #9c8d70; outline-offset:3px; }
.room-search-submit { display:flex; align-items:center; justify-content:center; gap:16px; height:48px; padding:0 22px; background:#9c8d70; color:#fff; border:1px solid #9c8d70; border-radius:9px; font-size:13px; font-weight:600; white-space:nowrap; }
.room-search-submit:hover { background:#84765b; }
.room-search-reset { display:grid; place-items:center; height:48px; padding:0 9px; color:#84765b; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.room-search-more { border-top:1px solid #e5ddcf; margin-top:23px; padding-top:17px; }
.room-search-more > summary { display:flex; align-items:center; gap:9px; list-style:none; cursor:pointer; color:#6c604a; font-size:13px; }
.room-search-more > summary::-webkit-details-marker,.room-search-facilities > summary::-webkit-details-marker { display:none; }
.room-search-active { background:#f3efe7; color:#84765b; font-size:11px; border-radius:12px; padding:3px 9px; }
.room-search-chevron { margin-left:auto; transition:transform .15s; }
.room-search-more[open] > summary .room-search-chevron { transform:rotate(180deg); }
.room-search-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px 16px; margin-top:21px; }
.room-search-sort { grid-column:span 2; }
.room-search-filter-footer { display:flex; justify-content:flex-end; margin-top:20px; }
.room-search-label { display:block; }
.room-search-facilities { position:relative; margin-top:8px; font-weight:400; }
.room-search-facilities > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; height:48px; padding:12px 14px; border:1px solid #cfc3ad; border-radius:9px; cursor:pointer; list-style:none; font-size:13px; color:#514936; }
.room-search-facilities[open] > summary { border-color:#9c8d70; background:#faf8f4; }
.room-search-facility-options { position:absolute; right:0; top:100%; width:min(330px,calc(100vw - 64px)); max-height:300px; overflow:auto; margin-top:8px; padding:14px; border:1px solid #e5ddcf; border-radius:12px; background:#fff; box-shadow:0 12px 32px #51493618; z-index:25; }
.room-search-facility-options p { margin-bottom:9px; color:#84765b; font-size:12px; }
.room-search-facility-options label { display:flex; align-items:center; gap:9px; padding:8px; border-radius:6px; cursor:pointer; font-size:12px; font-weight:400; }
.room-search-facility-options label:hover { background:#faf8f4; }
.room-search-facility-options img { width:20px; height:20px; object-fit:cover; border-radius:4px; }
.room-search-facility-options input { accent-color:#9c8d70; }
@media(max-width:899px) { .room-search-primary { grid-template-columns:1fr 1fr; } .room-search-submit { width:100%; } .room-search-reset { justify-self:start; } .room-search-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:539px) { .room-search-section { padding:20px 14px; } .room-search-form { padding:19px 16px; border-radius:14px; } .room-search-heading { margin-bottom:19px; } .room-search-heading h2 { font-size:20px; } .room-search-mark { display:none; } .room-search-primary,.room-search-filter-grid { grid-template-columns:minmax(0,1fr); } .room-search-sort { grid-column:auto; } .room-search-reset { justify-self:center; height:28px; } }
@media(prefers-reduced-motion:reduce) { .room-search-chevron { transition:none; } }
