/* Buchungskalender – Beauty Concept by Derya
   Farben bewusst hart kodiert, damit der Kalender im öffentlichen Bereich
   (style.css) UND im Admin (admin.css) identisch aussieht. */

.bcal{
  --bc-pink:#E24E96; --bc-pinkd:#BF3878; --bc-ink:#14100F; --bc-grey:#6B5F5B;
  --bc-line:#E7DED7; --bc-green:#3BAA5B;
  width:100%; max-width:620px; margin:0 auto; background:#fff; border:1px solid var(--bc-line);
  border-radius:12px; padding:clamp(14px,2.5vw,22px) clamp(14px,2.5vw,22px) 12px;
}
.booking--cal .bcal, .booking--cal .bcal-slots{max-width:100%}
.bcal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.bcal__title{font-weight:600;font-size:1rem;color:var(--bc-ink);letter-spacing:.01em}
.bcal__nav{
  width:40px;height:40px;border:1px solid var(--bc-line);background:#fff;border-radius:9px;
  font-size:1.35rem;line-height:1;color:var(--bc-ink);cursor:pointer;flex:none;
  display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;
}
.bcal__nav:hover:not(:disabled){border-color:var(--bc-pink);color:var(--bc-pink)}
.bcal__nav:disabled{opacity:.3;cursor:not-allowed}
.bcal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.bcal__dow{margin-bottom:5px}
.bcal__dow span{text-align:center;font-size:.7rem;font-weight:600;letter-spacing:.04em;color:var(--bc-grey);text-transform:uppercase;padding:2px 0}
.bcal__days{}
.bcal__pad{}
.bcal__day{
  min-height:46px;border:1px solid transparent;border-radius:9px;background:transparent;
  font-size:.98rem;color:var(--bc-ink);cursor:default;font-variant-numeric:tabular-nums;
  display:flex;align-items:center;justify-content:center;position:relative;padding:8px 0;
  transition:background .15s,border-color .15s,color .15s,transform .1s;
}
.bcal__day.is-free{background:#EAF7EE;color:#1D6B38;font-weight:600}
.bcal__day.is-full{background:#FBECEC;color:#B85C5C}
.bcal__day.is-blocked{background:#EFE9E4;color:#9C8F89;text-decoration:line-through}
.bcal__day.is-closed{color:#C9BEB6}
.bcal__day.is-past{color:#D7CEC7}
.bcal__day.is-click{cursor:pointer}
.bcal__day.is-click:hover{border-color:var(--bc-pink);transform:translateY(-1px)}
.bcal__day.is-selected{background:var(--bc-pinkd)!important;color:#fff!important;border-color:var(--bc-pinkd)!important;font-weight:700}
.bcal__day:disabled{cursor:not-allowed}
.bcal__err{grid-column:1/-1;color:#B85C5C;font-size:.85rem;text-align:center;padding:1rem 0}

.bcal__legend{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--bc-line);font-size:.72rem;color:var(--bc-grey)}
.bcal__legend span{display:inline-flex;align-items:center;gap:5px}
.bcal__legend .lg{width:11px;height:11px;border-radius:3px;display:inline-block}
.lg--free{background:#EAF7EE;border:1px solid #3BAA5B}
.lg--full{background:#FBECEC;border:1px solid #B85C5C}
.lg--blocked{background:#EFE9E4;border:1px solid #9C8F89}
.lg--closed{background:#fff;border:1px solid #C9BEB6}

/* Slot-Auswahl / -Anzeige */
.bcal-slots{margin-top:16px}
.bcal-slots[hidden]{display:none}
.bcal-slots__t{font-weight:600;color:#14100F;margin:0 0 10px;font-size:.95rem}
.bcal-slots__load,.bcal-slots__empty{color:#6B5F5B;font-size:.9rem;margin:.3rem 0}
.bcal-slots__dayblock{margin-bottom:12px}
.bcal-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}
.bcal-slot{
  border:1px solid #E7DED7;background:#fff;border-radius:8px;padding:11px 8px;cursor:pointer;
  font-size:.95rem;color:#14100F;text-align:center;transition:background .15s,border-color .15s,color .15s;
  display:flex;flex-direction:column;gap:2px;align-items:center;min-height:44px;justify-content:center;
}
.bcal-slot:hover:not(:disabled){border-color:#E24E96;color:#BF3878}
.bcal-slot.is-picked{background:#BF3878;border-color:#BF3878;color:#fff;font-weight:700}
.bcal-slot.is-picked .bcal-slot__st{color:#fff}
.bcal-slot__st{font-size:.66rem;letter-spacing:.03em;text-transform:uppercase;color:#6B5F5B}
.bcal-slot.is-booked{background:#FBECEC;border-color:#F0D3D3;color:#B85C5C;cursor:not-allowed}
.bcal-slot.is-booked .bcal-slot__st{color:#B85C5C}
.bcal-slot.is-past{background:#F4EFEB;color:#C9BEB6;cursor:not-allowed}
.bcal-slot.is-past .bcal-slot__st{color:#C9BEB6}
.bcal-slot.is-blocked{background:#EFE9E4;border-color:#DED5CD;color:#8A7D77}
.bcal-slot.is-free .bcal-slot__st{color:#1D6B38}

.bcal-selected{margin-top:14px;padding:12px 14px;background:#FBEEF4;border-left:3px solid #E24E96;border-radius:6px;font-size:.95rem;color:#14100F}
.bcal-selected[hidden]{display:none}

/* Admin: Tag-Sperre + Speichern */
.bcal-dayblock{display:flex;align-items:center;gap:9px;margin:2px 0 16px;font-size:.95rem;color:#14100F;cursor:pointer}
.bcal-dayblock input{width:19px;height:19px;accent-color:#E24E96;flex:none}
.bcal-save{display:flex;align-items:center;gap:14px;margin-top:18px}
.bcal-saved{color:#1D6B38;font-size:.92rem;font-weight:600}
