@font-face{font-family:Onest;src:url('/assets/fonts/Onest-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.hotels-page{--hotel-ink:#102a37;--hotel-muted:#506775;--hotel-line:#cadbe1;--hotel-sea:#0b7891;--hotel-deep:#073d51;--hotel-sky:#dff4f7;--hotel-paper:#f7fbfc;--hotel-warm:#f2b65b;margin:0;background:var(--hotel-paper);color:var(--hotel-ink);font-family:Onest,sans-serif;font-weight:400}
.hotels-page *{box-sizing:border-box}.hotels-page button,.hotels-page input,.hotels-page select{font:inherit;font-weight:400}.hotels-page h1,.hotels-page h2,.hotels-page h3,.hotels-page p{font-weight:400}.hotels-page .wrap{width:min(calc(100% - 128px),1280px);margin-inline:auto}
.hotel-hero{position:relative;min-height:570px;display:grid;align-items:end;overflow:hidden;background:#0b4055}.hotel-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hotel-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,43,.87) 0%,rgba(4,31,43,.62) 42%,rgba(4,31,43,.05) 72%),linear-gradient(0deg,rgba(4,31,43,.46),transparent 52%)}.hotel-hero__content{position:relative;z-index:1;padding-block:48px 58px;color:white}.hotel-breadcrumbs{display:flex;gap:10px;align-items:center;margin-bottom:42px;font-size:1rem}.hotel-breadcrumbs a{color:white;text-underline-offset:4px}.hotel-hero h1{max-width:800px;margin:0;font-size:clamp(3rem,6.4vw,6.2rem);line-height:.98;letter-spacing:0}.hotel-hero p{max-width:670px;margin:28px 0 0;font-size:clamp(1.08rem,1.8vw,1.35rem);line-height:1.55}
.hotel-tools{position:relative;z-index:2;margin-top:-28px;padding:30px;border:1px solid var(--hotel-line);border-radius:26px;background:rgba(255,255,255,.97);box-shadow:0 22px 52px rgba(6,50,65,.14)}.hotel-tools__intro{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:24px}.hotel-tools h2,.hotel-picks h2,.hotel-catalog h2,.hotel-method h2{margin:0;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.08}.hotel-tools__intro p{max-width:580px;margin:0;color:var(--hotel-muted);font-size:1rem;line-height:1.5}.hotel-controls{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:14px}.hotel-controls label{display:grid;gap:8px;color:var(--hotel-muted);font-size:1rem}.hotel-controls input,.hotel-controls select{width:100%;min-height:54px;padding:0 16px;border:1px solid #aebfc6;border-radius:14px;background:white;color:var(--hotel-ink);font-size:1rem}.hotel-controls input:focus,.hotel-controls select:focus,.hotel-picks button:focus,.hotel-empty button:focus{outline:3px solid rgba(11,120,145,.28);outline-offset:2px;border-color:var(--hotel-sea)}.hotel-result{margin:20px 0 0;color:var(--hotel-deep);font-size:1.08rem}
.hotel-picks{padding-block:76px 30px}.hotel-picks__copy{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:25px}.hotel-picks__copy p{max-width:520px;margin:0;color:var(--hotel-muted);font-size:1.08rem}.hotel-picks__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.hotel-picks article{display:flex;min-height:420px;flex-direction:column;overflow:hidden;border:1px solid var(--hotel-line);border-radius:24px;background:white}.hotel-picks article:nth-child(2){justify-content:flex-end;background:linear-gradient(155deg,var(--hotel-deep),#0a7690);color:white}.hotel-picks img{width:100%;height:220px;object-fit:cover}.hotel-picks article>div{display:flex;flex:1;flex-direction:column;padding:26px}.hotel-picks h3{margin:0 0 14px;font-size:1.65rem}.hotel-picks p{margin:0 0 25px;color:var(--hotel-muted);font-size:1rem;line-height:1.55}.hotel-picks article:nth-child(2) p{color:#d9f0f4}.hotel-picks button{align-self:flex-start;min-height:48px;margin-top:auto;padding:0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--hotel-sea);cursor:pointer;font-size:1rem}.hotel-picks article:nth-child(2) button{color:white}
.hotel-catalog{padding-block:54px 86px}.hotel-catalog__heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:30px}.hotel-catalog__heading p{margin:0;color:var(--hotel-muted);font-size:1.08rem;line-height:1.55}.hotel-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hotel-card{position:relative;display:grid;grid-template-columns:64px 1fr;min-width:0;overflow:hidden;border:1px solid var(--hotel-line);border-radius:22px;background:white;box-shadow:0 9px 26px rgba(12,63,77,.06)}.hotel-card[hidden]{display:none}.hotel-card__number{display:grid;place-items:start center;padding-top:27px;background:var(--hotel-deep);color:white;font-size:1.25rem}.hotel-card__body{min-width:0;padding:25px}.hotel-card__heading{display:flex;justify-content:space-between;gap:18px;align-items:start}.hotel-card__heading h2{margin:0;font-size:1.38rem;line-height:1.2}.hotel-card__heading p{flex:0 0 auto;margin:2px 0 0;color:var(--hotel-sea);font-size:1rem;text-align:right}.hotel-stats{display:grid;grid-template-columns:1.35fr 1fr 1fr;margin:23px 0 18px;border-block:1px solid var(--hotel-line)}.hotel-stats div{padding:15px 12px 15px 0}.hotel-stats div+div{padding-left:12px;border-left:1px solid var(--hotel-line)}.hotel-stats dt{margin-bottom:6px;color:var(--hotel-muted);font-size:.9rem}.hotel-stats dd{margin:0;font-size:1.08rem}.hotel-card__note{margin:0 0 14px;font-size:1rem;line-height:1.55}.hotel-card__amenities{margin:0;color:var(--hotel-muted);font-size:1rem;line-height:1.55}.hotel-card details{margin-top:19px;border-top:1px solid var(--hotel-line)}.hotel-card summary{padding-top:17px;color:var(--hotel-sea);cursor:pointer;font-size:1rem}.hotel-card details div{padding-top:12px}.hotel-card details p{margin:0;color:var(--hotel-muted);font-size:1rem;line-height:1.5}.hotel-card details p+p{margin-top:8px}.hotel-empty{padding:54px;border:1px solid var(--hotel-line);border-radius:22px;background:white;text-align:center}.hotel-empty p{color:var(--hotel-muted);font-size:1rem}.hotel-empty button{min-height:50px;padding:0 22px;border:1px solid var(--hotel-sea);border-radius:14px;background:white;color:var(--hotel-sea);cursor:pointer}
.hotel-method{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;margin-bottom:84px;padding:48px;border-radius:28px;background:var(--hotel-deep);color:white}.hotel-method p{margin:22px 0 0;color:#d8edf2;font-size:1.05rem;line-height:1.65}.hotel-method dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:rgba(255,255,255,.2)}.hotel-method dl div{padding:25px;background:var(--hotel-deep)}.hotel-method dt{color:var(--hotel-warm);font-size:2rem}.hotel-method dd{margin:8px 0 0;color:#d8edf2;font-size:1rem;line-height:1.35}
@media(max-width:1000px){.hotels-page .wrap{width:min(calc(100% - 64px),1280px)}.hotel-controls{grid-template-columns:1fr 1fr}.hotel-picks__grid{grid-template-columns:1fr 1fr}.hotel-picks article:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.hotel-picks article:nth-child(3) img{height:100%}.hotel-list{grid-template-columns:1fr}.hotel-method{gap:35px}}
@media(max-width:720px){.hotels-page .wrap{width:min(calc(100% - 48px),1280px)}.hotel-hero{min-height:600px}.hotel-hero__shade{background:linear-gradient(0deg,rgba(4,31,43,.9) 0%,rgba(4,31,43,.54) 67%,rgba(4,31,43,.16))}.hotel-hero__content{padding-block:34px 52px}.hotel-breadcrumbs{margin-bottom:100px}.hotel-hero h1{font-size:clamp(2.55rem,13vw,4rem);line-height:1}.hotel-hero p{font-size:1rem}.hotel-tools{width:calc(100% - 32px)!important;margin-top:-18px;padding:22px;border-radius:20px}.hotel-tools__intro,.hotel-picks__copy,.hotel-catalog__heading{display:block}.hotel-tools__intro p,.hotel-picks__copy p,.hotel-catalog__heading p{margin-top:14px}.hotel-controls{grid-template-columns:1fr}.hotel-picks{padding-top:58px}.hotel-picks__grid{grid-template-columns:1fr}.hotel-picks article:nth-child(3){grid-column:auto;display:flex}.hotel-picks article:nth-child(3) img{height:220px}.hotel-catalog{padding-top:36px}.hotel-card{grid-template-columns:50px 1fr;border-radius:18px}.hotel-card__number{padding-top:23px;font-size:1rem}.hotel-card__body{padding:21px 18px}.hotel-card__heading{display:block}.hotel-card__heading p{margin-top:8px;text-align:left}.hotel-stats{grid-template-columns:1fr 1fr}.hotel-stats div:first-child{grid-column:1/-1;border-bottom:1px solid var(--hotel-line)}.hotel-stats div:nth-child(2){padding-left:0;border-left:0}.hotel-method{grid-template-columns:1fr;gap:35px;margin-bottom:58px;padding:30px 24px;border-radius:22px}.hotel-method dl{grid-template-columns:1fr 1fr}.hotel-method dl div{padding:18px}.hotel-method dt{font-size:1.55rem}}
@media(prefers-reduced-motion:reduce){.hotels-page *{scroll-behavior:auto!important}}
.hotel-stats dt{font-size:1rem}
.hotel-hero h1{max-width:980px;font-size:clamp(3rem,5.6vw,5.35rem);line-height:1.02}
.hotel-hero p{max-width:760px}
.hotel-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.hotel-hero__actions a{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 20px;border:1px solid rgba(255,255,255,.72);border-radius:14px;color:white;font-size:1rem;text-decoration:none}
.hotel-hero__actions a:first-child{border-color:white;background:white;color:var(--hotel-deep)}
.hotel-hero__actions a:hover,.hotel-hero__actions a:focus-visible{outline:3px solid rgba(255,255,255,.3);outline-offset:3px}
.hotel-result-row{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:20px;margin-top:14px}
.hotel-result-row .hotel-result{margin:0}
.hotel-result-row button{min-height:48px;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--hotel-sea);cursor:pointer;font-size:1rem}
.hotel-result-row button:focus-visible{outline:3px solid rgba(11,120,145,.28);outline-offset:3px}
.hotel-card[data-rank="1"] .hotel-card__number,.hotel-card[data-rank="2"] .hotel-card__number,.hotel-card[data-rank="3"] .hotel-card__number{background:linear-gradient(180deg,#c77d23,#9c5510)}
.hotel-card__image{display:block;width:calc(100% + 50px);height:220px;margin:-25px -25px 22px;object-fit:cover;background:var(--hotel-sky)}
@media(max-width:720px){.hotel-hero h1{font-size:clamp(2.3rem,10.8vw,3.15rem);line-height:1.04}.hotel-hero__actions{display:grid;grid-template-columns:1fr;margin-top:22px}.hotel-hero__actions a{width:100%}.hotel-result-row{align-items:flex-start;flex-direction:column;gap:4px}.hotel-tools{margin-bottom:10px}}
@media(max-width:720px){.hotel-card__image{width:calc(100% + 36px);height:180px;margin:-21px -18px 20px}}
