:root{
  --ink:#17191b;--ink-soft:#303338;--muted:#6c7076;--line:#e5e7e9;--paper:#fff;--soft:#f5f6f5;--yellow:#f3c515;--yellow-dark:#d7aa00;--max:1180px;--radius:18px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
a{color:inherit}
.site-shell{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.site-topbar{background:var(--ink);color:#d9dce0;font-size:.88rem}
.site-topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.top-links{display:flex;gap:20px}.top-links a{text-decoration:none}.top-links a:first-child{color:#fff;font-weight:700}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:44px;height:44px;background:var(--yellow);font-weight:900;font-size:1.3rem;transform:skew(-7deg)}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text strong{font-size:1.08rem;letter-spacing:.08em}.brand-text small{margin-top:5px;font-size:.64rem;letter-spacing:.16em;color:var(--muted)}
.site-nav{display:flex;align-items:center;gap:7px}.site-nav a{text-decoration:none;padding:10px 14px;border-radius:999px;color:#42454a;font-weight:650;font-size:.94rem}.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--ink);color:#fff}
.nav-toggle{display:none;border:none;background:#fff;border-radius:10px;padding:9px 13px;font:inherit;font-weight:700}
.hero{background:linear-gradient(135deg,#17191b 0%,#25282c 100%);color:#fff;overflow:hidden}.hero-grid{min-height:560px;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:60px;padding-top:32px;padding-bottom:0}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:800;color:var(--yellow)}.hero h1{font-size:clamp(2.5rem,5vw,4.9rem);line-height:1.03;letter-spacing:-.045em;max-width:800px;margin:18px 0 22px}.hero h1 em{font-style:normal;color:var(--yellow)}.hero-lead{max-width:640px;color:#d4d7da;font-size:1.08rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;text-decoration:none;font-weight:800;transition:.2s ease}.button-primary{background:#FFDD00 !important;color:var(--ink)}.button-primary:hover,.button-yellow:hover{transform:translateY(-1px);background:#FFDD00 !important}.button-light{background:#fff;color:var(--ink)}.button-light:hover{transform:translateY(-1px);background:#f2f3f4;color:var(--ink)}.button-outline{border:1px solid #64686d;color:#fff}.button-yellow{background:#FFDD00 !important;color:var(--ink)}
.hero-card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.23)}.hero-card .card-label{display:block;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.hero-card strong{display:block;font-size:1.35rem}.hero-card span:not(.card-label){display:block;color:#5b6066}.card-divider{height:1px;background:var(--line);margin:20px 0}
.section{padding:90px 0}.section-soft{background:#343434;color:#fff;padding-top:16px !important;padding-bottom:24px !important}.section-soft .section-heading p{color:#fff}.section-intro{padding-top:16px !important;padding-bottom:55px}.intro-copy{max-width:820px;font-size:1.05rem}.intro-copy h1,.intro-copy h2{line-height:1.15}.section-heading{max-width:700px;margin-bottom:32px}.section-heading h2,.split-section h2,.contact-strip h2{font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.1;letter-spacing:-.035em;margin:10px 0 12px}.section-heading p,.split-section > div:first-child p{color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:#0e1012;color:#c9cdd1;border:1px solid #2b2e32;border-radius:var(--radius);padding:26px;min-height:250px;display:flex;flex-direction:column;transition:.2s ease}.service-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(20,22,24,.08)}.service-number{font-size:.72rem;font-weight:900;color:var(--yellow-dark);letter-spacing:.12em}.service-card h3{font-size:1.38rem;margin:28px 0 10px}.service-card p{color:var(--muted);margin-top:0}.service-card a{margin-top:auto;font-weight:800;text-decoration:none}.service-card a:hover{text-decoration:underline}
.split-section h2,.split-section > div:first-child p{color:#fff !important}.split-section{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding-top:16px !important;padding-bottom:24px !important}.text-link{font-weight:850;text-decoration:none}.text-link:hover{text-decoration:underline}.quote-card{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:40px;box-sizing:border-box;overflow:visible}.quote-card p{margin:0;font-size:1.55rem;font-weight:800;line-height:1.3;color:var(--ink)}.quote-card p span{display:block;font-size:inherit;line-height:inherit;white-space:normal;overflow-wrap:anywhere}.quote-card small{display:block;margin-top:18px;line-height:1.35;color:var(--muted)}.quote-card__image-slot{display:block;width:78%;max-width:290px;aspect-ratio:4/3;margin:24px auto 0;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.quote-card__image-slot .quote-card__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.section-dark{background:var(--ink);color:#fff;padding-top:16px !important;padding-bottom:24px !important}.contact-strip{display:flex;justify-content:space-between;align-items:center;gap:30px}.eyebrow-dark{color:var(--yellow)}.contact-strip h2{margin-bottom:0}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}
.site-footer{background:#0e1012;color:#c9cdd1}.footer-main{padding:50px 0 40px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px}.footer-brand{display:inline-block;color:#FFDD00;text-decoration:none;font-weight:900;letter-spacing:.14em;white-space:nowrap}.footer-main p{max-width:480px;color:#8e949a}.footer-links{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;align-content:flex-start}.footer-links a{text-decoration:none;color:#dce0e4}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #2b2e32;padding:17px 0 25px;display:flex;justify-content:space-between;gap:20px;color:#7f858c;font-size:.82rem}
@media(max-width:900px){.hero-grid,.split-section{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{padding-top:32px;padding-bottom:65px}.hero-card{max-width:520px}.contact-strip{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:700px){.site-shell{width:min(var(--max),calc(100% - 24px))}.site-topbar-inner{padding:7px 0;align-items:flex-start;flex-direction:column;gap:2px}.top-links{gap:14px}.nav-wrap{min-height:68px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;left:12px;right:12px;top:68px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 16px 36px rgba(0,0,0,.1);flex-direction:column;align-items:stretch}.site-nav.is-open{display:flex}.site-nav a{border-radius:10px;padding:12px 13px}.brand-mark{width:38px;height:38px}.brand-text strong{font-size:.98rem}.hero-grid{padding-top:32px;padding-bottom:48px}.hero h1{font-size:clamp(2.25rem,11vw,3.4rem)}.hero-actions,.contact-actions{display:grid;grid-template-columns:1fr}.button{width:100%}.section{padding:64px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.footer-bottom{flex-direction:column}}

.page-section{min-height:auto !important}.page-section .section-heading{margin-bottom:14px}.page-section h1{font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.03;letter-spacing:-.045em;margin:12px 0 0}.page-content{max-width:980px}.page-content p{margin:0 0 1.15rem}.page-content .lead{font-size:1.2rem;color:#35383d;max-width:820px}.page-content h2{font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.15;letter-spacing:-.025em;margin:40px 0 14px}.page-content h2:first-child{margin-top:0}.page-content a{font-weight:750;text-decoration:underline;text-underline-offset:3px}.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:52px;align-items:start}.info-card{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:32px}.info-card h2{margin:10px 0 12px}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.feature-list>div,.service-detail-grid>article,.news-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px}.feature-list strong{display:block;font-size:1.06rem;margin-bottom:5px}.feature-list p{margin:0;color:var(--muted)}.service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-detail-grid h2{font-size:1.25rem;margin:0 0 8px}.service-detail-grid p{color:var(--muted);margin:0}.news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.news-card .eyebrow{margin-bottom:10px}.news-card h2{margin:0 0 10px;font-size:1.35rem}.news-card p{margin:0;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:50px;align-items:start}.hours{border-top:1px solid var(--line)}.hours>div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.hours span{color:var(--muted)}.footer-contact a{color:inherit;text-decoration:none}.footer-contact a:hover{text-decoration:underline}
@media(max-width:900px){.content-grid,.contact-grid{grid-template-columns:1fr}.feature-list,.service-detail-grid,.news-list{grid-template-columns:1fr}}

/* 1.0.34 - Urlaubs-/Schließbanner: intentionally scoped to the real frontend stylesheet */
.site-notice-closed{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
    background:rgba(200,0,0,0.5) !important;
    color:#fff !important;
    min-height:78px !important;
    border:0 !important;
    display:block !important;
}
.site-notice-closed .site-shell{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    min-height:78px !important;
    padding:20px 24px !important;
}
.site-notice-closed .site-notice-list{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
}
.site-notice-closed .site-notice-item{
    width:100% !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:10px !important;
    font-size:1.2rem !important;
    line-height:1.7 !important;
    color:#fff !important;
    font-weight:400 !important;
}
.site-notice-closed .site-notice-item strong{
    color:#fff !important;
    font-weight:700 !important;
}
.site-notice-closed .notice-check{
    color:#fff !important;
    font-size:1.25em !important;
    line-height:1.4 !important;
    flex:0 0 auto !important;
}
@media(max-width:700px){
    .site-notice-closed .site-shell{padding:17px 18px !important}
    .site-notice-closed .site-notice-item{
        justify-content:flex-start !important;
        font-size:1.08rem !important;
        line-height:1.55 !important;
    }
}

/* 1.0.43 – canonical yellow */
:root{--accent:#FFDD00}

/* 1.0.49 – Logo im Header */
.site-logo-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.site-logo-image{display:block;width:auto;height:auto;max-width:260px;max-height:58px;object-fit:contain;object-position:left center}
.site-logo-subtitle{display:block;width:100%;margin-top:5px;font-size:16px;line-height:1.2;font-weight:600;letter-spacing:.02em;color:#000;text-align:center}
.logo-settings{display:flex;flex-direction:column;gap:10px}.logo-settings-preview{display:flex;align-items:center;gap:12px}.logo-settings-preview img{width:260px;max-width:100%;height:80px;object-fit:contain;object-position:left center;border:1px solid #ddd;border-radius:6px;background:#fff;padding:6px}
@media(max-width:700px){.site-logo-image{max-width:190px;max-height:46px}.site-logo-subtitle{font-size:15px;margin-top:4px}}

/* 1.0.51 – Header vertikal sauber ausrichten */
.nav-wrap{display:flex;align-items:center}
.site-brand{display:flex;align-items:center;align-self:center}
.site-nav{align-self:center}

/* 1.0.51 – Logo-Vorschau im Backend */
.logo-settings-preview img{width:260px!important;max-width:260px!important;height:auto!important;max-height:80px!important;object-fit:contain;object-position:left center}

/* 1.0.52 – Header Abstand und Kontakt-Symbole */
.site-logo-wrap{padding-top:10px}
.top-links{display:flex;align-items:center;gap:16px}
.top-links a{display:inline-flex;align-items:center;gap:6px}
.top-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.05em;line-height:1}
.whatsapp-icon{font-weight:700}
@media(max-width:700px){.site-logo-wrap{padding-top:7px}.top-links{gap:10px}.top-icon{font-size:1em}}

body{background:var(--site-page-bg,var(--paper))}
main{background:var(--site-container-bg,var(--paper))}

/* 1.0.54 – Logo-/WhatsApp-Anpassungen */
.site-logo-wrap{padding-top:10px;padding-bottom:10px}
.top-whatsapp{display:inline-flex;align-items:center;gap:6px}
.top-whatsapp-icon{display:block;width:18px;height:18px;max-width:18px;max-height:18px;object-fit:contain}
.logo-settings-preview img{width:200px!important;max-width:200px!important;height:auto!important;max-height:80px!important;object-fit:contain;object-position:left center}


/* 1.0.80 – Dreier-Bildzeile im öffentlichen Seiteninhalt */
.page-content .editor-three-images{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100% !important;
    max-width:none !important;
    margin:18px 0 !important;
    box-sizing:border-box !important;
    clear:both !important;
}
.page-content .editor-three-images .editor-gallery-cell{
    min-width:0 !important;
    width:100% !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}
.page-content .editor-three-images .editor-gallery-image{
    display:block !important;
    width:100% !important;
    height:180px;
    object-fit:cover !important;
    max-width:none !important;
    margin:0 !important;
}
.page-content .editor-three-images .editor-gallery-placeholder,
.page-content .editor-three-images .editor-gallery-height-handle{
    display:none !important;
}

@media(max-width:900px){
    .page-content .editor-three-images{
        grid-template-columns:1fr !important;
    }
}

/* 1.0.81 – Automatische Bildzeile */
.page-content .auto-image-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    margin:18px 0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}
.page-content .auto-image-row .auto-image-item{
    flex:0 0 auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
}
.page-content .auto-image-row .auto-image-item img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    margin:0 !important;
}

/* 1.1.28 – Öffnungszeiten sauber ausrichten */
.hours h3{color:#FFDD00 !important}
.hours>div{display:grid;grid-template-columns:70px minmax(0,1fr);justify-content:initial;align-items:baseline;column-gap:12px}
.hours>div span:first-child{white-space:nowrap}
.hours>div span:last-child{white-space:nowrap;text-align:left}

/* 1.1.31 – Öffnungszeiten auf der Startseite sauber als Spalten darstellen */
.hero-card .card-label{color:#FFDD00 !important;font-size:1rem !important}
.hero-card .hero-hours-row{display:grid !important;grid-template-columns:70px minmax(0,1fr) !important;column-gap:12px !important;align-items:baseline !important;margin:0 !important}
.hero-card .hero-hours-day{display:block !important;white-space:nowrap !important;color:#5b6066 !important}
.hero-card .hero-hours-time{display:block !important;white-space:nowrap !important;color:#5b6066 !important;text-align:left !important}

/* 1.1.29 – Öffnungszeiten auf der Startseite */
.opening-hours h3,.opening-hours h4,.opening-hours-title,.site-opening-hours h3,.site-opening-hours h4,.site-opening-hours-title,.header-opening-hours h3,.header-opening-hours h4,.header-opening-hours-title{color:#FFDD00 !important}
.opening-hours-row,.site-opening-hours-row,.header-opening-hours-row{display:grid !important;grid-template-columns:70px minmax(0,1fr) !important;justify-content:initial !important;align-items:baseline !important;column-gap:12px !important}
.opening-hours-row span:first-child,.site-opening-hours-row span:first-child,.header-opening-hours-row span:first-child{white-space:nowrap !important}
.opening-hours-row span:last-child,.site-opening-hours-row span:last-child,.header-opening-hours-row span:last-child{white-space:nowrap !important;text-align:left !important}

/* 1.0.82 – Öffnungsstatusfarben */
.hero-card .opening-status{display:block;font-weight:800;font-size:.92rem;margin:5px 0 10px}
.hero-card .opening-status-opening,.hero-card .opening-status-open{color:#16803c !important}
.hero-card .opening-status-closed{color:#c62828 !important}

/* 1.0.84 – Aktuelles-Beiträge */
.actual-post{width:100%;box-sizing:border-box;margin:42px 0;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.actual-post__inner{width:100%;box-sizing:border-box;padding:30px}
.actual-post__label{display:block;margin:0 0 8px;color:#FFDD00;font-size:.72rem;line-height:1.2;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.actual-post__title{margin:0;color:#17191b;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1;letter-spacing:-.035em}
.actual-post__text{margin:20px 0 0;color:#4c5157;font-size:1.03rem;line-height:1.65}
.actual-post__media{
    display:grid !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    gap:16px !important;
    margin:24px 0 0 !important;
    padding:0 !important;
    align-items:stretch !important;
}
.actual-post__media--1{grid-template-columns:minmax(0,1fr) !important}
.actual-post__media--2{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.actual-post__media--3{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.actual-post__photo-slot{
    min-width:0 !important;
    width:100% !important;
    aspect-ratio:16/9 !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:#eef0f1 !important;
    border-radius:12px !important;
    color:#73787d !important;
    font-weight:700 !important;
    box-sizing:border-box !important;
}
.actual-post__photo-slot:not(.has-image){border:2px dashed #b9bdc2 !important}
.actual-post__photo-slot img,.actual-post__photo{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    margin:0 !important;
}
@media(max-width:700px){
    .actual-post__inner{padding:22px}
    .actual-post__media--1,
    .actual-post__media--2,
    .actual-post__media--3{
        grid-template-columns:minmax(0,1fr) !important;
        gap:14px !important;
    }
}

.actual-post__media--2,.actual-post__media--3{grid-template-columns:1fr}}

/* 1.0.87 – Aktuelles vier Layouts */
.actual-post__split{
    display:grid !important;
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr) !important;
    gap:24px !important;
    align-items:center !important;
    width:100% !important;
    box-sizing:border-box !important;
}
.actual-post__split--text-image{
    grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr) !important;
}
.actual-post__split-media{min-width:0 !important;width:100% !important}
.actual-post__split-media .actual-post__photo-slot{width:100% !important}
.actual-post__copy{min-width:0 !important}
@media(max-width:700px){
  .actual-post__split,.actual-post__split--text-image{
    grid-template-columns:minmax(0,1fr) !important;
    gap:18px !important;
  }
}

/* 1.0.91 – freie Überschriften im Aktuelles-Titel */
/* 1.0.92 – Aktuelles-Titel fest H2 */
/* 1.0.93 – Aktuelles Textabstand und Zeilenabstand */
.actual-post__media + .actual-post__text{
    margin-top:16px !important;
}
.actual-post__split + .actual-post__text{
    margin-top:16px !important;
}
.wysiwyg-area .actual-post .actual-post__text{
    margin-top:16px !important;
    margin-bottom:0 !important;
}
.wysiwyg-area .actual-post .actual-post__media + p{
    margin-top:16px !important;
    margin-bottom:0 !important;
}
.wysiwyg-area .actual-post p:empty{
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
}
.wysiwyg-area .actual-post p + p{
    margin-top:8px !important;
}

/* 1.0.94 – Aktuelles Überschriften und Kachelfarbe */
.actual-post__title{
    margin:0;
    color:#17191b;
    line-height:1.1;
    letter-spacing:-.035em;
    font-weight:800;
}
.actual-post__title:is(h1){font-size:clamp(2.2rem,4vw,3.5rem)}
.actual-post__title:is(h2){font-size:clamp(1.95rem,3.3vw,2.9rem)}
.actual-post__title:is(h3){font-size:clamp(1.55rem,2.6vw,2.2rem)}
.actual-post__title:is(p){font-size:1.2rem}
.actual-post{background:#fff}

/* 1.0.95 – Aktuelles Kachelrand entfernen */
.actual-post{
    border:none !important;
}

/* 1.0.96 – globale Seitentitelfarbe */
.page-section .section-heading > h1{
    color:var(--site-title-color,#FFDD00);
}

/* 1.0.97 – Aktuelles Bild/Text Desktop-Ausgabe */
.actual-post .actual-post__split{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:stretch !important;
    width:100% !important;
    gap:24px !important;
}
.actual-post .actual-post__split .actual-post__split-media{
    flex:0 0 55% !important;
    width:55% !important;
    max-width:55% !important;
    min-width:0 !important;
}
.actual-post .actual-post__split .actual-post__copy{
    flex:1 1 45% !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
}
.actual-post .actual-post__split--text-image .actual-post__split-media{
    order:2 !important;
}
.actual-post .actual-post__split--text-image .actual-post__copy{
    order:1 !important;
}
.actual-post .actual-post__split--image-text .actual-post__split-media{
    order:1 !important;
}
.actual-post .actual-post__split--image-text .actual-post__copy{
    order:2 !important;
}
.actual-post .actual-post__split .actual-post__photo-slot{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
}
.actual-post .actual-post__split .actual-post__photo{
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
}

/* 1.1.20 – Aktuelles: Text links | Bild rechts für Hochkantfotos */
.actual-post .actual-post__split--text-image-portrait{
    grid-template-columns:minmax(0,.85fr) minmax(260px,1.15fr) !important;
    align-items:center !important;
}
.actual-post .actual-post__split--image-text-portrait{
    grid-template-columns:minmax(260px,1.15fr) minmax(0,.85fr) !important;
    align-items:center !important;
}
.actual-post .actual-post__split--image-text-portrait .actual-post__split-media{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:auto !important;
    align-self:start !important;
    min-height:0 !important;
    overflow:visible !important;
    order:1 !important;
}
.actual-post .actual-post__split--image-text-portrait .actual-post__copy{
    order:2 !important;
}
.actual-post .actual-post__split--image-text-portrait .actual-post__photo-slot{
    aspect-ratio:auto !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:transparent !important;
}
.actual-post .actual-post__split--image-text-portrait .actual-post__photo{
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
}
.actual-post .actual-post__split--text-image-portrait .actual-post__split-media{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:auto !important;
    align-self:start !important;
    min-height:0 !important;
    overflow:visible !important;
}
.actual-post .actual-post__split--text-image-portrait .actual-post__photo-slot{
    aspect-ratio:auto !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:transparent !important;
}
.actual-post .actual-post__split--text-image-portrait .actual-post__photo{
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
}
@media(max-width:700px){
    .actual-post .actual-post__split,
    .actual-post .actual-post__split--text-image,
    .actual-post .actual-post__split--text-image-portrait,
    .actual-post .actual-post__split--image-text,
    .actual-post .actual-post__split--image-text-portrait{
        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;
        gap:18px !important;
    }
    .actual-post .actual-post__split .actual-post__split-media,
    .actual-post .actual-post__split .actual-post__copy{
        flex:0 0 auto !important;
        width:100% !important;
        max-width:100% !important;
        order:initial !important;
    }
}

/* 1.1.21 – Aktuelles: Hochkantbild | Text | Hochkantbild */
.actual-post .actual-post__three-split{
    display:grid !important;
    grid-template-columns:minmax(0,.75fr) minmax(280px,1.5fr) minmax(0,.75fr) !important;
    gap:20px !important;
    align-items:start !important;
    width:100% !important;
    box-sizing:border-box !important;
}
.actual-post .actual-post__three-split-media{
    min-width:0 !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
}
.actual-post .actual-post__three-split-media .actual-post__photo-slot{
    aspect-ratio:auto !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:transparent !important;
    border-radius:12px !important;
}
.actual-post .actual-post__three-split-media .actual-post__photo{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:430px !important;
    object-fit:contain !important;
    object-position:center !important;
}
.actual-post .actual-post__three-split-copy{
    min-width:0 !important;
    background:transparent !important;
    color:#fff !important;
}
.actual-post .actual-post__three-split-copy .actual-post__label{
    color:#FFDD00 !important;
}
.actual-post .actual-post__three-split-copy .actual-post__title,
.actual-post .actual-post__three-split-copy .actual-post__text,
.actual-post .actual-post__three-split-copy p,
.actual-post .actual-post__three-split-copy strong,
.actual-post .actual-post__three-split-copy em{
    color:#fff !important;
}
.actual-post .actual-post__three-split-copy a{
    color:#fff !important;
}
@media(max-width:700px){
    .actual-post .actual-post__three-split{
        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;
        gap:18px !important;
    }
    .actual-post .actual-post__three-split-media,
    .actual-post .actual-post__three-split-copy{
        width:100% !important;
        max-width:100% !important;
    }
}

/* 1.0.98 – Abstand Aktuelles-Titel zu Beschreibung */
.actual-post .actual-post__split .actual-post__title + .actual-post__text{
    margin-top:24px !important;
}

/* 1.0.99 – Aktuelles 2 Bilder */
.actual-post__media--2.actual-post__media--portrait{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:center !important;
}
.actual-post__media--2.actual-post__media--portrait .actual-post__photo-slot{
    aspect-ratio:3/4 !important;
    min-height:0 !important;
    height:auto !important;
}
.actual-post__media--2.actual-post__media--portrait .actual-post__photo-slot img,
.actual-post__media--2.actual-post__media--portrait .actual-post__photo{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    background:#eef0f1 !important;
}
@media(max-width:700px){
    .actual-post__media--2.actual-post__media--portrait{
        grid-template-columns:minmax(0,1fr) !important;
    }
}

/* 1.1.3 – Abstand Banner zu Seitentitel reduzieren */
.page-section{
    padding-top:30px !important;
}
@media(max-width:700px){
    .page-section{
        padding-top:22px !important;
    }
}

/* 1.1.4 – Aktuelles 2 Bilder: Höhe aus tatsächlichem Foto ableiten */
.actual-post__media--2.actual-post__media--portrait{
    align-items:start !important;
}
.actual-post__media--2.actual-post__media--portrait .actual-post__photo-slot{
    aspect-ratio:auto !important;
    min-height:0 !important;
    height:auto !important;
    background:transparent !important;
    overflow:visible !important;
    display:block !important;
}
.actual-post__media--2.actual-post__media--portrait .actual-post__photo-slot img,
.actual-post__media--2.actual-post__media--portrait .actual-post__photo{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    background:transparent !important;
}

/* 1.1.5 – Aktuelles Bild-Lightbox */
body.lightbox-open{overflow:hidden}
.site-lightbox{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    box-sizing:border-box;
    background:rgba(0,0,0,.88);
    cursor:pointer;
}
.site-lightbox-image{
    display:block;
    width:auto;
    height:auto;
    max-width:96vw;
    max-height:96vh;
    object-fit:contain;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    cursor:default;
}
.site-lightbox-close{
    position:absolute;
    top:16px;
    right:18px;
    z-index:2;
    width:44px;
    height:44px;
    margin:0;
    padding:0;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font-size:40px;
    line-height:40px;
    font-family:Arial,sans-serif;
    font-weight:300;
    cursor:pointer;
}
.site-lightbox-close:hover{opacity:.75}
@media(max-width:700px){
    .site-lightbox{padding:14px}
    .site-lightbox-image{max-width:98vw;max-height:94vh}
    .site-lightbox-close{top:7px;right:8px;font-size:36px}
}

/* 1.1.6 – Aktuelles Lightbox Zielbilder */
.actual-post img{
    cursor:zoom-in !important;
}
.site-lightbox{
    cursor:pointer;
}

/* 1.1.7 – Abstand zwischen Aktuelles-Beiträgen halbieren */
.actual-post{
    margin-top:21px !important;
    margin-bottom:21px !important;
}

/* 1.1.11 – Saisonale Reifen-Kachel */
.seasonal-editor-settings{
    display:flex;flex-wrap:wrap;gap:8px 12px;margin:0 0 16px;padding:10px 12px;
    background:#f3f4f5;border-radius:8px;font-size:.82rem;
}
.seasonal-editor-settings label{display:inline-flex;align-items:center;gap:5px}
.seasonal-editor-settings input{font:inherit}
.seasonal-post .seasonal-photo-select{
    border:1px dashed #aeb4ba;background:#eef0f1;color:#5f666d;border-radius:10px;
    padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;
}
.seasonal-post .seasonal-photo-slot{cursor:pointer}
.seasonal-post__media{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important;margin-top:24px!important}
.seasonal-post .seasonal-photo-slot{min-width:0!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;background:transparent!important;overflow:visible!important}
.seasonal-post .seasonal-photo-slot img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center!important}
@media(max-width:700px){.seasonal-post__media{grid-template-columns:minmax(0,1fr)!important}}

/* 1.1.12 – Saisonale Bilder wirklich ausblenden */
.seasonal-post .seasonal-photo-slot[style*="display: none"]{
    display:none !important;
}

/* 1.1.17 – Finale Korrekturen */
.actual-post.seasonal-post .seasonal-post__media{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    justify-content:stretch !important;
    gap:16px !important;
    width:100% !important;
}
.actual-post.seasonal-post .seasonal-post__media .seasonal-photo-slot{
    flex:1 1 0 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
}
.actual-post.seasonal-post .seasonal-post__media .seasonal-photo-slot img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center !important;
}
@media(max-width:700px){
    .actual-post.seasonal-post .seasonal-post__media{
        flex-direction:column !important;
    }
    .actual-post.seasonal-post .seasonal-post__media .seasonal-photo-slot{
        width:100% !important;
        flex:0 0 auto !important;
    }
}
.page-section{
    padding-top:20px !important;
}
@media(max-width:700px){
    .page-section{
        padding-top:15px !important;
    }
}

/* 1.1.15 – Über uns Chronik */
.company-chronicle{
    width:100%;
    max-width:980px;
    margin:24px auto;
    padding:0;
}
.company-chronicle__intro{
    max-width:760px;
    margin:0 auto 38px;
    text-align:center;
}
.company-chronicle__eyebrow{
    display:block;
    margin-bottom:10px;
    color:#FFDD00;
    font-size:.75rem;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.company-chronicle__title{
    margin:0;
    color:#17191b;
    font-size:clamp(2rem,4vw,3.2rem);
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.035em;
}
.company-chronicle__lead{
    margin:16px auto 0;
    color:#555b61;
    font-size:1.08rem;
    line-height:1.7;
}
.company-chronicle__timeline{
    position:relative;
    width:100%;
    padding:6px 0 4px;
}
.company-chronicle__timeline::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    bottom:0;
    width:3px;
    transform:translateX(-50%);
    background:#FFDD00;
}
.company-chronicle__item{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    align-items:center;
    min-height:155px;
    margin:0 0 24px;
}
.company-chronicle__item:last-child{margin-bottom:0}
.company-chronicle__year{
    position:relative;
    z-index:2;
    justify-self:end;
    display:flex;
    align-items:center;
    justify-content:center;
    width:92px;
    min-height:52px;
    padding:8px 14px;
    box-sizing:border-box;
    background:#FFDD00;
    color:#17191b;
    border-radius:999px;
    font-weight:900;
    letter-spacing:.04em;
    text-align:center;
}
.company-chronicle__card{
    position:relative;
    padding:24px 26px;
    background:#fff;
    border-radius:14px;
    box-shadow:0 6px 22px rgba(23,25,27,.08);
}
.company-chronicle__card::before{
    content:"";
    position:absolute;
    left:-18px;
    top:50%;
    width:18px;
    height:3px;
    transform:translateY(-50%);
    background:#FFDD00;
}
.company-chronicle__card h3{
    margin:0;
    color:#17191b;
    font-size:1.35rem;
    line-height:1.2;
    font-weight:800;
}
.company-chronicle__card p{
    margin:10px 0 0;
    color:#555b61;
    line-height:1.65;
}
.company-chronicle__item:nth-child(even) .company-chronicle__year{
    justify-self:start;
}
.company-chronicle__item:nth-child(even) .company-chronicle__card{
    grid-column:1;
    grid-row:1;
}
.company-chronicle__item:nth-child(even) .company-chronicle__year{
    grid-column:2;
    grid-row:1;
}
.company-chronicle__item:nth-child(even) .company-chronicle__card::before{
    left:auto;
    right:-18px;
}
.company-chronicle__item--today .company-chronicle__year{
    background:#17191b;
    color:#FFDD00;
}
.company-chronicle__item--today .company-chronicle__card{
    background:#17191b;
}
.company-chronicle__item--today .company-chronicle__card h3,
.company-chronicle__item--today .company-chronicle__card p{
    color:#fff;
}
@media(max-width:700px){
    .company-chronicle__intro{margin-bottom:28px}
    .company-chronicle__timeline::before{
        left:20px;
        transform:none;
    }
    .company-chronicle__item,
    .company-chronicle__item:nth-child(even){
        display:grid;
        grid-template-columns:40px minmax(0,1fr);
        gap:16px;
        min-height:0;
        margin-bottom:18px;
    }
    .company-chronicle__year,
    .company-chronicle__item:nth-child(even) .company-chronicle__year{
        grid-column:1;
        grid-row:1;
        justify-self:center;
        width:40px;
        min-height:40px;
        padding:5px 3px;
        font-size:.65rem;
        border-radius:50%;
    }
    .company-chronicle__card,
    .company-chronicle__item:nth-child(even) .company-chronicle__card{
        grid-column:2;
        grid-row:1;
    }
    .company-chronicle__card::before,
    .company-chronicle__item:nth-child(even) .company-chronicle__card::before{
        left:-16px;
        right:auto;
    }
}

/* 1.1.19 – Aktuelles-Bildplätze nach Löschen wiederverwendbar */
.actual-post .actual-post__photo-slot[data-empty-slot="1"]{
    display:none !important;
}
.actual-post .actual-post__media[data-empty-media="1"],
.actual-post .actual-post__split-media[data-empty-media="1"]{
    display:none !important;
}

/* 1.1.24 – Standarddarstellung für Aktuelles-Kacheln: dunkelgrauer Hintergrund und weißer Text */
.actual-post{
    background:rgb(52,52,52) !important;
    color:#fff !important;
}
.actual-post__inner{
    background:transparent !important;
    color:#fff !important;
}
.actual-post .actual-post__title,
.actual-post .actual-post__text,
.actual-post .actual-post__text strong,
.actual-post .actual-post__text em,
.actual-post .actual-post__copy p{
    color:#fff !important;
}
.actual-post .actual-post__label{
    color:#FFDD00 !important;
}
.actual-post .actual-post__text a,
.actual-post .actual-post__copy a{
    color:#fff !important;
}

/* 1.1.48 – Aktuelles: 2 Bilder + 2 Texte öffentlich als 2x2-Grid */
.actual-post__two-by-two{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 20px;
    width:100%;
    box-sizing:border-box;
}
.actual-post__two-by-two-media,
.actual-post__two-by-two-copy{
    min-width:0;
}
.actual-post__two-by-two-media .actual-post__photo-slot{
    width:100%;
}
.actual-post__two-by-two-copy .actual-post__text{
    margin:0;
}
@media(max-width:700px){
    .actual-post__two-by-two{
        grid-template-columns:minmax(0,1fr);
        gap:18px;
    }
}


/* 1.1.62 – Öffnungszeiten-Kachel auf der Kontaktseite rechts neben der ersten Kachel */
.contact-opening-card{height:max-content;align-self:start}

/* 1.2.1 – Cookie-Consent-Banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#17191b;color:#fff;border-top:1px solid #34383d;box-shadow:0 -8px 28px rgba(0,0,0,.22)}
.cookie-banner[hidden]{display:none}
.cookie-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 0}
.cookie-banner__text{min-width:0;max-width:900px}
.cookie-banner__text strong{display:block;color:#FFDD00;font-size:1.05rem;margin-bottom:4px}
.cookie-banner__text p{margin:0;color:#e5e8eb;font-size:.92rem;line-height:1.55}
.cookie-banner__text a{color:#FFDD00;text-decoration:underline}
.cookie-banner__text code{font-family:inherit;color:#fff;background:#272b30;padding:1px 5px;border-radius:4px}
.cookie-banner__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;flex-wrap:wrap}
.cookie-button{appearance:none;border:0;border-radius:6px;padding:11px 16px;font:inherit;font-weight:800;cursor:pointer;transition:transform .15s ease,background-color .15s ease}
.cookie-button:hover{transform:translateY(-1px)}
.cookie-button--primary{background:#FFDD00;color:#17191b}
.cookie-button--secondary{background:#343434;color:#fff;border:1px solid #5a5e63}
.cookie-settings-link{appearance:none;background:none;border:0;padding:0;color:#dce0e4;font:inherit;cursor:pointer;text-decoration:none}
.cookie-settings-link:hover{color:#FFDD00;text-decoration:underline}
.cookie-banner-open .site-footer{padding-bottom:0}
@media(max-width:760px){
  .cookie-banner__inner{display:block;padding:16px 18px}
  .cookie-banner__actions{justify-content:stretch;margin-top:13px}
  .cookie-button{flex:1 1 0;min-width:0}
  .cookie-banner-open .site-footer{padding-bottom:0}
}



/* 1.2.10 – Startseite: unnötige Leerzeilen im Hero entfernen; Cookie-Banner darf Footer nicht künstlich verlängern */
.hero-copy > .hero-actions + .hero-actions{display:none !important;}
.hero-copy > .hero-actions br{display:none !important;}
