/* Oeschger´s EDV Systeme – Website Update v7
   CI: #C41212 / Schwarz / Weiß
   Keine externen Fonts, kein Tracking.
*/
:root{
  --oe-red:#C41212;
  --oe-red-dark:#9d0d0d;
  --oe-red-soft:#fbe5e5;
  --oe-black:#0b0b0d;
  --oe-text:#1f2328;
  --oe-muted:#646b73;
  --oe-border:#e7e7e9;
  --oe-bg:#f7f7f8;
  --oe-card:#ffffff;
  --oe-shadow:0 24px 80px rgba(11,11,13,.08);
  --oe-shadow-soft:0 14px 48px rgba(11,11,13,.06);
  --oe-radius:28px;
  --oe-radius-sm:18px;
  --oe-max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--oe-text);
  background:#fff;
  font-size:16px;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(var(--oe-max), calc(100% - 56px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:10px;background:#fff;color:#000;padding:12px 16px;border-radius:12px;z-index:1000}
.skip-link:focus{left:10px}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid rgba(231,231,233,.78);
  box-shadow:0 10px 35px rgba(11,11,13,.05);
}
.nav-shell{
  min-height:94px;
  display:flex;align-items:center;gap:32px;
}
.brand-logo{display:flex;align-items:center;flex:0 0 auto}
.brand-logo img{width:315px;max-width:32vw;height:auto}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:34px;font-weight:800;color:var(--oe-black)}
.main-nav a{position:relative}
.main-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-9px;height:3px;border-radius:9px;background:var(--oe-red);
  transform:scaleX(0);transform-origin:left;transition:.2s ease;
}
.main-nav a:hover::after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:14px}
.mobile-toggle{display:none}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 24px;border-radius:16px;border:1px solid transparent;
  font-weight:900;letter-spacing:-.01em;white-space:nowrap;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--oe-red);color:#fff;box-shadow:0 16px 40px rgba(196,18,18,.22)}
.btn-primary:hover{background:var(--oe-red-dark);box-shadow:0 20px 52px rgba(196,18,18,.26)}
.btn-outline{background:#fff;color:var(--oe-black);border-color:#d7d7dc}
.btn-soft{background:#fff;color:var(--oe-black);border:1px solid #dedee2;box-shadow:0 8px 30px rgba(11,11,13,.06)}
.btn-light{background:#fff;color:var(--oe-black)}
.btn-small{min-height:46px;padding:0 21px;border-radius:15px}

.hero-section{
  position:relative;overflow:hidden;
  padding:112px 0 72px;
  background:
    radial-gradient(circle at 100% 12%, rgba(196,18,18,.11), transparent 290px),
    radial-gradient(circle at 0% 80%, rgba(196,18,18,.11), transparent 240px),
    linear-gradient(180deg,#fff 0%,#fbfbfc 100%);
}
.hero-grid{
  display:grid;grid-template-columns:1.02fr .98fr;gap:72px;align-items:center;
}
.kicker,.section-kicker{
  margin:0 0 26px;
  color:var(--oe-red);
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.84rem;
}
.kicker{display:flex;align-items:center;gap:12px}
.kicker span{width:24px;height:24px;border-radius:50%;background:var(--oe-red-soft);position:relative;display:inline-flex;flex:0 0 auto}
.kicker span::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--oe-red)}
h1,h2,h3{margin:0;color:var(--oe-black);letter-spacing:-.055em;line-height:1.05}
h1{font-size:clamp(2.7rem, 4.7vw, 4.9rem);max-width:700px}
h2{font-size:clamp(2.6rem,4.3vw,5.1rem)}
h3{font-size:1.28rem;letter-spacing:-.03em}
.hero-text{
  margin:30px 0 34px;
  max-width:660px;
  font-size:1.22rem;
  line-height:1.72;
  color:#4f565e;
}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap}
.hero-photo-card{
  margin:0;
  position:relative;
  padding:18px;
  background:#fff;
  border:1px solid #e6e6e8;
  border-radius:30px;
  box-shadow:var(--oe-shadow);
}
.hero-photo-card::before{
  content:"";position:absolute;right:-28px;top:-56px;width:230px;height:230px;border-radius:70px 70px 120px 120px;
  background:rgba(196,18,18,.12);z-index:0;
}
.hero-photo-card img{
  position:relative;z-index:1;
  width:100%;height:520px;object-fit:cover;
  border-radius:20px;
  box-shadow:0 10px 36px rgba(11,11,13,.12);
}

.section-heading{margin-bottom:42px}
.section-heading.centered{text-align:center}
.section-heading.centered .section-kicker{margin-bottom:13px}
.services-section{
  padding:80px 0 86px;
  background:#fff;
}
.service-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:26px;
}
.service-card{
  position:relative;overflow:hidden;
  min-height:430px;
  padding:34px 30px;
  border:1px solid var(--oe-border);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--oe-shadow-soft);
}
.service-card::after{
  content:"";position:absolute;right:-30px;bottom:-42px;width:132px;height:132px;border-radius:50%;
  background:rgba(196,18,18,.11);
}
.service-number{
  display:grid;place-items:center;
  width:54px;height:54px;border-radius:50%;
  background:#070708;color:#fff;font-weight:950;font-size:1.1rem;margin-bottom:28px;
}
.service-card h3{margin-bottom:18px}
.service-card p{margin:0 0 26px;color:#565d66}
.service-card ul,.support-features ul{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.service-card li{position:relative;padding-left:24px;font-weight:780}
.service-card li::before{content:"✓";position:absolute;left:0;color:var(--oe-red);font-weight:950}

.support-section{
  padding:86px 0;
  background:
    radial-gradient(circle at 100% 0%, rgba(196,18,18,.08), transparent 250px),
    #111113;
  color:#fff;
}
.support-section h2,.support-section h3{color:#fff}
.support-section p{color:rgba(255,255,255,.76);font-size:1.12rem;max-width:660px}
.support-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:50px;align-items:start}
.inline-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.text-link{font-weight:850;color:#fff;border-bottom:2px solid var(--oe-red)}
.support-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.support-features div{
  min-height:230px;padding:30px;border-radius:24px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
}
.support-features span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--oe-red);font-size:1.7rem;font-weight:950;margin-bottom:20px}
.support-features strong{display:block;color:#fff;font-size:1.23rem;margin-bottom:10px}
.support-features p{font-size:1rem;margin:0;color:rgba(255,255,255,.72)}

.process-section{
  padding:86px 0;
  background:#f6f6f7;
}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.process-grid article{
  padding:30px;border-radius:22px;background:#fff;border:1px solid var(--oe-border);box-shadow:0 14px 42px rgba(11,11,13,.04);
}
.process-grid span{display:inline-flex;color:var(--oe-red);font-weight:950;margin-bottom:28px;letter-spacing:.14em}
.process-grid h3{margin-bottom:14px}
.process-grid p{margin:0;color:var(--oe-muted)}

.contact-teaser{
  position:relative;overflow:hidden;padding:92px 0;background:#fff;
}
.contact-teaser::before{
  content:"";position:absolute;left:-80px;bottom:-90px;width:220px;height:220px;border:28px solid rgba(196,18,18,.12);border-radius:50%;
}
.contact-teaser-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:78px;align-items:center}
.contact-copy p:not(.section-kicker){font-size:1.16rem;color:var(--oe-muted);max-width:600px;margin:24px 0 0;line-height:1.75}
.red-line{width:80px;height:5px;background:var(--oe-red);border-radius:99px;margin-top:26px}
.contact-cards{display:grid;gap:18px}
.contact-card{
  display:flex;align-items:center;gap:22px;
  min-height:104px;padding:20px 22px;border-radius:22px;
  background:#fff;border:1px solid var(--oe-border);box-shadow:0 14px 42px rgba(11,11,13,.05);
}
.contact-card:hover{border-color:#f0bcbc;box-shadow:0 18px 50px rgba(196,18,18,.1)}
.contact-icon{
  display:grid;place-items:center;flex:0 0 auto;
  width:62px;height:62px;border-radius:50%;background:#fff0f0;color:var(--oe-red);font-size:1.55rem;font-weight:950;
}
.contact-card b{display:block;color:var(--oe-black);font-size:1.04rem}
.contact-card strong{display:block;color:var(--oe-red);font-size:1.24rem;margin-top:2px;word-break:break-word}
.contact-card i{margin-left:auto;font-style:normal;font-size:2rem;color:var(--oe-black)}

.forms-section{padding:76px 0 96px;background:#f7f7f8}
.form-tabs{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.form-tab{
  border:1px solid var(--oe-border);background:#fff;color:var(--oe-black);
  padding:14px 22px;border-radius:999px;font-weight:900;cursor:pointer;
}
.form-tab.active{background:var(--oe-red);color:#fff;border-color:var(--oe-red)}
.form-panels{max-width:980px;margin-inline:auto}
.lead-form{
  display:none;background:#fff;border:1px solid var(--oe-border);border-radius:28px;padding:34px;
  box-shadow:var(--oe-shadow-soft);
}
.lead-form.active{display:block}
.lead-form h3{font-size:2rem;margin-bottom:8px}
.lead-form p{color:var(--oe-muted);margin:0 0 24px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
label{display:grid;gap:8px;font-weight:840;color:var(--oe-black);margin-bottom:18px}
input,select,textarea{
  width:100%;border:1px solid #d9d9de;border-radius:16px;padding:14px 15px;
  font:inherit;background:#fff;color:var(--oe-black);
}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(196,18,18,.16);border-color:var(--oe-red)}
textarea{resize:vertical}
.check{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:12px;font-weight:650;color:#3e444b}
.check input{width:auto;margin-top:5px}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.form-note{text-align:center;color:var(--oe-muted);margin:20px 0 0}

.site-footer{background:#fff;border-top:1px solid var(--oe-border)}
.footer-grid{
  display:grid;grid-template-columns:1.6fr .8fr .95fr .8fr;gap:58px;
  padding:62px 0 54px;align-items:start;
}
.footer-brand img{width:370px;max-width:100%;margin-bottom:24px}
.footer-brand p{color:#4e555d;margin:0 0 24px}
.footer-brand strong{color:#353b42;font-size:1.14rem}
.footer-grid h3{font-size:1.18rem;margin:0 0 18px}
.footer-grid a{display:block;color:#242a31;margin:0 0 13px}
.footer-grid a:hover{color:var(--oe-red)}
.footer-grid p{color:#242a31}
.socials{display:flex;gap:12px;flex-wrap:wrap}
.socials a{
  display:grid;place-items:center;width:48px;height:48px;border-radius:13px;
  border:1px solid var(--oe-border);font-weight:950;background:#fff;margin:0;
}
.socials a:hover{border-color:var(--oe-red);color:var(--oe-red);box-shadow:0 12px 30px rgba(196,18,18,.1)}
.footer-redline{height:11px;background:var(--oe-red)}

@media (max-width: 1100px){
  .brand-logo img{width:360px}
  .main-nav{gap:22px}
  .hero-grid,.contact-teaser-grid,.support-grid{grid-template-columns:1fr;gap:42px}
  .hero-photo-card img{height:min(68vw,520px)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .support-features,.process-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .wrap{width:min(100% - 32px, var(--oe-max))}
  .nav-shell{min-height:80px}
  .brand-logo img{width:280px;max-width:72vw}
  .main-nav,.nav-actions{display:none}
  .mobile-toggle{display:inline-flex;margin-left:auto;border:1px solid var(--oe-border);background:#fff;border-radius:13px;padding:11px 14px;font-weight:900}
  .mobile-menu{padding:0 16px 16px;border-top:1px solid var(--oe-border);background:#fff}
  .mobile-menu a{display:block;padding:12px 0;font-weight:850;border-bottom:1px solid #f0f0f2}
  .hero-section{padding:72px 0 52px}
  h1{font-size:clamp(2.4rem, 10.8vw, 3.5rem)}
  h2{font-size:clamp(2.3rem, 12vw, 3.5rem)}
  .hero-text{font-size:1.05rem}
  .hero-actions,.inline-actions{align-items:stretch;flex-direction:column}
  .btn{width:100%}
  .hero-photo-card{padding:10px;border-radius:22px}
  .hero-photo-card img{height:420px;border-radius:16px}
  .service-grid,.support-features,.process-grid,.form-grid,.footer-grid{grid-template-columns:1fr}
  .service-card{min-height:auto}
  .contact-card{align-items:flex-start}
  .contact-card strong{font-size:1.05rem}
  .lead-form{padding:24px;border-radius:22px}
  .footer-grid{gap:28px}
}


/* v10 – Kontakt und Formular wieder nebeneinander */
.contact-teaser,.forms-section{display:none!important}
.contact-workspace{position:relative;overflow:hidden;padding:92px 0 104px;background:linear-gradient(180deg,#fff 0%,#f7f7f8 100%)}
.contact-workspace::before{content:"";position:absolute;left:-90px;bottom:-105px;width:235px;height:235px;border:28px solid rgba(196,18,18,.10);border-radius:50%}
.contact-workspace-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:62px;align-items:start}
.contact-copy-card{position:sticky;top:126px;align-self:start;padding:42px;border-radius:30px;background:#fff;border:1px solid var(--oe-border);box-shadow:var(--oe-shadow-soft)}
.contact-copy-card h2{font-size:clamp(2.45rem,3.8vw,4.2rem)}
.contact-copy-card p:not(.section-kicker){font-size:1.12rem;color:var(--oe-muted);max-width:560px;margin:22px 0 0;line-height:1.75}
.contact-cards.compact{margin-top:32px;gap:14px}
.contact-cards.compact .contact-card{min-height:86px;padding:16px 18px;border-radius:20px}
.contact-cards.compact .contact-icon{width:52px;height:52px;font-size:0;color:var(--oe-red)}
.contact-icon svg{width:25px;height:25px;display:block}
.contact-card svg{width:25px;height:25px;display:block;flex:0 0 auto;color:var(--oe-red)}
.contact-card strong{font-size:1.08rem}
.form-column{min-width:0}
.form-tabs{justify-content:flex-start;margin:0 0 18px;padding-left:4px}
.form-panels{max-width:none;margin:0}
.lead-form{padding:34px 34px 32px;border-radius:30px}
.lead-form h3{font-size:clamp(1.75rem,2.6vw,2.25rem)}
.file-field{position:relative;display:grid;grid-template-columns:54px 1fr;gap:4px 16px;align-items:center;border:1px dashed #d7d7dc;border-radius:18px;padding:18px;margin:8px 0 18px;background:#fffafa;cursor:pointer}
.file-field span{grid-row:1 / span 2;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff0f0;color:var(--oe-red)}
.file-field svg{width:26px;height:26px}
.file-field b{font-weight:950;color:var(--oe-black)}
.file-field small{color:var(--oe-muted);font-weight:650}
.file-field input{grid-column:2;border:0;padding:0;border-radius:0;margin-top:6px;background:transparent}
.recaptcha-wrap{margin:20px 0 20px;min-height:78px}
.recaptcha-warning{margin:20px 0;padding:15px 16px;border-radius:16px;background:#fff7e6;border:1px solid #f1cf8d;color:#674300;font-weight:750}
.recaptcha-warning code{font-weight:950;color:#3b2500}
.footer-grid a svg{width:18px;height:18px;display:inline-block;vertical-align:-3px;margin-right:8px;color:var(--oe-red)}
.form-message{margin-top:18px;padding:14px 16px;border-radius:14px;font-weight:800}
@media (max-width:1100px){.contact-workspace-grid{grid-template-columns:1fr;gap:34px}.contact-copy-card{position:relative;top:auto}.form-tabs{justify-content:center}}
@media (max-width:760px){.contact-workspace{padding:62px 0 74px}.contact-copy-card{padding:26px;border-radius:24px}.contact-copy-card h2{font-size:clamp(2.2rem,11vw,3.2rem)}.lead-form{padding:22px;border-radius:24px}.form-tabs{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.form-tab{white-space:nowrap}.file-field{grid-template-columns:44px 1fr}.file-field span{width:44px;height:44px}}

.recaptcha-note{margin:20px 0;padding:13px 15px;border-radius:15px;background:#f7f7f8;border:1px solid #e7e7e9;color:#646b73;font-weight:750;font-size:.92rem}

/* v12 – Datenschutzlink und reCAPTCHA-Hinweis korrigiert */
.recaptcha-note{display:none!important}
.recaptcha-legal{
  margin:12px 0 20px;
  color:#707780;
  font-size:.86rem;
  line-height:1.55;
  font-weight:650;
}
.recaptcha-legal a,
.privacy-preview-link{
  color:var(--oe-red);
  font-weight:950;
  text-decoration:none;
  border-bottom:2px solid rgba(196,18,18,.22);
}
.recaptcha-legal a:hover,
.privacy-preview-link:hover{
  border-bottom-color:var(--oe-red);
}
.privacy-popover{
  position:fixed;
  z-index:9999;
  width:min(420px, calc(100vw - 28px));
  max-height:320px;
  overflow:auto;
  padding:18px 20px;
  border-radius:18px;
  background:#fff;
  border:1px solid #e7e7e9;
  box-shadow:0 24px 80px rgba(11,11,13,.18);
  color:#333941;
  font-size:.92rem;
  line-height:1.55;
}
.privacy-popover h1,
.privacy-popover h2,
.privacy-popover h3{
  font-size:1.05rem!important;
  line-height:1.25!important;
  margin:0 0 8px!important;
  letter-spacing:0!important;
}
.privacy-popover p{margin:0 0 10px!important}
.form-note{display:none!important}

/* v13 – reCAPTCHA unsichtbar, Datenschutzsatz sauber inline */
.recaptcha-note,
.recaptcha-legal,
.form-note{
  display:none!important;
}
label.check{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start!important;
  gap:14px!important;
  margin:18px 0 18px!important;
  color:#3d444b!important;
  font-weight:760!important;
  line-height:1.55!important;
}
label.check input[type="checkbox"]{
  flex:0 0 auto!important;
  width:20px!important;
  height:20px!important;
  margin:4px 0 0!important;
  padding:0!important;
  border-radius:5px!important;
}
label.check span{
  display:block!important;
  min-width:0!important;
}
.privacy-preview-link{
  display:inline!important;
  color:var(--oe-red)!important;
  font:inherit!important;
  font-weight:950!important;
  text-decoration:none!important;
  border-bottom:2px solid rgba(196,18,18,.28)!important;
  white-space:normal!important;
}
.privacy-preview-link:hover{
  border-bottom-color:var(--oe-red)!important;
}
.recaptcha-warning{
  margin:12px 0 18px!important;
  padding:12px 14px!important;
  font-size:.9rem!important;
}

/* v14 – reCAPTCHA Enterprise Checkbox passend zum vorhandenen Google-Key */
.recaptcha-checkbox-wrap{
  margin:18px 0 20px;
  min-height:78px;
  display:flex;
  align-items:center;
}
.recaptcha-checkbox-wrap > div{
  max-width:100%;
}


/* v16 – offizielles Logo-Lockup: REGIONAL SEIT 2014 / Oeschger´s EDV Systeme / IT-Service · Telekommunikation · Software */
.brand-logo.brand-lockup{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  flex:0 0 auto!important;
  min-width:0!important;
}
.brand-lockup .brand-emblem{
  width:96px!important;
  max-width:none!important;
  height:auto!important;
  flex:0 0 auto!important;
}
.brand-wordmark{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1;
}
.brand-topline{
  color:#6b7280;
  font-size:clamp(.66rem,.82vw,.9rem);
  font-weight:950;
  letter-spacing:.28em;
  text-transform:uppercase;
  margin:0 0 8px;
  white-space:nowrap;
}
.brand-wordmark strong{
  color:#0b0b0d;
  font-size:clamp(1.45rem,2.2vw,2.55rem);
  font-weight:950;
  letter-spacing:.01em;
  line-height:.95;
  white-space:nowrap;
}
.brand-wordmark em{
  color:var(--oe-red);
  font-size:clamp(.76rem,1.02vw,1.03rem);
  font-style:normal;
  font-weight:950;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-top:12px;
  white-space:nowrap;
}
.site-header .brand-lockup{
  max-width:min(610px,52vw);
}
.site-header .brand-wordmark{
  overflow:hidden;
}
.site-header .brand-wordmark strong,
.site-header .brand-wordmark em,
.site-header .brand-topline{
  overflow:hidden;
  text-overflow:ellipsis;
}
.footer-brand .footer-lockup{
  margin-bottom:24px;
  max-width:560px;
}
.footer-brand .footer-lockup .brand-emblem{
  width:105px!important;
}
.footer-brand .footer-lockup .brand-wordmark strong{
  font-size:clamp(1.6rem,2.55vw,2.7rem);
}
.footer-brand .footer-lockup .brand-wordmark em{
  font-size:clamp(.78rem,1.05vw,1rem);
}
.footer-brand > img{
  display:none!important;
}

@media (max-width: 1180px){
  .site-header .brand-lockup{max-width:min(500px,48vw)}
  .brand-lockup .brand-emblem{width:78px!important}
  .brand-wordmark strong{font-size:clamp(1.28rem,2.05vw,2rem)}
  .brand-wordmark em{font-size:.78rem;letter-spacing:.15em}
  .brand-topline{font-size:.66rem;letter-spacing:.22em}
}
@media (max-width: 760px){
  .brand-logo.brand-lockup{gap:12px!important}
  .brand-lockup .brand-emblem{width:58px!important}
  .site-header .brand-lockup{max-width:74vw}
  .brand-topline{font-size:.54rem;letter-spacing:.18em;margin-bottom:6px}
  .brand-wordmark strong{font-size:1.05rem}
  .brand-wordmark em{font-size:.5rem;letter-spacing:.11em;margin-top:7px}
  .footer-brand .footer-lockup{max-width:100%}
  .footer-brand .footer-lockup .brand-emblem{width:72px!important}
  .footer-brand .footer-lockup .brand-wordmark strong{font-size:1.32rem}
  .footer-brand .footer-lockup .brand-wordmark em{font-size:.58rem}
}
@media (max-width: 420px){
  .brand-wordmark em{display:none}
  .brand-topline{font-size:.5rem}
  .brand-wordmark strong{font-size:1rem}
}


/* v18 – finaler Header/Logo-Fix: offizielles Ornament, saubere Proportionen, keine abgeschnittene Schrift */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid rgba(231,231,233,.78);
  box-shadow:0 10px 35px rgba(11,11,13,.05);
}
.header-brand-row{
  min-height:128px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-top:14px;
  padding-bottom:14px;
}
.header-redline{
  height:6px;
  background:var(--oe-red);
}
.oe-brand-lockup,
.brand-logo.brand-lockup,
.footer-lockup{
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  flex:0 1 auto!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  text-decoration:none!important;
}
.oe-brand-ornament,
.brand-emblem{
  display:block!important;
  width:116px!important;
  height:116px!important;
  object-fit:contain!important;
  object-position:center!important;
  flex:0 0 116px!important;
  max-width:none!important;
}
.oe-brand-text,
.brand-wordmark{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  line-height:1!important;
  overflow:visible!important;
}
.oe-brand-topline,
.brand-topline{
  display:block!important;
  color:#6b7280!important;
  font-size:clamp(.76rem,1.08vw,.98rem)!important;
  font-weight:950!important;
  letter-spacing:.31em!important;
  text-transform:uppercase!important;
  margin:0 0 10px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.oe-brand-text strong,
.brand-wordmark strong{
  display:block!important;
  color:#0b0b0d!important;
  font-size:clamp(2.15rem,4.2vw,3.65rem)!important;
  font-weight:950!important;
  letter-spacing:.005em!important;
  line-height:.95!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-width:none!important;
}
.oe-brand-text em,
.brand-wordmark em{
  display:block!important;
  color:var(--oe-red)!important;
  font-size:clamp(.86rem,1.55vw,1.25rem)!important;
  font-style:normal!important;
  font-weight:950!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  margin-top:14px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-width:none!important;
}
.nav-shell{
  min-height:66px!important;
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
}
.main-nav{
  margin-left:0!important;
  display:flex!important;
  align-items:center!important;
  gap:34px!important;
  font-weight:850!important;
}
.nav-actions{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
.brand-logo img:not(.brand-emblem),
.footer-brand > img{
  display:none!important;
}
.footer-brand .oe-brand-lockup{
  margin-bottom:24px;
  gap:18px!important;
}
.footer-brand .oe-brand-ornament{
  width:88px!important;
  height:88px!important;
  flex-basis:88px!important;
}
.footer-brand .oe-brand-text strong{
  font-size:clamp(1.55rem,2.4vw,2.45rem)!important;
}
.footer-brand .oe-brand-text em{
  font-size:clamp(.68rem,.95vw,.92rem)!important;
  letter-spacing:.16em!important;
}

/* größere Tablets / kleine Desktops: Logo darf sauber umbrechen, Nav wandert darunter */
@media (max-width: 1180px){
  .header-brand-row{
    min-height:112px;
  }
  .oe-brand-ornament,
  .brand-emblem{
    width:94px!important;
    height:94px!important;
    flex-basis:94px!important;
  }
  .oe-brand-text strong,
  .brand-wordmark strong{
    font-size:clamp(1.95rem,4.6vw,3rem)!important;
  }
  .oe-brand-text em,
  .brand-wordmark em{
    font-size:clamp(.72rem,1.55vw,1rem)!important;
    letter-spacing:.18em!important;
  }
  .nav-shell{
    flex-wrap:wrap!important;
    padding-top:10px!important;
    padding-bottom:12px!important;
  }
  .main-nav{
    order:1;
    flex:1 1 auto;
  }
  .nav-actions{
    order:2;
  }
}

@media (max-width: 860px){
  .header-brand-row{
    min-height:96px;
  }
  .oe-brand-lockup,
  .brand-logo.brand-lockup{
    gap:15px!important;
  }
  .oe-brand-ornament,
  .brand-emblem{
    width:72px!important;
    height:72px!important;
    flex-basis:72px!important;
  }
  .oe-brand-topline,
  .brand-topline{
    font-size:.58rem!important;
    letter-spacing:.22em!important;
    margin-bottom:7px!important;
  }
  .oe-brand-text strong,
  .brand-wordmark strong{
    font-size:clamp(1.35rem,6.2vw,2.05rem)!important;
  }
  .oe-brand-text em,
  .brand-wordmark em{
    font-size:clamp(.46rem,2.1vw,.7rem)!important;
    letter-spacing:.12em!important;
    margin-top:8px!important;
  }
  .main-nav,
  .nav-actions{
    display:none!important;
  }
  .mobile-toggle{
    display:inline-flex!important;
    margin-left:auto!important;
  }
  .nav-shell{
    min-height:58px!important;
  }
}

@media (max-width: 460px){
  .wrap{width:min(100% - 26px, var(--oe-max))}
  .header-brand-row{min-height:82px}
  .oe-brand-lockup{gap:11px!important}
  .oe-brand-ornament{
    width:58px!important;
    height:58px!important;
    flex-basis:58px!important;
  }
  .oe-brand-topline{
    font-size:.48rem!important;
    letter-spacing:.16em!important;
  }
  .oe-brand-text strong{
    font-size:1.12rem!important;
  }
  .oe-brand-text em{
    display:none!important;
  }
}


/* v19 – Header deutlich kleiner, näher am früheren Layout */
.site-header{
  box-shadow:0 8px 26px rgba(11,11,13,.04)!important;
}
.header-brand-row{
  min-height:84px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
.header-redline{
  height:4px!important;
}
.oe-brand-lockup,
.brand-logo.brand-lockup,
.footer-lockup{
  gap:16px!important;
}
.oe-brand-ornament,
.brand-emblem{
  width:64px!important;
  height:64px!important;
  flex:0 0 64px!important;
}
.oe-brand-topline,
.brand-topline{
  font-size:.56rem!important;
  letter-spacing:.26em!important;
  margin:0 0 6px!important;
}
.oe-brand-text strong,
.brand-wordmark strong{
  font-size:clamp(1.45rem,2.7vw,2.55rem)!important;
  line-height:.96!important;
}
.oe-brand-text em,
.brand-wordmark em{
  font-size:clamp(.58rem,1vw,.92rem)!important;
  letter-spacing:.16em!important;
  margin-top:8px!important;
}
.nav-shell{
  min-height:56px!important;
  gap:18px!important;
}
.main-nav{
  gap:22px!important;
  font-size:clamp(.95rem,1.2vw,1.05rem)!important;
}
.nav-actions{
  gap:12px!important;
}
.btn-small{
  padding:14px 28px!important;
  font-size:1rem!important;
  border-radius:20px!important;
}
.footer-brand .oe-brand-ornament{
  width:72px!important;
  height:72px!important;
  flex-basis:72px!important;
}
.footer-brand .oe-brand-text strong{
  font-size:clamp(1.25rem,1.9vw,2rem)!important;
}
.footer-brand .oe-brand-text em{
  font-size:clamp(.58rem,.8vw,.78rem)!important;
}

@media (max-width: 1180px){
  .header-brand-row{min-height:76px!important}
  .oe-brand-ornament,.brand-emblem{width:58px!important;height:58px!important;flex-basis:58px!important}
  .oe-brand-text strong,.brand-wordmark strong{font-size:clamp(1.28rem,2.6vw,2rem)!important}
  .oe-brand-text em,.brand-wordmark em{font-size:clamp(.52rem,.95vw,.78rem)!important;letter-spacing:.12em!important}
  .nav-shell{min-height:52px!important}
  .main-nav{gap:18px!important}
  .btn-small{padding:12px 22px!important;font-size:.94rem!important}
}

@media (max-width: 860px){
  .header-brand-row{min-height:70px!important}
  .oe-brand-lockup,.brand-logo.brand-lockup{gap:12px!important}
  .oe-brand-ornament,.brand-emblem{width:52px!important;height:52px!important;flex-basis:52px!important}
  .oe-brand-topline,.brand-topline{font-size:.48rem!important;letter-spacing:.18em!important;margin-bottom:5px!important}
  .oe-brand-text strong,.brand-wordmark strong{font-size:clamp(1.08rem,4.7vw,1.6rem)!important}
  .oe-brand-text em,.brand-wordmark em{font-size:.46rem!important;letter-spacing:.09em!important;margin-top:6px!important}
}

@media (max-width: 460px){
  .header-brand-row{min-height:64px!important}
  .oe-brand-ornament{width:46px!important;height:46px!important;flex-basis:46px!important}
  .oe-brand-topline{font-size:.42rem!important;letter-spacing:.13em!important}
  .oe-brand-text strong{font-size:.96rem!important}
}


/* v20 – Header wie Portal-Beispiel: kompakte Ein-Zeilen-Navigation */
.site-header.portal-header{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  background:#fff!important;
  border-bottom:1px solid rgba(231,231,233,.78)!important;
  box-shadow:0 8px 28px rgba(11,11,13,.045)!important;
}
.portal-header .header-brand-row,
.portal-header .header-redline{
  display:none!important;
}
.portal-header-shell{
  min-height:96px!important;
  display:flex!important;
  align-items:center!important;
  gap:32px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
.portal-brand-lockup{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  min-width:0!important;
  flex:0 1 auto!important;
  text-decoration:none!important;
}
.portal-brand-ornament{
  width:74px!important;
  height:74px!important;
  flex:0 0 74px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.portal-brand-text{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  line-height:1!important;
  min-width:0!important;
  overflow:visible!important;
}
.portal-brand-topline{
  display:block!important;
  color:#6b7280!important;
  font-size:.68rem!important;
  font-weight:950!important;
  letter-spacing:.26em!important;
  text-transform:uppercase!important;
  margin:0 0 7px!important;
  white-space:nowrap!important;
}
.portal-brand-text strong{
  display:block!important;
  color:#0b0b0d!important;
  font-size:clamp(1.75rem,2.35vw,2.45rem)!important;
  font-weight:950!important;
  letter-spacing:.005em!important;
  line-height:.95!important;
  white-space:nowrap!important;
}
.portal-brand-text em{
  display:block!important;
  color:var(--oe-red)!important;
  font-size:clamp(.62rem,.88vw,.82rem)!important;
  font-style:normal!important;
  font-weight:950!important;
  letter-spacing:.19em!important;
  text-transform:uppercase!important;
  margin-top:9px!important;
  white-space:nowrap!important;
}
.portal-main-nav{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:30px!important;
  font-size:1.02rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.portal-main-nav a:first-child{
  color:var(--oe-red)!important;
}
.portal-nav-actions{
  margin-left:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.portal-nav-actions .btn-small{
  min-height:46px!important;
  padding:0 22px!important;
  border-radius:16px!important;
  font-size:.94rem!important;
}
.portal-header .mobile-toggle{
  display:none!important;
}

/* alte Logo-Regeln im Header hart neutralisieren */
.portal-header .brand-logo,
.portal-header .oe-brand-lockup,
.portal-header .brand-lockup{
  display:none!important;
}

@media (max-width: 1220px){
  .portal-header-shell{
    gap:22px!important;
  }
  .portal-brand-ornament{
    width:66px!important;
    height:66px!important;
    flex-basis:66px!important;
  }
  .portal-brand-text strong{
    font-size:clamp(1.48rem,2.25vw,2rem)!important;
  }
  .portal-brand-text em{
    font-size:.62rem!important;
    letter-spacing:.14em!important;
  }
  .portal-main-nav{
    gap:20px!important;
    font-size:.95rem!important;
  }
  .portal-nav-actions .btn-small{
    padding:0 18px!important;
  }
}

@media (max-width: 980px){
  .portal-header-shell{
    min-height:84px!important;
  }
  .portal-brand-ornament{
    width:58px!important;
    height:58px!important;
    flex-basis:58px!important;
  }
  .portal-brand-topline{
    font-size:.54rem!important;
    letter-spacing:.2em!important;
    margin-bottom:6px!important;
  }
  .portal-brand-text strong{
    font-size:1.42rem!important;
  }
  .portal-brand-text em{
    font-size:.5rem!important;
    letter-spacing:.1em!important;
    margin-top:7px!important;
  }
  .portal-main-nav,
  .portal-nav-actions{
    display:none!important;
  }
  .portal-header .mobile-toggle{
    display:inline-flex!important;
    margin-left:auto!important;
    border:1px solid var(--oe-border)!important;
    background:#fff!important;
    border-radius:13px!important;
    padding:11px 14px!important;
    font-weight:900!important;
  }
}

@media (max-width: 500px){
  .portal-header-shell{
    min-height:74px!important;
    gap:12px!important;
  }
  .portal-brand-lockup{
    gap:11px!important;
  }
  .portal-brand-ornament{
    width:48px!important;
    height:48px!important;
    flex-basis:48px!important;
  }
  .portal-brand-topline{
    font-size:.42rem!important;
    letter-spacing:.14em!important;
  }
  .portal-brand-text strong{
    font-size:1.02rem!important;
  }
  .portal-brand-text em{
    display:none!important;
  }
}


/* v21 – Header final: kein Überlappen, kompakter wie Portal-Beispiel */
.site-header.portal-header{
  background:#fff!important;
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  border-bottom:1px solid #ececee!important;
  box-shadow:0 8px 22px rgba(11,11,13,.045)!important;
}

/* Raster statt freies Flex-Chaos */
.portal-header-shell{
  min-height:112px!important;
  display:grid!important;
  grid-template-columns:minmax(520px, 700px) minmax(330px, 1fr) auto!important;
  align-items:center!important;
  gap:28px!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
}

/* Logo links, feste Maximalbreite */
.portal-brand-lockup{
  display:grid!important;
  grid-template-columns:84px minmax(0, 1fr)!important;
  align-items:center!important;
  gap:20px!important;
  min-width:0!important;
  max-width:700px!important;
  overflow:hidden!important;
  text-decoration:none!important;
}
.portal-brand-ornament{
  width:84px!important;
  height:84px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.portal-brand-text{
  min-width:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  line-height:1!important;
}
.portal-brand-topline{
  color:#6b7280!important;
  font-size:.64rem!important;
  font-weight:950!important;
  letter-spacing:.26em!important;
  text-transform:uppercase!important;
  margin:0 0 7px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.portal-brand-text strong{
  color:#0b0b0d!important;
  font-size:clamp(2.05rem, 2.45vw, 2.62rem)!important;
  font-weight:950!important;
  letter-spacing:.005em!important;
  line-height:.94!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}
.portal-brand-text em{
  color:var(--oe-red)!important;
  font-size:clamp(.66rem, .88vw, .84rem)!important;
  font-style:normal!important;
  font-weight:950!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  margin-top:9px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}

/* Navigation rechts, eigener Bereich */
.portal-main-nav{
  justify-self:end!important;
  margin-left:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:26px!important;
  font-size:1.02rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
  min-width:0!important;
}
.portal-main-nav a{
  flex:0 0 auto!important;
}
.portal-main-nav a:first-child{
  color:var(--oe-red)!important;
}
.portal-nav-actions{
  justify-self:end!important;
  margin-left:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  white-space:nowrap!important;
}
.portal-nav-actions .btn-small{
  min-height:48px!important;
  padding:0 24px!important;
  border-radius:18px!important;
  font-size:.98rem!important;
}

/* Alte Header/Logo-Regeln neutralisieren */
.portal-header .header-brand-row,
.portal-header .header-redline,
.portal-header .brand-logo,
.portal-header .oe-brand-lockup,
.portal-header .brand-lockup{
  display:none!important;
}

/* Wenn es enger wird: Buttons bleiben, Linknavigation wird kleiner */
@media (max-width: 1460px){
  .portal-header-shell{
    grid-template-columns:minmax(470px, 620px) minmax(285px, 1fr) auto!important;
    gap:22px!important;
  }
  .portal-brand-lockup{
    grid-template-columns:72px minmax(0, 1fr)!important;
    gap:16px!important;
    max-width:620px!important;
  }
  .portal-brand-ornament{
    width:72px!important;
    height:72px!important;
  }
  .portal-brand-text strong{
    font-size:clamp(1.72rem,2.25vw,2.22rem)!important;
  }
  .portal-brand-text em{
    font-size:.68rem!important;
    letter-spacing:.14em!important;
  }
  .portal-main-nav{
    gap:20px!important;
    font-size:.96rem!important;
  }
  .portal-nav-actions .btn-small{
    min-height:44px!important;
    padding:0 18px!important;
    font-size:.92rem!important;
  }
}

/* Tablet: Navigation ausblenden, Buttons bleiben noch kurz */
@media (max-width: 1180px){
  .portal-header-shell{
    grid-template-columns:minmax(420px, 1fr) auto!important;
  }
  .portal-main-nav{
    display:none!important;
  }
  .portal-brand-lockup{
    max-width:620px!important;
  }
}

/* Mobile: nur Logo + Menü */
@media (max-width: 900px){
  .portal-header-shell{
    min-height:82px!important;
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
  }
  .portal-brand-lockup{
    grid-template-columns:58px minmax(0, 1fr)!important;
    gap:13px!important;
    max-width:calc(100vw - 140px)!important;
  }
  .portal-brand-ornament{
    width:58px!important;
    height:58px!important;
  }
  .portal-brand-topline{
    font-size:.5rem!important;
    letter-spacing:.18em!important;
    margin-bottom:5px!important;
  }
  .portal-brand-text strong{
    font-size:1.28rem!important;
  }
  .portal-brand-text em{
    font-size:.48rem!important;
    letter-spacing:.09em!important;
    margin-top:6px!important;
  }
  .portal-nav-actions{
    display:none!important;
  }
  .portal-header .mobile-toggle{
    display:inline-flex!important;
    margin-left:auto!important;
    border:1px solid var(--oe-border)!important;
    background:#fff!important;
    border-radius:13px!important;
    padding:11px 14px!important;
    font-weight:900!important;
  }
}

@media (max-width: 480px){
  .portal-brand-lockup{
    grid-template-columns:46px minmax(0, 1fr)!important;
    gap:10px!important;
    max-width:calc(100vw - 96px)!important;
  }
  .portal-brand-ornament{
    width:46px!important;
    height:46px!important;
  }
  .portal-brand-topline{
    font-size:.42rem!important;
    letter-spacing:.13em!important;
  }
  .portal-brand-text strong{
    font-size:1rem!important;
  }
  .portal-brand-text em{
    display:none!important;
  }
}

/* v22 – finaler Kompakt-Fix: Logo kleiner, voller Schriftzug, keine Überlappung */
.site-header.portal-header{
  background:#fff!important;
  border-bottom:1px solid #ececee!important;
  box-shadow:0 8px 22px rgba(11,11,13,.04)!important;
}

.portal-header-shell{
  min-height:92px!important;
  display:grid!important;
  grid-template-columns:minmax(700px,760px) auto auto!important;
  align-items:center!important;
  gap:28px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}

.portal-brand-lockup{
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr)!important;
  align-items:center!important;
  gap:16px!important;
  max-width:760px!important;
  min-width:0!important;
  overflow:hidden!important;
  text-decoration:none!important;
}

.portal-brand-ornament{
  width:68px!important;
  height:68px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}

.portal-brand-text{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  overflow:hidden!important;
  line-height:1!important;
}

.portal-brand-topline{
  display:block!important;
  color:#6b7280!important;
  font-size:.56rem!important;
  font-weight:950!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  margin:0 0 6px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

.portal-brand-text strong{
  display:block!important;
  color:#0b0b0d!important;
  font-size:2.22rem!important;
  font-weight:950!important;
  letter-spacing:-.018em!important;
  line-height:.95!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

.portal-brand-text em{
  display:block!important;
  color:var(--oe-red)!important;
  font-size:.70rem!important;
  font-style:normal!important;
  font-weight:950!important;
  letter-spacing:.145em!important;
  text-transform:uppercase!important;
  margin-top:8px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

.portal-main-nav{
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:24px!important;
  margin-left:0!important;
  font-size:.98rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

.portal-main-nav a:first-child{
  color:var(--oe-red)!important;
}

.portal-nav-actions{
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-left:0!important;
  white-space:nowrap!important;
}

.portal-nav-actions .btn-small{
  min-height:44px!important;
  padding:0 22px!important;
  border-radius:17px!important;
  font-size:.94rem!important;
}

/* mittelgroße Breiten: Navigation weg, Buttons bleiben */
@media (max-width: 1420px){
  .portal-header-shell{
    grid-template-columns:minmax(620px,1fr) auto!important;
  }
  .portal-main-nav{
    display:none!important;
  }
  .portal-brand-text strong{
    font-size:2.05rem!important;
  }
}

/* Tablet/Mobile: Buttons weg, Menü sichtbar */
@media (max-width: 980px){
  .portal-header-shell{
    min-height:78px!important;
    display:flex!important;
    gap:14px!important;
  }
  .portal-brand-lockup{
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:12px!important;
    max-width:calc(100vw - 120px)!important;
  }
  .portal-brand-ornament{
    width:54px!important;
    height:54px!important;
  }
  .portal-brand-topline{
    font-size:.46rem!important;
    letter-spacing:.17em!important;
    margin-bottom:5px!important;
  }
  .portal-brand-text strong{
    font-size:1.24rem!important;
  }
  .portal-brand-text em{
    font-size:.45rem!important;
    letter-spacing:.08em!important;
    margin-top:6px!important;
  }
  .portal-nav-actions{
    display:none!important;
  }
  .portal-header .mobile-toggle{
    display:inline-flex!important;
    margin-left:auto!important;
    border:1px solid var(--oe-border)!important;
    background:#fff!important;
    border-radius:13px!important;
    padding:11px 14px!important;
    font-weight:900!important;
  }
}

@media (max-width: 480px){
  .portal-brand-lockup{
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .portal-brand-ornament{
    width:44px!important;
    height:44px!important;
  }
  .portal-brand-topline{
    font-size:.40rem!important;
    letter-spacing:.12em!important;
  }
  .portal-brand-text strong{
    font-size:1rem!important;
  }
  .portal-brand-text em{
    display:none!important;
  }
}

/* v23 – gleiche Abstände in der Hauptnavigation */
.portal-header-shell{
  grid-template-columns:minmax(560px,680px) auto auto !important;
  gap:24px !important;
}

.portal-brand-lockup{
  max-width:640px !important;
  overflow:hidden !important;
}

.portal-brand-text strong{
  font-size:1.96rem !important;
}

.portal-brand-text em{
  font-size:.64rem !important;
  letter-spacing:.13em !important;
}

.portal-main-nav{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:36px !important;
  padding-left:18px !important;
  margin-left:18px !important;
  white-space:nowrap !important;
}

.portal-main-nav a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.1 !important;
  flex:0 0 auto !important;
}

@media (max-width: 1420px){
  .portal-header-shell{
    grid-template-columns:minmax(520px,620px) auto auto !important;
  }
  .portal-brand-lockup{
    max-width:600px !important;
  }
  .portal-main-nav{
    gap:28px !important;
    padding-left:14px !important;
    margin-left:14px !important;
  }
}

/* v24 – Impressum & Datenschutz wieder im offiziellen Oeschger-CI */
.legal-page{
  background:#fff;
}
.legal-main{
  padding:clamp(54px,7vw,96px) 0;
}
.legal-wrap{
  max-width:1060px;
}
.legal-wrap h1{
  font-size:clamp(3.2rem,8vw,6.2rem);
  line-height:.92;
  letter-spacing:-.06em;
  margin:0 0 26px;
}
.legal-wrap .lead{
  font-size:1.12rem;
  line-height:1.75;
  color:#333b44;
  max-width:980px;
  margin:0 0 38px;
}
.legal-card{
  border-top:1px solid #ececee;
  padding:28px 0;
}
.legal-card h2{
  font-size:clamp(1.35rem,2vw,1.85rem);
  line-height:1.15;
  letter-spacing:-.03em;
  margin:0 0 14px;
}
.legal-card p{
  font-size:1.02rem;
  line-height:1.72;
  color:#1c232b;
  margin:0 0 14px;
}
.legal-card a{
  color:var(--oe-red);
  font-weight:850;
  text-decoration:none;
}
.legal-card a:hover{
  text-decoration:underline;
}
.legal-footer{
  border-top:1px solid #ececee;
  background:#fafafa;
}
.footer-mini{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.footer-mini p{
  margin:0;
  color:#4d5560;
}
.footer-mini nav{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
}
.footer-mini a{
  font-weight:850;
}
@media (max-width: 760px){
  .legal-main{
    padding:42px 0;
  }
  .legal-wrap h1{
    font-size:clamp(2.6rem,14vw,4rem);
  }
  .footer-mini{
    align-items:flex-start;
    flex-direction:column;
    padding:24px 0;
  }
}

/* v25 – Rechtsseiten-Footer im offiziellen Oeschger-CI statt Mini-Footer */
.legal-footer-full{
  background:#fff;
  border-top:1px solid #ececee;
}
.legal-footer-grid{
  display:grid;
  grid-template-columns:1.65fr .75fr .95fr .75fr;
  gap:56px;
  padding:58px 0 50px;
  align-items:start;
}
.legal-footer-brand p{
  color:#4e555d;
  margin:22px 0 0;
  line-height:1.65;
}
.legal-footer-brand strong{
  color:#353b42;
  font-size:1.12rem;
}
.footer-portal-brand{
  max-width:560px;
}
.legal-footer-full .footer-portal-brand .portal-brand-ornament{
  width:78px!important;
  height:78px!important;
  flex-basis:78px!important;
}
.legal-footer-full .footer-portal-brand .portal-brand-text strong{
  font-size:clamp(1.35rem,2vw,2.1rem)!important;
}
.legal-footer-full .footer-portal-brand .portal-brand-text em{
  font-size:clamp(.58rem,.78vw,.78rem)!important;
  letter-spacing:.13em!important;
}
.legal-footer-full .footer-portal-brand .portal-brand-topline{
  font-size:.54rem!important;
}
.legal-footer-col h3{
  font-size:1.18rem;
  margin:0 0 18px;
  letter-spacing:-.02em;
}
.legal-footer-col a{
  display:block;
  color:#242a31;
  margin:0 0 13px;
  font-weight:780;
  text-decoration:none;
}
.legal-footer-col a:hover{
  color:var(--oe-red);
}
.legal-footer-full .footer-redline{
  height:10px;
  background:var(--oe-red);
}
.legal-footer,
.footer-mini{
  display:none!important;
}
@media (max-width: 1100px){
  .legal-footer-grid{
    grid-template-columns:1fr 1fr;
    gap:38px;
  }
}
@media (max-width: 760px){
  .legal-footer-grid{
    grid-template-columns:1fr;
    padding:42px 0 36px;
  }
  .legal-footer-full .footer-portal-brand .portal-brand-ornament{
    width:62px!important;
    height:62px!important;
    flex-basis:62px!important;
  }
}

/* v26 – Rechtsseiten Footer/Background an Hauptseite angepasst */
body.legal-page{
  background:#fff!important;
}

.legal-main{
  background:#fff!important;
  padding-bottom:48px!important;
}

.legal-wrap{
  max-width:1060px!important;
}

.legal-footer-full{
  background:#fff!important;
  border-top:1px solid #e9eaec!important;
  margin-top:0!important;
  box-shadow:none!important;
}

.legal-footer-grid{
  background:#fff!important;
  padding-top:46px!important;
  padding-bottom:42px!important;
}

.legal-footer-full::before{
  content:"";
  display:block;
  height:6px;
  background:var(--oe-red);
}

.legal-footer-full .footer-redline{
  display:none!important;
}

.legal-footer-brand,
.legal-footer-col{
  background:transparent!important;
}

.legal-footer-brand p,
.legal-footer-col a,
.legal-footer-col h3{
  background:transparent!important;
}

.legal-card:last-of-type{
  padding-bottom:26px!important;
}

/* Kein alter Mini-Footer / keine graue Fläche */
.legal-footer,
.footer-mini{
  display:none!important;
  background:transparent!important;
}

@media (max-width:760px){
  .legal-main{
    padding-bottom:34px!important;
  }
  .legal-footer-grid{
    padding-top:34px!important;
    padding-bottom:32px!important;
  }
}

/* v27 – Impressum und Datenschutz direkt in der Index */
.integrated-legal{
  background:#fff;
  padding:clamp(72px,8vw,118px) 0;
  border-top:1px solid #ececee;
  scroll-margin-top:130px;
}
.integrated-privacy{
  background:linear-gradient(180deg,#fff 0%,#fafafa 100%);
}
.legal-index-wrap{
  max-width:1180px;
}
.legal-index-wrap h2{
  font-size:clamp(3.3rem,7vw,6.2rem);
  line-height:.92;
  letter-spacing:-.06em;
  margin:0 0 26px;
}
.legal-lead{
  font-size:1.12rem;
  line-height:1.75;
  color:#333b44;
  max-width:980px;
  margin:0 0 42px;
}
.legal-index-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.legal-index-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.legal-index-card{
  border:1px solid #ececee;
  background:#fff;
  border-radius:24px;
  padding:26px 28px;
  box-shadow:0 18px 60px rgba(11,11,13,.045);
}
.legal-index-card h3{
  font-size:clamp(1.22rem,1.7vw,1.55rem);
  line-height:1.15;
  letter-spacing:-.03em;
  margin:0 0 13px;
}
.legal-index-card p{
  font-size:1rem;
  line-height:1.72;
  color:#1c232b;
  margin:0 0 13px;
}
.legal-index-card p:last-child{
  margin-bottom:0;
}
.legal-index-card a{
  color:var(--oe-red);
  font-weight:850;
  text-decoration:none;
}
.legal-index-card a:hover{
  text-decoration:underline;
}
@media (max-width: 900px){
  .integrated-legal{
    padding:56px 0;
  }
  .legal-index-grid{
    grid-template-columns:1fr;
  }
  .legal-index-wrap h2{
    font-size:clamp(2.6rem,14vw,4rem);
  }
}

/* v28 – Mobile Header Fix */
@media (max-width: 980px){
  .site-header.portal-header{position:sticky!important;top:0!important;z-index:100!important;background:#fff!important}
  .portal-header-shell{min-height:72px!important;display:flex!important;align-items:center!important;gap:12px!important;padding-top:8px!important;padding-bottom:8px!important}
  .portal-brand-lockup{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;max-width:calc(100vw - 110px)!important;min-width:0!important;overflow:hidden!important}
  .portal-brand-ornament{width:48px!important;height:48px!important;object-fit:contain!important}
  .portal-brand-text{min-width:0!important;overflow:hidden!important}
  .portal-brand-topline{font-size:.42rem!important;letter-spacing:.13em!important;margin:0 0 4px!important;white-space:nowrap!important;overflow:hidden!important}
  .portal-brand-text strong{font-size:1.02rem!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .portal-brand-text em{display:none!important}
  .portal-main-nav,.portal-nav-actions,.main-nav,.nav-actions{display:none!important}
  .portal-header .mobile-toggle,.mobile-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:auto!important;min-width:48px!important;min-height:42px!important;border:1px solid var(--oe-border)!important;background:#fff!important;border-radius:14px!important;color:#111!important;font-weight:950!important;font-size:.9rem!important;padding:0 12px!important}
  .mobile-menu{position:absolute!important;left:0!important;right:0!important;top:100%!important;z-index:101!important;background:#fff!important;border-top:1px solid var(--oe-border)!important;border-bottom:1px solid var(--oe-border)!important;box-shadow:0 22px 60px rgba(11,11,13,.12)!important;padding:10px 22px 16px!important}
  .mobile-menu[hidden]{display:none!important}
  .mobile-menu a{display:block!important;padding:14px 0!important;color:#111!important;font-weight:900!important;border-bottom:1px solid #f0f0f2!important}
  .hero-section{padding-top:58px!important}
}

/* v28 – Cookie Banner und Cookie-Einstellungen */
.oe-cookie-panel{position:fixed;inset:auto 18px 18px 18px;z-index:9999}
.oe-cookie-card{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;padding:24px;border:1px solid #e5e7eb;border-radius:26px;background:#fff;box-shadow:0 26px 90px rgba(11,11,13,.22)}
.oe-cookie-kicker{margin:0 0 6px;color:var(--oe-red);font-weight:950;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.oe-cookie-card h2,.oe-cookie-modal-card h2{margin:0 0 8px;font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1;letter-spacing:-.04em}
.oe-cookie-card p,.oe-cookie-modal-card p{margin:0;color:#3d444b;line-height:1.6}
.oe-cookie-actions,.oe-cookie-modal-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.oe-cookie-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:rgba(11,11,13,.42);backdrop-filter:blur(10px)}
.oe-cookie-modal[hidden],.oe-cookie-panel[hidden],.oe-cookie-floating[hidden]{display:none!important}
.oe-cookie-modal-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:28px;border:1px solid #e5e7eb;box-shadow:0 28px 100px rgba(11,11,13,.28);padding:32px}
.oe-cookie-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;font-size:1.5rem;font-weight:900;cursor:pointer}
.oe-cookie-intro{margin-bottom:22px!important}
.oe-cookie-options{display:grid;gap:14px;margin:24px 0}
.oe-cookie-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #e9eaec;border-radius:18px;background:#fff}
.oe-cookie-option strong{display:block;color:#111;font-size:1.05rem}
.oe-cookie-option small{display:block;color:#5b6470;line-height:1.45;margin-top:4px}
.oe-cookie-option input{width:24px;height:24px;flex:0 0 auto}
.oe-cookie-option.is-required{background:#fafafa}
.oe-cookie-floating{position:fixed;left:16px;bottom:16px;z-index:9998;border:1px solid #e5e7eb;background:#fff;color:#111;border-radius:999px;padding:10px 14px;font-weight:850;font-size:.85rem;box-shadow:0 14px 40px rgba(11,11,13,.12);cursor:pointer}
.footer-cookie-link{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:780;padding:0;margin:0 0 13px;cursor:pointer;text-align:left}
.footer-cookie-link:hover{color:var(--oe-red)}
@media (max-width:760px){
  .oe-cookie-panel{inset:auto 12px 12px 12px}
  .oe-cookie-card{grid-template-columns:1fr;padding:20px;border-radius:22px}
  .oe-cookie-actions,.oe-cookie-modal-actions{display:grid;grid-template-columns:1fr}
  .oe-cookie-actions .btn,.oe-cookie-modal-actions .btn{width:100%}
  .oe-cookie-modal-card{padding:24px;border-radius:22px}
  .oe-cookie-option{padding:16px}
}

/* v30 – Mobile Header dauerhaft sticky/fixed und Cookie-Banner mobil sauber */
@media (max-width: 980px){
  html{
    scroll-padding-top:84px!important;
  }

  body{
    padding-top:72px!important;
  }

  .site-header.portal-header,
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:5000!important;
    background:#fff!important;
    border-bottom:1px solid #e9eaec!important;
    box-shadow:0 8px 24px rgba(11,11,13,.08)!important;
    transform:none!important;
  }

  .portal-header-shell{
    min-height:72px!important;
    height:72px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    box-sizing:border-box!important;
  }

  .portal-brand-lockup{
    max-width:calc(100vw - 112px)!important;
  }

  .mobile-menu{
    position:fixed!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    z-index:4999!important;
    max-height:calc(100dvh - 72px)!important;
    overflow:auto!important;
  }

  .mobile-menu[hidden]{
    display:none!important;
  }
}

/* Cookie-Banner Desktop bleibt, Mobile wird Bottom-Sheet */
.oe-cookie-panel,
.oe-cookie-modal,
.oe-cookie-card,
.oe-cookie-modal-card{
  box-sizing:border-box!important;
}

@media (max-width: 760px){
  .oe-cookie-panel{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    inset:auto 0 0 0!important;
    width:100%!important;
    max-width:100%!important;
    z-index:10000!important;
    padding:0!important;
    pointer-events:auto!important;
  }

  .oe-cookie-card{
    width:100%!important;
    max-width:100%!important;
    max-height:min(72dvh, 560px)!important;
    overflow:auto!important;
    display:block!important;
    margin:0!important;
    padding:22px 22px calc(22px + env(safe-area-inset-bottom))!important;
    border-radius:24px 24px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    background:#fff!important;
    box-shadow:0 -18px 70px rgba(11,11,13,.22)!important;
  }

  .oe-cookie-text{
    min-width:0!important;
    overflow:visible!important;
  }

  .oe-cookie-card h2{
    font-size:1.65rem!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
    margin:0 0 10px!important;
    word-break:normal!important;
    hyphens:auto!important;
  }

  .oe-cookie-card p{
    font-size:1rem!important;
    line-height:1.55!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }

  .oe-cookie-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin-top:18px!important;
  }

  .oe-cookie-actions .btn{
    width:100%!important;
    max-width:100%!important;
    min-height:54px!important;
    justify-content:center!important;
    padding:0 18px!important;
    font-size:.98rem!important;
    border-radius:18px!important;
    box-sizing:border-box!important;
  }

  .oe-cookie-actions .btn-primary{
    order:-1!important;
  }

  .oe-cookie-modal{
    align-items:end!important;
    place-items:end center!important;
    padding:0!important;
  }

  .oe-cookie-modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:86dvh!important;
    overflow:auto!important;
    border-radius:24px 24px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    padding:24px 20px calc(22px + env(safe-area-inset-bottom))!important;
  }

  .oe-cookie-modal-card h2{
    font-size:1.75rem!important;
    line-height:1.05!important;
  }

  .oe-cookie-option{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:14px!important;
    padding:15px!important;
    border-radius:17px!important;
  }

  .oe-cookie-option strong{
    font-size:1rem!important;
  }

  .oe-cookie-option small{
    font-size:.88rem!important;
    line-height:1.4!important;
  }

  .oe-cookie-modal-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }

  .oe-cookie-modal-actions .btn{
    width:100%!important;
    min-height:52px!important;
    justify-content:center!important;
    border-radius:18px!important;
  }

  .oe-cookie-floating{
    left:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    max-width:calc(100vw - 24px)!important;
    font-size:.78rem!important;
    padding:9px 12px!important;
    z-index:4998!important;
  }
}

@media (max-width: 380px){
  .oe-cookie-card{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .oe-cookie-card h2,
  .oe-cookie-modal-card h2{
    font-size:1.45rem!important;
  }
  .oe-cookie-card p{
    font-size:.94rem!important;
  }
}

/* ============================================================
   v31 – Mobile Header sticky/fixed + Burger sichtbar + Cookie kleiner
   ============================================================ */

@media (max-width: 980px){
  html{
    scroll-padding-top: 86px !important;
  }

  body{
    padding-top: 78px !important;
  }

  .site-header,
  .portal-header,
  .site-header.portal-header{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 6000 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7e7ea !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.08) !important;
    transform: none !important;
    backdrop-filter: saturate(180%) blur(10px) !important;
  }

  .portal-header-shell,
  .site-header .container,
  .portal-header .container{
    min-height: 78px !important;
    height: 78px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    box-sizing: border-box !important;
  }

  .portal-brand,
  .portal-brand-lockup{
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .portal-brand img,
  .portal-logo-mark,
  .site-logo img{
    max-width: 54px !important;
    width: 54px !important;
    height: auto !important;
    flex: 0 0 54px !important;
  }

  .portal-logo-copy,
  .site-logo-copy,
  .portal-brand-copy{
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .portal-logo-copy .eyebrow,
  .portal-brand-copy .eyebrow,
  .site-logo-copy .eyebrow{
    display: block !important;
    font-size: .68rem !important;
    line-height: 1.1 !important;
    letter-spacing: .18em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .portal-logo-copy h1,
  .portal-logo-copy .title,
  .portal-brand-copy h1,
  .site-logo-copy h1{
    font-size: 1.08rem !important;
    line-height: 1.05 !important;
    margin: 2px 0 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .portal-logo-copy .subline,
  .portal-brand-copy .subline,
  .site-logo-copy .subline{
    display: none !important;
  }

  /* Desktop-Menü mobil ausblenden */
  .portal-nav,
  .portal-nav-desktop,
  .desktop-nav,
  .header-nav,
  .site-nav:not(.mobile-menu),
  .header-actions .btn:not(.menu-toggle):not(.mobile-menu-toggle):not(.portal-mobile-toggle){
    display: none !important;
  }

  /* Burger / Menübutton zwingend sichtbar */
  .menu-toggle,
  .mobile-menu-toggle,
  .portal-mobile-toggle,
  .header-toggle,
  [data-menu-toggle],
  [aria-controls="mobile-menu"]{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border: 1px solid #d9d9df !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #121212 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.05) !important;
    margin-left: auto !important;
    cursor: pointer !important;
  }

  .menu-toggle span,
  .mobile-menu-toggle span,
  .portal-mobile-toggle span,
  .header-toggle span{
    display: block !important;
  }

  /* Mobile Menüpanel */
  .mobile-menu{
    position: fixed !important;
    top: 78px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 5999 !important;
    background: #ffffff !important;
    border-top: 1px solid #ededf1 !important;
    border-bottom: 1px solid #ededf1 !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.10) !important;
    padding: 14px 18px 20px !important;
    max-height: calc(100dvh - 78px) !important;
    overflow-y: auto !important;
  }

  .mobile-menu[hidden]{
    display: none !important;
  }

  .mobile-menu a,
  .mobile-menu .btn{
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    margin: 0 0 8px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
  }

  .mobile-menu a:last-child,
  .mobile-menu .btn:last-child{
    margin-bottom: 0 !important;
  }
}

/* Cookie-Banner auf Mobile kompakter */
.oe-cookie-panel,
.oe-cookie-card,
.oe-cookie-modal,
.oe-cookie-modal-card{
  box-sizing: border-box !important;
}

@media (max-width: 760px){
  .oe-cookie-panel{
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    z-index: 10050 !important;
    padding: 0 !important;
  }

  .oe-cookie-card{
    width: 100% !important;
    max-width: 100% !important;
    max-height: 44dvh !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: 18px 16px 16px !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.18) !important;
  }

  .oe-cookie-card h2{
    font-size: 1.28rem !important;
    line-height: 1.05 !important;
    margin: 0 0 8px !important;
    letter-spacing: -.03em !important;
  }

  .oe-cookie-card p{
    font-size: .95rem !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .oe-cookie-text{
    min-width: 0 !important;
  }

  .oe-cookie-actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 14px !important;
    width: 100% !important;
  }

  .oe-cookie-actions .btn{
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
    font-size: .95rem !important;
    justify-content: center !important;
  }

  .oe-cookie-actions .btn-primary{
    order: -1 !important;
  }

  .oe-cookie-modal{
    align-items: end !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .oe-cookie-modal-card{
    width: 100% !important;
    max-width: 100% !important;
    max-height: 78dvh !important;
    overflow: auto !important;
    margin: 0 !important;
    border-radius: 22px 22px 0 0 !important;
    padding: 20px 16px calc(16px + env(safe-area-inset-bottom)) !important;
  }

  .oe-cookie-modal-card h2{
    font-size: 1.42rem !important;
    line-height: 1.06 !important;
  }

  .oe-cookie-option{
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
    align-items: start !important;
    padding: 14px !important;
    border-radius: 16px !important;
  }

  .oe-cookie-option strong{
    font-size: .98rem !important;
  }

  .oe-cookie-option small{
    display: block !important;
    font-size: .85rem !important;
    line-height: 1.35 !important;
    margin-top: 4px !important;
  }

  .oe-cookie-modal-actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }

  .oe-cookie-modal-actions .btn{
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    border-radius: 16px !important;
  }

  .oe-cookie-floating{
    left: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    max-width: calc(100vw - 24px) !important;
    font-size: .78rem !important;
    padding: 9px 12px !important;
    z-index: 10040 !important;
  }
}

@media (max-width: 420px){
  .oe-cookie-card{
    max-height: 40dvh !important;
    padding: 16px 14px 14px !important;
  }

  .oe-cookie-card h2{
    font-size: 1.18rem !important;
  }

  .oe-cookie-card p{
    font-size: .90rem !important;
  }
}

/* ============================================================
   OE_MOBILE_COOKIE_HEADER_V32
   Mobile: Header wirklich fixed/sticky, Burger sichtbar, Cookie kompakter
   ============================================================ */

@media (max-width: 980px){
  html{
    scroll-padding-top:86px!important;
  }

  body{
    padding-top:78px!important;
  }

  .site-header,
  .portal-header,
  .site-header.portal-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:8000!important;
    background:#fff!important;
    border-bottom:1px solid #e6e7ea!important;
    box-shadow:0 10px 28px rgba(0,0,0,.08)!important;
    transform:none!important;
  }

  .portal-header-shell,
  .site-header .container,
  .portal-header .container{
    min-height:78px!important;
    height:78px!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:12px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    box-sizing:border-box!important;
  }

  .portal-brand-lockup,
  .portal-brand,
  .site-logo{
    min-width:0!important;
    max-width:calc(100vw - 92px)!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }

  .portal-logo-mark,
  .portal-brand img,
  .site-logo img{
    width:52px!important;
    max-width:52px!important;
    height:auto!important;
    flex:0 0 52px!important;
  }

  .portal-logo-copy,
  .portal-brand-copy,
  .site-logo-copy{
    min-width:0!important;
    overflow:hidden!important;
  }

  .portal-logo-copy .eyebrow,
  .portal-brand-copy .eyebrow,
  .site-logo-copy .eyebrow{
    display:block!important;
    font-size:.66rem!important;
    line-height:1.05!important;
    letter-spacing:.14em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .portal-logo-copy h1,
  .portal-logo-copy .title,
  .portal-brand-copy h1,
  .site-logo-copy h1{
    font-size:1.05rem!important;
    line-height:1.05!important;
    margin:2px 0 0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .portal-logo-copy .subline,
  .portal-brand-copy .subline,
  .site-logo-copy .subline{
    display:none!important;
  }

  .portal-nav,
  .portal-nav-desktop,
  .desktop-nav,
  .header-nav,
  .site-nav:not(.mobile-menu){
    display:none!important;
  }

  .menu-toggle,
  .mobile-menu-toggle,
  .portal-mobile-toggle,
  .header-toggle,
  [data-menu-toggle],
  [aria-controls="mobile-menu"]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    border:1px solid #d9d9df!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#111!important;
    margin-left:auto!important;
    box-shadow:0 4px 16px rgba(0,0,0,.05)!important;
  }

  .mobile-menu{
    position:fixed!important;
    top:78px!important;
    left:0!important;
    right:0!important;
    z-index:7999!important;
    background:#fff!important;
    border-top:1px solid #ededf1!important;
    border-bottom:1px solid #ededf1!important;
    box-shadow:0 16px 40px rgba(0,0,0,.10)!important;
    padding:14px 18px 20px!important;
    max-height:calc(100dvh - 78px)!important;
    overflow-y:auto!important;
  }

  .mobile-menu[hidden]{
    display:none!important;
  }

  .mobile-menu a,
  .mobile-menu .btn{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    padding:12px 14px!important;
    border-radius:14px!important;
    margin:0 0 8px!important;
    text-decoration:none!important;
    font-weight:700!important;
    box-sizing:border-box!important;
  }
}

/* Cookie-Banner mobil klein und bedienbar */
@media (max-width:760px){
  .oe-cookie-panel{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    z-index:12000!important;
    padding:0!important;
  }

  .oe-cookie-card{
    width:100%!important;
    max-width:100%!important;
    max-height:38dvh!important;
    overflow:auto!important;
    margin:0!important;
    padding:16px 14px 14px!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 18px 55px rgba(0,0,0,.18)!important;
    box-sizing:border-box!important;
  }

  .oe-cookie-card h2{
    font-size:1.14rem!important;
    line-height:1.08!important;
    margin:0 0 7px!important;
    letter-spacing:-.02em!important;
  }

  .oe-cookie-card p{
    font-size:.88rem!important;
    line-height:1.38!important;
    margin:0!important;
    overflow-wrap:anywhere!important;
  }

  .oe-cookie-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin-top:12px!important;
    width:100%!important;
  }

  .oe-cookie-actions .btn{
    width:100%!important;
    min-height:44px!important;
    padding:0 14px!important;
    border-radius:14px!important;
    font-size:.90rem!important;
    justify-content:center!important;
  }

  .oe-cookie-actions .btn-primary{
    order:-1!important;
  }

  .oe-cookie-modal{
    align-items:end!important;
    justify-content:center!important;
    padding:0!important;
    z-index:12100!important;
  }

  .oe-cookie-modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:78dvh!important;
    overflow:auto!important;
    margin:0!important;
    border-radius:22px 22px 0 0!important;
    padding:20px 16px calc(16px + env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
  }

  .oe-cookie-modal-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .oe-cookie-modal-actions .btn{
    width:100%!important;
    min-height:46px!important;
    justify-content:center!important;
  }

  .oe-cookie-floating{
    left:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    max-width:calc(100vw - 24px)!important;
    font-size:.78rem!important;
    padding:9px 12px!important;
    z-index:7900!important;
  }
}

/* ============================================================
   OE_ANDROID_MOBILE_FIX_V33
   Android Chrome/Samsung Internet: Header fixed, eigener Burger,
   Cookie Banner kompakt ohne horizontales Überlaufen.
   ============================================================ */

@media (max-width: 980px){
  html,
  body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body{
    padding-top:78px!important;
  }

  header,
  .site-header,
  .portal-header,
  .site-header.portal-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    z-index:2147483000!important;
    background:#fff!important;
    border-bottom:1px solid #e8e8ea!important;
    box-shadow:0 8px 24px rgba(0,0,0,.08)!important;
    transform:none!important;
    will-change:transform!important;
    backface-visibility:hidden!important;
  }

  .portal-header-shell,
  header .container,
  .site-header .container,
  .portal-header .container{
    min-height:78px!important;
    height:78px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    padding-left:22px!important;
    padding-right:16px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  .portal-brand-lockup,
  .portal-brand,
  .site-logo{
    min-width:0!important;
    max-width:calc(100vw - 90px)!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }

  .portal-nav,
  .portal-nav-desktop,
  .desktop-nav,
  .header-nav,
  .site-nav:not(.mobile-menu):not(#oe-v33-mobile-menu),
  header nav:not(.mobile-menu):not(#oe-v33-mobile-menu){
    display:none!important;
  }

  #oe-v33-menu-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    border:1px solid #d9d9df!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#111!important;
    font-size:25px!important;
    line-height:1!important;
    font-weight:900!important;
    box-shadow:0 4px 14px rgba(0,0,0,.06)!important;
    margin-left:auto!important;
    padding:0!important;
    cursor:pointer!important;
  }

  #oe-v33-mobile-menu{
    position:fixed!important;
    top:78px!important;
    left:10px!important;
    right:10px!important;
    z-index:2147482999!important;
    display:none!important;
    background:#fff!important;
    border:1px solid #e5e5e9!important;
    border-radius:0 0 22px 22px!important;
    box-shadow:0 20px 50px rgba(0,0,0,.16)!important;
    padding:12px!important;
    max-height:calc(100dvh - 92px)!important;
    overflow:auto!important;
  }

  #oe-v33-mobile-menu.is-open{
    display:block!important;
  }

  #oe-v33-mobile-menu a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    padding:12px 14px!important;
    margin:0 0 7px!important;
    border-radius:14px!important;
    text-decoration:none!important;
    color:#111!important;
    font-weight:800!important;
    background:#f7f7f8!important;
    box-sizing:border-box!important;
  }

  #oe-v33-mobile-menu a:last-child{
    margin-bottom:0!important;
  }

  #oe-v33-mobile-menu a.oe-v33-primary{
    background:#c41212!important;
    color:#fff!important;
  }
}

@media (max-width:760px){
  .oe-cookie-panel,
  #oe-cookie-panel{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    top:auto!important;
    width:auto!important;
    max-width:calc(100vw - 20px)!important;
    min-width:0!important;
    z-index:2147482000!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
  }

  .oe-cookie-card,
  #oe-cookie-card{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    max-height:34dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    margin:0!important;
    padding:13px 13px 12px!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 18px 50px rgba(0,0,0,.18)!important;
    box-sizing:border-box!important;
  }

  .oe-cookie-card *,
  #oe-cookie-card *{
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .oe-cookie-card .eyebrow,
  #oe-cookie-card .eyebrow,
  .oe-cookie-card [class*="eyebrow"],
  #oe-cookie-card [class*="eyebrow"]{
    font-size:.70rem!important;
    line-height:1.1!important;
    letter-spacing:.16em!important;
    margin:0 0 4px!important;
  }

  .oe-cookie-card h2,
  #oe-cookie-card h2{
    font-size:1.08rem!important;
    line-height:1.08!important;
    margin:0 0 6px!important;
    letter-spacing:-.015em!important;
  }

  .oe-cookie-card p,
  #oe-cookie-card p{
    font-size:.84rem!important;
    line-height:1.32!important;
    margin:0!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto!important;
  }

  .oe-cookie-text,
  #oe-cookie-text{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .oe-cookie-actions,
  #oe-cookie-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-top:10px!important;
  }

  .oe-cookie-actions .btn,
  #oe-cookie-actions .btn,
  .oe-cookie-actions button,
  #oe-cookie-actions button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:39px!important;
    padding:0 10px!important;
    border-radius:13px!important;
    font-size:.82rem!important;
    line-height:1.1!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }

  .oe-cookie-actions .btn-primary,
  #oe-cookie-actions .btn-primary,
  .oe-cookie-actions button[data-cookie-accept],
  #oe-cookie-actions button[data-cookie-accept]{
    grid-column:1 / -1!important;
    order:-1!important;
  }

  .oe-cookie-modal,
  #oe-cookie-modal{
    align-items:end!important;
    justify-content:center!important;
    padding:0!important;
    z-index:2147482100!important;
  }

  .oe-cookie-modal-card,
  #oe-cookie-modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:76dvh!important;
    overflow:auto!important;
    margin:0!important;
    border-radius:20px 20px 0 0!important;
    padding:18px 14px calc(14px + env(safe-area-inset-bottom))!important;
  }

  .oe-cookie-floating{
    z-index:2147481500!important;
  }
}

@media (max-width:380px){
  .oe-cookie-card,
  #oe-cookie-card{
    max-height:32dvh!important;
    padding:12px!important;
  }

  .oe-cookie-card p,
  #oe-cookie-card p{
    font-size:.80rem!important;
  }

  .oe-cookie-actions .btn,
  #oe-cookie-actions .btn,
  .oe-cookie-actions button,
  #oe-cookie-actions button{
    font-size:.78rem!important;
    min-height:38px!important;
  }
}

/* ============================================================
   OE_MOBILE_SINGLE_MENU_V34
   Nur noch EIN mobiles Menü: v33-Burger + v33-Menü.
   Alte Text-Menüs / alte Toggle-Buttons werden mobil ausgeblendet.
   ============================================================ */

@media (max-width:980px){
  /* Nur der robuste v33 Burger bleibt sichtbar */
  .menu-toggle:not(#oe-v33-menu-button),
  .mobile-menu-toggle:not(#oe-v33-menu-button),
  .portal-mobile-toggle:not(#oe-v33-menu-button),
  .header-toggle:not(#oe-v33-menu-button),
  [data-menu-toggle]:not(#oe-v33-menu-button),
  [aria-controls="mobile-menu"]:not(#oe-v33-menu-button),
  [aria-controls="oe-mobile-menu"]:not(#oe-v33-menu-button),
  button[aria-label*="Menü"]:not(#oe-v33-menu-button),
  button[aria-label*="Menu"]:not(#oe-v33-menu-button){
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Alte mobile Menü-Panels vollständig ausblenden */
  .mobile-menu:not(#oe-v33-mobile-menu),
  .mobile-nav:not(#oe-v33-mobile-menu),
  .portal-mobile-menu:not(#oe-v33-mobile-menu),
  .site-mobile-menu:not(#oe-v33-mobile-menu),
  nav.mobile-menu:not(#oe-v33-mobile-menu),
  #mobile-menu:not(#oe-v33-mobile-menu),
  #oe-mobile-menu:not(#oe-v33-mobile-menu){
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
  }

  /* Desktop-/Textnavigation mobil ausblenden */
  .portal-nav,
  .portal-nav-desktop,
  .desktop-nav,
  .header-nav,
  .site-nav:not(#oe-v33-mobile-menu),
  header nav:not(#oe-v33-mobile-menu),
  .nav-links,
  .main-nav{
    display:none!important;
  }

  #oe-v33-menu-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    z-index:2147483001!important;
  }

  #oe-v33-mobile-menu{
    position:fixed!important;
    top:78px!important;
    left:10px!important;
    right:10px!important;
    z-index:2147482999!important;
    background:#fff!important;
    border:1px solid #e5e5e9!important;
    border-radius:0 0 22px 22px!important;
    box-shadow:0 20px 50px rgba(0,0,0,.16)!important;
    padding:12px!important;
    max-height:calc(100dvh - 92px)!important;
    overflow:auto!important;
  }

  #oe-v33-mobile-menu:not(.is-open){
    display:none!important;
  }

  #oe-v33-mobile-menu.is-open{
    display:block!important;
  }
}

/* ============================================================
   OE_LEGAL_TOGGLE_V35
   Impressum / Datenschutz bleiben in index.php, werden aber
   erst bei Link-Klick als eigener Bereich geöffnet.
   ============================================================ */

#impressum,
#datenschutz{
  display:none!important;
}

body.oe-legal-active #impressum.oe-legal-open,
body.oe-legal-active #datenschutz.oe-legal-open,
#impressum:target,
#datenschutz:target{
  display:block!important;
}

#impressum.oe-legal-open,
#datenschutz.oe-legal-open,
#impressum:target,
#datenschutz:target{
  position:relative!important;
  margin-top:0!important;
  padding-top:110px!important;
  scroll-margin-top:96px!important;
  background:#fff!important;
  z-index:1!important;
}

.oe-legal-close-wrap{
  display:flex!important;
  justify-content:flex-end!important;
  margin:-76px 0 28px!important;
  padding:0 22px!important;
}

.oe-legal-close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  border:1px solid #dedee3!important;
  background:#ffffff!important;
  color:#111!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-shadow:0 8px 22px rgba(0,0,0,.06)!important;
  cursor:pointer!important;
}

.oe-legal-close:hover{
  border-color:#c41212!important;
  color:#c41212!important;
}

@media (max-width:760px){
  #impressum.oe-legal-open,
  #datenschutz.oe-legal-open,
  #impressum:target,
  #datenschutz:target{
    padding-top:92px!important;
    scroll-margin-top:84px!important;
  }

  .oe-legal-close-wrap{
    margin:-62px 0 20px!important;
    padding:0 14px!important;
  }

  .oe-legal-close{
    width:100%!important;
    min-height:44px!important;
    border-radius:16px!important;
  }
}

/* ============================================================
   OE_DESKTOP_BURGER_FIX_V36
   Der robuste Android-Burger darf nur mobil sichtbar sein.
   Auf Desktop wird er inkl. Mobile-Menü hart ausgeblendet.
   ============================================================ */

/* Standard / Desktop: aus */
#oe-v33-menu-button,
#oe-v33-mobile-menu{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Desktop explizit: keine mobile Menüfläche im Header/Layout */
@media (min-width:981px){
  #oe-v33-menu-button,
  #oe-v33-mobile-menu,
  #oe-v33-mobile-menu.is-open{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  body.oe-mobile-menu-open{
    overflow:auto!important;
  }
}

/* Mobil: wieder erlauben */
@media (max-width:980px){
  #oe-v33-menu-button{
    display:inline-flex!important;
    visibility:visible!important;
    pointer-events:auto!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }

  #oe-v33-mobile-menu{
    visibility:visible!important;
    pointer-events:auto!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
  }

  #oe-v33-mobile-menu:not(.is-open){
    display:none!important;
  }

  #oe-v33-mobile-menu.is-open{
    display:block!important;
  }
}
