
:root{--ff-ink:#102f32;--ff-lime:#d7f06a;--ff-cream:#f7f5ee;--ff-orange:#ec8e4f}
html,body{background:linear-gradient(145deg,#f7f5ee 0%,#eef4ef 100%)!important}
#book-appointment-wizard{border:1px solid rgba(16,47,50,.12);border-radius:24px!important;box-shadow:0 28px 70px rgba(16,47,50,.15)}
#header{background:var(--ff-ink)!important}
#company-logo{max-width:220px!important;max-height:62px!important;border-radius:8px}
.btn-primary,.bg-primary{background-color:var(--ff-ink)!important;border-color:var(--ff-ink)!important}
.btn-primary:hover,.btn-primary:focus{background-color:#17484c!important;border-color:#17484c!important}
.text-primary{color:var(--ff-ink)!important}
.form-control:focus,.form-select:focus{border-color:#4c7774;box-shadow:0 0 0 .2rem rgba(16,47,50,.14)}
.book-step.active-step strong{color:var(--ff-ink)!important}
#book-appointment-wizard .command-buttons .btn-primary{font-weight:700}
#book-appointment-wizard a{color:#17484c}
@media(max-width:767px){#book-appointment-wizard{border-radius:0!important}.wrapper{padding:0!important}}

/* FreightFlow lead capture: retain contact and context, omit irrelevant postal fields. */
.mb-3:has(> #address),
.mb-3:has(> #city),
.mb-3:has(> #zip-code){display:none!important}
#customer-details textarea#notes{min-height:96px}
@media(max-width:575px){
  #company-logo{max-width:180px!important;max-height:52px!important}
  #book-appointment-wizard .command-buttons{gap:.5rem}
  #book-appointment-wizard .command-buttons .btn{min-height:46px}
}

/* Mobile service summary must wrap rather than create a horizontal scroller. */
#service-description{overflow-x:hidden!important;white-space:normal!important;overflow-wrap:anywhere}
#service-description *{max-width:100%;white-space:normal!important}
@media(max-width:575px){
  #service-description{font-size:.88rem}
  .cc-window.cc-banner{padding:1rem!important}
}

/* FreightFlow cookie consent: readable, compact, and dismissible on phones. */
.cc-window.cc-banner:not(.cc-invisible){
  background:#f7f5ee!important;color:#102f32!important;opacity:1!important;
  border-top:1px solid rgba(16,47,50,.18);box-shadow:0 -12px 32px rgba(16,47,50,.12)
}
.cc-window .cc-message,.cc-window .cc-link{color:#102f32!important}
.cc-window .cc-link{text-decoration:underline!important}
.cc-window .cc-btn{background:#102f32!important;color:#fff!important;border-color:#102f32!important}
.cc-window.cc-invisible{display:none!important}
@media(max-width:575px){
  .cc-window.cc-banner:not(.cc-invisible){display:flex!important;flex-direction:column!important;gap:.65rem;align-items:stretch!important;padding:.85rem 1rem!important;max-height:42vh;overflow:auto}
  .cc-window .cc-compliance{display:block!important;width:100%}
  .cc-window .cc-btn{display:block!important;width:100%;min-height:44px;padding:.6rem 1rem!important}
}
