/* Benza KZ route planner pilot */
.trip-page{padding-top:36px;padding-bottom:95px}.trip-hero{max-width:950px;margin-bottom:22px}.trip-hero h1{font-size:clamp(2.5rem,5vw,4.1rem);letter-spacing:-.045em;margin:12px 0}.trip-hero p{font-size:1.05rem;color:var(--muted);line-height:1.7}
.trip-banner{background:#eff5e1;color:#304a39;border:1px solid #d5e2bc;border-radius:12px;padding:17px 22px;line-height:1.65;margin-bottom:20px;font-size:.9rem}
.trip-layout{display:grid;grid-template-columns:minmax(270px,380px) minmax(0,1fr);gap:22px;align-items:start}.trip-form{background:#fff;border:1px solid var(--line);padding:24px;border-radius:13px}.trip-form h2{font-size:1.22rem;margin:0 0 14px}.trip-form-group{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:15px}
.trip-field{display:flex;flex-direction:column;gap:6px;font-size:.81rem;font-weight:650;color:#273c2e}.trip-field.full{grid-column:1/-1}.trip-field input,.trip-field select{height:43px;border:1px solid #c5d1c6;border-radius:7px;padding:8px 10px;font:inherit;font-size:.93rem;color:#1b3025;background:white;width:100%;min-width:0}
.trip-field input:focus,.trip-field select:focus,.trip-button:focus-visible,.trip-preset:focus-visible{outline:3px solid #9bc84a;outline-offset:2px}
.trip-presets{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 18px}.trip-preset{border:1px solid #c6d3bf;border-radius:7px;background:#f7f9f4;color:#23442f;padding:8px 10px;cursor:pointer;font-weight:600;font-size:.78rem}
.trip-divider{height:1px;background:#e0e7dc;margin:20px 0}.trip-help,.route-muted{font-size:.79rem;line-height:1.65;color:var(--muted)}.trip-help{margin:9px 0 12px}.trip-button{background:#253b30;color:white;font:inherit;font-weight:750;border:none;border-radius:8px;padding:14px 18px;cursor:pointer;min-height:48px;width:100%}.trip-button:disabled{opacity:.6;cursor:wait}
.trip-map-wrap{min-width:0}.trip-map{height:525px;background:#e9f0e9;border:1px solid #d3dfd4;border-radius:13px;overflow:hidden;position:relative;z-index:0}.trip-map-caption{font-size:.8rem;color:var(--muted);line-height:1.65;margin-top:10px}
.trip-status{padding:15px 18px;background:#e8f3dc;color:#244b31;border-radius:9px;margin:0 0 18px;font-size:.91rem;line-height:1.65}.trip-status[data-error="true"]{background:#fff1dd;color:#75471f}.trip-status[hidden],.trip-output[hidden],.trip-map-wrap[hidden]{display:none!important}
.trip-output{margin-top:30px;border-top:1px solid var(--line);padding-top:26px}.trip-output h2{font-size:1.55rem;margin-bottom:12px}.trip-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.trip-stat{border:1px solid #dce5d9;background:#fff;border-radius:10px;padding:17px}.trip-stat small{font-size:.75rem;color:var(--muted);line-height:1.5;display:block;min-height:35px}.trip-stat strong{display:block;font-size:1.37rem;letter-spacing:-.02em;margin-top:9px;color:#274c36}.trip-stop-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.trip-panel{border:1px solid #e0e7df;border-radius:12px;background:#fff;padding:22px;min-width:0}.trip-panel h2{font-size:1.28rem}.trip-panel h3{font-size:1.03rem;margin:0 0 7px}.route-stop{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid #e7ece5}.route-stop-number{font-size:1.14rem;font-weight:800;color:#5c966b}.route-stop p{font-size:.85rem;line-height:1.6;margin:5px 0}.route-stop a,.route-other-link{color:#1d6541;font-size:.87rem;font-weight:700;display:block;margin-top:9px}.route-other-link{padding:9px 0;border-bottom:1px solid #e7ece5;font-weight:500}.route-warning{padding:13px 15px;background:#fff4df;border-radius:7px;color:#805223;font-size:.9rem;line-height:1.6}.route-info{padding:13px 15px;background:#eff7e8;border-radius:7px;color:#2b6541;font-size:.88rem;line-height:1.6}
.trip-method{margin-top:34px;max-width:1000px;padding-top:20px;border-top:1px solid var(--line)}.trip-method h2{font-size:1.25rem;margin:15px 0}.trip-method p{font-size:.91rem;color:var(--muted);line-height:1.75;margin-bottom:10px}
@media(max-width:1050px){.trip-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.trip-stop-section{grid-template-columns:1fr}}
@media(max-width:850px){.trip-layout{grid-template-columns:1fr}.trip-map{height:400px}.trip-form{padding:20px}.trip-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.trip-page{padding-top:20px}.trip-form{padding:15px}.trip-form-group{gap:10px}.trip-stats{gap:8px}.trip-stat{padding:12px}.trip-stat strong{font-size:1.13rem}.trip-map{height:330px}.trip-panel{padding:15px}}

/* Stage 6: on-demand, explicitly non-guaranteed road detour assessments. */
.route-check-button{display:block;border:1px solid #95b19c;border-radius:7px;background:#f1f7ed;color:#244e32;padding:9px 12px;font:inherit;font-size:.81rem;font-weight:700;cursor:pointer;margin:8px 0;width:fit-content;max-width:100%;text-align:left}
.route-check-button:disabled{opacity:.65;cursor:wait}.route-check-button:focus-visible{outline:3px solid #a3cb77;outline-offset:3px}
.route-check-result{font-size:.81rem;line-height:1.55;color:#365441;margin:5px 0 11px;overflow-wrap:anywhere}.route-check-result:empty{display:none}
.route-check-result strong{color:#174c2e}.route-check-result p{margin:4px 0}.route-other-item{padding:5px 0 10px;border-bottom:1px solid #e1e7de}.route-other-link{border:0;padding:7px 0;margin:0}
.route-comparisons{margin-top:20px}.route-comparison-item{padding:12px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;border-top:1px solid #e4ece4;align-items:center}
.route-comparison-item a{font-weight:650;color:#225a35;overflow-wrap:anywhere}.route-comparison-item strong{font-size:.9rem;color:#1f4f2c;white-space:normal}.route-comparison-item small{grid-column:1/-1;color:#5d6e60}
.route-comparisons[hidden]{display:none!important}@media(max-width:520px){.route-comparison-item{grid-template-columns:1fr}.route-comparison-item small{grid-column:1}}
