/* MC Wypożyczalnia – frontend. Dziedziczy krój pisma z motywu; kolor akcentu z ustawień (--mcw-accent). */
:root { --mcw-accent: #1f7a3d; }
.mcw {
	--mcw-ink: #1b1f1d;
	--mcw-muted: #656d69;
	--mcw-line: #d9ded9;
	--mcw-surface: #f4f6f4;
	--mcw-bg: #fff;
	--mcw-warn-bg: #fff6e0;
	--mcw-warn-ink: #7a4b00;
	--mcw-ok-bg: #e8f5ec;
	--mcw-ok-ink: #1f5d32;
	--mcw-err-bg: #fdecec;
	--mcw-err-ink: #8d1f1f;
	--mcw-radius: 6px;
	color: var(--mcw-ink);
	line-height: 1.5;
	box-sizing: border-box;
}
.mcw *, .mcw *::before, .mcw *::after { box-sizing: inherit; }
.mcw h2, .mcw h3 { margin-top: 0; line-height: 1.2; }
.mcw a { color: var(--mcw-accent); }
.mcw small { color: var(--mcw-muted); }
.mcw-muted { color: var(--mcw-muted); }
.mcw-ok { color: var(--mcw-ok-ink); font-weight: 600; }

/* Przyciski */
.mcw-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	background: var(--mcw-accent); color: #fff; border: 2px solid var(--mcw-accent);
	padding: .62em 1.25em; border-radius: var(--mcw-radius); font: inherit; font-weight: 600;
	text-decoration: none; cursor: pointer; line-height: 1.2; transition: filter .15s ease;
}
.mcw-btn:hover { filter: brightness(1.08); color: #fff; text-decoration: none; }
.mcw-btn:focus-visible { outline: 3px solid rgba(0,0,0,.35); outline-offset: 2px; }
.mcw-btn:disabled { opacity: .5; cursor: not-allowed; filter: none; }
.mcw-btn--ghost { background: transparent; color: var(--mcw-ink); border-color: var(--mcw-line); }
.mcw-btn--ghost:hover { color: var(--mcw-ink); border-color: var(--mcw-ink); filter: none; }
.mcw-btn--danger { border-color: #b42318; background: #b42318; }
.mcw-btn--danger.mcw-btn--ghost { background: transparent; color: #b42318; }
.mcw-btn--sm { padding: .4em .85em; font-size: .9em; }
.mcw-btn--lg { padding: .85em 1.6em; font-size: 1.05em; }
.mcw-btn--block { width: 100%; }

/* Komunikaty */
.mcw-notice { background: var(--mcw-surface); border-left: 4px solid var(--mcw-line); padding: .85em 1em; border-radius: var(--mcw-radius); margin: 0 0 1.25em; }
.mcw-notice--error { background: var(--mcw-err-bg); border-color: #c33; color: var(--mcw-err-ink); }
.mcw-notice--warn { background: var(--mcw-warn-bg); border-color: #e0a100; color: var(--mcw-warn-ink); }
.mcw-notice--ok { background: var(--mcw-ok-bg); border-color: var(--mcw-accent); color: var(--mcw-ok-ink); }

/* Odznaki statusów */
.mcw-badge { display: inline-block; padding: .25em .7em; border-radius: 999px; font-size: .8em; font-weight: 600; white-space: nowrap; background: #e9ece9; color: #333; line-height: 1.4; }
.mcw-badge--requested { background: #ffe8cc; color: #8a4b00; }
.mcw-badge--pending { background: #fff1b8; color: #7a5a00; }
.mcw-badge--confirmed { background: var(--mcw-ok-bg); color: var(--mcw-ok-ink); }
.mcw-badge--active { background: #dce9fb; color: #1d4e89; }
.mcw-badge--completed { background: #e4e8e5; color: #3b443e; }
.mcw-badge--cancelled, .mcw-badge--rejected, .mcw-badge--expired { background: #f3dede; color: #7f2323; }
.mcw-badge--blocked { background: #d9dde0; color: #3a434a; }
.mcw-badge--pay-paid { background: var(--mcw-ok-bg); color: var(--mcw-ok-ink); }
.mcw-badge--pay-unpaid { background: #eceeec; color: #555; }
.mcw-badge--pay-refunded { background: #e3e8ee; color: #3a4c60; }
.mcw-badge--pay-failed { background: #f3dede; color: #7f2323; }

/* ===== Lista floty ===== */
.mcw-fleet__filter { background: var(--mcw-surface); border-radius: var(--mcw-radius); padding: 1em 1.1em; margin-bottom: 1.5em; }
.mcw-fleet__filter-fields { display: flex; flex-wrap: wrap; gap: .75em 1em; align-items: flex-end; }
.mcw-fleet__filter label { display: flex; flex-direction: column; gap: .3em; font-size: .9em; color: var(--mcw-muted); }
.mcw-fleet__filter input[type="date"] { font: inherit; padding: .5em .7em; border: 1px solid var(--mcw-line); border-radius: var(--mcw-radius); background: #fff; color: var(--mcw-ink); min-width: 11em; }
.mcw-fleet__filter-info { margin: .8em 0 0; color: var(--mcw-muted); font-size: .92em; }
.mcw-fleet__grid { display: grid; gap: 1.5em; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mcw-fleet__grid--1 { grid-template-columns: 1fr; }
.mcw-fleet__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mcw-fleet__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 980px) { .mcw-fleet__grid, .mcw-fleet__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mcw-fleet__grid, .mcw-fleet__grid--2, .mcw-fleet__grid--4 { grid-template-columns: 1fr; } }

.mcw-card { display: flex; flex-direction: column; background: var(--mcw-bg); border: 1px solid var(--mcw-line); border-radius: var(--mcw-radius); overflow: hidden; }
.mcw-card--off { opacity: .72; }
.mcw-card__media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--mcw-surface); overflow: hidden; }
.mcw-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mcw-card__placeholder { display: block; width: 100%; height: 100%; background: repeating-linear-gradient(135deg, #e9ece9 0 12px, #f4f6f4 12px 24px); }
.mcw-card__flag { position: absolute; left: .75em; top: .75em; padding: .3em .7em; border-radius: 999px; font-size: .78em; font-weight: 700; background: #222; color: #fff; }
.mcw-card__flag--ok { background: var(--mcw-accent); }
.mcw-card__flag--busy { background: #8d1f1f; }
.mcw-card__flag--off { background: #555; }
.mcw-card__body { padding: 1em 1.1em 1.1em; display: flex; flex-direction: column; gap: .45em; flex: 1; }
.mcw-card__title { font-size: 1.2em; margin: 0; }
.mcw-card__title a { color: inherit; text-decoration: none; }
.mcw-card__title a:hover { color: var(--mcw-accent); }
.mcw-card__spec { margin: 0; color: var(--mcw-muted); font-size: .9em; }
.mcw-card__excerpt { margin: .2em 0 0; font-size: .95em; }
.mcw-card__foot { margin-top: auto; padding-top: .9em; display: flex; align-items: flex-end; justify-content: space-between; gap: .75em; }
.mcw-card__price strong { display: block; font-size: 1.35em; line-height: 1.1; }
.mcw-card__price span { display: block; font-size: .82em; color: var(--mcw-muted); }

/* ===== Karta motocykla ===== */
.mcw-specs { margin: 0 0 2em; }
.mcw-specs__price { display: flex; flex-wrap: wrap; gap: 1em 2.2em; padding: 1em 1.2em; background: var(--mcw-surface); border-radius: var(--mcw-radius); margin-bottom: 1.2em; }
.mcw-specs__tier strong { display: block; font-size: 1.55em; line-height: 1.05; }
.mcw-specs__tier span { display: block; font-size: .85em; color: var(--mcw-muted); margin-top: .15em; }
.mcw-specs__tier--muted strong { font-size: 1.15em; color: var(--mcw-muted); }
.mcw-specs__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .6em 1.2em; margin: 0 0 1em; padding: 0; }
.mcw-specs__list div { border-top: 1px solid var(--mcw-line); padding-top: .5em; }
.mcw-specs__list dt { font-size: .78em; color: var(--mcw-muted); margin: 0; }
.mcw-specs__list dd { margin: 0; font-weight: 600; }
.mcw-specs__equipment { font-size: .95em; }
.mcw-specs__cta { margin: 1.2em 0 0; }

/* ===== Formularz rezerwacji ===== */
.mcw-booking { margin-top: 2.5em; padding-top: 2em; border-top: 2px solid var(--mcw-ink); }
.mcw-booking__title { font-size: 1.6em; margin-bottom: 1em; }
.mcw-form { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 2em; align-items: start; }
.mcw-form--single { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
@media (max-width: 900px) { .mcw-form { grid-template-columns: 1fr; } .mcw-form__side { order: 2; } }
.mcw-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.mcw-step { border: 0; padding: 0; margin: 0 0 2em; min-width: 0; }
.mcw-step legend { font-size: 1.15em; font-weight: 700; padding: 0; margin-bottom: .5em; }
.mcw-step__hint { margin: 0 0 1em; color: var(--mcw-muted); font-size: .92em; }
.mcw-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9em 1em; }
.mcw-grid--tight { gap: .6em .8em; }
@media (max-width: 640px) { .mcw-grid { grid-template-columns: 1fr; } }
.mcw-field { display: flex; flex-direction: column; gap: .3em; margin: 0; }
.mcw-field--full { grid-column: 1 / -1; }
.mcw-field > span { font-size: .85em; color: var(--mcw-muted); }
.mcw-field > small { font-size: .78em; }
.mcw .mcw-field input, .mcw .mcw-field select, .mcw .mcw-field textarea,
.mcw-input--sm, .mcw .mcw-filters input, .mcw .mcw-filters select, .mcw-notes + form textarea {
	font: inherit; width: 100%; padding: .55em .7em; border: 1px solid var(--mcw-line); border-radius: var(--mcw-radius);
	background: #fff; color: var(--mcw-ink); margin: 0;
}
.mcw .mcw-field input:focus, .mcw .mcw-field select:focus, .mcw .mcw-field textarea:focus { outline: 2px solid var(--mcw-accent); outline-offset: 1px; border-color: var(--mcw-accent); }
.mcw-field.is-invalid input, .mcw-field.is-invalid select { border-color: #c33; }
.mcw-field__error { display: none; color: var(--mcw-err-ink); font-size: .82em; font-style: normal; margin: 0; }
.mcw-field__error.is-visible { display: block; }
.mcw-input--sm { width: auto; max-width: 11em; display: inline-block; }

/* Checkbox / radio */
.mcw-check, .mcw-radio { display: flex; gap: .7em; align-items: flex-start; cursor: pointer; margin: 0 0 .6em; font-weight: 400; }
.mcw-check input, .mcw-radio input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mcw-check__box, .mcw-radio__dot { flex: 0 0 auto; width: 1.25em; height: 1.25em; border: 2px solid #9aa39d; border-radius: 4px; margin-top: .15em; position: relative; background: #fff; }
.mcw-radio__dot { border-radius: 50%; }
.mcw-check input:checked + .mcw-check__box, .mcw-radio input:checked + .mcw-radio__dot { border-color: var(--mcw-accent); background: var(--mcw-accent); }
.mcw-check input:checked + .mcw-check__box::after { content: ""; position: absolute; left: .32em; top: .08em; width: .35em; height: .7em; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.mcw-radio input:checked + .mcw-radio__dot::after { content: ""; position: absolute; inset: .3em; background: #fff; border-radius: 50%; }
.mcw-check input:focus-visible + .mcw-check__box, .mcw-radio input:focus-visible + .mcw-radio__dot { outline: 3px solid rgba(0,0,0,.3); outline-offset: 2px; }
.mcw-check__text em { font-style: normal; color: var(--mcw-muted); }
.mcw-radio__text strong { display: block; }
.mcw-radio__text small { display: block; }
.mcw-extras { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .4em 1.2em; }
.mcw-methods .mcw-radio { padding: .8em 1em; border: 1px solid var(--mcw-line); border-radius: var(--mcw-radius); }
.mcw-methods .mcw-radio:has(input:checked) { border-color: var(--mcw-accent); background: var(--mcw-surface); }
.mcw-step--consents .mcw-check__text { font-size: .92em; }

/* Kalendarz – wybór terminu */
.mcw-calendar { margin-bottom: 1em; }
.mcw-calendar__loading { color: var(--mcw-muted); padding: 2em; text-align: center; background: var(--mcw-surface); border-radius: var(--mcw-radius); }
.mcw-calendar__months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5em; }
@media (max-width: 760px) { .mcw-calendar__months { grid-template-columns: 1fr; } .mcw-month--second { display: none; } }
.mcw-month__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5em; }
.mcw-month__head strong { font-size: 1.05em; }
.mcw-month__nav { font: inherit; background: none; border: 1px solid var(--mcw-line); border-radius: var(--mcw-radius); width: 2.1em; height: 2.1em; cursor: pointer; color: var(--mcw-ink); }
.mcw-month__nav:disabled { opacity: .3; cursor: default; }
.mcw-month__nav:hover:not(:disabled) { border-color: var(--mcw-ink); }
.mcw-month__dows, .mcw-month__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.mcw-month__dows span { text-align: center; font-size: .75em; color: var(--mcw-muted); padding: .3em 0; }
.mcw-day { font: inherit; font-size: .95em; aspect-ratio: 1; min-height: 2.3em; border: 1px solid transparent; border-radius: 4px; background: var(--mcw-surface); color: var(--mcw-ink); cursor: pointer; position: relative; padding: 0; }
.mcw-day:hover:not(:disabled) { border-color: var(--mcw-accent); }
.mcw-day:disabled { cursor: not-allowed; color: #aab1ad; background: #f9faf9; }
.mcw-day.is-outside { visibility: hidden; }
.mcw-day.is-busy { background: repeating-linear-gradient(135deg, #e4dede 0 4px, #f6efef 4px 8px); color: #a06464; text-decoration: line-through; }
.mcw-day.is-inrange { background: color-mix(in srgb, var(--mcw-accent) 18%, #fff); border-color: transparent; }
.mcw-day.is-start, .mcw-day.is-end { background: var(--mcw-accent); color: #fff; font-weight: 700; }
.mcw-day.is-hover { background: color-mix(in srgb, var(--mcw-accent) 30%, #fff); }
.mcw-day.is-today::after { content: ""; position: absolute; bottom: .25em; left: 50%; transform: translateX(-50%); width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.mcw-calendar__hint { margin: .6em 0 0; font-size: .9em; color: var(--mcw-muted); }
.mcw-calendar__legend { display: flex; gap: 1.2em; flex-wrap: wrap; font-size: .8em; color: var(--mcw-muted); margin-top: .6em; }
.mcw-calendar__legend i { display: inline-block; width: 1em; height: 1em; vertical-align: -0.15em; border-radius: 3px; margin-right: .35em; }
.mcw-calendar__legend .is-busy { background: repeating-linear-gradient(135deg, #e4dede 0 3px, #f6efef 3px 6px); }
.mcw-calendar__legend .is-free { background: var(--mcw-surface); border: 1px solid var(--mcw-line); }
.mcw-calendar__legend .is-sel { background: var(--mcw-accent); }
.mcw-dates { display: flex; gap: 1em; align-items: center; flex-wrap: wrap; margin-top: .8em; }
.mcw-dates__box { background: var(--mcw-surface); border-radius: var(--mcw-radius); padding: .5em .9em; min-width: 9em; }
.mcw-dates__box span { display: block; font-size: .75em; color: var(--mcw-muted); }
.mcw-dates__box strong { font-size: 1.05em; }

/* Podsumowanie */
.mcw-form__side { position: sticky; top: 1.5em; }
.mcw-summary { background: var(--mcw-surface); border-radius: var(--mcw-radius); padding: 1.2em 1.25em; }
.mcw-summary__moto { font-size: 1.1em; margin-bottom: .6em; }
.mcw-summary__empty { color: var(--mcw-muted); margin: 0 0 1em; }
.mcw-summary__row { display: flex; justify-content: space-between; gap: 1em; padding: .4em 0; border-bottom: 1px dashed var(--mcw-line); font-size: .95em; }
.mcw-summary__row span { color: var(--mcw-muted); }
.mcw-summary__row--total { border-bottom: 0; padding-top: .7em; font-size: 1.1em; }
.mcw-summary__row--total strong { font-size: 1.25em; }
.mcw-summary__extras:empty { display: none; }
.mcw-summary__note { font-size: .82em; color: var(--mcw-muted); padding: .2em 0 .4em; }
.mcw-card__actions { display: flex; gap: .5em; flex-wrap: wrap; justify-content: flex-end; }
.mcw-summary__deposit { background: #fff; border-radius: var(--mcw-radius); padding: .5em .9em; margin: .8em 0 1em; }
.mcw-summary__deposit .mcw-summary__row:last-child { border-bottom: 0; }
.mcw-summary__deposit .mcw-summary__row:first-child strong { color: var(--mcw-accent); }
.mcw-summary__error { background: var(--mcw-err-bg); color: var(--mcw-err-ink); padding: .6em .8em; border-radius: var(--mcw-radius); font-size: .92em; }
.mcw-summary__fine { font-size: .8em; color: var(--mcw-muted); margin: .7em 0 0; }

/* ===== Status / płatność ===== */
.mcw-status, .mcw-payment { max-width: 820px; }
.mcw-lookup { display: grid; grid-template-columns: 1fr 1fr auto; gap: 1em; align-items: end; background: var(--mcw-surface); padding: 1.2em; border-radius: var(--mcw-radius); }
@media (max-width: 640px) { .mcw-lookup { grid-template-columns: 1fr; } }
.mcw-status__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1em; flex-wrap: wrap; margin-bottom: 1em; }
.mcw-status__number { margin: 0; color: var(--mcw-muted); font-size: .9em; }
.mcw-status__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2em; margin: 1.2em 0; }
@media (max-width: 640px) { .mcw-status__grid { grid-template-columns: 1fr; } }
.mcw-box { background: var(--mcw-bg); border: 1px solid var(--mcw-line); border-radius: var(--mcw-radius); padding: 1.1em 1.2em; }
.mcw-box h3 { font-size: 1em; margin-bottom: .6em; }
.mcw-box h3 + p { margin-top: 0; }
.mcw-costs { margin: 0; }
.mcw-costs div { display: flex; justify-content: space-between; gap: 1em; padding: .3em 0; border-bottom: 1px dashed var(--mcw-line); }
.mcw-costs dt { color: var(--mcw-muted); margin: 0; }
.mcw-costs dd { margin: 0; text-align: right; }
.mcw-costs__total { font-weight: 700; }
.mcw-transfer { background: var(--mcw-surface); border-radius: var(--mcw-radius); padding: 1.1em 1.2em; margin: 1em 0; }
.mcw-transfer dl { margin: 0; }
.mcw-transfer dl div { display: flex; gap: 1em; padding: .3em 0; }
.mcw-transfer dt { color: var(--mcw-muted); min-width: 7em; margin: 0; }
.mcw-transfer dd { margin: 0; }
.mcw-transfer code { background: #fff; padding: .1em .4em; border-radius: 3px; font-size: 1em; }
.mcw-cancel { margin-top: 1.5em; display: flex; gap: 1em; align-items: center; flex-wrap: wrap; }
.mcw-status__back { margin-top: 1.5em; }
.mcw-payment__hero { padding: 1.5em 1.6em; border-radius: var(--mcw-radius); background: var(--mcw-surface); border-left: 5px solid var(--mcw-line); margin-bottom: 1.2em; }
.mcw-payment__hero--ok { background: var(--mcw-ok-bg); border-color: var(--mcw-accent); }
.mcw-payment__hero--wait { background: var(--mcw-warn-bg); border-color: #e0a100; }
.mcw-payment__hero--warn { background: var(--mcw-err-bg); border-color: #c33; }
.mcw-payment__hero h2 { margin-bottom: .4em; }
.mcw-payment__hero p { margin: 0; }

/* ===== Kalendarz floty (siatka) ===== */
.mcw-cal__nav { display: flex; justify-content: space-between; align-items: center; gap: 1em; margin-bottom: .7em; }
.mcw-cal__nav h3 { margin: 0; font-size: 1.25em; }
.mcw-cal__legend { display: flex; flex-wrap: wrap; gap: .5em 1.4em; font-size: .85em; color: var(--mcw-muted); margin-bottom: .7em; }
.mcw-cal__sw { display: inline-block; width: 1em; height: 1em; border-radius: 3px; vertical-align: -0.15em; margin-right: .35em; }
.mcw-cal__sw--requested, .mcw-cal__cell--requested { background: #ffd9a8; }
.mcw-cal__sw--pending, .mcw-cal__cell--pending { background: #ffe79a; }
.mcw-cal__sw--confirmed, .mcw-cal__cell--confirmed { background: #b9e2c3; }
.mcw-cal__sw--active, .mcw-cal__cell--active { background: #b8d2f5; }
.mcw-cal__sw--blocked, .mcw-cal__cell--blocked { background: #cfd4d8; }
.mcw-cal__scroll { overflow-x: auto; border: 1px solid var(--mcw-line); border-radius: var(--mcw-radius); }
.mcw-cal__table { border-collapse: collapse; width: 100%; min-width: 1100px; font-size: .85em; }
.mcw-cal__table th, .mcw-cal__table td { border-right: 1px solid #eef1ee; border-bottom: 1px solid #eef1ee; height: 2.6em; padding: 0; text-align: center; }
.mcw-cal__table thead th { background: var(--mcw-surface); font-weight: 600; position: sticky; top: 0; }
.mcw-cal__table thead th span { display: block; }
.mcw-cal__table thead th small { display: block; font-weight: 400; color: var(--mcw-muted); font-size: .75em; }
.mcw-cal__moto { text-align: left !important; padding: .3em .7em !important; min-width: 180px; background: #fff; position: sticky; left: 0; z-index: 1; border-right: 2px solid var(--mcw-line) !important; }
.mcw-cal__moto strong { display: block; }
.mcw-cal__moto small { color: var(--mcw-muted); }
.mcw-cal__wknd { background: #fafbfa; }
.mcw-cal__today { box-shadow: inset 0 -3px 0 var(--mcw-accent); }
.mcw-cal__cell a { display: block; padding: .35em .5em; color: #1b1f1d; text-decoration: none; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-align: left; }
.mcw-cal__cell a:hover { text-decoration: underline; }
.mcw-cal__empty { padding: 1.5em !important; color: var(--mcw-muted); }

/* Przycisk na stronie produktu WooCommerce */
.mcw-wc-rent { margin: 1.2em 0; padding: 1em 1.1em; background: var(--mcw-surface); border-radius: var(--mcw-radius); }
.mcw-wc-rent .mcw-btn { width: 100%; }
.mcw-wc-rent__note { margin: .7em 0 0; font-size: .88em; color: var(--mcw-muted); }
