.mokb-standalone,.mokb-overlay{
	--mokb-c-free:#22c55e;--mokb-c-free-bg:#dcfce7;
	--mokb-c-mid:#eab308;--mokb-c-mid-bg:#fef9c3;
	--mokb-c-low:#f97316;--mokb-c-low-bg:#ffedd5;
	--mokb-c-full:#ef4444;--mokb-c-full-bg:#fee2e2;
	--mokb-c-none:#d1d5db;--mokb-c-none-bg:#f3f4f6;
}
.mokb-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.25rem 0 0;max-width:42rem}
.mokb-btn{flex:1 1 12rem;padding:.85rem 1.25rem;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:.15s}
.mokb-btn-primary{background:#0f766e;color:#fff}
.mokb-btn-primary:hover{background:#115e59}
.mokb-btn-secondary{background:#fff;color:#0f766e;border-color:#0f766e}
.mokb-btn-secondary:hover{background:#f0fdfa}
.mokb-noscroll{overflow:hidden}
.mokb-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:flex-start;justify-content:center;padding:1rem;z-index:99999;overflow-y:auto}
.mokb-modal{background:#fff;border-radius:1rem;width:100%;max-width:34rem;margin:2rem auto;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.mokb-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}
.mokb-modal-head h3{margin:0;font-size:1.1rem}
.mokb-close{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:#6b7280}
.mokb-modal-body{padding:1.25rem}
.mokb-summary{background:#f9fafb;border-radius:.75rem;padding:1rem;margin-bottom:1.25rem}
.mokb-sum-row{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;padding:.25rem 0;color:#4b5563}
.mokb-sum-total{display:flex;justify-content:space-between;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb;font-size:1rem;color:#0f766e}
.mokb-form{display:flex;flex-direction:column;gap:.85rem}
.mokb-form-hidden{display:none}
.mokb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
@media(max-width:540px){.mokb-grid2{grid-template-columns:1fr}}
.mokb-field{display:flex;flex-direction:column;gap:.3rem;font-size:.875rem;font-weight:600;color:#374151}
.mokb-field input,.mokb-field textarea{padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:.6rem;font-size:1rem;font-weight:400;width:100%;box-sizing:border-box}
.mokb-field input:focus,.mokb-field textarea:focus{outline:2px solid #0f766e;outline-offset:1px}
.mokb-btn-primary[type=submit],.mokb-form .mokb-btn-primary{background:#0f766e;color:#fff;border:0;padding:.85rem;border-radius:.75rem;font-weight:600;cursor:pointer}
.mokb-msg{margin:0;font-size:.875rem}
.mokb-msg-ok{color:#166534}
.mokb-msg-err{color:#b91c1c}
.mokb-note{margin:0;font-size:.75rem;color:#6b7280}
.mokb-calendar{width:100%;max-width:100%;min-width:0;margin-bottom:1rem;overflow:hidden;box-sizing:border-box}
.mokb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.mokb-cal-title{font-weight:700}
.mokb-cal-nav{background:#f3f4f6;border:0;border-radius:.5rem;width:2rem;height:2rem;font-size:1.1rem;cursor:pointer}
.mokb-cal-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%;max-width:100%;min-width:0;gap:.25rem;box-sizing:border-box}
.mokb-cal-dow{text-align:center;font-size:.7rem;font-weight:700;color:#6b7280;padding:.25rem 0}
.mokb-cal-empty{display:block}
.mokb-cal-day{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%!important;min-width:0!important;max-width:100%!important;height:auto;aspect-ratio:1/1;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;cursor:pointer;padding:0!important;margin:0!important;box-sizing:border-box;box-shadow:none;text-transform:none}
.mokb-day-num{font-size:.9rem;font-weight:700;color:#111827}
.mokb-day-info{font-size:.62rem;color:#6b7280}
.mokb-cal-grid .mokb-day-free,.mokb-cal-grid .mokb-day-free:disabled{background-color:var(--mokb-c-free-bg)!important;border-color:var(--mokb-c-free)!important;opacity:1}
.mokb-cal-grid .mokb-day-mid,.mokb-cal-grid .mokb-day-mid:disabled{background-color:var(--mokb-c-mid-bg)!important;border-color:var(--mokb-c-mid)!important;opacity:1}
.mokb-cal-grid .mokb-day-low,.mokb-cal-grid .mokb-day-low:disabled{background-color:var(--mokb-c-low-bg)!important;border-color:var(--mokb-c-low)!important;opacity:1}
.mokb-cal-grid .mokb-day-full,.mokb-cal-grid .mokb-day-full:disabled{background-color:var(--mokb-c-full-bg)!important;border-color:var(--mokb-c-full)!important;opacity:1}
.mokb-cal-grid .mokb-day-none,.mokb-cal-grid .mokb-day-none:disabled{background-color:var(--mokb-c-none-bg)!important;border-color:var(--mokb-c-none)!important;color:#9ca3af!important;opacity:1}
.mokb-day-none .mokb-day-num{color:#9ca3af}
.mokb-cal-day:disabled{cursor:not-allowed}
.mokb-day-selected{outline:2px solid #0f766e;outline-offset:1px}
.mokb-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.6rem;font-size:.7rem;color:#4b5563}
.mokb-legend span{display:inline-flex;align-items:center;gap:.3rem}
.mokb-dot{width:.8rem;height:.8rem;box-sizing:border-box;border-radius:50%;display:inline-block}
.mokb-dot-free{background:var(--mokb-c-free-bg);border:2px solid var(--mokb-c-free)}
.mokb-dot-mid{background:var(--mokb-c-mid-bg);border:2px solid var(--mokb-c-mid)}
.mokb-dot-low{background:var(--mokb-c-low-bg);border:2px solid var(--mokb-c-low)}
.mokb-dot-full{background:var(--mokb-c-full-bg);border:2px solid var(--mokb-c-full)}
.mokb-dot-none{background:var(--mokb-c-none-bg);border:2px solid var(--mokb-c-none)}
.mokb-slots-title{font-weight:700;font-size:.9rem;margin:.5rem 0}
.mokb-slots-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem;margin-bottom:1rem}
.mokb-slot{display:flex;flex-direction:column;gap:2px;padding:.5rem;border:1px solid #d1d5db;border-radius:.6rem;background:#fff;cursor:pointer;font-size:.75rem;color:#4b5563}
.mokb-slot strong{font-size:.95rem;color:#111827}
.mokb-slot-taken{background:#f3f4f6;color:#9ca3af;text-decoration:line-through;cursor:not-allowed}
.mokb-slot-selected{border-color:#0f766e;background:#f0fdfa}
.mokb-loading{font-size:.875rem;color:#6b7280}
.mokb-done{text-align:center;padding:1rem 0}
.mokb-done-title{font-size:1.25rem;font-weight:800;color:#0f766e;margin:0 0 .5rem}
.mokb-done-term{margin-top:.75rem;font-weight:600}

/* ---------- standalone / manual parameters ---------- */
.mokb-standalone { margin: 24px 0; }
.mokb-standalone-title { font-weight: 600; margin: 0 0 8px; }
.mokb-params { border: 1px solid #e5e7eb; border-radius: 14px; padding: 14px; margin-bottom: 16px; background: #fff; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; }
.mokb-params-title { margin: 0 0 10px; font-weight: 600; }
.mokb-params-sub { margin: 14px 0 6px; font-weight: 600; font-size: 14px; }
.mokb-ptypes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.mokb-ptype { min-width: 0; padding: 10px; border: 2px solid #e5e7eb; border-radius: 10px; background: #fff; cursor: pointer; font-size: 14px; text-align: center; line-height: 1.25; }
.mokb-ptype-active { border-color: #2563eb; color: #2563eb; background: rgba(37, 99, 235, .08); }

/* jednotné rozvržení řádků parametrů – nadpis nad, cena pod stepperem */
.mokb-param-row {
	display: block;
	padding: 12px 0;
	border-top: 1px solid #f1f5f9;
}
.mokb-param-title { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; line-height: 1.3; }
.mokb-param-side { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.mokb-param-price { font-size: 12px; color: #6b7280; }
.mokb-param-label { min-width: 0; font-size: 14px; display: block; line-height: 1.3; }
.mokb-param-label em { display: block; font-style: normal; color: #6b7280; font-size: 12px; margin-top: 2px; }
.mokb-param-ctrl { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.mokb-step-btn { flex: 0 0 auto; width: 36px; height: 36px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; cursor: pointer; font-size: 16px; line-height: 1; padding: 0; }
.mokb-step-input { width: 52px; height: 36px; text-align: center; border: 1px solid #e5e7eb; border-radius: 8px; padding: 0; box-sizing: border-box; -moz-appearance: textfield; }
.mokb-step-input::-webkit-outer-spin-button,
.mokb-step-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mokb-param-check { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 8px; padding: 10px 0; font-size: 14px; border-top: 1px solid #f1f5f9; line-height: 1.3; }
.mokb-param-check input { margin: 2px 0 0; width: 18px; height: 18px; flex: 0 0 auto; }
.mokb-param-check em { font-style: normal; color: #6b7280; white-space: nowrap; }
.mokb-zones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.mokb-zone { min-width: 0; padding: 10px 8px; border: 2px solid #e5e7eb; border-radius: 10px; background: #fff; cursor: pointer; font-size: 13px; text-align: center; }
.mokb-zone strong { display: block; }
.mokb-zone span { display: block; font-size: 12px; color: #6b7280; }
.mokb-zone-active { border-color: var(--mokb-zone-color, #2563eb); color: var(--mokb-zone-color, #2563eb); }
@media (max-width: 480px) {
	.mokb-ptypes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mokb-zones { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
	.mokb-zone { font-size: 12px; padding: 8px 4px; }
	.mokb-zone span { font-size: 11px; }
}


/* ---------- inline (standalone) booking form ---------- */
.mokb-inline {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	padding: 20px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.mokb-inline .mokb-booking > * + * {
	margin-top: 18px;
}

.mokb-inline .mokb-form-compact {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px dashed #d1d5db;
}

.mokb-standalone-title {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 700;
	color: #0f172a;
}

@media (max-width: 600px) {
	.mokb-inline {
		padding: 14px;
		border-radius: 14px;
	}
}

.mokb-handoff-note {
	margin: 0 0 14px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #065f46;
	font-size: 14px;
}

/* ---------- responsivita ---------- */
.mokb-standalone,.mokb-inline,.mokb-booking{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.mokb-cal-grid{gap:.3rem}
.mokb-cal-day{min-height:2.6rem}

@media (max-width:768px){
	.mokb-inline{padding:16px}
	.mokb-slots-list{grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr))}
}

@media (max-width:600px){
	.mokb-field input,.mokb-field textarea,.mokb-step-input{font-size:16px}
	.mokb-btn{flex:1 1 100%}
	.mokb-actions{max-width:100%}
	.mokb-modal{margin:.5rem auto;max-width:100%;border-radius:.85rem}
	.mokb-overlay{padding:.5rem}
	.mokb-modal-body{padding:1rem}
	.mokb-params{padding:12px;border-radius:12px}
	.mokb-param-row{padding:10px 0}
	.mokb-step-btn{width:34px;height:34px}
	.mokb-step-input{width:48px;height:34px}
	.mokb-param-label{font-size:13px}
	.mokb-param-label em{font-size:11px}
	.mokb-ptype{font-size:13px;padding:9px 6px}

	.mokb-cal-grid{gap:.2rem}
	.mokb-cal-day{aspect-ratio:auto;min-height:2.65rem;border-radius:.4rem}
	.mokb-day-num{font-size:.8rem}
	.mokb-day-info{font-size:.55rem}
	.mokb-cal-dow{font-size:.6rem}
	.mokb-legend{gap:.4rem .6rem;font-size:.65rem}
	.mokb-slots-list{grid-template-columns:repeat(auto-fill,minmax(4.25rem,1fr));gap:.35rem}
	.mokb-slot{padding:.4rem;font-size:.7rem}
	.mokb-slot strong{font-size:.85rem}
	.mokb-sum-row,.mokb-sum-total{font-size:.8rem;gap:.5rem}
	.mokb-done-title{font-size:1.1rem}
}

@media (max-width:400px){
	.mokb-inline{padding:10px}
	.mokb-cal-grid{gap:2px}
	.mokb-cal-day{min-height:2.35rem}
	.mokb-day-info{font-size:.5rem}
	.mokb-ptypes{grid-template-columns:repeat(2,minmax(0,1fr))}
	.mokb-param-title{font-size:13px}
	.mokb-step-btn{width:30px;height:32px}
	.mokb-step-input{width:42px;height:32px}
}
