/* Mamy Czas – kalendarz dostępności (strona i panel). Kolory z motywu strony; w panelu ustawione w admin.css. */
.bk-cal { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: 14px 14px 10px; position: relative; }
.bk-loading { margin: 0; padding: 30px 0; text-align: center; color: var(--muted); font-size: .9rem; }
.bcal-nav { position: absolute; top: 10px; left: 10px; right: 10px; display: flex; justify-content: space-between; pointer-events: none; }
.bcal-nav button { pointer-events: auto; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); background: var(--paper); color: var(--forest-dark); font-size: 1.4rem; line-height: 1; cursor: pointer; display: grid; place-items: center; padding-bottom: 3px; }
.bcal-nav button:hover:not(:disabled) { background: var(--forest-dark); color: #fff; border-color: var(--forest-dark); }
.bcal-nav button:disabled { opacity: .3; cursor: default; }
.bcal-months { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 22px; }
.bcal-title { text-align: center; font-family: var(--serif); font-size: 1.25rem; font-weight: 600; color: var(--forest-dark); line-height: 34px; margin-bottom: 8px; }
.bcal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px 0; }
.bcal-dow { text-align: center; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-bottom: 4px; }
.bcal-grid button {
  aspect-ratio: 1; min-height: 34px; border: 0; background: transparent; font: 600 .9rem var(--sans); color: var(--ink);
  cursor: pointer; border-radius: 6px; position: relative; padding: 0;
}
.bcal-grid button.is-free:hover { box-shadow: inset 0 0 0 2px var(--forest); }
.bcal-grid button.is-today::after { content: ""; position: absolute; left: 50%; bottom: 4px; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--wood); }
.bcal-grid button.is-past { color: #c4c0b6; cursor: default; font-weight: 400; }
.bcal-grid button.is-booked { color: #a39c8f; text-decoration: line-through; background: #efe9de; cursor: not-allowed; font-weight: 400; }
.bcal-grid button.bk-start { background: linear-gradient(135deg, transparent 50%, #efe9de 50%); }
.bcal-grid button.bk-end { background: linear-gradient(135deg, #efe9de 50%, transparent 50%); }
.bcal-grid button.is-pending { background: repeating-linear-gradient(135deg, rgba(169, 120, 79, .16) 0 4px, transparent 4px 8px); color: var(--ink); }
.bcal-grid button.can-checkout { cursor: pointer; text-decoration: none; color: var(--ink); }
.bcal-grid button.is-unreachable { opacity: .35; }
.bcal-grid button.in-range { background: rgba(140, 156, 127, .28); border-radius: 0; color: var(--forest-dark); text-decoration: none; }
.bcal-grid button.is-start, .bcal-grid button.is-end { background: var(--forest-dark); color: #fff; text-decoration: none; opacity: 1; }
.bcal-grid button.is-start { border-radius: 6px 0 0 6px; }
.bcal-grid button.is-end { border-radius: 0 6px 6px 0; }
.bcal-grid button.is-start:not(:has(~ .in-range, ~ .is-end)) { border-radius: 6px; }
.bcal-grid button:focus-visible { outline: 2px solid var(--forest); outline-offset: 1px; z-index: 1; }
.bcal-legend { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 10px 0 0; margin: 10px 0 0; border-top: 1px solid var(--line); font-size: .78rem; color: var(--muted); }
.bcal-legend li { display: flex; align-items: center; gap: 6px; }
.bcal-legend i { width: 14px; height: 14px; border-radius: 3px; border: 1px solid var(--line); display: inline-block; }
.lg-free { background: #fff; }
.lg-pending { background: repeating-linear-gradient(135deg, rgba(169, 120, 79, .35) 0 3px, #fff 3px 6px); }
.lg-booked { background: #efe9de; }
.lg-sel { background: var(--forest-dark); border-color: var(--forest-dark) !important; }
.bcal-hint { margin: 8px 0 0; min-height: 1.3em; font-size: .85rem; color: var(--forest-dark); }
.bcal-hint.warn { color: #a03a2d; }
/* cena nocy pod numerem dnia */
.bcal-grid button { display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05; }
.bcal-price { display: block; font-size: .58rem; font-weight: 400; color: var(--muted); margin-top: 2px; letter-spacing: 0; }
.bcal-grid button.is-start .bcal-price, .bcal-grid button.is-end .bcal-price { color: rgba(255, 255, 255, .8); }
.bcal-grid button.in-range .bcal-price { color: var(--forest-dark); }
.bcal-grid button.is-unreachable .bcal-price { visibility: hidden; }
.bcal-grid button.is-today::after { bottom: auto; top: 4px; left: auto; right: 5px; margin: 0; }
