﻿/* Reservation page styles */
.reservation-page{background:#f6fafb}
.followup-page,.conditions-page{background:#f6fafb}
.reservation-section,.followup-section,.conditions-section{padding:100px 0}
.reservation-intro,.followup-intro,.conditions-intro{max-width:720px;margin:0 auto 42px;text-align:center}
.reservation-intro p,.followup-intro p,.conditions-intro p{color:#667085;line-height:2}
.appointment-slot-card,.followup-card,.waiting-list-card,.condition-step,.rules-card{background:#fff;border:1px solid #e5eef0;border-radius:16px;box-shadow:0 10px 26px rgba(20,56,68,.07)}
.appointment-slot-card{height:100%;padding:26px 22px;transition:transform .2s ease,box-shadow .2s ease}
.appointment-slot-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(20,56,68,.14)}
.slot-date-icon,.followup-card-icon,.condition-step-number{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#e8f6f7;color:#00a5b5;font-size:23px;margin-bottom:18px}.slot-date-icon{float:right;margin-left:14px}.slot-day{min-height:56px;padding-top:3px}.slot-day h3{margin:0 0 5px;font-size:19px}.slot-day p{margin:0;color:#667085;font-size:14px}
.slot-meta{display:flex;gap:9px;flex-wrap:wrap;clear:both;padding:20px 0 18px}.slot-meta span{padding:7px 10px;border-radius:8px;background:#f1f7f8;color:#3d5962;font-size:13px}.slot-meta .slot-capacity{color:#138a58;background:#edf9f2}
.slot-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed #dfe9eb;padding-top:18px;gap:12px}.slot-price{color:#4a626a;font-size:13px;line-height:1.8}.slot-price strong{display:block;color:#162d34;font-size:15px}.theme-btn.reservation-btn{padding:11px 17px;font-size:14px;white-space:nowrap}
.reservation-empty-card{max-width:720px;margin:0 auto;padding:42px 30px;text-align:center;background:#fff;border-radius:18px;box-shadow:0 10px 28px rgba(20,56,68,.08)}.empty-icon{width:76px;height:76px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#bf7c10;background:#fff7e6;font-size:32px;margin-bottom:18px}.reservation-empty-card p{color:#68767b;line-height:2}
.waiting-list-card{max-width:720px;margin:28px auto 0;padding:30px}.card-title-row{display:flex;align-items:center;gap:11px;margin-bottom:8px}.card-title-row h3{margin:0;font-size:19px}.card-title-row i{color:#00a5b5;font-size:21px}.card-description{color:#667085;line-height:1.9;margin-bottom:22px}
.reservation-input,.followup-card .form-control{height:53px;border:1px solid #dbe7e9;border-radius:10px;box-shadow:none;padding:10px 15px;font-size:14px}.reservation-input:focus,.followup-card .form-control:focus{border-color:#00a5b5;box-shadow:0 0 0 .2rem rgba(0,165,181,.1)}
.reservation-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:0 0 85px}.reservation-actions .theme-btn{min-width:170px;text-align:center}.closed-slots{margin-top:58px;padding-top:48px;border-top:1px solid #dfeaec}.closed-slot-card{height:100%;padding:22px;border:1px dashed #cbd9dc;border-radius:14px;background:#fbfcfc;opacity:.8;text-align:center}.closed-slot-card h4{font-size:17px;margin-bottom:8px}.closed-slot-card p{margin-bottom:12px;color:#667085}
.followup-intro{text-align:right;max-width:none;margin:0;padding:30px 30px 30px 10px}
.followup-intro .intro-icon{width:62px;height:62px;display:inline-flex;align-items:center;justify-content:center;background:#e8f6f7;color:#00a5b5;border-radius:16px;font-size:25px;margin-bottom:20px}
.followup-intro h1{font-size:30px;margin-bottom:16px}.followup-intro p{text-align:right;margin-bottom:12px}
.followup-help-list{margin:24px 0 0;padding:0;list-style:none}.followup-help-list li{padding-right:24px;margin:10px 0;color:#586d74;position:relative}.followup-help-list li:before{content:'*';position:absolute;right:0;color:#00a5b5}
.followup-card{padding:28px}.followup-card+.followup-card{margin-top:20px}.followup-card h3{margin-bottom:8px;font-size:20px}.followup-card>p{color:#68767b;line-height:1.9;margin-bottom:20px}.followup-card .form-label{margin-bottom:8px;font-size:14px;color:#344e57;font-weight:600}
.followup-or{display:flex;align-items:center;gap:14px;color:#819297;font-size:13px;margin:20px 0}.followup-or:before,.followup-or:after{content:'';height:1px;flex:1;background:#e3ebed}
.condition-step{position:relative;padding:27px 22px;text-align:center}.condition-step-number{margin:0 auto 16px;font-size:18px;font-weight:700}.condition-step h3{font-size:18px;margin-bottom:9px}.condition-step p{color:#667085;font-size:14px;line-height:1.9;margin:0}
.rules-section{padding-top:0}.rules-card{padding:12px}.rules-card .accordion-item{border:0;border-bottom:1px solid #e8eff0}.rules-card .accordion-item:last-child{border-bottom:0}.rules-card .accordion-button{box-shadow:none;color:#1d3942;padding:19px 18px;font-weight:700;background:#fff}.rules-card .accordion-button:not(.collapsed){color:#008d9b}.rules-card .accordion-button:after{margin-right:auto;margin-left:0}.rules-card .accordion-body{color:#65767c;line-height:2;padding:0 18px 19px}
.rule-list{margin:0;padding:0;list-style:none}.rule-list li{position:relative;padding-right:25px;margin:12px 0}.rule-list li:before{content:'*';position:absolute;right:0;color:#00a5b5}.conditions-note{margin-top:28px;padding:19px 22px;border-right:4px solid #00a5b5;border-radius:10px;background:#edf8f9;color:#486069;line-height:2}
@media(max-width:991.98px){.reservation-section,.followup-section,.conditions-section{padding:70px 0}.followup-intro,.followup-intro p{text-align:center}.followup-intro{padding:0 0 28px}}@media(max-width:575.98px){.reservation-section,.followup-section,.conditions-section{padding:52px 0}.slot-footer{align-items:flex-start;flex-direction:column}.reservation-actions .theme-btn{width:100%}}
