.kk-reservation{font-family:Arial,Helvetica,sans-serif;color:#465168;max-width:540px;margin:0 auto}.kk-card{background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(26,38,64,.10);padding:20px 26px 28px}.kk-step{border-bottom:1px solid #edf0f5}.kk-row-button{width:100%;display:grid;grid-template-columns:32px 1fr 24px;align-items:center;gap:12px;background:none;border:0;padding:19px 0;text-align:left;cursor:pointer;color:inherit}.kk-row-button strong{color:var(--kk-accent);font-size:16px}.kk-icon{font-size:23px;color:#9aa3af}.kk-chevron{text-align:right;font-size:22px}.kk-expand{display:none;padding:0 0 18px 44px}.kk-expand.is-open{display:block}.kk-person-controls{display:inline-flex;align-items:center;border:1px solid #dde3ec;border-radius:28px;overflow:hidden}.kk-person-controls button{width:44px;height:40px;border:0;background:#f7f9fc;font-size:22px;cursor:pointer}.kk-person-controls span{min-width:48px;text-align:center;font-weight:700}.kk-expand input[type=date]{border:1px solid #dbe1ea;border-radius:10px;padding:10px 12px;font:inherit}.kk-time-head{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:25px 0 14px}.kk-clock{font-size:25px;color:#919bab}.kk-nav-arrows{display:flex;gap:16px}.kk-nav-arrows button{border:0;background:none;color:#536076;font-size:35px;line-height:1;cursor:pointer}.kk-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px}.kk-slot{height:43px;border:0;border-bottom:1px solid #c9d3e2;border-radius:22px;background:#fff;color:#465168;cursor:pointer;font-size:14px;transition:.2s}.kk-slot:hover:not(:disabled){border-color:var(--kk-accent);color:var(--kk-accent)}.kk-slot.is-selected{background:var(--kk-accent);color:#fff;border-color:var(--kk-accent)}.kk-slot:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.kk-loading,.kk-empty{grid-column:1/-1;padding:18px;text-align:center;background:#f7f9fc;border-radius:10px}.kk-reserve-button,.kk-submit{width:100%;border:0;border-radius:4px;background:var(--kk-accent);color:#fff;font-weight:700;font-size:17px;padding:14px 16px;margin-top:28px;cursor:pointer}.kk-reserve-button:disabled{opacity:.45;cursor:not-allowed}.kk-booking-form{margin-top:25px;padding-top:20px;border-top:1px solid #e8ecf2}.kk-booking-form h3{margin:0 0 16px;color:#27334b}.kk-grid{display:grid;gap:13px}.kk-grid label{font-size:13px;font-weight:700;color:#4f5a70}.kk-grid input,.kk-grid textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #d8dfe9;border-radius:8px;padding:11px 12px;font:inherit}.kk-consent{display:flex;gap:9px;align-items:flex-start;margin-top:15px;font-size:12px;line-height:1.4}.kk-status{margin-top:16px;text-align:center;font-weight:700}.kk-status.is-error{color:#b42318}.kk-status.is-success{color:#138a47}.kk-submit:disabled{opacity:.6}.kk-booking-form[hidden]{display:none!important}@media(max-width:520px){.kk-card{padding:13px 18px 22px;border-radius:10px}.kk-slots{grid-template-columns:repeat(3,1fr);gap:10px 8px}.kk-slot{font-size:13px}.kk-row-button{padding:16px 0}.kk-time-head{padding-top:21px}.kk-reserve-button{font-size:16px}}
/* Version 1.3: gut lesbare Hover- und Fokuszustände */
.kk-row-button:hover,.kk-row-button:focus-visible{background:#f7f9fc;color:#263248;outline:none}
.kk-person-controls button:hover,.kk-person-controls button:focus-visible{background:var(--kk-accent);color:var(--kk-button-text);outline:none}
.kk-nav-arrows button:hover,.kk-nav-arrows button:focus-visible{color:var(--kk-accent);background:transparent;outline:2px solid transparent}
.kk-slot:hover:not(:disabled),.kk-slot:focus-visible:not(:disabled){background:var(--kk-hover);border-color:var(--kk-hover);color:var(--kk-button-text);outline:none}
.kk-slot.is-selected,.kk-slot.is-selected:hover{background:var(--kk-accent);color:var(--kk-button-text);border-color:var(--kk-accent)}
.kk-reserve-button,.kk-submit{color:var(--kk-button-text)}
.kk-reserve-button:hover:not(:disabled),.kk-submit:hover:not(:disabled),.kk-reserve-button:focus-visible:not(:disabled),.kk-submit:focus-visible:not(:disabled){background:var(--kk-hover);color:var(--kk-button-text);outline:3px solid color-mix(in srgb,var(--kk-accent) 25%,transparent);outline-offset:2px}
.kk-calendar-download{display:inline-block;margin-top:12px;padding:11px 16px;border-radius:7px;background:var(--kk-accent);color:var(--kk-button-text)!important;text-decoration:none;font-weight:700}
.kk-calendar-download:hover{background:var(--kk-hover);color:var(--kk-button-text)!important}
