/* Elektro-Schmiedeskamp – Ergänzungen für Smartphone und Tablet
 * Ab 1.220 Pixel Breite bleibt die Darstellung exakt wie bisher.
 * Darunter wird das Layout flexibel (Menü zum Aufklappen, Spalten untereinander). */

/* ---- Anruf-Links sehen aus wie der bisherige Text ---- */
a[href^="tel:"]:not(.mobile-cta-call),
a[href^="tel:"]:not(.mobile-cta-call):visited,
a[href^="tel:"]:not(.mobile-cta-call):hover,
a[href^="tel:"]:not(.mobile-cta-call):focus{color:inherit;text-decoration:none}

/* ---- Elemente, die nur auf kleinen Bildschirmen erscheinen ---- */
.menu-toggle,.mobile-cta{display:none}

/* ================================================================ unter 1.220 px */
@media (max-width:1219px){
  body{font-size:18px}
  #page,.site-footer{min-width:0}
  .wrap{width:auto;max-width:100%;padding-left:24px;padding-right:24px;box-sizing:border-box}
  .wrap .wrap{padding-left:0;padding-right:0}
  h1{font-size:32px;line-height:1.2}
  h2{font-size:26px;line-height:1.25}
  h3,h4{font-size:21px}

  /* Kopfbereich */
  .site-header{padding-top:14px;padding-bottom:14px;z-index:1001}
  .site-header>.wrap{display:flex;align-items:center;flex-wrap:nowrap;gap:0 14px}
  .site-header>.wrap:after{display:none}
  .site-branding{float:none;width:230px;max-width:52%;flex:0 1 auto;margin-right:auto}
  .headerbar,.main-navigation{padding-top:0}
  .headerbar{float:none;order:2}
  .main-navigation{float:none;width:auto;clear:none;order:3}
  .menu-toggle{display:flex;align-items:center;gap:10px;background:none;border:0;padding:10px 0 10px 6px;margin:0;
    font-family:'Ubuntu',sans-serif;font-size:18px;color:#000;cursor:pointer}
  .menu-toggle-bars{position:relative;display:inline-block;width:26px;height:3px;background:#000;transition:background .2s}
  .menu-toggle-bars:before,.menu-toggle-bars:after{content:"";position:absolute;left:0;width:26px;height:3px;background:#000;transition:transform .2s,top .2s}
  .menu-toggle-bars:before{top:-8px}
  .menu-toggle-bars:after{top:8px}
  .main-navigation.toggled .menu-toggle-bars{background:transparent}
  .main-navigation.toggled .menu-toggle-bars:before{top:0;transform:rotate(45deg)}
  .main-navigation.toggled .menu-toggle-bars:after{top:0;transform:rotate(-45deg)}
  .main-navigation .menu-header-container{display:none;position:absolute;left:0;right:0;top:100%;z-index:1000;
    background:#fff;box-shadow:0 12px 24px rgba(0,0,0,.15);padding:6px 24px 18px;max-height:calc(100vh - 90px);overflow-y:auto}
  .main-navigation.toggled .menu-header-container{display:block}
  #primary-menu{display:block}
  #primary-menu>li{float:none;margin:0;border-bottom:1px solid #e6e6e6}
  #primary-menu>li:last-child{border-bottom:0}
  #primary-menu li>a{padding:13px 0;font-size:19px}
  #primary-menu li.menu-item>.sub-menu,#primary-menu li.menu-item:hover>.sub-menu{position:static;float:none;display:block;opacity:1;visibility:visible;
    left:auto;padding:0 0 10px 18px;box-shadow:none;background:none}
  #primary-menu>li .sub-menu li{float:none;display:block;width:auto;padding:0}
  #primary-menu>li .sub-menu li a{float:none;display:block;padding:8px 0;font-size:17px;white-space:normal}
  .main-navigation ul ul a{width:auto}
  .custom-search form{top:52px;width:min(320px,80vw)}

  /* Kopfbild und Slider */
  .header-media,.header-media-outer,.header-media .slider,.header-media .ImpulsSlider,
  .header-media .ImpulsSlider_outerwrap,.header-media .ImpulsSlider .ImpulsSlider_Wrap{min-width:0;min-height:220px;height:50vw;max-height:520px}
  body:not(.home) .header-media,body:not(.home) .header-media-outer,
  body:not(.home) .header-media .header-bg,body:not(.home) .header-media .header-bg .bg-img{min-height:150px;height:32vw}
  .ImpulsSlider_Description{width:auto;margin:13% 0 0;padding:0 24px}
  .ImpulsSlider_Description h3{font-size:clamp(24px,5.6vw,48px);line-height:1.15;margin:0;text-shadow:0 1px 10px rgba(0,0,0,.35)}
  .ImpulsSlider_outerwrap .ImpulsSlider_Pager{width:auto;left:auto;right:24px}
  .ImpulsSlider_outerwrap .ImpulsSlider_Pager a{position:relative;margin-left:16px}
  .ImpulsSlider_outerwrap .ImpulsSlider_Pager a:first-child{margin-left:0}
  .ImpulsSlider_outerwrap .ImpulsSlider_Pager a:after{content:"";position:absolute;left:-8px;top:-8px;right:-8px;bottom:-8px}
  .site-footer .menu li a{display:inline-block;padding:6px 0}

  /* Inhalt und Kontaktkasten */
  body.single article,body.blog .pre-content,body.page .start-content,body:not(.onepage):not(.home).page article{margin-top:0}
  body.page article:not(.opsection),body.page article:not(.opsection)+.sidebar,
  .opsection .start-content,body.blog .pre-content{float:none;width:auto}
  .sidebar,body.home .sidebar,body:not(.home) .sidebar,.opsection .sidebar,body.blog .sidebar{float:none;width:auto;max-width:440px;margin:34px 0 0;height:auto}
  .opsection,body.blog .pre-content-wrap,body:not(.home).default .posts-wrap{padding:36px 0}
  .opsection.bg-left,.opsection.bg-right{padding:0 24px 36px}
  .opsection.bg-left .bg-image,.opsection.bg-right .bg-image{position:relative;display:block;left:auto;right:auto;top:auto;
    width:auto;height:52vw;max-height:380px;margin:0 -24px 28px;background-position:center}
  .dyncontent{padding:44px 0}
  .dyncontent h2{padding-bottom:30px}

  /* Leistungs-Kacheln */
  .services .service{width:calc((100% - 24px)/2);margin-left:24px;padding-bottom:36px}
  .services .service:nth-child(3n+1){margin-left:24px;clear:none}
  .services .service:nth-child(2n+1){margin-left:0;clear:both}
  .services .service img{width:100%}

  /* Partnerlogos */
  .partners{justify-content:center;gap:10px 24px}
  .partners .partner,.partners .partner:first-child,.partners .partner:last-child{margin:0;flex:0 1 160px}

  /* Fußbereich */
  .site-footer .widget,.site-footer .widget:last-child{float:none;width:auto;margin:0 0 24px}

  /* Suchergebnisse */
  body.search article .img-link{width:32%}
  body.search article .entry-content{width:68%}

  /* Zweispaltige Inhalte (Kontakt) */
  .spaltenparent .spalte,.spaltenparent .spalte.clear{float:none;width:auto;margin-right:0}
}

/* ================================================================ Smartphone */
@media (max-width:640px){
  body{font-size:17px}
  h1{font-size:28px}
  .wrap{padding-left:18px;padding-right:18px}
  .opsection.bg-left,.opsection.bg-right{padding:0 18px 32px}
  .opsection.bg-left .bg-image,.opsection.bg-right .bg-image{margin:0 -18px 24px}
  .main-navigation .menu-header-container{padding:6px 18px 18px}
  .site-branding{width:190px}
  .menu-toggle-label{display:none}
  .services .service,.services .service:nth-child(3n+1),.services .service:nth-child(2n+1){width:100%;margin-left:0;float:none}
  .gallery-columns-4 .gallery-item{max-width:33.33%}
  .alignleft{float:none;display:block;margin:0 auto 20px}
  body.search article .img-link,body.search article .entry-content{float:none;width:100%;padding-left:0}
  body.search article .entry-content{margin-top:12px}
  .partners .partner,.partners .partner:first-child,.partners .partner:last-child{flex:0 1 42%}
  .smpl-btn a{padding:10px 18px 8px 38px}
}

/* ================================================================ Schnellkontakt-Leiste (Smartphone, Tablet) */
@media (max-width:1023px){
  body{padding-bottom:56px}
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9000;box-shadow:0 -2px 12px rgba(0,0,0,.18)}
  .mobile-cta a,.mobile-cta a:visited,.mobile-cta a:hover,.mobile-cta a:focus{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;
    min-height:56px;padding:0 8px;font-family:'Ubuntu',sans-serif;font-size:18px;color:#fff;text-decoration:none}
  .mobile-cta-call{background:#ef3c39}
  .mobile-cta-mail{background:#505050}
}
