.mwe-booking { width:min(920px,100%); margin:32px auto; color:#f5f6f8; background:#17181c; padding:28px; box-sizing:border-box; }
.mwe-booking *, .mwe-guide-panel * { box-sizing:border-box; letter-spacing:0; }
.mwe-booking header { border-bottom:1px solid #414247; padding-bottom:18px; margin-bottom:24px; }
.mwe-booking header span { color:#f4c95e; font-size:12px; font-weight:800; }
.mwe-booking h2 { color:#fff; font-size:30px; line-height:1.2; margin:8px 0; }
.mwe-booking p { color:#d5d6dc; font-size:14px; line-height:1.6; }
.mwe-booking form { display:grid; gap:20px; }
.mwe-book-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.mwe-booking label { display:grid; gap:7px; font-size:14px; font-weight:600; }
.mwe-booking input,.mwe-booking select,.mwe-booking textarea { width:100%; min-width:0; border:1px solid #56565e; border-radius:4px; background:#23242a; color:#fff; padding:12px; font:inherit; }
.mwe-length-picker { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; margin-top:8px; }
.mwe-length-picker button { min-height:42px; font-size:13px; font-weight:800; }
.mwe-calendar-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mwe-calendar-heading button { width:44px; height:44px; font-size:22px; }
.mwe-booking button { cursor:pointer; background:#27282f; color:#f9f9fb; border:1px solid #56565e; border-radius:4px; font:inherit; }
.mwe-booking button:focus-visible,.mwe-guide-panel button:focus-visible { outline:3px solid #60dac6; outline-offset:3px; }
.mwe-week,.mwe-date-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }
.mwe-week { color:#b7bac4; text-align:center; font-size:12px; }
.mwe-date-grid button { height:48px; font-size:15px; }
.mwe-booking button[aria-pressed=true] { background:#f4c95e; color:#17181c; border-color:#f4c95e; font-weight:800; }
.mwe-booking button:disabled { opacity:.35; cursor:not-allowed; }
.mwe-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.mwe-slots button { min-height:52px; padding:8px; font-size:13px; }
#mwe-block-summary { color:#72e0cb; margin:0; min-height:24px; }
#mwe-quote { border-top:1px solid #53535b; padding-top:18px; font-weight:700; line-height:1.8; }
.mwe-booking #mwe-pay { background:#f4c95e; color:#17181c; border-color:#f4c95e; min-height:50px; font-weight:800; }
.mwe-book-policy { margin:0; }
.mwe-honey { position:absolute; left:-10000px; width:1px!important; height:1px; }
.mwe-mascot-launcher { position:fixed; right:22px; bottom:80px; width:90px; height:90px; padding:0; border:2px solid #f4c95e; border-radius:50%; background:#15141e; cursor:pointer; z-index:99990; box-shadow:0 5px 22px #0006; }
.mwe-mascot-launcher img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.mwe-mascot-launcher span { position:absolute; bottom:100px; right:0; width:172px; background:#fff; color:#23242a; border:1px solid #e1e2e8; border-radius:6px; padding:10px; font:600 12px/1.4 Arial,sans-serif; box-shadow:0 4px 18px #0003; }
.mwe-mascot-launcher[aria-expanded=true] span { display:none; }
.mwe-guide-panel { position:fixed; bottom:180px; right:22px; width:370px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 210px); background:#fff; color:#23242a; border:1px solid #dbdee5; border-radius:8px; z-index:99991; box-shadow:0 12px 48px #0005; font:14px/1.5 Arial,sans-serif; overflow:auto; }
.mwe-guide-panel[hidden] { display:none!important; }
.mwe-guide-panel header { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; background:#17181c; color:#fff; }
.mwe-guide-panel small { display:block; color:#c8cad3; font-size:11px; }
.mwe-guide-panel header button { background:transparent; color:#fff; border:0; width:36px; height:36px; font-size:26px; cursor:pointer; }
.mwe-guide-messages { padding:14px; height:220px; max-height:35dvh; overflow-y:auto; }
.mwe-guide-messages p { margin:0; font-size:14px; line-height:1.6; color:inherit; white-space:pre-wrap; }
.mwe-chat-guide,.mwe-chat-user { padding:10px; border-radius:6px; background:#f0f3f5; margin-bottom:12px; }
.mwe-chat-user { background:#e1f6ef; margin-left:30px; }
.mwe-guide-messages a { display:inline-block; color:#126857; margin-top:8px; font-weight:700; }
.mwe-guide-topics { display:flex; flex-wrap:wrap; gap:6px; padding:0 14px 12px; }
.mwe-guide-topics button { border:1px solid #d4dae0; background:#fff; color:#23242a; border-radius:4px; padding:7px 10px; font:inherit; font-size:12px; cursor:pointer; }
.mwe-guide-panel form { padding:12px 14px 16px; border-top:1px solid #d4dae0; }
.mwe-guide-panel form label { display:block; font-size:12px; margin-bottom:6px; }
.mwe-guide-panel form div { display:flex; gap:8px; }
.mwe-guide-panel input { min-width:0; width:100%; border:1px solid #b9c0ca; border-radius:4px; padding:10px; font:inherit; color:#23242a; background:#fff; }
.mwe-guide-panel form button { width:40px; height:40px; flex:none; border:0; border-radius:4px; background:#126857; color:white; font-size:24px; cursor:pointer; }
.mwe-mascot-launcher img { animation:mwe-mascot-float 4s ease-in-out infinite; }
@keyframes mwe-mascot-float { 50% { transform:translateY(-3px); } }
@media(max-width:600px) { .mwe-booking { padding:18px 14px; } .mwe-book-fields { grid-template-columns:1fr; } .mwe-slots { grid-template-columns:repeat(2,minmax(0,1fr)); } .mwe-date-grid { gap:4px; } .mwe-mascot-launcher { width:66px; height:66px; right:16px; bottom:74px; } .mwe-mascot-launcher span { bottom:75px; width:160px; } .mwe-guide-panel { bottom:150px; right:16px; max-height:calc(100dvh - 180px); } }
@media(prefers-reduced-motion:reduce) { .mwe-mascot-launcher img { animation:none; } }
