/*
Theme Name: Hello Elementor Child – IB Daub
Description: Child-Theme für Ingenieurbüro Daub: Header, Footer, Sticky-Bar, lokales Inter (DSGVO), CI-Farben.
Template: hello-elementor
Version: 1.0.0
Author: InGlory
*/

/* ---------- Inter lokal (DSGVO – kein Google-CDN) ---------- */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/inter-800.woff2') format('woff2')}

:root{
  --ibd-blau:#1F4E9C;
  --ibd-blau-dunkel:#163A75;
  --ibd-rot:#D93A34;
  --ibd-grau:#F4F6F9;
  --ibd-text:#1D2733;
  --ibd-soft:#5A6675;
}
body{font-family:'Inter',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--ibd-text);font-size:16px}
.elementor{font-family:'Inter',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}

.ibd-container{max-width:1170px;margin:0 auto;padding:0 15px}

/* ---------- Header ---------- */
.ibd-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid #E6EBF2;box-shadow:0 1px 4px rgba(20,40,80,.06)}
.ibd-header__inner{display:flex;align-items:center;gap:22px;padding:14px 15px}
.ibd-logo{display:flex;align-items:center;gap:4px;text-decoration:none;flex:none}
.ibd-logo img{max-height:48px;width:auto}
.ibd-logo__sq{width:14px;height:14px;border-radius:2px;display:inline-block}
.ibd-logo__sq--b{background:var(--ibd-blau)}
.ibd-logo__sq--r{background:var(--ibd-rot)}
.ibd-logo__text{font-weight:800;color:var(--ibd-text);margin-left:8px;font-size:15px;letter-spacing:.02em}
.ibd-nav{flex:1;display:flex;justify-content:center}
.ibd-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
.ibd-nav li{position:relative}
.ibd-nav a{display:block;padding:8px 12px;text-decoration:none;font-weight:600;font-size:15px;color:var(--ibd-text);border-radius:5px}
.ibd-nav a:hover{color:var(--ibd-blau);background:var(--ibd-grau)}
.ibd-nav .current-menu-item>a,.ibd-nav .current-menu-ancestor>a{color:var(--ibd-blau)}
.ibd-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:290px;box-shadow:0 8px 24px rgba(20,40,80,.16);border-radius:8px;padding:8px;z-index:1001}
.ibd-nav li:hover>.sub-menu,.ibd-nav li:focus-within>.sub-menu{display:block}
.ibd-nav .sub-menu a{font-size:14px;font-weight:500;padding:9px 12px}
.ibd-phone{flex:none;text-decoration:none;font-weight:800;color:var(--ibd-blau);font-size:15px;white-space:nowrap}
.ibd-phone:hover{color:var(--ibd-blau-dunkel)}
.ibd-burger{display:none;flex:none;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.ibd-burger span{display:block;width:24px;height:3px;background:var(--ibd-text);margin:5px 0;border-radius:2px;transition:.2s}

/* ---------- Footer ---------- */
.ibd-footer{background:var(--ibd-blau-dunkel);color:#C9D6EE;font-size:14px;line-height:1.7}
.ibd-footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:50px 0 30px}
.ibd-footer h4{color:#fff;font-size:15px;margin:0 0 14px;font-weight:700}
.ibd-footer a{color:#C9D6EE;text-decoration:none}
.ibd-footer a:hover{color:#fff}
.ibd-footer ul{list-style:none;margin:0;padding:0}
.ibd-footer li{margin-bottom:6px}
.ibd-footer__brand{display:flex;align-items:center;gap:4px;margin-bottom:12px}
.ibd-footer__brand b{color:#fff;margin-left:6px;font-size:14px;letter-spacing:.02em}
.ibd-footer__phone{color:#fff !important;font-weight:700;font-size:16px}
.ibd-footer__legal{border-top:1px solid rgba(255,255,255,.15);padding:16px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:12.5px}
.ibd-badge{background:#000;color:#fff !important;padding:4px 12px;border-radius:4px;font-size:11px;font-weight:600;text-decoration:none}

/* ---------- Mobile Sticky-Leiste ---------- */
.ibd-sticky{display:none}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .ibd-nav{position:fixed;inset:73px 0 auto 0;background:#fff;box-shadow:0 12px 24px rgba(20,40,80,.15);display:none;padding:10px 15px 20px;max-height:calc(100vh - 73px);overflow:auto}
  .ibd-nav.is-open{display:block}
  .ibd-nav ul{flex-direction:column;gap:0}
  .ibd-nav a{padding:12px 10px;font-size:16px}
  .ibd-nav .sub-menu{display:block;position:static;box-shadow:none;min-width:0;padding:0 0 0 16px}
  .ibd-burger{display:block}
  .ibd-phone{margin-left:auto}
  .ibd-burger{margin-left:0}
}
@media (max-width:767px){
  .ibd-footer__grid{grid-template-columns:1fr;gap:24px;padding:36px 0 20px}
  .ibd-phone span{display:none}
  .ibd-sticky{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9999;box-shadow:0 -2px 10px rgba(0,0,0,.15)}
  .ibd-sticky a{flex:1;text-align:center;padding:14px 8px;font-weight:700;font-size:16px;text-decoration:none;color:#fff}
  .ibd-sticky__call{background:var(--ibd-blau)}
  .ibd-sticky__form{background:var(--ibd-rot)}
  body{padding-bottom:52px}
}
