.rkc-booking{max-width:1000px;margin:30px auto;padding:32px;border-radius:20px;background:#f5f5f5;border-top:5px solid #F3E500;color:#242424}.rkc-booking h2{font-size:clamp(26px,3vw,40px);margin:4px 0 12px}.rkc-eyebrow{color:#F3E500;font-weight:800;letter-spacing:.09em}.rkc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.rkc-booking label{display:flex;flex-direction:column;gap:7px;font-weight:650;min-width:0}.rkc-booking input:not([type=checkbox]),.rkc-booking select,.rkc-booking textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:11px;border:1px solid #d0d0d0;border-radius:9px;background:#fff;color:#222;font:inherit}.rkc-booking select:disabled{opacity:.65}.rkc-booking .rkc-consent{flex-direction:row;align-items:flex-start;font-weight:400;margin:18px 0}.rkc-consent input{margin-top:5px}.rkc-booking button{background:#F3E500;color:white;border:0;border-radius:9px;padding:15px 24px;font-weight:750;cursor:pointer}.rkc-slot-status,.rkc-help{font-size:14px;color:#555}.rkc-error{background:#ffe4e4;padding:12px}.rkc-success{background:#def5e3;padding:12px}.rkc-honey{position:absolute;left:-10000px}.rkc-wide{margin-top:14px}@media(max-width:650px){.rkc-grid{grid-template-columns:1fr}.rkc-booking{padding:20px}}
/* Wochenkalender nach Kundenreferenz */
.rkc-week{margin:22px 0 28px;padding:20px;border:1px solid #dedede;border-radius:18px;background:#fff}.rkc-location-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.rkc-booking .rkc-location-switch button{background:transparent;color:#777;border-radius:30px;padding:11px 6px}.rkc-booking .rkc-location-switch button.is-active{background:#f1f1f1;color:#222}.rkc-week-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.rkc-week-nav strong{font-size:17px;text-align:center}.rkc-booking .rkc-week-nav button{padding:3px 15px;background:#fff;color:#555;border:1px solid #dedede;border-radius:25px;font-size:25px;line-height:1.3}.rkc-week-nav button:disabled{opacity:.35;cursor:default}.rkc-week-scroll{overflow-x:auto}.rkc-week-grid{display:grid;grid-template-columns:repeat(6,minmax(82px,1fr));gap:5px;min-width:540px}.rkc-day-head{text-align:center;font-weight:700;padding:10px 0 13px;font-size:13px}.rkc-booking .rkc-slot{font-size:12px;font-weight:500;padding:9px 3px;border-radius:7px;border:1px solid #cde2d4;background:#e0f1e6;color:#173d27;min-height:34px}.rkc-booking .rkc-slot.is-busy{background:#f6f6f6;color:#a8a8a8;border-color:#ededed;cursor:not-allowed}.rkc-booking .rkc-slot.is-selected{background:#fffbd0;color:#554e00;border:2px solid #F3E500}.rkc-booking .rkc-slot.is-free:hover{background:#bfe4cc}.rkc-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:15px;font-size:12px;color:#666}.rkc-legend span{display:inline-flex;align-items:center;gap:6px}.rkc-legend i{display:inline-block;width:13px;height:13px;border:1px solid #ddd;border-radius:3px}.rkc-free-key{background:#e0f1e6}.rkc-busy-key{background:#f6f6f6}.rkc-selected-key{background:#fffbd0}@media(max-width:650px){.rkc-week{padding:12px}.rkc-week-grid{gap:4px}.rkc-booking .rkc-slot{padding:8px 2px}}

/* Einzelansicht bei Datumsauswahl und Zuruecksetzen */
.rkc-week-grid.is-single-day{grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%}
.rkc-date-controls{display:flex;align-items:center;gap:8px;width:100%}
.rkc-date-controls input{flex:1;min-width:0}
.rkc-booking .rkc-clear-date{flex:0 0 42px;min-width:42px;min-height:48px;padding:0;background:#f2f2f2;color:#333;border:1px solid #d0d0d0;border-radius:9px;font-size:25px;line-height:1}
.rkc-booking .rkc-clear-date:hover{background:#e7e7e7}
.rkc-booking .rkc-clear-date[hidden]{display:none}

/* Kapazitätsanteile im öffentlichen Kalender; Daten enthalten keine Kundennamen. */
.rkc-booking .rkc-slot.is-unavailable{color:#555;border-color:#dedede;cursor:not-allowed;opacity:1}
.rkc-confirmed-key{background:#c4e5d0}.rkc-pending-key{background:#ffe6ac}
.rkc-busy-key{background:#f2c9c9}

/* Zeitfenster erst nach Auswahl eines Datums anzeigen */
.rkc-booking.rkc-awaiting-date .rkc-week-nav,
.rkc-booking.rkc-awaiting-date .rkc-week-scroll,
.rkc-booking.rkc-awaiting-date .rkc-legend{display:none!important}

/* Tagesansicht: jeweils zwei Stunden nebeneinander */
.rkc-week-grid.is-two-hour-layout{display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%}
.rkc-two-hour-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rkc-two-hour-column{display:flex;flex-direction:column;gap:5px;min-width:0}
.rkc-two-hour-head{text-align:center;font-size:12px;font-weight:700;padding:5px 0;color:#444}
.rkc-two-hour-column .rkc-slot{width:100%;box-sizing:border-box}
@media(max-width:420px){.rkc-two-hour-row{gap:6px}.rkc-two-hour-column{gap:4px}}

/* v1.6.3: Kalender unter der Datumswahl, acht Zeitfenster je zweistündiger Zeile */
.rkc-week-grid.is-two-hour-layout{display:flex;flex-direction:column;gap:8px}
.rkc-two-hour-row{display:grid;grid-template-columns:minmax(112px,1.35fr) repeat(8,minmax(0,1fr));align-items:stretch;gap:4px}
.rkc-two-hour-head{display:flex;align-items:center;justify-content:center;text-align:center;padding:5px;font-size:12px;font-weight:700;white-space:nowrap}
.rkc-booking .rkc-two-hour-row .rkc-slot{min-width:0;width:100%;padding:9px 1px;font-size:11px}
.rkc-week-scroll{overflow-x:auto}
.rkc-week-grid.is-two-hour-layout{min-width:650px}
@media(max-width:650px){.rkc-two-hour-row{grid-template-columns:minmax(105px,1.2fr) repeat(8,minmax(0,1fr))}}

/* v1.6.5: Smartphone – vier 15-Minuten-Termine pro Zeile, ohne Stunden-/Bereichstitel. */
@media (max-width:650px) {
  .rkc-week-scroll {overflow-x:visible;max-width:100%;}
  .rkc-week-grid.is-two-hour-layout {min-width:0;max-width:100%;width:100%;gap:10px;}
  .rkc-two-hour-row {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0;}
  .rkc-two-hour-head {display:none;}
  .rkc-booking .rkc-two-hour-row .rkc-slot {min-width:0;width:100%;min-height:44px;padding:9px 1px;font-size:clamp(11px,3vw,14px);box-sizing:border-box;}
}

/* v1.6.6: Hinweis ausschließlich bei ausgewähltem Samstag. */
.rkc-booking .rkc-saturday-notice:not([hidden]){display:block;margin:18px 0 0;padding:14px 18px;border:1px solid #F3E500;border-radius:12px;background:#fffde0;color:#554e00;font-weight:700;line-height:1.5;}
.rkc-booking .rkc-saturday-notice[hidden]{display:none!important;}

/* v1.6.7: brand yellow and readable dark foreground */
.rk-booking button[type="submit"],.rk-calendar button[type="submit"]{background:#F3E500;color:#111518;border-color:#F3E500}

/* v1.6.8: Instagram information link */
.rkc-booking .rkc-social{font-size:14px;margin:8px 0 18px}.rkc-booking .rkc-social a{color:#665f00;text-decoration:underline;text-decoration-color:#b5a900;text-underline-offset:3px;font-weight:700}.rkc-booking .rkc-social a:focus-visible{outline:3px solid #665f00;outline-offset:3px}.rkc-booking button[type=submit]{color:#111}

/* v1.6.9 – keyboard focus, contrast and touch targets */
.rkc-booking :is(button,input,select,textarea,a):focus-visible{outline:3px solid #655b00!important;outline-offset:3px!important}
.rkc-booking .rkc-slot:focus-visible{outline:3px solid #242424!important;outline-offset:2px!important;position:relative;z-index:2}
.rkc-booking :is(.rkc-prev,.rkc-next,.rkc-clear-date,.rkc-location-switch button){min-width:44px;min-height:44px}
.rkc-booking a{color:#514900;text-decoration:underline;text-underline-offset:2px}
@media(prefers-reduced-motion:reduce){.rkc-booking *, .rkc-booking *::before,.rkc-booking *::after{transition:none!important;animation:none!important}}

/* v1.6.10: accessible labels and compact mobile form */
.rkc-booking .rkc-eyebrow{color:#3c3900}
.rkc-booking button[type="submit"]{color:#111}
@media(max-width:650px){.rkc-booking{margin:16px auto;padding:16px}.rkc-booking h2{margin:2px 0 8px}.rkc-booking .rkc-grid{gap:12px;margin:14px 0}.rkc-booking .rkc-week{margin:16px 0;padding:12px}}
