/* Shared quote form: clear route, readable controls and a calm visual hierarchy. */
.quote-card{background:#fffefb;border:1px solid #e6e9df;border-radius:16px;padding:28px 30px 24px;box-shadow:0 22px 65px #071b2a24;position:relative;overflow:hidden}
.quote-card .quote-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.quote-card .quote-top .eyebrow{font-size:9px;letter-spacing:1.6px;color:#5b7164;font-weight:700}
.quote-card .quote-symbol{display:grid;place-items:center;width:34px;height:34px;font-size:23px;background:#fff0e4;border:1px solid #f3d4bd;border-radius:10px;color:#a34c21}
.quote-card h2{font-size:29px;font-weight:700;letter-spacing:-1.2px;line-height:1.2;margin:0;max-width:380px}
.quote-card #quote-subtitle{color:#66766b;font-size:13px;line-height:1.7;margin-top:10px}
.quote-card .quote-progress{background:#f0f3eb;border:1px solid #e2e8da;border-radius:9px;padding:5px;gap:5px;margin:23px 0 26px}
.quote-card .quote-progress li{border:0;border-radius:6px;min-height:38px;padding:7px 8px;gap:7px;font-size:11px;color:#6a786d;justify-content:center;line-height:1.2}
.quote-card .quote-progress li>span{width:19px;height:19px;font-size:9px;flex-shrink:0;background:transparent;border-color:#becbb7}
.quote-card .quote-progress [aria-current=step]{background:#17363b;color:#fffdf4;box-shadow:0 2px 4px #17363b14}
.quote-card .quote-progress [aria-current=step]>span{color:#17363b;background:#ffa672;border-color:#ffa672;font-weight:700}
.quote-card .quote-progress .complete{color:#36543e;background:#e1ead8}
.quote-card .quote-progress .complete>span{color:#36543e;background:#f7faef;border-color:#9eb291}
.quote-card label{font-size:11px;font-weight:700;color:#28423b;letter-spacing:0;margin-bottom:8px;line-height:1.4}
.quote-card label span{font-size:9px;color:#6f7e71}
.quote-card label .required{color:#ac4820;font-weight:600}
.quote-card input,.quote-card select,.quote-card textarea{border:1px solid #d6ddd0;border-radius:7px;min-height:49px;background:#f7f8f2;color:#17363b;padding:12px 13px;font-size:14px;box-shadow:none;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}
.quote-card input::placeholder,.quote-card textarea::placeholder{color:#7d897d;opacity:1}
.quote-card input:hover,.quote-card select:hover,.quote-card textarea:hover{border-color:#a0b09a}
.quote-card input:focus,.quote-card select:focus,.quote-card textarea:focus{outline:none;border-color:#526f56;background:white;box-shadow:0 0 0 3px #dfe9d6}
.quote-card .route-inputs{gap:20px;padding:0 0 0 32px;margin:0 0 22px;position:relative}
.quote-card .route-inputs::before{content:'';position:absolute;left:9px;top:25px;bottom:44px;border-left:1px dashed #bac8af}
.quote-card .route-inputs .field{position:relative}
.quote-card .route-inputs .field::before{position:absolute;left:-32px;top:2px;display:block;width:19px;height:19px;box-sizing:border-box;border-radius:50%;background:#e3ecd9;border:5px solid #3a6146;content:'';box-shadow:0 0 0 5px #fffefb}
.quote-card .route-inputs .field:last-child::before{background:#fff2e6;border-color:#bd5b2c;border-radius:5px}
.quote-card #swap-route{top:calc(50% - 18px);right:10px;width:35px;height:35px;font-size:19px;background:#fffefb;border:1px solid #d0dac7;color:#3f6047;box-shadow:0 2px 4px #17363b0d}
.quote-card #swap-route:hover{background:#e8efdf;border-color:#9db08f}
.quote-card .field-grid{gap:14px;margin:20px 0}
.quote-card .form-step[data-step="1"]>.field-grid{border-top:1px solid #e3e8dc;padding-top:19px;margin-bottom:22px}
.quote-card .button{min-height:49px;border-radius:7px;background:#f97a43;color:#173239;padding:15px 18px;font-size:13px;font-weight:700;box-shadow:0 3px 0 #bd53251a;transition:background .15s}
.quote-card .button:hover{background:#ff915a;transform:none}
.quote-card .button:focus-visible,.quote-card .back:focus-visible,.quote-card #swap-route:focus-visible{outline:3px solid #47664b;outline-offset:3px}
.quote-card .button>span{font-size:21px}
.quote-card .button.wide{width:100%;margin-top:0}
.quote-card .form-hint{font-size:11px;line-height:1.8;color:#68776a}
.quote-card .form-step>.form-hint:last-child{border-top:1px solid #e8ece1;margin-top:19px;padding-top:15px;margin-bottom:0}
.quote-card .step-intro{margin:-4px 0 19px;padding:12px 14px;background:#f0f4e9;border-radius:6px;color:#50634e;text-align:left}
.quote-card .conditional-fields{background:#f0f4e9;border:1px solid #d6dfca;border-left:3px solid #9daf86;border-radius:7px;padding:17px;margin:19px 0}
.quote-card .conditional-fields input,.quote-card .conditional-fields select{background:#fffefb}
.quote-card .dimensions legend{color:#28423b;font-size:11px;line-height:1.5}
.quote-card .dimensions legend span{color:#68776a}
.quote-card .field-help{font-size:11px;line-height:1.75;color:#657562;margin-top:9px}
.quote-card .check-field{padding:12px 0 0;border-top:1px solid #d8e1cd;min-height:44px}
.quote-card .check-field input{width:18px;height:18px;min-height:18px;padding:0;flex-shrink:0}
.quote-card textarea{min-height:82px}
.quote-card .form-actions{border-top:1px solid #e3e8dc;padding-top:19px;margin-top:22px}
.quote-card .form-actions .back{border:1px solid #d4decb;border-radius:7px;min-height:47px;padding:12px 13px;background:#fffefb;font-size:11px;color:#536b4c}
.quote-card .form-actions .back:hover{background:#f0f4e9}
.quote-card .form-actions .button{padding:15px 18px;font-size:12px}
.quote-card .shipment-review{background:#edf2e6;border:1px solid #d6dfca;border-radius:9px;padding:17px 18px;margin-bottom:22px;position:relative}
.quote-card .review-heading{font-size:9px;letter-spacing:1.3px;color:#53684b;margin-bottom:10px;font-weight:700}
.quote-card .review-heading button{background:#fffefb;border:1px solid #d1ddc4;border-radius:5px;min-height:32px;padding:6px 12px;font-size:11px;color:#42613d;text-decoration:none;letter-spacing:0}
.quote-card .shipment-review strong{font-size:16px;font-weight:700;color:#213e32;line-height:1.5}
.quote-card .shipment-review p{font-size:12px;color:#607057;line-height:1.75;margin-top:6px}
.quote-card .privacy-note{background:#f6f7f0;border-radius:6px;padding:12px 14px;margin-top:18px}
.quote-card .field-error{color:#a43324;font-size:11px;margin-top:7px}
.quote-card [aria-invalid=true]{background:#fff6f1;border-color:#b24b36;box-shadow:0 0 0 1px #b24b36}
.quote-card [aria-invalid=true]:focus{box-shadow:0 0 0 3px #f5dcd0}
.quote-card .form-alert{background:#fff0e8;border:1px solid #e7b9a6;border-radius:7px;padding:15px;color:#8c3a26}
.quote-card #quote-success{padding-top:4px}
.quote-card #quote-success .success-check{border-radius:14px;background:#e6eedc;border:1px solid #c6d5b6;color:#45643b}
.quote-card #quote-success h3{font-size:29px;line-height:1.25}
.quote-card #quote-success .button{margin-top:23px}
@media(max-width:1000px){.quote-card{padding:25px}.quote-card h2{font-size:26px}.quote-card .quote-progress li{padding:7px 5px}}
@media(max-width:720px){.quote-card,.guide-quote .quote-card{padding:22px 19px 20px;border-radius:13px}.quote-card .quote-top{display:flex;margin-bottom:14px}.quote-card .quote-top .eyebrow{font-size:8px}.quote-card .quote-symbol{height:28px;width:28px;font-size:20px;border-radius:8px}.quote-card h2{font-size:25px;letter-spacing:-1px}.quote-card #quote-subtitle{font-size:12px;margin-top:9px}.quote-card .quote-progress{margin:19px 0 22px;padding:4px;gap:3px}.quote-card .quote-progress li{font-size:10px;gap:5px;padding:7px 3px;min-height:36px}.quote-card .quote-progress li>span{width:17px;height:17px;font-size:9px}.quote-card input,.quote-card select,.quote-card textarea{font-size:16px;min-height:49px;padding:12px}.quote-card .route-inputs{padding-left:26px;gap:20px}.quote-card .route-inputs::before{left:8px}.quote-card .route-inputs .field::before{left:-26px;width:17px;height:17px;border-width:4px;top:2px}.quote-card label{font-size:11px}.quote-card label span{font-size:9px}.quote-card .field-grid:has(#equipment){grid-template-columns:minmax(0,1fr);gap:16px}.quote-card .form-step[data-step="1"]>.field-grid{padding-top:18px;margin-bottom:20px}.quote-card .form-actions{gap:10px}.quote-card .form-actions .button{font-size:11px;gap:10px;padding:14px 12px}.quote-card .form-actions .back{padding:12px 10px;font-size:10px}.quote-card .conditional-fields{padding:14px}.quote-card .shipment-review{padding:15px}.quote-card .shipment-review strong{font-size:15px}.quote-card .form-step>.form-hint:last-child{font-size:10px}.quote-card .field-help{font-size:10px}.quote-card .step-intro{font-size:11px}.quote-card .dimension-grid{gap:7px}.quote-card .dimension-grid input{padding:10px 7px}.quote-card .button{min-height:50px}}
@media(prefers-reduced-motion:reduce){.quote-card input,.quote-card select,.quote-card textarea,.quote-card .button{transition:none}}
/* LTL pallet groups */
.quote-card .pallet-intro{margin:0 0 12px}
.quote-card .pallet-rows{display:grid;gap:10px}
.quote-card .pallet-row{position:relative;min-width:0;margin:0;border:1px solid #d6dfca;border-radius:7px;background:#f8faf4;padding:10px 12px 12px}
.quote-card .pallet-row legend{font-size:11px;font-weight:700;color:#28423b;padding:0 5px;margin-left:-5px}
.quote-card .pallet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.quote-card .pallet-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}
.quote-card .pallet-grid .field{min-width:0;margin:0}
.quote-card .pallet-grid label{font-size:10px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quote-card .pallet-grid input,.quote-card .pallet-grid select{width:100%;min-width:0;padding:10px 7px;background:#fffefb}
.quote-card .remove-pallet{position:absolute;top:-14px;right:8px;width:30px;height:30px;border-radius:50%;border:1px solid #c9d4bd;background:#fffefb;color:#53665a;font-size:17px;line-height:1;cursor:pointer;display:grid;place-items:center}
.quote-card .remove-pallet[hidden]{display:none}
.quote-card .remove-pallet:hover{background:#f6e3d8;color:#a34c27;border-color:#e4a580}
.quote-card .add-pallet{margin-top:10px;min-height:44px;width:100%;border:1px dashed #9daf86;border-radius:7px;background:transparent;color:#365233;font-size:12px;font-weight:700;cursor:pointer}
.quote-card .add-pallet:hover{background:#e7eedc}
.quote-card .add-pallet[hidden]{display:none}
.quote-card .remove-pallet:focus-visible,.quote-card .add-pallet:focus-visible{outline:3px solid #47664b;outline-offset:2px}
.quote-card .pallet-status:empty{display:none}
@media(max-width:420px){.quote-card .pallet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-card .pallet-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-card .pallet-grid-3 .field:last-child{grid-column:1/-1}}
@media(max-width:360px){.quote-card .pallet-grid-3{grid-template-columns:1fr}}
