.hotel-filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px;align-items:end;padding:18px;margin-bottom:26px;background:var(--soft);border:1px solid var(--line);border-radius:16px}.hotel-filters label,.availability-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.hotel-filters input,.hotel-filters select,.availability-form input,.availability-form select,.availability-form textarea{width:100%;border:1px solid #ddd;border-radius:9px;background:#fff;padding:10px 12px;font:inherit}.offer-toggle{display:flex!important;align-items:center;padding:10px 5px}.offer-toggle input{width:auto}.hotel-grid{grid-template-columns:repeat(3,1fr)}.hotel-card[hidden]{display:none}.hotel-media{position:relative}.hotel-media img{display:block}.hotel-placeholder{height:190px;display:grid;place-items:center;background:var(--soft);color:var(--brand);font-size:28px;font-weight:800}.offer-badge{position:absolute;top:12px;inset-inline-start:12px;background:var(--brand);color:#fff;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800}.hotel-card h2{font-size:20px;margin:3px 0}.hotel-stars{color:#f5a623;letter-spacing:2px}.hotel-meal{font-weight:700}.hotel-price{display:grid;margin:12px 0}.hotel-price strong{color:var(--brand);font-size:22px}.hotel-price small{color:var(--muted)}.hotel-detail-head{display:grid;grid-template-columns:1fr 420px;gap:28px;align-items:center;margin:20px 0 35px}.hotel-detail-head h1{font-size:42px;margin:4px 0}.hotel-detail-head img{width:100%;height:270px;object-fit:cover;border-radius:18px}.hotel-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:34px}.rate-section{margin:32px 0}.rate-table-wrap{overflow-x:auto}.rate-table{width:100%;border-collapse:collapse;background:#fff}.rate-table th,.rate-table td{padding:13px;border:1px solid var(--line);text-align:center}.rate-table th{background:var(--soft)}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.policy-grid section{background:var(--soft);padding:18px;border-radius:14px}.availability-form{position:sticky;top:100px;display:grid;gap:12px;padding:22px;border:1px solid var(--line);border-radius:17px;box-shadow:0 12px 35px #0000000d}.availability-form h2{margin:0}.availability-form .button{width:100%;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.back-link{text-decoration:none;color:var(--brand);font-weight:700}
@media(max-width:900px){.hotel-filters{grid-template-columns:1fr 1fr}.hotel-grid{grid-template-columns:repeat(2,1fr)}.hotel-detail-head,.hotel-detail-grid{grid-template-columns:1fr}.availability-form{position:static}.hotel-detail-head img{order:-1}}
@media(max-width:580px){.hotel-filters,.hotel-grid,.policy-grid{grid-template-columns:1fr}.hotel-detail-head h1{font-size:32px}}
.grouped-layout>aside{display:none}
.grouped-layout{grid-template-columns:1fr}.grouped-layout>.availability-form{display:none}.grouped-hotel-rates{display:grid;gap:28px}.grouped-hotel{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 12px 35px #0000000b}.grouped-hotel h2{margin:0;padding:18px 22px;background:#222;color:#fff;font-size:22px}.grouped-hotel .hotel-subtitle{margin:0;padding:9px 22px;background:var(--soft);color:var(--brand);font-weight:800}.grouped-hotel .rate-table-wrap{padding:18px}.grouped-hotel .rate-table th{background:var(--brand);color:#fff}.grouped-hotel .rate-table td:first-child{font-weight:800;text-align:right}.grouped-hotel .rate-table td:not(:first-child){color:var(--brand);font-weight:800}.grouped-notes{padding:18px 22px;background:#fafafa;border-top:1px solid var(--line);color:var(--muted)}@media(max-width:580px){.grouped-hotel h2{font-size:18px}.grouped-hotel .rate-table-wrap{padding:10px}.grouped-hotel .rate-table th,.grouped-hotel .rate-table td{padding:10px 8px;font-size:12px}}
