/* SMART Booking: styled to match the SMART Krav Maga theme (falls back to its palette). */
.skmb{
	--skmb-red: var(--red, #D6402A);
	--skmb-ink: var(--ink, #1B1B1D);
	--skmb-paper: var(--paper, #EDEAE3);
	--skmb-paper-dim: var(--paper-dim, #E2DED4);
	--skmb-line: var(--line-light, rgba(27,27,29,0.16));
	max-width:460px;
	margin:0 auto;
	font-family:inherit;
	color:var(--skmb-ink);
}
.skmb *{box-sizing:border-box;}
.skmb .skmb-muted{color:#5C6670; font-size:15px;}

/* header */
.skmb .skmb-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px;}
.skmb .skmb-title{
	font-family:'Big Shoulders Display', sans-serif;
	font-weight:900; text-transform:uppercase;
	font-size:28px; line-height:1; letter-spacing:0.005em;
}
.skmb .skmb-nav{
	width:44px; height:44px; background:transparent; color:var(--skmb-ink);
	border:1px solid var(--skmb-ink); border-radius:0; font-size:22px; line-height:1; cursor:pointer;
}
.skmb .skmb-nav:hover:not(:disabled){background:var(--skmb-ink); color:var(--skmb-paper);}
.skmb .skmb-nav:disabled{opacity:.3; cursor:default;}

/* grid */
.skmb .skmb-grid{display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:4px;}
.skmb .skmb-dow{
	font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em;
	color:#5C6670; text-align:center; padding:6px 0;
}
.skmb .skmb-cell{
	aspect-ratio:1 / 1; display:flex; align-items:center; justify-content:center;
	font-size:15px; background:transparent; border:1px solid transparent; border-radius:0;
	color:#8E8A80; font-family:inherit; padding:0;
}
.skmb .skmb-cell.is-past{opacity:.45;}
.skmb .skmb-cell.is-today{border-color:var(--skmb-line); color:var(--skmb-ink);}
.skmb .skmb-cell.is-available{
	background:var(--skmb-paper-dim); color:var(--skmb-ink);
	border:1px solid var(--skmb-red); font-weight:700; cursor:pointer;
}
.skmb .skmb-cell.is-available:hover{background:var(--skmb-red); color:#fff;}
.skmb .skmb-cell.is-selected{background:var(--skmb-red); color:#fff;}
.skmb button.skmb-cell:focus-visible,
.skmb .skmb-nav:focus-visible,
.skmb .skmb-btn:focus-visible{outline:3px solid var(--skmb-ink); outline-offset:2px;}

.skmb .skmb-legend{margin:14px 0 22px; font-size:13.5px; color:#5C6670;}

/* detail card */
.skmb .skmb-card{border-top:3px solid var(--skmb-red); background:var(--skmb-paper-dim); padding:22px 24px;}
.skmb .skmb-card h3{
	font-family:'Big Shoulders Display', sans-serif; font-weight:900; text-transform:uppercase;
	font-size:24px; line-height:1; margin:0 0 14px;
}
.skmb .skmb-card p{margin:0 0 10px; font-size:15.5px;}
.skmb .skmb-success p{margin:0; font-size:16px;}

/* buttons: same red as the theme's .btn */
.skmb .skmb-btn{
	display:inline-block; background:var(--skmb-red); color:#fff; font-weight:600; font-size:14px;
	padding:11px 20px; border:1px solid var(--skmb-red); border-radius:0; cursor:pointer; font-family:inherit; margin-top:6px;
}
.skmb .skmb-btn:hover:not(:disabled){background:#B93A26; border-color:#B93A26;}
.skmb .skmb-btn:disabled{opacity:.6; cursor:default;}
.skmb .skmb-btn-ghost{background:transparent; color:var(--skmb-ink); border-color:var(--skmb-ink);}
.skmb .skmb-btn-ghost:hover:not(:disabled){background:var(--skmb-ink); border-color:var(--skmb-ink); color:var(--skmb-paper);}

/* form */
.skmb .skmb-form{margin-top:18px; padding-top:18px; border-top:1px solid var(--skmb-line);}
.skmb .skmb-notice{font-size:14px; color:#3A3A3C;}
.skmb .skmb-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.skmb .skmb-field{margin-bottom:14px;}
.skmb .skmb-field label{display:block; font-size:13px; font-weight:600; margin-bottom:5px;}
.skmb .skmb-field input,
.skmb .skmb-field textarea{
	width:100%; font:inherit; font-size:16px; color:var(--skmb-ink);
	background:#fff; border:1px solid var(--skmb-ink); border-radius:0; padding:10px 12px;
}
.skmb .skmb-field input:focus,
.skmb .skmb-field textarea:focus{outline:3px solid var(--skmb-red); outline-offset:0;}
.skmb .skmb-msg{min-height:20px; color:#B93A26; font-size:14px; font-weight:600; margin-bottom:6px;}
.skmb .skmb-actions{display:flex; gap:10px; flex-wrap:wrap;}

/* honeypot, hidden from people and assistive tech */
.skmb .skmb-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

@media (max-width:520px){
	.skmb .skmb-row{grid-template-columns:1fr;}
	.skmb .skmb-title{font-size:22px;}
	.skmb .skmb-card{padding:18px 16px;}
}
