/* Shared connection directory and timetable: scoped to the new page components. */
.connections-hero{background:var(--regional-tinted,#eef7fa);padding:42px 0}.connections-hero h1{max-width:980px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.12;margin:10px 0 18px;overflow-wrap:anywhere}.connections-lead{max-width:850px;font-size:1.1rem;line-height:1.65}.connections-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.connections-body{padding-block:36px 64px}.connections-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px}.connections-section-heading h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;margin:0}.connections-section-heading>span{color:#526e83;white-space:nowrap}.connections-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:24px 0}.connections-filter>div{flex:1 1 260px;max-width:520px;min-width:0}.connections-filter label{display:block;font-weight:700;font-size:.9rem;margin-bottom:7px}.connections-filter input{display:block;width:100%;min-width:0;min-height:50px;padding:12px 14px;font:inherit;font-size:1rem;color:inherit;background:#fff;border:1px solid #c5dce7;border-radius:10px;box-sizing:border-box}.connections-filter .button{min-height:50px}.connections-filter>a{align-self:center;padding:12px 0;text-decoration:underline}.connections-alphabet{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}.connections-alphabet a{display:grid;place-items:center;min-width:42px;min-height:42px;padding:5px 8px;border:1px solid #c5dce7;border-radius:10px;background:#fff;font-weight:700}.connections-letter{display:grid;grid-template-columns:40px minmax(0,1fr);gap:18px;margin-bottom:30px;scroll-margin-top:110px}.connections-letter>h2{margin:10px 0;font-size:1.5rem}.connections-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.connections-grid li{min-width:0;margin:0}.connection-card{position:relative;display:flex;flex-direction:column;gap:9px;min-height:100%;height:100%;box-sizing:border-box;padding:18px 42px 18px 18px;background:#fff;border:1px solid #cce0e9;border-radius:14px;transition:border-color .15s,box-shadow .15s}.connection-card:hover,.connection-guide:hover{border-color:#3b829f;box-shadow:0 4px 16px #153c5610}.connection-card-route{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;line-height:1.45;overflow-wrap:anywhere}.connection-card-route strong{font-weight:700}.connection-card-meta{font-size:.85rem;color:#526e83;line-height:1.4}.connection-card-icon{position:absolute;right:16px;top:19px}.connections-overview{padding:24px;background:#f3f8fa;border:1px solid #d4e5ed;border-radius:16px;margin-bottom:36px}.connections-overview h2{font-size:1.4rem;margin:0 0 18px}.connections-overview dl{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:20px;margin:0}.connections-overview dt{font-size:.85rem;color:#526e83;margin-bottom:6px}.connections-overview dd{margin:0;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.connections-overview>p{margin:20px 0 0;font-size:.9rem;line-height:1.6}.connections-sailings{scroll-margin-top:110px}.connections-departures{border:1px solid #ccdee8;border-radius:16px;background:#fff;overflow:hidden}.connection-departure{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px 24px;padding:24px;border-bottom:1px solid #dce9ef}.connection-departure:last-child{border-bottom:0}.connection-departure-date{display:flex;flex-direction:column;gap:6px;line-height:1.5}.connection-departure-date>strong{font-size:1rem}.connection-departure-date>span{font-size:.88rem;color:#526e83}.connection-departure-main{min-width:0}.connection-operator{font-weight:700;margin:0 0 14px;line-height:1.45}.connection-offering{display:block;font-size:.9rem;line-height:1.5;text-decoration:underline;margin:-5px 0 14px;overflow-wrap:anywhere}.connection-journey{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:14px;align-items:start}.connection-journey>div{display:flex;flex-direction:column;gap:7px;min-width:0;overflow-wrap:anywhere}.connection-journey>div>span{font-size:.82rem;color:#526e83}.connection-journey>div>strong{font-size:1rem;line-height:1.45}.connection-journey b{font-size:1.25rem}.connection-journey b>small{font-size:.85rem;font-weight:400}.connection-journey-arrow{align-self:center;color:#3b829f}.connection-departure-note{margin:12px 0 0;color:#526e83;font-size:.85rem;line-height:1.5}.connection-departure-action{grid-column:2;min-width:0}.connection-departure-action .button{width:100%;justify-content:space-between;white-space:normal;line-height:1.45;box-sizing:border-box;text-align:left;gap:12px}.connection-departure-action .button svg{flex:0 0 20px}.connection-public-note{grid-column:1/-1;margin:0;padding-top:12px;border-top:1px solid #dce9ef;font-size:.9rem;line-height:1.6}.connections-footnote{font-size:.88rem;line-height:1.65;color:#526e83;margin-top:18px}.connections-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:22px;font-size:.9rem}.connections-pagination>a:first-child{justify-self:start}.connections-pagination>a:last-child{justify-self:end}.connections-pagination .button{padding:12px 16px;min-height:44px}.connections-status,.connections-empty{border:1px solid #cce0e9;background:#f3f8fa;border-radius:16px;padding:24px;margin:0 0 30px}.connections-departures .connections-empty{border:0;border-radius:0;margin:0}.connections-status h2,.connections-empty h2,.connections-empty h3{font-size:1.35rem;line-height:1.4;margin:0 0 12px}.connections-status p,.connections-empty p{line-height:1.65;margin:0 0 16px}.connections-status a,.connections-empty>a{font-weight:700}.connections-related{margin-top:42px}.connections-related>h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 18px;line-height:1.3}.connection-guide{display:flex;flex-direction:column;gap:12px;height:100%;padding:20px;background:#fff;border:1px solid #cce0e9;border-radius:14px;box-sizing:border-box;line-height:1.55}.connection-guide>strong{font-size:1.1rem}.connection-guide>span{font-size:.9rem;color:#526e83}.connection-guide>b{margin-top:auto;font-size:.9rem}.connections-back{margin:36px 0 0;font-weight:700}.connections-body a:focus-visible,.connections-hero a:focus-visible,.connections-filter input:focus-visible{outline:3px solid #008eaa;outline-offset:3px}
@media(min-width:1200px){.connection-departure{grid-template-columns:170px minmax(0,1fr) 260px;align-items:center}.connection-departure-action{grid-column:auto}}
@media(max-width:760px){.connections-hero{padding:28px 0}.connections-body{padding-block:26px 42px}.connections-grid{grid-template-columns:1fr}.connections-letter{grid-template-columns:24px minmax(0,1fr);gap:10px}.connections-section-heading{align-items:start;flex-direction:column;gap:8px}.connections-overview{padding:18px}.connections-overview dl{grid-template-columns:1fr 1fr;gap:16px}.connections-overview dl>div:last-child{grid-column:1/-1}.connection-departure{grid-template-columns:1fr;padding:18px;gap:16px}.connection-departure-date{flex-direction:row;justify-content:space-between;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #dce9ef}.connection-departure-action{grid-column:1/-1}.connection-journey{gap:8px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}.connections-filter>div{flex-basis:100%;max-width:none}.connections-filter>.button{flex:1}.connections-hero-actions>.button{width:100%;justify-content:center;box-sizing:border-box;white-space:normal}.connections-pagination{gap:8px;font-size:.82rem}.connections-pagination .button{padding:10px;font-size:.82rem}.connections-status,.connections-empty{padding:18px}.connection-card{padding:16px 38px 16px 16px}}
