:root{--kwd-primary:var(--color-primary,#0b2a46);--kwd-accent:var(--color-accent,#e94a1b);--kwd-bg:#f3f3f3;--kwd-text:#0f2238;--kwd-muted:#9b9b9b;--kwd-surface:#fff}.kwd-booking-widget{margin:1.5rem 0 0}.kwd-booking-flow{background:var(--kwd-bg);border-radius:18px;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;padding:1rem}.kwd-booking-flow>*{min-width:0}.kwd-cal-left{background:#fff;border-radius:14px;max-width:100%;overflow:hidden;padding:1rem;width:100%}.kwd-cal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.8rem}.kwd-month-label{color:var(--kwd-primary);font-family:var(--font-heading,"Poppins",sans-serif);font-size:1.1rem;margin:0}.kwd-nav{background:#e6e6e6;border:0;border-radius:10px;color:var(--kwd-primary);cursor:pointer;font-size:1.2rem;height:36px;width:36px}.kwd-weekday-row{color:var(--kwd-muted);font-weight:600;gap:.25rem;margin-bottom:.35rem;text-align:center}.kwd-grid-days,.kwd-weekday-row{display:grid;grid-template-columns:repeat(7,1fr);width:100%}.kwd-grid-days{gap:.35rem;max-width:100%}.kwd-day{align-items:center;aspect-ratio:1/1;background:#f7fafc;border:1px solid #d8e1ea;border-radius:10px;color:var(--kwd-text);display:flex;font-weight:700;justify-content:center;min-width:0;padding:0;user-select:none;width:100%}.kwd-day.empty{background:transparent;border-color:transparent}.kwd-day.muted{background:#edf2f7;color:#6b7683}.kwd-day.has-free{background:#e8f7ec;border-color:#b9dfc4;color:#245f37;cursor:pointer;transition:transform .15s ease,outline-color .15s ease}.kwd-day.has-free:hover{outline:2px solid #74c08a;transform:translateY(-1px)}.kwd-day.selected{background:var(--kwd-primary);color:#fff}.kwd-cal-right{background:var(--kwd-primary);border-radius:14px;color:#f8fbff;padding:1.15rem}.kwd-step h4{color:#fff;font-weight:800;margin:0 0 .55rem}.kwd-hint{font-size:1.1rem;font-weight:600;margin:0}.kwd-step-subline{color:#dbe8f5;margin:0 0 .8rem}.kwd-back-btn{background:transparent;border:0;color:#f6c9bb;cursor:pointer;font-weight:700;margin:0 0 .75rem;padding:0;text-decoration:underline}.kwd-back-btn:hover{color:#ffd8cd}.kwd-time-list{display:flex;flex-wrap:wrap;gap:.55rem}.kwd-time-btn{background:#f8fbff;border:1px solid #9fb4ca;border-radius:10px;color:#0f2b46;cursor:pointer;font-weight:700;padding:.55rem .8rem}.kwd-time-btn.active,.kwd-time-btn:hover{background:var(--kwd-accent);border-color:var(--kwd-accent);color:#fff}.kwd-booking-form{display:grid;gap:.75rem}.kwd-field{display:grid;gap:.35rem}.kwd-field span{color:#eaf2fb;font-size:.88rem}.kwd-booking-form input,.kwd-booking-form textarea{background:#f8fbff;border:1px solid hsla(0,0%,100%,.25);border-radius:12px;color:#111;outline:none;padding:.72rem .85rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.kwd-booking-form input:focus,.kwd-booking-form textarea:focus{border-color:var(--kwd-accent);box-shadow:0 0 0 3px rgba(233,74,27,.2)}.kwd-submit{background:#ff6b3d!important;border:1px solid #ff6b3d!important;border-radius:12px;color:#fff!important;font-weight:700;margin-top:.25rem;padding:.68rem 1rem}.kwd-submit:hover{background:#ff7a52!important;border-color:#ff7a52!important;color:#fff!important}.form-msg{color:#ffe4da;font-size:.9rem;margin:0}.form-msg.is-error{color:#ffb8a0}@media (max-width:950px){.kwd-booking-flow{grid-template-columns:1fr}.kwd-cal-left{padding:.9rem}.kwd-month-label{font-size:1rem;text-align:center}.kwd-weekday-row{color:#5f6c79;font-size:.78rem;font-weight:700;margin-bottom:.45rem}.kwd-grid-days{gap:.28rem;min-height:270px}.kwd-day{font-size:.92rem;min-height:34px}.kwd-nav{height:40px;width:40px}}
