/* AIOW Terminbuchung — Frontend-Widget (M3). Scoped unter .aiow-booking.
   Akzentfarbe erbt das Schema des Builders über --aiow-primary. */
.aiow-booking{--bk:var(--aiow-primary,#5a49f8);--bk-ink:#16112e;--bk-mut:#6f6a86;
  --bk-line:#e6e9ef;--bk-surf:#f5f7fa;max-width:760px;margin:0 auto;
  color:var(--bk-ink);font-size:16px;line-height:1.5;box-sizing:border-box}
.aiow-booking *{box-sizing:border-box}
.aiow-booking .bk-card{background:#fff;border:1px solid var(--bk-line);border-radius:16px;
  padding:22px;box-shadow:0 10px 30px rgba(14,27,58,.06)}
.aiow-booking .bk-cols{display:flex;gap:24px}
.aiow-booking .bk-cal{flex:1.4;min-width:0}
.aiow-booking .bk-side{flex:1;min-width:0}
.aiow-booking .bk-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.aiow-booking .bk-nav{width:34px;height:34px;border:1px solid var(--bk-line);border-radius:9px;
  background:#fff;cursor:pointer;font-size:18px;line-height:1;color:var(--bk-ink);flex:0 0 auto}
.aiow-booking .bk-nav:disabled{opacity:.35;cursor:default}
.aiow-booking .bk-month{flex:1;text-align:center;font-weight:700;font-size:16px}
.aiow-booking .bk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.aiow-booking .bk-dow{font-size:11px;font-weight:700;color:var(--bk-mut);text-align:center;padding:4px 0}
.aiow-booking .bk-day{aspect-ratio:1/1;min-height:38px;border:1px solid var(--bk-line);border-radius:9px;
  background:#fff;cursor:pointer;font-size:14px;color:var(--bk-ink);display:flex;align-items:center;justify-content:center}
.aiow-booking .bk-day.is-empty{border:0;background:transparent;cursor:default}
.aiow-booking .bk-day.is-off{opacity:.35;cursor:default;background:var(--bk-surf)}
.aiow-booking .bk-day.is-sel{background:var(--bk);border-color:var(--bk);color:#fff;font-weight:700}
.aiow-booking .bk-day:not(.is-off):not(.is-empty):not(.is-sel):hover{border-color:var(--bk)}
.aiow-booking .bk-side-lbl{font-weight:700;margin-bottom:10px}
.aiow-booking .bk-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.aiow-booking .bk-slot{padding:10px;border:1px solid var(--bk-line);border-radius:9px;background:#fff;
  cursor:pointer;font-size:14px;text-align:center;color:var(--bk-ink)}
.aiow-booking .bk-slot:hover{border-color:var(--bk)}
.aiow-booking .bk-slot.is-sel{background:var(--bk);border-color:var(--bk);color:#fff;font-weight:700}
.aiow-booking .bk-hint{color:var(--bk-mut);font-size:14px;padding:8px 0}
.aiow-booking .bk-form{margin-top:18px;border-top:1px solid var(--bk-line);padding-top:18px}
.aiow-booking .bk-field{margin-bottom:12px}
.aiow-booking .bk-field label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.aiow-booking .bk-field input,.aiow-booking .bk-field textarea{width:100%;padding:11px 12px;
  border:1px solid var(--bk-line);border-radius:9px;font:inherit;color:var(--bk-ink);background:#fff}
.aiow-booking .bk-field input:focus,.aiow-booking .bk-field textarea:focus{outline:none;border-color:var(--bk)}
.aiow-booking .bk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aiow-booking .bk-summary{font-size:14px;color:var(--bk-mut);margin-bottom:12px}
.aiow-booking .bk-summary b{color:var(--bk-ink)}
.aiow-booking .bk-btn{display:inline-block;width:100%;padding:14px 18px;border:0;border-radius:10px;
  background:var(--bk);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.aiow-booking .bk-btn:disabled{opacity:.6;cursor:default}
.aiow-booking .bk-msg{padding:12px 14px;border-radius:10px;font-size:14px;margin-top:12px}
.aiow-booking .bk-msg.err{background:#fdecea;color:#8a1f16;border:1px solid #f6c9c3}
.aiow-booking .bk-ok{text-align:center;padding:14px}
.aiow-booking .bk-ok .bk-ok-ic{width:56px;height:56px;border-radius:50%;background:#e7f7ef;
  color:#0f9d6b;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 12px}
.aiow-booking .bk-ok h3{margin:0 0 6px;color:var(--bk-ink)}
.aiow-booking .bk-ok p{margin:0;color:var(--bk-mut)}
@media(max-width:640px){.aiow-booking .bk-cols{flex-direction:column;gap:18px}}

/* Vollseiten-Layout (Shortcode full="1"): Abstände + CTA-Innencontainer */
.aiow-booking-section{padding-top:72px;padding-bottom:72px}
.aiow-booking-cta{padding-top:64px;padding-bottom:64px}
.aiow-booking-cta-inner{max-width:760px;margin:0 auto;padding:0 24px;text-align:center}
.aiow-booking-cta h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 12px;line-height:1.2}
.aiow-booking-cta p{margin:0;font-size:1.06rem;line-height:1.65}
@media(max-width:640px){.aiow-booking-section{padding-top:48px;padding-bottom:48px}}
.aiow-booking .bk-callhint{background:rgba(0,0,0,.035);border-left:3px solid var(--bk);border-radius:8px;padding:11px 14px;margin-bottom:16px;font-size:14px;line-height:1.5;color:var(--bk-ink)}
