.venue{margin:14px 0 20px;border:1px solid #ded5f2;border-radius:20px;overflow:hidden;text-align:left;background:#fff;color:#322c4a}.venuehead{padding:16px 15px 9px}.venuehead strong{display:block;font-size:18px}.venuehead p{font-size:12px;line-height:1.7;color:#70677f;margin:5px 0}.venuetools{display:flex;gap:5px;flex-wrap:wrap;padding:0 12px 10px}.venuetools button,.venuestops button,.venueclose{font:inherit;min-height:40px;border:1px solid #dfd9ec;background:#f6f2ff;color:#594a81;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}.venuetools .tour{background:#6c5ce7;color:white;border-color:#6c5ce7}.venueboard{position:relative;height:330px;overflow:hidden;background:#faf9f5;touch-action:none;border-block:1px solid #e7e2ed;cursor:grab}.venueboard:active{cursor:grabbing}.venueboard svg{width:100%;height:100%;display:block;user-select:none}.venueboard .map-pin{cursor:pointer}.venueboard .map-pin:focus{outline:none}.venueboard .map-pin:focus circle{stroke:#ffac2f;stroke-width:4}.venuehint{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);background:#ffffffed;border:1px solid #e8e1f0;border-radius:20px;color:#76678b;font-size:10px;padding:5px 10px;white-space:nowrap;pointer-events:none}.venuestops{display:flex;gap:5px;padding:12px 12px 5px;overflow:auto}.venuestops button{flex-shrink:0;font-size:11px;padding:7px 9px}.venuestops button[aria-pressed=true]{background:#6c5ce7;color:white;border-color:#6c5ce7}.venuedetail{padding:8px 15px 12px;font-size:13px;line-height:1.65;min-height:66px}.venuedetail b{display:block;color:#5c4694}.venuefoot{padding:10px 15px;background:#f8f6fc;color:#7c728b;font-size:10px;line-height:1.8}.venuefoot a{color:#66539b}.venueclose{display:none}.venue.expanded{position:fixed;inset:10px;z-index:2000;margin:0;display:flex;flex-direction:column;box-shadow:0 0 0 50vw #1711299c}.venue.expanded .venueboard{height:auto;flex:1;min-height:150px}.venue.expanded .venueclose{display:block;position:absolute;right:10px;top:10px;background:#fff}.venue.expanded .venuehead{padding-right:70px}.routeMapButton{font:inherit;font-size:12px;border:0;background:#f0eaff;color:#6d54b4;border-radius:8px;padding:7px 10px;margin-top:7px;cursor:pointer}.venueboard:focus-visible{outline:3px solid #a78bea;outline-offset:-3px}@media(min-width:700px){.venue.expanded{inset:24px 8vw}.venue.expanded .venueboard{min-height:350px}}@media(prefers-reduced-motion:reduce){.venue *{scroll-behavior:auto!important}}
.venue{scroll-margin-top:72px}.venue.expanded [data-action=expand]{display:none}
.visit-filters{margin:18px 0;padding:20px;border:1px solid #d9c8ad;border-radius:22px;background:#fffaf1;color:#4b392b}.visit-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.visit-fields label{display:flex;flex-direction:column;gap:7px;font-size:15px;font-weight:650;min-width:0}.visit-fields label:last-child{grid-column:1/-1}.visit-fields select,.visit-fields input{box-sizing:border-box;width:100%;max-width:100%;min-width:0;font:inherit;font-size:17px;min-height:48px;border:1px solid #cfbea5;border-radius:12px;padding:9px;background:#fffdf7;color:#493827}.visit-filters button{font:inherit;font-size:17px;min-height:48px;border:0;border-radius:13px;padding:12px 18px;background:#795237;color:#fff8ed;margin-top:16px;cursor:pointer}.visit-filters button:disabled{opacity:.55}.visit-filters [role=status]{font-size:16px;line-height:1.7;margin:14px 0 5px;overflow-wrap:anywhere}.visit-filters .hint{margin:0;font-size:14px;line-height:1.7}.rt-target{font-size:16px;line-height:1.7;font-weight:650;color:#5b4833;margin:9px 0 3px}.rt-schedule{font-size:14px;line-height:1.75;color:#766048;margin:0 0 7px}.rt-notice{font-size:14px;line-height:1.7;background:#f4e8d3;color:#745232;border-radius:10px;padding:10px}.rt-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.rt-actions a{font-size:14px;color:#765138;text-decoration:underline;text-underline-offset:3px}.rt-title{overflow-wrap:anywhere}.route-policy a{color:inherit;text-underline-offset:4px}@media(min-width:700px){.visit-fields{grid-template-columns:1fr 1fr 1.4fr}.visit-fields label:last-child{grid-column:auto}}

.visit-filters button{word-break:keep-all}

/* Expanded map lives outside the transformed mobile deck. Keep descriptions readable. */
.venue.expanded>div{flex-shrink:0}.venue.expanded .venueboard{flex:1 0 240px}.venue.expanded{overscroll-behavior:contain}
