
.booking-body,.result-body{min-height:100vh;background:
radial-gradient(circle at 10% 10%,rgba(190,151,102,.16),transparent 27%),
linear-gradient(135deg,#f7f2e9,#eee3d3)}
.booking-header{background:rgba(255,253,249,.9);border-bottom:1px solid var(--line)}
.booking-nav{min-height:82px;display:flex;justify-content:space-between;align-items:center}
.booking-back{font-size:.75rem;font-weight:800;text-decoration:none;color:var(--olive)}
.booking-main{padding:60px 0 80px}
.booking-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}
.booking-intro{position:sticky;top:125px;padding:25px 0}
.booking-intro h1{font-size:clamp(3rem,6vw,5rem);margin:12px 0;color:var(--olive)}
.booking-intro>p{color:var(--muted);max-width:520px}
.booking-benefits{display:grid;gap:17px;margin-top:30px}
.booking-benefits>div{display:grid;grid-template-columns:42px 1fr;gap:12px}
.booking-benefits b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gold-soft);color:var(--olive)}
.booking-benefits strong,.booking-benefits span{display:block}
.booking-benefits strong{color:var(--text);margin-bottom:2px}
.booking-benefits span{font-size:.78rem;color:var(--muted)}
.booking-contact{margin-top:35px;padding:18px;border-left:3px solid var(--gold);background:rgba(255,253,249,.55)}
.booking-contact small,.booking-contact a{display:block}
.booking-contact small{color:var(--muted)}
.booking-contact a{font-family:'Playfair Display';font-size:1.35rem;color:var(--olive);text-decoration:none}
.booking-card{padding:30px;border-radius:26px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.booking-card-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.booking-card-head img{width:62px;height:62px;border-radius:50%}
.booking-card-head span,.booking-card-head h2{display:block}
.booking-card-head span{font-size:.62rem;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.18em}
.booking-card-head h2{margin:3px 0 0;color:var(--olive);font-size:1.8rem}
.booking-errors{padding:15px 17px;margin-bottom:20px;border-radius:12px;background:#f7e0dc;color:#874b45;font-size:.78rem}
.booking-errors ul{margin-bottom:0}
.booking-form{display:grid;gap:17px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field{display:grid;gap:7px}
.field>span{font-size:.7rem;font-weight:800}
.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(141,152,123,.2);border-color:var(--sage)}
.field small{font-size:.58rem;color:var(--muted)}
.booking-check{display:flex;gap:9px;align-items:flex-start;font-size:.7rem;color:var(--muted)}
.booking-check input{margin-top:4px}
.booking-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}
.booking-privacy{text-align:center;color:var(--muted);font-size:.6rem;margin:0}
.booking-footer{padding:22px 0;background:#30362c;color:rgba(255,255,255,.65)}
.booking-footer .container{display:flex;justify-content:space-between;font-size:.68rem}
.result-main,.appointment-main{min-height:100vh;display:grid;place-items:center;padding:35px}
.result-card,.appointment-card{width:min(720px,100%);padding:38px;border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}
.result-logo{width:92px;height:92px;margin:0 auto 17px;border-radius:50%}
.result-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;margin:0 auto 15px;background:#e3ede0;color:#4f6949;font-weight:900;font-size:1.4rem}
.result-card h1{font-size:clamp(2.6rem,6vw,4rem);color:var(--olive);margin:8px 0}
.result-card>p{max-width:580px;margin:0 auto;color:var(--muted)}
.result-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}
.result-steps div{padding:15px;border-radius:13px;background:#f5efe6}
.result-steps b,.result-steps span{display:block}
.result-steps b{width:30px;height:30px;display:grid;place-items:center;margin:auto;border-radius:50%;background:var(--gold-soft);color:var(--olive)}
.result-steps span{font-size:.65rem;margin-top:7px}
.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.appointment-card{text-align:left}
.appointment-head{display:flex;gap:16px;align-items:center;margin-bottom:20px}
.appointment-head img{width:75px;height:75px;border-radius:50%}
.appointment-head h1{margin:4px 0;color:var(--olive)}
.appointment-flash{padding:14px;border-radius:11px;background:#e3ede0;color:#4f6949;margin-bottom:16px}
.appointment-status{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:12px;background:#f1eadf;margin-bottom:18px}
.appointment-status span{font-size:.68rem;color:var(--muted)}
.status-confirmed{background:#e3ede0}.status-cancelled{background:#f7e0dc}.status-completed{background:#e1e8ef}
.appointment-details{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.appointment-details div{padding:14px;border-radius:11px;background:#f8f4ed}
.appointment-details small,.appointment-details strong{display:block}
.appointment-details small{font-size:.62rem;color:var(--muted)}
.appointment-help{text-align:center;margin-top:24px}
.appointment-help h2{color:var(--olive);margin-bottom:4px}
.appointment-help p{color:var(--muted);font-size:.78rem}
.appointment-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
.appointment-actions form{margin:0}
.action-confirm{background:var(--sage);color:#fff}
.action-reschedule{background:#e8d3b5;color:#5f492b}
.action-cancel{background:#b76d67;color:#fff}
.appointment-finished{padding:18px;margin-top:20px;border-radius:13px;background:#f1eadf;text-align:center;color:var(--olive)}
.appointment-contact{text-align:center;margin-top:22px}
.appointment-contact a{font-size:.72rem;font-weight:800;color:var(--olive)}
@media(max-width:900px){
.booking-layout{grid-template-columns:1fr}
.booking-intro{position:static}
}
@media(max-width:650px){
.booking-main{padding:35px 0}
.booking-back{display:none}
.booking-card{padding:21px}
.form-grid,.appointment-details,.result-steps{grid-template-columns:1fr}
.booking-actions{flex-direction:column-reverse}
.booking-actions .btn{width:100%}
.booking-footer .container{flex-direction:column;gap:5px;text-align:center}
.result-main,.appointment-main{padding:15px}
.result-card,.appointment-card{padding:24px}
.appointment-actions{display:grid}
}
