:root{--bg:#0d1626;--panel:#17243b;--panel2:#213050;--text:#f2f4f8;--muted:#b6becd;--accent:#5fc7bf;--accent2:#e8dcc4;--line:#2a3c5a;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#0d1626;color:var(--text);line-height:1.65}.wrap{width:min(1120px,92vw);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(14,17,23,.92);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text)}.brand-logo{display:block;width:min(265px,55vw);height:auto}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#111;font-weight:900}.brand small{display:block;color:var(--muted);font-size:.9rem}.main-nav{display:flex;gap:14px;align-items:center}.main-nav a,.stealth-link{color:var(--text);text-decoration:none;border:0;background:transparent;font:inherit;cursor:pointer;padding:8px 10px;border-radius:6px;text-align:left}.main-nav a:hover,.stealth-link:hover{background:var(--panel2);color:var(--accent)}.main-nav .customer-login-link{border:1px solid rgba(95,199,191,.45);background:rgba(95,199,191,.08);color:var(--accent);font-weight:800}.main-nav .customer-login-link:hover{background:var(--accent);color:#111;border-color:transparent}.menu-toggle{display:none;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:10px 14px;font-size:1.45rem;line-height:1;min-width:50px;min-height:46px}.hero{padding:56px 0 28px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}.eyebrow{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.05;margin:.2em 0}.lead{font-size:1.05rem;color:var(--muted)}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;font-size:.92rem;font-weight:600;border-radius:6px;text-decoration:none;font-weight:700;border:1px solid var(--line);color:var(--text);background:var(--panel2)}.btn.primary{background:var(--accent);color:#111;border:0}.hero-card,.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 1px 2px rgba(0,0,0,.18)}.section{padding:28px 0}.section h1,.section h2{line-height:1.15}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card h3{margin-top:0}.card a{color:var(--text);text-decoration:underline;text-decoration-color:rgba(242,244,248,.45);text-underline-offset:3px}.card a:hover{color:var(--accent);text-decoration-color:var(--accent)}.card ul,.content ul{padding-left:1.2rem}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start}.portrait{width:100%;border-radius:8px;border:1px solid var(--line);display:block}.form{display:grid;gap:14px}.form label{display:grid;gap:6px;font-weight:700}.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#0b1424;color:var(--text);padding:12px;font:inherit}.form textarea{min-height:160px}.hint{color:var(--muted);font-size:.95rem}.message{padding:14px 16px;border-radius:6px;margin-bottom:16px}.message.ok{background:#14351f;border:1px solid #2d8d48}.message.err{background:#3b1717;border:1px solid #9c3838}.hp{position:absolute;left:-9999px;opacity:0}.legal{background:#fff;color:#111;border-radius:8px;padding:26px}.legal h1,.legal h2,.legal h3{color:#111}.legal a{color:#0b5db8}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:24px 0}.price-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 1px 2px rgba(0,0,0,.18)}.price-card.highlight{border-color:var(--accent);box-shadow:0 1px 2px rgba(0,0,0,.18)}.price-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.price-head h3{margin:0;font-size:1.55rem}.price{margin:0;text-align:right}.price strong{font-size:2rem;color:var(--accent)}.price span{color:var(--muted)}.price-card ul{padding-left:1.2rem;margin-bottom:0}.price-card li{margin:.45rem 0}.site-footer{border-top:1px solid var(--line);background:#081120;color:var(--muted);padding:28px 0;margin-top:40px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center}.footer-links{display:grid;gap:8px;justify-items:start}.mini-note{font-size:.9rem;color:var(--muted)}@media(max-width:850px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:4vw;right:4vw;top:82px;background:#0f1c33;border:1px solid var(--line);border-radius:8px;padding:14px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.price-head{display:block}.price{text-align:left}.main-nav a,.main-nav .stealth-link{display:block;width:100%;text-align:left;padding:12px 14px}.hero-grid,.split,.cards,.pricing-grid,.footer-grid{grid-template-columns:1fr}.hero{padding:54px 0 34px}}

.table-wrap{overflow:auto;margin:18px 0;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.02)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--accent);background:rgba(255,255,255,.035)}tr:last-child td{border-bottom:0}.stat-number{font-size:2.4rem;font-weight:900;color:var(--accent);margin:.2em 0}.app-body .brand-logo{width:min(220px,50vw)}.app-nav{gap:8px}.signature-pad{width:100%;height:220px;background:#fff;border:2px dashed #8892a5;border-radius:8px;touch-action:none;display:block}pre{white-space:pre-wrap;background:#0b1424;border:1px solid var(--line);padding:16px;border-radius:6px;color:var(--text)}.content .btn + .btn{margin-left:8px}.message a{color:inherit;text-decoration:underline}.admin-note{background:#fff7dc;color:#111;border:1px solid #e8c45d;border-radius:8px;padding:14px 16px}.price-card .btn{margin-top:16px}@media(max-width:850px){.app-nav{display:flex;position:static;background:transparent;border:0;padding:0;flex-wrap:wrap}.content .btn + .btn{margin-left:0;margin-top:8px}.signature-pad{height:180px}}

.code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:520px;line-height:1.45}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}.btn.small{padding:8px 12px;font-size:.9rem}

.login-page{min-height:100vh;background:#0d1626;display:grid;place-items:center;padding:28px;color:var(--text)}
.login-shell{width:min(460px,94vw)}
.login-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:34px;box-shadow:0 1px 2px rgba(0,0,0,.18)}
.login-logo{display:block;margin-bottom:24px}.login-logo img{width:min(250px,80vw);height:auto;display:block}.login-card h1{margin:.25em 0 .2em;font-size:2.25rem;line-height:1.1}.login-card .btn{width:100%;margin-top:6px}.login-card .mini-note a{color:var(--muted);text-decoration:none}.login-card .mini-note a:hover{color:var(--accent)}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid-3{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:14px}@media(max-width:700px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.login-card{padding:26px}}

.legal-pre{
  white-space: pre-wrap;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  padding: 18px;
  line-height: 1.65;
  overflow: auto;
}
.checkline{
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.04);
}
.checkline input{ width:auto; margin-top:4px; }

/* Saubere Checkbox-Zeilen in Admin-/Kundenformularen */
.form label.checkbox-row{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start;
  gap:10px;
  font-weight:700;
  line-height:1.35;
}
.form label.checkbox-row input[type="checkbox"]{
  width:18px !important;
  min-width:18px;
  max-width:18px;
  height:18px !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 18px;
  align-self:center !important;
  vertical-align:middle;
}
.form label.checkbox-row span{
  display:inline-block;
  line-height:1.35;
}


.legal-text a{display:inline-flex;align-items:center;gap:6px;color:var(--text);text-decoration:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);border-radius:6px;padding:4px 9px;font-weight:700;transition:background .18s ease,color .18s ease,border-color .18s ease}
.legal-text a:hover{background:var(--panel2);color:var(--accent);border-color:rgba(95,199,191,.45)}
.legal-text a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.footer-links a,.footer-links button{color:var(--muted);text-decoration:none;border:0;background:transparent;font:inherit;cursor:pointer;padding:6px 8px;border-radius:6px;text-align:left}.footer-links a:hover,.footer-links button:hover{background:var(--panel2);color:var(--accent)}.inline-link{color:var(--accent);background:transparent;border:0;padding:0;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(95,199,191,.45);text-underline-offset:4px}.inline-link:hover{color:#fff;text-decoration-color:var(--accent)}.agb-inline{margin:6px 0 2px}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal-box{width:min(960px,94vw);max-height:88vh;overflow:auto;background:#132039;border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.18);position:relative}.modal-content{padding:28px}.modal-close{position:sticky;top:12px;float:right;margin:12px 12px 0 0;width:42px;height:42px;border-radius:6px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:28px;line-height:1;cursor:pointer}.modal-close:hover{background:var(--accent);color:#111}.legal a,.legal-text a,.content a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(95,199,191,.45);text-underline-offset:4px}.legal a:hover,.legal-text a:hover,.content a:hover{color:#fff;text-decoration-color:var(--accent)}

.legal-text a{display:inline-flex;align-items:center;gap:6px;color:var(--text)!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);border-radius:6px;padding:4px 9px;font-weight:700;transition:background .18s ease,color .18s ease,border-color .18s ease}.legal-text a:hover{background:var(--panel2);color:var(--accent)!important;border-color:rgba(95,199,191,.45)}

.copy-input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:inherit;border-radius:6px;padding:12px 14px;font:inherit}
.seo-service-block{border-top:1px solid rgba(255,255,255,.08)}
.faq-list details{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:14px 16px;margin:12px 0;background:rgba(255,255,255,.04)}
.faq-list summary{cursor:pointer;font-weight:700;color:#fff}
.faq-list details[open]{background:rgba(255,255,255,.07)}
.faq-list p{margin-bottom:0}
.price-tax-note{font-size:.86rem;color:#9aa7b8;margin:.7rem 0 0;line-height:1.45}.card .price-tax-note{margin-top:1rem}.price-tax-note strong{color:#f3c25f}

/* SEO-Landingpages und interne Themenverlinkung */
.seo-spotlight .spotlight-card{border-color:rgba(95,199,191,.32);box-shadow:0 1px 2px rgba(0,0,0,.18)}
.seo-linkhub{margin:32px 0}.seo-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 8px}.seo-topic-card{display:block;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.04);padding:16px 18px;text-decoration:none!important;color:var(--text)!important;transition:background .18s ease,border-color .18s ease,transform .18s ease}.seo-topic-card strong{display:block;color:var(--accent);font-size:1.05rem;margin-bottom:6px}.seo-topic-card span{display:block;color:var(--muted);font-size:.95rem;line-height:1.45}.seo-topic-card:hover{background:rgba(95,199,191,.08);border-color:rgba(95,199,191,.45);transform:translateY(-1px)}.seo-landing-hero{padding-bottom:32px}.seo-landing-content h2{margin-top:1.65em}.seo-internal-box{margin:34px 0}.seo-bottom-cta{margin-top:28px}@media(max-width:850px){.seo-topic-grid{grid-template-columns:1fr}}

.action-stack{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.btn.danger{border-color:#7f1d1d;background:#3b1515;color:#ffd7d7}
.btn.danger:hover{background:#5b1b1b;color:#fff}

a{color:var(--accent);text-underline-offset:3px}

.portrait{height:auto;max-height:560px;width:auto;max-width:100%;margin:0 auto 18px;display:block}

.split > div:first-child > h1:first-child{margin-top:0}
.split > div:first-child > p{font-size:1.05rem;line-height:1.6}
.portrait{max-height:420px}

.contact-split .split{grid-template-columns:1fr 1fr;align-items:stretch}
.contact-split .portrait{width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;margin:0 0 16px}
@media(max-width:850px){.contact-split .portrait{aspect-ratio:4/3;max-width:100%}}

@media(max-width:850px){.contact-split .split{grid-template-columns:1fr}.contact-split .portrait{aspect-ratio:4/5;max-width:440px}}

@media(max-width:600px){.split > .card{padding:20px 18px}.form input[type=file]{width:100%;font-size:.9rem}.form label{font-size:.95rem}.form input,.form select,.form textarea{font-size:16px}}

/* Textlinks in Rechtstexten: als normale Links in der Akzentfarbe, nicht als Schaltfläche */
.legal-text a:not(.btn){display:inline;color:var(--accent);text-decoration:underline;text-underline-offset:3px;border:0;background:transparent;padding:0;border-radius:0;font-weight:600;color:var(--accent)!important}
.legal-text a:not(.btn):hover{color:var(--text)!important;background:transparent}

/* Rechtstexte: ruhiger Satz, kleinere Überschriften */
.legal-text{font-size:.95rem;line-height:1.65;color:var(--muted)}
.legal-text h1{font-size:1.6rem;margin:0 0 .5em;color:var(--text)}
.legal-text h2{font-size:1.05rem;margin:1.6em 0 .35em;color:var(--text);font-weight:700}
.legal-text h3{font-size:1rem;margin:1.2em 0 .3em;color:var(--text)}
.legal-text p{margin:.35em 0 .9em}
.legal-text ul{padding-left:1.1rem;margin:.4em 0 .9em}
.legal-text details{margin:.4em 0}

/* Lange Wörter in Überschriften umbrechen, damit das Raster nicht über den Bildschirm hinausläuft */
.hero h1,.section h1,.section h2,.hero-grid > *{overflow-wrap:anywhere;min-width:0}

.hero-card h2{font-size:1.2rem;line-height:1.35;font-weight:650}
.hero-card p{font-size:.95rem;line-height:1.6}
.card h2{font-size:1.15rem;font-weight:650}

/* Ruhigeres Layout: weniger Abstand, schlichte Links, dezente Kopfzeile */
.main-nav .customer-login-link{border:0;background:transparent;color:var(--accent);padding:6px 4px;font-weight:600}
.main-nav .customer-login-link:hover{background:transparent;color:var(--text);border-color:transparent}
.eyebrow{font-size:.78rem;letter-spacing:.06em}
.content h2,.section h2{margin:1.1em 0 .45em}
.section + .section{padding-top:8px}
.content ul{list-style:none;padding-left:0;margin:.6em 0 1em}
.content ul li{padding:.45em 0;border-bottom:1px solid var(--line)}
.content ul li:last-child{border-bottom:0}
.content ul li a{color:var(--text);text-decoration:none;border-bottom:1px solid rgba(95,199,191,.5)}
.content ul li a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* Buchungsseite: Formular und Übersicht in ausgewogenen Spalten */
.booking-page .split{grid-template-columns:1fr 1fr;gap:28px}
.booking-page .card{padding:22px}
.booking-page .form{gap:10px}
.booking-page .form label{font-size:.9rem;font-weight:600}
.booking-page .form textarea{min-height:96px}
.price-list{margin:0 0 12px}
.price-list div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.price-list div:last-child{border-bottom:0}
.price-list dt{font-weight:600}
.price-list dd{margin:0;text-align:right;color:var(--muted);font-size:.95rem}
@media(max-width:850px){.booking-page .split{grid-template-columns:1fr}}

@media(min-width:851px){.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Preiskarten: gleich hoch, Preis und Button auf einer Linie */
.pricing-grid{align-items:stretch}
.price-card{display:flex;flex-direction:column}
.price-card h2{margin:0 0 10px;font-size:1.25rem}
.price-card .price{margin:0 0 14px;min-height:2.6em;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.price-card .price strong{font-size:1.7rem}
.price-card ul{flex:1 1 auto}
.price-card .btn{margin-top:18px;align-self:flex-start}


.site-footer .price-note{font-size:.78rem;line-height:1.5;color:#7d8799;margin:0 0 16px;padding-top:14px;border-top:1px solid var(--line)}

.typed-confirm{position:fixed;inset:0;background:rgba(5,10,18,.7);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}
.typed-confirm-box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px;max-width:460px;width:100%}
.typed-confirm-box p{margin:0 0 14px}
.typed-confirm-box label{display:grid;gap:6px;font-weight:600;margin-bottom:16px}
.typed-confirm-box input{width:100%;border:1px solid var(--line);border-radius:6px;background:#0b1424;color:var(--text);padding:10px;font:inherit}
.typed-confirm-actions{display:flex;gap:10px;justify-content:flex-end}

/* Kundensegmente bei Rundmails */
.segment-list { border: 1px solid var(--line, #d9dee6); border-radius: 8px; padding: 12px 16px; margin: 0 0 16px; }
.segment-list legend { font-weight: 600; padding: 0 6px; }
.segment-check { display: flex; align-items: center; gap: 8px; margin: 6px 0; }
.segment-check input[type="checkbox"] { width: auto; margin: 0; }

/* Admin- und Kundenmenü: Einträge umbrechen statt aus dem Bildschirm zu laufen */
.app-body .nav-wrap{flex-wrap:wrap;row-gap:8px}
.app-body .app-nav{flex-wrap:wrap;justify-content:flex-end;gap:2px 4px}
.app-body .app-nav a{white-space:nowrap;padding:6px 8px}

/* Kontrollkästchen im Formular: nicht die volle Breite einnehmen, neben dem Text stehen */
.form input[type=checkbox],.form input[type=radio]{width:auto;padding:0;margin:0 8px 0 0;border:0;background:none;accent-color:var(--accent);font-size:inherit;vertical-align:middle}

/* Aufzählungen in Landingpages */
.seo-landing-content ul,.faq-list ul{margin:8px 0 16px;padding-left:1.4em;list-style:disc}
.seo-landing-content li,.faq-list li{margin:4px 0;line-height:1.6}

/* Aufzählungen in Landingpages mit echten Punkten, ohne die Trennlinien der Linklisten */
.content.seo-landing-content ul{list-style:disc outside;padding-left:1.4em;margin:8px 0 16px}
.content.seo-landing-content ul li{border-bottom:0;padding:.2em 0}
.content.seo-landing-content ul li a{border-bottom:0}

/* Kontrollkästchen in Formularen: Box und Text in einer Zeile. Das Formular-Label ist sonst ein Raster, in dem die Box mittig landet. */
.form label:has(> input[type=checkbox]),.form label:has(> input[type=radio]){display:flex;align-items:center;justify-content:flex-start;gap:8px;font-weight:600}

/* Fußbereich: klare Ordnung mit Hinweis, Marke und Rechtslinks in einer Zeile, Copyright unten in eigener Zeile */
.site-footer{padding:0;margin-top:56px;background:#081120;color:var(--muted);font-size:.92rem}
.site-footer .footer-note{margin:0;padding:18px 0;font-size:.8rem;line-height:1.55;color:#7d8799;border-bottom:1px solid var(--line)}
.site-footer .footer-main{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding:26px 0}
.site-footer .footer-brand{display:flex;flex-direction:column;gap:4px}
.site-footer .footer-brand strong{color:var(--text);font-size:1rem;font-weight:700}
.site-footer .footer-brand span{font-size:.86rem;color:var(--muted)}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:10px 28px}
.site-footer .footer-links .stealth-link{display:inline;padding:0;margin:0;border:0;border-radius:0;background:none;color:var(--muted);font:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(182,190,205,.35);cursor:pointer;width:auto}
.site-footer .footer-links .stealth-link:hover{background:none;color:var(--accent);text-decoration-color:var(--accent)}
.site-footer .footer-bottom{padding:16px 0 22px;border-top:1px solid var(--line);font-size:.82rem;color:#7d8799}

/* Fußbereich, kompakter: Links ohne Unterstrich, Hover wie im Hauptmenü, Copyright mit Domain */
.site-footer{margin-top:40px}
.site-footer .footer-main{padding:20px 0}
.site-footer .footer-links{gap:6px 10px}
.site-footer .footer-links .stealth-link{padding:6px 10px;border-radius:6px;text-decoration:none;color:var(--muted)}
.site-footer .footer-links .stealth-link:hover{background:var(--panel2);color:var(--accent);text-decoration:none}
.site-footer .footer-bottom{padding:14px 0 18px;border-top:0;font-size:.8rem}
