/* MyBooking 12 Rooms – frontend i kalendarz w panelu admina */
:root {
    --mb-ink: #1f2a2e;
    --mb-muted: #667479;
    --mb-line: #e3e8e6;
    --mb-bg: #f6f8f7;
    --mb-accent: #2f6f6a;
    --mb-accent-dark: #245a56;
    --mb-confirmed: #8fb8a8;
    --mb-pending: #cdd2d8;
    --mb-closed: #e6dccd;
    --mb-tint: #dcebe7;
    --mb-tint2: #e9f2ef;
    --mb-ok: #2f7d4f;
    --mb-err: #b4382f;
}

/* warianty kolorystyczne (domyślny: Las i góry w :root) */
.mb12r-theme-forest { --mb-ink: #1f2a2e; --mb-muted: #667479; --mb-line: #e3e8e6; --mb-bg: #f6f8f7; --mb-accent: #2f6f6a; --mb-accent-dark: #245a56; --mb-confirmed: #8fb8a8; --mb-pending: #cdd2d8; --mb-closed: #e6dccd; --mb-tint: #dcebe7; --mb-tint2: #e9f2ef; }
.mb12r-theme-sea { --mb-ink: #1b2a38; --mb-muted: #5f7385; --mb-line: #dde6ee; --mb-bg: #f4f8fb; --mb-accent: #1d6fa5; --mb-accent-dark: #155a88; --mb-confirmed: #7fb6d6; --mb-pending: #cfd6de; --mb-closed: #ead9bf; --mb-tint: #d9eaf5; --mb-tint2: #e8f2f9; }
.mb12r-theme-glamour { --mb-ink: #2b1f33; --mb-muted: #75647f; --mb-line: #eadff0; --mb-bg: #faf6fc; --mb-accent: #8a4fb0; --mb-accent-dark: #6f3c91; --mb-confirmed: #c3a1dc; --mb-pending: #d6d1da; --mb-closed: #efd9e6; --mb-tint: #ecdff5; --mb-tint2: #f5eefa; }
.mb12r-theme-gray { --mb-ink: #1f2328; --mb-muted: #646b75; --mb-line: #e2e4e8; --mb-bg: #f6f6f7; --mb-accent: #4b5563; --mb-accent-dark: #374151; --mb-confirmed: #8b94a3; --mb-pending: #d5d8dd; --mb-closed: #e4e0db; --mb-tint: #e5e7eb; --mb-tint2: #f0f1f3; }

.mb12r-wrap, .mb12r-res {
    max-width: 640px;
    margin: 28px auto;
    padding: 24px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--mb-line);
    border-radius: 14px;
    color: var(--mb-ink);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.5;
}
.mb12r-wrap *, .mb12r-wrap *::before, .mb12r-wrap *::after, .mb12r-res *, .mb12r-res *::before, .mb12r-res *::after, .mb12r-search *, .mb12r-search *::before, .mb12r-search *::after { box-sizing: border-box; }
.mb12r-title { margin: 0 0 16px; font-size: 1.45em; line-height: 1.25; }
.mb12r-selector { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px; }
.mb12r-selector label { font-weight: 600; }
.mb12r-selector select { flex: 1 1 220px; padding: 10px 12px; border: 1px solid var(--mb-line); border-radius: 8px; font-size: 1em; background: #fff; color: var(--mb-ink); }
.mb12r-hint { margin: 0 0 10px; color: var(--mb-muted); font-size: .92em; }

/* legenda */
.mb12r-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 12px; font-size: .82em; color: var(--mb-muted); }
.mb12r-legend span { display: inline-flex; align-items: center; gap: 6px; }
.mb12r-legend .lg { display: inline-block; width: 16px; height: 16px; border: 1px solid var(--mb-line); border-radius: 4px; background: #fff; }
.mb12r-legend .lg-pending { background: var(--mb-pending); }
.mb12r-legend .lg-confirmed { background: var(--mb-confirmed); }
.mb12r-legend .lg-closed { background: var(--mb-closed); }
.mb12r-legend .lg-split { background: linear-gradient(to bottom right, var(--mb-confirmed) 50%, var(--mb-pending) 50%); }

/* kalendarz – przewijany, 12 miesięcy */
.mb12r-scroll { max-height: 560px; overflow-y: auto; padding-right: 4px; border: 1px solid var(--mb-line); border-radius: 10px; background: var(--mb-bg); scroll-snap-type: y proximity; }
.mb12r-cal { transition: opacity .15s ease; }
.mb12r-month { padding: 14px 14px 18px; scroll-snap-align: start; }
.mb12r-month + .mb12r-month { border-top: 1px solid var(--mb-line); }
.mb12r-month-title { font-weight: 700; font-size: 1.05em; margin-bottom: 8px; }
.mb12r-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.mb12r-weekdays { margin-bottom: 3px; }
.mb12r-weekdays span { text-align: center; font-size: .75em; color: var(--mb-muted); }

.mb12r-day {
    --m: transparent; --e: transparent;
    position: relative;
    aspect-ratio: 1 / 1;
    min-height: 40px;
    display: flex; align-items: center; justify-content: center;
    background-color: #fff;
    background-image: linear-gradient(to bottom right, var(--m) 50%, var(--e) 50%);
    border: 1px solid var(--mb-line);
    border-radius: 6px;
    font-size: .92em;
    user-select: none;
}
.mb12r-day span { position: relative; z-index: 1; }
.mb12r-day.mb12r-blank { background: transparent; border-color: transparent; }
.m-pending { --m: var(--mb-pending); } .e-pending { --e: var(--mb-pending); }
.m-confirmed { --m: var(--mb-confirmed); } .e-confirmed { --e: var(--mb-confirmed); }
.m-closed { --m: var(--mb-closed); } .e-closed { --e: var(--mb-closed); }
.mb12r-day.is-past { opacity: .45; }
.mb12r-day.is-today { box-shadow: inset 0 0 0 2px var(--mb-ink); }

/* dni, które można kliknąć */
.mb12r-wrap .mb12r-day[data-cur=""]:not(.is-past) { cursor: pointer; }
.mb12r-wrap .mb12r-day[data-cur=""]:not(.is-past):hover { border-color: var(--mb-accent); box-shadow: 0 0 0 1px var(--mb-accent); }
.mb12r-day.is-start, .mb12r-day.is-end { box-shadow: 0 0 0 2px var(--mb-accent); z-index: 1; }
.mb12r-day.is-start { background-color: var(--mb-tint); }
.mb12r-day.is-range { background-color: var(--mb-tint2); }
.mb12r-day.is-end { background-color: var(--mb-tint); }

/* formularz */
.mb12r-form { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--mb-line); }
.mb12r-form[hidden] { display: none; }
.mb12r-form h4 { margin: 0 0 12px; font-size: 1.15em; }
.mb12r-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.mb12r-stay { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; padding: 14px; margin-bottom: 16px; background: var(--mb-bg); border: 1px solid var(--mb-line); border-radius: 10px; }
.mb12r-k { display: block; font-size: .8em; color: var(--mb-muted); margin-bottom: 2px; }
.mb12r-stay input[type=date] { width: 100%; padding: 8px 10px; border: 1px solid var(--mb-line); border-radius: 8px; font-size: 1em; background: #fff; }
.mb12r-field { margin-bottom: 14px; }
.mb12r-field label { display: block; font-weight: 600; margin-bottom: 4px; }
.mb12r-field small { font-weight: 400; color: var(--mb-muted); }
.mb12r-field input, .mb12r-field textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--mb-line); border-radius: 8px; font-size: 1em; font-family: inherit; background: #fff; color: var(--mb-ink); }
.mb12r-field input:focus, .mb12r-field textarea:focus, .mb12r-stay input:focus, .mb12r-selector select:focus { outline: 2px solid var(--mb-accent); outline-offset: 1px; }
.mb12r-wrap .req, .mb12r-res .req { color: var(--mb-err); }
.mb12r-rodo { display: flex; gap: 10px; align-items: flex-start; margin: 16px 0; font-size: .85em; cursor: pointer; }
.mb12r-rodo input { margin-top: 3px; width: 18px; height: 18px; flex: 0 0 18px; }
.mb12r-submit { width: 100%; padding: 13px 18px; background: var(--mb-accent); color: #fff; border: 0; border-radius: 8px; font-size: 1em; font-weight: 700; cursor: pointer; transition: background .15s ease; }
.mb12r-submit:hover { background: var(--mb-accent-dark); }
.mb12r-message p { margin: 14px 0 0; padding: 12px 14px; border-radius: 8px; }
.mb12r-ok { background: #edf7f0; color: var(--mb-ok); font-weight: 600; }
.mb12r-err { background: #fdf0ee; color: var(--mb-err); font-weight: 600; }
.mb12r-wait { background: var(--mb-bg); color: var(--mb-muted); }
.mb12r-notice { padding: 14px; background: var(--mb-bg); border-radius: 8px; }

/* wyszukiwarka na banner: pole 400 x 250 px */
.mb12r-search {
    width: 400px; max-width: 100%; min-height: 250px;
    padding: 18px 20px;
    background: #fff; border: 1px solid var(--mb-line); border-radius: 14px;
    color: var(--mb-ink);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.4;
}
.mb12r-search-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); align-content: center; gap: 14px 12px; min-height: 212px; margin: 0; }
.mb12r-s-field { min-width: 0; }
.mb12r-search-form label { display: block; margin-bottom: 6px; font-weight: 600; font-size: .92em; }
.mb12r-search-form input[type=date] { width: 100%; min-width: 0; padding: 10px 8px 10px 10px; margin: 0; border: 1px solid var(--mb-line); border-radius: 8px; font-size: 1em; font-family: inherit; background: #fff; color: var(--mb-ink); cursor: pointer; }
.mb12r-search-form input[type=date]:focus { outline: 2px solid var(--mb-accent); outline-offset: 1px; }
.mb12r-search-form button { grid-column: 1 / -1; width: 100%; padding: 13px 14px; background: var(--mb-accent); color: #fff; border: 0; border-radius: 8px; font-size: 1em; font-weight: 700; cursor: pointer; transition: background .15s ease; }
.mb12r-search-form button:hover { background: var(--mb-accent-dark); }

/* strona wyników */
.mb12r-roomcards { display: grid; gap: 10px; margin: 6px 0 4px; }
.mb12r-roomcard { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: var(--mb-bg); border: 1px solid var(--mb-line); border-radius: 10px; }
.mb12r-roomcard strong { display: block; }
.mb12r-roomcard span { color: var(--mb-muted); font-size: .88em; }
.mb12r-roomcard.is-chosen { border-color: var(--mb-accent); box-shadow: 0 0 0 1px var(--mb-accent); background: var(--mb-tint2); }
.mb12r-pick { flex: 0 0 auto; padding: 10px 16px; background: var(--mb-accent); color: #fff; border: 0; border-radius: 8px; font-weight: 700; cursor: pointer; }
.mb12r-pick:hover { background: var(--mb-accent-dark); }
.mb12r-other { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--mb-line); }
.mb12r-other summary { cursor: pointer; font-weight: 600; margin-bottom: 12px; }
.mb12r-other .mb12r-search { width: 100%; min-height: 0; border: 0; padding: 0; }
.mb12r-res .mb12r-search-form { min-height: 0; }
.mb12r-res > .mb12r-search { width: 100%; min-height: 0; border: 0; padding: 0; }

@media (max-width: 520px) {
    .mb12r-wrap { padding: 16px; margin: 16px auto; border-radius: 10px; }
    .mb12r-month { padding: 10px 8px 14px; }
    .mb12r-roomcard { flex-direction: column; align-items: stretch; }
    .mb12r-day { min-height: 36px; font-size: .85em; }
    .mb12r-scroll { max-height: 70vh; }
}
@media (prefers-reduced-motion: reduce) {
    .mb12r-cal, .mb12r-submit { transition: none; }
}

/* kalendarz w panelu admina */
.mb12r-admin .mb12r-scroll { max-height: 520px; max-width: 640px; }
.mb12r-admin .mb12r-day[data-bids] { cursor: pointer; }
.mb12r-admin .mb12r-day[data-bids]:hover { border-color: var(--mb-accent); box-shadow: 0 0 0 1px var(--mb-accent); }
