/* Invisalign consultation and confirmation pages */
:focus-visible{outline:3px solid #b87138;outline-offset:4px}
.consultation{background:#edf4f1}
.consultation .section-intro{max-width:680px}
.reservation-card{background:#fff;border:1px solid #d9e4df;border-radius:10px;padding:32px;box-shadow:0 10px 30px #234b4908}
.reservation-form{display:grid;gap:22px}
.form-field label{display:block;font-weight:700;margin-bottom:8px;color:#234b49}
.required-label,.optional-label{font-size:.72rem;margin-left:9px;padding:3px 7px;border-radius:3px;vertical-align:middle}
.required-label{color:#fff;background:#8e562b}.optional-label{color:#52605f;background:#edf2ef}
.reservation-form input:not([type=hidden]):not([name=_honey]),.reservation-form textarea{font:inherit;width:100%;border:1px solid #aabdb4;border-radius:5px;padding:12px 14px;background:#fff;color:#26343a}
.reservation-form textarea{min-height:120px;resize:vertical}
.form-help{font-size:.82rem;color:#52605f;margin:7px 0 0}
.form-policy{font-size:.82rem;color:#52605f;margin:0}
.reservation-form .button{border:0;cursor:pointer;width:100%;min-height:56px}
.reservation-form .button:disabled{opacity:.65;cursor:wait}
.form-honeypot{display:none}
.reservation-note{margin-top:22px;padding:18px 20px;background:#f4f7f5;border-radius:5px}
.reservation-note p{margin:0 0 8px}.reservation-note p:last-child{margin:0}
.hours-table{width:100%;border-collapse:collapse;font-size:.88rem;margin:20px 0}
.hours-table th,.hours-table td{border-bottom:1px solid #ceddd5;padding:10px 5px;text-align:left}
.hours-table th{color:#234b49}
.trust-note{border-left:3px solid #b87138;padding:14px 20px;background:#fff;margin-bottom:25px}
.doctor-profile{display:flex;align-items:center;gap:25px;margin:28px 0}
.doctor-profile img{width:160px;border-radius:6px}
.doctor-profile .doctor-role{font-size:.88rem;color:#52605f;margin:0}
.doctor-profile .doctor-name{font-size:1.6rem;font-weight:700;color:#234b49;margin:5px 0}
.mobile-cta{display:none}
.confirmation-main{background:#eff4f2;min-height:75vh;padding:75px 0 85px}
.confirmation-card{max-width:760px;margin:auto;background:#fff;padding:45px;border:1px solid #d9e4df;border-radius:10px;box-shadow:0 12px 40px #234b4908}
.confirmation-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#e8f1ed;color:#447a70;font-size:2rem;margin-bottom:25px}
.confirmation-card h1{color:#234b49;font-size:clamp(1.55rem,4vw,2.25rem);line-height:1.5;margin:8px 0 22px}
.confirmation-card h2{font-size:1.12rem;color:#234b49;margin-top:28px}
.confirmation-card .cta-actions{justify-content:flex-start;margin-top:30px}
.confirmation-card .button{min-width:180px}
.confirmation-card .fine-print{margin-bottom:0}
@media(max-width:760px){
 body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
 .reservation-card{padding:24px 18px}
 .mobile-cta{position:fixed;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;z-index:30;min-height:66px;background:#fff;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 15px #234b491c}
 .mobile-cta a{display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;font-size:.92rem;font-weight:700;color:#234b49;min-height:66px}
 .mobile-cta .mobile-booking{background:#a46130;color:#fff}
 .mobile-cta .mobile-line{background:#078c47;color:#fff}
 .doctor-profile{gap:18px}.doctor-profile img{width:120px}.doctor-profile .doctor-name{font-size:1.35rem}
 .confirmation-main{padding:35px 0 50px}.confirmation-card{padding:28px 22px}
 .hours-table th,.hours-table td{font-size:.78rem;padding:9px 3px}
}
