/* Marine Center Nord – Stylesheet */
@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/archivo-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/archivo-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/archivo-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/archivo-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/archivo-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:italic;font-weight:600;font-display:swap;src:url(../fonts/archivo-latin-600-italic.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/archivo-latin-700-italic.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/archivo-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:italic;font-weight:800;font-display:swap;src:url(../fonts/archivo-latin-800-italic.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/archivo-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:italic;font-weight:900;font-display:swap;src:url(../fonts/archivo-latin-900-italic.woff2) format('woff2')}
:root{
  --lh:108px; /* Logohöhe; weiß 61,2 % / blau 38,8 % */ --wh:66px; --bh:42px; --lw:224px;
  --navy:#002e5d; --navy-2:#0a3d73; --navy-deep:#001c3a;
  --red:#e30018; --red-dark:#b80014;
  --steel:#667b95; --steel-light:#c9d2dd;
  --bg:#ffffff; --bg-soft:#f2f5f9; --ink:#0f1c2e; --muted:#55657a; --line:#dde3ea;
  --radius:6px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Archivo,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.display{font-style:italic;font-weight:900;letter-spacing:-.01em;line-height:1.05;text-transform:none}
.eyebrow{font-weight:700;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:700;text-decoration:none;padding:.9em 1.5em;border-radius:var(--radius);transition:.2s;font-size:1rem;border:2px solid transparent}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark)}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy)}
.ph{position:absolute;right:10px;bottom:10px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;background:rgba(0,0,0,.45);color:#fff;padding:3px 8px;border-radius:3px}

/* Header */
header{position:sticky;top:0;z-index:50;background:#fff}
.nav{position:relative;display:flex;align-items:center;justify-content:space-between;height:var(--wh);gap:24px}
.logo-mark{position:absolute;top:0;left:24px;z-index:3;display:block;line-height:0}
.logo-mark img{height:var(--lh);width:auto;display:block}
.nav .logo{margin-left:calc(var(--lw) + 16px);margin-right:auto}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-word{display:flex;flex-direction:column;line-height:1}
.logo-word b{font-style:italic;font-weight:900;font-size:1.45rem;color:var(--navy);letter-spacing:-.01em}
.logo-word span{font-size:.62rem;font-weight:700;letter-spacing:.32em;color:var(--red);text-transform:uppercase;margin-top:4px}
.menu{display:flex;gap:28px;list-style:none;font-weight:600;font-size:.95rem}
.menu a{text-decoration:none;color:var(--navy)}.menu a:hover{color:var(--red)}
.nav .btn{padding:.6em 1.1em;font-size:.9rem}
.burger{display:none;background:none;border:0;cursor:pointer;color:var(--navy);margin-left:auto;position:relative;z-index:4}

/* Tagline-Band (aus der Rechnung) */
.band{background:var(--navy);color:#fff}
.band .wrap{display:flex;justify-content:space-between;align-items:center;height:var(--bh);padding-left:calc(24px + var(--lw) + 16px);font-style:italic;font-weight:600;letter-spacing:.12em;font-size:.82rem}
.band-name{display:none}
.band em{color:#fff;opacity:.75;font-style:normal;letter-spacing:.05em}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--navy-deep);color:#fff;min-height:620px;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0}
.hero-bg svg{width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,28,58,.92) 0%,rgba(0,28,58,.6) 50%,rgba(0,28,58,0) 80%)}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);max-width:12ch;margin:.25em 0 .35em}
.hero h1 span{color:var(--red)}
.hero p{max-width:34rem;font-size:1.15rem;opacity:.9}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:2rem}
.stripe{position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--red);z-index:3}

/* USP */
.usp{background:#fff;position:relative;z-index:4}
.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:-56px;box-shadow:0 18px 40px rgba(0,46,93,.15);border-radius:var(--radius);overflow:hidden}
.usp-item{background:#fff;padding:30px 28px;display:flex;gap:16px;align-items:flex-start;border-right:1px solid var(--line)}
.usp-item:last-child{border-right:0}
.usp-ico{flex:0 0 48px;height:48px;border-radius:50%;background:var(--bg-soft);display:grid;place-items:center;color:var(--red)}
.usp-item h3{font-style:italic;font-weight:800;color:var(--navy);font-size:1.2rem}
.usp-item p{color:var(--muted);font-size:.95rem}

section{padding:100px 0}
.head{max-width:44rem;margin-bottom:48px}
.head h2{font-size:clamp(2rem,4vw,2.9rem);color:var(--navy);margin:.3em 0 .4em}
.head p{color:var(--muted);font-size:1.08rem}

/* Leistungen */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,46,93,.12)}
.card-img{position:relative;aspect-ratio:4/3;background:var(--navy)}
.card-img svg{width:100%;height:100%}
.card-body{padding:22px;border-top:4px solid var(--red);flex:1}
.card h3{font-style:italic;font-weight:800;color:var(--navy);font-size:1.2rem;margin-bottom:.4em}
.card p{color:var(--muted);font-size:.95rem}

/* Highlight */
.feature{background:var(--bg-soft)}
.feature-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.feature-img{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:5/4;background:var(--navy)}
.feature-img svg{width:100%;height:100%}
.badge{position:absolute;top:18px;left:18px;background:var(--red);color:#fff;font-weight:800;font-style:italic;padding:6px 14px;border-radius:3px;font-size:.85rem;z-index:2}
.spec{list-style:none;margin:24px 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.spec li{display:flex;gap:10px;align-items:center;font-weight:500}
.spec li::before{content:"";width:9px;height:9px;background:var(--red);transform:skewX(-15deg);flex:0 0 9px}
.price{display:flex;align-items:baseline;gap:14px;margin-bottom:26px}
.price b{font-style:italic;font-weight:900;font-size:1.9rem;white-space:nowrap;color:var(--navy)}
.price span{color:var(--muted);font-size:.9rem}

/* Ablauf */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.step{position:relative;padding:30px 24px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.step::before{counter-increment:s;content:"0" counter(s);font-style:italic;font-weight:900;font-size:2.8rem;color:var(--red);line-height:1;display:block;margin-bottom:12px}
.step h3{color:var(--navy);font-weight:800;font-style:italic;font-size:1.15rem;margin-bottom:.3em}
.step p{color:var(--muted);font-size:.95rem}

/* Über uns */
.about{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about h2{color:#fff}
.about .head p,.about p{color:rgba(255,255,255,.82)}
.about-img{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;border-top:1px solid rgba(255,255,255,.2);padding-top:28px}
.stats b{display:block;font-style:italic;font-weight:900;font-size:2.2rem;color:#fff}
.stats span{font-size:.85rem;color:rgba(255,255,255,.7)}

/* Kontakt */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px}
.info{display:flex;flex-direction:column;gap:22px}
.info-row{display:flex;gap:16px}
.info-row .usp-ico{flex:0 0 44px;height:44px}
.info-row small{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.info-row a,.info-row div>span{font-weight:600;color:var(--navy);text-decoration:none;font-size:1.05rem}
.todo{background:#fff4d6;color:#7a5600;font-size:.72rem;font-weight:700;padding:1px 6px;border-radius:3px;margin-left:6px;vertical-align:middle}
form{background:var(--bg-soft);padding:34px;border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;gap:16px}
form .full{grid-column:1/-1}
label{font-size:.82rem;font-weight:700;color:var(--navy);display:block;margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;padding:.75em .9em;border:1px solid var(--line);border-radius:4px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);border-color:transparent}
textarea{min-height:120px;resize:vertical}

footer{position:relative;background:var(--navy);color:rgba(255,255,255,.75);padding:calc(var(--bh) + 48px) 0 28px;font-size:.92rem}
footer>.wrap{position:relative}
.foot-mark{position:absolute;top:calc(-1 * (var(--wh) + var(--bh) + 48px));left:24px;line-height:0}
.foot-mark img{height:var(--lh);width:auto;display:block}
.legal{color:rgba(255,255,255,.6)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
footer .logo-word b{color:#fff}
footer h4{color:#fff;font-style:italic;font-weight:800;margin-bottom:12px}
footer ul{list-style:none;display:grid;gap:6px}
footer a{text-decoration:none}footer a:hover{color:#fff}
.legal{display:flex;justify-content:space-between;padding-top:22px;font-size:.82rem;flex-wrap:wrap;gap:10px}

@media (max-width:980px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .feature-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .menu,.nav>.btn{display:none}
  .burger{display:block}
  :root{--lh:80px;--wh:49px;--bh:31px;--lw:166px}
  .logo-mark{left:16px}.foot-mark{left:16px}
  .nav .logo{display:none}
  .band .wrap{padding-left:calc(16px + var(--lw) + 12px)}
  .band-name{display:inline;font-weight:900;letter-spacing:.02em;font-size:.9rem}.band-tag{display:none}
  .menu.open{display:flex;flex-direction:column;position:absolute;top:calc(var(--wh) + var(--bh));left:0;right:0;background:#fff;padding:20px 16px;gap:16px;border-bottom:1px solid var(--line)}
  .band em{display:none}
  .band .wrap{font-size:.7rem;letter-spacing:.06em}
  .hero{min-height:560px}
  .hero::after{background:linear-gradient(180deg,rgba(0,28,58,.55),rgba(0,28,58,.92))}
  .usp-grid{grid-template-columns:1fr;margin-top:-36px}
  .usp-item{border-right:0;border-bottom:1px solid var(--line)}
  section{padding:72px 0}
  .cards,.steps,.spec{grid-template-columns:1fr}
  form{grid-template-columns:1fr;padding:22px}
  .foot{grid-template-columns:1fr}
  .stats b{font-size:1.7rem}
  .price{flex-wrap:wrap}.price b{white-space:normal}
}

/* ---------- Unterseiten ---------- */
.page-hero{background:var(--navy-deep);color:#fff;padding:64px 0 56px;position:relative}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--red)}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.page-hero p{opacity:.8;margin-top:.6em;max-width:40rem}
.legal-page{padding:64px 0 96px}
.legal-page .wrap{max-width:860px}
.legal-page h2{font-style:italic;font-weight:800;color:var(--navy);font-size:1.5rem;margin:2em 0 .5em}
.legal-page h2:first-child{margin-top:0}
.legal-page h3{font-weight:700;color:var(--navy);font-size:1.1rem;margin:1.5em 0 .4em}
.legal-page p,.legal-page li{color:#2b3a4d;margin-bottom:.8em}
.legal-page ul,.legal-page ol{padding-left:1.3em;margin-bottom:1em}
.legal-page a{color:var(--navy);text-decoration:underline}
.legal-page .box{background:var(--bg-soft);border-left:4px solid var(--red);padding:20px 24px;border-radius:4px;margin:1.5em 0}
mark.todo{background:#fff4d6;color:#7a5600;font-weight:600;padding:0 4px;border-radius:3px;font-size:inherit;margin-left:0;vertical-align:baseline}
.center-page{min-height:52vh;display:flex;align-items:center;text-align:center}
.center-page .wrap{max-width:640px}
.center-page h1{color:var(--navy);font-size:clamp(2.2rem,5vw,3.2rem);margin:.3em 0 .4em}
.center-page p{color:var(--muted);margin-bottom:2rem}
/* Formular-Extras */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--muted)}
.check input{width:auto;margin-top:4px}
.check a{color:var(--navy)}
.form-msg{grid-column:1/-1;padding:12px 16px;border-radius:4px;font-weight:600;font-size:.92rem}
.form-msg.err{background:#fde7ea;color:var(--red-dark)}

/* =========================================================
   WordPress-Erweiterungen: Bestand, Detailseite, Formular
   ========================================================= */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;padding:10px 16px}
.skip-link:focus{left:16px;top:8px}
.menu a[aria-current="page"]{color:var(--red)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-block{display:flex;justify-content:center;width:100%;margin-top:10px}
button.btn{border:0;cursor:pointer;font-family:inherit}
.opt{font-weight:400;color:var(--muted)}
.inhalt>*+*{margin-top:1em}
.inhalt a{color:var(--navy)}
.legal-page mark,.inhalt mark{background:#fff4d6;color:#7a5600;font-weight:600;padding:0 4px;border-radius:3px}
.mcn-box{background:var(--bg-soft);border-left:4px solid var(--red);padding:20px 24px;border-radius:4px;margin:1.5em 0}

/* Kopf-Zeile mit Button rechts */
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;max-width:none}
.head-row>div{max-width:44rem}

/* Karten-Raster für Angebote */
.angebot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.card .card-img img{width:100%;height:100%;object-fit:cover;display:block}
.chip{position:absolute;left:12px;top:12px;background:rgba(0,46,93,.88);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:3px}
.badge-status{position:absolute;right:12px;top:12px;background:var(--red);color:#fff;font-weight:800;font-style:italic;font-size:.85rem;padding:4px 12px;border-radius:3px}
.badge-status.gross{font-size:1rem;padding:6px 16px;right:16px;top:16px;z-index:3}
.foto-anzahl{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.55);color:#fff;font-size:.72rem;padding:3px 8px;border-radius:3px}
.angebot-card .card-body{display:flex;flex-direction:column}
.angebot-card h3{font-size:1.15rem;line-height:1.3}
.fakten{font-size:.88rem;color:var(--muted);margin-top:.3em}
.card-preis{margin-top:auto;padding-top:14px}
.card-preis b{font-style:italic;font-weight:900;font-size:1.4rem;color:var(--navy)}
.card-preis span{font-weight:700;color:var(--red);font-size:.9rem}
.status-verkauft .card-img img,.status-verkauft .card-img svg{filter:grayscale(.8);opacity:.75}
.leer{background:#fff;border:1px dashed var(--steel-light);border-radius:var(--radius);padding:40px;text-align:center}
.leer p{color:var(--muted);max-width:36rem;margin:0 auto 20px}
.leer h2{color:var(--navy);font-size:1.8rem;margin-bottom:.4em}

/* Übersicht */
.page-hero{background:var(--navy-deep);color:#fff;padding:64px 0 56px;position:relative}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--red)}
.bestand{padding:48px 0 100px}
.filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.filter a{text-decoration:none;border:1.5px solid var(--line);color:var(--navy);font-weight:700;padding:.5em 1.1em;border-radius:40px;font-size:.92rem}
.filter a span{color:var(--muted);font-weight:500;margin-left:4px}
.filter a:hover{border-color:var(--navy)}
.filter a.aktiv{background:var(--navy);border-color:var(--navy);color:#fff}
.filter a.aktiv span{color:rgba(255,255,255,.7)}
.pagination{margin-top:40px}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pagination .page-numbers{display:inline-block;padding:.5em .9em;border:1px solid var(--line);border-radius:4px;text-decoration:none;color:var(--navy);font-weight:600}
.pagination .page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.cta-band{margin-top:64px;background:var(--navy);color:#fff;border-radius:var(--radius);padding:36px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:6px solid var(--red)}
.cta-band h2{font-size:1.8rem}
.cta-band p{opacity:.85;margin-top:.3em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Detailseite */
.angebot-detail{padding-top:28px}
.breadcrumb{font-size:.88rem;color:var(--muted);margin-bottom:22px}
.breadcrumb a{color:var(--navy);text-decoration:none}
.breadcrumb a:hover{color:var(--red)}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:48px;align-items:start}
.galerie-main{position:relative;aspect-ratio:4/3;background:var(--navy);border-radius:var(--radius);overflow:hidden}
.galerie-bild{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .3s;pointer-events:none}
.galerie-bild.aktiv{opacity:1;pointer-events:auto}
.galerie-bild a,.galerie-bild img,.galerie-bild svg{display:block;width:100%;height:100%}
.galerie-bild img{object-fit:cover;cursor:zoom-in}
.galerie-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--navy);font-size:1.8rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.galerie-nav:hover{background:#fff}
.galerie-nav.prev{left:14px}.galerie-nav.next{right:14px}
.galerie-zaehler{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.55);color:#fff;font-size:.8rem;padding:4px 10px;border-radius:3px;z-index:2}
.galerie-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px}
.galerie-thumbs button{flex:0 0 96px;height:72px;border:2px solid transparent;border-radius:4px;overflow:hidden;padding:0;cursor:pointer;background:none;opacity:.7}
.galerie-thumbs button.aktiv{border-color:var(--red);opacity:1}
.galerie-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.detail-info h1{font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--navy);margin:.2em 0 .4em}
.detail-info .lead{color:var(--muted);font-size:1.05rem}
.preisbox{background:var(--bg-soft);border-radius:var(--radius);padding:24px;margin:22px 0;border-top:4px solid var(--red)}
.preisbox .preis{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.preisbox .preis b{font-style:italic;font-weight:900;font-size:2.2rem;color:var(--navy);line-height:1.1}
.preisbox .preis span{font-weight:800;color:var(--red)}
.preisbox .hinweis{font-weight:600;color:var(--red-dark);margin-bottom:8px}
.preisbox .klein{font-size:.8rem;color:var(--muted);margin-top:12px}
.kurzdaten{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.kurzdaten div{background:#fff;padding:12px 14px}
.kurzdaten dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.kurzdaten dd{font-weight:700;color:var(--navy)}
.detail-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:48px;padding:56px 0 24px}
.detail-body h2{color:var(--navy);font-size:1.7rem;margin-bottom:.6em}
.detail-body h2:not(:first-child){margin-top:1.4em}
.daten{width:100%;border-collapse:collapse}
.daten th,.daten td{text-align:left;padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.daten th{color:var(--muted);font-weight:600;width:48%}
.daten td{color:var(--navy);font-weight:700}
.angebot-detail #kontakt{background:var(--bg-soft);margin-top:40px}
.angebot-detail #kontakt form{background:#fff}
.weitere{padding:80px 0}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,18,38,.94);display:flex;align-items:center;justify-content:center;padding:40px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer;padding:10px 16px;line-height:1}
.lb-close{top:10px;right:14px}.lb-prev{left:10px;top:50%;transform:translateY(-50%)}.lb-next{right:10px;top:50%;transform:translateY(-50%)}

/* Seiten */
.center-page .inhalt{color:var(--muted);margin-bottom:2rem}
.center-page .btn{margin:4px}

@media (max-width:980px){
  .angebot-grid{grid-template-columns:repeat(2,1fr)}
  .detail-grid,.detail-body{grid-template-columns:1fr;gap:32px}
}
@media (max-width:760px){
  .angebot-grid{grid-template-columns:1fr}
  .head-row{flex-direction:column;align-items:flex-start}
  .cta-band{flex-direction:column;align-items:flex-start;padding:28px 22px}
  .galerie-nav{width:38px;height:38px;font-size:1.5rem}
  .page-hero{padding:44px 0 40px}
  .bestand{padding:32px 0 72px}
}

/* Feinschliff */
.menu a,.nav .btn{white-space:nowrap}
.menu{gap:22px}

@media (max-width:980px){ .detail-grid,.detail-body{grid-template-columns:minmax(0,1fr)} }
@media (max-width:1100px) and (min-width:761px){ .menu{gap:16px;font-size:.88rem} .nav .btn{padding:.55em .9em;font-size:.85rem} }
/* Footer-Logo sitzt immer auf weißem Grund */
footer{margin-top:calc(var(--wh) + 24px)}
.legal-page{word-wrap:break-word;overflow-wrap:anywhere}
.page-hero h1,.detail-info h1,.center-page h1{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}

/* Kopfzeile robust gegen größere Systemschrift: Schriftzug neben dem Logo
   in festen Pixeln, ohne Umbruch, und rechtzeitig ausblenden */
.logo-word b{font-size:23px;white-space:nowrap}
.logo-word span{font-size:10px;white-space:nowrap}
.nav .logo{flex-shrink:0}
.menu{flex-wrap:nowrap}
@media (max-width:77.5em){ .nav .logo{display:none} }

/* Menü beginnt immer rechts vom Logo; bei wenig Platz Burger-Menü */
.nav{padding-left:calc(24px + var(--lw) + 16px)}
.nav .logo{margin-left:0}
.nav>.btn{flex-shrink:0}
@media (max-width:64em){
  .menu,.nav>.btn{display:none}
  .burger{display:block;margin-left:auto}
  .menu.open{display:flex;flex-direction:column;position:absolute;top:calc(var(--wh) + var(--bh));left:0;right:0;background:#fff;padding:20px 24px;gap:16px;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,46,93,.12);z-index:60}
}
@media (max-width:760px){ .nav{padding-left:calc(16px + var(--lw) + 12px)} .menu.open{padding:20px 16px} }

/* Leistungen: 6 Karten in 3 Spalten */
#leistungen .cards{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){#leistungen .cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){#leistungen .cards{grid-template-columns:1fr}}
.card-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
section[id]{scroll-margin-top:calc(var(--wh) + var(--bh))}
