.trip-page{max-width:1120px;margin:auto;padding:32px 24px 80px}.trip-page h1{font-size:clamp(28px,5vw,44px);line-height:1.2}.trip-panel{border:1px solid #dfe4eb;border-radius:18px;padding:24px;margin:28px 0;scroll-margin-top:24px;min-width:0}.trip-controls,.trip-tabs{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.trip-controls label{display:flex;flex-direction:column;gap:7px;font-size:14px;max-width:100%}.trip-controls input,.trip-controls select{font:inherit;padding:12px;border:1px solid #bbc5d3;border-radius:8px;min-height:46px;max-width:100%;background:#fff;color:#18222f}.trip-controls button,.trip-tabs a,.trip-tabs button,.trip-controls a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:normal;text-align:center;line-height:1.4}.trip-controls a.primary{color:#fff}.trip-tabs a{padding:10px 18px;border-radius:24px;background:#edf1ff;color:#234bd8}.trip-note{font-size:14px;color:#596575}.trip-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.trip-place{padding:20px;background:#f5f7fa;border:1px solid #dfe4eb;border-radius:12px;min-width:0;overflow-wrap:anywhere}.trip-place h3{margin:8px 0}.trip-place p{line-height:1.6}.trip-place .primary{color:white}.trip-stops{padding:0;list-style:none}.trip-stops li{padding:20px 0;border-bottom:1px solid #dfe4eb;overflow-wrap:anywhere}.trip-address{user-select:text}.trip-address-dialog{max-width:min(90vw,680px);padding:24px}.trip-address-dialog p{font-size:clamp(24px,5vw,40px);line-height:1.6;overflow-wrap:anywhere}.trip-import{border:1px solid #bbc5d3;padding:10px;border-radius:8px}.trip-import input{max-width:260px}#trip-map{height:340px;min-width:0;border-radius:12px;z-index:0;background:#edf1f5}#trip-place{max-width:450px}.trip-panel a:focus-visible,.trip-panel button:focus-visible{outline:3px solid #234bd8;outline-offset:3px}.trip-controls button:disabled{opacity:.5;cursor:default}@media(max-width:650px){.trip-page{padding:24px 16px 90px}.trip-panel{padding:18px 14px}.trip-results{grid-template-columns:1fr}.trip-controls>*{max-width:100%}#trip-map{height:280px}#trip-place{width:100%}}@media print{header,footer,.trip-tabs,#nearby,#offline,.trip-controls,.trip-note,#connection{display:none!important}.trip-panel{border:0;padding:0}.trip-stops li{break-inside:avoid}.trip-page{padding:0}}
#member-account [hidden],#my-hotel [hidden]{display:none!important}#member-join>label{display:block;margin:14px 0}#member-join input:not([type=checkbox]){display:block;width:100%;max-width:400px;padding:12px;border:1px solid #bbc5d3;border-radius:8px;font:inherit}.member-consent{font-size:14px;line-height:1.7}.member-consent input{width:20px;height:20px;vertical-align:middle;margin-right:8px}#member-controls details{margin-top:20px}#member-controls summary{cursor:pointer}#today-content a,#member-account p a{text-decoration:underline}#hotel-address{min-width:min(360px,100%)}#member-status,#hotel-status{overflow-wrap:anywhere}@media print{#member-account,#my-hotel,#today-overview,#my-favourites{display:none!important}}
.companion-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin:18px 0}.companion-card{border:1px solid #cbdcd1;border-radius:16px;padding:20px;background:#f0f5ef}.companion-card:first-child{background:#e7f0e9}.companion-card h3{margin-top:8px}.companion-stop{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #dce4de}.companion-stop input{width:22px;height:22px;flex-shrink:0;accent-color:#234c40}.companion-stop span{flex:1}.companion-stop:has(input:checked) span{text-decoration:line-through;color:#687970}#wallet-address-dialog{width:min(92vw,700px);box-sizing:border-box;max-height:90dvh;overflow:auto;border:0;border-radius:18px;padding:24px}#wallet-address-text{white-space:pre-line;font-size:clamp(1.8rem,7vw,3.2rem);line-height:1.6;overflow-wrap:anywhere}#wallet-address-dialog::backdrop{background:#173a2dc9}.trip-quick-help{position:fixed;bottom:18px;right:18px;background:#234c40;color:#fff;padding:14px 18px;border-radius:30px;z-index:800;box-shadow:0 4px 16px #0003;text-decoration:none}@media(max-width:650px){.companion-grid{grid-template-columns:1fr}.companion-card .trip-controls>*{width:100%;box-sizing:border-box;text-align:center}.trip-quick-help{bottom:74px}.companion-stop .secondary{padding:10px}}
