.mb-wrap {
	--mb-green: #1f5e3b;
	--mb-green-soft: #e8f1eb;
	--mb-red: #b3261e;
	--mb-orange: #f28c28;
	--mb-orange-dark: #d9731a;
	--mb-ink: #2b2b2b;
	--mb-muted: #6b6b6b;
	--mb-line: #e3ddd3;
	--mb-bg: #ffffff;
	--mb-radius: 14px;
	max-width: 760px;
	margin: 0 auto;
	color: var(--mb-ink);
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
}
.mb-wrap *, .mb-wrap *::before, .mb-wrap *::after { box-sizing: border-box; }
.mb-wrap [hidden] { display: none !important; }

.mb-card, .mb-form.mb-booking {
	background: var(--mb-bg);
	border: 1px solid var(--mb-line);
	border-radius: var(--mb-radius);
	padding: 24px;
	margin: 0 0 16px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .06);
}
.mb-h {
	font-family: 'Courgette', cursive;
	color: var(--mb-green);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 16px;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
summary.mb-h { cursor: pointer; font-size: 22px; margin: 0; display: list-item; }
details[open] > summary.mb-h { margin-bottom: 16px; }
.mb-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--mb-green); color: #fff;
	font-family: inherit; font-size: 17px;
}
.mb-kicker { margin: 0 0 4px; color: var(--mb-muted); font-size: 14px; text-transform: uppercase; letter-spacing: .06em; }

.mb-form label { display: block; margin: 0 0 14px; font-weight: 600; font-size: 15px; }
.mb-form input[type=text], .mb-form input[type=email], .mb-form input[type=tel], .mb-form input[type=number], .mb-form select, .mb-form textarea {
	display: block; width: 100%; margin-top: 6px;
	padding: 11px 13px; font: inherit; font-weight: 400;
	border: 1px solid #cfc7ba; border-radius: 10px; background: #fff; color: var(--mb-ink);
}
.mb-form input:focus, .mb-form select:focus, .mb-form textarea:focus { outline: 2px solid var(--mb-green); outline-offset: 1px; border-color: var(--mb-green); }
.mb-form .mb-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.mb-form .mb-check input { margin-top: 4px; width: 18px; height: 18px; flex: none; }
.mb-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 560px) { .mb-row { grid-template-columns: 1fr; } .mb-card, .mb-form.mb-booking { padding: 18px; } }

.mb-hint { color: var(--mb-muted); font-size: 14px; margin: 0 0 12px; }
.mb-calc strong { color: var(--mb-green); }
.mb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.mb-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; margin-top: 8px; }
.mb-btn {
	display: inline-block; border: 0; cursor: pointer;
	background: var(--mb-orange); color: #fff !important; text-decoration: none !important;
	font: inherit; font-weight: 700; padding: 12px 24px; border-radius: 999px;
	transition: background .15s;
}
.mb-btn:hover { background: var(--mb-orange-dark); }
.mb-btn:disabled { opacity: .45; cursor: not-allowed; }
.mb-btn.mb-ghost { background: transparent; color: var(--mb-green) !important; border: 2px solid var(--mb-green); padding: 10px 22px; }
.mb-btn.mb-ghost:hover { background: var(--mb-green-soft); }
.mb-btn.mb-danger { background: var(--mb-red); }

.mb-days { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; margin-bottom: 14px; }
.mb-day, .mb-time {
	border: 2px solid var(--mb-line); background: #fff; border-radius: 12px;
	padding: 10px 8px; cursor: pointer; font: inherit; color: var(--mb-ink);
	display: flex; flex-direction: column; align-items: center; gap: 2px;
}
.mb-day span, .mb-time span { font-size: 12px; color: var(--mb-muted); }
.mb-day:hover:not(:disabled), .mb-time:hover { border-color: var(--mb-green); }
.mb-day.is-on, .mb-time.is-on { border-color: var(--mb-green); background: var(--mb-green); color: #fff; }
.mb-day.is-on span, .mb-time.is-on span { color: #e6f0e9; }
.mb-day:disabled { opacity: .4; cursor: not-allowed; }
.mb-timegrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; margin-bottom: 14px; }

.mb-dl { display: grid; grid-template-columns: 120px 1fr; gap: 8px 16px; margin: 0 0 16px; }
.mb-dl dt { color: var(--mb-muted); font-size: 14px; }
.mb-dl dd { margin: 0; }
@media (max-width: 560px) { .mb-dl { grid-template-columns: 1fr; gap: 2px; } .mb-dl dd { margin-bottom: 10px; } }

.mb-notice { padding: 12px 16px; border-radius: 10px; background: #f4f1ec; margin: 0 0 16px; }
.mb-notice.mb-info { background: var(--mb-green-soft); }
.mb-notice.mb-ok { background: #e3f4e6; border-left: 4px solid var(--mb-green); }
.mb-notice.mb-error, .mb-msg { background: #fdecea; border-left: 4px solid var(--mb-red); padding: 12px 16px; border-radius: 10px; margin: 12px 0 0; white-space: pre-line; }

.mb-badge { font-family: system-ui, sans-serif; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: #eee; color: #444; }
.mb-st-confirmed { background: var(--mb-green-soft); color: var(--mb-green); }
.mb-st-locked { background: #fff1dc; color: #8a4b00; }
.mb-st-done { background: #e3eefc; color: #1d4f91; }
.mb-st-cancelled { background: #fdecea; color: var(--mb-red); }

.mb-resend { margin: 8px 0 24px; font-size: 15px; }
.mb-resend summary { cursor: pointer; color: var(--mb-green); font-weight: 600; }
.mb-resend form { margin-top: 12px; }
.mb-success .mb-btn { margin-top: 8px; }

.mb-bubble {
	position: relative; margin-top: 10px; padding: 10px 12px;
	background: #fff4d6; border: 1px solid #f0c55a; border-radius: 10px;
	font-size: 14px; font-weight: 400; color: #5c4200; line-height: 1.4;
	animation: mb-pop .25s ease-out;
}
.mb-bubble::before {
	content: ''; position: absolute; top: -7px; left: 22px;
	width: 12px; height: 12px; background: #fff4d6;
	border-left: 1px solid #f0c55a; border-top: 1px solid #f0c55a; transform: rotate(45deg);
}
.mb-form input.mb-flash { animation: mb-flash 1.6s ease-out; }
@keyframes mb-pop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes mb-flash { 0%, 40% { background: #fff0c2; border-color: #f0a500; } 100% { background: #fff; } }

.mb-sub { font-weight: 700; color: var(--mb-green); margin: 18px 0 8px; padding-top: 14px; border-top: 1px solid var(--mb-line); }
.mb-sub:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
.mb-term-now { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; }
.mb-btn.mb-small { padding: 6px 16px; font-size: 14px; }
.mb-linkbtn { background: none; border: 0; padding: 0; color: var(--mb-green); text-decoration: underline; cursor: pointer; font: inherit; font-size: 14px; }

/* Wycieczki (1.5.0) */
.mb-trip-list { border: 1px solid var(--mb-line); border-radius: 12px; overflow: hidden; margin: 12px 0 16px; }
.mb-trip-row { display: grid; grid-template-columns: 1.1fr 1.8fr 1.1fr .8fr; gap: 4px 12px; padding: 10px 14px; border-top: 1px solid var(--mb-line); align-items: start; }
.mb-trip-row:first-child { border-top: 0; }
.mb-trip-row .mb-trip-dl { grid-column: 2 / -1; font-size: 13px; margin: 0; }
.mb-trip-amt { text-align: right; }
.mb-trip-total { background: var(--mb-green-soft); }
.mb-trip-total .mb-trip-amt strong { font-size: 18px; color: var(--mb-green); }
@media (max-width: 560px) {
	.mb-trip-row { grid-template-columns: 1fr auto; }
	.mb-trip-when, .mb-trip-num, .mb-trip-row .mb-trip-dl { grid-column: 1 / -1; }
	.mb-trip-amt { grid-column: 2; grid-row: 1; }
}
.mb-class { border: 1px solid var(--mb-line); border-radius: 12px; padding: 12px 16px 4px; margin: 0 0 14px; }
.mb-class legend { font-weight: 700; color: var(--mb-green); padding: 0 6px; }
.mb-class.is-locked { background: #f7f5f1; }
.mb-class.is-removed { opacity: .5; }
.mb-class.is-removed .mb-row, .mb-class.is-removed .mb-term-now, .mb-class.is-removed .mb-calc { display: none; }
.mb-class-new { border-style: dashed; border-color: var(--mb-green); }
.mb-row3 { grid-template-columns: 1.2fr 1fr 1fr; }
@media (max-width: 560px) { .mb-row3 { grid-template-columns: 1fr 1fr; } .mb-row3 label:first-child { grid-column: 1 / -1; } }
.mb-trip-sum { margin: 8px 0 0; }

.mb-notice.mb-plan { background: #fff4d6; border-left: 4px solid #f0a500; }
.mb-proposal { border: 2px solid #f0c55a; }
.mb-proposal-text { white-space: pre-wrap; font-family: inherit; background: var(--mb-green-soft); padding: 10px 14px; border-radius: 10px; margin: 0 0 12px; font-size: 15px; line-height: 1.6; }

.mb-linknote { font-size: 13px; color: #5c4200; background: #fff8e6; border: 1px solid #f0dca0; border-radius: 10px; padding: 8px 12px; margin: 0 0 14px; }

.mb-st-pending { background: #fff4d6; color: #8a4b00; }

.mb-biggroup { background: var(--mb-green-soft); border: 2px solid var(--mb-green); border-radius: 12px; padding: 14px 16px; margin: 0 0 14px; }
.mb-biggroup p { margin: 0 0 10px; }
.mb-biggroup p:last-child { margin-bottom: 0; }
