/* FitArt — rezervační widget (scoped .fabk / .booking) */
.booking { padding: 90px 0; background: #f3f7ef; }
#poukaz.booking { background: #fff; } /* odliš dvě sekce za sebou (rezervace zelená → poukaz bílá) */
.booking__head { text-align: center; max-width: 640px; margin: 0 auto 38px; }
.booking__sub { margin: 14px 0 0; color: #5c6b50; font-size: 17px; line-height: 1.6; }
#fa-booking { max-width: 720px; margin: 0 auto; }

.fabk { background: #fff; border: 1px solid #e3eadc; border-radius: 20px; padding: 30px; box-shadow: 0 14px 44px rgba(20, 40, 12, .07); }
.fabk__row { margin-bottom: 16px; }
.fabk__row--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fabk__f { display: block; }
.fabk__f > span { display: block; font-size: 13px; font-weight: 600; color: #46553c; margin-bottom: 6px; }
.fabk__f input, .fabk__f select, .fabk__f textarea {
    width: 100%; font: inherit; padding: 12px 13px; border: 1px solid #d4ddca;
    border-radius: 11px; background: #fff; color: #1b2419; box-sizing: border-box;
}
.fabk__f textarea { resize: vertical; min-height: 76px; }
.fabk__f input:focus, .fabk__f select:focus, .fabk__f textarea:focus {
    outline: none; border-color: #387b22; box-shadow: 0 0 0 3px rgba(56, 123, 34, .14);
}
.fabk__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.fabk__btn {
    width: 100%; margin-top: 6px; padding: 15px; font: inherit; font-weight: 700; letter-spacing: .01em;
    color: #fff; background: #387b22; border: 0; border-radius: 13px; cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}
.fabk__btn:hover { background: #2c5f1a; transform: translateY(-1px); }
.fabk__btn:disabled { opacity: .6; cursor: default; transform: none; }
.fabk__note { margin: 13px 0 0; font-size: 13px; color: #7a8a6e; text-align: center; }
.fabk__msg { margin: 14px 0 0; padding: 13px 15px; border-radius: 11px; font-size: 14px; text-align: center; }
.fabk__msg.is-ok { background: #e1f4d6; color: #2c5f1a; }
.fabk__msg.is-err { background: #fdecea; color: #b3261e; }

@media (max-width: 600px) {
    .booking { padding: 60px 0; }
    .fabk__row--2 { grid-template-columns: 1fr; }
    .fabk { padding: 22px; }
}
