.gsd-route-builder{--gsd-ink:#23352e;--gsd-muted:#68766f;--gsd-cream:#f5f3ec;--gsd-line:#e4e7e1;--gsd-green:#285c48;--gsd-clay:#bc5b3e;color:var(--gsd-ink);font-family:inherit;max-width:1440px;margin:0 auto;padding:clamp(18px,3.5vw,52px);box-sizing:border-box}.gsd-route-builder *{box-sizing:border-box}.gsd-rb-hero{max-width:760px;margin:0 auto 32px;text-align:center}.gsd-rb-kicker{display:block;color:var(--gsd-green);font-size:11px;letter-spacing:.14em;font-weight:750}.gsd-rb-hero h2{margin:10px 0 8px;color:var(--gsd-ink);font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-.035em}.gsd-rb-hero p{margin:0;color:var(--gsd-muted);font-size:16px;line-height:1.55}.gsd-rb-layout{display:grid;grid-template-columns:minmax(285px,.78fr) minmax(0,1.55fr);gap:20px;align-items:start}.gsd-rb-panel{background:#fff;border:1px solid var(--gsd-line);border-radius:18px;box-shadow:0 8px 30px rgba(35,53,46,.06);overflow:hidden}.gsd-rb-controls{padding:clamp(20px,2.5vw,32px)}.gsd-rb-section-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:22px}.gsd-rb-step{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#eaf1ec;color:var(--gsd-green);font-weight:750}.gsd-rb-section-heading h3,.gsd-rb-itinerary-head h3,.gsd-rb-candidates-head h3{margin:0;color:var(--gsd-ink);font-size:19px;line-height:1.25}.gsd-rb-section-heading p,.gsd-rb-candidates-head p{margin:4px 0 0;color:var(--gsd-muted);font-size:13px;line-height:1.45}.gsd-rb-place-slot label,.gsd-rb-trip-options>label:first-child{display:block;margin:0 0 7px;color:#4c5d54;font-size:12px;font-weight:700}.gsd-rb-place-input{position:relative;z-index:2}.gsd-rb-place-input gmp-place-autocomplete{display:block;width:100%;--gmp-place-autocomplete-input-background-color:#fff;--gmp-place-autocomplete-input-border-color:#d8ded8;--gmp-place-autocomplete-input-border-radius:10px;--gmp-place-autocomplete-input-font-family:inherit;--gmp-place-autocomplete-input-font-size:14px;--gmp-place-autocomplete-input-padding:13px 14px;--gmp-place-autocomplete-input-placeholder-color:#88958e;--gmp-place-autocomplete-input-color:#23352e}.gsd-rb-route-link{height:26px;display:flex;align-items:center;padding-left:15px}.gsd-rb-route-link span{height:24px;border-left:1px dashed #a8b6ac}.gsd-rb-trip-options{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px 12px;padding:18px 0 24px}.gsd-rb-trip-options>label:first-child{grid-column:1/-1;margin:0}.gsd-rb-trip-options select{min-height:43px;border:1px solid #d8ded8;border-radius:9px;padding:0 12px;background:#fff;color:var(--gsd-ink);font:inherit;font-size:14px}.gsd-rb-check{display:flex;align-items:center;gap:7px;color:var(--gsd-muted);font-size:12px;line-height:1.35}.gsd-rb-check input,.gsd-rb-type input{accent-color:var(--gsd-green)}.gsd-rb-second{margin:0 0 14px}.gsd-rb-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.gsd-rb-type{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid var(--gsd-line);border-radius:999px;color:#46574f;font-size:12px;cursor:pointer}.gsd-rb-type:has(input:checked){border-color:#a9c0b0;background:#eff5f0;color:#244e3d}.gsd-rb-type input{margin:0}.gsd-rb-primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:0 17px;border:0;border-radius:10px;background:var(--gsd-green);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease}.gsd-rb-primary:hover{background:#1e4938;transform:translateY(-1px)}.gsd-rb-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.gsd-rb-status{min-height:18px;margin:10px 0 0;color:var(--gsd-muted);font-size:12px;line-height:1.45}.gsd-rb-status.is-error{color:#a83f34}.gsd-rb-results{min-width:0;padding-bottom:22px}.gsd-rb-map-wrap{position:relative;background:#e8ece7}.gsd-rb-map{height:clamp(300px,38vw,490px);width:100%}.gsd-rb-map-overlay{position:absolute;inset:auto 16px 16px;max-width:380px;padding:12px 15px;border:1px solid rgba(35,53,46,.1);border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 4px 18px rgba(35,53,46,.12);color:var(--gsd-ink);font-size:13px;line-height:1.4}.gsd-rb-map-overlay[hidden]{display:none}.gsd-rb-summary{margin:18px 22px 0;padding:17px 18px;border-radius:12px;background:var(--gsd-cream)}.gsd-rb-summary[hidden]{display:none}.gsd-rb-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gsd-rb-metrics>div{display:grid;gap:5px}.gsd-rb-metrics span{color:var(--gsd-muted);font-size:9px;font-weight:750;letter-spacing:.1em}.gsd-rb-metrics strong{color:var(--gsd-ink);font-size:19px;line-height:1.1}.gsd-rb-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;padding-top:13px;border-top:1px solid #e1e2d9}.gsd-rb-endpoints span{display:grid;gap:4px;color:#536258;font-size:12px;line-height:1.4}.gsd-rb-endpoints b{color:var(--gsd-green);font-size:9px;letter-spacing:.12em}.gsd-rb-directions{margin-top:13px;padding-top:10px;border-top:1px solid #e1e2d9}.gsd-rb-directions>summary{color:var(--gsd-green);font-size:12px;font-weight:700;cursor:pointer}.gsd-rb-leg{margin-top:8px;padding:9px 10px;border-radius:8px;background:#fff}.gsd-rb-leg>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.gsd-rb-leg>summary::-webkit-details-marker{display:none}.gsd-rb-leg>summary span{display:flex;gap:6px;align-items:center;font-size:11px;line-height:1.35}.gsd-rb-leg>summary i{color:#89958e;font-style:normal}.gsd-rb-leg>summary small{flex-shrink:0;color:var(--gsd-muted);font-size:10px}.gsd-rb-leg ol{display:grid;gap:7px;margin:11px 0 0;padding:10px 0 0 17px;border-top:1px solid var(--gsd-line)}.gsd-rb-leg li{padding-left:3px;color:#48584f;font-size:11px;line-height:1.4}.gsd-rb-leg li small{display:block;color:var(--gsd-muted);font-size:10px}.gsd-rb-itinerary-head,.gsd-rb-candidates-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:22px 22px 12px}.gsd-rb-itinerary-head h3{margin-top:4px}.gsd-rb-text-button{border:0;background:none;color:var(--gsd-clay);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.gsd-rb-text-button[hidden]{display:none}.gsd-rb-stops,.gsd-rb-candidates{display:grid;gap:9px;padding:0 22px}.gsd-rb-empty{margin:0;padding:16px;border:1px dashed #dce2dc;border-radius:10px;color:var(--gsd-muted);font-size:12px;line-height:1.5}.gsd-rb-stop{display:flex;gap:11px;padding:12px;border:1px solid var(--gsd-line);border-radius:11px}.gsd-rb-stop-number{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#edf2ed;color:var(--gsd-green);font-size:11px;font-weight:750}.gsd-rb-stop>div{min-width:0;display:grid;gap:4px}.gsd-rb-stop a{color:var(--gsd-ink);text-decoration:none}.gsd-rb-stop a:hover,.gsd-rb-card h4 a:hover{text-decoration:underline}.gsd-rb-stop small{overflow-wrap:anywhere;color:var(--gsd-muted);font-size:11px;line-height:1.4}.gsd-rb-stop-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:3px}.gsd-rb-stop-actions button{padding:0;border:0;background:none;color:var(--gsd-green);font:inherit;font-size:10px;cursor:pointer}.gsd-rb-stop-actions button:disabled{color:#aeb8b1;cursor:default}.gsd-rb-candidates-head{padding-top:26px}.gsd-rb-candidates-head p{max-width:420px}.gsd-rb-search input{width:min(190px,32vw);height:39px;padding:0 11px;border:1px solid var(--gsd-line);border-radius:9px;font:inherit;font-size:12px}.gsd-rb-card{display:grid;grid-template-columns:76px minmax(0,1fr) 36px;align-items:center;gap:12px;min-width:0;padding:10px;border:1px solid var(--gsd-line);border-radius:12px}.gsd-rb-card-image{display:grid;place-items:center;overflow:hidden;width:76px;height:68px;border-radius:8px;background:var(--gsd-cream);color:var(--gsd-clay);text-decoration:none}.gsd-rb-card-image img{width:100%;height:100%;object-fit:cover}.gsd-rb-card-copy{min-width:0}.gsd-rb-card-type{display:block;overflow:hidden;color:var(--gsd-green);font-size:9px;font-weight:700;letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}.gsd-rb-card h4{margin:3px 0;color:var(--gsd-ink);font-size:14px;line-height:1.3}.gsd-rb-card h4 a{color:inherit;text-decoration:none}.gsd-rb-card p{overflow:hidden;margin:0;color:var(--gsd-muted);font-size:10px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.gsd-rb-add{width:34px;height:34px;border:1px solid #c5d4ca;border-radius:50%;background:#eff5f0;color:var(--gsd-green);font-size:24px;line-height:1;cursor:pointer}.gsd-rb-add:hover{background:var(--gsd-green);color:#fff}.gsd-rb-maps-link{display:inline-flex;margin:18px 22px 0;color:var(--gsd-green);font-size:12px;font-weight:700;text-decoration:none}.gsd-rb-maps-link[hidden]{display:none}.gsd-rb-attribution{margin:12px 0 0;color:var(--gsd-muted);font-size:10px;text-align:right}.gsd-rb-muted{color:var(--gsd-muted);font-size:12px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.gsd-route-builder{padding:28px 20px}.gsd-rb-layout{grid-template-columns:minmax(250px,.82fr) minmax(0,1.35fr);gap:14px}.gsd-rb-controls{padding:20px}.gsd-rb-itinerary-head,.gsd-rb-candidates-head{padding-right:16px;padding-left:16px}.gsd-rb-stops,.gsd-rb-candidates{padding-right:16px;padding-left:16px}.gsd-rb-summary{margin-right:16px;margin-left:16px}.gsd-rb-card{grid-template-columns:62px minmax(0,1fr) 32px;gap:9px}.gsd-rb-card-image{width:62px;height:62px}}
@media(max-width:700px){.gsd-route-builder{padding:24px 14px}.gsd-rb-hero{margin-bottom:22px}.gsd-rb-hero p{font-size:14px}.gsd-rb-layout{grid-template-columns:1fr;gap:14px}.gsd-rb-controls{padding:20px}.gsd-rb-map{height:320px}.gsd-rb-metrics{gap:6px}.gsd-rb-metrics strong{font-size:16px}.gsd-rb-metrics span{font-size:8px}.gsd-rb-itinerary-head,.gsd-rb-candidates-head{padding-right:14px;padding-left:14px}.gsd-rb-stops,.gsd-rb-candidates{padding-right:14px;padding-left:14px}.gsd-rb-summary{margin-right:14px;margin-left:14px;padding:14px}.gsd-rb-candidates-head{align-items:start;flex-direction:column}.gsd-rb-search,.gsd-rb-search input{width:100%}.gsd-rb-card{grid-template-columns:64px minmax(0,1fr) 34px}.gsd-rb-card-image{width:64px;height:64px}.gsd-rb-attribution{text-align:left}.gsd-rb-endpoints{gap:9px}.gsd-rb-leg>summary{align-items:flex-start;flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.gsd-rb-primary{transition:none}}
.gsd-rb-place-input>input{display:block;width:100%;height:49px;padding:0 14px;border:1px solid #d8ded8;border-radius:10px;background:#fff;color:var(--gsd-ink);font:inherit;font-size:14px}.gsd-rb-place-input>input::placeholder{color:#88958e}.gsd-rb-place-input>input:focus{outline:2px solid #9fbeaa;outline-offset:1px}
