.booking-page{background-color:#f0f2f5;justify-content:center;min-height:100vh;padding:150px 20px 60px;display:flex}.booking-container{flex-direction:column;align-items:center;width:100%;max-width:1200px;display:flex}.booking-header{color:#252154;text-align:center;margin-bottom:10px;font-size:2.5rem}.booking-subheader{color:#555;text-align:center;margin-bottom:40px;font-size:1.2rem}.progress-bar{counter-reset:step;justify-content:space-between;width:100%;max-width:600px;margin-bottom:50px;display:flex;position:relative}.progress-step{color:#a0a0a0;text-align:center;flex:1;padding-top:35px;font-weight:500;position:relative}.progress-step:before{content:counter(step);counter-increment:step;color:#a0a0a0;z-index:2;background-color:#fff;border:2px solid #e0e0e0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:700;transition:all .3s;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.progress-step:not(:last-child):after{content:"";z-index:1;background-color:#e0e0e0;width:100%;height:2px;position:absolute;top:12px;left:50%}.progress-step.active{color:#252154;font-weight:700}.progress-step.active:before{color:#fff;background-color:#252154;border-color:#252154}.progress-step.active:not(:last-child):after{background-color:#252154}.service-selection-container{justify-content:center;gap:30px;width:100%;display:flex}.service-card{text-align:center;cursor:pointer;background-color:#fff;border:2px solid #e0e0e0;border-radius:16px;flex:1;max-width:350px;padding:40px 30px;transition:all .3s;box-shadow:0 4px 15px #0000000d}.service-card:hover{transform:translateY(-10px);box-shadow:0 12px 25px #0000001a}.service-card.selected{background-color:#f5f5ff;border-color:#252154;transform:translateY(-10px)scale(1.02)}.service-icon{color:#252154;height:40px;margin-bottom:20px;font-size:2.5rem}.service-title{color:#252154;margin-bottom:5px;font-size:1.5rem;font-weight:600}.service-description{color:#666;line-height:1.6}.step2-header{color:#252154;align-items:center;gap:15px;margin-bottom:5px;display:flex}.step2-header h1{margin:0;font-size:2.5rem}.service-icon-small{justify-content:center;align-items:center;width:40px;height:40px;font-size:2rem;display:flex}.details-form{flex-direction:column;gap:25px;width:100%;max-width:700px;display:flex}.form-group{background-color:#fff;border:1px solid #e0e0e0;border-radius:16px;flex-direction:column;gap:20px;padding:25px 30px;display:flex}.form-group legend{color:#252154;align-items:center;gap:12px;margin-left:-10px;padding:0 10px;font-size:1.25rem;font-weight:600;display:flex}.input-row{gap:20px;display:flex}.input-row>div{flex:1}.details-form input[type=text],.details-form input[type=date],.details-form input[type=tel],.details-form input[type=email]{box-sizing:border-box;border:1px solid #d0d0d0;border-radius:8px;width:100%;padding:14px 18px;font-family:Kanit,sans-serif;font-size:1rem;transition:all .2s}.details-form select{box-sizing:border-box;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.2em;border:1px solid #d0d0d0;border-radius:8px;width:100%;padding:14px 18px;font-family:Kanit,sans-serif;font-size:1rem;transition:all .2s}.details-form input:focus{border-color:#252154;outline:none;box-shadow:0 0 0 3px #2521541a}.upload-button,.location-button{color:#555;cursor:pointer;background-color:#f9f9f9;border:2px dashed #d0d0d0;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:14px 18px;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.upload-button:hover,.location-button:hover{color:#252154;background-color:#f0f2f5;border-color:#252154}.time-slots{grid-template-columns:1fr 1fr;gap:15px;display:grid}.time-slot-button{cursor:pointer;background-color:#fff;border:2px solid #d0d0d0;border-radius:8px;padding:14px;font-weight:500;transition:all .2s}.time-slot-button:hover{color:#252154;border-color:#252154}.time-slot-button.active{color:#fff;background-color:#252154;border-color:#252154;font-weight:600}.navigation-buttons{align-items:center;gap:20px;margin-top:50px;display:flex}.next-button{color:#fff;cursor:pointer;background-color:#252154;border:none;border-radius:50px;padding:15px 60px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s}.next-button.disabled{cursor:not-allowed;pointer-events:none;background-color:#ccc}.next-button:hover:not(.disabled){background-color:#3d3a68}.back-button{color:#555;cursor:pointer;background:0 0;border:none;padding:15px 40px;font-size:1.1rem;font-weight:600;transition:color .2s}.back-button:hover{color:#252154;text-decoration:underline}@media (max-width:768px){.service-selection-container{flex-direction:column;align-items:center;gap:20px}.service-card{text-align:left;box-sizing:border-box;flex-direction:row;align-items:center;width:100%;max-width:500px;padding:25px;display:flex}.service-icon{flex-shrink:0;margin-bottom:0;margin-right:25px}}@media (max-width:480px){.booking-page{padding-top:100px}.booking-header,.step2-header h1,.step2-header h1{font-size:1.8rem}.input-row{flex-direction:column}.time-slots{grid-template-columns:1fr}.navigation-buttons{flex-direction:column-reverse;align-items:stretch;width:100%}.next-button,.confirm-button,.back-button{width:100%;margin:0}.back-button{margin-top:10px}}.summary-section{background-color:#f5f5ff;border:1px solid #e0e0e0;border-radius:16px;flex-direction:column;gap:15px;width:100%;max-width:700px;margin-bottom:30px;padding:20px 30px;display:flex}.summary-item{justify-content:space-between;align-items:center;font-size:1.1rem;display:flex}.summary-label{color:#555;font-weight:500}.summary-value{color:#252154;text-align:right;font-weight:600}.confirm-button{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:50px;padding:15px 60px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s}.confirm-button:hover{background-color:#218838}.error-message{color:#e3262f;margin-top:8px;padding-left:5px;font-size:.875rem;font-weight:500}.details-form input.input-error,.details-form select.input-error{border-color:#e3262f}.details-form input.input-error:focus{box-shadow:0 0 0 3px #e3262f26}.booking-type-tabs{background-color:#e0e0e0;border-radius:10px;width:100%;margin-bottom:20px;padding:5px;display:flex}.tab-button{color:#555;cursor:pointer;background-color:#0000;border:none;border-radius:8px;flex:1;padding:12px 10px;font-family:Kanit,sans-serif;font-size:1rem;font-weight:600;transition:all .2s ease-in-out}.tab-button.active{color:#252154;background-color:#fff;box-shadow:0 2px 5px #0000001a}.tab-content{flex-direction:column;gap:20px;width:100%;display:flex}
