.pd-rest,.pd-journey{padding:26px 0}.pd-rest-head{max-width:850px;margin-bottom:16px}.pd-rest-head p,.pd-journey-lead{color:var(--muted);font-size:.98rem;line-height:1.6;margin:0}.pd-rest-head h2{font-size:clamp(1.6rem,3vw,2.1rem)}.pd-rest-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.pd-rest-controls label,.pd-journey-fields label{display:flex;flex-direction:column;gap:6px;font-size:.91rem;font-weight:740;color:var(--navy)}.pd-rest select,.pd-journey select,.pd-journey input{font:inherit;min-height:44px;padding:10px 12px;background:white;color:var(--text);border-radius:10px;border:1px solid #a0afb8;max-width:100%;width:100%}.pd-rest-controls label{flex:1 1 185px;max-width:290px}.pd-rest-count{font-size:.89rem;font-weight:800;margin:0 0 10px;color:var(--navy)}.pd-rest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pd-rest-card{min-width:0;display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--line);background:#fff;padding:17px 18px}.pd-rest-card[hidden],.pd-journey [hidden]{display:none!important}.pd-rest-heading{display:flex;align-items:start;justify-content:space-between;gap:9px}.pd-rest-heading h3{margin:0;font-size:1.07rem}.pd-rest-heading span{font-weight:850;color:#00563a;padding:3px 8px;border-radius:7px;background:#e5f4ed;font-size:.78rem}.pd-rest-card p{font-size:.92rem;color:#4c606d;margin:8px 0 0}.pd-rest-card p strong{color:#213d4e}.pd-rest-route{font-weight:670}.pd-rest-services{margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;list-style:none;gap:6px}.pd-rest-services li{background:#eef4f6;color:#234253;border-radius:999px;font-size:.82rem;font-weight:720;padding:5px 10px}.pd-rest-card p.pd-rest-warning{color:#79490c;font-weight:720}.pd-rest-foot,.pd-journey-foot{font-size:.89rem;line-height:1.65;color:var(--muted);margin:16px 0 0}.pd-rest-foot a,.pd-journey-foot a{color:#006b4b;font-weight:800;text-underline-offset:3px}.pd-rest-empty{border:1px solid var(--line);background:white;border-radius:12px;padding:16px}.pd-journey-details{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.pd-journey-details>summary{list-style:none;position:relative;min-height:56px;cursor:pointer;padding:17px 48px 17px 20px;color:var(--navy);font-size:1.18rem;font-weight:850}.pd-journey-details>summary::-webkit-details-marker{display:none}.pd-journey-details>summary::after{content:'+';position:absolute;right:20px;top:15px;font-size:1.38rem;font-weight:700}.pd-journey-details[open]>summary::after{content:'−'}.pd-journey-content{padding:0 20px 22px}.pd-journey-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px}.pd-journey-result{margin-top:17px;padding:14px 16px;border-left:4px solid var(--green);background:#ebf5f0;border-radius:0 11px 11px 0;font-size:.96rem;line-height:1.55;color:#193c2d}.pd-journey-result p{margin:5px 0 0}.pd-journey-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.pd-journey-action,.pd-journey-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid #0b7952;border-radius:10px;background:#0b7952;color:#fff!important;font:inherit;font-size:.91rem;font-weight:800;text-decoration:none;cursor:pointer}.pd-journey-actions button,.pd-journey-action.secondary{background:#fff;color:#07563c!important;border-color:#9ac0ac}.pd-journey-actions button:hover,.pd-journey-action.secondary:hover{background:#e6f3ed}.pd-journey-action:hover{background:#075d40}.pd-journey-feedback{font-size:.88rem;font-weight:750;color:#315a45;min-height:1.25em;margin:10px 0 0}.pd-rest select:focus-visible,.pd-journey :is(input,select,button,a,summary):focus-visible{outline:3px solid #005eaa;outline-offset:3px}@media(max-width:990px){.pd-rest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-journey-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:610px){.pd-rest-grid,.pd-journey-fields{grid-template-columns:1fr}.pd-rest-controls label{max-width:100%;flex-basis:100%}.pd-rest-card{padding:15px}.pd-journey-content{padding:0 15px 18px}.pd-journey-details>summary{font-size:1.07rem}.pd-journey-action,.pd-journey-actions button{flex:1 1 135px}.pd-rest,.pd-journey{padding:20px 0}}

@media print{body.pd-print-journey>.site-header,body.pd-print-journey>.site-footer{display:none!important}body.pd-print-journey main>*:not(.pd-journey){display:none!important}body.pd-print-journey .pd-journey{padding:0!important}body.pd-print-journey .pd-journey-actions,body.pd-print-journey .pd-journey-fields,body.pd-print-journey [data-journey-feedback]{display:none!important}body.pd-print-journey .pd-journey-details{border:0!important;box-shadow:none!important}body.pd-print-journey .pd-journey-content{padding:0!important}body.pd-print-journey .pd-journey-details>summary{padding-left:0;font-size:1.3rem}}

.pd-journey-library{margin:17px 0 0;padding:16px;border:1px solid #d3e4dc;background:#f8fcfa;border-radius:14px}
.pd-journey-library h3{font-size:1.08rem;margin:0 0 6px;color:var(--navy)}
.pd-journey-library p{margin:0 0 11px;line-height:1.5;color:#3e5b50;font-size:.9rem}
.pd-journey-library .pd-preset-label{display:flex;flex-direction:column;gap:5px;max-width:370px;font-size:.88rem;color:var(--navy);font-weight:800}
.pd-journey-library .pd-preset-label input{width:100%;min-height:44px}
.pd-journey-library .pd-preset-status{margin:12px 0 6px;font-weight:750}
.pd-preset-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.pd-preset-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(135px,.9fr) auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid #d6e6dd;border-radius:10px;background:#fff;min-width:0}
.pd-preset-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.pd-preset-info strong{font-size:.92rem;color:var(--navy);overflow-wrap:anywhere}
.pd-preset-info small{font-size:.79rem;color:#4c606d}
.pd-journey-library .pd-preset-rename{min-height:44px;width:100%;font-size:.88rem}
.pd-preset-actions{display:flex;align-items:center;gap:5px}
.pd-preset-actions button{font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;min-height:44px;min-width:44px;border:1px solid #a8c7b9;border-radius:9px;background:#fff;color:#07563c}
.pd-preset-actions button[data-preset-action="open"]{padding:0 12px;background:#0b7952;color:#fff;border-color:#0b7952}
.pd-preset-actions button:hover:not(:disabled){background:#e6f3ed;color:#07563c}
.pd-preset-actions button:disabled{opacity:1;color:#506a5f;background:#eef3ef;cursor:default}
@media(max-width:840px){.pd-preset-row{grid-template-columns:1fr auto}.pd-preset-rename{grid-column:1 / -1;grid-row:2}.pd-preset-actions{grid-column:2;grid-row:1}}
@media(max-width:480px){.pd-preset-row{grid-template-columns:1fr}.pd-preset-actions{grid-column:1;grid-row:3;justify-content:space-between}.pd-preset-rename{grid-row:2}.pd-journey-library{padding:12px}}
@media print{body.pd-print-journey .pd-journey-library{display:none!important}}

/* No-JS arbitrary A/B Google Maps directions handoff */
.pd-any-route{padding:0 0 28px}
.pd-any-route-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);padding:20px}
.pd-any-route-card h2{color:var(--navy);font-size:clamp(1.18rem,2.4vw,1.5rem);margin:0 0 8px}
.pd-any-route-lead,.pd-any-route-note{color:#334b59;font-size:.92rem;line-height:1.6;margin:0}
.pd-any-route-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(165px,auto);gap:12px;align-items:end;margin-top:15px}
.pd-any-route-fields label{display:flex;flex-direction:column;gap:6px;font-weight:750;color:var(--navy);font-size:.92rem;min-width:0}
.pd-any-route-fields input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #879ca9;border-radius:10px;background:#fff;color:var(--text);font:inherit}
.pd-any-route-fields button{min-height:44px;border:1px solid #0b7952;background:#0b7952;color:#fff;border-radius:10px;padding:10px 15px;font:inherit;font-size:.93rem;font-weight:800;cursor:pointer}
.pd-any-route-fields button:hover{background:#075d40}
.pd-any-route :is(input,button):focus-visible{outline:3px solid #005eaa;outline-offset:3px}
.pd-any-route-note{margin-top:13px;font-size:.88rem}
@media(max-width:820px){.pd-any-route-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-any-route-fields button{grid-column:1 / -1}}
@media(max-width:520px){.pd-any-route-fields{grid-template-columns:1fr}.pd-any-route-fields button{grid-column:auto}.pd-any-route-card{padding:15px}}
@media print{body.pd-print-journey .pd-any-route{display:none!important}}
