.mobile-detail-modal-backdrop{position:fixed;inset:0;background:#0b1528b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10000000;display:flex;align-items:flex-end;justify-content:center;animation:fadeInBackdrop .25s ease-out;overflow:hidden;width:100%;height:100%;max-width:100%}.mobile-detail-modal-sheet{width:100%;max-width:100%;height:100%;max-height:100%;background:#fff;border-radius:0;overflow-y:auto!important;overflow-x:hidden!important;display:flex;flex-direction:column;box-shadow:none;animation:slideUpModal .32s cubic-bezier(.16,1,.3,1);position:fixed;inset:0;z-index:10000001;box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:none!important;-ms-overflow-style:none!important}.mobile-detail-modal-sheet::-webkit-scrollbar,.mobile-detail-modal-sheet *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.modal-hero-view{position:relative;width:100%;max-width:100%;height:34vh;min-height:220px;max-height:280px;flex-shrink:0;background:#0b1528;overflow:hidden}.modal-hero-img{width:100%;height:100%;object-fit:cover;object-position:center}.modal-top-actions{position:absolute;top:max(14px,env(safe-area-inset-top,14px));left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;z-index:5;box-sizing:border-box}.modal-circle-btn{width:40px;height:40px;border-radius:50%;background:#fffffff2;backdrop-filter:blur(10px);border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000026;cursor:pointer;transition:transform .12s ease;flex-shrink:0}.modal-circle-btn:active{transform:scale(.9)}.modal-circle-btn.is-fav{color:#007aff}.modal-right-actions{display:flex;align-items:center;gap:8px}.modal-content-body{position:relative;margin-top:-24px;border-radius:24px 24px 0 0;background:#fff;padding:14px 16px 36px;z-index:2;flex:1;display:flex;flex-direction:column;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.modal-handle-bar{width:36px;height:4px;border-radius:2px;background:#e2e8f0;margin:0 auto 12px}.modal-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;width:100%;box-sizing:border-box}.modal-title-group{flex:1;min-width:0}.modal-tour-title{font-size:19px;font-weight:800;color:#0f172a;margin:0 0 6px;letter-spacing:-.02em;line-height:1.25;word-break:break-word}.modal-meta-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:#64748b;font-weight:600}.meta-chip{display:inline-flex;align-items:center;gap:4px}.meta-dot{color:#cbd5e1}.modal-price-pill-blue{display:inline-flex;align-items:center;gap:4px;background:#007aff;color:#fff;padding:8px 14px;border-radius:24px;font-size:14px;font-weight:800;flex-shrink:0;box-shadow:0 4px 14px #007aff59}.modal-specs-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;width:100%;background:#fff;border:1.5px solid #f4f5f8;border-radius:14px;padding:10px;box-sizing:border-box}.spec-tile{display:flex;align-items:center;gap:12px;background:#f4f5f8;border:none;border-radius:10px;padding:10px 12px;width:100%;box-sizing:border-box}.spec-icon-box{width:32px;height:32px;border-radius:8px;background:#fff;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0}.spec-tile-content{display:flex;flex-direction:column;min-width:0;flex:1}.spec-tile-label{font-size:12.5px;font-weight:700;color:#1e293b;line-height:1.3;margin-bottom:2px}.spec-tile-value{font-size:11px;font-weight:500;color:#64748b;line-height:1.35;word-break:break-word}.modal-status-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1.5px solid #f4f5f8;border-radius:12px;padding:10px 12px;margin-bottom:14px;width:100%;box-sizing:border-box}.status-banner-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.status-indicator-dot{width:8px;height:8px;border-radius:50%;background:#000;flex-shrink:0}.status-banner-text{font-size:11.5px;font-weight:700;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-banner-cat{font-size:10.5px;font-weight:700;color:#000;background:#f4f5f8;border:none;padding:3px 8px;border-radius:6px;flex-shrink:0}.modal-section-card{background:#fff;border:1.5px solid #f4f5f8;border-radius:14px;padding:14px;margin-bottom:12px;width:100%;box-sizing:border-box}.modal-card-title{font-size:14px;font-weight:800;color:#0f172a;margin:0 0 10px;letter-spacing:-.01em}.modal-desc-paragraph{font-size:13px;color:#475569;line-height:1.6;margin:0;word-break:break-word}.modal-room-types-list{display:flex;flex-direction:column;gap:8px}.room-type-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f4f5f8;border-radius:10px;border:none}.room-type-info{display:flex;flex-direction:column;min-width:0}.room-type-name{font-size:12.5px;font-weight:700;color:#1e293b}.room-type-desc{font-size:11px;color:#64748b}.room-type-price{font-size:13.5px;font-weight:800;color:#007aff;flex-shrink:0}.modal-itinerary-timeline{display:flex;flex-direction:column;gap:10px}.itinerary-timeline-item{display:flex;align-items:flex-start;gap:10px}.itinerary-day-badge{background:#007aff;color:#fff;font-size:10.5px;font-weight:800;padding:3px 7px;border-radius:6px;flex-shrink:0;margin-top:2px}.itinerary-day-content{flex:1;min-width:0}.itinerary-step-title{font-size:12.5px;font-weight:700;color:#0f172a;display:block;margin-bottom:2px}.itinerary-step-desc{font-size:12px;color:#64748b;margin:0;line-height:1.45}.modal-bullet-list{display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box}.modal-bullet-item{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:600;line-height:1.45;word-break:break-word}.modal-bullet-item.included{color:#334155}.modal-bullet-item.excluded{color:#64748b}.bullet-svg{flex-shrink:0;margin-top:2px}.modal-bottom-actions{display:flex;align-items:center;gap:10px;margin-top:auto;padding:12px 0 6px;position:sticky;bottom:0;background:#fff;width:100%;box-sizing:border-box;z-index:10}.btn-modal-reservation-full{width:100%;height:48px;background:#25d366;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14.5px;font-weight:700;text-decoration:none;box-shadow:none;transition:transform .12s ease,background .15s ease}.btn-modal-reservation-full:active{transform:scale(.97);background:#1eb956}.mobile-detail-modal-backdrop.closing{animation:fadeOutBackdrop .28s cubic-bezier(.4,0,.2,1) forwards}.mobile-detail-modal-sheet.closing{animation:slideDownModal .28s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideUpModal{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}@keyframes slideDownModal{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:.8}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes fadeOutBackdrop{0%{opacity:1}to{opacity:0}}
