/* "Book this Safari Now!" tour booking form (single tour pages).
   Loaded last on is_singular('tour'). Fonts are bundled locally. */
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/pt-sans-latin-400.woff2) format('woff2')}
@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/roboto-slab-latin-700.woff2) format('woff2')}

.booking-form-section .sfb-wrap{box-sizing:border-box;max-width:1120px;width:100%;margin:0 auto;font-family:'PT Sans',Arial,Helvetica,sans-serif;color:#000;text-align:left}
.booking-form-section .sfb-wrap *,
.booking-form-section .sfb-wrap *::before,
.booking-form-section .sfb-wrap *::after{box-sizing:border-box}

.booking-form-section .sfb-header{background:#c47c00;color:#fff;font-family:'Roboto Slab',Georgia,serif;font-weight:700;font-size:19px;line-height:1.3;letter-spacing:0;text-transform:none;padding:16px 22px 15px;margin:0 0 28px}

.booking-form-section .sfb-box{border:1px solid #a3a3a3;border-radius:0;box-shadow:none;padding:34px 36px 38px;background:#fff}

.booking-form-section .sfb-form label{display:block;font-family:inherit;font-size:18px;line-height:1.2;font-weight:400;color:#000;text-transform:none;letter-spacing:0;margin:0 0 8px}

.booking-form-section .sfb-form input[type="text"],
.booking-form-section .sfb-form input[type="email"],
.booking-form-section .sfb-form input[type="tel"],
.booking-form-section .sfb-form input[type="date"],
.booking-form-section .sfb-form input[type="number"],
.booking-form-section .sfb-form textarea{display:block;width:100%;height:52px;min-height:0;margin:0;padding:8px 12px;background:#fff;border:1px solid #a3a3a3;border-radius:0;font-family:inherit;font-size:18px;line-height:1.3;color:#000;box-shadow:none;outline:none;-webkit-appearance:none;appearance:none}
.booking-form-section .sfb-form input[type="number"]{-moz-appearance:textfield}
.booking-form-section .sfb-form input[type="number"]::-webkit-outer-spin-button,
.booking-form-section .sfb-form input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.booking-form-section .sfb-form input:focus,
.booking-form-section .sfb-form textarea:focus{border-color:#777;box-shadow:none;outline:none}
.booking-form-section .sfb-form input:invalid:not(:placeholder-shown):not(:focus){border-color:#a3a3a3}

.booking-form-section .sfb-form textarea{height:130px;resize:vertical}

.booking-form-section .sfb-form .sfb-send{display:inline-block;width:auto;background:#c63b1c;color:#fff;border:0;border-radius:3px;padding:0 23px;height:44px;font-family:inherit;font-size:21px;font-weight:400;line-height:44px;text-transform:uppercase;letter-spacing:0;cursor:pointer;box-shadow:none;transition:background .2s ease}
.booking-form-section .sfb-form .sfb-send:hover,
.booking-form-section .sfb-form .sfb-send:focus-visible{background:#a83018;color:#fff}

/* CAPTCHA (built-in maths fallback or external widget) sits just above SEND */
.booking-form-section .sfb-form .etc-captcha{margin:0}
.booking-form-section .sfb-form .etc-captcha--builtin label{margin-bottom:8px}
.booking-form-section .sfb-form .etc-captcha--builtin .etc-form__recaptcha{display:flex;align-items:center;gap:14px;margin:0 0 8px;padding:14px 18px;font-size:14px;line-height:1.3;font-weight:400;letter-spacing:0;text-transform:none}
.booking-form-section .sfb-form .etc-captcha--builtin input[type="text"]{margin-bottom:0}
.booking-form-section .sfb-form .etc-captcha .required{color:inherit}
.booking-form-section .sfb-form .etc-form__extras{margin:0 0 18px}

/* Success / error notice shown inside the box */
.booking-form-section .sfb-box .etc-notice{margin:0 0 22px;font-size:16px;line-height:1.4;border-radius:0}

/* ── Landscape layout ─────────────────────────────────────────────
   4-column field grid on desktop; notes span the full row; captcha and
   SEND sit side by side along the bottom. Collapses to 2 then 1 column. */
.booking-form-section .sfb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 24px;margin:0 0 24px}
.booking-form-section .sfb-field{min-width:0;display:flex;flex-direction:column}
.booking-form-section .sfb-field label{min-height:2.4em;display:flex;align-items:flex-end}
.booking-form-section .sfb-field--wide{grid-column:1/-1}
.booking-form-section .sfb-field--wide label{min-height:0}
.booking-form-section .sfb-form .etc-form__extras{margin:0 0 24px}
.booking-form-section .sfb-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.booking-form-section .sfb-footer .etc-captcha{flex:1 1 300px;max-width:520px}
.booking-form-section .sfb-footer .sfb-send{flex:0 0 auto;margin-left:auto}

@media (max-width:1024px){
  .booking-form-section .sfb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .booking-form-section .sfb-grid{grid-template-columns:1fr;gap:18px}
  .booking-form-section .sfb-field label{min-height:0}
  .booking-form-section .sfb-footer{flex-direction:column;align-items:stretch}
  .booking-form-section .sfb-footer .etc-captcha{max-width:none;flex-basis:auto}
  .booking-form-section .sfb-footer .sfb-send{width:100%;margin-left:0}
}
@media (max-width:400px){
  .booking-form-section .sfb-box{padding:22px 18px 26px}
  .booking-form-section .sfb-form label{font-size:19px}
}
