/* Description: Visual layout for the live booking request surface. */
.booking-body { background: #110802; color: #f3dfba; }
.booking-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 132px 0 72px; }
.booking-heading { margin-bottom: 25px; }
.booking-heading p { margin: 0; color: #dea03a; font: 800 12px var(--font-ui); text-transform: uppercase; }
.booking-heading h1 { margin: 8px 0 12px; color: #fff1da; font: 900 42px var(--font-display); }
.booking-source { border: 1px solid rgba(222,160,58,.4); border-radius: 999px; padding: 7px 12px; font-size: 12px; }
.booking-source[data-live="true"] { color: #9de2b3; border-color: rgba(77,190,120,.46); }
.booking-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.booking-panel { border: 1px solid rgba(222,160,58,.25); border-radius: 8px; padding: 20px; background: rgba(16,7,2,.76); }
.booking-panel h2 { margin: 0 0 15px; color: #ffe5b4; font: 700 20px var(--font-ui); }
.booking-panel h2:not(:first-child) { margin-top: 24px; }
.booking-services { display: grid; gap: 10px; }
.booking-services article { display: grid; grid-template-columns: 94px 1fr; gap: 12px; padding: 9px; border: 1px solid rgba(222,160,58,.18); border-radius: 7px; }
.booking-services img { width: 94px; height: 76px; border-radius: 5px; object-fit: cover; }
.booking-services strong { color: #fff1d6; }
.booking-services p { margin: 6px 0 0; color: rgba(243,223,186,.72); font-size: 13px; }
.booking-slots { display: flex; flex-wrap: wrap; gap: 9px; }
.booking-slots button { display: grid; gap: 4px; border: 1px solid rgba(222,160,58,.3); border-radius: 7px; padding: 10px; background: rgba(222,160,58,.08); color: #ffe3ab; cursor: pointer; }
.booking-slots button.active { border-color: #e5aa41; background: rgba(222,160,58,.18); }
.booking-slots span { font-size: 11px; color: rgba(243,223,186,.66); }
.booking-request form { display: grid; gap: 13px; }
.booking-request label { display: grid; gap: 6px; color: #e3ba71; font: 700 12px var(--font-ui); text-transform: uppercase; }
.booking-request input, .booking-request select, .booking-request textarea { width: 100%; border: 1px solid rgba(222,160,58,.3); border-radius: 6px; padding: 12px; background: rgba(0,0,0,.38); color: #fff1da; font: inherit; }
.booking-request button { min-height: 48px; border: 1px solid rgba(255,210,125,.65); border-radius: 6px; background: linear-gradient(180deg,#e5aa41,#a55e16); color: #160802; font: 800 14px var(--font-ui); cursor: pointer; }
.booking-request button:disabled { opacity: .48; cursor: not-allowed; }
#booking-status, .booking-empty { color: rgba(243,223,186,.68); font-size: 13px; line-height: 1.45; }
@media (max-width: 850px) { .booking-layout { grid-template-columns: 1fr; } .booking-heading h1 { font-size: 34px; } }
