.truck-config-page { color:#132f46; background:#fff; font-family:Barlow,Arial,sans-serif; }
.truck-config-page [hidden] { display:none !important; }
.truck-config-page :is(button,a,input,select,textarea):focus-visible { outline:3px solid #193c59; outline-offset:2px; }
.tc-hero-image { height:245px; align-self:center; overflow:hidden; }
.tc-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center 58%; border-radius:3px; }
.tc-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.7fr); gap:clamp(28px,4vw,60px); align-items:start; padding-top:48px; padding-bottom:65px; }
.tc-workspace { min-width:0; background:#fff; border:1px solid #d8d8d8; }
.tc-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #d8d8d8; }
.tc-steps button { position:relative; min-width:0; min-height:55px; padding:11px 8px; border:0; background:#fff; color:#60696d; font:600 15px/1.2 Barlow,Arial,sans-serif; cursor:pointer; }
.tc-steps button:disabled { color:#9b9fa1; cursor:default; }
.tc-steps button[aria-current=step] { color:#17252d; }
.tc-steps button[aria-current=step]::after { content:''; position:absolute; right:10px; bottom:-1px; left:10px; height:3px; background:#be1e2d; }
.tc-step { padding:30px; }
.tc-step__heading { margin-bottom:24px; }
.premium-page .truck-config-page .tc-step__heading h3 { margin:0; color:#17252d; font-size:28px; line-height:1.15; }
.tc-step__heading p { margin:9px 0 0; color:#565d60; font-size:16px; line-height:1.5; }
.tc-choice-set { min-width:0; margin:0 0 22px; padding:0; border:0; }
.tc-choice-set legend,.tc-field { color:#263337; font-size:15px; font-weight:700; }
.tc-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:8px; }
.tc-choice { position:relative; min-width:0; cursor:pointer; }
.tc-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.tc-choice>span { display:flex; flex-direction:column; justify-content:center; min-height:74px; padding:12px 14px; border:1px solid #adb2b3; border-radius:4px; background:#fff; }
.tc-choice strong { color:#263337; font-size:16px; }
.tc-choice small { margin-top:3px; color:#626a6d; font-size:13px; font-weight:400; line-height:1.35; }
.tc-choice input:checked+span { border:2px solid #a91c29; color:#831824; }
.tc-choice input:focus-visible+span { outline:3px solid #193c59; outline-offset:3px; }
.tc-hint { margin:10px 0 0; color:#626a6d; font-size:13px; line-height:1.5; }
.tc-field-grid { display:grid; gap:20px 18px; }
.tc-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tc-full { grid-column:1/-1; }
.tc-field { display:block; min-width:0; }
.tc-field input,.tc-field select,.tc-field textarea,.tc-dimensions input { display:block; width:100%; min-width:0; min-height:49px; margin-top:7px; padding:10px 12px; border:1px solid #adb2b3; border-radius:4px; background:#fff; color:#17252d; font:500 16px/1.3 Barlow,Arial,sans-serif; }
.tc-field textarea { min-height:96px; resize:vertical; }
.tc-field select { padding-right:30px; }
.tc-field small { display:block; margin-top:7px; color:#626a6d; font-size:13px; font-weight:400; line-height:1.45; }
.tc-field input::placeholder,.tc-field textarea::placeholder,.tc-dimensions input::placeholder { color:#81898c; }
.tc-optional { color:#72787a; font-size:12px; font-weight:500; }
.tc-input-unit { position:relative; display:block; }
.tc-input-unit input { padding-right:55px; }
.tc-input-unit small { position:absolute; top:50%; right:12px; margin:0; transform:translateY(-50%); color:#565d60; font-weight:600; }
.tc-subheading { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:28px 0 15px; padding-top:24px; border-top:1px solid #d8d8d8; }
.premium-page .truck-config-page .tc-subheading h4 { margin:0; color:#17252d; font-size:20px; }
.tc-subheading p { margin:5px 0 0; color:#626a6d; font-size:14px; line-height:1.45; }
.tc-subheading>span { color:#626a6d; font-size:12px; font-weight:700; white-space:nowrap; }
.tc-dimensions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.tc-dimensions fieldset { display:grid; grid-template-columns:1fr 1fr; gap:8px; min-width:0; margin:0; padding:8px 10px 10px; border:1px solid #d8d8d8; border-radius:4px; }
.tc-dimensions legend { padding:0 4px; color:#263337; font-size:15px; font-weight:700; }
.tc-dimensions label span { color:#626a6d; font-size:12px; }
.tc-dimensions input { min-height:45px; margin-top:4px; padding:8px; }
.tc-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:24px; }
.tc-options label { display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 12px; border:1px solid #adb2b3; border-radius:4px; color:#263337; font-size:15px; font-weight:700; cursor:pointer; }
.tc-options input { flex:none; width:18px; height:18px; margin:0; accent-color:#0f2f57; }
.tc-notice { margin-top:26px; padding:18px; border-left:3px solid #0f2f57; background:#f3f5f5; }
.tc-notice strong { color:#17252d; font-size:15px; }
.tc-notice p { margin:8px 0 0; color:#50585b; font-size:14px; line-height:1.5; }
.tc-ack { display:flex; align-items:flex-start; gap:10px; margin-top:18px; color:#263337; font-size:15px; font-weight:700; line-height:1.4; }
.tc-ack input { flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:#0f2f57; }
.tc-contact-note { margin:15px 0 0; color:#626a6d; font-size:13px; line-height:1.5; }
.tc-contact-note a { color:#0f2f57; text-decoration:underline; }
.tc-actions { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:20px 30px 25px; border-top:1px solid #d8d8d8; }
.tc-actions button { min-height:49px; font:700 16px Barlow,Arial,sans-serif; cursor:pointer; }
.tc-next { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-left:auto; padding:11px 19px; border:0; border-radius:5px; background:#0f2f57; color:#fff; }
.tc-next:hover { background:#183f68; }.tc-next:disabled { opacity:.6; cursor:not-allowed; }
.tc-back { padding:10px 0; border:0; background:none; color:#0f2f57; }
.tc-status { margin:0; padding:0 30px 20px; color:#565d60; font-size:14px; line-height:1.45; }
.tc-status[data-state=error] { color:#993a1d; }.tc-status:empty { display:none; }
.tc-honeypot { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.tc-summary { position:sticky; top:20px; min-width:0; border:1px solid #d5d5d5; background:#fff; color:#17252d; }
.tc-summary__top { padding:23px 26px; border-top:4px solid #be1e2d; background:#24282b; }
.premium-page .truck-config-page .tc-summary__top h3 { margin:0; color:#fff; font-size:27px; line-height:1.15; }
.tc-summary__body { padding:18px 26px 26px; }
.tc-summary__line { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #e0e2e2; font-size:15px; }
.tc-summary__line span { color:#565d60; }.tc-summary__line strong { min-width:0; color:#132f46; text-align:right; overflow-wrap:anywhere; }
.tc-summary__pending { margin-top:20px; }.tc-summary__pending p { margin:0; color:#565d60; font-size:15px; line-height:1.5; }
.tc-result { padding-top:22px; }.tc-result__kicker { margin:0; color:#565d60; font-size:13px; font-weight:700; }
.premium-page .truck-config-page .tc-result h4 { margin:7px 0 10px; color:#17252d; font-size:34px; line-height:1.08; }
.tc-result>p:not(.tc-result__kicker),.tc-result ul { color:#565d60; font-size:14px; line-height:1.5; }
.tc-result ul { margin:0; padding-left:19px; list-style:disc; }.tc-result li { margin:4px 0; }
.tc-reason-heading { margin:18px 0 5px; color:#17252d; font-size:14px; font-weight:700; }
.tc-loads { margin-top:20px; padding-top:16px; border-top:1px solid #d8d8d8; }
.tc-loads h5,.tc-specs h5 { margin:0 0 10px; color:#17252d; font-size:16px; font-weight:700; }
.tc-loads dl { margin:0; }.tc-loads dl>div { display:flex; justify-content:space-between; gap:10px; padding:5px 0; font-size:14px; }
.tc-loads dt { color:#565d60; }.tc-loads dd { margin:0; color:#132f46; font-weight:700; text-align:right; }
.tc-loads dl>div:last-child { margin-top:5px; padding-top:10px; border-top:1px solid #d8d8d8; }
.tc-loads p,.tc-specs small { display:block; margin:10px 0 0; color:#626a6d; font-size:13px; line-height:1.45; }
.tc-specs { margin-top:20px; padding-top:18px; border-top:1px solid #d8d8d8; }
.tc-specs table { width:100%; border-collapse:collapse; color:#263337; font-size:13px; }
.tc-specs th,.tc-specs td { padding:7px 2px; border-bottom:1px solid #e0e2e2; text-align:right; }.tc-specs th:first-child,.tc-specs td:first-child { text-align:left; }
.tc-result__disclaimer { margin:20px 0!important; }
.tc-result button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:52px; padding:12px 19px; border:0; border-radius:5px; background:#082b49; color:#fff; font:700 16px Barlow,Arial,sans-serif; cursor:pointer; }
.tc-result>a { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; color:#006b96; font-size:15px; font-weight:700; text-decoration:underline; }
.tc-preview-notice { padding:10px 12px; border-left:3px solid #b97510; background:#fff7e7; color:#67420b!important; }
.tc-pdf { width:min(1100px,calc(100vw - 32px)); height:min(850px,calc(100dvh - 32px)); max-width:none; max-height:none; padding:0; border:1px solid #cbd9df; border-radius:12px; background:#fff; }
.tc-pdf::backdrop { background:#071725b8; }.tc-pdf__header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:16px 20px; }
.premium-page .truck-config-page .tc-pdf__header h2 { margin:0; color:#17252d; font-size:20px; }.tc-pdf__header div { display:flex; flex-wrap:wrap; gap:8px; }
.tc-pdf__header a,.tc-pdf__header button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 14px; border:1px solid #a8bac4; border-radius:6px; background:#fff; color:#082b49; font:700 14px Barlow,Arial,sans-serif; text-decoration:none; cursor:pointer; }
.tc-pdf__header a:first-child { border-color:#082b49; background:#082b49; color:#fff; }.tc-pdf iframe { display:block; width:100%; height:calc(100% - 110px); border:0; background:#e8edef; }.tc-pdf>p { margin:0; padding:8px 20px; color:#53636d; font-size:13px; }
@media(max-width:960px) { .tc-layout { grid-template-columns:minmax(0,1fr) minmax(280px,.75fr); gap:26px; }.tc-step { padding:24px; }.tc-actions { padding-inline:24px; } }
@media(max-width:700px) { .tc-hero-image { height:150px; }.tc-layout { grid-template-columns:1fr; padding-top:32px; padding-bottom:45px; }.tc-summary { position:static; }.tc-steps button { font-size:14px; } }
@media(max-width:480px) { .tc-hero-image { height:118px; }.tc-step { padding:20px; }.tc-actions { padding-inline:20px; }.tc-two { grid-template-columns:1fr; }.tc-dimensions { grid-template-columns:1fr; }.tc-options { grid-template-columns:1fr; }.tc-steps button { min-height:56px; font-size:12px; }.tc-pdf iframe { height:calc(100% - 150px); } }
