/* Buchungs-Widget – alles unter .bkw, Akzentfarbe über --bkw-accent */
.bkw{--bkw-accent:#f5b54a;--bkw-bg:#0c0e14;--bkw-panel:rgba(255,255,255,.035);--bkw-line:rgba(255,255,255,.1);--bkw-line-2:rgba(255,255,255,.16);--bkw-ink:#eef0f4;--bkw-muted:#a2a8b3;--bkw-dim:#6f7682;color:var(--bkw-ink);font-size:16px;line-height:1.5;text-align:left}
.bkw *,.bkw *::before,.bkw *::after{box-sizing:border-box}
.bkw svg{width:20px;height:20px;flex:none}
.bkw button{font:inherit;color:inherit;cursor:pointer}
.bkw p{margin:0}
.bkw-loading,.bkw-hint{color:var(--bkw-muted)}
.bkw-error{margin-bottom:12px!important;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,93,98,.45);background:rgba(255,93,98,.08);color:#ffc1c3}
.bkw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bkw :focus-visible{outline:2px solid var(--bkw-accent);outline-offset:2px}

.bkw-head{margin-bottom:18px}
.bkw-title{font-size:1.3rem;font-weight:600;letter-spacing:-.02em}
.bkw-meta{display:flex;gap:8px;align-items:flex-start;margin-top:6px!important;color:var(--bkw-muted);font-size:15px}
.bkw-meta svg{width:18px;height:18px;margin-top:2px;color:var(--bkw-accent)}

.bkw-formats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.bkw-format{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;border-radius:16px;border:1px solid var(--bkw-line-2);background:var(--bkw-panel);text-align:left;transition:border-color .25s,background .25s,box-shadow .25s}
.bkw-format b{display:block;font-weight:600}
.bkw-format small{display:block;font-size:13px;color:var(--bkw-muted)}
.bkw-format svg{color:var(--bkw-accent)}
.bkw-format:hover{border-color:rgba(255,255,255,.3)}
.bkw-format.on{border-color:var(--bkw-accent);background:color-mix(in srgb,var(--bkw-accent) 10%,transparent);box-shadow:0 0 0 1px var(--bkw-accent) inset,0 0 30px -10px var(--bkw-accent)}

.bkw-pick{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:start}
.bkw-cal,.bkw-times{padding:16px;border-radius:18px;border:1px solid var(--bkw-line);background:var(--bkw-panel)}
.bkw-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.bkw-month p{font-weight:600}
.bkw-nav{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--bkw-line-2);background:none}
.bkw-nav:disabled{opacity:.3;cursor:default}
.bkw-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.bkw-wd{padding:6px 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--bkw-dim)}
.bkw-day{position:relative;aspect-ratio:1;min-height:40px;border-radius:12px;border:0;background:none;font-variant-numeric:tabular-nums;color:var(--bkw-dim)}
.bkw-day:disabled{cursor:default}
.bkw-day.free{color:var(--bkw-ink);background:rgba(255,255,255,.05);font-weight:600}
.bkw-day.free::after{content:"";position:absolute;left:50%;bottom:6px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--bkw-accent)}
.bkw-day.free:hover{background:rgba(255,255,255,.1)}
.bkw-day.on{background:var(--bkw-accent);color:#140f06}
.bkw-day.on::after{background:#140f06}
.bkw-times-title{font-weight:600;margin-bottom:12px!important}
.bkw-time-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;max-height:330px;overflow:auto;padding:2px}
.bkw-time{min-height:46px;border-radius:12px;border:1px solid var(--bkw-line-2);background:none;font-weight:600;font-variant-numeric:tabular-nums;transition:background .2s,border-color .2s,color .2s}
.bkw-time:hover{border-color:var(--bkw-accent);background:var(--bkw-accent);color:#140f06}

.bkw-summary{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:18px;border-radius:16px;border:1px solid color-mix(in srgb,var(--bkw-accent) 50%,transparent);background:color-mix(in srgb,var(--bkw-accent) 8%,transparent);outline:none}
.bkw-summary-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--bkw-accent);color:#140f06;flex:none}
.bkw-summary b{display:block}
.bkw-summary small{display:block;color:var(--bkw-muted);font-size:14px}
.bkw-summary>span:nth-child(2){flex:1;min-width:0}
.bkw-change{min-height:44px;padding:0 6px;border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:var(--bkw-muted)!important}
.bkw-form{display:grid;gap:14px}
.bkw-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bkw-field{display:grid;gap:6px;min-width:0}
.bkw-field label{font-size:14px;color:var(--bkw-muted)}
.bkw-field label small{color:var(--bkw-dim);font-size:13px}
.bkw input:not([type=checkbox]),.bkw select,.bkw textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:14px;border:1px solid var(--bkw-line-2);background:rgba(6,7,10,.6);color:var(--bkw-ink);font:inherit;font-size:16px}
.bkw textarea{resize:vertical;min-height:96px}
.bkw select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a2a8b3' stroke-width='1.8'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:42px}
.bkw select option{background:#0c0e14}
.bkw input:focus,.bkw select:focus,.bkw textarea:focus{outline:none;border-color:var(--bkw-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--bkw-accent) 18%,transparent)}
.bkw [aria-invalid="true"]{border-color:#ff5d62!important}
.bkw-err{font-size:13px;color:#ff9a9d}
.bkw-err:empty{display:none}
.bkw-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--bkw-muted);line-height:1.5}
.bkw-check input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--bkw-accent)}
.bkw-check a{color:var(--bkw-ink)}
.bkw-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bkw-submit{display:inline-flex;align-items:center;justify-self:start;gap:12px;min-height:54px;padding:0 22px 0 26px;border-radius:999px;border:0;font-weight:600!important;color:#140f06!important;background:linear-gradient(180deg,color-mix(in srgb,var(--bkw-accent) 60%,#fff),var(--bkw-accent) 60%);box-shadow:0 10px 40px -10px var(--bkw-accent)}
.bkw-submit:disabled{opacity:.6;cursor:wait}
.bkw-msg{font-size:15px;color:var(--bkw-accent)}
.bkw-msg:empty{display:none}

.bkw-done{display:grid;justify-items:start;gap:10px;padding:8px 0;outline:none}
.bkw-done-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(74,222,155,.12);border:1px solid rgba(74,222,155,.45);color:#4ade9b}
.bkw-done-ico svg{width:26px;height:26px}
.bkw-done-title{font-size:1.5rem;font-weight:600;letter-spacing:-.02em}
.bkw-done-when{color:var(--bkw-accent);font-weight:600;font-size:1.1rem}
.bkw-done p:last-child{color:var(--bkw-muted);max-width:520px}

@media (max-width:760px){
  .bkw-pick{grid-template-columns:minmax(0,1fr)}
  .bkw-row{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:420px){
  .bkw-formats{grid-template-columns:minmax(0,1fr)}
  .bkw-cal,.bkw-times{padding:12px}
  .bkw-grid{gap:2px}
  .bkw-summary{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.bkw *{transition:none!important}}
