/* Practical service choices, using the public ETL typography and theme tokens. */
.service-decision { color:var(--ui-ink); font-family:var(--ui-font); }
.service-decision :where(h2,h3,p,figure,dl,dd) { margin:0; }
.service-decision__eyebrow { display:block; margin-bottom:16px; color:var(--ui-muted); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.service-decision__head { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:end; gap:24px 64px; margin-bottom:32px; }
.service-decision__head h2 { max-width:22ch; font:400 clamp(26px,2.6vw,40px)/1.16 var(--ui-font-display); text-wrap:balance; }
html:root body#top:not(.admin-page):not(.cabinet-page) main#main-content .service-decision .service-decision__head h2 { font-family:var(--ui-font-display)!important; font-size:clamp(26px,2.6vw,40px)!important; font-weight:400!important; line-height:1.16!important; letter-spacing:var(--ui-display-tracking)!important; }
.service-decision__head p { max-width:52ch; color:var(--ui-muted); font:400 16px/1.65 var(--ui-font); }
html:root body#top .service-decision h3 { font:600 24px/1.25 var(--ui-font); letter-spacing:-.02em; color:var(--ui-ink); }
html:root body#top .service-decision p { color:var(--ui-muted); font:400 16px/1.65 var(--ui-font); }
.service-decision a:focus-visible,.service-decision button:focus-visible { outline:2px solid var(--ui-ink); outline-offset:5px; }
.service-decision__link { display:inline-flex; align-items:center; min-height:48px; gap:16px; color:var(--ui-ink); font-size:15px; font-weight:500; text-decoration:underline; text-underline-offset:5px; }
.service-decision__button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 24px; gap:20px; border:1px solid var(--c-accent); border-radius:var(--r-sm); background:var(--c-accent); color:#fff; font-size:15px; line-height:1.5; font-weight:600; text-decoration:none; }
.service-decision__button:hover { background:var(--c-accent-hover); border-color:var(--c-accent-hover); color:#fff; }
/* One vehicle, four loading/body states. No card grid. */
.truck-explorer { padding:8px 0 48px;margin-bottom:48px;border-bottom:1px solid var(--ui-line);scroll-margin-top:104px; }
.truck-explorer .service-decision__head { margin-bottom:24px; }
.truck-explorer__layout { display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,4vw,64px);align-items:center; }
.truck-explorer__scene { min-width:0; }
.truck-explorer__canvas { position:relative;width:100%;max-width:900px;aspect-ratio:2/1;margin:0 auto;isolation:isolate; }
.truck-explorer__layers { position:absolute;inset:0;pointer-events:none; }
html:root body#top main#main-content .truck-explorer .truck-explorer__image { position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;object-fit:contain!important;opacity:0!important;filter:none!important;transform:none!important;pointer-events:none;user-select:none;transition:opacity 240ms cubic-bezier(.25,1,.5,1); }
html:root body#top main#main-content .truck-explorer .truck-explorer__image.is-active { opacity:1!important; }
.truck-explorer__hotspot { position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;min-width:64px;min-height:44px;width:max-content;height:44px;padding:0 13px;border-radius:6px;cursor:pointer; }
/* Pin coordinates must survive the site's general button hover/press transforms. */
html:root body#top main#main-content .truck-explorer .truck-explorer__hotspot {
 transform:translate(-50%,-50%)!important;translate:none!important;scale:none!important;rotate:none!important;
 border:1px solid #64717b!important;background:#20292f!important;color:#fff!important;
 box-shadow:0 3px 10px rgb(0 0 0 / .18)!important;filter:none!important;
 transition:background-color 160ms cubic-bezier(.25,1,.5,1),border-color 160ms ease!important;
}
html:root body#top main#main-content .truck-explorer .truck-explorer__hotspot:hover { background:#34424c!important;border-color:#aab4bc!important; }
html:root body#top main#main-content .truck-explorer .truck-explorer__hotspot[aria-pressed=true] { background:#b51f28!important;border-color:#b51f28!important; }
html:root body#top main#main-content .truck-explorer .truck-explorer__hotspot[aria-pressed=true]:hover { background:#c5232c!important;border-color:#c5232c!important; }
html:root body#top main#main-content .truck-explorer .truck-explorer__hotspot:focus-visible { outline:2px solid var(--ui-ink);outline-offset:4px; }
.truck-explorer__hotspot::after { content:'';position:absolute;left:50%;top:100%;height:18px;border-left:1px solid #7c858b;pointer-events:none; }
.truck-explorer__hotspot[aria-pressed=true]::after { border-color:#b51f28; }
.truck-explorer__hotspot--whole { left:12%;top:20%; }
.truck-explorer__hotspot--part { left:34%;top:47%; }
.truck-explorer__hotspot--ref { left:64%;top:14%; }
.truck-explorer__pin { flex:none;width:8px;height:8px;border:1px solid #d4dce1;border-radius:50%;background:transparent; }
.truck-explorer__hotspot[aria-pressed=true] .truck-explorer__pin { background:#fff;border-color:#fff; }
.truck-explorer__hotspot-label { display:inline-flex;align-items:center;gap:5px;color:inherit;font:600 12px/1.3 var(--ui-font);white-space:nowrap;pointer-events:none; }
.truck-explorer__hotspot-label svg { width:14px;height:14px; }
.truck-explorer__controls { display:flex;align-items:stretch;justify-content:space-between;gap:20px;width:100%;max-width:900px;margin:12px auto 0;border-bottom:1px solid var(--ui-line); }
.truck-explorer__formats { display:flex;align-items:stretch;gap:24px;min-width:0;margin:0;padding:0;border:0; }
.truck-explorer__formats legend { position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.truck-explorer__format,.truck-explorer__refrigeration { position:relative;display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 0;color:var(--ui-muted);font:500 14px/1.4 var(--ui-font);cursor:pointer; }
.truck-explorer__format { border-bottom:2px solid transparent;margin-bottom:-1px; }
.truck-explorer__format:has(input:checked) { color:var(--ui-ink);border-bottom-color:var(--c-accent); }
.truck-explorer__format-code { color:inherit;font:400 13px/1.4 var(--ui-font-display); }
.truck-explorer__format input,.truck-explorer__refrigeration input { position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);border:0; }
.truck-explorer__format:has(input:focus-visible),.truck-explorer__refrigeration:has(input:focus-visible) { outline:2px solid var(--ui-ink);outline-offset:5px;border-radius:2px; }
.truck-explorer__refrigeration { flex:none;color:var(--ui-ink); }
.truck-explorer__cold-icon,.truck-explorer__cold-icon svg { display:block;width:18px;height:18px; }
.truck-explorer__switch { position:relative;width:28px;height:17px;border:1px solid var(--ui-line);border-radius:var(--r-pill);background:var(--ui-soft); }
.truck-explorer__switch::after { content:'';position:absolute;top:3px;left:3px;width:9px;height:9px;border-radius:50%;background:var(--ui-muted);transition:transform 180ms cubic-bezier(.25,1,.5,1),background-color 180ms ease; }
.truck-explorer__refrigeration:has(input:checked) .truck-explorer__switch { border-color:var(--c-accent);background:var(--c-accent); }
.truck-explorer__refrigeration:has(input:checked) .truck-explorer__switch::after { background:white;transform:translateX(11px); }
.truck-explorer__summary { min-width:0;padding:16px 0; }
.truck-explorer__summary .service-decision__eyebrow { margin-bottom:12px;font-size:11px;letter-spacing:.06em; }
html:root body#top main#main-content .truck-explorer .truck-explorer__title { margin:0 0 16px;font:600 28px/1.2 var(--ui-font)!important;letter-spacing:-.025em!important; }
html:root body#top main#main-content .truck-explorer .truck-explorer__fact { margin-top:20px;padding-left:16px;border-left:2px solid var(--ui-line);font-size:14px!important;line-height:1.6!important; }
.truck-explorer__actions { display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:24px; }
.truck-explorer__actions .service-decision__button { width:100%;box-sizing:border-box; }
.truck-explorer__actions .service-decision__link { justify-content:space-between;width:100%; }
html:root body#top main#main-content .truck-explorer .truck-explorer__status { margin-top:16px;min-height:4.7em;font-size:12px!important;line-height:1.55!important; }
.truck-explorer__image-error { position:absolute;inset:20% 8%;display:flex;align-items:center;justify-content:center;text-align:center; }
.truck-explorer__image-error[hidden] { display:none!important; }
@media(max-width:1040px) {
 .truck-explorer__layout { grid-template-columns:1fr;gap:24px; }
 .truck-explorer__summary { display:grid;grid-template-columns:minmax(0,1fr) 260px;column-gap:32px;padding:0; }
 .truck-explorer__summary .service-decision__eyebrow,.truck-explorer__summary .truck-explorer__title,.truck-explorer__summary [data-choice-description],.truck-explorer__summary .truck-explorer__fact { grid-column:1; }
 .truck-explorer__actions { grid-column:2;grid-row:1 / span 4;justify-content:center;margin:0; }
 html:root body#top main#main-content .truck-explorer .truck-explorer__status { grid-column:1 / -1;min-height:0; }
}
@media(max-width:600px) {
 .truck-explorer { padding-bottom:32px;margin-bottom:32px; }
 .truck-explorer .service-decision__head { margin-bottom:24px;gap:12px; }
 .truck-explorer__controls { display:grid;grid-template-columns:1fr;gap:0;margin-top:48px; }
 .truck-explorer__formats { justify-content:space-between;gap:16px; }
 .truck-explorer__format { gap:7px;min-height:48px;font-size:12px; }
 .truck-explorer__format-code { font-size:12px; }
 .truck-explorer__refrigeration { min-height:44px;font-size:13px; }
 .truck-explorer__switch { margin-left:auto; }
 .truck-explorer__hotspot { gap:6px;padding:0 9px; }
 .truck-explorer__hotspot-label { font-size:11px; }
 .truck-explorer__hotspot::after { height:12px; }
 .truck-explorer__hotspot--whole { left:18%;top:14%; }
 .truck-explorer__hotspot--part { left:40%;top:calc(100% + 16px); }
 .truck-explorer__hotspot--part::after { display:none; }
 .truck-explorer__hotspot--ref { left:70%;top:14%; }
 .truck-explorer__summary { display:block; }
 html:root body#top main#main-content .truck-explorer .truck-explorer__title { font-size:24px!important;margin-bottom:12px; }
 .truck-explorer__actions { margin-top:20px;gap:4px; }
 html:root body#top main#main-content .truck-explorer .truck-explorer__status { min-height:0; }
}
@media(prefers-reduced-motion:reduce) {
 html:root body#top main#main-content .truck-explorer :is(.truck-explorer__image,.truck-explorer__hotspot),.truck-explorer__switch::after { transition:none!important; }
}

.packing-choice__nav { display:flex; gap:8px; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--ui-line); }
.packing-choice__nav a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid var(--ui-line); border-radius:var(--r-sm); color:var(--ui-ink); background:var(--ui-page); text-decoration:none; font-size:15px; font-weight:500; text-align:center; }
.packing-choice__nav a[aria-selected="true"] { background:var(--ui-ink); border-color:var(--ui-ink); color:var(--ui-page); }
.packing-choice__panel { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:32px 48px; align-items:center; scroll-margin-top:160px; }
.packing-choice__panel[hidden] { display:none; }
.packing-choice:not([data-ready]) .packing-choice__panel + .packing-choice__panel { margin-top:48px; }
.packing-choice__figure { min-width:0; border-radius:var(--r-md); overflow:hidden; background:var(--ui-soft); }
.packing-choice__figure img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.packing-choice__details { min-width:0; }
.packing-choice__details h3 { margin-bottom:16px!important; }
.packing-choice__details dl { margin:24px 0; }
.packing-choice__details dl > div { padding:16px 0; border-top:1px solid var(--ui-line); }
.packing-choice__details dt { margin-bottom:4px; color:var(--ui-muted); font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.packing-choice__details dd { color:var(--ui-ink); font-size:15px; line-height:1.6; }
.packing-choice__note { margin-top:24px!important; max-width:80ch; font-size:13px!important; }
.packing-choice__more { margin-top:32px; border-top:1px solid var(--ui-line); border-bottom:1px solid var(--ui-line); }
.packing-choice__more > summary { display:flex; justify-content:space-between; align-items:center; min-height:60px; gap:24px; color:var(--ui-ink); font-size:16px; font-weight:600; cursor:pointer; list-style:none; }
.packing-choice__more > summary::-webkit-details-marker { display:none; }
.packing-choice__more > summary::after { content:'+'; font-size:24px; font-weight:400; }
.packing-choice__more[open] > summary::after { content:'−'; }
.packing-choice__factors { display:grid; grid-template-columns:1fr 1fr; gap:24px 40px; padding-bottom:24px; }
.packing-choice__factors strong { display:block; margin-bottom:8px; font-size:15px; color:var(--ui-ink); }
.packing-choice__factors p { font-size:14px!important; }
@media(max-width:900px) {
 .service-decision__head { grid-template-columns:1fr; gap:16px; }
 .service-decision__head h2 { max-width:24ch; }
 .packing-choice__panel { grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
}
@media(max-width:600px) {
 .service-decision__head { margin-bottom:24px; }
 .service-decision__head h2 { font-size:26px; }
 .service-decision__head p { font-size:15px!important; }
 .packing-choice__nav { gap:8px; }
 .packing-choice__nav a { flex:1; padding:10px 8px; font-size:12px; line-height:1.45; }
 .packing-choice__panel { grid-template-columns:1fr; gap:24px; }
 .packing-choice__details .service-decision__button { width:100%; box-sizing:border-box; }
 .packing-choice__factors { grid-template-columns:1fr; gap:20px; }
}
