/* Shared accommodation presentation, matching the Android cards and sheets. */
.evont-stay-badges {
    position: absolute; top: 10px; right: 10px; display: flex; align-items: center; gap: 6px;
    color: white; font: 700 10px/1.4 sans-serif; text-shadow: 0 1px 3px #000;
}
.evont-stay-premium { color: #ffd700; font-size: 13px; }
.evont-stay-distance {
    position: absolute; bottom: 10px; left: 10px; z-index: 2; color: #fff;
    font: 700 11px/1.4 sans-serif; text-shadow: 0 1px 4px #000;
}
.evont-stay-info {
    width: 36px; height: 36px; flex-shrink: 0; padding: 0; border: 0; border-radius: 50%;
    background: transparent; color: inherit; font: 24px/1 sans-serif; cursor: pointer;
}
.single-new-year-stays__heading, .ng-mobile-accommodations-heading, .evont-ng-accommodation-heading { position: relative; }
.single-new-year-stays__heading .evont-stay-info, .ng-mobile-accommodations-heading .evont-stay-info,
.evont-ng-accommodation-heading .evont-stay-info { position: absolute; top: 0; right: 0; }
.evont-stay-promo {
    display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 12px;
    min-width: 0; max-height: 260px; padding: 16px; box-sizing: border-box; border: 0; border-radius: 16px; text-align: left; cursor: pointer;
    background: linear-gradient(135deg, #1a237e, #4a148c 50%, #880e4f); color: white; font: inherit;
}
.evont-stay-promo-icon { font-size: 32px; line-height: 1; }
.evont-stay-promo > strong { font-size: 16px; line-height: 1.3; }
.evont-stay-promo > span:not(.evont-stay-promo-icon) { min-height: 0; overflow: hidden; font-size: 12px; line-height: 1.5; color: #e0e0e0; }
.evont-stay-promo > b { margin-top: auto; padding: 9px 12px; border-radius: 24px; background: #0005; font-size: 11px; }
.evont-stay-pager.evont-stay-pager { display: block; min-width: 0; }
.evont-stay-pager-track {
    display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
}
.evont-stay-pager-track::-webkit-scrollbar { display: none; }
.evont-stay-pager-page {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
    flex: 0 0 100%; min-width: 0; scroll-snap-align: start;
}
.evont-stay-pager-nav { display: flex; justify-content: center; margin: 16px 0 0; }
.evont-stay-pager-nav[hidden] { display: none; }
.evont-stay-pager-nav > button { border: 0; background: transparent; color: #8c8791; width: 32px; height: 32px; font-size: 30px; cursor: pointer; }
.evont-stay-pager-nav > button[aria-current="page"] { color: #e71870; }
.evont-stay-actions .evont-stay-contact-actions { display: flex; gap: 6px; }
.evont-stay-contact-actions > a {
    display: flex; flex: 1; align-items: center; justify-content: center; min-height: 44px;
    padding: 8px; border-radius: 24px; font: 700 13px/1.3 sans-serif; text-decoration: none; color: #fff; background: #25242b;
}
.evont-stay-contact-actions > .evont-stay-channel-whatsapp { background: #128c47; }
.evont-stay-contact-actions > .evont-stay-channel-viber { background: #7360f2; }
.evont-stay-text-links { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-top: 12px; }
.evont-stay-text-links > a { color: inherit; text-decoration: underline; overflow-wrap: anywhere; font-size: 13px; line-height: 1.5; text-align: center; }
html.evont-stay-why-open { overflow: hidden; }
.evont-stay-why {
    width: min(640px, 100%); max-width: 100%; height: 90dvh; max-height: 90dvh; box-sizing: border-box;
    margin: auto auto 0; padding: 52px 24px 32px; border: 0; border-radius: 24px 24px 0 0;
    color: #212128; background: #fff; font: 15px/1.65 sans-serif; overflow-y: auto; overscroll-behavior: contain;
}
.evont-stay-why::backdrop { background: #000b; }
.evont-stay-why h2 { font: 700 28px/1.2 sans-serif; margin: 0 0 24px; }
.evont-stay-why h3 { font: 700 19px/1.3 sans-serif; margin: 28px 0 16px; }
.evont-stay-why li { margin-bottom: 18px; }
.evont-stay-why ul { padding-left: 20px; }
.evont-stay-why-intro { font-weight: 700; }
.evont-stay-why-close { position: absolute; right: 16px; top: 12px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #efeff2; color: #212128; font: 26px/1 sans-serif; cursor: pointer; }
.evont-stay-why-cta { display: block; width: 100%; min-height: 48px; padding: 12px 18px; border: 0; border-radius: 24px; background: #e71870; color: white; font: 700 15px/1.4 sans-serif; cursor: pointer; }
.evont-stay-owner-form { display: grid; gap: 20px; }
.evont-stay-owner-form label { display: grid; gap: 6px; }
.evont-stay-owner-form input, .evont-stay-owner-form textarea { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #bbb; border-radius: 10px; font: inherit; color: #212128; background: white; }
.evont-stay-owner-form textarea { min-height: 140px; }
/* Promotion badges sit opposite the type label, as in Android. */
.evont-stay-media.evont-stay-media { position: relative; }
.evont-stay-media .single-new-year-stay-card__type, .evont-stay-media .ng-mobile-accommodation-type,
.evont-stay-media .ng-desktop-accommodation-type, .evont-stay-media .evont-ng-accommodation-type {
    background: none; backdrop-filter: none; padding: 0; text-shadow: 0 1px 3px #000;
    color: #fff; font-size: 10px; top: 10px; left: 10px;
}
.single-new-year-stay-card__footer, .ng-mobile-accommodation-footer, .ng-desktop-accommodation-footer, .evont-ng-accommodation-card-footer { justify-content: flex-end; }
.single-new-year-stays .single-new-year-stay-card__copy > strong,
.ng-mobile-accommodations .ng-mobile-accommodation-copy > strong,
.ng-desktop-accommodations .ng-desktop-accommodation-copy > strong {
    font-family: inherit; text-transform: none; font-size: clamp(13px, 3.3vw, 20px);
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.single-new-year-stays .single-new-year-stay-card { min-height: 0; }
.single-new-year-stays .single-new-year-stay-card__media { min-height: 120px; }
.single-new-year-stays .single-new-year-stay-card__copy { min-height: 100px; }
.single-new-year-stays__page > .evont-stay-promo { height: 100%; }
.single-new-year-stay-card__copy > small, .ng-mobile-accommodation-copy > small,
.ng-desktop-accommodation-copy > small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.single-new-year-stay-modal__panel { height: 90dvh; border-radius: 24px 24px 0 0; margin-top: 10dvh; }
.single-new-year-stay-modal__content { height: 90dvh; }
.evont-stay-all-events { display: block; margin: 24px 5vw 0; padding: 14px 20px; border: 1px solid currentColor; border-radius: 24px; color: inherit; font-size: 13px; text-align: center; text-decoration: none; }
.evont-ng-accommodation-rail.evont-ng-accommodation-rail { grid-template-rows: auto minmax(0, 1fr) auto; }
.evont-ng-accommodation-track.evont-stay-pager { overflow-y: auto; }
.evont-ng-accommodation-track .evont-ng-accommodation-card { display: flex; flex-direction: column; }
.evont-ng-accommodation-track .evont-ng-accommodation-media { height: 120px; min-height: 120px; box-sizing: border-box; }
.evont-ng-accommodation-track .evont-ng-accommodation-type { position: absolute; }
.evont-ng-accommodation-track .evont-ng-accommodation-copy { padding: 12px; }
.evont-ng-accommodation-track .evont-stay-badges { top: 30px; left: 10px; right: auto; }
.evont-stay-info[hidden] { display: none; }
@media (min-width: 769px) {
    .evont-stay-pager-page { gap: 18px; }
    .ng-desktop-accommodations .evont-stay-pager-track { max-width: 760px; margin-inline: auto; }
    .evont-stay-why { margin-bottom: auto; border-radius: 24px; }
}
