/* Quote calculator: landing (Figma 899:422) + form (shares booking.css). */
.bt-quote-landing { max-width:1272px; margin:0 auto; text-align:center; padding:clamp(32px,6vw,90px) 16px 0; }
.bt-quote-landing h1 { font-size:clamp(2.5rem,1.5rem + 4vw,5rem); font-weight:500; line-height:1.1; color:#00517D; margin:0 0 12px; }
.bt-quote-landing__sub { font-size:1.5625rem; color:rgba(0,0,0,.6); margin:0 0 20px; }
.bt-quote-landing__lead { font-size:1.4375rem; line-height:1.5; max-width:900px; margin:0 auto 32px; }
.bt-quote-landing__benefits { list-style:none; margin:40px auto 0; padding:0; display:flex; justify-content:center; gap:20px; flex-wrap:wrap; }
.bt-quote-landing__benefits li { background:#fff; border-radius:20px; padding:22px 28px; font-size:1.25rem; display:flex; align-items:center; gap:12px; }
.bt-quote-landing__benefits li::before { content:''; width:26px; height:26px; border-radius:50%; background:#00517D url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12'%3E%3Cpath d='M1 6l5 5 9-9' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") no-repeat center; flex:0 0 26px; }
.bt-quote-landing__ticker { margin:28px 0 0; font-size:1.125rem; color:rgba(0,0,0,.6); }
.bt-quote-shell { margin-top:48px; }
.bt-quote__estimate { text-align:center; padding:8px 0; }
.bt-quote__estimate .bt-quote__total { font-size:clamp(2.5rem,2rem + 3vw,4.5rem); font-weight:600; color:#00517D; margin:0; }
.bt-quote__estimate .bt-quote__note { color:rgba(0,0,0,.6); font-size:1.125rem; margin:8px 0 24px; }
.bt-quote__table { width:100%; max-width:640px; margin:0 auto; border-collapse:collapse; font-size:1.125rem; }
.bt-quote__table td { padding:12px 8px; border-bottom:1px solid #E4E3E3; text-align:left; }
.bt-quote__table td:last-child { text-align:right; font-weight:500; white-space:nowrap; }
.bt-quote__table .is-total td { font-weight:700; font-size:1.25rem; border-top:2px solid #00517D; border-bottom:0; }
.bt-quote__disclaimer { font-size:.9375rem; color:rgba(0,0,0,.55); max-width:640px; margin:20px auto 0; }
@media (max-width:900px) { .bt-quote-landing__lead { font-size:1.0625rem; } .bt-quote-landing__benefits { flex-direction:column; gap:10px; margin-top:24px; } .bt-quote-landing__benefits li { font-size:1rem; padding:16px 18px; } }
/* the quote form reuses booking.css via the .bt-booking-dc_wrapper wrapper; a few form-specific tweaks */
.bt-quote-shell .gform_wrapper { background:#fff; border-radius:30px; overflow:hidden; box-shadow:0 2px 6px rgba(10,20,47,.04), 0 12px 32px rgba(10,20,47,.06); }
.bt-quote-shell .gf_page_steps { display:flex; justify-content:space-between; gap:8px; background:#00517D; color:#fff; padding:24px clamp(16px,4vw,60px); margin:0; border:0; overflow:auto; }
.bt-quote-shell .gf_step { flex:0 0 auto; }
.bt-quote-shell .gfield--type-html { padding-top:8px; }

/* Estimate step: centred column, brand total, button text inside the button (Dan, 16 Oct 2026) */
.bt-quote-shell .bt-quote__estimate { max-width:640px; margin:0 auto; text-align:center; }
.bt-quote-shell .bt-quote__estimate p.bt-quote__total, #bt-root .bt-quote-shell .bt-quote__estimate p.bt-quote__total { color:#00517D; font-weight:600; font-size:clamp(2.5rem, 2rem + 2.5vw, 4rem); line-height:1.1; margin:0; }
.bt-quote-shell .bt-quote__estimate p.bt-quote__note, #bt-root .bt-quote-shell .bt-quote__estimate p.bt-quote__note { color:rgba(0,0,0,.6); font-size:1.0625rem; margin:8px 0 24px; }
.bt-quote-shell .bt-quote__estimate .bt-quote__table { width:100%; max-width:none; margin:0; }
.bt-quote-shell .bt-quote__estimate p.bt-quote__disclaimer, #bt-root .bt-quote-shell .bt-quote__estimate p.bt-quote__disclaimer { max-width:none; margin:20px 0 0; text-align:center; }
.bt-quote-shell .gform_page_footer .gform_next_button, .bt-quote-shell .gform_page_footer .gform_previous_button { width:auto; padding:0 32px; white-space:nowrap; }
@media (max-width:640px) {
  .bt-quote-shell .gform_page_footer .gform_next_button, .bt-quote-shell .gform_page_footer .gform_previous_button { width:100%; white-space:normal; }
  .bt-quote-shell .bt-quote__table { font-size:1rem; }
}
/* 7 steps must fit a phone: circles only, label under the current step */
@media (max-width:640px) {
  .bt-quote-shell .gf_page_steps { justify-content:space-between; gap:4px; padding:16px 12px 12px; overflow:hidden; }
  .bt-quote-shell .gf_step { flex:1 1 0; min-width:0; }
  .bt-quote-shell .gf_step_label { visibility:hidden; height:0; margin:0; }
  .bt-quote-shell .gf_step_active .gf_step_label { visibility:visible; height:auto; margin-top:6px; overflow:visible; white-space:nowrap; }
}
