
.booking-selection-layer[data-v-booking-6241c7f4] { position: fixed; inset: 0; z-index: 11200; color: #262626; font-weight: 400; text-align: left; overflow: hidden; overscroll-behavior: none;
}
.booking-selection-mask[data-v-booking-6241c7f4] { position: absolute; inset: 0; background: rgba(0,0,0,.45);
}
.booking-selection-sheet[data-v-booking-6241c7f4] { position: absolute; bottom: 0; left: 0; right: 0; height: 91vh; height: 91dvh; max-height: 100%; display: flex; flex-direction: column; background: #fff; border-radius: 4.26666667vw 4.26666667vw 0 0; box-shadow: 0 -1.06666667vw 6.4vw rgba(0,0,0,.08);
}
.sheet-close[data-v-booking-6241c7f4] { position: absolute; top: 2.13333333vw; right: 2.66666667vw; z-index: 1; display: flex; align-items: center; justify-content: center; width: 8vw; height: 8vw; padding: 1.6vw; margin: 0; background: transparent; border: 0;
}
.sheet-close uni-image[data-v-booking-6241c7f4] { width: 4.26666667vw; height: 4.26666667vw;
}
.sheet-content[data-v-booking-6241c7f4] { flex: 1; min-height: 0; overflow: hidden; box-sizing: border-box; padding: 0 4.26666667vw 4vw;
}
.sheet-covered[data-v-booking-6241c7f4] { pointer-events: none;
}
.summary-section[data-v-booking-6241c7f4] { flex: 0 0 auto; margin: 0; padding: 3.73333333vw 4.26666667vw 2.66666667vw; border-radius: 4.26666667vw 4.26666667vw 0 0; background: #fff; box-sizing: border-box;
}
.sheet-content[data-v-booking-6241c7f4] .uni-scroll-view { overscroll-behavior-y: contain;
}
.project-summary[data-v-booking-6241c7f4] { display: flex; align-items: center; gap: 2.93333333vw; height: 23.46666667vw; overflow: hidden;
}
.project-image-frame[data-v-booking-6241c7f4] { position: relative; flex: 0 0 22.4vw; width: 22.4vw; height: 22.4vw; border-radius: 2.4vw; overflow: hidden;
}
.project-image[data-v-booking-6241c7f4] { width: 100%; height: 100%;
}
.project-image-placeholder[data-v-booking-6241c7f4] { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: #f7f8fa; color: #999; font-size: 2.93333333vw;
}
.project-retry[data-v-booking-6241c7f4] { margin: 1.6vw 0 0; padding: 0.8vw 0; background: transparent; border: 0; color: #8b6919; font-size: 3.2vw; line-height: 1.6; text-align: left;
}
.project-copy[data-v-booking-6241c7f4] { flex: 1; min-width: 0; padding-right: 6.93333333vw; display: flex; flex-direction: column; justify-content: center; gap: 0.53333333vw;
}
.project-title[data-v-booking-6241c7f4] { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; max-height: 9.6vw; overflow: hidden; font-size: 3.86666667vw; font-weight: 600; line-height: 4.8vw; overflow-wrap: anywhere;
}
.project-package[data-v-booking-6241c7f4] { display: block; margin: 0; color: #888; font-size: 2.93333333vw; line-height: 3.73333333vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.project-price[data-v-booking-6241c7f4] { display: block; line-height: 5.33333333vw;
}
.package-details-button[data-v-booking-6241c7f4] { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 5.86666667vw; margin: 0; padding: 0 0.8vw; border: 0; border-radius: 0; background: rgba(32,35,41,.64); color: #fff; font-size: 2.66666667vw; font-weight: 500; line-height: 1.4; white-space: nowrap;
}
.project-price[data-v-booking-6241c7f4], .total[data-v-booking-6241c7f4] { font-size: 4.8vw; font-weight: 600; color: #252525;
}
.project-price > uni-text[data-v-booking-6241c7f4], .total > uni-text[data-v-booking-6241c7f4] { font-size: 3.06666667vw; font-weight: 400; color: #888;
}
.selection-section[data-v-booking-6241c7f4] { margin-top: 4vw;
}
.selection-section[data-v-booking-6241c7f4]:first-child { margin-top: 1.6vw;
}
.section-title[data-v-booking-6241c7f4] { display: block; margin-bottom: 2.4vw; font-size: 3.73333333vw; font-weight: 600;
}
.package-heading[data-v-booking-6241c7f4] { display: flex; align-items: center; justify-content: space-between; gap: 2.13333333vw; margin-bottom: 2.4vw;
}
.package-heading .section-title[data-v-booking-6241c7f4] { margin-bottom: 0;
}
.package-count[data-v-booking-6241c7f4] { color: #999; font-size: 3.06666667vw;
}
.package-scroll[data-v-booking-6241c7f4] { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.package-scroll[data-v-booking-6241c7f4]::-webkit-scrollbar { display: none;
}
.package-options[data-v-booking-6241c7f4] { display: grid; grid-template-rows: repeat(2, auto); grid-auto-flow: column; grid-auto-columns: calc((100% - 6.4vw) / 3.25); gap: 1.6vw; padding-right: 2.13333333vw; transition: transform 280ms cubic-bezier(.18,.75,.25,1);
}
.package-options-single-row[data-v-booking-6241c7f4] { grid-template-rows: auto;
}
.package-card[data-v-booking-6241c7f4] { position: relative; min-width: 0;
}
.package-option[data-v-booking-6241c7f4], .date-option[data-v-booking-6241c7f4], .time-option[data-v-booking-6241c7f4] { margin: 0; padding: 2.66666667vw; border: 0.26666667vw solid transparent; border-radius: 2.13333333vw; background: #f6f7f8; color: #333; font-size: 3.46666667vw; line-height: 1.5; box-sizing: border-box;
}
.package-option[data-v-booking-6241c7f4] { display: flex; flex-direction: column; gap: 1.06666667vw; width: 100%; height: 100%; min-width: 0; padding: 1.06666667vw; text-align: left; overflow: hidden;
}
.package-expand[data-v-booking-6241c7f4] { position: absolute; top: 1.6vw; left: 1.6vw; display: flex; align-items: center; justify-content: center; width: 7.46666667vw; height: 7.46666667vw; padding: 1.6vw; margin: 0; border: 0; border-radius: 1.6vw; background: rgba(32,35,41,.64); line-height: 1;
}
.package-expand[data-v-booking-6241c7f4]::before { content: ""; position: absolute; inset: -0.53333333vw;
}
.package-expand uni-image[data-v-booking-6241c7f4] { width: 4.26666667vw; height: 4.26666667vw;
}
.package-image-frame[data-v-booking-6241c7f4] { width: 100%; aspect-ratio: 1; border-radius: 1.33333333vw; overflow: hidden; flex-shrink: 0;
}
.package-thumbnail[data-v-booking-6241c7f4] { display: block; width: 100%; height: 100%;
}
.package-image-placeholder[data-v-booking-6241c7f4] { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: #edeef0; color: #999; font-size: 2.93333333vw;
}
.package-copy[data-v-booking-6241c7f4] { width: 100%; min-width: 0;
}
.package-name[data-v-booking-6241c7f4] { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; min-height: 2.8em; overflow: hidden; line-height: 1.4; font-size: 3.2vw; font-weight: 500; overflow-wrap: anywhere;
}
.package-price[data-v-booking-6241c7f4] { display: block; margin-top: 0.53333333vw; font-size: 3.2vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.package-price > uni-text[data-v-booking-6241c7f4] { display: block; color: #888; font-size: 2.66666667vw;
}
.package-option.selected[data-v-booking-6241c7f4], .date-option.selected[data-v-booking-6241c7f4], .time-option.selected[data-v-booking-6241c7f4] { background: #fff9df; border-color: #ffd633; color: #29271e;
}
.booking-selection-sheet uni-button[data-v-booking-6241c7f4]::after { border: 0;
}
.date-scroll[data-v-booking-6241c7f4] { width: 100%;
}
.date-options[data-v-booking-6241c7f4] { display: flex; gap: 1.6vw; width: max-content; padding-bottom: 0.53333333vw;
}
.date-option[data-v-booking-6241c7f4] { flex-shrink: 0; min-width: 13.86666667vw; padding: 2.26666667vw 1.86666667vw;
}
.date-option > uni-text[data-v-booking-6241c7f4] { display: block;
}
.date-option > uni-text + uni-text[data-v-booking-6241c7f4] { font-size: 3.06666667vw; margin-top: 0.66666667vw; color: #888;
}
.date-option.unavailable[data-v-booking-6241c7f4] { color: #aaa; opacity: .65;
}
.duration-hint[data-v-booking-6241c7f4] { font-size: 3.06666667vw; color: #999; font-weight: 400; margin-left: 2.13333333vw;
}
.time-options[data-v-booking-6241c7f4] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.86666667vw;
}
.time-option[data-v-booking-6241c7f4] { padding: 2.26666667vw 0.53333333vw; font-size: 3.6vw;
}
.selection-notice[data-v-booking-6241c7f4], .no-slots[data-v-booking-6241c7f4] { display: block; font-size: 3.2vw; line-height: 1.6; color: #8b6919; margin: 0 0 2.4vw;
}
.no-slots[data-v-booking-6241c7f4] { color: #888; padding: 2.66666667vw 0;
}
.booking-requirements[data-v-booking-6241c7f4] { flex-shrink: 0; padding: 1.6vw 4.26666667vw; background: #fffbeb; color: #796229; font-size: 3.2vw; line-height: 1.5;
}
.booking-requirements .selection-notice[data-v-booking-6241c7f4] { margin: 0; color: #795617; font-weight: 600;
}
.sheet-footer[data-v-booking-6241c7f4] { display: flex; align-items: center; gap: 2.66666667vw; padding: 2.93333333vw 4.26666667vw calc(2.93333333vw + env(safe-area-inset-bottom)); border-top: 0.13333333vw solid #f0f0f0; background: #fff; flex-shrink: 0;
}
.selection-result[data-v-booking-6241c7f4] { flex: 1; min-width: 0;
}
.selection-summary[data-v-booking-6241c7f4] { display: block; font-size: 2.93333333vw; color: #888; margin-top: 0.53333333vw;
}
.confirm-booking[data-v-booking-6241c7f4] { flex: 0 0 35.2vw; margin: 0; padding: 3.06666667vw 1.6vw; background: #ffda32; color: #262626; border-radius: 6.4vw; font-size: 3.86666667vw; font-weight: 600; line-height: 1.4;
}
.confirm-booking[disabled][data-v-booking-6241c7f4] { background: #f1f1f1; color: #aaa;
}
.booking-selection-sheet[data-v-booking-6241c7f4] { transition: transform .3s cubic-bezier(.22,.7,.3,1);
}
.booking-selection-mask[data-v-booking-6241c7f4] { transition: opacity .3s ease;
}
.booking-selection-layer:not(.booking-motion-ready) .booking-selection-sheet[data-v-booking-6241c7f4],
.booking-motion-closing .booking-selection-sheet[data-v-booking-6241c7f4] { transform: translate3d(0,100%,0);
}
.booking-selection-layer:not(.booking-motion-ready) .booking-selection-mask[data-v-booking-6241c7f4],
.booking-motion-closing .booking-selection-mask[data-v-booking-6241c7f4] { opacity: 0;
}
.booking-motion-closing[data-v-booking-6241c7f4] { pointer-events: none;
}
.booking-overlay[data-v-booking-6241c7f4] { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; padding: 4.26666667vw; box-sizing: border-box;
}
.overlay-mask[data-v-booking-6241c7f4] { position: absolute; inset: 0; background: rgba(0,0,0,.48); animation: overlay-fade-in-booking-6241c7f4 220ms ease both;
}
.details-dialog[data-v-booking-6241c7f4] { position: relative; display: flex; flex-direction: column; width: 100%; max-width: 90.66666667vw; height: 80vh; height: 80dvh; max-height: 100%; padding: 0 4.26666667vw; box-sizing: border-box; background: #fff; border-radius: 3.73333333vw; overflow: hidden; animation: detail-enter-booking-6241c7f4 220ms cubic-bezier(.22,.7,.3,1) both;
}
.overlay-heading[data-v-booking-6241c7f4] { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; padding: 3.2vw 0; font-size: 4.26666667vw; font-weight: 600;
}
.overlay-close[data-v-booking-6241c7f4] { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 9.6vw; height: 9.6vw; padding: 2.4vw; margin: -1.06666667vw -1.86666667vw -1.06666667vw 0; border: 0; background: transparent; line-height: 1;
}
.overlay-close uni-image[data-v-booking-6241c7f4] { width: 4.8vw; height: 4.8vw;
}
.booking-overlay uni-button[data-v-booking-6241c7f4]::after { border: 0;
}
.detail-scroll[data-v-booking-6241c7f4] { min-height: 0; flex: 1; overflow: hidden;
}
.detail-scroll[data-v-booking-6241c7f4] .uni-scroll-view { overscroll-behavior-y: contain;
}
.detail-package[data-v-booking-6241c7f4] { display: flex; align-items: center; gap: 2.93333333vw; padding: 1.06666667vw 0 3.73333333vw;
}
.detail-package-image[data-v-booking-6241c7f4] { flex: 0 0 14.93333333vw; width: 14.93333333vw; height: 14.93333333vw; border-radius: 1.86666667vw; overflow: hidden;
}
.detail-package-image uni-image[data-v-booking-6241c7f4] { width: 100%; height: 100%;
}
.detail-package-copy[data-v-booking-6241c7f4] { flex: 1; min-width: 0;
}
.detail-package-name[data-v-booking-6241c7f4] { display: block; font-size: 3.73333333vw; font-weight: 600; overflow-wrap: anywhere;
}
.detail-package-price[data-v-booking-6241c7f4] { display: block; margin-top: 1.6vw; font-size: 3.6vw;
}
.detail-footer[data-v-booking-6241c7f4] { flex-shrink: 0; padding: 2.66666667vw 0 3.73333333vw;
}
.detail-dismiss[data-v-booking-6241c7f4] { margin: 0; padding: 2.93333333vw; border: 0; border-radius: 2.13333333vw; background: #f1f2f4; color: #333; font-size: 3.73333333vw; font-weight: 500; line-height: 1.4;
}
.gallery-overlay[data-v-booking-6241c7f4] { padding: 0;
}
.gallery-dialog[data-v-booking-6241c7f4] { position: absolute; inset: 0; display: flex; flex-direction: column; padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom); box-sizing: border-box; color: #fff; background: #0a0b0d; animation: gallery-enter-booking-6241c7f4 220ms ease both;
}
.gallery-heading[data-v-booking-6241c7f4] { position: relative; flex-shrink: 0; padding: 3.2vw 12vw 2.13333333vw; text-align: center; font-size: 3.73333333vw;
}
.gallery-heading .overlay-close[data-v-booking-6241c7f4] { position: absolute; top: 2.66666667vw; left: 3.2vw; margin: 0;
}
.gallery-heading .overlay-close uni-image[data-v-booking-6241c7f4] { filter: brightness(0) invert(1);
}
.gallery-counter[data-v-booking-6241c7f4] { display: block; margin-top: 1.06666667vw; color: #bbb; font-size: 3.2vw;
}
.gallery-swiper[data-v-booking-6241c7f4] { flex: 1; min-height: 0; width: 100%;
}
.gallery-slide[data-v-booking-6241c7f4] { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
}
.gallery-slide uni-image[data-v-booking-6241c7f4] { width: 100%; height: 100%;
}
.gallery-empty[data-v-booking-6241c7f4] { color: #aaa; font-size: 3.73333333vw;
}
.gallery-caption[data-v-booking-6241c7f4] { flex-shrink: 0; padding: 2.66666667vw 4.26666667vw 3.2vw; text-align: center;
}
.gallery-name[data-v-booking-6241c7f4] { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 4vw; font-weight: 600; line-height: 1.4;
}
.gallery-price[data-v-booking-6241c7f4] { display: block; margin-top: 1.33333333vw; font-size: 3.46666667vw; color: #ddd;
}
.gallery-overview[data-v-booking-6241c7f4] { flex-shrink: 0; width: 100%; height: 19.73333333vw;
}
.gallery-thumbnails[data-v-booking-6241c7f4] { display: flex; gap: 1.6vw; width: max-content; padding: 0 3.2vw 3.2vw;
}
.gallery-thumbnail[data-v-booking-6241c7f4] { flex: 0 0 14.93333333vw; width: 14.93333333vw; height: 14.93333333vw; margin: 0; padding: 0.4vw; border: 0.4vw solid transparent; border-radius: 1.6vw; background: #25262a; overflow: hidden; color: #bbb; font-size: 2.66666667vw; line-height: 13.33333333vw; box-sizing: border-box;
}
.gallery-thumbnail uni-image[data-v-booking-6241c7f4] { width: 100%; height: 100%; border-radius: 0.93333333vw;
}
.gallery-thumbnail.active[data-v-booking-6241c7f4] { border-color: #ffda32;
}
.is-closing[data-v-booking-6241c7f4] { pointer-events: none;
}
.is-closing .overlay-mask[data-v-booking-6241c7f4] { animation: overlay-fade-out-booking-6241c7f4 180ms ease both;
}
.is-closing .details-dialog[data-v-booking-6241c7f4] { animation: detail-exit-booking-6241c7f4 180ms ease both;
}
.is-closing .gallery-dialog[data-v-booking-6241c7f4] { animation: gallery-exit-booking-6241c7f4 180ms ease both;
}
@keyframes overlay-fade-in-booking-6241c7f4 {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes overlay-fade-out-booking-6241c7f4 {
from { opacity: 1;
}
to { opacity: 0;
}
}
@keyframes detail-enter-booking-6241c7f4 {
from { opacity: 0; transform: translateY(3.2vw);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes detail-exit-booking-6241c7f4 {
from { opacity: 1; transform: translateY(0);
}
to { opacity: 0; transform: translateY(2.13333333vw);
}
}
@keyframes gallery-enter-booking-6241c7f4 {
from { opacity: 0; transform: scale(.97);
}
to { opacity: 1; transform: scale(1);
}
}
@keyframes gallery-exit-booking-6241c7f4 {
from { opacity: 1; transform: scale(1);
}
to { opacity: 0; transform: scale(.98);
}
}
@media (prefers-reduced-motion: reduce) {
.package-options[data-v-booking-6241c7f4] { transition-duration: .01ms;
}
.overlay-mask[data-v-booking-6241c7f4], .details-dialog[data-v-booking-6241c7f4], .gallery-dialog[data-v-booking-6241c7f4] { animation-duration: .01ms !important;
}
.booking-selection-sheet[data-v-booking-6241c7f4], .booking-selection-mask[data-v-booking-6241c7f4] { transition-duration: .01s;
}
.booking-selection-layer:not(.booking-motion-ready) .booking-selection-sheet[data-v-booking-6241c7f4],
  .booking-motion-closing .booking-selection-sheet[data-v-booking-6241c7f4] { transform: none;
}
}

