*{box-sizing:border-box}body{color:#172033;background:#f4f6f8;margin:0;font-family:Arial,sans-serif}.header{background:#0f213f;justify-content:space-between;align-items:center;height:72px;padding:0 48px;display:flex}.logo{color:#fff;font-size:24px;font-weight:700;text-decoration:none}.nav{gap:24px;display:flex}.nav a{color:#fff;font-size:15px;text-decoration:none}.hero{background:linear-gradient(#0f213f59,#0f213f59),url(/images/hero.jpeg) 50%/cover;align-items:center;min-height:520px;padding:80px 72px 0;display:flex;position:relative}.heroContent{color:#fff;max-width:680px;padding-bottom:120px}.eyebrow{color:#c8a96a;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;font-size:13px;font-weight:700}.hero h1,.pageTitle h1{margin:0;font-size:56px;line-height:1.05}.subtitle{color:#e8edf5;margin-top:20px;font-size:20px;line-height:1.5}.searchCard{background:#fff;border-radius:24px;grid-template-columns:1.4fr 1fr 1fr .8fr .8fr 1fr auto;align-items:end;gap:18px;padding:28px;display:grid;position:absolute;bottom:-70px;left:72px;right:72px;box-shadow:0 24px 60px #0f213f2e}.home{padding-bottom:120px}label{gap:8px;font-size:14px;font-weight:700;display:grid}input,select{border:1px solid #d8dee8;border-radius:12px;width:100%;height:44px;padding:0 12px;font-size:15px}button{color:#0f213f;cursor:pointer;background:#c8a96a;border:0;border-radius:14px;height:46px;font-size:15px;font-weight:700}.page{padding:48px}.pageTitle{max-width:900px;margin-bottom:32px}.pageTitle p{color:#5d6878}.roomsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.roomCard{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 16px 40px #0f213f14}.roomCard img{object-fit:cover;width:100%;height:220px;display:block}.roomCardBody{padding:24px}.roomCardBody h2{margin:0 0 10px}.roomCardBody p{color:#5d6878;margin:8px 0}.tags{gap:8px;margin:16px 0;display:flex}.tags span{background:#edf1f6;border-radius:999px;padding:6px 10px;font-size:13px}.roomFooter{justify-content:space-between;align-items:center;gap:16px;display:flex}.roomFooter button{padding:0 20px}.emptyState{background:#fff;border-radius:24px;grid-column:1/-1;padding:40px}@media (width<=900px){.hero,.roomsGrid{grid-template-columns:1fr}.header,.hero,.page{padding-left:24px;padding-right:24px}}.features{grid-template-columns:repeat(4,1fr);gap:28px;max-width:1280px;margin:110px auto 56px;padding:0 72px;display:grid}.featureItem{align-items:center;gap:18px;display:flex}.featureIcon{color:#c8a96a;background:#f6efe1;border-radius:50%;flex:none;place-items:center;width:64px;height:64px;font-size:28px;display:grid}.featureItem h3{margin:0 0 8px;font-size:18px}.featureItem p{color:#5d6878;margin:0;line-height:1.5}.offers{max-width:1280px;margin:0 auto;padding:0 72px 72px}.sectionHeader{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.sectionHeader h2{margin:0;font-size:32px}.sectionHeader a{color:#0f213f;font-weight:700;text-decoration:none}.offersGrid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.offerCard{color:#fff;background-position:50%;background-size:cover;border-radius:16px;min-height:220px;padding:32px;position:relative;overflow:hidden}.offerCard:before{content:"";background:linear-gradient(90deg,#0f213fe0,#0f213f2e);position:absolute;inset:0}.offerCard h3,.offerCard p,.offerCard button{z-index:1;position:relative}.offerCard h3{margin:0 0 12px;font-size:22px}.offerCard p{max-width:300px;margin:0 0 24px;line-height:1.5}.offerCard button{color:#fff;background:0 0;border:1px solid #c8a96a;width:auto;padding:0 24px}.offerOne{background-image:url(https://images.unsplash.com/photo-1590490360182-c33d57733427)}.offerTwo{background-image:url(https://images.unsplash.com/photo-1507525428034-b723cf961d3e)}.offerThree{background-image:url(https://images.unsplash.com/photo-1578683010236-d716f9a3f461)}@media (width<=1000px){.features,.offersGrid{grid-template-columns:1fr 1fr}.searchCard{grid-template-columns:1fr;margin-top:32px;position:static}.hero{padding-bottom:48px}.heroContent{padding-bottom:0}}@media (width<=700px){.features,.offers,.hero{padding-left:24px;padding-right:24px}.features,.offersGrid{grid-template-columns:1fr}.sectionHeader{flex-direction:column;align-items:flex-start;gap:12px}}.catalogLayout{grid-template-columns:280px 1fr;align-items:start;gap:28px;display:grid}.filtersPanel{background:#fff;border-radius:24px;gap:18px;padding:24px;display:grid;box-shadow:0 16px 40px #0f213f14}.filtersPanel h2{margin:0;font-size:24px}.checkboxLabel{grid-template-columns:none;align-items:center;gap:10px;font-weight:400;display:flex}.checkboxLabel input{width:18px;height:18px}@media (width<=900px){.catalogLayout{grid-template-columns:1fr}}.roomsPage{background:#f4f6f8;min-height:calc(100vh - 72px)}.searchBar{color:#172033;background:#fff;border-bottom:1px solid #e6eaf0;grid-template-columns:1.1fr 1.7fr 1fr 1fr 1.1fr auto;align-items:center;gap:18px;height:72px;padding:0 72px;font-size:14px;display:grid}.searchBar button{color:#fff;background:#0f213f;padding:0 22px}.roomsLayout{grid-template-columns:260px 1fr;gap:28px;padding:32px 72px 56px;display:grid}.resultsFilters{background:#fff;border-right:1px solid #e6eaf0;min-height:620px;padding:24px}.filterHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.filterHeader h2{margin:0;font-size:20px}.resetButton{color:#7a8495;background:0 0;height:auto;padding:0;font-size:13px}.filterGroup{margin-top:28px}.filterGroup h3{margin:0 0 14px;font-size:15px}.rangeValues{color:#5d6878;justify-content:space-between;margin-top:8px;font-size:13px;display:flex}.filterCheckbox{color:#344052;align-items:center;gap:10px;margin:10px 0;font-weight:400;display:flex}.filterCheckbox input{width:16px;height:16px}.resultsContent{min-width:0}.resultsTop{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.resultsTop h1{margin:0 0 8px;font-size:30px}.resultsTop p{color:#5d6878;margin:0}.resultsTop select{background:#fff;max-width:300px}.roomsList{gap:18px;display:grid}.resultRoomCard{background:#fff;border-radius:14px;grid-template-columns:280px 1fr 150px;gap:24px;display:grid;overflow:hidden;box-shadow:0 10px 28px #0f213f0f}.resultRoomCard img{object-fit:cover;width:280px;height:190px}.resultRoomInfo{padding:22px 0}.resultRoomInfo h2{margin:0 0 14px;font-size:22px}.roomMeta{color:#4d5a6d;flex-wrap:wrap;gap:18px;font-size:14px;display:flex}.roomBenefits{color:#2c7a5b;gap:6px;margin-top:16px;font-size:14px;display:grid}.roomBenefits p{margin:0}.detailsButton{color:#0f4c81;background:0 0;height:auto;margin-top:14px;padding:0}.resultRoomPrice{align-content:center;justify-items:end;gap:6px;padding:24px 18px 24px 0;display:grid}.resultRoomPrice strong{color:#0f213f;font-size:28px}.resultRoomPrice span{color:#7a8495;margin-bottom:20px;font-size:13px}.resultRoomPrice button{color:#fff;background:#0f213f;min-width:110px}@media (width<=1100px){.searchBar{grid-template-columns:1fr 1fr;height:auto;padding:20px 24px}.roomsLayout{grid-template-columns:1fr;padding:24px}.resultsFilters{border-right:0;border-radius:18px;min-height:auto}.resultRoomCard{grid-template-columns:220px 1fr}.resultRoomPrice{grid-column:2;justify-items:start;padding-top:0}}@media (width<=700px){.searchBar{grid-template-columns:1fr}.resultsTop{flex-direction:column}.resultRoomCard{grid-template-columns:1fr}.resultRoomCard img{width:100%}.resultRoomInfo,.resultRoomPrice{padding:20px}.resultRoomPrice{grid-column:auto}}.bookingPage{background:#f4f6f8;grid-template-columns:minmax(0,1fr) 430px;gap:40px;max-width:1440px;min-height:calc(100vh - 72px);margin:0 auto;padding:48px 72px;display:grid}.bookingFormSection{background:#fff;border-radius:20px;padding:32px;box-shadow:0 10px 28px #0f213f0d}.bookingFormSection h1{margin:0;font-size:36px}.bookingSubtitle{color:#5d6878;margin:12px 0 28px}.guestForm{grid-template-columns:1fr 1fr;gap:18px;display:grid}.guestForm textarea{resize:vertical;border:1px solid #d8dee8;border-radius:12px;min-height:44px;padding:12px;font-family:inherit;font-size:15px}.servicesBlock{border-top:1px solid #e6eaf0;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px;padding-top:24px;display:grid}.servicesBlock h2{grid-column:1/-1;margin:0 0 6px;font-size:24px}.serviceCheckbox{background:#f8fafc;border:1px solid #e6eaf0;border-radius:14px;align-items:center;gap:12px;padding:14px;font-weight:400;display:flex}.serviceCheckbox input{width:18px;height:18px}.serviceCheckbox b{color:#0f213f}.guestForm button[type=submit]{background:#c8a96a;grid-column:1/-1;margin-top:12px}.bigBookingSummary{background:#fff;border-radius:20px;align-self:start;padding:0;position:sticky;top:96px;overflow:hidden;box-shadow:0 16px 40px #0f213f14}.bigBookingSummary h2{margin:0;padding:24px 24px 18px;font-size:24px}.summaryRoomCard{border-bottom:1px solid #e6eaf0;padding:0 24px 22px}.summaryRoomCard img{object-fit:cover;border-radius:16px;width:100%;height:190px;margin-bottom:16px;display:block}.summaryRoomCard h3{margin:0 0 6px;font-size:22px}.summaryRoomCard p{color:#5d6878;margin:0}.summaryDates{grid-template-columns:1fr 1fr;gap:14px;margin:22px 24px 0;display:grid}.summaryDates div{background:#f8fafc;border-radius:14px;padding:14px}.summaryDates strong{margin-bottom:6px;font-size:14px;display:block}.summaryDates span{color:#5d6878;font-size:13px}.summaryGuestLine{color:#344052;background:#f8fafc;border-radius:14px;margin:16px 24px 0;padding:14px}.summaryPriceRows{border-top:1px solid #e6eaf0;gap:12px;margin:22px 24px 0;padding-top:18px;display:grid}.summaryPriceRows p,.summaryTotal{justify-content:space-between;gap:18px;margin:0;display:flex}.summaryPriceRows span{color:#5d6878}.summaryPriceRows strong{text-align:right}.summaryTotal{border-top:1px solid #e6eaf0;align-items:center;margin:18px 24px 0;padding-top:18px}.summaryTotal span{font-size:18px;font-weight:700}.summaryTotal strong{color:#0f213f;font-size:28px}.summaryNote{color:#7a8495;margin:18px 24px 24px;font-size:13px;line-height:1.5}@media (width<=1000px){.bookingPage{grid-template-columns:1fr;padding:32px 24px}.bigBookingSummary{position:static}}@media (width<=700px){.guestForm,.servicesBlock{grid-template-columns:1fr}.bookingFormSection{padding:24px}}.fieldError{color:#c0392b;font-size:13px;font-weight:400}:is(.guestForm label:has(.fieldError) input,.guestForm label:has(.fieldError) textarea){border-color:#c0392b}.roomPage{background:#f4f6f8;grid-template-columns:minmax(0,1fr) 380px;gap:40px;min-height:calc(100vh - 72px);padding:48px 72px;display:grid}.roomGallery{min-width:0}.mainImage{object-fit:cover;object-position:center;border-radius:18px;width:100%;height:360px;display:block}.thumbs{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;display:grid}.thumbs img{object-fit:cover;object-position:center;border-radius:10px;width:100%;height:72px;display:block}.roomDescription{background:#fff;border-radius:18px;margin-top:28px;padding:28px}.tabs{border-bottom:1px solid #e6eaf0;gap:24px;margin-bottom:22px;display:flex}.tabs button{color:#172033;background:0 0;border-radius:0;height:auto;padding:0 0 14px}.roomDescription p{color:#4d5a6d;max-width:720px;margin:0;line-height:1.7}.roomSidebar{align-self:start}.roomSidebar h1{margin:0 0 18px;font-size:34px}.roomFacts{color:#344052;gap:12px;margin-bottom:22px;display:grid}.advantages{color:#2c7a5b;border-top:1px solid #e6eaf0;border-bottom:1px solid #e6eaf0;padding:18px 0}.advantages p{margin:8px 0}.bookingWidget{background:#fff;border-radius:18px;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;padding:24px;display:grid;box-shadow:0 16px 40px #0f213f14}.priceBlock{grid-column:1/-1;align-items:baseline;gap:8px;display:flex}.priceBlock strong{color:#0f213f;font-size:30px}.priceBlock span{color:#5d6878}.bookingWidget button{background:#c8a96a;grid-column:1/-1}@media (width<=1000px){.roomPage{grid-template-columns:1fr;padding:32px 24px}}.bookingWidget{position:sticky;top:96px}.roomPage{grid-template-columns:minmax(0,1fr) 430px;gap:40px;max-width:1440px;margin:0 auto;padding:48px 72px;display:grid}.roomSidebar{padding-top:4px}.tabs button.activeTab{color:#c8a96a;border-bottom:2px solid #c8a96a}.tabList{color:#4d5a6d;margin:0;padding-left:20px;line-height:1.8}.roomDescription{box-shadow:0 10px 28px #0f213f0a}.confirmationPage{background:#f4f6f8;place-items:center;min-height:calc(100vh - 72px);padding:56px 24px;display:grid}.confirmationCard{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:760px;padding:40px;box-shadow:0 16px 40px #0f213f14}.successIcon{color:#2c7a5b;background:#e8f7ef;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 22px;font-size:42px;font-weight:700;display:grid}.confirmationCard h1{margin:0;font-size:36px}.confirmationText{color:#5d6878;max-width:520px;margin:14px auto 28px;line-height:1.6}.confirmationRoom{text-align:left;background:#f8fafc;border-radius:18px;grid-template-columns:220px 1fr;align-items:center;gap:20px;margin:28px 0;padding:18px;display:grid}.confirmationRoom img{object-fit:cover;border-radius:14px;width:220px;height:140px}.confirmationRoom h2{margin:0 0 8px;font-size:24px}.confirmationRoom p{color:#5d6878;margin:6px 0}.confirmationRows{text-align:left;gap:14px;margin:0 0 28px;display:grid}.confirmationRows p{border-bottom:1px solid #e6eaf0;justify-content:space-between;gap:18px;margin:0;padding:16px 0;display:flex}.confirmationRows span{color:#5d6878}.confirmationRows strong{text-align:right;color:#0f213f}.confirmationCard button{color:#fff;background:#0f213f;min-width:220px}@media (width<=700px){.confirmationCard{padding:28px 20px}.confirmationRoom{grid-template-columns:1fr}.confirmationRoom img{width:100%}}
