/* Site look (templatemo-sixteen.css: #f33f3f accent, Poppins). Fallbacks below so the page also stands alone. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: #f7f7f7; font-family: 'Poppins', sans-serif; color: #1e1e1e; line-height: 1.5; }
a { color: #f33f3f; text-decoration: none; }
.container { max-width: 1140px; margin: 0 auto; padding: 0 16px; }
.navbar { height: 80px; display: flex; align-items: center; }
.navbar-brand h2 { margin: 0; color: #fff; text-transform: uppercase; font-size: 24px; font-weight: 700; }
.navbar-brand h2 em { font-style: normal; color: #f33f3f; }
.filled-button { display: inline-block; background: #f33f3f; color: #fff; font: 500 15px 'Poppins', sans-serif; padding: 12px 20px; border: 0; border-radius: 5px; }
.filled-button:hover { background: #121212; color: #fff; }
.alert { padding: 10px 12px; border-radius: 4px; margin: 10px 0; font-size: 14px; }
.alert-danger { background: #fdecec; color: #b3261e; border: 1px solid #f5c2c0; }
.alert-info { background: #eef4ff; color: #1e3a8a; border: 1px solid #c7d7fb; }
.form-row { display: flex; gap: 12px; }
.form-row .col-6 { flex: 1; min-width: 0; }
footer { text-align: center; }
footer .inner-content { border-top: 1px solid #eee; margin-top: 40px; padding: 30px 0; font-size: 12px; text-transform: uppercase; color: #4a4a4a; }
header { position: static; background: #232323; }
.navbar .container { width: 100%; display: flex; justify-content: space-between; align-items: center; }
.nav-back { color: #fff; font-size: 14px; }
.nav-back:hover { color: #f33f3f; }
.book-wrap { max-width: 640px; padding: 30px 16px 60px; }
.book-card { background: #fff; padding: 24px 20px; border-radius: 6px; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.book-card h1 { font-size: 26px; font-weight: 700; color: #1e1e1e; margin-bottom: 10px; }
.book-card label { display: block; margin: 14px 0 4px; font-size: 14px; font-weight: 500; color: #1e1e1e; }
.book-card input:not([type=checkbox]), .book-card select, .book-card textarea {
  width: 100%; height: 46px; padding: 0 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; background: #fff; }
.book-card textarea { height: auto; padding: 10px 12px; }
.book-card .consent { font-weight: 400; font-size: 13px; color: #4a4a4a; display: flex; gap: 8px; align-items: flex-start; }
.book-card .consent input { margin-top: 4px; }
.book-card .filled-button { margin-top: 18px; border: 0; width: 100%; text-align: center; cursor: pointer; }
.muted, .callmsg { color: #4a4a4a; font-size: 14px; }
.callmsg { color: #f33f3f; margin-top: 8px; }
.code { font-size: 28px; letter-spacing: 3px; color: #f33f3f; }
.hp { position: absolute; left: -9999px; }
footer { margin-top: 0; }
/* admin */
.admin-wrap { max-width: 1100px; }
.admin-wrap table { width: 100%; font-size: 14px; background: #fff; }
.admin-wrap td, .admin-wrap th { padding: 6px; border-bottom: 1px solid #eee; vertical-align: top; }
.admin-wrap form.inline { display: inline; }
.admin-wrap .btn-s { font-size: 12px; padding: 3px 8px; border: 1px solid #ccc; background: #fff; border-radius: 3px; cursor: pointer; }
.admin-wrap .tabs a { margin-right: 14px; font-weight: 600; }
.admin-wrap .box { background: #fff; padding: 16px; margin: 16px 0; border-radius: 6px; }
.admin-wrap .box input, .admin-wrap .box select { height: 36px; padding: 0 8px; border: 1px solid #ddd; margin: 2px 4px 2px 0; }
.st-cancelled, .st-no_show { opacity: .5; }

.book-card h2 { font-size: 18px; margin: 26px 0 10px; }
.filled-button.btn-dark { background: #4a4a4a; }
/* mobile: site CSS floats/positions the brand; pin the back link to the right instead */
.navbar .container { position: relative; }
.navbar .navbar-brand { position: static !important; float: none !important; margin: 0 !important; }
.nav-back { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); white-space: nowrap; }
