.login-required-modal{z-index:200;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.login-required-modal__backdrop{background:var(--overlay-black-050);cursor:pointer;position:absolute;inset:0}.login-required-modal__box{background:var(--card);border:1px solid var(--border);width:100%;max-width:360px;box-shadow:0 20px 50px var(--shadow-strong,var(--overlay-black-035));border-radius:14px;padding:24px;position:relative}.login-required-modal__close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0;position:absolute;top:12px;right:12px}.login-required-modal__close:hover{color:var(--text);background:color-mix(in srgb, var(--text) 10%, transparent)}.login-required-modal__message{color:var(--text);margin:0 0 20px;padding-right:28px}.login-required-modal__actions{justify-content:flex-end;gap:8px;display:flex}
.modal{z-index:5000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal__backdrop{background:var(--overlay-black-050);cursor:pointer;position:absolute;inset:0}.modal__box{width:100%;max-width:480px;max-height:calc(100vh - 32px);padding:var(--modal-padding,20px);box-sizing:border-box;background:var(--card);border:1px solid var(--border);box-shadow:0 20px 50px var(--shadow-strong,var(--overlay-black-035));border-radius:14px;flex-direction:column;display:flex;position:relative}.modal__close{top:calc(var(--modal-padding,20px) - 2px);right:calc(var(--modal-padding,20px) - 2px);z-index:30;position:absolute}.modal__content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);box-sizing:border-box;scrollbar-gutter:stable;flex:auto;min-height:0;overflow:auto}.modal__content::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}.modal__content::-webkit-scrollbar-button{width:0;height:0;display:none}.modal__content::-webkit-scrollbar-track{background:var(--scrollbar-track)}.modal__content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}.modal__content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.modal__actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.modal__title{color:var(--text);margin:0 0 12px;padding-right:2.5rem}.modal__body{color:var(--muted);margin:0}.modal__box.modal--ticketDetail{--modal-padding:12px;width:min(800px,100vw - 48px);max-width:min(1400px,100vw - 48px)!important;max-height:calc(100dvh - 48px)!important}.modal__box.modal--ticketDetail .modal__content{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100dvh - 72px);overflow:hidden auto}.modal__box.modal--ticketImageFullscreen{max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important}.modal__box.modal--ticketImageFullscreen .modal__content{padding:8px}.modal__box.modal--mapSearch{max-height:calc(100vh - 24px);padding:0}.modal__box.modal--mapSearch .modal__content{box-sizing:border-box;flex-direction:column;gap:14px;padding:48px 56px 22px 22px;display:flex}@media (max-width:640px){.modal__box.modal--mapSearch .modal__content{padding:46px 16px 18px}}.modal__box.modal--locationMap{max-height:calc(100vh - 24px);padding:0}.modal__box.modal--locationMap .modal__content{box-sizing:border-box;flex-direction:column;gap:14px;padding:48px 56px 22px 22px;display:flex}@media (max-width:640px){.modal__box.modal--locationMap .modal__content{padding:44px 16px 16px}}.modal__box.modal--recommend{padding:20px 0 20px 22px}.modal__box.modal--recommend .modal__content{flex-direction:column;flex:auto;min-height:0;display:flex}.modal__box.modal--recommend .modal__actions{margin-top:auto}.modal__box.modal--dashboardFilters .modal__content{overflow:hidden auto}.modal__box.modal--bookingDetail{--booking-modal-surface:#171a21;--booking-modal-chip:#15181e;--booking-modal-line:#262b36;border:1px solid var(--booking-modal-line);background:var(--booking-modal-surface);border-radius:24px;width:min(520px,100vw - 32px);max-width:520px;padding:0;overflow:hidden}.modal__box.modal--bookingDetail .modal__close{z-index:40;top:12px;right:12px}.modal__box.modal--bookingDetail .modal__content{scrollbar-gutter:auto;padding:0;overflow:auto}.modal__box.modal--bookingImageFullscreen{--modal-padding:8px;box-shadow:none;background:0 0;border:none;padding:8px;overflow:hidden;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important}.modal__box.modal--bookingImageFullscreen .modal__content{overscroll-behavior:none;scrollbar-gutter:auto;padding:0;overflow:hidden}
.review-cards-slider{margin-top:14px;overflow:hidden}.review-cards-slider__track{align-items:stretch;gap:var(--review-cards-gap,14px);display:flex}.review-cards-slider__card{flex:0 0 calc((100% - (var(--review-cards-visible,3) - 1) * var(--review-cards-gap,14px)) / var(--review-cards-visible,3));border:1px solid var(--ui-border-control);background:var(--card);border-radius:16px;padding:14px}.review-cards-slider__card-head{align-items:flex-start;gap:10px;display:flex}.review-cards-slider__avatar{width:38px;height:38px;color:var(--absolute-white);background:var(--listing-card-teal);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.review-cards-slider__info{min-width:0}.review-cards-slider__name{color:var(--text);margin:0}.review-cards-slider__author-link{color:inherit;text-decoration:none}.review-cards-slider__author-link:hover{color:var(--accent);text-decoration:none}.review-cards-slider__rating{color:var(--listing-card-recommended-fg-on-dark);align-items:center;gap:3px;display:inline-flex}.review-cards-slider__rating-num{color:var(--listing-card-recommended-fg-on-dark);margin-right:4px}.review-cards-slider__star{display:block}.review-cards-slider__date{color:color-mix(in srgb, var(--text) 58%, transparent);text-align:right;white-space:nowrap;margin:0 0 0 auto}.review-cards-slider__text{color:color-mix(in srgb, var(--text) 76%, transparent);margin:8px 0 0}
