.legion-booking{--red:#ed193e;--navy:#0a1f41;--ink:#051225;--body:#314b68;--white:#fff;--wash:#f6f8fb;--line:#e4e9f1;--shadow:0 10px 24px -14px #0a1f412e;--radius:12px;--ease-out:cubic-bezier(.23,1,.32,1);color:var(--ink);font-family:Barlow,system-ui,sans-serif;line-height:1.55}.legion-booking .disp{text-transform:uppercase;letter-spacing:.01em;font-family:Barlow Condensed,sans-serif;font-weight:800;line-height:.98}.legion-booking .eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--red);align-items:center;gap:10px;font-size:.72rem;font-weight:700;display:inline-flex}.legion-booking .eyebrow:before{content:"";background:var(--red);width:24px;height:3px}.legion-booking .bk-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);max-width:560px;margin:0 auto;padding:28px}.legion-booking .bk-card.bk-flush{box-shadow:none;background:0 0;border:0;max-width:none;padding:22px}.legion-booking .bk-head h3{color:var(--navy);margin:10px 0 8px;font-size:clamp(1.5rem,3.4vw,2rem)}.legion-booking .bk-sub{color:var(--body);margin:0 0 18px;font-size:.98rem}.legion-booking .bk-steps{gap:10px;margin:0 0 22px;padding:0;list-style:none;display:flex}.legion-booking .bk-steps li{text-transform:uppercase;letter-spacing:.03em;color:#9fb1c9;flex:1;align-items:center;gap:8px;font-family:Barlow Condensed,sans-serif;font-size:.86rem;font-weight:700;display:flex}.legion-booking .bk-steps li span{background:var(--wash);border:1px solid var(--line);width:26px;height:26px;color:var(--body);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.legion-booking .bk-steps li.is-active{color:var(--navy)}.legion-booking .bk-steps li.is-active span{background:var(--red);border-color:var(--red);color:#fff}.legion-booking .bk-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.legion-booking .bk-field{flex-direction:column;gap:6px;display:flex}.legion-booking .bk-field span{text-transform:uppercase;letter-spacing:.08em;color:var(--body);font-size:.74rem;font-weight:700}.legion-booking .bk-field input{color:var(--ink);background:var(--white);border:1px solid var(--line);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out);border-radius:8px;padding:12px 14px;font-family:Barlow,sans-serif;font-size:1rem}.legion-booking .bk-field input:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px #ed193e22}.legion-booking .bk-field.has-err input{border-color:var(--red)}.legion-booking .bk-err{color:var(--red);min-height:0;font-size:.78rem;font-style:normal;display:none}.legion-booking .bk-field.has-err .bk-err{display:block}.legion-booking .bk-btn{text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--red);cursor:pointer;width:100%;transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),opacity .15s;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:14px 30px;font-family:Barlow Condensed,sans-serif;font-size:1.1rem;font-weight:700;display:inline-flex;box-shadow:0 6px 16px #ed193e38}.legion-booking .bk-btn:active{transform:scale(.97)}.legion-booking .bk-btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.legion-booking .bk-btn.is-busy{opacity:.7;cursor:progress}.legion-booking .bk-fine{text-align:center;color:var(--body);margin:12px 0 0;font-size:.78rem}.legion-booking .bk-fine a{color:var(--body);text-underline-offset:2px;text-decoration:underline}@media (hover:hover) and (pointer:fine){.legion-booking .bk-fine a:hover{color:var(--red)}}.legion-booking .bk-exp{border:0;margin:0 0 16px;padding:0}.legion-booking .bk-exp legend{text-transform:uppercase;letter-spacing:.08em;color:var(--body);margin:0 0 8px;padding:0;font-size:.74rem;font-weight:700}.legion-booking .bk-opts{flex-direction:column;gap:8px;display:flex}.legion-booking .bk-opt{cursor:pointer;color:var(--ink);align-items:center;gap:10px;font-size:.98rem;display:flex}.legion-booking .bk-opt input{opacity:0;width:1px;height:1px;position:absolute}.legion-booking .bk-box{border:1px solid var(--line);background:var(--white);border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .15s,background .15s;display:inline-flex}.legion-booking .bk-box:after{content:"";background:var(--red);width:10px;height:10px;transition:transform .12s var(--ease-out);border-radius:3px;transform:scale(0)}.legion-booking .bk-opt input:checked~.bk-box{border-color:var(--red)}.legion-booking .bk-opt input:checked~.bk-box:after{transform:scale(1)}.legion-booking .bk-opt input:focus-visible~.bk-box{box-shadow:0 0 0 3px #ed193e22}.legion-booking .bk-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.legion-booking .bk-divider{border:0;border-top:1px solid var(--line);margin:18px 0 16px}.legion-booking .bk-consent{margin:4px 0 14px}.legion-booking .bk-consent-text{color:var(--ink);margin:0 0 6px;font-size:.92rem;line-height:1.5}.legion-booking .bk-consent-line{text-align:center;color:var(--ink);margin:10px 0 0;font-size:.88rem;line-height:1.45}.legion-booking .bk-who{background:var(--wash);border:1px solid var(--line);color:var(--body);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;font-size:.92rem;display:flex}.legion-booking .bk-who strong{color:var(--navy)}.legion-booking .bk-edit{color:var(--red);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:none;font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:700}.legion-booking .bk-loading,.legion-booking .bk-none{color:var(--body);text-align:center;padding:18px 0;font-size:.95rem}.legion-booking .bk-none a{color:var(--red);font-weight:700}.legion-booking .bk-retry{font:inherit;color:var(--red);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.legion-booking .bk-retry:focus-visible,.legion-booking .bk-day:focus-visible,.legion-booking .bk-time:focus-visible{outline:2px solid var(--red);outline-offset:2px}.legion-booking .bk-step2:focus{outline:none}.legion-booking .bk-days{scrollbar-width:thin;gap:8px;margin-bottom:14px;padding-bottom:8px;display:flex;overflow-x:auto}.legion-booking .bk-day{text-align:center;background:var(--white);border:1px solid var(--line);cursor:pointer;border-radius:10px;flex:none;min-width:78px;padding:8px 10px;font-family:Barlow,sans-serif;transition:border-color .15s,background .15s}.legion-booking .bk-day b{color:var(--navy);text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:1.05rem;font-weight:800;line-height:1;display:block}.legion-booking .bk-day span{color:var(--body);text-transform:uppercase;letter-spacing:.05em;margin-top:3px;font-size:.72rem;display:block}.legion-booking .bk-day.is-sel{border-color:var(--red);background:#ed193e0a}.legion-booking .bk-times{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.legion-booking .bk-time{color:var(--navy);background:var(--white);border:1px solid var(--line);cursor:pointer;text-align:center;border-radius:8px;padding:10px 6px;font-family:Barlow,sans-serif;font-size:.95rem;transition:border-color .15s,background .15s,color .15s}.legion-booking .bk-kind{color:var(--ink);margin:0 0 12px;font-size:.95rem}.legion-booking .bk-kind b{text-transform:uppercase;letter-spacing:.02em;color:var(--navy);font-family:Barlow Condensed,sans-serif;font-weight:800}.legion-booking .bk-time.is-rec{border-color:var(--red);font-weight:700}.legion-booking .bk-time small{text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-top:2px;font-size:.66rem;font-weight:700;display:block}.legion-booking .bk-time.is-sel small{color:#fff}.legion-booking .bk-exp.has-err .bk-box{border-color:var(--red)}.legion-booking .bk-time.is-sel{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}.legion-booking .bk-msg{text-align:center;min-height:1em;margin:12px 0 0;font-size:.9rem}.legion-booking .bk-msg.is-err{color:var(--red)}@media (hover:hover) and (pointer:fine){.legion-booking .bk-btn:hover:not([disabled]){transform:translateY(-2px);box-shadow:0 10px 22px #ed193e4d}.legion-booking .bk-day:hover,.legion-booking .bk-time:hover:not(.is-sel){border-color:var(--red)}}@media (prefers-reduced-motion:reduce){.legion-booking *{transition:none!important}}@media (width<=520px){.legion-booking .bk-card{padding:22px}.legion-booking .bk-grid{grid-template-columns:1fr}}
