/* PBL V8.5.17.5 — quotation field + select normalization */
.required-mark{display:inline;color:#d63b3b;font-weight:900;margin-inline-start:4px;line-height:1}
.required-note{display:inline-flex;align-items:center;gap:7px;margin:.55rem 0 1rem!important;color:#657d8e!important;font-size:.9rem!important}
.required-note span{color:#d63b3b;font-weight:900}
/* Keep accessibility text available to screen readers even on legacy quote layouts. */
.quote-form .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Legacy global form CSS uses grid labels, which put the required star and SR text on separate rows. */
.quote-form .form-grid>label{display:block!important;position:relative;margin-bottom:18px!important;font-size:15px!important;font-weight:800!important;color:#0d1b28}
.quote-form .form-grid>label>input,
.quote-form .form-grid>label>select,
.quote-form .form-grid>label>textarea,
.quote-form .form-grid>label>.phone-input{margin-top:8px}
.quote-form label:has([required]){position:relative}

/* Consistent closed select control across Chrome / Edge / Safari / Firefox. */
.quote-form select{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  min-height:52px;
  width:100%;
  padding:12px 48px 12px 14px!important;
  border:1px solid #b9cfdb!important;
  border-radius:12px!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23071d2d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 16px center!important;
  background-size:18px 18px!important;
  color:#0b2233!important;
  font-weight:650!important;
  line-height:1.25;
  box-shadow:0 1px 2px rgba(7,29,45,.04),inset 0 0 0 1px rgba(255,255,255,.5);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.quote-form select:hover{border-color:#80b9d4!important;background-color:#fbfdff!important}
.quote-form select:focus{outline:0!important;border-color:#1aa4df!important;box-shadow:0 0 0 3px rgba(26,164,223,.14)!important}
.quote-form select:disabled{cursor:not-allowed;opacity:.62;background-color:#f2f6f8!important}
.quote-form select option{color:#0b2233;background:#fff;font-weight:600}

/* Bring text fields into the same visual system without changing their behavior. */
.quote-form input:not([type="checkbox"]):not([type="radio"]),
.quote-form textarea{
  min-height:52px;
  border-radius:12px!important;
  border-color:#b9cfdb!important;
  background:#fff!important;
  color:#0b2233!important;
}
.quote-form textarea{min-height:120px}
.quote-form input:not([type="checkbox"]):not([type="radio"]):hover,
.quote-form textarea:hover{border-color:#80b9d4!important}

/* Route heading should read as two deliberate pieces, not one run-on string. */
.quote-form .form-subhead.full{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:5px 0 14px;padding-top:2px}
.quote-form .form-subhead.full b{font-size:18px;color:#0d1b28}
.quote-form .form-subhead.full small{font-size:14px;font-weight:500;color:#60788a}

.quote-form [required]:focus{outline:0;box-shadow:0 0 0 3px rgba(26,164,223,.14);border-color:#39aee1}
.quote-form [required]:user-invalid{border-color:#d65c5c}
.quote-form [required]:user-valid{border-color:#8dbca1}

html[dir="rtl"] .quote-form select{
  padding:12px 14px 12px 48px!important;
  background-position:left 16px center!important;
}
html[dir="rtl"] .quote-form .required-mark{margin-inline-start:4px;margin-inline-end:0}

@media(max-width:760px){
  .quote-form .form-grid>label{font-size:14px!important;margin-bottom:16px!important}
  .quote-form select{min-height:50px;font-size:16px!important} /* avoids iOS zoom */
  .quote-form input:not([type="checkbox"]):not([type="radio"]),.quote-form textarea{font-size:16px!important}
  .quote-form .form-subhead.full{display:block}
  .quote-form .form-subhead.full small{display:block;margin-top:4px;line-height:1.45}
}
