/* Gastgeber-Landingpage – ergänzt Bootstrap 3.4.1 */
:root{}
html{font-size:10px;scroll-behavior:smooth}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/plus-jakarta-sans-v12-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
body{background:#fff;color:rgb(33,33,33);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.6rem;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',sans-serif;color:rgb(33,33,33);margin:0}
a{color:#c9302c}
a:hover,a:focus{color:rgb(33,33,33)}
.text-muted-g{color:#555}
.section{padding:96px 0;border-top:1px solid #e5e5e5}
.section-first{border-top:0}
.eyebrow{display:inline-block;font-size:1.3rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#c9302c}
.eyebrow-pill{border:1px solid #ebcccc;padding:6px 14px;border-radius:18px;line-height:1.4;max-width:100%}
.h-section{overflow-wrap:break-word;hyphens:auto;font-weight:700;font-size:clamp(3.2rem,3.8vw,4.8rem);line-height:1.05;letter-spacing:-.015em}
.lead-g{font-size:1.8rem;line-height:1.55;color:#555;margin:0}
.mono{font-family:'JetBrains Mono',monospace}

/* Buttons */
.btn-g{display:inline-block;border-radius:999px;font-weight:600;font-size:1.6rem;padding:15px 26px;border:1.5px solid transparent;line-height:1.2;transition:background .15s,color .15s}
.btn-g:hover,.btn-g:focus{text-decoration:none}
.btn-g-primary{background:#d9534f;color:#fff;border-color:#d9534f}
.btn-g-primary:hover,.btn-g-primary:focus{background:#c9302c;border-color:#c9302c;color:#fff}
.btn-g-outline{background:#fff;color:rgb(33,33,33);border-color:rgb(33,33,33)}
.btn-g-outline:hover,.btn-g-outline:focus{background:#d9534f;border-color:#d9534f;color:#fff}
.btn-g-sm{padding:10px 18px;font-size:1.5rem}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* Header */
.g-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e5e5e5}
.g-header .navbar{margin:0;border:0;min-height:0;padding:14px 0}
.g-brand{display:flex;align-items:center;gap:10px;color:rgb(33,33,33)}
.g-brand:hover{text-decoration:none;color:rgb(33,33,33)}
.g-brand-mark{width:34px;height:34px;border-radius:50%;background:#d9534f;display:flex;align-items:center;justify-content:center}
.g-brand-mark span{width:14px;height:14px;border-radius:50%;background:#fff}
.g-brand-name{font-weight:700;font-size:1.7rem;line-height:1.1;display:block}
.g-brand-sub{font-size:1.2rem;color:#555;letter-spacing:.04em;display:block}
.g-nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;font-size:1.5rem;font-weight:500}
.g-nav a{color:rgb(33,33,33)}
.g-nav a.btn-g{color:#fff}
.g-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
@media (max-width:1199px){.g-nav{display:none}.g-nav.open{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding-top:12px}}
.g-toggle{display:none;background:none;border:1.5px solid rgb(33,33,33);border-radius:999px;padding:8px 14px;font-weight:600;font-size:1.4rem}
@media (max-width:1199px){.g-toggle{display:block}}

/* Hero */
.hero{padding:64px 0 56px}
.hero-row{display:flex;flex-wrap:wrap;align-items:center}
.hero-copy>*+*{margin-top:26px}
.hero h1{font-weight:700;font-size:clamp(4rem,5.4vw,6.8rem);line-height:1.02;letter-spacing:-.02em}
.hero h1 span{color:#c9302c}
.hero-facts{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid #e5e5e5;padding-top:16px}
.hero-facts strong{display:block;font-size:2.2rem;font-weight:700}
.hero-facts span{font-size:1.4rem;color:#555}
.hero-visual{position:relative;min-height:520px}
@media (max-width:991px){.hero-visual{margin-top:48px}}

/* Bildplatzhalter */
.ph{background:repeating-linear-gradient(135deg,#f0f0f0 0 12px,#e8e8e8 12px 24px);border-radius:20px;display:flex;padding:20px}
.ph-label{font-family:'JetBrains Mono',monospace;font-size:1.2rem;color:#555;background:rgba(255,255,255,.85);padding:6px 10px;border-radius:6px;align-self:flex-end}
.hero-visual .ph{position:absolute;top:0;right:0;bottom:60px;left:40px;border-radius:28px;justify-content:flex-end}
.hero-visual .ph .ph-label{align-self:flex-start}

/* Quick-Form */
.quick-form{position:absolute;left:0;bottom:0;width:380px;max-width:100%;background:#fff;border-radius:22px;padding:26px;box-shadow:0 24px 60px -20px rgba(0,0,0,.35);scroll-margin-top:100px}
.quick-form>*+*{margin-top:16px}
.qf-head{display:flex;justify-content:space-between;align-items:baseline}
.qf-head strong{font-size:2.1rem;font-weight:700}
.qf-head small{font-size:1.2rem;color:#555}
.qf-label{font-size:1.4rem;font-weight:600;display:block;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid #ddd;background:#fff;color:rgb(33,33,33);padding:9px 14px;border-radius:999px;font-size:1.4rem;font-weight:500;cursor:pointer}
.chip.active{background:#d9534f;border-color:#d9534f;color:#fff}
.quick-form .form-control{height:auto;border:1.5px solid #ddd;border-radius:12px;padding:13px 14px;font-size:1.5rem;box-shadow:none;margin-top:6px}
.quick-form .form-control:focus{border-color:#d9534f;box-shadow:0 0 0 3px rgba(217,83,79,.15)}
.quick-form .btn-g{width:100%}
.qf-note{font-size:1.2rem;color:#555;line-height:1.4}
.qf-check{width:44px;height:44px;border-radius:50%;background:#d9534f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2rem}
.qf-success p{color:#555;font-size:1.5rem;margin:0}
.btn-link-g{background:none;border:0;padding:0;color:#c9302c;font-weight:600;font-size:1.4rem;cursor:pointer}
@media (max-width:480px){.hero-visual{min-height:0}.hero-visual .ph{position:relative;left:0;bottom:0;height:260px}.quick-form{position:relative;width:100%;margin-top:-40px}}

/* Logos */
.logos{border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;padding:28px 0}
.logos-inner{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.logos-inner>span{font-size:1.4rem;color:#555;font-weight:500;max-width:200px;line-height:1.4}
.logos-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.logo-ph{height:48px;border-radius:10px;background:repeating-linear-gradient(135deg,#f4f4f4 0 8px,#ededed 8px 16px);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:1.1rem;color:#666}
.logo-ph img{max-height:30px;max-width:80%}

/* Karten / Grids */
.flex-row-g{display:flex;flex-wrap:wrap;align-items:flex-end}
.intro-row{margin-bottom:56px}
@media (max-width:991px){.intro-row .lead-g{margin-top:20px}}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card-g{border:1px solid #e5e5e5;border-radius:20px;padding:28px;background:#fff}
.card-g>*+*{margin-top:14px}
.card-g .num{font-family:'JetBrains Mono',monospace;font-size:1.3rem;color:#c9302c;display:block}
.card-g h3{font-weight:600;font-size:2.2rem;line-height:1.2}
.card-g p{margin-bottom:0;color:#555}

/* Konditionen */
.cond-copy>*+*{margin-top:22px}
.price-box{border:1px solid #e5e5e5;border-radius:24px;padding:36px}
@media (max-width:991px){.price-box{margin-top:48px}}
.price-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid #e5e5e5;margin-bottom:24px}
.price-top strong{font-size:8.4rem;font-weight:700;line-height:1;color:#d9534f}
.price-top span{color:#555;line-height:1.4}
.term{display:flex;gap:14px;align-items:flex-start}
.term+.term{margin-top:24px}
.term i{width:8px;height:8px;border-radius:2px;background:#d9534f;margin-top:8px;flex-shrink:0}
.term strong{display:block;font-weight:600}
.term span{font-size:1.5rem;color:#555}

/* Funktionen */
.feat-aside{position:sticky;top:110px}
.feat-aside>*+*{margin-top:20px}
.feat-aside .ph{height:220px}
@media (max-width:991px){.feat-aside{position:static;margin-bottom:40px}}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 32px}
.feat{padding:22px 0;border-top:1px solid #e5e5e5}
.feat strong{display:block;font-weight:600;font-size:1.8rem;margin-bottom:6px}
.feat span{font-size:1.5rem;color:#555}

/* Ablauf */
.steps-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.steps-head span{color:#555}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:48px}
.step{text-align:left;cursor:pointer;border:0;border-top:3px solid #ddd;background:#fff;color:rgb(33,33,33);padding:24px 22px 28px;border-radius:0 0 18px 18px}
.step b{display:block;font-size:4rem;line-height:1;font-weight:700;color:#bbb;margin-bottom:12px}
.step strong{display:block;font-weight:600;font-size:2rem;margin-bottom:12px}
.step span{font-size:1.5rem;color:#555}
.step.active{border-top-color:#d9534f}
.step.active b{color:#d9534f}

/* Stimmen */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;margin-top:40px}
.quote{margin:0;border:1px solid #e5e5e5;border-radius:24px;padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.quote blockquote{margin:0;padding:0;border:0;font-weight:500;font-size:2.2rem;line-height:1.4}
.quote figcaption{display:flex;align-items:center;gap:14px}
.avatar{width:52px;height:52px;border-radius:50%;background:repeating-linear-gradient(135deg,#e8e8e8 0 6px,#dedede 6px 12px);flex-shrink:0}
.quote figcaption strong{display:block}
.quote figcaption span{font-size:1.4rem;color:#555}

/* Kontakt */
.contact-card{border:1px solid #e5e5e5;border-radius:28px;overflow:hidden;display:flex;flex-wrap:wrap}
.contact-card .ph{flex:1 1 400px;min-height:340px;border-radius:0}
.contact-body{flex:1 1 400px;padding:44px}
.contact-body>*+*{margin-top:20px}
.contact-body h2{font-weight:700;font-size:clamp(2.8rem,3vw,4rem);line-height:1.1}
.contact-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:18px 0;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}
.contact-facts small{display:block;font-size:1.3rem;color:#555}
.contact-facts strong{font-size:1.7rem;word-break:break-word}

/* FAQ (Bootstrap Collapse) */
.faq-item{border-top:1px solid #ddd}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:0;padding:22px 0;text-align:left;color:rgb(33,33,33);font-weight:600;font-size:1.9rem}
.faq-q:focus{outline-offset:4px}
.faq-icon{flex-shrink:0;font-size:1.6rem;color:rgb(33,33,33);transform:rotate(180deg);transition:transform .25s}
.faq-q.collapsed .faq-icon{transform:rotate(0)}
.faq-a{padding:0 56px 24px 0;color:#555;margin:0}
@media (max-width:991px){.faq-list{margin-top:32px}}

/* Abschluss / Footer */
.cta-final{padding:80px 0;border-top:1px solid #e5e5e5}
.cta-final-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-final h2{font-weight:700;font-size:clamp(3.2rem,4vw,5.2rem);line-height:1.02;letter-spacing:-.015em;margin-bottom:14px}
.cta-final p{font-size:1.8rem;margin:0}
.g-footer{border-top:1px solid #e5e5e5;padding:32px 0;font-size:1.4rem;color:#555}
.g-footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.g-footer nav{display:flex;gap:24px}
.g-footer a{color:#555}

/* Sticky CTA */
.sticky-cta{position:fixed;left:50%;bottom:20px;transform:translate(-50%,140%);opacity:0;z-index:1030;background:#fff;border:1px solid #e5e5e5;border-radius:999px;padding:8px 8px 8px 22px;display:flex;align-items:center;gap:16px;box-shadow:0 16px 40px -12px rgba(0,0,0,.5);font-size:1.5rem;white-space:nowrap;transition:transform .25s,opacity .25s}
.sticky-cta.show{transform:translate(-50%,0);opacity:1}
@media (max-width:480px){.sticky-cta>span{display:none}.sticky-cta{padding:8px}}

/* Bootstrap-3-Clearfix in Flex-Containern neutralisieren */
.g-header-inner:before,.g-header-inner:after,.hero-row:before,.hero-row:after,.logos-inner:before,.logos-inner:after,.cta-final-inner:before,.cta-final-inner:after,.g-footer-inner:before,.g-footer-inner:after,.flex-row-g:before,.flex-row-g:after{display:none}
@media (max-width:991px){.hero-row>[class*=col-],.flex-row-g>[class*=col-]{width:100%}}

/* ---------- Registrierung ---------- */
.reg-hero{padding:56px 0 24px}
.reg-hero h1{font-weight:700;font-size:clamp(3.6rem,4.6vw,5.6rem);line-height:1.04;letter-spacing:-.02em;margin-top:18px}
.reg-hero .lead-g{max-width:640px;margin-top:18px}
.reg-wrap{padding:32px 0 96px}
.reg-layout{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.reg-layout:before,.reg-layout:after{display:none}
.reg-aside{flex:1 1 300px;position:sticky;top:100px}
.reg-main{flex:2 1 560px;min-width:0}
@media (max-width:991px){.reg-aside{position:static}}
.reg-aside>*+*{margin-top:20px}
.reg-checks{list-style:none;padding:0;margin:0}
.reg-checks li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid #e5e5e5}
.reg-checks li:last-child{border-bottom:1px solid #e5e5e5}
.reg-checks i{width:8px;height:8px;border-radius:2px;background:#d9534f;margin-top:8px;flex-shrink:0}
.reg-price{border:1px solid #e5e5e5;border-radius:20px;padding:24px}
.reg-price strong.big{display:block;font-size:4rem;font-weight:700;line-height:1;color:#d9534f}
.reg-price p{margin:8px 0 0;color:#555;font-size:1.5rem}
.reg-price small{display:block;margin-top:14px;font-size:1.3rem;color:#555}
.reg-help{font-size:1.5rem;color:#555}
.reg-help strong{display:block;color:rgb(33,33,33);font-size:1.7rem}

.reg-card{border:1px solid #e5e5e5;border-radius:24px;padding:40px;background:#fff}
@media (max-width:600px){.reg-card{padding:24px}}
.reg-section+.reg-section{margin-top:36px;padding-top:32px;border-top:1px solid #e5e5e5}
.reg-section-head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.reg-section-head span{font-family:'JetBrains Mono',monospace;font-size:1.3rem;color:#c9302c}
.reg-section-head h2{font-weight:600;font-size:2.2rem}
.reg-section-head p{margin:4px 0 0;font-size:1.4rem;color:#555}
.reg-card .form-group{margin-bottom:18px}
.reg-card label.control-label{font-size:1.4rem;font-weight:600;color:rgb(33,33,33);margin-bottom:6px}
.reg-card label .opt{font-weight:400;color:#555}
.reg-card .form-control{height:auto;border:1.5px solid #ddd;border-radius:12px;padding:12px 14px;font-size:1.6rem;color:rgb(33,33,33);box-shadow:none}
.reg-card select.form-control{height:49px;-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23212121' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:38px}
.reg-card textarea.form-control{min-height:110px;resize:vertical}
.reg-card .form-control:focus{border-color:#d9534f;box-shadow:0 0 0 3px rgba(217,83,79,.15)}
.reg-card .help-block{display:none;margin:6px 0 0;font-size:1.3rem;font-weight:600;color:#c9302c}
.reg-card .has-error .help-block{display:block}
.reg-card .has-error .form-control{border-color:#d9534f}
.reg-card .has-error .control-label{color:rgb(33,33,33)}
.req{color:#c9302c}

.reg-check{border:1.5px solid #e5e5e5;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.reg-check label{display:flex;gap:14px;align-items:flex-start;font-weight:400;margin:0;cursor:pointer;font-size:1.5rem;line-height:1.55}
.reg-check input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:#d9534f;cursor:pointer}
.reg-check .reg-check-title{display:block;font-weight:600;font-size:1.5rem;margin-bottom:4px}
.reg-check p{margin:8px 0 0 34px;font-size:1.4rem;color:#555}
.reg-check.has-error{border-color:#d9534f;background:#fdf7f7}
.reg-check .help-block{margin-left:34px}
.reg-check:has(input:checked){border-color:#d9534f}
.reg-alert{border:1.5px solid #d9534f;background:#fdf7f7;color:#a94442;border-radius:12px;padding:12px 16px;font-size:1.5rem;font-weight:600;margin-bottom:20px}
.reg-submit{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:28px;padding-top:28px;border-top:1px solid #e5e5e5}
.reg-submit small{font-size:1.3rem;color:#555;max-width:340px}
.reg-success{text-align:left}
.reg-success>*+*{margin-top:16px}

/* Aktiver Menüpunkt */
.g-nav a:not(.btn-g){position:relative;padding:4px 0;transition:color .15s}
.g-nav a:not(.btn-g):after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:#d9534f;transform:scaleX(0);transition:transform .2s}
.g-nav a.active:not(.btn-g){color:#c9302c}
.g-nav a.active:not(.btn-g):after{transform:scaleX(1)}
.g-nav a:not(.btn-g):hover{text-decoration:none;color:#c9302c}

/* Kontakt-Overlay (Bootstrap Modal) */
.g-modal .modal-dialog{width:460px;max-width:calc(100% - 20px);margin:80px auto}
.modal-backdrop.in{opacity:.45}
.quick-form-modal{border:0;border-radius:22px;padding:26px;box-shadow:0 24px 60px -20px rgba(0,0,0,.35);background:#fff}
.quick-form-modal .qf-head{align-items:center}
.quick-form-modal .form-group{margin-bottom:16px}
.quick-form-modal .form-control{height:auto;border:1.5px solid #ddd;border-radius:12px;padding:12px 14px;font-size:1.5rem;box-shadow:none;margin-top:6px;color:rgb(33,33,33)}
.quick-form-modal textarea.form-control{resize:vertical;min-height:100px}
.quick-form-modal .form-control:focus{border-color:#d9534f;box-shadow:0 0 0 3px rgba(217,83,79,.15)}
.quick-form-modal .help-block{display:none;margin:6px 0 0;font-size:1.3rem;font-weight:600;color:#c9302c}
.quick-form-modal .has-error .help-block{display:block}
.quick-form-modal .has-error .form-control{border-color:#d9534f}
.quick-form-modal .opt{font-weight:400;color:#555}
.quick-form-modal .qf-label{margin:0}
.quick-form-modal .chip:hover{border-color:#d9534f}
.g-close{width:36px;height:36px;border-radius:50%;border:1.5px solid #ddd;background:#fff;color:rgb(33,33,33);display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;flex-shrink:0}
.g-close:hover{border-color:#d9534f;color:#c9302c}

/* Dashboard-Vorschau */
.dash-shot{height:260px;border:1px solid #e5e5e5;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.dash-shot img{width:100%;height:100%;object-fit:cover;object-position:left top;display:block}

/* Inhaltsseite (seite.html) */
.page-content{padding:24px 0 96px}
.page-content h2{font-weight:700;font-size:clamp(2.6rem,3vw,3.4rem);line-height:1.15;letter-spacing:-.01em;margin:40px 0 16px}
.page-content h2:first-child{margin-top:0}
.page-content h3{font-weight:600;font-size:2.2rem;line-height:1.25;margin:32px 0 12px}
.page-content p{margin:0 0 16px;text-wrap:pretty}
.page-content ul{padding-left:20px;margin:0 0 16px}
.page-content li{margin-bottom:6px}
.page-content li::marker{color:#d9534f}

/* Rabattaktion */
.promo-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.promo-badge{background:#d9534f;color:#fff;font-weight:700;font-size:1.3rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.promo-until{font-size:1.4rem;color:#555}
.promo .eyebrow{display:block}
.promo-price{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;margin-top:12px}
.promo-price del{font-size:2.6rem;font-weight:600;color:#777;text-decoration-thickness:2px;text-decoration-color:rgb(33,33,33)}
.promo-price strong{font-size:8.4rem;font-weight:800;line-height:1;color:#d9534f;letter-spacing:-.02em}
.promo-price>span{color:#555;line-height:1.4}
.coupon{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:2px dashed #d9534f;border-radius:14px;padding:12px 12px 12px 18px;margin-top:22px;background:#fff}
.coupon small{display:block;font-size:1.2rem;color:#555}
.coupon-code{display:block;padding:0;background:none;color:rgb(33,33,33);font-family:'JetBrains Mono',monospace;font-size:2rem;font-weight:700;letter-spacing:.08em}
.coupon-copy{border:1.5px solid rgb(33,33,33);background:#fff;color:rgb(33,33,33);border-radius:999px;padding:9px 16px;font-size:1.4rem;font-weight:600;cursor:pointer;white-space:nowrap}
.coupon-copy:hover{background:#d9534f;border-color:#d9534f;color:#fff}
.coupon-copy.copied{background:#d9534f;border-color:#d9534f;color:#fff}
.promo-text{margin:14px 0 24px;font-size:1.5rem;color:#555;padding-bottom:24px;border-bottom:1px solid #e5e5e5}
.coupon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.coupon-card{border:1px solid #e5e5e5;border-radius:20px;padding:28px;display:flex;flex-direction:column}
.coupon-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.coupon-card-value{font-size:3.2rem;font-weight:800;line-height:1.05;color:#d9534f}
.coupon-card-until{font-size:1.3rem;color:#555}
.coupon-card h3{font-weight:600;font-size:2rem;margin-top:16px}
.coupon-card p{color:#555;font-size:1.5rem;margin:8px 0 0;flex:1}
.coupon-card .coupon{margin-top:20px}
.coupon-card .coupon-code{font-size:1.7rem}

.coupon-actions{display:flex;align-items:center;gap:14px}
.coupon-redeem{font-weight:600;font-size:1.4rem;color:#c9302c;white-space:nowrap}
.coupon-input{text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.kupon-hint{margin:-4px 0 0;font-size:1.4rem;color:#555}
.kupon-hint i{color:#d9534f;margin-right:4px}
.kupon-hint strong{color:rgb(33,33,33);font-family:'JetBrains Mono',monospace}

/* Dropdown Vermieter:in */
.g-dd{position:relative}
.g-dd-toggle{background:none;border:0;padding:4px 0;font-weight:500;font-size:1.5rem;color:rgb(33,33,33);display:flex;align-items:center;gap:6px;cursor:pointer}
.g-dd-toggle .fa{font-size:1.1rem;transition:transform .2s}
.g-dd.open .g-dd-toggle .fa{transform:rotate(180deg)}
.g-dd.open .g-dd-toggle,.g-dd-toggle:hover,.g-dd.is-current .g-dd-toggle{color:#c9302c}
.g-dd .dropdown-menu{border:1px solid #e5e5e5;border-radius:14px;box-shadow:0 18px 40px -16px rgba(0,0,0,.3);padding:8px;margin-top:12px;min-width:280px;font-size:1.5rem}
.g-dd .dropdown-menu>li>a{padding:10px 14px;border-radius:8px;color:rgb(33,33,33);white-space:normal}
.g-dd .dropdown-menu>li>a:after{display:none}
.g-dd .dropdown-menu>li>a:hover,.g-dd .dropdown-menu>.active>a,.g-dd .dropdown-menu>.active>a:hover{background:#fdf2f2;color:#c9302c}
.g-dd .dropdown-menu .divider{margin:6px 0;background:#e5e5e5}
@media (max-width:1199px){
  .g-dd{width:100%}
  .g-dd .dropdown-menu{position:static;float:none;box-shadow:none;margin-top:8px;width:100%;min-width:0}
  .g-header .g-nav.open{max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-wrap:nowrap;padding-bottom:20px}
  .g-header .g-nav.open>*{flex-shrink:0}
}

/* Footer */
.g-footer.g-footer-rich{padding:64px 0 0}
.g-footer-rich h4{font-size:1.4rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px;color:rgb(33,33,33)}
.g-footer-rich ul{list-style:none;padding:0;margin:0}
.g-footer-rich li{margin-bottom:8px}
.g-footer-rich p{margin:0 0 14px;line-height:1.6}
.g-footer-rich a{color:#555}
.g-footer-rich a:hover{color:#c9302c}
.g-footer-rich .g-brand{display:inline-flex}
.g-footer-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px}
@media (max-width:991px){.g-footer-cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.g-footer-cols{grid-template-columns:1fr}}
.g-social{display:flex;gap:10px}
.g-social a{width:38px;height:38px;border-radius:50%;border:1.5px solid #ddd;display:flex;align-items:center;justify-content:center;color:rgb(33,33,33);font-size:1.6rem}
.g-social a:hover{border-color:#d9534f;color:#c9302c;text-decoration:none}
.g-footer-bottom{margin-top:48px;padding:22px 0;border-top:1px solid #e5e5e5;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}

/* Inhaltsseiten */
.hero-sub{font-size:clamp(1.8rem,2vw,2.2rem);font-weight:500;color:#555;line-height:1.45;margin:18px 0 0;max-width:820px;text-wrap:pretty}
.reg-hero .btn-row{margin-top:28px}
.page-wrap{padding:32px 0 96px}
.art-layout{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.art-layout:before,.art-layout:after{display:none}
.toc{flex:0 0 270px;position:sticky;top:100px;border:1px solid #e5e5e5;border-radius:20px;padding:22px;max-height:calc(100vh - 120px);overflow:auto}
.toc-title{font-weight:700;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;color:#c9302c;display:block;margin-bottom:10px}
.toc ul{list-style:none;padding:0;margin:0}
.toc a{display:block;padding:7px 0 7px 12px;border-left:2px solid #e5e5e5;color:#555;font-size:1.4rem;line-height:1.4}
.toc a:hover{color:rgb(33,33,33);text-decoration:none}
.toc a.active{border-left-color:#d9534f;color:rgb(33,33,33)}
.toc .sub a{padding-left:24px}
@media (max-width:991px){.toc{display:none}}
.art{flex:1 1 560px;min-width:0;max-width:780px}
.art-sec+.art-sec{margin-top:56px}
.page-content .list-title{font-weight:700;margin:24px 0 8px}
.callout{border:1.5px solid #d9534f;border-radius:20px;padding:28px;margin:32px 0}
.callout-title{display:block;font-size:2rem;margin-bottom:10px}
.callout ul{margin-bottom:0}
.split-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:20px 0 24px}
.mini-card{border:1px solid #e5e5e5;border-radius:16px;padding:22px}
.page-content .mini-card h3{margin:0 0 12px;font-size:1.8rem}
.mini-card ul{margin:0}
.tip-note{border-left:3px solid #d9534f;padding:4px 0 4px 16px}
.img-g{width:100%;border-radius:20px;display:block;object-fit:cover;background:#f0f0f0}
@media (max-width:991px){.img-g{margin-top:28px}}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:24px 0}
.stat{border:1px solid #e5e5e5;border-radius:18px;padding:24px}
.stat strong{display:block;font-size:4.4rem;font-weight:800;color:#d9534f;line-height:1;margin-bottom:12px;letter-spacing:-.02em}
.stat span{font-size:1.5rem;color:#555;line-height:1.5;display:block}
.faq-a p{margin:0 0 12px}
.faq-a p:last-child{margin:0}
.data-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.data-list li{border:1.5px solid #ddd;border-radius:999px;padding:10px 18px;font-size:1.5rem;display:flex;align-items:center;gap:10px}
.data-list li i{color:#d9534f}
.iface{display:flex;gap:20px;align-items:center;margin-top:16px;padding-bottom:24px;border-bottom:1px solid #e5e5e5}
.iface img{width:110px;height:auto;flex-shrink:0}
.iface p{margin:0;font-size:1.5rem;color:#555}
.iface-planned{margin-top:22px}
.iface-planned p{font-size:1.5rem;color:#555;margin:6px 0 12px}
span.chip{cursor:default}
@media (max-width:991px){.price-box{margin-top:32px}}
.portal-link{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid #e5e5e5;font-weight:600;font-size:1.7rem;color:rgb(33,33,33);word-break:break-word}
.portal-link:first-child{padding-top:0}
.portal-link i{color:#d9534f}
.portal-link:hover{text-decoration:none;color:#c9302c}
.portal-note{margin:18px 0 0}

/* Bewertungs-Karussell */
.rv{overflow:hidden;margin:0 -10px;touch-action:pan-y}
.rv-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform}
.rv-slide{flex:0 0 50%;padding:0 10px;display:flex}
.rv-slide .quote{width:100%}
@media (max-width:767px){.rv-slide{flex-basis:100%}}
.rv-nav{display:flex;gap:10px}
.rv-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid rgb(33,33,33);background:#fff;color:rgb(33,33,33);display:flex;align-items:center;justify-content:center;font-size:1.4rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.rv-btn:hover,.rv-btn:focus{background:#d9534f;border-color:#d9534f;color:#fff;outline:none}
.rv-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}
.rv-dot{width:10px;height:10px;border-radius:999px;border:0;padding:0;background:#ddd;cursor:pointer;transition:width .25s,background .25s}
.rv-dot.active{width:28px;background:#d9534f}

/* Header stabil halten */
@media (min-width:1200px){
  .g-header-inner{flex-wrap:nowrap;min-height:44px}
  .g-nav{flex-wrap:nowrap;gap:22px}
  .g-nav>a,.g-dd-toggle{white-space:nowrap}
}
.g-nav a:not(.btn-g),.g-dd-toggle{font-weight:500}

/* Anker-Offset für Sticky-Header */
[id]{scroll-margin-top:80px}
