:root{--navy:#06346a;--blue:#0a66c2;--pale:#eaf3ff;--ink:#183956;--muted:#657a8e;--border:#d9e6f4;--bg:#f8faff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.58}a{text-decoration:none;color:inherit}a:hover{text-decoration:underline}.wrap{max-width:1180px;margin:auto;padding:0 26px}.topbar{background:white;border-bottom:1px solid var(--border)}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:17px;padding-bottom:17px}.brand{font-weight:850;color:var(--navy);font-size:26px;letter-spacing:-1.3px}.brand span{color:var(--blue)}nav{display:flex;flex-wrap:wrap;gap:23px;font-size:13px;font-weight:750;color:var(--navy)}.overline{color:var(--blue);text-transform:uppercase;font-weight:850;letter-spacing:1.8px;font-size:11px}.intro{padding:54px 0 26px}.intro h1{font-size:clamp(40px,5.7vw,73px);line-height:1.06;letter-spacing:-3px;margin:13px 0 18px;color:var(--navy)}.intro p{font-size:18px;color:var(--muted);max-width:770px}.hero{position:relative;border-radius:24px;min-height:540px;overflow:hidden;background:linear-gradient(130deg,#235e96,#a9d3f4);isolation:isolate}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,26,56,.76),rgba(0,27,62,.33) 65%,rgba(3,41,77,.05));z-index:-1}.herocopy{position:absolute;bottom:45px;left:45px;color:white;max-width:740px}.herocopy .overline{color:#c1e1ff}.herocopy h1{font-size:clamp(41px,5.3vw,70px);line-height:1.06;letter-spacing:-2.8px;margin:12px 0}.herocopy p{font-size:19px;max-width:650px;margin:10px 0 24px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{display:inline-block;background:rgba(255,255,255,.92);color:var(--navy);padding:7px 13px;border-radius:50px;font-size:12px;font-weight:750}.credit{font-size:11px;color:var(--muted);margin:8px 2px 0}.credit a{text-decoration:underline}.section{padding:62px 0 8px}.section h2{font-size:clamp(30px,3.8vw,46px);letter-spacing:-1.7px;color:var(--navy);line-height:1.15;margin:10px 0 16px}.section-lead{font-size:17px;color:var(--muted);max-width:810px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:32px 0}.fact{background:white;border:1px solid var(--border);border-radius:15px;padding:20px}.fact strong{display:block;color:var(--blue);font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.fact p{margin:0;font-size:14px}.story{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;margin:32px 0 42px}.story:nth-of-type(even) .story-image{order:2}.story-image{height:340px;position:relative;overflow:hidden;border-radius:18px;background:#b4d4f7}.story-image img{width:100%;height:100%;object-fit:cover}.story-copy h3{font-size:30px;line-height:1.17;letter-spacing:-.8px;color:var(--navy);margin:8px 0 13px}.story-copy p{color:var(--muted);font-size:16px}.numb{font-size:12px;color:var(--blue);font-weight:850;letter-spacing:1.5px}.note{background:linear-gradient(110deg,#e5f2ff,#f1f7ff);padding:29px;border-radius:19px;border:1px solid #c9e2ff;margin:36px 0}.note h3{font-size:24px;margin:0 0 10px;color:var(--navy)}.note p{margin:0 0 14px}.button{display:inline-flex;align-items:center;gap:8px;background:var(--blue);border-radius:10px;padding:12px 19px;color:white;font-weight:800}.button:hover{color:white}.links{display:flex;gap:20px;flex-wrap:wrap;font-weight:800;color:var(--blue);font-size:14px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tile{border:1px solid var(--border);border-radius:17px;overflow:hidden;background:white}.tile picture{display:block;height:230px;background:#c8dff9}.tile img{height:100%;width:100%;object-fit:cover}.tile>div{padding:21px}.tile h3{font-size:24px;color:var(--navy);margin:6px 0}.tile p{font-size:14px;color:var(--muted)}.smalllink{font-size:13px;color:var(--blue);font-weight:850}.footer{margin-top:90px;border-top:1px solid var(--border);padding:30px 0 45px;font-size:12px;color:var(--muted)}@media(max-width:850px){.hero{min-height:440px}.story{gap:20px}.facts{grid-template-columns:1fr}.tiles{grid-template-columns:1fr 1fr}}@media(max-width:620px){.topbar .wrap{display:block}nav{margin-top:9px;gap:13px}.wrap{padding:0 17px}.hero{min-height:500px;border-radius:17px}.herocopy{bottom:25px;left:22px;right:20px}.herocopy h1{letter-spacing:-1.4px;font-size:43px}.herocopy p{font-size:16px}.story,.tiles{grid-template-columns:1fr}.story:nth-of-type(even) .story-image{order:0}.story-image{height:240px}.section{padding-top:44px}}
/* Interaktive Hafenkarte */
.port-map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0 12px;color:var(--navy);font-weight:750;font-size:14px}
.port-map-toolbar select{font:inherit;max-width:100%;padding:12px 16px;border-radius:11px;border:1px solid var(--border);background:white;color:var(--navy)}
.interactive-map{height:470px;width:100%;border-radius:19px;overflow:hidden;border:1px solid var(--border);background:#e2effa;z-index:0}
.map-loading{padding:30px;color:var(--muted)}
.map-icon-container{background:transparent;border:0}
.map-marker{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:3px solid white;border-radius:50% 50% 50% 8%;transform:rotate(-45deg);box-shadow:0 3px 12px #082d5770;background:#0a66c2;color:#fff;font-size:17px;font-weight:850}
.map-marker.sight{background:#06346a}
.map-marker.arrival{background:#f5a623;color:#072c58;font-size:24px}
.sights-distance-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
.sight-distance{font:inherit;display:flex;gap:8px;flex-wrap:wrap;align-items:center;text-align:left;border:1px solid var(--border);border-radius:11px;background:white;padding:10px;color:var(--navy);cursor:pointer}
.sight-distance:hover{border-color:#0a66c2;background:#f0f7ff}
.sight-number{display:inline-grid;place-items:center;border-radius:50%;width:24px;height:24px;flex-shrink:0;background:#06346a;color:#fff;font-size:12px;font-weight:850}
.sight-name{font-size:13px;font-weight:750}
.sight-km{width:100%;color:#0a66c2;font-weight:850;font-size:14px}
.sight-km small{display:block;color:var(--muted);font-size:10px;font-weight:450}
@media(max-width:850px){.sights-distance-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.interactive-map{height:420px}.sights-distance-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Kompaktere Karte & datumsabhängiger Veranstaltungskalender */
.interactive-map{height:330px}
.event-calendar{padding-top:52px}
.event-control{display:flex;align-items:end;gap:13px;flex-wrap:wrap;padding:19px 21px;background:#e7f2ff;border-radius:17px;border:1px solid #cfe4fa;margin-top:23px}
.event-field{display:flex;flex-direction:column;gap:5px}
.event-field label{font-size:12px;color:var(--navy);font-weight:850}
.event-field input,.event-field select{height:45px;background:white;border:1px solid #bdd6ef;border-radius:10px;padding:0 13px;font:inherit;color:var(--navy)}
.event-quick{margin-left:auto;display:flex;gap:8px}
.event-quick button{width:45px;height:45px;border-radius:10px;border:1px solid #bdd6ef;background:white;color:var(--blue);font-size:23px;cursor:pointer}
.event-quick button:hover{background:#d8eafd}
.event-period{font-size:14px;color:var(--muted);font-weight:750;margin:18px 2px 13px}
.event-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.event-card{background:white;border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column}
.event-card .event-type{font-size:11px;color:var(--blue);font-weight:850;letter-spacing:.8px;text-transform:uppercase}
.event-card h3{font-size:21px;line-height:1.23;color:var(--navy);margin:9px 0}
.event-card p{font-size:13px;color:var(--muted);margin:5px 0}
.event-card .event-venue{color:var(--ink);font-weight:650}
.event-bottom{margin-top:auto;padding-top:19px;display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted)}
.event-bottom a,.event-empty a{font-size:13px;font-weight:850;color:var(--blue)}
.event-empty{grid-column:1/-1;background:white;border:1px solid var(--border);border-radius:15px;padding:23px}
.event-empty p{color:var(--muted);max-width:730px}
.event-footer{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:10px;margin-top:17px;font-size:12px;color:var(--muted)}
.event-footer a{color:var(--blue);font-weight:850}
@media(max-width:850px){.event-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.interactive-map{height:290px}.event-list{grid-template-columns:1fr}.event-control{padding:15px}.event-quick{margin-left:0}.event-field{flex:1;min-width:145px}}

/* Ankunftstag zuerst, Folgetage bewusst zurückhaltender */
.event-range-label{font-size:13px;font-weight:750;color:var(--navy);align-self:center}
.event-list{display:flex;flex-direction:column;gap:18px}
.event-day{border:1px solid var(--border);border-radius:20px;padding:22px;background:#fff}
.event-day-primary{background:linear-gradient(120deg,#e3f1ff,#f3f9ff);border:2px solid #0a66c2;padding:25px;box-shadow:0 12px 26px #0a66c211}
.event-day-secondary{background:#f9fbff;border-color:#dce8f5;padding:20px}
.event-day-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 14px}
.event-day-heading h3{margin:0;color:var(--navy);font-size:21px}
.event-day-heading span{color:var(--muted);font-size:13px;font-weight:750}
.event-day-primary .event-day-heading h3{font-size:26px;color:#00509f}
.event-day-primary .event-day-heading span{color:#06346a}
.event-day-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.event-day-secondary .event-day-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.event-day-primary .event-card{border-color:#bad8f5}
.event-day-secondary .event-card{padding:15px;box-shadow:none}
.event-day-secondary .event-card h3{font-size:18px}
.event-day-secondary .event-card p{font-size:12px}
.event-verification{display:block;margin-top:10px;align-self:start;font-size:11px;color:#59718b;background:#eff4fa;border-radius:7px;padding:5px 8px;font-weight:700}
.event-day-empty{background:white;border:1px dashed #c8daec;border-radius:12px;padding:15px;color:var(--muted);font-size:13px}
@media(max-width:850px){.event-day-cards,.event-day-secondary .event-day-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.event-day-cards,.event-day-secondary .event-day-cards{grid-template-columns:1fr}.event-day{padding:16px}.event-day-heading{display:block}.event-day-heading span{display:block;margin-top:3px}}

/* hallodeck: kompakte Veranstaltungsliste statt Kacheln */
.event-calendar{padding-top:32px}
.event-calendar h2{margin-bottom:9px}
.event-calendar .section-lead{font-size:15px;margin:0 0 12px}
.event-control{padding:12px 15px;margin-top:14px;border-radius:12px;gap:12px}
.event-field input{height:39px}
.event-quick button{height:39px;width:39px;font-size:20px}
.event-period{margin:12px 2px 9px;font-size:12px}
.event-list{gap:10px}
.event-day{padding:0;border-radius:11px;background:white;overflow:hidden}
.event-day-primary{padding:0;border:1px solid #a6caef;box-shadow:none;background:#fff}
.event-day-secondary{padding:0;border:1px solid #e1e9f2;background:white}
.event-day-heading{display:flex;align-items:center;justify-content:flex-start;gap:14px;margin:0;padding:9px 13px;background:#f2f7ff;border-bottom:1px solid #e2ebf5}
.event-day-heading h3,.event-day-primary .event-day-heading h3{font-size:15px;letter-spacing:0;margin:0;color:#0a66c2}
.event-day-heading span,.event-day-primary .event-day-heading span{font-size:12px;color:#496d92;font-weight:650}
.event-day-secondary .event-day-heading{background:#fafcff;border-bottom:1px solid #ebeff5;padding:8px 12px}
.event-day-secondary .event-day-heading h3{font-size:13px;color:#50677f}
.event-day-secondary .event-day-heading span{color:#7c8b9c}
.event-day-cards,.event-day-secondary .event-day-cards{display:block}
.event-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 15px;border:0;border-bottom:1px solid #edf0f5}
.event-list-row:last-child{border-bottom:0}
.event-row-main{min-width:0;flex:1}
.event-row-title{font-size:14px;font-weight:720;color:#143e67;line-height:1.4}
.event-row-meta{font-size:12px;color:#71839a;line-height:1.4;margin-top:2px}
.event-row-link{font-size:12px;color:#0a66c2;white-space:nowrap;font-weight:750}
.event-day-secondary .event-row-title{font-weight:650;font-size:13px}
.event-day-secondary .event-list-row{padding:7px 13px}
.event-day-empty{padding:10px 14px;font-size:12px;border:0;background:transparent;border-radius:0}
.event-footer{margin-top:10px;font-size:11px}
@media(max-width:620px){.event-day{padding:0}.event-day-heading{gap:6px;flex-wrap:wrap}.event-list-row{padding:10px 12px;gap:8px}.event-row-link{font-size:11px}.event-control{padding:10px}.event-day-secondary .event-day-cards,.event-day-cards{display:block}}

/* Veranstaltungskalender bewusst nur als kompakte Zusatzinformation */
.event-calendar{padding-top:22px}
.event-calendar h2{font-size:clamp(24px,2.8vw,32px);margin:5px 0 5px}
.event-calendar .section-lead{font-size:13px;line-height:1.45;margin:0 0 7px}
.event-control{padding:8px 12px;margin-top:10px;gap:10px;background:#f1f7ff;border-radius:9px}
.event-field label{font-size:11px}
.event-field input{height:34px;padding:0 10px;font-size:13px}
.event-quick button{height:34px;width:34px;font-size:18px}
.event-range-label{font-size:12px;font-weight:550}
.event-period{margin:5px 2px;font-size:10px;color:#8294a7}
.event-list{gap:5px}
.event-day,.event-day-primary,.event-day-secondary{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.event-day-heading,.event-day-secondary .event-day-heading{padding:5px 9px;margin:0;background:#eef5ff;border:0;border-bottom:1px solid #e3ebf5;border-radius:6px 6px 0 0}
.event-day-secondary .event-day-heading{background:#f7f9fc}
.event-day-heading h3,.event-day-primary .event-day-heading h3,.event-day-secondary .event-day-heading h3{font-size:13px;font-weight:750;letter-spacing:0}
.event-day-heading span,.event-day-primary .event-day-heading span,.event-day-secondary .event-day-heading span{font-size:11px;font-weight:500}
.event-day-cards,.event-day-secondary .event-day-cards{display:block;background:white;border:1px solid #e8eef5;border-top:0;border-radius:0 0 6px 6px}
.event-list-row,.event-day-secondary .event-list-row{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;gap:10px;border-bottom:1px solid #edf1f6}
.event-row-main{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}
.event-row-title,.event-day-secondary .event-row-title{font-size:12px;line-height:1.45;font-weight:650}
.event-row-meta{font-size:11px;line-height:1.4;margin:0;color:#7c8b9c}
.event-row-link,.event-day-secondary .event-row-link{font-size:11px}
.event-day-empty{padding:7px 10px;font-size:11px;border:0;background:white;color:#8593a4}
.event-footer{font-size:10px;line-height:1.5;margin-top:7px}
@media(max-width:620px){.event-control{padding:9px}.event-range-label{display:none}.event-list-row{padding:8px 9px}.event-row-main{display:block}.event-row-meta{font-size:10px;margin-top:2px}.event-day-heading{gap:5px}}

/* Kompakte Breadcrumb-Navigation für Hafen-Detailseiten */
.harbour-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:18px 0 16px;font-size:13px;font-weight:650;color:#637d99}
.harbour-breadcrumb a{display:inline-flex;align-items:center;gap:7px;color:#0a66c2;transition:color .15s}
.harbour-breadcrumb a:hover{color:#06346a;text-decoration:underline}
.harbour-breadcrumb a svg{width:16px;height:16px;flex-shrink:0}
.harbour-breadcrumb .breadcrumb-chevron{font-size:21px;line-height:1;color:#9aadc0;font-weight:400}
.harbour-breadcrumb .breadcrumb-current{color:#173f6b;font-weight:800}
@media(max-width:620px){.harbour-breadcrumb{gap:7px;padding:12px 0;font-size:12px}.harbour-breadcrumb a svg{width:14px;height:14px}}

/* Ruhiger redaktioneller Veranstaltungskalender ohne externe Aktionslinks */
.event-day-primary{background:#edf5ff;border-left:3px solid #0a66c2}
.event-day-primary .event-day-heading{background:#e3efff;padding:10px 13px}
.event-day-primary .event-day-heading h3{font-size:16px;font-weight:850;color:#06346a}
.event-day-primary .event-list-row{padding:11px 14px}
.event-day-primary .event-row-main{display:block;width:100%}
.event-day-primary .event-row-title{font-size:14px;font-weight:800}
.event-day-primary .event-row-meta{font-size:12px;margin-top:2px}
.event-row-detail{font-size:12px;color:#59728c;line-height:1.5;margin-top:5px;max-width:850px}
.event-day-secondary .event-list-row{padding:6px 11px}
.event-day-secondary .event-row-main{flex:1}
.event-list-row{justify-content:flex-start}
@media(max-width:620px){.event-day-primary .event-list-row{padding:10px 11px}.event-day-primary .event-day-heading{padding:9px 11px}}

/* Einheitliches Magazin-Kartenraster in der Hafenführer-Übersicht */
.harbour-directory-intro{padding:24px 0 25px}
.harbour-directory-intro h1{font-size:clamp(37px,5.3vw,64px);letter-spacing:-2.5px;line-height:1.09;color:var(--navy);margin:12px 0}
.harbour-directory-intro h1 span{color:var(--blue)}
.harbour-directory-intro p{font-size:17px;color:var(--muted);max-width:820px;margin:8px 0}
.harbour-directory-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:12px 0 23px}
.harbour-directory-tools strong{display:block;color:var(--navy);font-size:17px}
.harbour-directory-tools span{display:block;font-size:12px;color:var(--muted)}
.harbour-directory-tools label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);font-weight:650}
.harbour-directory-tools select{max-width:100%;font:inherit;padding:11px 14px;background:#fff;border:1px solid #cadaed;border-radius:10px;color:var(--navy);min-width:235px}
.harbour-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.harbour-directory-card{display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:#fff;border:1px solid var(--border);min-width:0;box-shadow:0 2px 5px rgba(0,40,90,.035);transition:transform .17s,box-shadow .17s}
.harbour-directory-card:has(.harbour-card-click):hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(5,51,106,.11)}
.harbour-card-click{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
.harbour-card-click:hover{text-decoration:none}
.harbour-photo{height:205px;position:relative;overflow:hidden;background:linear-gradient(130deg,#8fbfe9,#d4eafa)}
.harbour-photo img{display:block;height:100%;width:100%;object-fit:cover;object-position:center}
.harbour-photo-label{position:absolute;bottom:12px;left:13px;border-radius:30px;background:rgba(255,255,255,.94);padding:6px 12px;color:#06346a;font-size:11px;font-weight:800}
.harbour-directory-body{padding:22px 22px 18px;flex:1;display:flex;flex-direction:column}
.harbour-directory-body h2{margin:8px 0 10px;color:var(--navy);font-size:25px;letter-spacing:-.6px;line-height:1.2}
.harbour-directory-body p{margin:0 0 19px;font-size:14px;color:var(--muted);line-height:1.56;flex:1}
.harbour-directory-action{font-size:13px;font-weight:800;color:var(--blue);margin-top:auto}
.harbour-photo-credit{border-top:1px solid #f0f4f8;padding:8px 20px 11px;font-size:10px;color:#708499}
.harbour-photo-credit a{color:#647d99;text-decoration:underline}
.harbour-upcoming-visual{height:205px;position:relative;overflow:hidden;background:linear-gradient(180deg,#c6e0f7 0%,#e5f3fc 62%,#8bbbd7 63%,#529ac2 100%);display:grid;place-items:center}
.harbour-upcoming-visual strong{position:relative;color:#06346a;background:rgba(255,255,255,.87);padding:8px 17px;border-radius:30px;font-weight:800;z-index:2}
.harbour-upcoming-sun{position:absolute;width:70px;height:70px;border-radius:50%;background:#f7efd5;top:25px;right:26px;opacity:.9}
.harbour-upcoming-horizon{position:absolute;height:70px;width:140%;left:-20%;bottom:10px;background:linear-gradient(180deg,#7bb5cf,#2f78a5);transform:rotate(-2deg);border-radius:50%}
.harbour-directory-card.is-upcoming .harbour-directory-body{background:#fcfdff}
.harbour-soon-label{align-self:start;font-size:12px;font-weight:750;background:#eaf2f9;border-radius:7px;padding:7px 10px;color:#667f97}
@media(max-width:860px){.harbour-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.harbour-directory-grid{grid-template-columns:1fr}.harbour-directory-tools label{width:100%;justify-content:space-between}.harbour-directory-tools select{min-width:0;width:65%}.harbour-directory-intro{padding-top:12px}.harbour-photo,.harbour-upcoming-visual{height:225px}}

/* Schmaler redaktioneller Pflegehinweis unter Breadcrumb */
.editorial-assurance{display:flex;align-items:center;gap:9px;width:fit-content;max-width:100%;min-height:32px;margin:3px 0 14px;font-size:11.5px;line-height:1.35;color:#677e94}
.editorial-assurance-photo{display:block;flex:0 0 30px;width:30px;height:30px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#bed9f3,#eff6fc);border:1px solid #d7e4f2}
.editorial-assurance span{font-weight:450}
.editorial-assurance>span>span{font-size:13px}
@media(max-width:620px){.editorial-assurance{font-size:11px;gap:8px;margin-bottom:12px}.editorial-assurance-photo{width:28px;height:28px;flex-basis:28px}}

/* Redaktioneller Hinweis als zurückhaltender Footer-naher Kasten */
.editorial-assurance-wrap{margin-top:42px;margin-bottom:18px}
.editorial-assurance-wrap .editorial-assurance{box-sizing:border-box;display:flex;align-items:center;gap:11px;width:100%;max-width:none;min-height:48px;margin:0;padding:10px 15px;border:1px solid #d8e6f6;border-radius:12px;background:#eef5fd;color:#617994;font-size:12px;line-height:1.45}
.editorial-assurance-wrap .editorial-assurance-photo{flex:0 0 32px;width:32px;height:32px;border-radius:50%;object-fit:cover}
@media(max-width:620px){.editorial-assurance-wrap{margin-top:27px;margin-bottom:12px}.editorial-assurance-wrap .editorial-assurance{font-size:11px;padding:10px 12px;min-height:46px}}

/* Einheitlicher Seitenrahmen – Version 2026-10 */
html,body{background:#fff!important}
.site-header{background:#fff!important;border-bottom:1px solid #e4ebf4!important;padding:0!important;height:auto!important;display:block!important}
.site-header .site-header-inner{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap;gap:18px;min-height:76px;padding-top:14px!important;padding-bottom:14px!important}
.site-brand{font-size:26px;font-weight:850;letter-spacing:-1.15px;white-space:nowrap;color:#07376f!important;line-height:1.15}
.site-brand span{color:#0a66c2}
.site-main-nav{display:flex!important;align-items:center;flex-direction:row!important;flex-wrap:wrap;gap:9px 23px!important;font-size:13px;font-weight:750;color:#07376f}
.site-main-nav a{color:#173f68!important;text-decoration:none;white-space:nowrap}
.site-main-nav a:hover,.site-main-nav a:focus-visible{color:#0a66c2!important;text-decoration:underline}
/* Bewusst nur der Redaktionshinweis erhält einen eigenen Hintergrund. */
.editorial-assurance-wrap{margin-top:42px!important;margin-bottom:16px!important}
.editorial-assurance-wrap .editorial-assurance{box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;max-width:none!important;min-height:51px!important;margin:0!important;padding:11px 15px!important;background:#f1f6fc!important;border:1px solid #dce9f8!important;border-radius:12px!important;box-shadow:none!important;font-size:12px!important;line-height:1.5!important;color:#617990!important}
.editorial-assurance-wrap .editorial-assurance-photo{display:block!important;flex:0 0 32px!important;width:32px!important;height:32px!important;object-fit:cover!important;border-radius:50%!important}
.editorial-assurance-wrap .editorial-assurance span{font-weight:450!important;font-size:inherit!important;color:inherit!important}
@media(max-width:750px){.site-header .site-header-inner{align-items:flex-start;min-height:0;gap:10px;padding-top:15px!important;padding-bottom:13px!important}.site-main-nav{gap:8px 15px!important;font-size:12px}.site-brand{font-size:24px}.editorial-assurance-wrap{margin-top:28px!important}.editorial-assurance-wrap .editorial-assurance{font-size:11px!important}}

/* Einheitlicher mehrspaltiger Seitenfooter */
.global-footer{background:#f5f8fc!important;border-top:1px solid #dce6f1!important;margin-top:36px!important;color:#4d6681!important;font-size:14px!important;padding:0!important;width:100%;display:block}
.global-footer-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr);gap:36px;padding-top:45px!important;padding-bottom:38px!important}
.global-footer-brand{display:inline-block;color:#083a73!important;font-size:25px;font-weight:850;letter-spacing:-1px}
.global-footer-brand span{color:#0a66c2}
.global-footer-about p{font-size:13px;max-width:340px;color:#68809a;line-height:1.6;margin:13px 0 0}
.global-footer-col{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:11px!important;flex-wrap:nowrap!important}
.global-footer-col h2{font:800 14px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:0!important;color:#07376f!important;margin:0 0 6px!important}
.global-footer-col a{font-size:13px;color:#546f89!important;font-weight:500;text-decoration:none}
.global-footer-col a:hover{text-decoration:underline;color:#0a66c2!important}
.global-footer-bottom{border-top:1px solid #dce6f1;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:18px!important;padding-bottom:24px!important;color:#71849a;font-size:11px}
@media(max-width:760px){.global-footer-main{grid-template-columns:1fr 1fr;gap:28px;padding-top:33px!important;padding-bottom:27px!important}.global-footer-about{grid-column:1/-1}}
@media(max-width:440px){.global-footer-main{grid-template-columns:1fr 1fr;gap:22px}.global-footer-col a{font-size:12px}.global-footer-bottom{flex-direction:column}}

/* Barcelona: kompakter, druckfreundlicher PDF-Download */
.harbour-pdf-card{display:flex;align-items:center;gap:17px;margin:23px 0 15px;padding:18px 21px;border-radius:15px;background:#f0f6fe;border:1px solid #cfe3f8}
.harbour-pdf-icon{flex:0 0 42px;height:42px;border-radius:11px;background:#d7eafe;color:#0a66c2;font-size:28px;font-weight:850;display:grid;place-items:center}
.harbour-pdf-copy{flex:1;min-width:0}
.harbour-pdf-copy strong{font-size:16px;line-height:1.3;color:#0b396a}
.harbour-pdf-copy p{font-size:13px;line-height:1.48;color:#607990;margin:4px 0 0}
.harbour-pdf-button{flex:0 0 auto;background:#0a66c2;color:#fff!important;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:800;text-decoration:none!important;white-space:nowrap}
.harbour-pdf-button:hover,.harbour-pdf-button:focus-visible{background:#07549d}
@media(max-width:680px){.harbour-pdf-card{align-items:flex-start;flex-wrap:wrap;padding:15px;gap:10px}.harbour-pdf-icon{width:37px;height:37px;flex-basis:37px}.harbour-pdf-copy{flex-basis:calc(100% - 52px)}.harbour-pdf-button{width:100%;text-align:center;margin-top:4px}}

/* Einheitliches hallodeck-Logo als skalierbares, Original-Logo aus Nutzervorlage */
.site-header .site-brand{display:inline-flex!important;align-items:center!important;flex:0 0 auto}
.site-header .site-brand img{display:block;width:230px;height:auto;max-width:100%}
.global-footer .global-footer-brand{display:inline-flex;align-items:center}
.global-footer .global-footer-brand img{display:block;width:210px;height:auto;max-width:100%}
@media(max-width:620px){.site-header .site-brand img{width:195px}.global-footer .global-footer-brand img{width:190px}}

/* Einheitliche kompakte Navigation – Suche, Favoriten, Hamburger */
.site-header .site-header-inner{position:relative;flex-wrap:nowrap!important;gap:14px!important}
.site-header:has(.header-actions) .site-main-nav{display:none!important}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px;position:relative;flex-shrink:0}
.header-icon-button{display:inline-flex;align-items:center;justify-content:center;position:relative;width:45px;height:45px;border:0;border-radius:50%;background:transparent;color:#183d61;cursor:pointer;transition:background .15s ease;color-scheme:light;text-decoration:none!important}
.header-icon-button:hover,.header-icon-button:focus-visible{background:#eaf3fc;color:#0a66c2}
.header-icon-button svg{width:27px;height:27px;pointer-events:none}
.header-fav-count{position:absolute;top:1px;right:0;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:12px;background:#0a66c2;color:white;font:700 11px/1 system-ui,sans-serif}
.header-fav-count[hidden]{display:none!important}
.header-menu-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:100;width:min(295px,calc(100vw - 42px));padding:20px;border:1px solid #dbe8f6;border-radius:16px;background:#fff;box-shadow:0 14px 45px rgba(18,53,88,.17)}
.header-menu-panel[hidden]{display:none!important}
.header-menu-panel>strong{font-size:17px;color:#143d66}
.header-menu-links{display:grid!important;gap:0!important;margin:10px 0 0!important}
.header-menu-links a{display:block;padding:12px 6px;border-bottom:1px solid #edf2f8;color:#214568;font-size:15px;font-weight:600;line-height:1.35;text-decoration:none}
.header-menu-links a:last-child{border:0}
.header-menu-links a:hover{color:#0a66c2;background:#f6faff}
@media(max-width:600px){.header-actions{gap:1px}.header-icon-button{width:42px;height:42px}.header-icon-button svg{width:25px;height:25px}.site-header .site-header-inner{gap:6px!important}}
/* Herz liegt tatsächlich über dem Bild und bleibt bei Listen- sowie Kachelansicht sichtbar */
.offer .picture{position:relative;isolation:isolate;overflow:hidden}
.offer .picture img{z-index:0}
.offer .favorite-heart{position:absolute!important;top:13px!important;right:13px!important;z-index:5!important;display:grid!important;place-items:center!important;width:45px!important;height:45px!important;padding:0!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:#274a64!important;box-shadow:0 3px 13px rgba(10,37,65,.19)!important;cursor:pointer}
.offer .favorite-heart svg{display:block;width:27px;height:27px;pointer-events:none}
.offer .favorite-heart:hover{transform:scale(1.055);color:#b83263!important}
.offer .favorite-heart[aria-pressed="true"]{color:#ae285b!important;background:#fff1f5!important}
.offer .favorite-heart[aria-pressed="true"] svg{fill:#ae285b;stroke:#ae285b}
.offer .favorite-heart:focus-visible{outline:3px solid #0a66c2!important;outline-offset:2px}
@media(max-width:600px){.offer .favorite-heart{top:10px!important;right:10px!important;width:44px!important;height:44px!important}}
