.booking-header{text-align:center;padding:80px 0 60px}.booking-subtitle{color:#b68c2a;letter-spacing:3px;margin-bottom:15px;font-size:13px;font-weight:700;display:inline-block}.booking-header h1{margin-bottom:20px;font-size:48px;font-weight:700}.booking-header p{color:#777;max-width:650px;margin:auto;line-height:1.8}.booking-info{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px;display:grid}.info-card{background:#fff;border:1px solid #ececec;border-radius:18px;padding:25px;transition:all .3s}.info-card:hover{transform:translateY(-6px);box-shadow:0 15px 40px #00000014}.info-card span{color:#888;font-size:14px}.info-card h6{color:#222;margin-top:10px;font-size:22px;font-weight:700}@media (max-width:768px){.booking-info{grid-template-columns:1fr}.booking-header h1{font-size:34px}}
.booking-stepper{padding:40px 0}.stepper{justify-content:space-between;align-items:center;display:flex}.step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.circle{color:#999;z-index:2;background:#f3f3f3;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-weight:700;transition:all .3s;display:flex}.step span{color:#888;margin-top:12px;font-size:14px;font-weight:500}.line{z-index:1;background:#e5e5e5;width:90%;height:2px;position:absolute;top:25px;left:55%}.step.active .circle{color:#fff;background:#b68c2a}.step.active span{color:#222;font-weight:600}.step.active .line{background:#b68c2a}@media (max-width:768px){.stepper{gap:40px;padding-bottom:10px;overflow-x:auto}.step{min-width:130px}}
.booking-summary{padding:70px 0}.summary-card{background:#fff;border-radius:20px;max-width:700px;margin:auto;padding:35px;box-shadow:0 10px 35px #00000014}.summary-card h2{text-align:center;margin-bottom:30px;font-weight:700}.summary-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:18px 0;display:flex}.summary-item span{color:#777}.total{border:none;font-size:20px;font-weight:700}.confirm-btn{color:#fff;background:#b68c2a;border:none;border-radius:14px;width:100%;height:58px;margin-top:30px;font-size:18px;font-weight:600;transition:all .3s}.confirm-btn:hover{opacity:.9}@media (max-width:768px){.summary-card{padding:22px}.summary-item{flex-direction:column;align-items:flex-start;gap:6px}.confirm-btn{height:52px;font-size:16px}}
.booking-calendar{margin:70px 0}.booking-calendar h3{text-align:center;margin-bottom:35px;font-weight:700}.calendar{background:#fff;border-radius:20px;max-width:700px;margin:auto;padding:30px;box-shadow:0 10px 35px #00000014}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.calendar-header button{cursor:pointer;background:#f5f5f5;border:none;border-radius:50%;width:42px;height:42px;transition:all .3s}.calendar-header button:hover{color:#fff;background:#e2bb5f}.weekdays{text-align:center;color:#777;grid-template-columns:repeat(7,1fr);margin-bottom:15px;font-weight:600;display:grid}.days{grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.day{color:#333;cursor:pointer;background:#f8f8f8;border:none;border-radius:12px;height:55px;transition:all .3s}.day:hover,.day.active{color:#000;background:#e2bb5f}.day.disabled{opacity:.35;cursor:not-allowed}@media (max-width:768px){.calendar{padding:20px}.day{height:45px}}
.patient-form{padding:70px 0}.form-card{background:#fff;border-radius:20px;padding:35px;box-shadow:0 10px 30px #0000000f}.patient-form label{margin-bottom:10px;font-weight:600;display:block}.patient-form input,.patient-form textarea{border:1px solid #ddd;border-radius:12px;outline:none;width:100%;padding:14px 18px;transition:all .3s}.patient-form input:focus,.patient-form textarea:focus{border-color:#b68c2a;box-shadow:0 0 0 3px #b68c2a26}.readonly-input{cursor:not-allowed;color:#555;border:1px solid #e5e5e5;background:#f8f8f8!important}.readonly-input:focus{box-shadow:none;outline:none}@media (max-width:992px){.patient-form{padding:50px 0}.form-card{padding:25px}}@media (max-width:768px){.patient-form{padding:40px 0}.section-title h2{font-size:28px}.section-title p{font-size:15px}.form-card{border-radius:16px;padding:20px}.patient-form input,.patient-form textarea{padding:12px 14px;font-size:15px}.patient-form label{font-size:14px}}@media (max-width:576px){.patient-form{padding:30px 0}.form-card{padding:18px}.section-title{margin-bottom:25px}.section-title h2{font-size:24px}}
.time-slots{padding:70px 0}.section-title{text-align:center;margin-bottom:40px}.section-title h2{font-size:34px;font-weight:700}.section-title p{color:#777}.time-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;display:grid}.time-card{color:#333;cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:14px;height:60px;font-weight:600;transition:all .3s}.time-card:hover{color:#b68c2a;border-color:#b68c2a}.time-card.active{color:#000;background:#b68c2a;border-color:#b68c2a}
.booking-card{background:#fff;border:1px solid #f2f2f2;border-radius:20px;padding:35px;box-shadow:0 15px 40px #00000014}.booking-title{color:#222;font-size:2rem;font-weight:700}.booking-subtitle{color:#888;margin-top:8px}.payment-card{background:#fff;border-radius:20px;padding:35px;box-shadow:0 12px 35px #00000014}.payment-option{cursor:pointer;border:2px solid #ececec;border-radius:15px;margin-bottom:18px;padding:20px;transition:all .3s}.payment-option:hover{border-color:#c8a35f;transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.payment-option.active{background:#fffdf8;border-color:#c8a35f}.payment-option h5{margin-bottom:6px;font-weight:700}.payment-option small{color:#777}.payment-icon{color:#c8a35f;font-size:2rem}.policy-box{background:#fff8e8;border:1px solid #f4d48c;border-radius:18px;padding:25px}.policy-box h5{color:#9b6b00;font-weight:700}.policy-box p{color:#555;margin-bottom:15px}.policy-box label{cursor:pointer;font-weight:500}.summary-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 12px 30px #00000014}.summary-card h4{font-weight:700}.booking-btn{color:#fff;background:#c8a35f;border:none;border-radius:12px;width:100%;padding:14px;font-weight:700;transition:all .3s}.booking-btn:hover{background:#b58d42}.booking-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width:992px){.booking-card,.payment-card,.summary-card,.policy-box{padding:25px}.booking-title{font-size:1.7rem}}@media (max-width:768px){.booking-card,.payment-card,.summary-card,.policy-box{border-radius:15px;padding:20px}.payment-option{padding:16px}.payment-option h5{font-size:1rem}.payment-icon{font-size:1.6rem}.booking-title{font-size:1.5rem}}@media (max-width:576px){.booking-card,.payment-card,.summary-card,.policy-box{padding:16px}.booking-title{font-size:1.3rem}.booking-btn{padding:12px;font-size:.95rem}}
