@charset "UTF-8";
:root { --bilito-results-blue: #3973f6; --bilito-results-navy: #102d70; --bilito-results-bg: #f4f6fa; --bilito-results-muted: #8390aa; --bilito-results-line: #e2e6ee; }
.bilito-hotel-results-page { background: var(--bilito-results-bg); }
.bilito-hotel-results { color: var(--bilito-results-navy); background: var(--bilito-results-bg); }
.bilito-results-search-wrap { position: relative; min-height: 112px; padding: 32px 0 0; background: #102b6e; }
.bilito-results-search { position: relative; z-index: 8; padding: 11px; background: #fff; border: 1px solid #dce2ed; border-radius: 13px; box-shadow: 0 3px 10px rgb(13 42 105 / 10%), inset 0 0 0 5px #f6f7f9; }
.bilito-results-search__fields { display: grid; grid-template-columns: 1.1fr 1.45fr .8fr 130px; gap: 10px; }
.bilito-results-search__dates { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bilito-results-search .bilito-search__field { height: 58px; }
.bilito-results-search .bilito-search__field--hotel-guests > button { margin-top: 9px; }
.bilito-results-search__submit { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; gap: 9px; color: #fff; font-weight: 800; border: 0; border-radius: 9px; background: var(--bilito-results-blue); box-shadow: 0 7px 17px rgb(57 115 246 / 25%); cursor: pointer; }
.bilito-results-search__submit svg { width: 22px; height: 22px; fill: none; stroke: currentcolor; stroke-width: 1.8; }
.bilito-booking-steps { display: grid; margin: 28px 0 30px; grid-template-columns: repeat(5, 1fr); }
.bilito-booking-steps span { position: relative; display: grid; justify-items: center; gap: 8px; color: #929eb4; font-size: 11px; text-align: center; }
.bilito-booking-steps span::after { position: absolute; top: 14px; right: calc(50% + 18px); width: calc(100% - 36px); height: 1px; content: ""; background: #dce1ea; transform: translateX(100%); }
.bilito-booking-steps span:first-child::after { display: none; }
.bilito-booking-steps i { position: relative; z-index: 1; display: grid; width: 30px; height: 30px; color: #9aa6ba; font-style: normal; background: #e9edf4; border-radius: 50%; place-items: center; }
.bilito-booking-steps span.is-active { color: var(--bilito-results-blue); font-weight: 800; }
.bilito-booking-steps span.is-active i { color: #fff; background: var(--bilito-results-blue); }
.bilito-results-layout { display: grid; grid-template-columns: 285px minmax(0, 1fr); gap: 18px; align-items: start; }
.bilito-results-filters { position: sticky; top: 72px; background: #fff; border: 1px solid #e3e7ef; border-radius: 12px; box-shadow: 0 4px 16px rgb(16 45 112 / 5%); }
.bilito-results-filters > header { display: flex; min-height: 58px; padding: 0 16px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--bilito-results-line); }
.bilito-results-filters h2 { margin: 0; font-size: 17px; }
.bilito-results-filters header span { color: #919db4; font-size: 10px; }
.bilito-results-filters [data-filter-close] { display: none; border: 0; background: transparent; font-size: 25px; }
.bilito-results-filters details { border-bottom: 1px solid var(--bilito-results-line); }
.bilito-results-filters details:last-of-type { border-bottom: 0; }
.bilito-results-filters summary { padding: 15px 16px; font-size: 12px; font-weight: 800; cursor: pointer; list-style: none; }
.bilito-results-filters summary::after { float: left; width: 22px; height: 22px; color: var(--bilito-results-blue); text-align: center; content: "⌃"; background: #edf3ff; border-radius: 5px; }
.bilito-results-filters details:not([open]) summary::after { content: "⌄"; }
.bilito-filter-price { display: grid; padding: 0 16px 16px; grid-template-columns: 1fr 1fr; gap: 8px; }
.bilito-filter-price label { position: relative; display: grid; gap: 5px; color: #78869f; font-size: 9px; }
.bilito-filter-price input, .bilito-filter-search input { width: 100%; min-width: 0; height: 40px; padding: 0 8px; color: var(--bilito-results-navy); border: 1px solid #dfe4ec; border-radius: 7px; background: #fff; }
.bilito-filter-price small { position: absolute; bottom: 12px; left: 7px; color: #9aa5b8; font-size: 8px; pointer-events: none; }
.bilito-filter-stars, .bilito-filter-checks, .bilito-filter-rating { display: grid; padding: 0 16px 15px; gap: 8px; }
.bilito-filter-stars { grid-template-columns: 1fr 1fr; }
.bilito-filter-stars label, .bilito-filter-checks label, .bilito-filter-rating label { display: flex; min-height: 37px; padding: 7px 8px; align-items: center; gap: 6px; color: #536582; font-size: 10px; border: 1px solid #e0e5ed; border-radius: 6px; cursor: pointer; }
.bilito-results-filters input[type="checkbox"], .bilito-results-filters input[type="radio"] { accent-color: var(--bilito-results-blue); }
.bilito-filter-search { position: relative; display: block; padding: 0 16px 16px; }
.bilito-filter-search input { padding-left: 38px; }
.bilito-filter-search svg { position: absolute; bottom: 25px; left: 26px; width: 18px; height: 18px; fill: none; stroke: #8b98b0; stroke-width: 1.6; }
.bilito-filter-rating label span { display: flex; width: 100%; justify-content: space-between; }
.bilito-filter-rating small { color: #a0aabd; }
.bilito-filter-actions { display: grid; padding: 15px; gap: 8px; }
.bilito-filter-actions button, .bilito-filter-actions a { min-height: 40px; padding: 9px; text-align: center; border-radius: 6px; }
.bilito-filter-actions button { color: #fff; font-weight: 800; border: 0; background: var(--bilito-results-blue); cursor: pointer; }
.bilito-filter-actions a { color: var(--bilito-results-blue); border: 1px solid var(--bilito-results-blue); }
.bilito-results-filter-toggle { display: none; }
.bilito-results-content { min-width: 0; }
.bilito-results-toolbar { display: flex; min-height: 50px; margin-bottom: 12px; padding: 7px 14px; align-items: center; gap: 14px; background: #fff; border: 1px solid #e1e6ef; border-radius: 8px; }
.bilito-results-toolbar > span { color: #7f8ca3; font-size: 11px; }
.bilito-results-toolbar nav { display: grid; flex: 1; grid-template-columns: repeat(4, 1fr); }
.bilito-results-toolbar a { padding: 9px 14px; color: #71809b; font-size: 10px; text-align: center; border-radius: 6px; }
.bilito-results-toolbar a.is-active { color: var(--bilito-results-navy); font-weight: 800; background: #f0f3f8; }
.bilito-results-note { margin: 0 0 16px; color: #8d99ae; font-size: 10px; }
.bilito-hotel-result-list { display: grid; gap: 15px; }
.bilito-result-card { display: grid; min-height: 252px; padding: 12px; background: #fff; border: 1px solid #e4e8ef; border-radius: 13px; box-shadow: 0 3px 14px rgb(16 45 112 / 4%); grid-template-columns: 255px minmax(0, 1fr) 205px; grid-template-areas: "media info price"; gap: 15px; }
.bilito-result-card__media { position: relative; overflow: hidden; border-radius: 10px; grid-area: media; }
.bilito-result-card__media > a, .bilito-result-card__media img { display: block; width: 100%; height: 100%; min-height: 226px; object-fit: cover; }
.bilito-result-card__media button { position: absolute; top: 10px; left: 10px; display: grid; width: 34px; height: 34px; padding: 0; color: var(--bilito-results-blue); border: 0; border-radius: 8px; background: #fff; box-shadow: 0 3px 10px rgb(16 45 112 / 14%); cursor: pointer; place-items: center; }
.bilito-result-card__media button svg { width: 20px; height: 20px; fill: none; stroke: currentcolor; stroke-width: 1.7; }
.bilito-result-card__media button.is-active svg { fill: var(--bilito-results-blue); }
.bilito-result-card__info { min-width: 0; padding: 5px 0; grid-area: info; }
.bilito-result-card__info h2 { margin: 0 0 10px; font-size: 15px; line-height: 1.7; }
.bilito-result-card__info h2 a { color: var(--bilito-results-navy); }
.bilito-result-card__info h2 span { margin-right: 7px; color: #ffae22; font-size: 13px; letter-spacing: 1px; white-space: nowrap; }
.bilito-result-card__location { margin: 0 0 12px; color: #71809b; font-size: 10px; }
.bilito-result-card__location a { margin-right: 8px; color: var(--bilito-results-blue); font-weight: 700; }
.bilito-result-card__rating { display: flex; margin-bottom: 13px; align-items: center; gap: 7px; }
.bilito-result-card__rating strong { padding: 6px 8px; color: #fff; background: var(--bilito-results-blue); border-radius: 6px; }
.bilito-result-card__rating b { font-size: 11px; }
.bilito-result-card__rating span { color: #8b97ac; font-size: 9px; }
.bilito-result-card__info ul { display: flex; margin: 0 0 13px; padding: 0; flex-wrap: wrap; gap: 7px 14px; list-style: none; }
.bilito-result-card__info li { color: #536887; font-size: 10px; }
.bilito-result-card__info li::before { margin-left: 5px; color: var(--bilito-results-blue); content: "✓"; }
.bilito-result-card__cancel { margin: 0; color: #159363; font-size: 10px; font-weight: 800; }
.bilito-result-card__price { display: grid; align-content: center; padding: 15px; text-align: center; border: 1px solid #e1e6ee; border-radius: 9px; grid-area: price; }
.bilito-result-card__price > span { margin-bottom: 5px; color: #8490a7; font-size: 9px; }
.bilito-result-card__price > strong { color: var(--bilito-results-blue); font-size: 17px; }
.bilito-result-card__price > small { min-height: 33px; margin: 5px 0 9px; color: #697994; font-size: 8px; line-height: 1.7; }
.bilito-result-card__price > a, .bilito-result-card__price > button { min-height: 39px; margin-top: 7px; padding: 9px 6px; color: var(--bilito-results-blue); font: inherit; font-size: 10px; font-weight: 800; border: 1px solid var(--bilito-results-blue); border-radius: 6px; background: #fff; cursor: pointer; }
.bilito-result-card__price > a.is-primary { color: #fff; background: var(--bilito-results-blue); }
.bilito-result-card__price em { margin-top: 8px; color: #a1a9b8; font-size: 7px; font-style: normal; }
.bilito-results-empty { padding: 60px 20px; text-align: center; background: #fff; border: 1px dashed #ccd4e0; border-radius: 12px; }
.bilito-results-empty h2 { margin: 0 0 8px; }
.bilito-results-empty p { color: #76839b; }
.bilito-results-empty a { display: inline-block; padding: 9px 15px; color: #fff; background: var(--bilito-results-blue); border-radius: 6px; }
.bilito-results-pagination { margin-top: 20px; }
.bilito-results-pagination ul { display: flex; min-height: 52px; margin: 0; padding: 8px 14px; align-items: center; justify-content: center; gap: 8px; background: #fff; border-radius: 9px; list-style: none; }
.bilito-results-pagination a, .bilito-results-pagination span { display: grid; min-width: 34px; height: 34px; padding: 0 9px; color: #71809b; border-radius: 6px; place-items: center; }
.bilito-results-pagination .current { color: #fff; background: var(--bilito-results-blue); }
.bilito-results-cta { position: relative; display: grid; min-height: 260px; margin: 70px 0 60px; overflow: hidden; color: #fff; text-align: center; border-radius: 12px; background-color: var(--bilito-results-blue); background-image: radial-gradient(circle, rgb(15 50 130 / 18%) 3px, transparent 3.5px); background-size: 42px 42px; place-items: center; }
.bilito-results-cta img { width: auto; max-width: 95px; max-height: 40px; filter: brightness(0) invert(1); }
.bilito-results-cta h2 { margin: 8px 0; font-size: 25px; }
.bilito-results-cta p { margin: 0 0 14px; font-size: 12px; }
.bilito-results-cta a { display: inline-flex; min-height: 39px; padding: 8px 14px; color: var(--bilito-results-blue); font-size: 10px; font-weight: 800; background: #fff; border-radius: 6px; align-items: center; }

@media (max-width: 1020px) {
	.bilito-results-search__fields { grid-template-columns: 1fr 1.4fr 1fr 110px; }
	.bilito-results-layout { grid-template-columns: 250px minmax(0, 1fr); }
	.bilito-result-card { grid-template-columns: 210px minmax(0, 1fr); grid-template-areas: "media info" "price price"; }
	.bilito-result-card__price { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 8px; }
	.bilito-result-card__price > span, .bilito-result-card__price > strong, .bilito-result-card__price > small { grid-column: 1; }
	.bilito-result-card__price > a, .bilito-result-card__price > button { grid-row: 1 / 4; }
	.bilito-result-card__price > a.is-primary { grid-column: 2; }
	.bilito-result-card__price > a:not(.is-primary), .bilito-result-card__price > button { grid-column: 3; }
	.bilito-result-card__price em { display: none; }
}

@media (max-width: 820px) {
	.bilito-results-search-wrap { padding: 15px 0; }
	.bilito-results-search__fields { grid-template-columns: 1fr 1fr; }
	.bilito-results-search__dates { grid-column: 1 / -1; }
	.bilito-results-search__submit { min-height: 52px; }
	.bilito-booking-steps { overflow-x: auto; grid-template-columns: repeat(5, 150px); }
	.bilito-results-layout { display: block; }
	.bilito-results-filter-toggle { display: inline-flex; min-height: 42px; margin-bottom: 12px; padding: 8px 15px; align-items: center; gap: 7px; color: var(--bilito-results-blue); font-weight: 800; border: 1px solid var(--bilito-results-blue); border-radius: 7px; background: #fff; }
	.bilito-results-filter-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentcolor; }
	.bilito-results-filters { position: fixed; top: 0; right: 0; z-index: 99999; width: min(360px, 92vw); height: 100vh; overflow-y: auto; border-radius: 0; transform: translateX(105%); transition: transform .25s ease; }
	.bilito-results-filters.is-open { transform: translateX(0); }
	.bilito-results-filters [data-filter-close] { display: block; }
	body.bilito-filter-open::after { position: fixed; inset: 0; z-index: 99998; content: ""; background: rgb(5 14 34 / 55%); }
}

@media (max-width: 620px) {
	.bilito-results-search__fields, .bilito-results-search__dates { grid-template-columns: 1fr; }
	.bilito-results-search__dates { grid-column: auto; }
	.bilito-results-toolbar { align-items: flex-start; flex-direction: column; }
	.bilito-results-toolbar nav { width: 100%; overflow-x: auto; grid-template-columns: repeat(4, 120px); }
	.bilito-result-card { grid-template-columns: 1fr; grid-template-areas: "media" "info" "price"; }
	.bilito-result-card__media { height: 220px; }
	.bilito-result-card__media img { min-height: 220px; }
	.bilito-result-card__price { display: grid; grid-template-columns: 1fr 1fr; }
	.bilito-result-card__price > span, .bilito-result-card__price > strong, .bilito-result-card__price > small { grid-column: 1 / -1; }
	.bilito-result-card__price > a, .bilito-result-card__price > button, .bilito-result-card__price > a.is-primary, .bilito-result-card__price > a:not(.is-primary) { grid-row: auto; grid-column: auto; }
	.bilito-booking-steps { margin-bottom: 18px; }
	.bilito-results-cta { min-height: 220px; margin-top: 45px; padding: 20px; }
}

body.bilito-hotel-spec-open { overflow: hidden; }
.bilito-hotel-spec[hidden], .bilito-hotel-spec__panel[hidden] { display: none !important; }
.bilito-hotel-spec { position: fixed; inset: 0; z-index: 100000; display: grid; padding: 16px; overflow: hidden; background: rgb(9 22 50 / 58%); opacity: 0; transition: opacity .22s ease; place-items: center; }
.bilito-hotel-spec.is-open { opacity: 1; }
.bilito-hotel-spec__dialog { position: relative; display: grid; width: min(1180px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: hidden; color: #173676; border: 1px solid #dce2ed; border-radius: 28px; background: #f2f4f8; box-shadow: 0 28px 80px rgb(8 26 65 / 28%); grid-template-rows: auto minmax(0, 1fr); transform: translateY(18px) scale(.985); transition: transform .22s ease; }
.bilito-hotel-spec.is-open .bilito-hotel-spec__dialog { transform: translateY(0) scale(1); }
.bilito-hotel-spec__close { position: absolute; top: 26px; left: 26px; z-index: 6; display: grid; width: 46px; height: 46px; padding: 0 0 4px; color: #173676; font-size: 34px; font-weight: 300; line-height: 1; border: 1px solid #cfd7e5; border-radius: 11px; background: #e9edf4; cursor: pointer; place-items: center; }
.bilito-hotel-spec__close:hover, .bilito-hotel-spec__close:focus-visible { color: #fff; border-color: var(--bilito-results-blue); outline: 0; background: var(--bilito-results-blue); }
.bilito-hotel-spec__header { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bilito-hotel-spec__tabs { display: grid; min-height: 112px; padding: 70px 26px 0; border-bottom: 1px solid #d7dde8; grid-template-columns: repeat(5, minmax(130px, 1fr)); }
.bilito-hotel-spec__tabs button { position: relative; min-height: 54px; padding: 10px 15px; color: #173676; font: inherit; font-size: 17px; font-weight: 800; border: 0; border-radius: 12px 12px 0 0; background: transparent; cursor: pointer; }
.bilito-hotel-spec__tabs button::after { position: absolute; right: 18%; bottom: -1px; left: 18%; height: 3px; border-radius: 3px; background: transparent; content: ""; }
.bilito-hotel-spec__tabs button.is-active { color: var(--bilito-results-blue); background: #e4eaf8; }
.bilito-hotel-spec__tabs button.is-active::after { background: var(--bilito-results-blue); }
.bilito-hotel-spec__tabs button:focus-visible { outline: 2px solid var(--bilito-results-blue); outline-offset: -3px; }
.bilito-hotel-spec__body { min-height: 0; padding: 28px 26px 34px; overflow-y: auto; scrollbar-color: #b9c4d8 transparent; scrollbar-width: thin; }
.bilito-hotel-spec__panel { animation: bilito-spec-panel .22s ease; }
@keyframes bilito-spec-panel { from { opacity: .25; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.bilito-hotel-spec__title { display: flex; min-height: 88px; margin-bottom: 18px; padding: 20px 26px; align-items: center; justify-content: flex-start; background: #fff; border: 1px solid #e0e5ed; border-radius: 15px; }
.bilito-hotel-spec__title h3 { position: relative; margin: 0; padding-right: 47px; color: #173676; font-size: 25px; }
.bilito-hotel-spec__title h3::before { position: absolute; top: 50%; right: 0; width: 35px; height: 4px; border-radius: 3px; background: #c9dbff; content: ""; transform: translateY(-50%); }
.bilito-spec-gallery, .bilito-spec-intro, .bilito-spec-amenities, .bilito-spec-rules, .bilito-spec-review-list, .bilito-spec-review-form-wrap, .bilito-spec-intro-location { padding: 24px; border: 1px solid #e0e5ed; border-radius: 16px; background: #fff; }
.bilito-spec-gallery { padding: 0; border: 0; background: transparent; }
.bilito-spec-gallery__stage { position: relative; min-height: 0; overflow: hidden; aspect-ratio: 1.95 / 1; border-radius: 13px; background: #e9edf4; }
.bilito-spec-gallery__stage figure { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .3s ease; pointer-events: none; }
.bilito-spec-gallery__stage figure.is-active { opacity: 1; pointer-events: auto; }
.bilito-spec-gallery__stage img { width: 100%; height: 100%; object-fit: cover; }
.bilito-spec-gallery__stage > button { position: absolute; top: 50%; z-index: 2; display: grid; width: 44px; height: 44px; padding: 0 0 3px; color: var(--bilito-results-blue); font-size: 30px; border: 1px solid #d4dbea; border-radius: 9px; background: rgb(255 255 255 / 96%); box-shadow: 0 5px 18px rgb(12 43 101 / 16%); cursor: pointer; transform: translateY(-50%); place-items: center; }
.bilito-spec-gallery__stage > button.is-prev { right: 16px; }
.bilito-spec-gallery__stage > button.is-next { left: 16px; }
.bilito-spec-gallery__count { position: absolute; bottom: 15px; left: 15px; z-index: 2; display: flex; min-height: 34px; padding: 5px 10px; align-items: center; color: #fff; font-size: 13px; border-radius: 8px; background: rgb(255 255 255 / 28%); backdrop-filter: blur(5px); gap: 4px; }
.bilito-spec-gallery__count svg { width: 20px; height: 20px; margin-right: 4px; fill: none; stroke: currentcolor; stroke-width: 1.8; }
.bilito-spec-gallery__thumbs { display: grid; margin-top: 14px; padding-bottom: 2px; overflow-x: auto; scrollbar-width: thin; grid-auto-columns: calc((100% - 48px) / 5); grid-auto-flow: column; gap: 12px; }
.bilito-spec-gallery__thumbs button { height: 105px; padding: 3px; overflow: hidden; border: 2px solid transparent; border-radius: 12px; background: #eef1f6; cursor: pointer; }
.bilito-spec-gallery__thumbs button.is-active { border-color: var(--bilito-results-blue); }
.bilito-spec-gallery__thumbs img { width: 100%; height: 100%; border-radius: 7px; object-fit: cover; }
.bilito-spec-intro { padding: 28px 24px 23px; }
.bilito-spec-intro__header { display: block; padding-bottom: 24px; border-bottom: 1px solid #d7deea; }
.bilito-spec-intro__identity { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; }
.bilito-spec-intro__identity h3 { margin: 0; font-size: 25px; }
.bilito-spec-intro__stars { color: #ffab17; font-size: 27px; line-height: 1; letter-spacing: 2px; }
.bilito-spec-intro__star-label { padding: 10px 13px; color: #f29a0c; font-size: 16px; border-radius: 7px; background: #fff6e6; }
.bilito-spec-intro__rating { display: flex; margin-top: 18px; align-items: center; gap: 11px; }
.bilito-spec-intro__rating strong { padding: 8px 14px; color: #fff; font-size: 21px; border-radius: 8px; background: var(--bilito-results-blue); }
.bilito-spec-intro__rating b { font-size: 19px; }
.bilito-spec-intro__rating button { padding: 5px 0; color: var(--bilito-results-blue); font: inherit; font-weight: 800; border: 0; background: transparent; cursor: pointer; }
.bilito-spec-intro h4, .bilito-spec-intro-location > h3 { position: relative; margin: 0 0 18px; padding-right: 48px; font-size: 22px; }
.bilito-spec-intro h4::before, .bilito-spec-intro-location > h3::before { position: absolute; top: 50%; right: 0; width: 36px; height: 4px; border-radius: 4px; background: #c9dbff; content: ""; }
.bilito-spec-intro__about { margin-top: 26px; }
.bilito-spec-intro__about > div { padding: 22px 24px; color: #52698f; font-size: 15px; line-height: 2.15; border: 1px solid #e0e8f7; border-radius: 12px; background: #f5f8ff; }
.bilito-spec-intro__about p { margin: 0; }
.bilito-spec-intro__featured { margin-top: 26px; }
.bilito-spec-intro__featured > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 25px; }
.bilito-spec-intro__featured span { display: flex; min-width: 0; align-items: center; gap: 9px; }
.bilito-spec-intro__featured svg, .bilito-spec-amenities header svg { flex: 0 0 27px; width: 27px; height: 27px; fill: none; stroke: var(--bilito-results-blue); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bilito-spec-intro__featured b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bilito-spec-intro-location { margin-top: 20px; }
.bilito-spec-intro-location__content { display: grid; align-items: start; grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr); gap: 35px; }
.bilito-spec-intro-location aside { overflow: hidden; padding: 10px; border: 1px solid #d8e0ed; border-radius: 13px; }
.bilito-spec-intro-location iframe, .bilito-spec-intro-location__placeholder { width: 100%; height: 220px; border: 0; border-radius: 9px; }
.bilito-spec-intro-location__placeholder { display: grid; color: #7a88a1; background: #eef2f7; place-items: center; }
.bilito-spec-intro-location address { margin-top: 11px; color: #637493; font-style: normal; line-height: 1.8; }
.bilito-spec-intro-location a { display: inline-block; margin-top: 8px; color: var(--bilito-results-blue); font-weight: 800; text-decoration: none; }
.bilito-spec-intro-location ul { display: grid; margin: 0; padding: 8px 0; gap: 16px; list-style: none; }
.bilito-spec-intro-location li { display: flex; align-items: center; justify-content: space-between; color: #344f83; gap: 18px; }
.bilito-spec-intro-location li span { display: flex; align-items: center; gap: 8px; }
.bilito-spec-intro-location li svg { width: 24px; height: 24px; fill: none; stroke: var(--bilito-results-blue); stroke-width: 1.8; }
.bilito-spec-intro-location li b { flex: 0 0 auto; color: #5f7191; }
.bilito-spec-amenities { display: block; padding: 28px 50px; column-count: 2; column-gap: 80px; }
.bilito-spec-amenities article { display: inline-block; width: 100%; margin: 0 0 28px; break-inside: avoid; }
.bilito-spec-amenities article header { display: flex; margin-bottom: 13px; align-items: center; gap: 9px; }
.bilito-spec-amenities h4 { margin: 0; color: #173676; font-size: 18px; }
.bilito-spec-amenities ul { display: grid; margin: 0; padding: 0 36px 0 0; gap: 9px; list-style: none; }
.bilito-spec-amenities li { position: relative; padding-right: 13px; color: #29477f; line-height: 1.8; }
.bilito-spec-amenities li::before { position: absolute; top: 0; right: 0; color: #aeb9ca; content: "–"; }
.bilito-spec-rules { display: block; }
.bilito-spec-rules__inner { padding: 0 18px; border: 1px solid #dce3ee; border-radius: 11px; }
.bilito-spec-rule-row { display: grid; min-height: 86px; padding: 19px 8px; align-items: start; border-bottom: 1px solid #dce3ee; grid-template-columns: 285px minmax(0, 1fr); gap: 28px; }
.bilito-spec-rule-row:last-child { border-bottom: 0; }
.bilito-spec-rule-row header { display: flex; align-items: center; gap: 10px; }
.bilito-spec-rule-row header svg { flex: 0 0 23px; width: 23px; height: 23px; fill: none; stroke: var(--bilito-results-blue); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bilito-spec-rule-row h4 { margin: 0; color: #173676; font-size: 15px; }
.bilito-spec-rule-row ul { display: grid; margin: 0; padding: 0; color: #29477f; gap: 9px; list-style: none; }
.bilito-spec-rule-row li { position: relative; padding-right: 14px; line-height: 1.9; }
.bilito-spec-rule-row li::before { position: absolute; top: 0; right: 0; content: "–"; }
.bilito-spec-review-summary { margin-bottom: 20px; padding: 28px 46px; border: 1px solid #d4dceb; border-radius: 16px; background: #f1f3f7; box-shadow: inset 0 0 0 8px #fff; }
.bilito-spec-review-summary > header { display: flex; margin-bottom: 22px; align-items: center; gap: 12px; }
.bilito-spec-review-summary > header strong { padding: 10px 18px; color: #fff; font-size: 21px; background: var(--bilito-results-blue); border-radius: 9px; }
.bilito-spec-review-summary > header b { font-size: 21px; }
.bilito-spec-review-summary > header span { color: #6e7e9c; font-size: 15px; }
.bilito-spec-review-summary h4 { margin: 0 0 18px; }
.bilito-spec-review-summary > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 30px; }
.bilito-spec-review-summary article { display: grid; grid-template-columns: 1fr auto; gap: 9px 15px; }
.bilito-spec-review-summary article span, .bilito-spec-review-summary article b { font-size: 13px; }
.bilito-spec-review-summary article progress { width: 100%; height: 5px; overflow: hidden; border: 0; border-radius: 9px; background: #d9e0ed; grid-column: 1 / -1; }
.bilito-spec-review-summary progress::-webkit-progress-bar { background: #d9e0ed; border-radius: 9px; }
.bilito-spec-review-summary progress::-webkit-progress-value { background: var(--bilito-results-blue); border-radius: 9px; }
.bilito-spec-review-summary progress::-moz-progress-bar { background: var(--bilito-results-blue); border-radius: 9px; }
.bilito-spec-review-list { display: grid; padding: 0; overflow: hidden; gap: 18px; border: 0; background: transparent; }
.bilito-spec-review { display: grid; padding: 12px; border: 1px solid #e1e6ef; border-radius: 16px; background: #eff2f7; grid-template-columns: 280px minmax(0, 1fr); gap: 16px; }
.bilito-spec-review > aside { padding: 18px; border: 1px solid #d8e0ee; border-radius: 12px; background: #fff; }
.bilito-spec-review > aside img { float: right; width: 62px; height: 62px; margin: 0 0 12px 12px; border-radius: 50%; }
.bilito-spec-review > aside h4 { margin: 5px 0; font-size: 16px; }
.bilito-spec-review > aside p { margin: 0 0 14px; color: #7886a0; }
.bilito-spec-review > aside span { display: block; clear: both; margin-top: 9px; color: #344f83; font-size: 13px; }
.bilito-spec-review__content { min-width: 0; padding: 18px 16px; }
.bilito-spec-review__content > header { display: flex; margin-bottom: 13px; align-items: center; justify-content: space-between; gap: 15px; }
.bilito-spec-review__content > header > div { display: flex; align-items: center; gap: 10px; }
.bilito-spec-review__content > header strong { padding: 7px 11px; color: #fff; background: var(--bilito-results-blue); border-radius: 7px; }
.bilito-spec-review__content time { color: #71819e; font-size: 13px; }
.bilito-spec-review__text { display: -webkit-box; overflow: hidden; color: #657694; line-height: 2; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.bilito-spec-review__text.is-expanded { display: block; }
.bilito-spec-review__content > button { padding: 5px 0; color: var(--bilito-results-blue); font: inherit; font-weight: 800; border: 0; background: transparent; cursor: pointer; }
.bilito-spec-review__scores { display: grid; margin-top: 12px; padding-top: 12px; border-top: 1px dashed #ccd5e4; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px 20px; }
.bilito-spec-review__scores span { display: flex; justify-content: space-between; gap: 9px; color: #596d91; font-size: 12px; }
.bilito-spec-review-form-wrap { margin-top: 28px; background: #eff2f7; }
.bilito-spec-review-form-wrap > h3 { position: relative; margin: 0 0 22px; padding-right: 43px; font-size: 22px; }
.bilito-spec-review-form-wrap > h3::before { position: absolute; top: 50%; right: 0; width: 31px; height: 4px; border-radius: 4px; background: #c9dbff; content: ""; }
.bilito-spec-review-form-wrap form { display: grid; grid-template-columns: 1fr 1.15fr; gap: 18px; }
.bilito-spec-review-form__details, .bilito-spec-review-form__comment { padding: 20px; background: #fff; border-radius: 14px; }
.bilito-spec-review-form-wrap label { display: grid; margin-bottom: 13px; color: #173676; font-size: 13px; font-weight: 800; gap: 7px; }
.bilito-spec-review-form-wrap input, .bilito-spec-review-form-wrap select, .bilito-spec-review-form-wrap textarea { width: 100%; min-height: 48px; padding: 9px 13px; color: #173676; font: inherit; border: 1px solid #dce2ec; border-radius: 8px; outline: 0; background: #f4f6fa; }
.bilito-spec-review-form-wrap input:focus, .bilito-spec-review-form-wrap select:focus, .bilito-spec-review-form-wrap textarea:focus { border-color: var(--bilito-results-blue); box-shadow: 0 0 0 3px rgb(57 115 246 / 10%); }
.bilito-spec-review-form-wrap textarea { min-height: 170px; resize: vertical; }
.bilito-spec-review-form__ratings { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.bilito-spec-review-form__comment > button { min-height: 46px; padding: 9px 20px; color: #fff; font: inherit; font-weight: 800; border: 0; border-radius: 8px; background: var(--bilito-results-blue); cursor: pointer; }
.bilito-spec-review-form__comment > button:disabled { cursor: wait; opacity: .55; }
.bilito-spec-review-form__message { min-height: 24px; margin: 12px 0 0; font-size: 13px; }
.bilito-spec-review-form__message.is-success { color: #128058; }
.bilito-spec-review-form__message.is-error { color: #c83b4b; }
.bilito-spec-review-form__user { margin: 0 0 14px; padding: 14px; color: #53698e; background: #f1f4fa; border-radius: 8px; }
.bilito-spec-empty { margin: 0; padding: 25px; color: #7787a3; text-align: center; border: 1px dashed #cfd7e4; border-radius: 11px; background: #fff; }

@media (max-width: 900px) {
	.bilito-hotel-spec__dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
	.bilito-hotel-spec__tabs { overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; grid-template-columns: repeat(5, 175px); }
	.bilito-hotel-spec__tabs::-webkit-scrollbar { display: none; }
	.bilito-spec-gallery__stage { min-height: 380px; }
	.bilito-spec-intro__featured > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bilito-spec-intro-location__content { grid-template-columns: 1fr; }
	.bilito-spec-amenities { padding-inline: 30px; column-gap: 40px; }
	.bilito-spec-review { grid-template-columns: 220px minmax(0, 1fr); }
	.bilito-spec-review-summary > div, .bilito-spec-review__scores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bilito-spec-review-form-wrap form { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
	.bilito-hotel-spec { padding: 0; }
	.bilito-hotel-spec__dialog { width: 100%; max-height: 100vh; height: 100vh; border: 0; border-radius: 0; }
	.bilito-hotel-spec__close { position: fixed; top: 13px; left: 13px; width: 40px; height: 40px; font-size: 29px; }
	.bilito-hotel-spec__tabs { min-height: 78px; padding: 47px 9px 0; grid-template-columns: repeat(5, 130px); }
	.bilito-hotel-spec__tabs button { min-height: 43px; padding: 7px; font-size: 13px; border-radius: 8px 8px 0 0; }
	.bilito-hotel-spec__body { padding: 14px 12px 25px; }
	.bilito-hotel-spec__title { min-height: 65px; margin-bottom: 12px; padding: 13px 16px; }
	.bilito-hotel-spec__title h3 { padding-right: 34px; font-size: 18px; }
	.bilito-hotel-spec__title h3::before { width: 25px; height: 3px; }
	.bilito-spec-gallery, .bilito-spec-intro, .bilito-spec-amenities, .bilito-spec-rules, .bilito-spec-review-form-wrap, .bilito-spec-intro-location { padding: 13px; border-radius: 12px; }
	.bilito-spec-gallery { padding: 0; border: 0; }
	.bilito-spec-gallery__stage { min-height: 265px; }
	.bilito-spec-gallery__thumbs { grid-auto-columns: calc((100% - 16px) / 3); gap: 8px; }
	.bilito-spec-gallery__thumbs button { height: 70px; }
	.bilito-spec-intro__identity { align-items: flex-start; flex-direction: column; }
	.bilito-spec-intro__identity h3 { font-size: 18px; line-height: 1.8; }
	.bilito-spec-intro__stars { font-size: 21px; }
	.bilito-spec-intro__rating { align-items: flex-start; flex-wrap: wrap; }
	.bilito-spec-intro h4, .bilito-spec-intro-location > h3 { padding-right: 34px; font-size: 18px; }
	.bilito-spec-intro h4::before, .bilito-spec-intro-location > h3::before { width: 25px; height: 3px; }
	.bilito-spec-intro__about > div { padding: 16px; font-size: 13px; }
	.bilito-spec-intro__featured > div { grid-template-columns: 1fr; }
	.bilito-spec-intro-location iframe, .bilito-spec-intro-location__placeholder { height: 190px; }
	.bilito-spec-intro-location li { align-items: flex-start; flex-direction: column; gap: 4px; }
	.bilito-spec-amenities { padding: 20px; column-count: 1; }
	.bilito-spec-rules { padding: 10px; }
	.bilito-spec-rules__inner { padding: 0 8px; }
	.bilito-spec-rule-row { grid-template-columns: 1fr; gap: 11px; }
	.bilito-spec-review-summary { padding: 25px 18px; box-shadow: inset 0 0 0 5px #fff; }
	.bilito-spec-review-summary > header { align-items: flex-start; flex-wrap: wrap; }
	.bilito-spec-review-summary > div { grid-template-columns: 1fr; }
	.bilito-spec-review { grid-template-columns: 1fr; }
	.bilito-spec-review > aside { min-height: 118px; }
	.bilito-spec-review__content { padding: 10px 5px; }
	.bilito-spec-review__content > header { align-items: flex-start; flex-direction: column; }
	.bilito-spec-review__scores, .bilito-spec-review-form__ratings { grid-template-columns: 1fr; }
	.bilito-spec-review-form-wrap > h3 { font-size: 19px; }
}
