.page-header{
  display: none;
}

*{
  margin: 0;
  padding: 0;
}

/* HEADER-MODUL FIX (mo_header) – Balken-Layout ohne eigene Wrapper-Divs */
.header { background:#fff; border-bottom:1px solid var(--border,#ececec); }
.header .mod-custom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; max-width:var(--container,1170px); margin:0 auto; padding:12px 20px; min-height:96px; }
.header .mod-custom > p { margin:0; display:flex; align-items:center; }
.header .logo img, .header .logo-img { height:64px; width:auto; display:block; }
.header .main-nav > ul { display:flex; flex-wrap:wrap; align-items:center; gap:0; }
.header .main-nav a { display:flex; align-items:center; padding:10px 22px; font-family:var(--font-head,'Montserrat',sans-serif); font-weight:400; font-size:17px; color:var(--text,#0a0a0a); }
.header .main-nav a:hover { color:var(--red,#a90202); }
.header .main-nav a.active, .header .main-nav .current > a { background:var(--red,#a90202); color:#fff; }
@media (max-width:768px){ .header .mod-custom { justify-content:center; text-align:center; } .header .main-nav a { padding:8px 14px; } }


/* ===== FOOTER FIX (mo_footer) – Containerbreite + Aufraeumen ===== */
.footer .footer-contact { padding: 52px 20px 40px; }
.footer .footer-contact .footer-grid { max-width: var(--container,1170px); margin: 0 auto; grid-template-columns: 1fr 1fr; gap: 48px; }
.footer .footer-bar { padding: 12px 0; }
.footer .footer-bar .container, .footer .footer-bar > div { max-width: var(--container,1170px); margin: 0 auto; padding: 0 20px; }
.footer ul { list-style: none; margin: 0; padding: 0; }
.footer .footer-grid nav ul, .footer .footer-grid ul { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px; }
.footer .footer-grid .col-right { text-align: right; }
.footer .footer-grid .col-right nav ul, .footer .footer-grid .col-right ul { justify-content: flex-end; }
.footer .agency-branding { text-align: center; padding: 16px 20px; font-size: 13px; }
@media (max-width:768px){ .footer .footer-contact .footer-grid { grid-template-columns:1fr; gap:28px; } .footer .footer-grid .col-right, .footer .footer-grid .col-right nav ul, .footer .footer-grid .col-right ul { text-align:left; justify-content:flex-start; } }


/* ===== HOME / STANDORTWAHL – Hintergrundbild wie HTML ===== */
body:has(.standort-cards) { background: url("../../../images/slider4/brillen-display-regal.jpg") center center / cover no-repeat; }
body:has(.standort-cards) { position:relative; }
body:has(.standort-cards)::before { content:""; position:absolute; inset:0; background:rgba(255,255,255,.42); z-index:0; pointer-events:none; }
body:has(.standort-cards) #container, body:has(.standort-cards) .container, body:has(.standort-cards) .com-content-article, body:has(.standort-cards) .com-content-article__body, body:has(.standort-cards) .item-page, body:has(.standort-cards) main, body:has(.standort-cards) #content { background: transparent !important; position:relative; z-index:1; }
body:has(.standort-cards) .standort-cards { min-height:100vh; align-items:center; padding:120px 24px 70px; }
body:has(.standort-cards) .footer { position:relative; z-index:1; }


/* ===== FOOTER WEISS + FULLWIDTH ===== */
body { overflow-x:hidden; }
.footer { background:#fff; }
body:has(.standort-cards) .footer { background:#fff; }
/* Full-Width-Sektionen wie im HTML: Slider, Marken-Band, Karte */
.com-content-article__body .slider, .com-content-article__body .marken-band, .com-content-article__body .map-wrap { width:100vw; max-width:100vw; margin-left:calc(-50vw + 50%); margin-right:calc(-50vw + 50%); }


/* ===== MARKEN + UNTERSEITEN-ABSTAND ===== */
.brands-grid img { max-height:200px; }
body:not(:has(.slider)):not(:has(.standort-cards)) .com-content-article { padding-top:44px; }


/* ===== SLIDER HOEHE (wie Original, nur Desktop) ===== */
@media (min-width:769px){ .slide { height:720px; } }


/* ===== STANDORT-LOGO oben rechts ===== */
body:has(.standort-cards)::after { content:""; position:absolute; top:34px; right:60px; width:340px; max-width:52vw; height:80px; background:url("../../../images/logo.png") right top / contain no-repeat; z-index:3; pointer-events:none; }
@media (max-width:768px){ body:has(.standort-cards)::after { top:18px; right:20px; width:200px; height:52px; } }


/* ===== LIGHTBOX ===== */
.oslb { position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,.9); display:none; align-items:center; justify-content:center; }
.oslb.is-open { display:flex; }
.oslb-img { max-width:90vw; max-height:88vh; display:block; box-shadow:0 6px 40px rgba(0,0,0,.6); }
.oslb-btn { position:absolute; background:rgba(0,0,0,.45); color:#fff; border:none; cursor:pointer; display:grid; place-items:center; line-height:1; border-radius:50%; }
.oslb-btn:hover { background:rgba(0,0,0,.75); }
.oslb-close { top:22px; right:26px; width:48px; height:48px; font-size:32px; }
.oslb-prev, .oslb-next { top:50%; transform:translateY(-50%); width:56px; height:56px; font-size:28px; }
.oslb-prev { left:26px; } .oslb-next { right:26px; }
@media (max-width:768px){ .oslb-prev,.oslb-next{ width:44px; height:44px; font-size:22px; } .oslb-prev{ left:10px; } .oslb-next{ right:10px; } .oslb-close{ top:12px; right:12px; } }


/* ===== MOBILE MENU (Burger) ===== */
.header .burger { display:none; cursor:pointer; background:none; border:none; padding:6px 8px; font-size:30px; line-height:1; color:var(--text,#0a0a0a); }
.header .burger i, .header .burger em, .header .burger .fa-solid { pointer-events:none; }
@media (max-width:768px){
  .header .mod-custom { position:relative; }
  .header .burger { display:inline-flex; align-items:center; }
  .header .main-nav { position:fixed; top:0; right:0; height:100vh; width:82%; max-width:320px; background:#fff; box-shadow:-6px 0 24px rgba(0,0,0,.15); transform:translateX(100%); transition:transform .3s ease; z-index:200; padding-top:80px; overflow-y:auto; }
  .header .main-nav.is-open { transform:translateX(0); }
  .header .main-nav > ul { flex-direction:column; align-items:stretch; }
  .header .main-nav a { width:100%; padding:16px 24px; border-bottom:1px solid #eee; font-size:18px; }
  .nav-overlay { position:fixed; inset:0; background:rgba(0,0,0,.4); opacity:0; visibility:hidden; transition:opacity .3s ease; z-index:150; }
  .nav-overlay.is-open { opacity:1; visibility:visible; }
}

/* Mobile Header-Zeile: Logo links, Burger rechts */
@media (max-width:768px){ /* MOBILE HEADER ROW */
  .header .mod-custom { flex-wrap:nowrap; align-items:center; min-height:70px; }
  .header .mod-custom > p { flex:0 1 auto; margin:0; }
  .header .logo img { height:44px; }
  .header .burger { margin-left:auto; }
}

/* ===== BURGER ZU X (Menü offen) ===== */
.header .burger .fa-solid { transition:transform .25s ease; }
.header .burger.is-active .fa-solid { transform:rotate(90deg); }
.header .burger.is-active .fa-solid::before { content:"\f00d"; }


/* Datenschutz/Impressum – Listen lesbar einruecken */
.legal-content ul{list-style:disc;padding-left:22px;margin:0 0 16px}
.legal-content ol{list-style:decimal;padding-left:22px;margin:0 0 16px}
.legal-content li{margin:6px 0;line-height:1.6}
