.booking-hero{background:linear-gradient(#00000080,#00000080),url(https://images.unsplash.com/photo-1582719508461-905c673771fd?w=1600) center/cover;color:#fff;padding:var(--spacing-xl) 0;text-align:center;height:40vh}.booking-hero h1{font-size:var(--fs-xxlarge);margin-bottom:var(--spacing-sm);color:#fff;margin-top:100px}.booking-hero p{font-size:var(--fs-medium)}.booking-steps{background:#fff;padding:var(--spacing-lg) 0;box-shadow:var(--shadow-sm);position:sticky;top:120px;z-index:100}.steps-container{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.step{display:flex;align-items:center;gap:10px}.step-number{width:40px;height:40px;border-radius:50%;background:var(--background-gray);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:700;transition:var(--transition-normal)}.step.active .step-number{background:var(--primary-color);color:#fff}.step.completed .step-number{background:var(--success-color);color:#fff}.step-label{font-weight:500;color:var(--text-light)}.step.active .step-label{color:var(--text-dark)}.step-separator{width:50px;height:2px;background:var(--border-color)}.booking-form-section{padding:var(--spacing-xxl) 0}.booking-container{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-xl)}.booking-main{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.form-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:2px solid var(--border-color)}.form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section h3{font-size:var(--fs-large);margin-bottom:var(--spacing-md);color:var(--text-dark);display:flex;align-items:center;gap:var(--spacing-sm)}.form-section h3 i{color:var(--primary-color)}.booking-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.form-note{background:var(--accent-color);padding:var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--fs-small);color:var(--text-dark);margin-top:var(--spacing-md)}.form-note i{color:var(--primary-color);margin-right:8px}.booking-sidebar{position:sticky;top:200px;height:fit-content}.booking-summary{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-md)}.booking-summary h3{font-size:var(--fs-large);margin-bottom:var(--spacing-md);color:var(--text-dark)}.summary-item{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color)}.summary-item:last-child{border-bottom:none}.summary-label{color:var(--text-light);font-size:var(--fs-small)}.summary-value{color:var(--text-dark);font-weight:500;font-size:var(--fs-small)}.summary-total{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:2px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.summary-total .summary-label{font-size:var(--fs-medium);font-weight:600;color:var(--text-dark)}.summary-total .summary-value{font-size:var(--fs-xlarge);color:var(--primary-color);font-weight:700}.room-preview{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.room-preview-image{height:200px;overflow:hidden}.room-preview-image img{width:100%;height:100%;object-fit:cover}.room-preview-content{padding:var(--spacing-md)}.room-preview-content h4{font-size:var(--fs-medium);margin-bottom:8px;color:var(--text-dark)}.room-preview-content p{color:var(--text-light);font-size:var(--fs-small);margin-bottom:var(--spacing-sm)}.room-preview-features{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.room-preview-features span{font-size:12px;padding:4px 10px;background:var(--accent-color);border-radius:12px;color:var(--text-dark)}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.form-actions .btn{flex:1}.confirmation-section{padding:var(--spacing-xxl) 0;min-height:70vh}.confirmation-card{max-width:800px;margin:0 auto;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.confirmation-header{background:var(--success-color);color:#fff;padding:var(--spacing-xl);text-align:center}.success-icon{width:80px;height:80px;margin:0 auto var(--spacing-md);background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon i{font-size:48px;color:var(--success-color)}.confirmation-header h2{font-size:var(--fs-xxlarge);margin-bottom:8px;color:#fff}.booking-reference{font-size:var(--fs-medium);font-weight:600;margin-top:var(--spacing-sm)}.confirmation-body{padding:var(--spacing-xl)}.booking-details{margin-bottom:var(--spacing-lg)}.booking-details h3{font-size:var(--fs-large);margin-bottom:var(--spacing-md);color:var(--text-dark)}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.detail-item{padding:var(--spacing-md);background:var(--background-gray);border-radius:var(--radius-sm)}.detail-label{font-size:var(--fs-small);color:var(--text-light);margin-bottom:4px}.detail-value{font-size:var(--fs-medium);color:var(--text-dark);font-weight:600}.confirmation-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.confirmation-actions .btn{flex:1}.important-note{background:var(--accent-color);padding:var(--spacing-md);border-radius:var(--radius-sm);margin-top:var(--spacing-lg)}.important-note h4{font-size:var(--fs-medium);margin-bottom:8px;color:var(--text-dark)}.important-note ul{list-style:none;padding-left:0}.important-note li{font-size:var(--fs-small);color:var(--text-light);margin-bottom:8px;padding-left:24px;position:relative}.important-note li:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;color:var(--success-color)}@media(max-width:992px){.booking-container{grid-template-columns:1fr}.booking-sidebar{position:relative;top:0;order:-1}.booking-steps{position:relative;top:0}}@media(max-width:768px){.booking-form .form-row,.details-grid{grid-template-columns:1fr}.steps-container{flex-direction:column;gap:var(--spacing-sm)}.step-separator{width:2px;height:30px;transform:rotate(0)}}@media(max-width:576px){.booking-hero{padding:var(--spacing-md) 0}.booking-hero h1{font-size:var(--fs-xlarge)}.booking-main,.booking-summary,.confirmation-body{padding:var(--spacing-md)}.form-actions,.confirmation-actions{flex-direction:column}.form-actions .btn,.confirmation-actions .btn{width:100%}.step-label{font-size:var(--fs-small)}.step-number{width:35px;height:35px;font-size:var(--fs-small)}}
