/* Shared product scenes: restrained surfaces, fixed controls, purposeful motion. */
.journey-layout { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:40px;align-items:center; }
.journey-visual { min-width:0; }
.journey-canvas { position:relative;aspect-ratio:1;isolation:isolate; }
.journey-canvas--wide { aspect-ratio:2/1; }
html:root body#top main#main-content .journey-image { position:absolute!important;inset:0;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;max-width:none!important;border:0!important;border-radius:0!important;margin:0!important;filter:none!important;transform:none!important;opacity:0!important;pointer-events:none;transition:opacity 280ms cubic-bezier(.25,1,.5,1)!important; }
html:root body#top main#main-content .journey-image.is-visible { opacity:1!important; }
.journey-caption { margin:10px 0 0!important;text-align:center;color:var(--ui-muted);font:400 13px/1.5 var(--ui-font); }
.journey-controls { display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:20px 0; }
html:root body#top main#main-content .journey :is(.journey-button,.journey-pin) { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--ui-line)!important;border-radius:6px!important;background:var(--ui-page)!important;color:var(--ui-ink)!important;font:500 14px/1.4 var(--ui-font)!important;box-shadow:none!important;filter:none!important;transform:none!important;translate:none!important;scale:none!important;transition:background-color 150ms ease,border-color 150ms ease!important;cursor:pointer; }
html:root body#top main#main-content .journey :is(.journey-button,.journey-pin):hover { background:var(--ui-soft)!important;border-color:var(--ui-muted)!important; }
html:root body#top main#main-content .journey :is(.journey-button,.journey-pin)[aria-pressed=true] { background:var(--ui-ink)!important;color:var(--ui-page)!important;border-color:var(--ui-ink)!important; }
html:root body#top main#main-content .journey :is(button,a,input):focus-visible { outline:2px solid var(--c-accent);outline-offset:4px; }
.journey-note { color:var(--ui-muted);font:400 14px/1.65 var(--ui-font); }
.journey-summary h3 { margin:0 0 16px;font:600 26px/1.25 var(--ui-font); }
.journey-summary p { margin:0 0 18px;line-height:1.7; }
.journey-summary [hidden],.journey [hidden] { display:none!important; }
.journey-fact { padding:16px 0;border-top:1px solid var(--ui-line);font-size:14px; }
.journey-fact strong { display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted); }
.journey-image-error { position:absolute;inset:20%;display:grid;place-items:center;text-align:center; }
.packing-choice--interactive .packing-choice__panel { display:block; }
.packing-choice--interactive .packing-choice__nav { flex-wrap:wrap; }
.packing-choice--interactive .journey-canvas { max-width:580px;margin:auto; }
.packing-choice--interactive .packing-choice__details { padding:0; }
.packing-choice--interactive .journey-inspect { justify-content:center;margin:8px 0; }
.warehouse-journey { padding-bottom:32px; }
.warehouse-journey .journey-layout { grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); }
.warehouse-journey .journey-controls { border-bottom:1px solid var(--ui-line);padding-bottom:16px; }
.warehouse-journey .journey-button span { color:var(--ui-muted);font-size:11px; }
.warehouse-journey .journey-button[aria-pressed=true] span { color:inherit; }
.warehouse-journey .journey-step-caption { min-height:1.5em; }
html:root body#top main#main-content .service-temperature-picker .temperature-explorer { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)!important;gap:40px!important;align-items:center; }
.cold-cutaway { min-width:0; }
.cold-cutaway .journey-controls { justify-content:center;margin-top:8px; }
.cold-cutaway .journey-button { flex:1;padding:8px!important;font-size:12px!important; }
.cold-air { position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 160ms ease; }
.cold-cutaway[data-feature=unit] .cold-air { opacity:.75; }
.cold-air path { fill:none;stroke:#4a92b2;stroke-width:2;stroke-dasharray:5 8;animation:cold-air-flow 3s linear 2; }
@keyframes cold-air-flow { to { stroke-dashoffset:52; } }
.cold-cutaway .journey-note { min-height:5em;margin:0; }
.cold-custom { display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--ui-line); }
.cold-custom label { display:grid;gap:8px;font:500 13px/1.5 var(--ui-font); }
.cold-custom input { width:160px;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:5px;background:var(--ui-page);color:var(--ui-ink);font:400 18px/1.5 var(--ui-font); }
.cold-custom-error { flex-basis:100%;margin:0;color:var(--c-accent-text,var(--c-accent));font-size:13px; }
.volume-live-diagram .volume-axis { color:var(--ui-muted);stroke:currentColor; }
.volume-live-diagram .volume-axis text { fill:currentColor;stroke:none; }
[data-measure-axis=length] [data-axis=length],[data-measure-axis=width] [data-axis=width],[data-measure-axis=height] [data-axis=height] { color:var(--c-accent-text,var(--c-accent));stroke-width:2; }
.volume-live-diagram .volume-outer { fill:none;stroke:var(--c-accent);stroke-width:1.2;stroke-dasharray:4 5;opacity:.6; }
[data-show-outer=false] .volume-outer { display:none; }
.volume-outline-control { display:flex;gap:8px;align-items:center;min-height:44px;font-size:13px; }
html:root body#top main#main-content #volume .volume-outline-control input { flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;padding:0!important;margin:0!important;accent-color:var(--c-accent); }
.volume-tip { min-height:3.4em;font-size:13px!important; }
.sea-itinerary--journey { display:grid!important;grid-template-columns:1fr!important;gap:0!important;list-style:none;padding:0!important;margin:20px 0!important; }
.sea-itinerary--journey li { position:relative;padding:0 0 22px 24px;border-left:1px solid var(--ui-line);margin-left:6px; }
.sea-itinerary--journey li:last-child { padding-bottom:0;border:0; }
.sea-itinerary--journey li::before { content:'';position:absolute;width:9px;height:9px;left:-5px;top:5px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 4px var(--ui-page); }
.sea-itinerary--journey span { display:block;font-size:12px;color:var(--ui-muted);margin-bottom:6px; }
.sea-itinerary--journey strong { display:block;font:500 17px/1.5 var(--ui-font); }
.etl-sea__vessel { display:none;pointer-events:none;filter:drop-shadow(0 2px 2px rgb(0 0 0 / .16)); }
.etl-sea__vessel.is-on { display:block; }
.label-builder { margin-top:24px;padding-top:20px;border-top:1px solid var(--ui-line); }
.cargo-label-example>.label-builder { grid-column:1/-1; }
.label-builder>summary { min-height:48px;cursor:pointer;font-weight:600; }
.label-builder-form { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px; }
.label-builder-form label { display:grid;gap:7px;font:500 13px/1.5 var(--ui-font); }
.label-builder-form input:not([type=checkbox]) { display:block;width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--ui-line);border-radius:4px;padding:10px;background:var(--ui-page);color:var(--ui-ink);font:400 16px/1.5 var(--ui-font); }
.label-builder-form input[aria-invalid=true] { border-color:var(--c-accent); }
.label-builder-form .label-flags { grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap; }
.label-flags label { display:flex;align-items:center;gap:8px;min-height:44px; }
.label-builder-actions,.label-builder-error,.label-builder-help { grid-column:1/-1; }
.label-builder-error { color:var(--c-accent-text,var(--c-accent));font-size:13px; }
.label-builder-actions { display:flex;align-items:center;flex-wrap:wrap;gap:16px; }
.label-builder-help { margin:0;color:var(--ui-muted);font-size:12px;line-height:1.6; }
#shipping-label-print { display:none; }
@media(max-width:1000px) {
 .journey-layout,.warehouse-journey .journey-layout { grid-template-columns:1fr;gap:24px; }
 .packing-choice--interactive .journey-canvas { max-width:470px; }
 html:root body#top main#main-content .service-temperature-picker .temperature-explorer { grid-template-columns:1fr!important;gap:24px!important; }
 .cold-cutaway .journey-canvas { max-width:850px;margin:auto; }
}
@media(max-width:600px) {
 .journey-layout { gap:20px; }
 .packing-choice--interactive .journey-canvas { max-width:340px; }
 .journey-controls { gap:6px; }
 html:root body#top main#main-content .journey .journey-button { font-size:12px!important;padding:9px 11px;min-height:48px; }
 .warehouse-journey .journey-controls { display:grid;grid-template-columns:1fr 1fr; }
 .label-builder-form { grid-template-columns:1fr; }
 .label-builder-actions button { width:100%; }
 .cold-custom input { width:100%; }
 .cold-custom label { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 html:root body#top main#main-content .journey :is(.journey-image,.journey-button,.journey-pin),.cold-air { transition:none!important; }
 .cold-air path { animation:none!important; }
}
@media print {
 body:has(>#shipping-label-print.print-ready)>:not(#shipping-label-print) { display:none!important; }
 body>#shipping-label-print.print-ready { display:block!important;color:#000;background:#fff; }
 #shipping-label-print .print-cargo-label { break-inside:avoid;box-sizing:border-box;border:2px solid #000;margin:0 0 10mm;padding:7mm;width:180mm;max-width:100%;font:12pt/1.4 Arial,sans-serif;color:#000;overflow-wrap:anywhere; }
 .print-cargo-label h2 { margin:0 0 4mm;font-size:24pt; }
 .print-cargo-label p { margin:2mm 0;padding:2mm 0;border-top:1px solid #aaa; }
 .print-cargo-label small { display:block;font-size:9pt;text-transform:uppercase; }
 .print-cargo-label .print-place { display:flex;justify-content:space-between;font-size:20pt;font-weight:bold; }
}
