.booking-wrap{display:grid;grid-template-columns:340px 1fr;gap:0;background:var(--bg-card);border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--shadow-2xl);border:1px solid var(--border);max-width:980px;margin:0 auto;min-height:580px}.booking-info{background:linear-gradient(180deg,#1a1a1a 0%,#0f0f0f 100%);color:var(--text-inverse);padding:36px 32px;display:flex;flex-direction:column;gap:var(--s-6);position:relative;overflow:hidden}.booking-info::before{content:'';position:absolute;top:-120px;left:-120px;width:320px;height:320px;background:radial-gradient(circle,rgba(247,122,32,0.2) 0%,rgba(247,122,32,0) 70%);border-radius:50%;pointer-events:none}.booking-info>*{position:relative;z-index:1}.booking-host{display:flex;align-items:center;gap:12px}.booking-host-avatar{width:44px;height:44px;border-radius:50%;background:var(--grad-warm);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:var(--w-extrabold);color:#fff;box-shadow:0 8px 20px rgba(247,122,32,0.35);letter-spacing:-0.02em}.booking-host-name{font-size:var(--text-sm);font-weight:var(--w-bold)}.booking-host-role{font-size:var(--text-xs);color:rgba(255,255,255,0.45);font-weight:var(--w-medium)}.booking-title{font-size:var(--text-2xl);font-weight:var(--w-extrabold);letter-spacing:var(--tracking-tight);line-height:var(--lh-snug)}.booking-meta{display:flex;flex-direction:column;gap:14px}.booking-meta-item{display:flex;align-items:center;gap:10px;font-size:var(--text-sm);color:rgba(255,255,255,0.65);font-weight:var(--w-medium)}.booking-meta-item svg{width:16px;height:16px;flex-shrink:0;color:var(--orange)}.booking-desc{font-size:var(--text-xs);color:rgba(255,255,255,0.45);line-height:var(--lh-relaxed);padding-top:var(--s-4);border-top:1px solid rgba(255,255,255,0.10)}.booking-panel{padding:36px 32px 32px;display:flex;flex-direction:column;background:var(--bg-card)}.booking-steps{display:flex;gap:8px;margin-bottom:28px}.booking-step{height:4px;flex:1;border-radius:4px;background:var(--border);position:relative;overflow:hidden;transition:background var(--dur-slow) var(--ease)}.booking-step.active{background:var(--orange);box-shadow:0 0 12px rgba(247,122,32,0.35)}.booking-step.done{background:var(--green)}.screen{display:none;flex-direction:column;flex:1;animation:bw-fadeIn var(--dur-slow) var(--ease-out) both}.screen.active{display:flex}@keyframes bw-fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.cal-title{font-size:var(--text-md);font-weight:var(--w-bold);letter-spacing:var(--tracking-tight)}.cal-nav{display:flex;gap:6px}.cal-nav button{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-base),border-color var(--dur-base),transform var(--dur-base) var(--spring);color:var(--text)}.cal-nav button:hover{background:var(--bg-overlay);border-color:var(--border-strong)}.cal-nav button:active{transform:scale(0.94)}.cal-nav button:disabled{opacity:0.25;cursor:default;transform:none}.cal-nav svg{width:14px;height:14px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal-day-label{font-size:var(--text-xs);font-weight:var(--w-semibold);color:var(--text-muted);padding:8px 0;text-transform:uppercase;letter-spacing:0.08em}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--w-medium);border-radius:50%;cursor:pointer;transition:background var(--dur-base),color var(--dur-base),transform var(--dur-base) var(--spring);color:var(--text);position:relative;user-select:none}.cal-day:hover:not(.disabled):not(.empty){background:var(--orange-tint);color:var(--orange-deep)}.cal-day.selected{background:var(--orange);color:#fff;font-weight:var(--w-bold);box-shadow:0 6px 18px rgba(247,122,32,0.35);transform:scale(1.05)}.cal-day.today{font-weight:var(--w-bold);color:var(--orange)}.cal-day.today::after{content:'';position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--orange)}.cal-day.today.selected{color:#fff}.cal-day.today.selected::after{background:#fff}.cal-day.disabled{color:var(--text-faint);cursor:default;pointer-events:none}.cal-day.empty{cursor:default;pointer-events:none}.tz-bar{display:flex;align-items:center;gap:6px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-sub);font-weight:var(--w-medium)}.tz-bar svg{width:14px;height:14px;color:var(--text-muted)}.time-header{font-size:var(--text-sm);font-weight:var(--w-bold);margin-bottom:16px;color:var(--text)}.time-header span{color:var(--orange);font-weight:var(--w-extrabold)}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1;overflow-y:auto;max-height:380px;padding-right:4px}.time-slot{padding:13px 14px;border-radius:var(--r-sm);border:1px solid var(--border);font-size:var(--text-sm);font-weight:var(--w-semibold);text-align:center;cursor:pointer;transition:border-color var(--dur-base),color var(--dur-base),background var(--dur-base),transform var(--dur-base) var(--spring);background:var(--bg-card);color:var(--text)}.time-slot:hover{border-color:var(--orange);color:var(--orange-deep);background:var(--orange-tint);transform:translateY(-1px)}.time-slot.selected{background:var(--orange);color:#fff;border-color:var(--orange);transform:scale(1.04);box-shadow:var(--shadow-pop)}.time-slot .slot-label{font-size:var(--text-xs);font-weight:var(--w-medium);color:var(--text-muted);margin-top:2px}.time-slot.selected .slot-label{color:rgba(255,255,255,0.75)}.time-slot.booked{background:var(--bg-overlay);color:var(--text-muted);border-color:var(--border-faint);cursor:not-allowed;opacity:0.5;text-decoration:line-through;pointer-events:none}.form-group{margin-bottom:18px;position:relative}.form-label{font-size:var(--text-xs);font-weight:var(--w-semibold);margin-bottom:6px;display:block;color:var(--text-soft);letter-spacing:0.01em}.form-input{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--text-sm);font-family:inherit;color:var(--text);transition:border-color var(--dur-base),box-shadow var(--dur-base),background var(--dur-base);outline:none;background:var(--bg)}.form-input:focus{border-color:var(--orange);background:var(--bg-card);box-shadow:var(--shadow-focus)}.form-input.error{border-color:var(--red);background:var(--red-tint)}.form-input.error:focus{box-shadow:0 0 0 3px rgba(239,68,68,0.18)}.form-input::placeholder{color:var(--text-muted);opacity:0.7}.form-error{font-size:var(--text-xs);color:var(--red);margin-top:4px;display:none;font-weight:var(--w-medium)}.form-error.show{display:block}textarea.form-input{resize:vertical;min-height:88px;line-height:var(--lh-relaxed)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}select.form-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}@keyframes uea-bw-spin{to{transform:rotate(360deg)}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:uea-bw-spin 0.6s linear infinite}.btn-book.loading{pointer-events:none;opacity:0.85}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--bg-dark);color:#fff;padding:14px 24px;border-radius:var(--r-pill);font-size:var(--text-sm);font-weight:var(--w-semibold);z-index:var(--z-toast);display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-2xl);transition:transform var(--dur-slow) var(--spring);pointer-events:none}.toast.show{transform:translateX(-50%) translateY(0)}.toast.error{background:var(--red)}.toast svg{width:16px;height:16px;flex-shrink:0}.booking-actions{display:flex;gap:10px;margin-top:auto;padding-top:24px}.btn-book{flex:1;padding:15px 26px;border-radius:var(--r-pill);font-size:var(--text-sm);font-weight:var(--w-bold);border:none;cursor:pointer;transition:transform var(--dur-base) var(--spring),box-shadow var(--dur-base) var(--ease),background var(--dur-base);display:flex;align-items:center;justify-content:center;gap:10px;line-height:1}.btn-book.primary{background:var(--orange);color:#fff;box-shadow:0 2px 0 rgba(225,103,16,0.22),0 12px 26px rgba(247,122,32,0.30)}.btn-book.primary:hover{background:var(--orange-deep);transform:translateY(-2px);box-shadow:0 4px 0 rgba(225,103,16,0.24),0 18px 36px rgba(247,122,32,0.42)}.btn-book.primary:active{transform:translateY(0)}.btn-book.primary:disabled{opacity:0.45;cursor:default;transform:none !important;box-shadow:none !important}.btn-book.secondary{background:transparent;color:var(--text-sub);border:1px solid var(--border-strong);flex:0 0 auto;padding:15px 22px}.btn-book.secondary:hover{background:var(--bg-overlay);color:var(--text);border-color:var(--text)}.btn-book svg{width:16px;height:16px;transition:transform var(--dur-base) var(--ease)}.btn-book.primary:hover svg{transform:translateX(3px)}.btn-book.secondary:hover svg{transform:translateX(-3px)}.confirm-wrap{text-align:center;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.confirm-icon{width:80px;height:80px;border-radius:50%;background:var(--green-tint);display:flex;align-items:center;justify-content:center;margin-bottom:8px;animation:confirmPop var(--dur-slower) var(--spring) both}@keyframes confirmPop{0%{transform:scale(0)}60%{transform:scale(1.1)}100%{transform:scale(1)}}.confirm-icon svg{width:40px;height:40px;color:var(--green)}.confirm-wrap h2{font-size:var(--text-2xl);font-weight:var(--w-extrabold);letter-spacing:var(--tracking-tight)}.confirm-wrap p{font-size:var(--text-sm);color:var(--text-sub);line-height:var(--lh-relaxed);max-width:360px}.confirm-details{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:20px 28px;display:flex;flex-direction:column;gap:12px;margin-top:8px;text-align:left;width:100%;max-width:360px}.confirm-detail{display:flex;align-items:center;gap:12px;font-size:var(--text-sm)}.confirm-detail svg{width:16px;height:16px;color:var(--orange);flex-shrink:0}.confirm-detail strong{font-weight:var(--w-semibold);color:var(--text)}@keyframes uea-bw-scaleIn{from{opacity:0;transform:scale(0.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.booking-wrap.scale-in{animation:uea-bw-scaleIn 0.6s var(--ease-out) both}@media (max-width:1024px){.booking-wrap{grid-template-columns:1fr;max-width:600px;margin:0 auto}.booking-info{padding:28px 28px}}@media (max-width:768px){.booking-wrap{grid-template-columns:1fr;max-width:100%;border-radius:var(--r-xl);min-height:auto}.booking-info{padding:24px 20px;gap:16px}.booking-info::before{display:none}.booking-title{font-size:var(--text-xl)}.booking-panel{padding:24px 20px}.form-row{grid-template-columns:1fr}.time-grid{grid-template-columns:1fr 1fr 1fr;gap:8px}.time-slot{padding:11px 8px;font-size:var(--text-xs)}.booking-actions{gap:8px}.btn-book{padding:14px 20px;font-size:var(--text-xs)}}@media (max-width:480px){.time-grid{grid-template-columns:1fr 1fr}.cal-day{font-size:var(--text-xs)}}