/* Bootstourpiraten V0.3.7.6 | berlin-page.css, hamburg-page.css */

/* START berlin-page.css */
/* V0.1.5 – Berlin city experience; inherits proven Kiel editorial vocabulary. */
.berlin-page .kiel-hero{padding-bottom:34px}
.berlin-page .kiel-hero-grid{grid-template-columns:1.07fr 1fr;gap:48px}
.berlin-page .kiel-hero h1{font-size:clamp(2.25rem,3.4vw,3.6rem)}
.berlin-page .kiel-quickfacts>div{min-height:83px}
.berlin-page .kiel-content-wrap{gap:48px}
.berlin-page .kiel-section{margin-bottom:64px}
.berlin-tours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.berlin-tour{min-width:0;border:1px solid #dce5ef;border-radius:9px;background:#fff;padding:22px;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(13,56,101,.035)}
.berlin-tour.is-featured{background:#f6faff;border-color:#9fc5fc}
.berlin-tour .berlin-tour-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}
.berlin-tour .kiel-type{font-size:.76rem}
.berlin-tour .berlin-num{color:#7491b0;font-weight:780;font-size:.84rem}
.berlin-tour h3{font-size:1.14rem;line-height:1.36;letter-spacing:-.01em;color:#002e5b;margin:0 0 10px}
.berlin-tour p{font-size:.89rem;line-height:1.7;color:#4d6278;margin:0 0 15px}
.berlin-tour dl{margin:auto 0 16px;border-top:1px solid #e4edf6}
.berlin-tour dl>div{display:flex;gap:12px;align-items:baseline;justify-content:space-between;border-bottom:1px solid #e4edf6;padding:9px 0;font-size:.82rem}
.berlin-tour dt{color:#6a7d90;flex:0 0 31%}
.berlin-tour dd{text-align:right;margin:0;color:#163657;font-weight:680}
.berlin-tour .kiel-option-cta{margin-top:auto}
.berlin-tour .tour-source{font-size:.75rem;color:#6f8193;margin:10px 0 0;line-height:1.55}
.berlin-selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:24px 0 20px}
.berlin-selection a{display:flex;flex-direction:column;gap:6px;background:#f1f7ff;border:1px solid #dce9f7;border-radius:7px;padding:14px;color:#164f91}
.berlin-selection strong{font-size:.86rem;color:#002e5b}
.berlin-selection span{font-size:.77rem;color:#63788e}
.berlin-selection a:hover{background:#e5f0ff;border-color:#abcdf6}
.berlin-piers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.berlin-pier{background:#fff;border:1px solid #dbe7f4;border-radius:8px;padding:15px 16px;scroll-margin-top:24px;min-width:0}
.berlin-pier-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.berlin-pier .n{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:#2872fa;color:#fff;font-weight:780;font-size:.89rem}
.berlin-pier h3{font-size:1rem;color:#002e5b;margin:0;line-height:1.3}
.berlin-pier p{font-size:.83rem;color:#50667e;line-height:1.65;margin:0 0 11px}
.berlin-pier a{font-size:.83rem;font-weight:730;color:#1559ed}
.berlin-map{border:1px solid #dbe6f2;border-radius:10px;overflow:hidden;background:#eaf1f7;margin:18px 0 13px}
.berlin-map img{width:100%;height:auto;display:block}
.berlin-map figcaption{background:#fff;padding:11px 16px;margin:0;font-size:.78rem;color:#61748a}
.berlin-editorial-note{margin:15px 0 0;font-size:.83rem;line-height:1.6;color:#63788b}
.berlin-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0 0}
.berlin-paths>div{border-top:3px solid #2872fa;padding-top:18px}
.berlin-paths .num{color:#2872fa;font-weight:790;font-size:.83rem;display:block;margin-bottom:8px}
.berlin-paths h3{font-size:.97rem;line-height:1.35;color:#002e5b;margin:0 0 8px}
.berlin-paths p{font-size:.82rem;line-height:1.65;color:#5b7085;margin:0}
.berlin-callout{background:#eaf3ff;border-left:4px solid #2872fa;border-radius:6px;padding:17px 20px;color:#224362;margin:25px 0;font-size:.9rem;line-height:1.68}
.berlin-callout strong{display:block;color:#002e5b;margin-bottom:6px}
.berlin-sources ul{padding-left:20px;line-height:1.9;margin:14px 0}
.berlin-sources a{color:#1559ed;font-size:.87rem}
.berlin-sources a:hover{text-decoration:underline}
.berlin-mobile-anchor{display:none}
.berlin-page .kiel-side-box .btn{font-size:.82rem}
.berlin-page .kiel-side-rows>div{padding:13px 0}
.berlin-page .kiel-side-box h2{font-size:1.46rem}
@media(max-width:1050px){.berlin-page .kiel-content-wrap{grid-template-columns:minmax(0,1fr)}.berlin-page .kiel-aside{display:none}.berlin-mobile-anchor{display:block}}
@media(max-width:760px){.berlin-page .kiel-hero-grid{grid-template-columns:1fr;gap:24px}.berlin-page .kiel-hero h1{font-size:clamp(2rem,8.4vw,2.7rem)}.berlin-tours{grid-template-columns:1fr}.berlin-selection{grid-template-columns:repeat(2,minmax(0,1fr))}.berlin-piers{grid-template-columns:1fr}.berlin-paths{grid-template-columns:1fr}.berlin-page .kiel-hero{padding-top:16px}.berlin-page .kiel-content-wrap{padding-top:35px}.berlin-page .kiel-section{margin-bottom:46px}}
@media(max-width:420px){.berlin-selection{grid-template-columns:1fr}.berlin-tour{padding:18px}.berlin-map figcaption{font-size:.72rem}}

/* V0.1.6: Editorial hub links and real-waterways overview */
.berlin-tour-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px;margin-top:auto}
.berlin-tour-actions .kiel-option-cta{display:flex;align-items:center;gap:8px;justify-content:center;padding:11px 12px;line-height:1.35;font-size:.83rem;min-height:48px;text-align:center}
.berlin-tour-actions .kiel-option-cta .ico{width:16px;height:16px;flex:none}
.berlin-operator-link{display:flex;gap:7px;align-items:center;justify-content:center;line-height:1.35;padding:10px 10px;color:#1656a1;border:1px solid #b9d2f2;border-radius:5px;font-size:.8rem;text-align:center;font-weight:720}
.berlin-operator-link:hover,.berlin-operator-link:focus-visible{background:#eaf3ff;border-color:#2872fa}
.berlin-operator-link .ico{width:16px;height:16px;flex:none}
.berlin-tour:target,.berlin-pier:target{outline:3px solid #2872fa;outline-offset:3px;scroll-margin-top:25px}
.berlin-map{background:#f1f7f9}
.berlin-map svg{display:block;width:100%;height:auto;max-height:560px}
.berlin-map svg a{cursor:pointer}
.berlin-map svg a:focus-visible circle.pin-head,.berlin-map svg a:hover circle.pin-head{fill:#003975;stroke:#ffffff;stroke-width:6}
.berlin-map figcaption a{color:#1559ed;font-weight:700}
.berlin-pier-tours{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
.berlin-pier-tours>span{color:#687e96;font-size:.78rem;width:100%}
.berlin-pier-tours a{background:#e9f2ff;padding:5px 9px;border-radius:5px;border:1px solid #d3e5fd;color:#1559ed;font-size:.76rem;font-weight:740}
@media(max-width:760px){.berlin-map svg{min-width:600px}.berlin-map{overflow-x:auto}.berlin-map figcaption{position:sticky;left:0;max-width:100%;min-width:0}.berlin-tour-actions .kiel-option-cta{font-size:.8rem}}
/* ENDE berlin-page.css */

/* START hamburg-page.css */
/* Hamburg city guide inherits confirmed Kiel/Berlin components */
.hamburg-page .kiel-hero-grid{grid-template-columns:1.07fr 1fr}
.hamburg-page .kiel-lead{max-width:51ch}
.hamburg-page .kiel-hero h1{font-size:clamp(2.28rem,3.5vw,3.65rem)}
.hamburg-page .kiel-quickfacts strong{line-height:1.35}
.hamburg-page .kiel-photo img{object-fit:cover;object-position:center}
.hamburg-page .berlin-tour dl dd{max-width:64%;line-height:1.5}
.hamburg-page .berlin-selection a{min-height:110px;justify-content:flex-start}
.hamburg-page .berlin-map svg{max-height:none}
.hamburg-page .berlin-map svg a{outline:none}
.hamburg-page .berlin-map svg a:focus-visible circle.pin-head{stroke:#002e5b;stroke-width:4}
.hamburg-page .berlin-pier-tours a{line-height:1.45}
.hamburg-page .kiel-tips strong{color:#002e5b}
.hamburg-page .kiel-photo figcaption{line-height:1.5}
@media(max-width:760px){.hamburg-page .kiel-hero-grid{grid-template-columns:1fr}.hamburg-page .berlin-map svg{min-width:650px}.hamburg-page .kiel-hero h1{font-size:clamp(2rem,8vw,2.6rem)}}
/* ENDE hamburg-page.css */
