/* P1-6: route-first quote form, with commercial details alongside. */
.quote-main { padding: calc(var(--transport-header-height, 82px) + 44px) 0 56px; }
.quote-heading { margin-bottom: 30px; }
.quote-back { display: inline-flex; gap: 8px; align-items: center; color: #61717b; font-size: 12px; margin-bottom: 18px; }
.quote-heading h1 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(32px, 4vw, 48px); font-weight: 700; letter-spacing: -.03em; line-height: 1.2; margin: 0 0 16px; }
.quote-heading > p { max-width: 670px; margin: 0; font-size: 15px; line-height: 1.7; }
.quote-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .85fr); align-items: start; gap: 40px; }
.quote-form-card { padding: 30px; border: 1px solid #dfe8ed; border-radius: 20px; background: #fff; }
.quote-form-card h2 { font-size: 23px; margin: 0 0 10px; }
.quote-form-hint { margin: 0 0 24px; font-size: 12px; color: #61717b; }
.quote-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.quote-field { min-width: 0; }
.quote-field[hidden] { display: none; }
.quote-field-full { grid-column: 1 / -1; }
.quote-form-card label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; color: #294758; }
.quote-form-card label > small { font-weight: 400; font-size: 11px; color: #61717b; }
.quote-form-card .form-control, .quote-form-card .form-select { min-height: 48px; border-radius: 8px; background-color: #fbfcfd; padding: 11px 12px; }
.quote-form-card input[type="date"] { min-width: 0; width: 100%; }
.quote-field > small { display: block; margin-top: 6px; font-size: 11px; color: #61717b; }
.quote-extra { margin: 22px 0; border-top: 1px solid #e4ebef; padding-top: 16px; }
.quote-extra summary { cursor: pointer; color: #294758; font-size: 13px; font-weight: 600; }
.quote-extra summary span { font-weight: 400; font-size: 11px; color: #61717b; }
.quote-extra[open] summary { margin-bottom: 16px; }
.quote-form-card textarea { resize: vertical; }
.quote-submit { width: 100%; min-height: 50px; padding: 12px 14px; font-size: 14px; border-radius: 9px; }
.quote-next-step { margin: 12px 0 0; font-size: 12px; line-height: 1.6; color: #61717b; }
.rocher-form-status { font-size: 13px; line-height: 1.6; margin: 12px 0 0; }
.rocher-form-status:empty { margin: 0; }
.quote-contact { padding: 8px 0; overflow-wrap: anywhere; }
.quote-contact h2 { margin-bottom: 22px; font-size: 25px; }
.quote-contact-person { margin-bottom: 16px; font-size: 14px; }
.quote-contact-person strong, .quote-contact-person span { display: block; }
.quote-contact-person strong { color: #294758; }
.quote-contact-person span { margin-top: 5px; font-size: 12px; }
.quote-direct { display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px; border: 1px solid #c9dce5; border-radius: 9px; color: #145a98; font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.quote-direct:hover { background: #e8f2f6; }
.quote-contact-link { display: block; margin: 8px 0; font-size: 14px; }
.quote-hours { margin: 18px 0 22px; font-size: 13px; line-height: 1.7; }
.quote-backup { border-top: 1px solid #dce5e9; padding-top: 18px; }
.quote-backup h3 { font-size: 14px; margin: 0 0 8px; }
.quote-backup p { font-size: 12px; margin-bottom: 8px; }
.quote-backup a { display: block; font-size: 13px; margin-top: 6px; }
.quote-company-note { font-size: 12px; line-height: 1.8; margin: 24px 0 0; }
.quote-page .footer { margin-top: 0 !important; }
@media (max-width: 991.98px) { .quote-layout { grid-template-columns: 1fr; gap: 32px; } .quote-contact { padding: 0 6px; } }
@media (max-width: 575.98px) { .quote-main { padding-top: calc(var(--transport-header-height, 132px) + 32px); } .quote-heading { margin-bottom: 24px; } .quote-heading > p { font-size: 14px; } .quote-form-card { padding: 22px 18px; border-radius: 16px; } .quote-fields { grid-template-columns: 1fr; gap: 16px; } .quote-form-card label { font-size: 13px; } .quote-submit { font-size: 13px; } }
/* The form and direct contact already provide WhatsApp access on this page. */
.quote-page .whatsapp-float { display: none; }
