/* Tour route preview: local geometry, readable stops and an explicit OSM action. */
.gt-tour-route{min-width:0;max-width:100%}
.gt-route-endpoints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.gt-route-endpoints>div{border-inline-start:3px solid #a97c2f;background:#f4efe5;padding:12px 16px;min-width:0}
.gt-route-endpoints>div:only-child{grid-column:1/-1}
.gt-route-endpoints dt{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#766448;margin-bottom:6px}
.gt-route-endpoints dd{margin:0;font-size:1.1rem;font-weight:600;overflow-wrap:anywhere}
.gt-route-stage{position:relative;min-width:0;overflow:hidden;border:1px solid #d8cfbe;border-radius:3px;background:#dfebee;aspect-ratio:800/560}
.gt-route-static{position:absolute;inset:0;overflow:hidden}
.gt-route-static svg{width:100%;height:100%;display:block;overflow:hidden}
.gt-route-static[hidden],.gt-route-interactive[hidden]{display:none!important}
.gt-route-sea{fill:#dce9ee}
.gt-route-land{fill:#f1eedf;stroke:#b6b4a5;stroke-width:1.1;vector-effect:non-scaling-stroke}
.gt-route-water{fill:#dce9ee;stroke:#bccdd1;stroke-width:.6;vector-effect:non-scaling-stroke}
.gt-route-border{fill:none;stroke:#b6b4a5;stroke-width:.8;vector-effect:non-scaling-stroke}
.gt-route-line{fill:none;stroke:#9a711b;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6 7;vector-effect:non-scaling-stroke}
.gt-route-line.gt-route-measured{stroke-dasharray:none}
.gt-route-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:27px;height:27px;padding:0 4px;background:#9a711b;color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #302a1e3d;font:700 11px/1 var(--f-ui,sans-serif);direction:ltr;white-space:nowrap}
.gt-route-pin.gt-route-start{background:#356952}
.gt-route-pin.gt-route-finish{outline:2px solid #54442b;outline-offset:1px}
.gt-route-interactive{position:absolute;inset:0;z-index:1;height:100%;min-height:100%;direction:ltr}
.gt-route-interactive.gt-route-loading{opacity:0;pointer-events:none}
.gt-route-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.gt-route-controls .btn{min-height:44px;white-space:normal;text-align:center;max-width:100%}
.gt-route-controls [hidden]{display:none!important}
.gt-route-status{flex-basis:100%;margin:0;line-height:1.55;color:#746b5e}
.gt-route-status:empty{display:none}
.gt-route-status.error{background:#fff0ec;color:#923d25;padding:12px 14px;border-inline-start:3px solid #b05a40}
.gt-route-disclosure{margin:12px 0 4px!important;font-size:.82rem;line-height:1.6;overflow-wrap:anywhere}
.gt-route-attribution{font-size:.72rem;margin:4px 0 14px;color:#746b5e}
.gt-route-attribution a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.gt-route-note{margin:18px 0;padding:12px 16px;background:#f4efe5;font-size:.92rem;line-height:1.65;border-inline-start:3px solid #c8b58a}
.gt-route-stops-heading{font-size:1.05rem;margin:20px 0 12px;line-height:1.4}
.gt-route-stops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:0;padding:0;list-style:none!important}
.gt-route-stops li{display:flex;gap:10px;align-items:baseline;min-width:0;line-height:1.5;overflow-wrap:anywhere}
ul.gt-route-stops li:before{content:'•';color:#9a711b}
.gt-route-stop-number{flex:none;display:inline-grid;place-items:center;min-width:26px;height:26px;border:1px solid #c8b58a;border-radius:50%;font-size:.78rem;font-weight:600;color:#805f20}
.gt-route-leaflet-pin{background:none;border:none}
.gt-route-leaflet-pin span{display:grid;place-items:center;min-width:34px;height:34px;padding:0 4px;background:#9a711b;color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #302a1e3d;font:700 11px/1 var(--f-ui,sans-serif);white-space:nowrap}
.gt-route-interactive .leaflet-control-attribution{font-size:10px;max-width:100%;white-space:normal}
.gt-tour-route button:focus-visible,.gt-tour-route a:focus-visible{outline:2px solid #805f20;outline-offset:4px}
@media(max-width:600px){.gt-route-endpoints{grid-template-columns:1fr;gap:8px}.gt-route-stops{grid-template-columns:1fr}.gt-route-controls .btn{width:100%}.gt-route-endpoints dd{font-size:1rem}.gt-route-pin{min-width:25px;height:25px;font-size:10px}}

.gt-route-placeholder{min-height:120px;display:grid;align-content:center;gap:14px;padding:20px;background:#f4efe5;border:1px solid #d8cfbe}
