@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap";:root{--bg-color: #0b0b11;--bg-surface: rgba(22, 22, 32, .96);--bg-card: rgba(28, 28, 42, .88);--bg-card-hover: rgba(34, 34, 50, .92);--text-primary: #ffffff;--text-secondary: #b8b8c8;--text-muted: #7a7a8a;--accent-purple: #8a2be2;--accent-pink: #ff007f;--accent-gradient: linear-gradient(135deg, #8a2be2, #ff007f);--glass-bg: rgba(22, 22, 32, .6);--glass-border: rgba(255, 255, 255, .07);--glass-border-hover: rgba(255, 255, 255, .14);--divider: rgba(255, 255, 255, .06);--error-color: #ff4757;--success-color: #4ade80;--warning-color: #fbbf24;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--card-pad-y: 14px;--card-pad-x: 14px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 4px 12px rgba(0, 0, 0, .35);--shadow-glow: 0 0 20px rgba(138, 43, 226, .15);--shadow-pink: 0 0 20px rgba(255, 0, 127, .2);--transition: .18s ease-out;--transition-modal: .3s ease;--font: "Be Vietnam Pro", -apple-system, system-ui, sans-serif;--safe-bottom: max(24px, env(safe-area-inset-bottom));--g-grad: var(--accent-gradient);--g-pink: var(--accent-pink);--g-purple: var(--accent-purple);--bg: var(--bg-color);--card: #16161f;--sheet: #13131c;--bar: rgba(11, 11, 17, .86);--line: rgba(255, 255, 255, .08);--ink: var(--text-primary);--muted: #8a8a9a;--lilac: #c89bff;--pink-soft: #ff7eb6;--gold: #fbbf24;--card-r: 18px;--btn-glow: 0 6px 20px rgba(138, 43, 226, .35), 0 0 24px rgba(255, 0, 127, .18)}.no-scrollbar{-webkit-overflow-scrolling:touch;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lm-grad-text{background:var(--g-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.lm-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:99px;font-size:11.5px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.lm-badge--avail{background:#000000a8;color:#fff;border:1px solid rgba(74,222,128,.55)}.lm-badge--soldout{background:#ff4757eb;color:#fff}.lm-badge--glass{background:#0c0c1499;color:#fff;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10.5px}.lm-badge--soft{background:#8a2be233;color:var(--lilac);border:1px solid rgba(138,43,226,.35)}.lm-dot{width:6px;height:6px;border-radius:99px;background:#4ade80;box-shadow:0 0 6px #4ade80;flex-shrink:0}.lm-room-card{border-radius:var(--card-r);overflow:hidden;background:var(--card);min-width:250px;max-width:264px;flex:0 0 auto;animation:card-fade-in .28s ease-out both;-webkit-tap-highlight-color:transparent}.lm-room-card--compact{min-width:138px;max-width:144px;border:1px solid var(--line);box-shadow:0 6px 16px #0000006b;cursor:pointer}.lm-glass-header{position:sticky;top:0;z-index:5;background:var(--bar);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.lm-pill{flex-shrink:0;border-radius:99px;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent}.lm-pill--on{border-color:transparent;background:var(--g-grad);color:#fff;box-shadow:0 4px 14px #ff007f47}@keyframes card-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lm-card{background:var(--card);border:1px solid var(--line);border-radius:var(--card-r)}.lm-round-btn{width:36px;height:36px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;display:grid;place-items:center;flex-shrink:0;padding:0;-webkit-tap-highlight-color:transparent}.lm-btn{border:none;border-radius:14px;font-family:var(--font);font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity var(--transition),box-shadow var(--transition)}.lm-btn:active{transform:scale(.99)}.lm-btn--grad{background:var(--g-grad);color:#fff;box-shadow:var(--btn-glow)}.lm-btn--grad:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.lm-btn--ghost{background:var(--card);color:var(--ink);border:1px solid var(--line)}.lm-btn--block{width:100%}.lm-label{font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.lm-input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:15px;font-family:var(--font);outline:none}.lm-input:focus{border-color:var(--g-purple)}.lm-progress{display:flex;justify-content:center;gap:7px}.lm-progress__dot{width:8px;height:8px;border-radius:99px;background:var(--line);transition:all .25s}.lm-progress__dot--done{background:var(--g-purple)}.lm-progress__dot--on{width:24px;background:var(--g-grad)}.lm-badge--pink{background:#ff007f29;color:var(--pink-soft);border:1px solid rgba(255,0,127,.35)}.lm-badge--success{background:#4ade8026;color:var(--success-color);border:1px solid rgba(74,222,128,.4)}.lm-badge--warn{background:#fbbf2424;color:var(--gold);border:1px solid rgba(251,191,36,.4)}.lm-brand-panel{border-radius:var(--card-r);background:linear-gradient(135deg,#8a2be233,#ff007f24);border:1px solid rgba(138,43,226,.35)}.lm-pulse-dot{width:7px;height:7px;border-radius:99px;background:var(--gold);box-shadow:0 0 8px var(--gold);animation:lm-pulse 1.4s ease-in-out infinite;flex-shrink:0}@keyframes lm-pulse{0%,to{opacity:1}50%{opacity:.3}}.lm-copy-btn{flex-shrink:0;padding:3px 9px;border-radius:7px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:10.5px;font-weight:700;font-family:var(--font);color:var(--g-pink)}.lm-copy-btn--done{color:var(--success-color)}*{box-sizing:border-box;margin:0;padding:0}body,#app{font-family:var(--font);background:var(--bg-color);color:var(--text-primary);min-height:100vh;min-height:100dvh;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}*:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:var(--radius-sm)}button:focus-visible,a:focus-visible{box-shadow:0 0 0 3px #8a2be259}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.booking-page{padding:16px 16px 100px;max-width:480px;margin:0 auto}.section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-secondary);margin-bottom:12px}.form-section{margin-bottom:24px}.step-indicator{display:flex;justify-content:center;gap:8px;padding:12px 0 20px}.step-dot{width:8px;height:8px;border-radius:50%;background:var(--glass-border);transition:all var(--transition)}.step-dot.active{width:24px;border-radius:4px;background:var(--accent-gradient)}.step-dot.completed{background:var(--accent-purple)}.date-grid{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.date-grid::-webkit-scrollbar{display:none}.date-tile{flex-shrink:0;width:72px;padding:10px 8px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);text-align:center;cursor:pointer;scroll-snap-align:start;transition:all var(--transition);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.date-tile:active{transform:scale(.95)}.date-tile.selected{border-color:var(--accent-purple);background:#8a2be226;box-shadow:var(--shadow-glow)}.date-tile .day-label{font-size:9px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-tile.selected .day-label{color:var(--accent-purple)}.date-tile .day-date{font-size:15px;font-weight:600;color:var(--text-primary)}.time-row{display:flex;gap:12px;margin-top:12px}.time-select{flex:1;padding:12px 36px 12px 16px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font);font-size:15px;font-weight:600;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;outline:none;transition:border-color var(--transition);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23a0a0b0' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.time-select:focus{border-color:var(--accent-purple)}.time-select option{background:#1a1a2e;color:var(--text-primary)}.availability-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;margin-top:8px}.availability-badge.available{background:#4ade801f;color:var(--success-color)}.availability-badge.low{background:#fbbf241f;color:var(--warning-color)}.availability-badge.none{background:#ff47571f;color:var(--error-color)}.service-list{display:flex;flex-direction:column;gap:10px}.service-card{padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition);position:relative;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.service-card:active{transform:scale(.98)}.service-card.selected{border-color:var(--accent-purple);background:#8a2be21a;box-shadow:var(--shadow-glow)}.service-card .service-name{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.service-card .service-price{font-size:17px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.service-card .service-meta{font-size:12px;color:var(--text-secondary);margin-top:4px}.popular-badge{position:absolute;top:-8px;right:12px;background:var(--accent-gradient);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--radius-pill)}.chip-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.chip{padding:8px 14px;border-radius:var(--radius-pill);background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.chip:active{transform:scale(.95)}.chip.selected{border-color:var(--accent-purple);color:var(--text-primary);background:#8a2be226}.input-field{width:100%;padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font);font-size:15px;outline:none;transition:border-color var(--transition)}.input-field:focus{border-color:var(--accent-purple)}.input-field::placeholder{color:var(--text-muted)}.welcome-banner{padding:10px 14px;border-radius:var(--radius-md);background:#8a2be21a;border:1px solid rgba(138,43,226,.3);color:var(--accent-purple);font-size:13px;font-weight:500;margin-bottom:12px;animation:fadeIn .3s ease}.payment-options{display:flex;flex-direction:column;gap:10px}.payment-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.payment-option.selected{border-color:var(--accent-purple);background:#8a2be21a}.payment-option .radio-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--glass-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.payment-option.selected .radio-dot{border-color:var(--accent-purple)}.payment-option.selected .radio-dot:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent-purple)}.payment-option .payment-label{font-size:14px;font-weight:600}.payment-option .payment-desc{font-size:12px;color:var(--text-muted)}.payment-info-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);margin-top:8px}.payment-info-icon{font-size:24px;line-height:1;padding-top:2px}.payment-info-card .payment-label{font-size:14px;font-weight:600;margin-bottom:4px}.payment-info-card .payment-desc{font-size:12px;color:var(--text-muted);line-height:1.5}.total-section{display:flex;flex-direction:column;padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);margin-top:16px;gap:10px}.total-room-name{font-size:15px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.weekend-tag{font-size:11px;padding:2px 8px;border-radius:var(--radius-pill);background:#fbbf2426;color:var(--warning-color);font-weight:600}.price-breakdown{display:flex;flex-direction:column;gap:6px}.price-line{display:flex;justify-content:space-between;align-items:center}.price-line-label{font-size:13px;color:var(--text-secondary)}.price-line-amount{font-size:13px;color:var(--text-primary);font-weight:500}.price-line-total{border-top:1px solid var(--glass-border);padding-top:8px;margin-top:4px}.price-line-total .price-line-label{font-size:14px;font-weight:700;color:var(--text-primary);text-transform:uppercase}.price-line-total .price-line-amount{font-size:16px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.total-label{font-size:14px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:1px}.total-price{font-size:20px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.submit-bar{position:fixed;bottom:0;left:0;right:0;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#0d0d12f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--glass-border);z-index:100}.submit-btn{width:100%;padding:16px;border:none;border-radius:var(--radius-md);background:var(--accent-gradient);color:#fff;font-family:var(--font);font-size:16px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.submit-btn:active{transform:scale(.98);opacity:.9}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:200;display:flex;align-items:flex-end;animation:fadeIn .3s ease}.modal-content{width:100%;max-height:90vh;background:var(--bg-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:24px 16px;padding-bottom:max(24px,env(safe-area-inset-bottom));overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title{font-size:18px;font-weight:700}.modal-close{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg-card);color:var(--text-secondary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.qr-container{background:#fff;border-radius:var(--radius-md);padding:16px;display:flex;justify-content:center;margin-bottom:16px}.qr-container img{width:260px;height:260px;object-fit:contain}.timer-bar{height:4px;background:var(--glass-border);border-radius:2px;overflow:hidden;margin-bottom:8px}.timer-fill{height:100%;background:var(--accent-gradient);transition:width 1s linear}.timer-fill.urgent{background:var(--error-color)}.timer-text{text-align:center;font-size:14px;color:var(--text-secondary);margin-bottom:16px}.payment-info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--glass-border);font-size:13px}.payment-info-label{color:var(--text-muted)}.payment-info-value{color:var(--text-primary);font-weight:600}.payment-status{text-align:center;padding:12px;border-radius:var(--radius-md);font-size:14px;font-weight:600;margin-top:16px}.payment-status.pending{background:#8a2be21a;color:var(--accent-purple)}.payment-status.paid{background:#4ade801f;color:var(--success-color)}.payment-status.expired{background:#ff47571f;color:var(--error-color)}.success-sheet{text-align:center;padding:20px 0}.success-icon{font-size:48px;margin-bottom:12px}.booking-code{font-size:28px;font-weight:800;font-family:monospace;letter-spacing:2px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px}.details-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--glass-border);padding:16px;text-align:left;margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.detail-label{color:var(--text-muted)}.detail-value{color:var(--text-primary);font-weight:500;text-align:right}.directions-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--glass-border);padding:16px;text-align:left;margin-bottom:16px}.directions-card ol{padding-left:20px;font-size:13px;color:var(--text-secondary);line-height:1.8}.directions-card strong{color:var(--text-primary)}.warning-banner{padding:10px 14px;border-radius:var(--radius-md);background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:var(--warning-color);font-size:12px;font-weight:500;margin-bottom:16px}.info-banner{padding:12px 14px;border-radius:var(--radius-md);background:#60a5fa1a;border:1px solid rgba(96,165,250,.35);color:#cfe6ff;font-size:13px;font-weight:500;line-height:1.5;margin-bottom:14px}.new-booking-btn{width:100%;padding:14px;border:none;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer}.scarcity-banner{padding:8px 12px;border-radius:var(--radius-md);background:#ff007f1a;border:1px solid rgba(255,0,127,.3);color:var(--accent-pink);font-size:12px;font-weight:600;margin-top:10px}.toast-container{position:fixed;top:16px;left:16px;right:16px;z-index:300;pointer-events:none}.toast{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:12px 16px;font-size:13px;font-weight:500;color:var(--text-primary);animation:slideDown .3s ease,fadeOut .3s ease 3s forwards;pointer-events:auto}.toast.error{border-color:#ff475766;color:var(--error-color)}.staff-section{margin-top:16px}.staff-label{font-size:12px;color:var(--text-muted);margin-bottom:6px}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:250;display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--accent-purple);border-radius:50%;animation:spin .8s linear infinite}.field-highlight{animation:highlightPulse .6s ease}.section-heading{font-size:20px;font-weight:800;color:var(--text-primary);text-align:center;margin-bottom:6px}.section-subheading{font-size:13px;color:var(--text-secondary);text-align:center;margin-bottom:20px}.booking-header{margin-bottom:8px}.hero-section{position:relative;min-height:420px;display:flex;align-items:flex-end;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0}.hero-img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0d0d1233,#0d0d1299,#0d0d12f2)}.hero-content{position:relative;z-index:1;padding:24px 16px;width:100%}.hero-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-pill);background:#ff000026;border:1px solid rgba(255,0,0,.3);color:#ff6b6b;font-size:11px;font-weight:600;margin-bottom:12px}.hero-title{font-size:28px;font-weight:800;line-height:1.3;color:var(--text-primary);margin-bottom:8px}.hero-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.hero-rating{font-size:13px;color:var(--warning-color);margin-bottom:16px}.hero-cta{width:100%;padding:14px;border:none;border-radius:var(--radius-md);background:var(--accent-gradient);color:#fff;font-family:var(--font);font-size:16px;font-weight:700;cursor:pointer;margin-bottom:12px;-webkit-tap-highlight-color:transparent}.hero-cta:active{transform:scale(.98);opacity:.9}.hero-info{font-size:12px;color:var(--text-muted);text-align:center}.gallery-section{padding:32px 16px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gallery-item{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1}.gallery-item.gallery-large{grid-column:1 / -1;aspect-ratio:16 / 9}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-label{position:absolute;bottom:0;left:0;right:0;padding:8px 10px;background:linear-gradient(transparent,#000c);font-size:11px;font-weight:600;color:#fff}.usps-section{padding:24px 16px 32px}.usps-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.usp-card{padding:16px 12px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);text-align:center}.usp-icon{font-size:28px;margin-bottom:8px}.usp-title{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.usp-desc{font-size:11px;color:var(--text-muted)}.reviews-section{padding:24px 0 32px}.reviews-section .section-heading{padding:0 16px}.reviews-rating{text-align:center;font-size:13px;color:var(--warning-color);margin-bottom:16px}.reviews-scroll{display:flex;gap:10px;overflow-x:auto;padding:0 16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.reviews-scroll::-webkit-scrollbar{display:none}.review-card{flex-shrink:0;width:280px;padding:16px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);scroll-snap-align:start}.review-stars{font-size:12px;margin-bottom:8px}.review-text{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:12px;font-style:italic}.review-author{display:flex;justify-content:space-between;align-items:center}.review-name{font-size:12px;font-weight:600;color:var(--text-primary)}.review-time{font-size:11px;color:var(--text-muted)}.faq-section{padding:24px 16px 32px}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--transition)}.faq-item.open{border-color:var(--accent-purple)}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:13px;font-weight:600;color:var(--text-primary)}.faq-arrow{font-size:18px;color:var(--text-muted);flex-shrink:0;margin-left:8px}.faq-answer{padding:0 16px 14px;font-size:13px;color:var(--text-secondary);line-height:1.7;animation:fadeIn .2s ease}.trust-badges{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:16px;font-size:11px;color:var(--text-muted);font-weight:500}.app-footer{padding:32px 16px;padding-bottom:max(32px,env(safe-area-inset-bottom));text-align:center;border-top:1px solid var(--glass-border);margin-bottom:80px}.footer-brand{font-size:18px;font-weight:800;margin-bottom:4px}.footer-tagline{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.footer-info{font-size:12px;color:var(--text-muted);margin-bottom:4px}.footer-copyright{font-size:11px;color:var(--text-muted);margin-top:16px;opacity:.6}.back-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-left:-4px;background:none;border:none;color:var(--text-secondary);font-family:var(--font);font-size:22px;line-height:1;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.back-btn:active{color:var(--text-primary)}.landing-page{min-height:100vh;padding:24px 16px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.landing-page-fit{min-height:100dvh;max-height:100dvh;display:flex;flex-direction:column;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.landing-page-fit .landing-header{padding:8px 0 12px}.landing-page-fit .product-cards{flex:1 1 auto;min-height:0}.landing-page-fit .product-card-solo{height:100%;display:flex;flex-direction:column}.landing-page-fit .product-card-solo .product-img-wrap{flex:0 0 auto}.landing-page-fit .product-card-solo .product-info{flex:1 1 auto;display:flex;flex-direction:column;gap:6px}.landing-page-fit .product-card-solo .product-actions{margin-top:auto}.landing-header{text-align:center;padding:20px 0 28px}.landing-brand{font-size:32px;font-weight:800;margin-bottom:4px}.landing-tagline{font-size:14px;color:var(--text-secondary)}.product-cards{display:flex;flex-direction:column;gap:16px}.product-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.product-card:active{transform:scale(.98)}.product-img-wrap{position:relative;height:160px;overflow:hidden}.product-img-wrap img{width:100%;height:100%;object-fit:cover}.product-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 30%,#0d0d12b3)}.product-info{padding:14px 16px 16px}.product-badge{display:inline-block;padding:3px 8px;border-radius:var(--radius-pill);background:#8a2be226;color:var(--accent-purple);font-size:11px;font-weight:600;margin-bottom:8px}.product-badge.homestay-badge{background:#ff007f26;color:var(--accent-pink)}.product-name{font-size:22px;font-weight:800;margin-bottom:4px}.product-desc{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.product-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.product-price{font-size:15px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.product-location,.product-features{font-size:12px;color:var(--text-muted)}.product-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.product-btn{display:block;width:100%;padding:14px 16px;min-height:48px;border-radius:var(--radius-pill);font-size:15px;font-weight:700;border:none;cursor:pointer;text-align:center;transition:transform .08s ease,box-shadow .08s ease,opacity .15s ease}.product-btn:active{transform:scale(.98)}.product-btn-primary{background:linear-gradient(135deg,#ff4d6d,#c9184a);color:#fff;box-shadow:0 6px 14px #c9184a52}.product-btn-primary:hover{opacity:.92}.product-btn-secondary{background:linear-gradient(135deg,#4dabf7,#1e6bd6);color:#fff;box-shadow:0 6px 14px #1e6bd647}.product-btn-secondary:hover{opacity:.92}.landing-footer-info{text-align:center;font-size:12px;color:var(--text-muted);margin-top:24px;padding:16px 0}.room-list{display:flex;flex-direction:column;gap:12px}.room-card{border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.room-card:active{transform:scale(.98)}.room-card.selected{border-color:var(--accent-purple);box-shadow:var(--shadow-glow)}.room-card.sold-out{opacity:.5;pointer-events:none}.room-img-wrap{position:relative;height:140px;overflow:hidden}.room-img-wrap img{width:100%;height:100%;object-fit:cover}.sold-out-badge{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:var(--radius-pill);background:#ff4757e6;color:#fff;font-size:11px;font-weight:600}.low-badge{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:var(--radius-pill);background:#fbbf24e6;color:#1a1a2e;font-size:11px;font-weight:600}.avail-badge{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:var(--radius-pill);background:#4ade80d9;color:#0a2818;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.room-info{padding:12px 14px}.room-name{font-size:15px;font-weight:700;margin-bottom:4px}.room-price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.room-night-price{font-size:15px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.room-total,.room-capacity{font-size:12px;color:var(--text-muted)}.night-count{text-align:center;padding:10px;margin-top:8px;border-radius:var(--radius-md);background:#8a2be21a;color:var(--accent-purple);font-size:14px;font-weight:600}.booking-type-tabs{display:flex;gap:8px;margin-bottom:16px;padding:4px;background:var(--glass-bg);border-radius:var(--radius-pill);border:1px solid var(--glass-border)}.booking-type-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font-family:var(--font);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.booking-type-tab.active{background:var(--accent-gradient);color:#fff;font-weight:600;box-shadow:var(--shadow-glow)}.booking-type-tab:not(.active):hover{background:#ffffff0d}.tab-icon{font-size:16px}.time-row{display:flex;gap:12px;margin-bottom:16px}.time-picker{flex:1}.time-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.time-select{width:100%;padding:10px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--text-primary);font-family:var(--font);font-size:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.time-select:focus{outline:none;border-color:var(--accent-purple)}.date-input-row{display:flex;gap:12px;margin-bottom:8px}.date-input-group{flex:1}.date-input-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.date-input{width:100%;padding:12px 14px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--text-primary);font-family:var(--font);font-size:15px;cursor:pointer;transition:var(--transition)}.date-input:focus{outline:none;border-color:var(--accent-purple);box-shadow:var(--shadow-glow)}.date-input::-webkit-calendar-picker-indicator{filter:invert(1) brightness(.8);cursor:pointer}.room-group{margin-bottom:20px}.room-group-header{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:12px;padding-left:2px}.room-location{margin-bottom:16px}.room-location-label{font-size:13px;color:var(--text-secondary);margin-bottom:10px;font-weight:500}.room-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px}.room-carousel::-webkit-scrollbar{height:4px}.room-carousel::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:2px}.room-carousel-card{flex:0 0 160px;scroll-snap-align:start;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--bg-card);overflow:hidden;cursor:pointer;transition:var(--transition)}.room-carousel-card:hover{border-color:var(--glass-border-hover)}.room-carousel-card.selected{border-color:var(--accent-purple);box-shadow:var(--shadow-glow)}.room-carousel-card.sold-out{opacity:.5;pointer-events:none}.carousel-card-img{position:relative;width:100%;height:100px;overflow:hidden}.carousel-card-img img{width:100%;height:100%;object-fit:cover}.lazy-image{position:relative;width:100%;height:100%;overflow:hidden}.lazy-image img{width:100%;height:100%;object-fit:cover;transition:opacity .32s ease-out}.lazy-image-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:200% 100%;animation:lazy-image-shimmer 1.4s infinite linear}.lazy-image-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:28px;background:#ffffff0a;color:#ffffff80}@keyframes lazy-image-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.carousel-card-info{padding:10px}.carousel-card-name{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.carousel-card-price{font-size:13px;font-weight:700;color:var(--accent-pink)}.carousel-card-total{font-size:11px;color:var(--text-muted);margin-top:2px}.carousel-card-weekend{font-size:10px;color:var(--warning-color);font-weight:600;margin-top:2px}.carousel-card-capacity{font-size:11px;color:var(--text-secondary);margin-top:4px}.carousel-card-meta{display:flex;gap:10px;font-size:11px;color:var(--text-secondary);margin-top:4px}.carousel-card-style{font-size:11px;color:var(--accent-color, #fbbf24);font-style:italic;margin-top:4px}.carousel-card-highlights{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:4px}.carousel-card-highlights li{font-size:10.5px;color:var(--text-primary);background:#ffffff14;padding:3px 7px;border-radius:var(--radius-pill);line-height:1.3}.common-utilities{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:14px}.common-utilities-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px;font-weight:600}.common-utilities-list{display:flex;flex-wrap:wrap;gap:6px}.common-utility-tag{font-size:11px;padding:3px 8px;border-radius:var(--radius-pill);background:#ffffff0f;color:var(--text-primary)}.adults-row{display:flex;justify-content:space-between;align-items:center}.adults-control{display:flex;align-items:center;gap:12px}.adults-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--glass-border);background:var(--bg-card);color:var(--text-primary);font-size:18px;font-family:var(--font);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.adults-count{font-size:16px;font-weight:600;min-width:20px;text-align:center}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes highlightPulse{0%,to{box-shadow:none}50%{box-shadow:0 0 0 3px #8a2be266}}.lookup-link{display:block;width:100%;background:#ffffff0f;border:1px solid var(--glass-border);color:var(--text-primary);padding:10px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:600;margin:10px 0 14px;cursor:pointer;transition:background .15s}.lookup-link:hover{background:#ffffff1a}.booking-lookup-page{padding:16px}.form-header{display:flex;align-items:center;gap:4px;margin-bottom:16px;min-height:44px}.form-header h2{margin:0;font-size:18px;font-weight:700;line-height:1.2;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-field label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-field input{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:10px 12px;font-size:14px;color:var(--text-primary);outline:none}.form-field input:focus{border-color:var(--accent-primary, #fbbf24)}.form-hint{margin-top:6px;font-size:12px;line-height:1.4;color:var(--text-muted, #98a3b3)}.form-hint-link{color:var(--accent-primary, #fbbf24);text-decoration:underline}.form-hint-link:hover{opacity:.85}.error-message{color:#ef4444;font-size:13px;margin:8px 0;padding:8px 12px;background:#ef44441a;border-radius:var(--radius-md)}.primary-btn{width:100%;background:var(--accent-gradient, linear-gradient(135deg, #fbbf24, #f59e0b));border:none;color:#000;padding:14px 16px;min-height:48px;border-radius:var(--radius-md);font-size:15px;font-weight:700;cursor:pointer;margin-top:8px}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{width:100%;background:#ffffff0f;border:1px solid var(--glass-border);color:var(--text-primary);padding:14px 16px;min-height:48px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;margin-top:12px}.booking-result{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.result-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)}.result-row:last-child{border-bottom:none;padding-bottom:0}.result-label{font-size:12px;color:var(--text-secondary);font-weight:600;flex-shrink:0}.result-value{font-size:13px;color:var(--text-primary);text-align:right;font-weight:500}.result-row-total .result-label,.result-row-total .result-value{font-size:15px;font-weight:800}.result-row-total .result-value{background:var(--accent-gradient, linear-gradient(135deg, #fbbf24, #f59e0b));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-link{color:var(--accent-primary, #fbbf24);text-decoration:underline;font-size:12px;max-width:60%}.result-code-chip{font-family:monospace;font-weight:700;background:#fbbf2426;color:var(--accent-primary, #fbbf24);padding:3px 10px;border-radius:var(--radius-pill);font-size:13px}.gate-btn{width:100%;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:14px;min-height:48px;border-radius:var(--radius-md);font-size:14px;font-weight:700;cursor:pointer;margin-top:14px}.gate-btn:active{transform:scale(.98)}.gate-hint{font-size:11.5px;color:var(--text-secondary);margin-top:8px;padding:8px 12px;background:#ef444414;border-radius:var(--radius-md);text-align:center}.exit-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .15s ease-out;padding:20px}.exit-modal{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:16px;padding:24px 20px 18px;max-width:320px;width:100%;text-align:center;box-shadow:0 10px 40px #0000004d;animation:modalPop .2s ease-out}.exit-modal-icon{font-size:44px;margin-bottom:8px}.exit-modal-title{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--text-primary)}.exit-modal-message{margin:0 0 20px;font-size:14px;color:var(--text-secondary);line-height:1.5}.exit-modal-actions{display:flex;gap:10px}.exit-modal-cancel,.exit-modal-confirm{flex:1;padding:12px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:700;cursor:pointer;border:none;transition:transform .1s}.exit-modal-cancel{background:#ffffff14;color:var(--text-primary);border:1px solid var(--glass-border)}.exit-modal-confirm{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.exit-modal-cancel:active,.exit-modal-confirm:active{transform:scale(.97)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.room-filters{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:14px}.room-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.room-filter-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-right:4px}.room-filter-pill{font-size:12px;font-weight:600;padding:5px 11px;border-radius:var(--radius-pill);background:#ffffff0f;color:var(--text-primary);border:1px solid var(--glass-border);cursor:pointer;transition:all .15s ease;white-space:nowrap}.room-filter-pill:active{transform:scale(.96)}.room-filter-pill.active{background:var(--accent-gradient, linear-gradient(135deg, #fbbf24, #f59e0b));color:#0c0c0e;border-color:transparent;box-shadow:0 2px 8px #fbbf2440}.room-filter-clear{align-self:flex-start;font-size:11px;font-weight:600;padding:4px 10px;border-radius:var(--radius-pill);background:#ef44441f;color:#ef4444;border:none;cursor:pointer;margin-top:2px}.room-filter-empty{padding:20px;text-align:center;color:var(--text-secondary);background:var(--bg-card);border:1px dashed var(--glass-border);border-radius:var(--radius-md);font-size:13px}.carousel-card-img.no-image{background:linear-gradient(135deg,#1f2937,#374151)}.card-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;opacity:.4}.carousel-card-img img{transition:opacity .3s}.games-shelf{margin-top:12px;flex:0 0 auto}.games-tile{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;transition:transform .08s ease,opacity .15s ease}.games-tile:active{transform:scale(.98)}.games-tile-icon{font-size:24px;flex:0 0 auto}.games-tile-text{display:flex;flex-direction:column;flex:1 1 auto;text-align:left}.games-tile-title{font-size:14px;font-weight:700}.games-tile-sub{font-size:12px;color:var(--text-muted)}.games-tile-chevron{font-size:20px;color:var(--text-muted);flex:0 0 auto}.games-placeholder-page{min-height:100dvh;padding:0 16px 16px}.games-placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px;gap:12px}.games-placeholder-icon{font-size:64px}.games-placeholder-content h3{font-size:22px;font-weight:800}.games-placeholder-content p{font-size:14px;color:var(--text-secondary);max-width:280px;line-height:1.5}.landing-page-fit .landing-header{position:relative}.landing-profile-btn{position:absolute;right:0;top:4px;width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:1px solid var(--glass-border);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .08s ease}.landing-profile-btn:active{transform:scale(.92)}.profile-page{min-height:100dvh;padding-bottom:max(16px,env(safe-area-inset-bottom))}.profile-avatar-row{display:flex;align-items:center;gap:12px;padding:8px 0 16px;margin-bottom:8px;border-bottom:1px solid var(--glass-border)}.profile-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--bg-card)}.profile-avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--text-secondary);border:1px solid var(--glass-border)}.profile-zalo-info{display:flex;flex-direction:column;gap:4px}.profile-zalo-name{font-size:16px;font-weight:700}.profile-kv-tag{font-size:11px;padding:2px 8px;border-radius:var(--radius-pill);background:#22c55e1f;color:#22c55e;align-self:flex-start;font-weight:600}.gender-pills{display:flex;gap:8px}.gender-pill{flex:1;padding:10px 12px;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--bg-card);color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .12s ease}.gender-pill-active{background:var(--accent-gradient, linear-gradient(135deg, #c084fc, #f472b6));color:#fff;border-color:transparent}.onboarding-sheet{max-width:420px;width:100%;padding:20px;display:flex;flex-direction:column;gap:12px}.onboarding-header{text-align:center;margin-bottom:8px}.onboarding-emoji{font-size:40px;display:block;margin-bottom:6px}.onboarding-header h3{font-size:18px;font-weight:800;margin-bottom:4px}.onboarding-header p{font-size:13px;color:var(--text-secondary);line-height:1.4}.onboarding-actions{display:flex;gap:8px;margin-top:4px}.onboarding-actions .primary-btn,.onboarding-actions .secondary-btn{flex:1;margin:0}.success-message{color:#22c55e;font-size:13px;padding:8px 12px;background:#22c55e1a;border-radius:var(--radius-md);margin:8px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-sheet{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);max-height:90dvh;overflow-y:auto}.member-card{flex:0 0 auto;margin-bottom:12px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--glass-border)}.member-card-cta{display:flex;align-items:center;gap:12px;padding:14px;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border-color:transparent}.member-card-cta-text{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.member-card-cta-text strong{font-size:14px;font-weight:800}.member-card-cta-text span{font-size:12px;opacity:.92;line-height:1.35}.member-card-cta-btn{flex:0 0 auto;padding:10px 16px;border-radius:var(--radius-pill);border:none;background:#fff;color:#15803d;font-weight:700;font-size:13px;cursor:pointer;transition:transform .08s ease,opacity .15s ease}.member-card-cta-btn:active{transform:scale(.96)}.member-card-cta-btn:disabled{opacity:.7;cursor:not-allowed}.member-card-registered{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--glass-border)}.member-card-identity{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:12px;padding:4px 0;min-height:48px;background:transparent;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.member-card-avatar{width:44px;height:44px;flex:0 0 auto;border-radius:50%;object-fit:cover;background:var(--bg-card)}.member-card-avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--text-secondary);border:1px solid var(--glass-border)}.member-card-name-block{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.member-card-name{font-size:15px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.member-card-tier-label{font-size:12px;color:var(--text-secondary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.member-card-stat{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:4px 0;min-height:48px;background:transparent;border:none;font:inherit;color:inherit;cursor:pointer}.member-card-stat-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);background:var(--accent-gradient);color:#fff;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.member-card-stat-icon{font-size:14px;line-height:1}.member-card-stat-link{font-size:11px;color:var(--text-secondary);font-weight:600}.member-card-locked{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-card);color:var(--text-muted);font-size:12px;line-height:1.4}.member-card-lock-icon{font-size:18px;flex:0 0 auto}.member-card-lock-text{flex:1 1 auto}.field-error{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:6px 10px;background:#ff47571a;border:1px solid rgba(255,71,87,.25);border-radius:var(--radius-sm);color:var(--error-color);font-size:12px;font-weight:500;line-height:1.4}.field-error:before{content:"⚠";flex:0 0 auto;line-height:1.4}.skeleton-row{display:flex;gap:12px;padding:8px 0 4px;overflow-x:hidden}.skeleton-card{flex:0 0 220px;height:280px;border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a,#ffffff0a 75%);background-size:200% 100%;animation:lazy-image-shimmer 1.4s linear infinite;border:1px solid var(--glass-border)}.tap-44,.gender-pill,.chip-group .chip,.adults-btn{min-height:44px;min-width:44px}.btn-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;vertical-align:-2px;animation:spin .8s linear infinite}.passcode-elapsed{display:block;margin-top:6px;font-size:11px;color:var(--text-secondary);opacity:.85}.passcode-retry-btn{display:inline-block;margin-top:10px;padding:10px 16px;min-height:44px;border:1px solid var(--glass-border-hover);background:transparent;color:var(--text-primary);font-size:13px;font-weight:600;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition),border-color var(--transition)}.passcode-retry-btn:hover{background:#ffffff0d;border-color:var(--glass-border-hover)}.member-card-badge-tier{background:linear-gradient(135deg,#f59e0b,#d97706)}.member-card-badge-loading{opacity:.6;background:transparent!important;border:1px dashed var(--glass-border);color:var(--text-muted);font-weight:600}.loyalty-page{padding:16px 16px 80px;max-width:480px;margin:0 auto}.loyalty-hero{position:relative;border-radius:var(--radius-lg);padding:22px 20px 18px;color:#fff;overflow:hidden;box-shadow:0 8px 24px #00000059;margin-bottom:16px}.loyalty-hero-tier-label{font-size:10px;letter-spacing:1.4px;font-weight:700;opacity:.85;text-transform:uppercase}.loyalty-hero-tier-name{font-size:20px;font-weight:800;margin-top:4px;line-height:1.2}.loyalty-hero-points{display:flex;align-items:baseline;gap:6px;margin-top:12px}.loyalty-hero-points-number{font-size:36px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}.loyalty-hero-points-label{font-size:14px;font-weight:600;opacity:.9}.loyalty-hero-meta{display:flex;gap:6px;margin-top:6px;font-size:11px;opacity:.85;font-variant-numeric:tabular-nums}.loyalty-hero-perks{list-style:none;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.25);font-size:12px;display:grid;gap:4px}.loyalty-hero-perks li:before{content:"✓ ";font-weight:700}.loyalty-hero-perks em{opacity:.9;font-style:normal}.loyalty-achievements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.loyalty-achievement{padding:12px 10px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border);display:flex;flex-direction:column;gap:4px}.loyalty-achievement-unlocked{border-color:#4ade8059;background:#4ade800f}.loyalty-achievement-locked{opacity:.55}.loyalty-achievement-icon{font-size:22px}.loyalty-achievement-name{font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.25}.loyalty-achievement-desc{font-size:11px;color:var(--text-secondary);line-height:1.35}.loyalty-achievement-reward{font-size:11px;color:var(--accent-pink);font-weight:700;font-variant-numeric:tabular-nums}.loyalty-transactions{list-style:none;display:flex;flex-direction:column;gap:8px}.loyalty-transaction{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border)}.loyalty-transaction-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.loyalty-transaction-reason{font-size:13px;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loyalty-transaction-date{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.loyalty-transaction-amount{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;flex:0 0 auto;padding-left:12px}.amount-positive{color:var(--success-color)}.amount-negative{color:var(--error-color)}.loyalty-footer-note{font-size:11px;color:var(--text-muted);text-align:center;margin-top:14px;line-height:1.5}.loyalty-skeleton-hero,.loyalty-skeleton-row{border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a,#ffffff0a 75%);background-size:200% 100%;animation:lazy-image-shimmer 1.4s linear infinite}.loyalty-skeleton-hero{height:180px;margin-bottom:14px}.loyalty-skeleton-row{height:56px;margin-bottom:8px}.loyalty-preview{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:8px 0 0;background:#8a2be21f;border:1px solid rgba(138,43,226,.3);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px}.loyalty-preview-icon{font-size:18px;flex:0 0 auto}.loyalty-preview-text{flex:1 1 auto;line-height:1.4}.loyalty-preview-points{font-weight:800;color:var(--accent-pink);font-variant-numeric:tabular-nums}.voucher-toggle-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 16px;min-height:44px;background:#8a2be21a;border:1px dashed rgba(138,43,226,.4);border-radius:var(--radius-md);color:var(--accent-purple);font-size:14px;font-weight:700;cursor:pointer;transition:background var(--transition)}.voucher-toggle-btn:hover{background:#8a2be22e}.voucher-toggle-balance{font-size:12px;color:var(--text-secondary);font-weight:500;font-variant-numeric:tabular-nums}.voucher-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}@media (min-width: 420px){.voucher-options{grid-template-columns:repeat(3,minmax(0,1fr))}}.voucher-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;min-height:88px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition),transform var(--transition)}.voucher-option:not(:disabled):hover{border-color:var(--accent-purple);transform:translateY(-1px)}.voucher-option:disabled{cursor:not-allowed}.voucher-option-locked{opacity:.55}.voucher-option-value{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent-purple)}.voucher-option-cost{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.voucher-option-lock-reason{font-size:10px;color:var(--text-muted);margin-top:2px;text-align:center;line-height:1.3}.voucher-cancel-btn{width:100%;margin-top:10px;padding:10px;min-height:44px;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;cursor:pointer}.voucher-card{padding:14px 16px;border-radius:var(--radius-md);background:linear-gradient(135deg,#8a2be226,#ff007f1a);border:1px solid rgba(138,43,226,.4);display:flex;flex-direction:column;gap:6px}.voucher-card-row{display:flex;justify-content:space-between;align-items:center}.voucher-card-label{font-size:12px;color:var(--text-secondary)}.voucher-card-value{font-size:16px;font-weight:800;color:var(--accent-pink);font-variant-numeric:tabular-nums}.voucher-card-code{font-family:monospace;font-size:13px;font-weight:700;color:var(--text-primary);letter-spacing:.5px}.voucher-card-note{margin-top:4px;font-size:11px;color:var(--text-secondary);line-height:1.4}.voucher-card-remove{margin-top:8px;padding:6px 12px;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;align-self:flex-start}.contact-summary{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--glass-border)}.contact-summary-body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.contact-summary-name{font-size:14px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-summary-phone{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.contact-summary-edit{flex:0 0 auto;padding:8px 14px;min-height:36px;background:transparent;border:1px solid var(--glass-border-hover);border-radius:var(--radius-pill);color:var(--accent-purple);font-size:12px;font-weight:700;cursor:pointer}.contact-summary-edit:hover{background:#8a2be21a}.contact-summary-collapse{margin-top:10px;width:100%;padding:8px;min-height:36px;background:transparent;border:1px dashed var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:12px;cursor:pointer}.profile-page-v2{padding:16px;padding-bottom:max(24px,env(safe-area-inset-bottom));max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.profile-hero{position:relative;padding:16px 16px 14px;border-radius:var(--radius-lg);color:#fff;box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column;gap:12px}.profile-hero-tier-label{font-size:11px;font-weight:800;letter-spacing:1.5px;opacity:.95;text-transform:uppercase}.profile-hero-row{display:flex;align-items:center;gap:12px}.profile-hero-identity{flex:1 1 auto;display:flex;align-items:center;gap:10px;min-width:0}.profile-hero-avatar{width:52px;height:52px;flex:0 0 auto;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.6);background:#00000026}.profile-hero-avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}.profile-hero-name-block{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.profile-hero-name{font-size:18px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-hero-tier-sub{font-size:12px;opacity:.92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-hero-stat{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;min-height:48px;background:transparent;border:none;font:inherit;color:inherit;cursor:pointer}.profile-hero-stat:disabled{cursor:default}.profile-hero-stat-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-pill);background:#ffffff2e;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.profile-hero-stat-number{line-height:1}.profile-hero-stat-link{font-size:11px;opacity:.9;font-weight:600}.profile-journey{margin-top:6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.25)}.profile-journey-title{font-size:10px;letter-spacing:1.4px;font-weight:700;opacity:.85;text-transform:uppercase;margin-bottom:8px}.profile-journey-track{display:flex;align-items:flex-start;justify-content:space-between;position:relative}.profile-journey-stop{flex:1 1 0;display:flex;flex-direction:column;align-items:center;position:relative;min-width:0}.profile-journey-dot{width:14px;height:14px;border-radius:50%;background:#ffffff40;border:2px solid rgba(255,255,255,.55);margin-bottom:6px;z-index:2}.profile-journey-stop.is-reached .profile-journey-dot{background:#fff;border-color:#fff}.profile-journey-stop.is-active .profile-journey-dot{width:18px;height:18px;margin-top:-2px;background:#fff;border-color:#fff;box-shadow:0 0 0 4px #ffffff40}.profile-journey-label{font-size:10px;font-weight:600;opacity:.92;text-align:center;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.profile-journey-stop.is-active .profile-journey-label{font-weight:800;opacity:1}.profile-journey-line{position:absolute;top:6px;left:50%;width:100%;height:2px;background:#ffffff40;z-index:1}.profile-journey-line.is-reached{background:#fff}.profile-account{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:14px 14px 18px;display:flex;flex-direction:column;gap:12px}.profile-account-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-account-title{font-size:14px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--text-primary);margin:0}.profile-account-edit{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;min-height:36px;background:transparent;border:none;color:var(--accent-purple);font-size:13px;font-weight:700;cursor:pointer}.profile-account-rows{display:flex;flex-direction:column}.profile-account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--glass-border);min-height:44px}.profile-account-row:last-child{border-bottom:none}.profile-account-row-label{flex:0 0 auto;font-size:13px;color:var(--text-secondary)}.profile-account-row-value{flex:1 1 auto;text-align:right;font-size:14px;color:var(--text-primary);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-account-row-edit{flex:1 1 auto;display:flex;justify-content:flex-end}.profile-account-input{width:100%;max-width:220px;text-align:right;background:#ffffff0a;border:1px solid var(--glass-border-hover);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-weight:600;padding:8px 10px;min-height:36px;font-family:var(--font)}.profile-account-input:focus{outline:none;border-color:var(--accent-purple)}:root{--font: "Be Vietnam Pro", "Inter", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-color);color:var(--text-primary);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}#app{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:transparent;color:inherit;padding:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}input,select,textarea{font-family:inherit;font-size:16px}.scroll-x{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:4px 16px}.scroll-x::-webkit-scrollbar{display:none}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:8px}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.bold{font-weight:700}.tabular{font-variant-numeric:tabular-nums}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell--with-tabs{padding-bottom:calc(var(--tab-bar-h, 72px) + var(--safe-bottom, 0px))}.app-shell--with-cta{padding-bottom:calc(var(--sticky-cta-h, 84px) + var(--safe-bottom, 0px))}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(var(--tab-bar-h, 64px) + var(--safe-bottom, 0px));padding-bottom:var(--safe-bottom, 0px);background:#0f0f16f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--glass-border);display:grid;grid-template-columns:repeat(4,1fr);z-index:60}.tab-bar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.01em;transition:color var(--transition),transform var(--transition);position:relative}.tab-bar__item:active{transform:scale(.94)}.tab-bar__item--active{color:var(--accent-pink)}.tab-bar__pip{position:absolute;top:-7px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:99px;background:var(--g-pink);box-shadow:0 0 8px var(--g-pink)}.tab-bar__icon{width:30px;height:30px;display:grid;place-items:center;transition:transform var(--transition)}.tab-bar__item--active .tab-bar__icon{transform:translateY(-1px) scale(1.06)}.detail-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;background:var(--bar);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.detail-header__back,.detail-header__action{width:36px;height:36px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);flex-shrink:0}.detail-header__title{flex:1;font-size:18px;font-weight:800;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sticky-cta{position:fixed;bottom:0;left:0;right:0;padding:12px 20px calc(12px + var(--safe-bottom, 0px));background:var(--bar);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;z-index:50}.sticky-cta__total{flex:1;display:flex;flex-direction:column}.sticky-cta__total small{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.sticky-cta__total strong{font-size:18px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:var(--radius-pill);font-weight:700;font-size:15px;transition:transform var(--transition),box-shadow var(--transition);min-height:44px}.btn:active{transform:scale(.98)}.btn--primary{background:var(--accent-gradient);color:var(--text-on-brand, #fff);box-shadow:var(--shadow-glow)}.btn--primary:hover{box-shadow:var(--shadow-pink)}.btn--secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--glass-border)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--block{width:100%}.btn--sm{padding:8px 14px;font-size:13px;min-height:36px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--card-r);overflow:hidden;transition:border-color var(--transition),transform var(--transition)}.card:active{transform:scale(.99)}.card--surface{background:var(--bg-surface)}.card__body{padding:var(--card-pad-y) var(--card-pad-x)}.card__body--tight{padding:var(--space-3)}.card__title{font-size:15px;font-weight:700;margin:0 0 2px;color:var(--text-primary);line-height:1.3}.card__subtitle{font-size:13px;color:var(--text-secondary);line-height:1.4}.section-label{font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;margin:0;display:block}.photo-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;position:relative;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.photo-card:active{transform:scale(.99)}.photo-card__media{position:relative;aspect-ratio:4 / 3;background:linear-gradient(135deg,#1a1a26,#25253a);overflow:hidden}.photo-card__media img{width:100%;height:100%;object-fit:cover}.photo-card__badges{position:absolute;top:10px;left:10px;display:flex;gap:6px;flex-wrap:wrap}.photo-card__body{padding:12px 14px 14px}.photo-card__title{font-size:15px;font-weight:700;margin:0 0 4px;color:var(--text-primary)}.photo-card__meta{font-size:12px;color:var(--text-muted);display:flex;gap:8px;flex-wrap:wrap}.photo-card__price{margin-top:8px;display:flex;align-items:baseline;gap:6px}.photo-card__price strong{font-size:16px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.photo-card__price small{font-size:11px;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;letter-spacing:.02em}.badge--brand{background:var(--accent-pink);color:#fff}.badge--soft{background:#8a2be22e;color:#c89bff;border:1px solid rgba(138,43,226,.3)}.badge--pink-soft{background:#ff007f29;color:#ff7eb6;border:1px solid rgba(255,0,127,.3)}.badge--success{background:#4ade8024;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.badge--warning{background:#fbbf2424;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.badge--danger{background:#ff475724;color:#ff7c87;border:1px solid rgba(255,71,87,.3)}.badge--muted{background:var(--bg-surface);color:var(--text-muted)}.badge--soldout{background:#ff4757f2;color:#fff;border:1px solid rgba(255,255,255,.4);font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 2px 8px #ff475766}.badge--avail{background:#000000b8;color:#fff;font-weight:700;letter-spacing:.02em;border:1.5px solid rgba(138,43,226,.85);box-shadow:0 2px 6px #00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-pill);background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap}.chip--active{background:var(--accent-pink);color:#fff;border-color:transparent}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-pill)}.segmented__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;text-align:center;padding:8px 6px 7px;border-radius:var(--radius-pill);font-size:12.5px;font-weight:600;line-height:1.15;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.segmented__item--active{background:var(--accent-pink);color:#fff}.segmented__count{display:block;min-width:18px;font-size:10.5px;font-weight:800;line-height:1;opacity:.68}.wiz-progress{display:flex;align-items:stretch;padding:12px 16px;gap:8px}.wiz-progress__step{flex:1 1 0;display:flex;flex-direction:column;gap:6px;min-width:0}.wiz-progress__node{display:none}.wiz-progress__label{font-size:12px;font-weight:600;color:var(--text-muted);white-space:nowrap;text-align:center;letter-spacing:.01em;padding-bottom:8px;border-bottom:3px solid var(--glass-border);border-radius:2px;transition:color var(--transition),border-color var(--transition)}.wiz-progress__step--active .wiz-progress__label,.wiz-progress__step--done .wiz-progress__label{color:var(--ink);font-weight:800;border-bottom-color:var(--g-pink)}.wiz-progress__step--active .wiz-progress__label{border-image:linear-gradient(135deg,#8a2be2,#ff007f) 1}.wiz-progress__line{display:none}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700}.status-pill--pending{background:#fbbf2424;color:#fbbf24}.status-pill--confirmed{background:#4ade8024;color:#4ade80}.status-pill--completed{background:#4a9eff24;color:#4a9eff}.status-pill--cancelled{background:#ff475724;color:#ff7c87}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:70;display:flex;align-items:flex-end;justify-content:center;animation:sheet-fade .2s ease-out}.sheet{width:100%;max-width:480px;max-height:92vh;overflow-y:auto;background:#13131ccc;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);border-top:1px solid rgba(255,255,255,.12);padding-bottom:calc(16px + var(--safe-bottom, 0px));animation:sheet-slide .25s ease-out}.sheet__handle{width:40px;height:4px;border-radius:99px;background:var(--line);margin:10px auto 16px}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.empty{text-align:center;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.empty__icon{width:96px;height:96px;border-radius:50%;background:var(--bg-surface);display:grid;place-items:center;font-size:36px}.empty__title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.empty__copy{font-size:13px;color:var(--text-muted);margin:0;max-width:280px;line-height:1.5}.chat-fab{position:fixed;right:16px;bottom:calc(var(--tab-bar-h, 72px) + 16px + var(--safe-bottom, 0px));z-index:55;display:flex;flex-direction:column;align-items:flex-end;gap:10px;opacity:.5;transition:opacity .25s ease}.chat-fab:hover,.chat-fab:focus-within,.chat-fab:active{opacity:1}.chat-fab__btn{width:52px;height:52px;border-radius:50%;background:var(--g-grad);display:grid;place-items:center;color:#fff;box-shadow:var(--btn-glow);transition:transform var(--transition)}.chat-fab__btn:active{transform:scale(.95)}.chat-fab__menu{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.chat-fab__menu-item{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);color:var(--ink);box-shadow:0 6px 18px #0006}.chat-fab__menu-item--zalo{background:#0068ff;color:#fff;border-color:transparent}.chat-fab__menu-item--instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);color:#fff;border-color:transparent}.chat-fab__menu-item--call{background:var(--g-grad);color:#fff;border-color:transparent}.tier-card{position:relative;border-radius:var(--radius-lg);padding:20px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.tier-card--locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:grayscale(.5);-webkit-backdrop-filter:grayscale(.5)}.tier-card__lock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:56px;height:56px;border-radius:50%;background:#0009;display:grid;place-items:center;color:#fff}.tier-card__lock-copy{position:absolute;bottom:16px;left:0;right:0;text-align:center;z-index:2;padding:0 16px;font-size:13px;color:#fff;font-weight:600}.carousel{position:relative;overflow:hidden}.carousel__track{display:flex;scroll-snap-type:x mandatory;overflow-x:auto;scrollbar-width:none}.carousel__track::-webkit-scrollbar{display:none}.carousel__slide{flex:0 0 100%;scroll-snap-align:start}.carousel__dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px}.carousel__dot{width:6px;height:6px;border-radius:50%;background:#ffffff80;transition:all var(--transition)}.carousel__dot--active{width:18px;border-radius:3px;background:#fff}@keyframes card-fade-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1}}.room-card{background:#1a1a26;position:relative;isolation:isolate;will-change:transform,box-shadow}.room-card:hover,.room-card:focus-visible,.room-card.room-card--lifted{z-index:50!important;box-shadow:0 14px 30px #0000008c,0 4px 10px #8a2be22e!important;transform:translateY(-4px) scale(1.02) rotate(0)!important;transition:transform .18s ease-out,box-shadow .18s ease-out!important}.room-card:active{transform:translateY(-2px) scale(1)!important;transition:transform .08s ease-out!important}.scroll-x.deck{padding:22px 28px 26px 16px}.room-card[data-touch-active=true]{z-index:50!important;transform:translateY(-4px) scale(1.02) rotate(0)!important;box-shadow:0 14px 30px #0000008c,0 4px 10px #8a2be22e!important;transition:transform .16s ease-out,box-shadow .16s ease-out!important}.room-desc{color:var(--text-secondary);font-size:14px;line-height:1.6}.room-desc>*:first-child{margin-top:0}.room-desc>*:last-child{margin-bottom:0}.room-desc h1,.room-desc h2,.room-desc h3{color:var(--text-primary);font-weight:800;font-size:15px;margin:16px 0 6px;line-height:1.35}.room-desc h4,.room-desc h5,.room-desc h6{color:var(--text-primary);font-weight:700;font-size:14px;margin:12px 0 4px;letter-spacing:.02em}.room-desc p{margin:0 0 10px}.room-desc strong,.room-desc b{color:var(--text-primary);font-weight:700}.room-desc em,.room-desc i{font-style:italic;color:var(--text-primary)}.room-desc ul,.room-desc ol{margin:6px 0 12px;padding-left:20px}.room-desc li{margin:4px 0;line-height:1.55}.room-desc a{color:var(--accent-pink);text-decoration:underline}.room-desc blockquote{margin:10px 0;padding:8px 12px;border-left:3px solid var(--accent-purple);background:#8a2be214;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-primary)}.room-desc code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#ffffff0f;padding:1px 5px;border-radius:4px}.time-dropdown{position:relative}.time-dropdown__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;color:var(--ink);font-size:16px;font-weight:800;padding:14px 40px 14px 16px;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.time-dropdown__select:focus,.time-dropdown__select:focus-visible{outline:none;border-color:var(--accent-purple);box-shadow:0 0 0 3px #8a2be22e}.time-dropdown__select option{background:var(--bg-color);color:var(--text-primary);font-size:16px}.time-dropdown__caret{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--accent-pink)}.date-summary{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:0;background:var(--card);border:1px solid var(--line);border-radius:var(--card-r);padding:0;text-align:left;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.date-summary:hover,.date-summary:focus-visible{border-color:var(--accent-purple);box-shadow:var(--shadow-glow)}.date-summary__pill{padding:11px 9px;display:flex;flex-direction:column;gap:4px;min-width:0}.date-summary__label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.date-summary__body{display:flex;align-items:center;gap:7px;min-width:0}.date-summary__day{font-size:30px;font-weight:800;line-height:1;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:0;display:inline-flex;align-items:center;min-height:36px}.date-summary__details{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;overflow:visible;line-height:1.2}.date-summary__details span{font-size:12px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:visible;text-overflow:clip}.date-summary__details small{font-size:10.5px;color:var(--text-secondary);letter-spacing:0;white-space:nowrap}.date-summary__divider{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 4px}.date-summary__arrow{font-size:22px;font-weight:900;color:var(--accent-pink);line-height:1;text-shadow:0 0 10px rgba(255,0,127,.5)}.date-summary__nights{font-size:10.5px;font-weight:800;letter-spacing:.04em;background:var(--g-grad);padding:4px 8px;border-radius:var(--radius-pill);color:#fff;white-space:nowrap;box-shadow:0 3px 10px #ff007f4d}.date-picker__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:80;display:flex;align-items:flex-end;justify-content:center}.date-picker{width:100%;max-width:480px;height:96vh;background:var(--bg-color);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);display:flex;flex-direction:column;animation:sheet-slide .25s ease-out}.date-picker__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--glass-border)}.date-picker__header strong{font-size:16px;font-weight:700}.date-picker__close{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--bg-card);color:var(--text-primary)}.date-picker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:8px 16px 6px;font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.04em;text-align:center;border-bottom:1px solid var(--glass-border)}.date-picker__scroll{flex:1;overflow-y:auto;padding:4px 16px 16px}.date-picker__month{margin-top:18px}.date-picker__month h3{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--text-primary)}.date-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);column-gap:0;row-gap:4px}.date-picker__cell{position:relative;aspect-ratio:1;display:grid;place-items:center;background:transparent;border:none;cursor:pointer;padding:0}.date-picker__cell--empty{visibility:hidden}.date-picker__day{position:relative;z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:600;color:var(--text-primary);transition:background .12s,color .12s}.date-picker__cell--past .date-picker__day{color:var(--text-muted);opacity:.45}.date-picker__cell--past{cursor:not-allowed}.date-picker__cell--today .date-picker__day{outline:1.5px dashed var(--accent-purple);outline-offset:-2px}.date-picker__cell--range:before,.date-picker__cell--start:before,.date-picker__cell--end:before{content:"";position:absolute;top:50%;height:46px;transform:translateY(-50%);background:#8a2be224;z-index:1}.date-picker__cell--range:before{left:0;right:0}.date-picker__cell--start:before{left:50%;right:0}.date-picker__cell--end:before{left:0;right:50%}.date-picker__cell--start .date-picker__day,.date-picker__cell--end .date-picker__day,.date-picker__cell--solo .date-picker__day{background:var(--accent-gradient);color:#fff;font-weight:800;box-shadow:0 4px 12px #ff007f59}.date-picker__footer{padding:12px 16px calc(12px + var(--safe-bottom, 0px));border-top:1px solid var(--glass-border);background:#0d0d12eb;display:flex;flex-direction:column;gap:6px;align-items:stretch}.spinner{width:22px;height:22px;border:2px solid var(--glass-border);border-top-color:var(--accent-pink);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.context-bar{position:sticky;top:0;z-index:30;background:#0d0d12e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px 16px;border-bottom:1px solid var(--glass-border)}.context-bar__row{display:flex;gap:8px;margin-top:10px;align-items:center;flex-wrap:wrap}.section-header{display:flex;align-items:baseline;justify-content:space-between;padding:20px 16px 12px}.section-header__title{font-size:17px;font-weight:800;margin:0}.section-header__link{font-size:13px;color:var(--accent-pink);font-weight:600}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.field__input{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 14px;color:var(--ink);font-size:15px;transition:border-color var(--transition)}.field__input:focus{outline:none;border-color:var(--accent-purple)}.field__error{font-size:12px;color:var(--error-color)}.receipt-band{background:var(--accent-gradient);padding:24px 20px 28px;color:#fff;display:flex;flex-direction:column;gap:6px}.receipt-band__label{font-size:12px;opacity:.85;text-transform:uppercase;letter-spacing:.08em}.receipt-band__code{font-size:24px;font-weight:800;letter-spacing:.02em}.quick-hero{margin:16px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#8a2be266,#ff007f59),radial-gradient(circle at top right,rgba(255,0,127,.4),transparent 60%);padding:20px;border:1px solid var(--glass-border);overflow:hidden;position:relative}.quick-hero__copy{max-width:70%}.quick-hero__title{font-size:18px;font-weight:800;margin:0 0 4px}.quick-hero__subtitle{font-size:13px;color:var(--text-secondary);margin:0 0 14px}html{background:var(--bg-color, #0b0b11)}body{min-height:100vh}.web-phone{width:min(100%,480px);min-height:100vh;margin:0 auto;overflow-x:hidden;background:var(--bg-color)}.web-phone .sticky-cta,.web-phone .tab-bar{right:auto;left:50%;width:min(100%,480px);transform:translate(-50%)}.web-phone.web-route-room .app-shell--with-cta>div:last-child{max-width:480px;margin-right:auto;margin-left:auto}.dk-shell{--dk-max: 1240px;--dk-gutter: 28px;--dk-nav-h: 68px;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:var(--font)}@media (min-width: 1024px){.dk-shell{--dk-gutter: 40px;--dk-nav-h: 74px}}.dk-main{flex:1 0 auto}.dk-wrap{width:100%;max-width:calc(var(--dk-max) + 2 * var(--dk-gutter));margin:0 auto;padding:0 var(--dk-gutter)}.dk-page{padding-top:24px;padding-bottom:64px}.dk-muted{color:var(--muted)}.dk-link{text-decoration:none}.dk-link:hover{color:var(--ink);text-decoration:underline}.dk-shell :is(button,a,input,select,[role=button],[tabindex="0"]):focus-visible{outline:2px solid var(--g-pink);outline-offset:2px}.dk-shell :is(button,[role=button],select):not(:disabled){cursor:pointer}.dk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:0;border-radius:12px;background:var(--g-grad);color:#fff;font:700 15px/1 var(--font);text-decoration:none;white-space:nowrap;box-shadow:var(--btn-glow);transition:transform var(--transition),filter var(--transition),box-shadow var(--transition)}.dk-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.dk-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.dk-btn--ghost{border:1px solid var(--line);background:#ffffff0a;color:var(--ink);box-shadow:none}.dk-btn--ghost:hover:not(:disabled){border-color:#ff007f73;filter:none}.dk-btn--sm{min-height:38px;padding:0 14px;font-size:13.5px}.dk-btn--lg{min-height:54px;font-size:16.5px;border-radius:14px}.dk-btn--block{width:100%}.dk-nav{position:sticky;top:0;z-index:40;background:#0b0b11d1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.dk-nav__row{display:flex;align-items:center;gap:28px;height:var(--dk-nav-h)}.dk-logo{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:none;color:var(--ink);font-family:var(--font)}.dk-logo__mark{width:34px;height:34px;border-radius:99px;background:var(--g-grad);display:grid;place-items:center;box-shadow:0 0 18px #ff007f73}.dk-logo__word{font-size:23px;font-weight:800;letter-spacing:-.3px}.dk-logo__sub{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}.dk-nav__links{display:flex;gap:4px}.dk-nav__links button{padding:8px 12px;border:0;border-radius:10px;background:none;color:var(--muted);font:600 14.5px/1 var(--font)}.dk-nav__links button:hover,.dk-nav__links button.is-on{color:var(--ink)}.dk-nav__links button:hover{background:#ffffff0d}.dk-nav__actions{margin-left:auto;display:flex;align-items:center;gap:12px}.dk-nav__tel{display:inline-flex;align-items:center;gap:7px;color:var(--text-secondary);font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}.dk-nav__tel:hover{color:var(--ink)}@media (max-width: 1023px){.dk-nav__links,.dk-logo__sub{display:none}}@media (max-width: 760px){.dk-nav__tel{display:none}}.dk-footer{margin-top:40px;border-top:1px solid var(--line);background:#08080d;color:var(--muted);font-size:14px}.dk-footer__grid{display:grid;grid-template-columns:1.6fr 1.4fr 1fr 1fr;gap:32px;padding-top:44px;padding-bottom:32px}.dk-footer__lead{margin:14px 0 0;max-width:34ch;line-height:1.6}.dk-footer h3{margin:0 0 12px;color:var(--ink);font-size:14px;font-weight:700}.dk-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;line-height:1.45}.dk-footer a{color:inherit;text-decoration:none}.dk-footer a:hover{color:var(--ink)}.dk-footer li a strong{display:block;color:var(--text-secondary);font-weight:600}.dk-footer__base{padding-top:18px;padding-bottom:28px;border-top:1px solid var(--line);font-size:12.5px}@media (max-width: 1023px){.dk-footer__grid{grid-template-columns:1fr 1fr}}.dk-hero{position:relative;min-height:560px;display:flex;overflow:hidden;isolation:isolate}.dk-hero{background:#14101c}.dk-hero__img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 40%}.dk-hero__scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#0b0b11e0,#0b0b118c 55%,#0b0b1140),linear-gradient(180deg,rgba(11,11,17,0) 55%,var(--bg) 100%)}.dk-hero__body{display:flex;flex-direction:column;justify-content:flex-end;padding-top:88px;padding-bottom:48px}.dk-eyebrow{margin:0;color:var(--lilac);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.dk-hero h1{margin:14px 0 12px;max-width:15em;font-size:clamp(36px,4.4vw,56px);line-height:1.08;letter-spacing:-.02em;font-weight:800}.dk-hero__lead{margin:0 0 30px;max-width:40em;color:#d6d6e4;font-size:17.5px;line-height:1.6}.dk-hero__trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;margin:22px 0 0;padding:0;color:var(--text-secondary);font-size:14px}.dk-hero__trust li{display:inline-flex;align-items:center;gap:8px}.dk-search{display:grid;gap:6px}.dk-search--hero{grid-template-columns:repeat(3,minmax(0,1fr)) auto;max-width:1040px;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#161620eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 24px 60px #00000080}.dk-search__field{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 16px;border:0;border-radius:16px;background:none;color:var(--ink);text-align:left;font-family:var(--font)}.dk-search__field:hover{background:#ffffff0f}.dk-search__field>span{display:grid;min-width:0}.dk-search__field small{color:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.dk-search__field strong{margin-top:3px;font-size:16.5px;font-weight:700;white-space:nowrap}.dk-search__field em{color:var(--text-secondary);font-size:13px;font-style:normal}.dk-search--hero .dk-search__field+.dk-search__field{position:relative}.dk-search--hero .dk-search__field+.dk-search__field:before{content:"";position:absolute;left:-3px;top:14px;bottom:14px;width:1px;background:var(--line)}.dk-search__go{min-height:0;padding:0 30px;border-radius:16px;font-size:16px}.dk-search--panel{grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.dk-search--panel .dk-search__field{border-radius:0;padding:12px 14px}.dk-search--panel .dk-search__field svg{display:none}.dk-search--panel .dk-search__field--out{border-left:1px solid var(--line)}.dk-search--panel .dk-search__field--guests{grid-column:1 / -1;border-top:1px solid var(--line)}.dk-search--panel .dk-search__field strong{font-size:15px}@media (max-width: 1023px){.dk-search--hero{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-search--hero .dk-search__field--guests:before{display:none}.dk-search__go{grid-column:1 / -1;min-height:52px}}.dk-rooms{scroll-margin-top:calc(var(--dk-nav-h) + 12px);padding-top:40px}.dk-rooms__head h2,.dk-band h2,.dk-how h2{margin:0;font-size:30px;font-weight:800;letter-spacing:-.01em}.dk-rooms__head p{margin:6px 0 0;font-size:15px}.dk-toolbar{position:sticky;top:var(--dk-nav-h);z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:20px calc(-1 * var(--dk-gutter)) 8px;padding:14px var(--dk-gutter);background:#0b0b11e6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.dk-toolbar__locations{display:flex;flex-wrap:wrap;gap:8px}.dk-loc-pill{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 16px;font-family:var(--font)}.dk-loc-pill strong{font-size:13.5px;white-space:nowrap}.dk-loc-pill small{font-size:11px;opacity:.7;white-space:nowrap}.dk-toolbar__filters{margin-left:auto;min-width:0}.dk-toolbar__filters>div{flex-wrap:wrap;overflow:visible!important;padding:0!important}@media (max-width: 1100px){.dk-toolbar__filters{margin-left:0}}.dk-section{margin-top:36px}.dk-section__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:18px}.dk-section__head h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:22px;font-weight:800}.dk-section__head .dk-muted{font-size:14px}.dk-count{margin-left:auto;color:var(--muted);font-size:13.5px;font-weight:600}.dk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}@media (max-width: 1023px){.dk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}.dk-grid .lm-room-card{min-width:0;max-width:none;border:1px solid var(--line);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.dk-grid .lm-room-card[aria-disabled=false]:hover{transform:translateY(-4px);border-color:#ff007f73;box-shadow:0 18px 40px #00000073}.dk-skeleton{aspect-ratio:4 / 5;border-radius:var(--card-r);background:linear-gradient(100deg,var(--card) 40%,#1f1f2b 50%,var(--card) 60%) 0 0 / 200% 100%;animation:dk-shimmer 1.4s linear infinite}@keyframes dk-shimmer{to{background-position:-200% 0}}.dk-favorites>section{margin-top:28px}.dk-favorites>section>div{padding-left:0!important;padding-right:0!important}.dk-rooms .empty{padding:64px 16px}.dk-band{margin-top:72px;padding:56px 0;scroll-margin-top:var(--dk-nav-h);background:linear-gradient(180deg,#8a2be214,#ff007f08);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dk-locations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}.dk-location{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--card)}.dk-location__img{position:relative;aspect-ratio:16 / 9;background:#1a1a26}.dk-location__body{padding:18px 20px 20px}.dk-location__body h3{margin:0;font-size:19px}.dk-location__body p{margin:6px 0 0;font-size:14px;line-height:1.5}.dk-location__concepts{color:var(--lilac);font-weight:600}.dk-location__actions{display:flex;gap:10px;margin-top:16px}@media (max-width: 1023px){.dk-locations{grid-template-columns:1fr}.dk-location{display:grid;grid-template-columns:240px 1fr}.dk-location__img{aspect-ratio:auto;min-height:160px}.dk-location__img>*{position:absolute!important;top:0;right:0;bottom:0;left:0}}.dk-how{padding-top:64px;scroll-margin-top:var(--dk-nav-h)}.dk-how ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 0;padding:0}.dk-how li{position:relative;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--card)}.dk-how li h3{margin:14px 0 8px;font-size:17px}.dk-how li p{margin:0;color:var(--text-secondary);font-size:14.5px;line-height:1.6}.dk-how__num{position:absolute;top:18px;right:22px;color:#ffffff24;font-size:40px;font-weight:800;line-height:1}.dk-how__note{margin:20px 0 0;color:var(--muted);font-size:14px}@media (max-width: 1023px){.dk-how ol{grid-template-columns:1fr}}.dk-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:13.5px}.dk-crumbs button{padding:0;border:0;background:none;color:var(--muted);font:inherit}.dk-crumbs button:hover{color:var(--ink);text-decoration:underline}.dk-crumbs [aria-current]{color:var(--text-secondary)}.dk-room__title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:14px}.dk-room__title h1{margin:0;font-size:clamp(30px,3vw,40px);font-weight:800;letter-spacing:-.01em;line-height:1.1}.dk-room__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;color:var(--muted);font-size:14.5px}.dk-room__meta>span:first-child{display:inline-flex;align-items:center;gap:6px}.dk-room__actions{display:flex;gap:10px;flex-shrink:0}.dk-gallery{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,220px));gap:10px;margin:22px 0 36px;overflow:hidden;border-radius:22px}.dk-gallery__item{position:relative;padding:0;border:0;background:#1a1a26;overflow:hidden}.dk-gallery__item img{transition:transform .4s ease}.dk-gallery__item:hover img{transform:scale(1.03)}.dk-gallery__item:first-child{grid-row:1 / 3}.dk-gallery--1{grid-template-columns:1fr;grid-template-rows:440px}.dk-gallery--2{grid-template-columns:2fr 1fr}.dk-gallery--2 .dk-gallery__item:nth-child(2){grid-row:1 / 3}.dk-gallery--3{grid-template-columns:2fr 1fr}.dk-gallery--4 .dk-gallery__item:nth-child(4){grid-column:2 / 4}.dk-gallery__empty{grid-column:1 / -1;grid-row:1 / -1;display:grid;place-items:center;background:#1a1a26;font-size:56px}.dk-gallery__all{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:#0c0c14b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font:700 13.5px/1 var(--font)}.dk-room__cols{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:56px;align-items:start}.dk-amenities{display:flex;flex-wrap:wrap;gap:12px}.dk-amenity{display:grid;justify-items:center;gap:8px;min-width:112px;padding:16px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card);font-size:13px;font-weight:700}.dk-block{padding:28px 0;border-bottom:1px solid var(--line)}.dk-block:last-child{border-bottom:0}.dk-block h2{margin:0 0 14px;font-size:21px;font-weight:800}.dk-block .room-desc{max-width:72ch;font-size:15.5px}.dk-specs{display:flex;flex-wrap:wrap;gap:28px;margin-top:20px}.dk-amenity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;font-size:15px}.dk-amenity-list span{display:inline-flex;align-items:center;gap:12px}.dk-highlights{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0}.dk-highlights li{padding:6px 12px;border-radius:99px;background:#ffffff0f;color:var(--text-secondary);font-size:13px}.dk-note{margin:18px 0 0;color:var(--muted);font-size:13px}.dk-map{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);text-decoration:none}.dk-map:hover{border-color:#ff007f73}.dk-map>span:nth-child(2){display:grid;gap:3px;font-size:14.5px}.dk-map__pin{width:44px;height:44px;flex-shrink:0;border-radius:99px;background:var(--g-grad);display:grid;place-items:center}.dk-map__cta{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--g-pink);font-weight:700;font-size:14px}.dk-policy{margin:0;padding-left:20px;color:var(--text-secondary);line-height:1.9}.dk-panel{position:sticky;top:calc(var(--dk-nav-h) + 20px);display:grid;gap:16px;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:var(--card);box-shadow:0 22px 60px #00000073}.dk-panel__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.dk-panel__amount{font-size:28px;font-weight:800;line-height:1.1}.dk-panel__lines{display:grid;gap:10px;color:var(--text-secondary);font-size:14.5px}.dk-panel__lines>div{display:flex;justify-content:space-between;gap:12px}.dk-panel__total,.dk-summary__total{align-items:baseline;padding-top:12px;border-top:1px solid var(--line);color:var(--ink);font-size:17px;font-weight:800}.dk-panel__total [role=img],.dk-summary__total [role=img]{text-align:right}.dk-panel__soldout{margin:0;padding:12px 14px;border:1px solid rgba(255,0,127,.35);border-radius:12px;background:#ff007f14;font-size:13.5px;line-height:1.5}.dk-panel__note,.dk-summary__note,.dk-summary__hint{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5;text-align:center}.dk-nearby{margin-top:56px}@media (max-width: 1023px){.dk-room__title{flex-direction:column;align-items:flex-start}.dk-gallery{grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,minmax(0,180px))}.dk-gallery__item:nth-child(n+4){display:none}.dk-gallery--4 .dk-gallery__item:nth-child(4){grid-column:auto}.dk-room__cols{grid-template-columns:1fr;gap:8px}.dk-panel{position:static;grid-row:1}}.dk-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;grid-template-rows:1fr auto auto;gap:12px;padding:56px 24px 24px;background:#050508f0}.dk-lightbox__close{position:absolute;top:14px;right:18px;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:#ffffff0f;display:grid;place-items:center}.dk-lightbox__stage{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;min-height:0}.dk-lightbox__stage img{width:100%;height:100%;max-height:calc(100vh - 220px);object-fit:contain}.dk-lightbox__nav{width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:#ffffff0f;display:grid;place-items:center}.dk-lightbox__count{text-align:center;color:var(--text-secondary);font-size:13px}.dk-lightbox__thumbs{display:flex;gap:8px;justify-content:center;overflow-x:auto}.dk-lightbox__thumbs button{flex:0 0 auto;width:84px;height:60px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;opacity:.6}.dk-lightbox__thumbs button.is-on{border-color:var(--g-pink);opacity:1}.dk-lightbox__thumbs img{width:100%;height:100%;object-fit:cover}.dk-checkout__top{display:flex;justify-content:space-between;gap:12px}.dk-back{display:inline-flex;align-items:center;gap:6px;padding:6px 0;border:0;background:none;color:var(--muted);font:600 14px/1 var(--font)}.dk-back:hover{color:var(--ink)}.dk-checkout__title{margin:14px 0 0;font-size:34px;font-weight:800}.dk-steps{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px 0;margin:18px 0 28px;padding:0}.dk-step{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:14.5px;font-weight:700}.dk-step+.dk-step:before{content:"";width:40px;height:1px;margin:0 14px;background:var(--line)}.dk-step__num{width:28px;height:28px;border:1px solid var(--line);border-radius:99px;display:grid;place-items:center;font-size:12.5px}.dk-step--on{color:var(--ink)}.dk-step--on .dk-step__num{border:0;background:var(--g-grad);color:#fff;box-shadow:0 0 14px #ff007f73}.dk-step--done{color:var(--text-secondary)}.dk-step--done .dk-step__num{border-color:transparent;background:#c9a2ff2e;color:var(--lilac)}.dk-checkout__cols{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start}.dk-checkout__main{min-width:0;padding:8px 28px 28px;border:1px solid var(--line);border-radius:22px;background:#16161f99}.dk-checkout__main>section,.dk-checkout__main>[role=alert],.dk-checkout__main>div[style*="margin: 0px 16px"]{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}.dk-checkout__main>div[style*="margin: 0px 16px"]{margin-top:16px!important}.dk-checkout__main h2{font-size:22px!important}.dk-checkout__main .field__input,.dk-checkout__main .time-dropdown__select{min-height:50px}.dk-checkout__main>section.stack:has(>.field){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dk-checkout__main>section.stack:has(>.field)>:not(.field){grid-column:1 / -1}.dk-checkout__main .scroll-x.deck{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px!important;overflow:visible!important;padding:4px 0 8px!important}.dk-checkout__main .scroll-x.deck>*{min-width:0;max-width:none}.dk-summary{position:sticky;top:calc(var(--dk-nav-h) + 20px);display:grid;gap:16px;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:var(--card);box-shadow:0 22px 60px #00000073}.dk-summary__room{display:flex;align-items:center;gap:14px}.dk-summary__room>div:last-child{display:grid;gap:3px;min-width:0}.dk-summary__room strong{font-size:17px}.dk-summary__room .dk-muted{font-size:13px}.dk-summary__room--empty{padding:16px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.dk-summary__img img{width:100%;height:100%;object-fit:cover;display:block}.dk-summary__img{position:relative;width:104px;height:78px;flex-shrink:0;overflow:hidden;border-radius:12px;background:#1a1a26}.dk-summary__trip{display:grid;gap:10px;margin:0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dk-summary__trip>div{display:flex;justify-content:space-between;gap:12px;font-size:14.5px}.dk-summary__trip dt{color:var(--muted)}.dk-summary__trip dd{margin:0;font-weight:600}.dk-summary__lines{display:grid;gap:10px;color:var(--text-secondary);font-size:14.5px}.dk-summary__lines>div{display:flex;justify-content:space-between;gap:12px}.dk-summary__discount{color:var(--lilac)}.dk-summary__note{display:flex;align-items:flex-start;justify-content:center;gap:6px}@media (max-width: 1023px){.dk-checkout__cols{grid-template-columns:1fr;gap:20px}.dk-checkout__main{padding:4px 20px 20px}.dk-checkout{padding-bottom:120px}.dk-summary{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;padding:14px var(--dk-gutter) calc(14px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;border-width:1px 0 0;grid-template-columns:1fr auto;align-items:center;gap:10px 16px}.dk-summary>:not(.dk-summary__lines):not(.dk-btn){display:none}.dk-summary__lines>div:not(.dk-summary__total){display:none}.dk-summary__total{padding-top:0;border-top:0}.dk-summary>.dk-btn{width:auto;min-width:220px}}.dk-receipt-page{display:grid;grid-template-columns:minmax(0,720px) minmax(0,360px);justify-content:center;gap:40px;align-items:start}.dk-receipt{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--bg-color);box-shadow:0 24px 60px #0006}.dk-receipt-aside{position:sticky;top:calc(var(--dk-nav-h) + 20px);padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--card)}.dk-receipt-aside h2{margin:0 0 16px;font-size:20px}.dk-receipt-aside ol{list-style:none;display:grid;gap:16px;margin:0 0 20px;padding:0}.dk-receipt-aside li{display:flex;gap:12px}.dk-receipt-aside li p{margin:4px 0 0;color:var(--text-secondary);font-size:13.5px;line-height:1.5}.dk-receipt-aside__icon{width:38px;height:38px;flex-shrink:0;border-radius:12px;background:#8a2be229;display:grid;place-items:center}.dk-receipt-aside__actions{display:grid;gap:10px}.dk-receipt-aside__note{margin:14px 0 0;font-size:12.5px;text-align:center}@media (max-width: 1023px){.dk-receipt-page{grid-template-columns:minmax(0,1fr)}.dk-receipt-aside{position:static}}.dk-receipt .detail-header{position:static}.dk-receipt .sticky-cta{position:static;transform:none;width:auto;border-top:1px solid var(--line)}.dk-receipt .app-shell--with-cta{padding-bottom:0}@media (min-width: 641px){.sheet-overlay{align-items:center;padding:24px}.sheet{max-width:540px;max-height:min(88vh,780px);padding-top:22px;padding-bottom:24px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);background:#13131cf5;box-shadow:0 30px 80px #0009}.sheet__handle{display:none}.date-picker__overlay{align-items:center;padding:24px}.date-picker{max-width:540px;height:min(92vh,820px);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}}
