.flow-page-wrapper{min-height:100vh;background-color:#f8fafc;color:#0f172a;display:flex;flex-direction:column}.flow-container{max-width:1280px;margin:0 auto;padding:28px 20px 60px;width:100%}.flow-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#64748b;margin-bottom:20px}.flow-breadcrumb a{color:#64748b;text-decoration:none;font-weight:500;transition:color .15s}.flow-breadcrumb a:hover{color:#4f46e5}.search-header-bar{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 20px;margin-bottom:28px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;box-shadow:0 2px 10px rgba(0,0,0,.03)}.search-input-box{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #cbd5e1;padding:10px 14px;border-radius:8px;color:#0f172a;transition:border-color .15s}.search-input-box:focus-within{border-color:#6366f1;background:#fff}.search-input-box input,.search-input-box select{background:transparent;border:none;color:#0f172a;outline:none;font-size:.9375rem;font-weight:500}.search-meta-title h1{font-size:1.625rem;font-weight:800;margin:0 0 4px;color:#0f172a}.search-meta-title p{font-size:.875rem;color:#64748b;margin:0}.search-sort-group{display:flex;align-items:center;gap:10px}.search-sort-group label{font-size:.875rem;color:#475569;font-weight:600}.search-select{background:#fff;border:1px solid #cbd5e1;color:#0f172a;padding:8px 14px;border-radius:8px;font-size:.875rem;font-weight:500;outline:none;cursor:pointer}.search-select:focus{border-color:#6366f1}.search-layout-grid{display:grid;grid-template-columns:280px 1fr;grid-gap:28px;gap:28px;align-items:start}@media (max-width:900px){.search-layout-grid{grid-template-columns:1fr}}.search-filter-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:22px;position:-webkit-sticky;position:sticky;top:90px;box-shadow:0 2px 10px rgba(0,0,0,.03)}.filter-section{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #f1f5f9}.filter-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.filter-title{font-size:.95rem;font-weight:700;color:#0f172a;margin:0 0 12px;justify-content:space-between}.filter-option,.filter-title{display:flex;align-items:center}.filter-option{gap:10px;font-size:.875rem;color:#334155;margin-bottom:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500}.filter-option input[type=checkbox],.filter-option input[type=radio]{accent-color:#4f46e5;width:16px;height:16px;cursor:pointer}.filter-price-slider{width:100%;accent-color:#4f46e5;cursor:pointer}.filter-price-labels{display:flex;justify-content:space-between;font-size:.8125rem;color:#64748b;margin-top:6px;font-weight:500}.hotel-results-list{display:flex;flex-direction:column;gap:20px}.hotel-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:320px 1fr;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.04)}.hotel-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.08);border-color:#cbd5e1}@media (max-width:768px){.hotel-card{grid-template-columns:1fr}}.hotel-card-media{position:relative;min-height:220px;background:#e2e8f0}.hotel-card-img{width:100%;height:100%;object-fit:cover;display:block}.hotel-badge-row{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:6px}.hotel-badge{padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge-elite{background:#f59e0b;color:#000}.badge-premium{background:#4f46e5;color:#fff}.badge-basic{background:#334155;color:#fff}.badge-couple{background:#db2777;color:#fff}.hotel-card-content{padding:22px 24px;flex-direction:column}.hotel-card-content,.hotel-card-top{display:flex;justify-content:space-between}.hotel-card-top{align-items:flex-start;gap:12px;margin-bottom:8px}.hotel-name{font-size:1.25rem;font-weight:800;color:#0f172a;margin:0 0 6px}.hotel-location{display:flex;gap:6px;color:#64748b;font-weight:500}.hotel-location,.hotel-rating-badge{align-items:center;font-size:.875rem}.hotel-rating-badge{display:inline-flex;gap:4px;background:#059669;color:#fff;padding:4px 8px;border-radius:6px;font-weight:700;flex-shrink:0}.hotel-amenities-tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.amenity-tag{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;padding:4px 10px;border-radius:6px;font-size:.8125rem;font-weight:500;display:flex;align-items:center;gap:5px}.hotel-card-bottom{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid #f1f5f9;padding-top:16px;margin-top:10px}.hotel-price-block{display:flex;flex-direction:column}.hotel-price-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.hotel-price-val{font-size:1.5rem;font-weight:800;color:#0f172a}.hotel-price-tax{font-size:.75rem;color:#059669;font-weight:600}.btn-view-hotel{background:#1e40af;color:#fff;padding:10px 20px;border-radius:8px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .15s,transform .15s}.btn-view-hotel:hover{background:#172554;transform:translateY(-1px)}.hotel-hero-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;grid-gap:12px;gap:12px;border-radius:16px;overflow:hidden;margin-bottom:32px}@media (max-width:768px){.hotel-hero-gallery{grid-template-columns:1fr;grid-template-rows:240px}}.gallery-item-cover{grid-row:span 2;position:relative}.gallery-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-img:hover{transform:scale(1.02)}.hotel-details-grid{display:grid;grid-template-columns:1fr 380px;grid-gap:36px;gap:36px}@media (max-width:992px){.hotel-details-grid{grid-template-columns:1fr}}.hotel-info-section{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:26px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.03)}.hotel-section-title{font-size:1.25rem;font-weight:800;color:#0f172a;margin:0 0 16px;display:flex;align-items:center;gap:10px}.room-card-selection{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:18px;margin-bottom:18px;display:flex;align-items:center;gap:20px;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.03)}.room-card-selection:hover{border-color:#6366f1;box-shadow:0 6px 20px rgba(99,102,241,.12);transform:translateY(-1px)}.room-thumb-wrap{width:200px;height:140px;flex-shrink:0;border-radius:10px;overflow:hidden;position:relative;background:#f1f5f9}.room-thumb-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.room-card-selection:hover .room-thumb-img{transform:scale(1.05)}.room-details-mid{flex:1 1;min-width:0}.room-meta-title{font-size:1.15rem;font-weight:800;color:#0f172a;margin:0 0 6px;line-height:1.3}.room-features{display:flex;flex-wrap:wrap;gap:12px;font-size:.8125rem;color:#475569;font-weight:600;margin-bottom:10px}.room-pricing-action{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;min-width:170px;padding-left:16px;border-left:1px solid #f1f5f9}@media (max-width:768px){.room-card-selection{flex-direction:column;align-items:stretch}.room-thumb-wrap{width:100%;height:180px}.room-pricing-action{border-left:none;border-top:1px solid #f1f5f9;padding-left:0;padding-top:14px;align-items:stretch;text-align:left}}.hold-timer-banner{background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;padding:14px 20px;margin-bottom:28px;display:flex;align-items:center;justify-content:space-between;color:#92400e}.hold-timer-text{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.95rem}.hold-countdown{font-family:monospace;font-size:1.25rem;font-weight:800;background:#fef3c7;color:#b45309;padding:4px 12px;border-radius:6px;border:1px solid #fde68a}.checkout-grid{display:grid;grid-template-columns:1fr 400px;grid-gap:32px;gap:32px}@media (max-width:900px){.checkout-grid{grid-template-columns:1fr}}.form-group-flow{margin-bottom:16px}.form-label-flow{display:block;font-size:.875rem;font-weight:700;color:#334155;margin-bottom:6px}.form-input-flow{width:100%;background:#f8fafc;border:1px solid #cbd5e1;color:#0f172a;padding:10px 14px;border-radius:8px;font-size:.9375rem;outline:none;box-sizing:border-box;font-weight:500}.form-input-flow:focus{border-color:#4f46e5;background:#fff}.onboarding-stepper{display:flex;justify-content:space-between;position:relative;margin-bottom:36px;padding:0 10px}.onboarding-stepper:before{content:"";position:absolute;top:18px;left:30px;right:30px;height:2px;background:#e2e8f0;z-index:1}.stepper-item{position:relative;z-index:2;flex-direction:column;text-align:center;width:100px}.stepper-circle,.stepper-item{display:flex;align-items:center}.stepper-circle{width:38px;height:38px;border-radius:50%;background:#fff;border:2px solid #cbd5e1;justify-content:center;font-weight:700;color:#64748b;margin-bottom:8px;transition:all .2s}.stepper-item.active .stepper-circle{background:#4f46e5;border-color:#4f46e5;color:#fff;box-shadow:0 0 12px rgba(79,70,229,.4)}.stepper-item.completed .stepper-circle{background:#059669;border-color:#059669;color:#fff}.stepper-label{font-size:.75rem;font-weight:600;color:#64748b}.stepper-item.active .stepper-label{color:#0f172a;font-weight:700}.file-upload-box{border:2px dashed #cbd5e1;border-radius:12px;padding:30px 20px;text-align:center;background:#f8fafc;cursor:pointer;transition:border-color .2s,background .2s}.file-upload-box:hover{border-color:#4f46e5;background:#eef2ff}.photo-upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:12px;gap:12px;margin-top:14px}.photo-preview-item{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 1px 3px rgba(0,0,0,.08);background:#f1f5f9}.photo-preview-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.photo-preview-item:hover img{transform:scale(1.05)}.photo-remove-btn{position:absolute;top:6px;right:6px;background:rgba(15,23,42,.75);color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.photo-remove-btn:hover{background:#ef4444}.photo-cover-tag{position:absolute;bottom:6px;left:6px;background:#4f46e5;color:#fff;font-size:.6875rem;font-weight:600;padding:2px 6px;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.doc-uploaded-card{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-top:12px}@media (min-width:900px){.terms-sidebar-desktop{display:block!important}}