.booking-page { display:grid; gap:18px; color:#f7f3fb; }
.booking-guide-summary,.booking-panel,.booking-review-section { border:1px solid rgba(164,114,215,.42); border-radius:16px; background:linear-gradient(145deg,rgba(54,29,83,.94),rgba(17,10,29,.97)); box-shadow:0 18px 38px rgba(0,0,0,.28); }
.booking-guide-summary { display:flex; align-items:center; gap:18px; min-height:150px; padding:18px 22px; background-position:center; background-size:cover; }
.booking-guide-summary h1 { display:flex; align-items:center; gap:8px; margin:2px 0 1px; font-size:30px; }
.booking-guide-summary p { margin:0 0 5px; color:#ddd3e6; }
.booking-guide-summary .eyebrow,.booking-panel .eyebrow,.booking-review-section .eyebrow { color:#91f59b; }
.booking-guide-summary .underlined-link { color:#d9baff; }
.booking-guide-avatar { display:grid; place-items:center; flex:0 0 112px; width:112px; height:112px; overflow:hidden; border:4px solid #a472d7; border-radius:50%; background:#28133e; box-shadow:0 0 0 3px rgba(0,209,24,.2),0 12px 25px rgba(0,0,0,.35); color:#fff; font-size:34px; font-weight:900; }
.booking-guide-avatar img { width:100%; height:100%; object-fit:cover; }
.booking-panel { padding:18px 20px 22px; }
.booking-panel-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.booking-panel-heading h2,.booking-review-intro h2 { margin:2px 0 0; font-size:28px; }
.booking-panel-heading p,.booking-review-intro p { margin:0; color:#cfc4d9; }
.booking-fields { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:14px; }
.booking-fields label { display:grid; gap:7px; color:#e8deef; font-size:13px; font-weight:800; }
.booking-fields select,.booking-fields input { width:100%; min-height:48px; border:1px solid rgba(164,114,215,.72); border-radius:9px; background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(238,227,248,.98)); color:#171020; box-shadow:0 3px 0 rgba(95,25,187,.62); }
.booking-fields select:focus,.booking-fields input:focus { outline:2px solid #00d118; outline-offset:2px; }
.booking-times { margin-top:20px; padding-top:15px; border-top:1px solid rgba(164,114,215,.25); }
.booking-times h3 { margin:0 0 10px; }
.booking-page .slot { border-color:rgba(164,114,215,.72); background:#2a183d; color:#f7f3fb; box-shadow:0 3px 0 #12091e; }
.booking-page .slot.active { border-color:#00d118; background:#126123; }
.booking-hint { color:#cfc4d9; }
.booking-page #quote { margin-top:14px; }
.booking-page #quote hr { border:0; border-top:1px solid rgba(164,114,215,.3); }
.booking-page #quote .muted { color:#cfc4d9; }
.booking-page .success { border-color:rgba(0,209,24,.62); background:rgba(14,92,30,.82); color:#fff; }
.booking-review-section { display:grid; gap:14px; padding:18px 20px 20px; }
.booking-review-section .guide-reviews { margin:0; border-color:rgba(164,114,215,.36); background:rgba(30,17,48,.8); color:#fff; }
.booking-review-section .guide-reviews h2 { display:none; }
.booking-review-section .reviews-heading p { color:#cfc4d9; }
.booking-review-section .review { background:rgba(8,7,20,.56); }
.booking-missing { max-width:650px; margin:40px auto; }
.account-tab.messages-link { position:relative; padding-right:21px; }
.message-notification-badge { position:absolute; top:-8px; right:-7px; display:grid; place-items:center; min-width:19px; height:19px; padding:0 5px; border:2px solid #080714; border-radius:999px; background:#00d118; color:#080714; box-shadow:0 0 0 1px rgba(0,209,24,.28),0 0 10px rgba(0,209,24,.55),0 2px 5px rgba(0,0,0,.45); font-size:10px; font-weight:900; line-height:1; }
.message-notification-space { display:inline-block; width:5px; }
@media(max-width:760px){.booking-guide-summary{align-items:flex-start}.booking-guide-avatar{flex-basis:88px;width:88px;height:88px}.booking-panel-heading{align-items:flex-start;flex-direction:column}.booking-fields{grid-template-columns:1fr}.booking-review-section{padding:15px}}

