/* Elbetal v15 - gezielte Nutzerkorrekturen: Logo kleiner, Öffnungszeiten zentriert, T-Shirt-Prozess, Footer/Buttons */
:root{
  --ef-blue:#071d4f;
  --ef-blue-2:#0b3478;
  --ef-green:#72b72a;
  --ef-cyan:#168fc8;
  --ef-yellow:#f5c322;
  --ef-orange:#f47a20;
  --ef-pink:#d72574;
  --ef-ink:#10213f;
}

/* Logo 30% kleiner und als transparentes PNG */
.ef-brand.ef-brand-image{
  min-width:clamp(150px,17vw,252px)!important;
  max-width:273px!important;
  padding:3px 0!important;
}
.ef-brand-logo{
  width:clamp(150px,15.4vw,242px)!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  background:transparent!important;
}
@media(max-width:1199px){
  .ef-brand.ef-brand-image{min-width:147px!important;max-width:190px!important;}
  .ef-brand-logo{width:168px!important;max-width:48vw!important;}
}
@media(max-width:575px){
  .ef-brand.ef-brand-image{min-width:125px!important;max-width:154px!important;}
  .ef-brand-logo{width:144px!important;max-width:46vw!important;}
}

/* Öffnungszeiten: ein Container, klare Zentrierung, keine wilden Einzel-Flächen */
.ef-hours-section{
  padding:48px 0!important;
  background:linear-gradient(180deg,#fff 0%,#f6f9fc 100%)!important;
}
.ef-hours-section *::before,
.ef-hours-section *::after{
  box-shadow:none!important;
}
.ef-hours-card,
.ef-hours-clean-card{
  max-width:860px!important;
  margin:0 auto!important;
  border-radius:20px!important;
  background:#fff!important;
  border:1px solid rgba(7,29,79,.10)!important;
  box-shadow:0 24px 55px rgba(7,29,79,.10)!important;
  overflow:hidden!important;
}
.ef-hours-card::before,
.ef-hours-card::after,
.ef-hours-content h3::before,
.ef-hours-content h3::after{
  content:none!important;
  display:none!important;
}
.ef-hours-content{
  width:100%!important;
  padding:32px 28px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  text-align:center!important;
}
.ef-hours-content h3,
.ef-hours-content p,
.ef-hours-content h5{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  color:var(--ef-blue)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  line-height:1.35!important;
  letter-spacing:0!important;
}
.ef-hours-content h3{
  font-size:clamp(28px,3vw,40px)!important;
  font-weight:800!important;
  margin-bottom:8px!important;
}
.ef-hours-content p{
  font-size:clamp(18px,2vw,24px)!important;
  font-weight:650!important;
}
.ef-hours-content h5{
  font-size:clamp(17px,1.8vw,22px)!important;
  font-weight:750!important;
  white-space:nowrap!important;
}
.ef-hours-content .phone,
.ef-hours-content a{
  color:var(--ef-blue-2)!important;
  text-decoration:none!important;
  background:transparent!important;
}
@media(max-width:520px){
  .ef-hours-card{border-radius:16px!important;}
  .ef-hours-content{padding:26px 18px!important;}
  .ef-hours-content h5{white-space:normal!important;}
}

/* Webseite-erstellen Button: sprechende Farbe statt weißer Buttontext */
.ef-web-wow-section .button,
.ef-web-v12-section .button,
.ef-web-v12-copy .button,
.ef-web-wow-copy .button{
  color:#071d4f!important;
  background:linear-gradient(135deg,#f5c322 0%,#72b72a 100%)!important;
  border:0!important;
  border-radius:8px!important;
  box-shadow:0 18px 34px rgba(245,195,34,.26)!important;
  text-shadow:none!important;
}
.ef-web-wow-section .button:hover,
.ef-web-v12-section .button:hover{
  color:#ffffff!important;
  background:linear-gradient(135deg,#168fc8 0%,#0b3478 100%)!important;
}

/* T-Shirt-Prozess statt Gutscheinbereich */
.ef-shirt-process-section{
  position:relative!important;
  overflow:hidden!important;
  padding:96px 0!important;
  background:
    radial-gradient(circle at 12% 12%,rgba(22,143,200,.22),transparent 28%),
    radial-gradient(circle at 85% 18%,rgba(215,37,116,.16),transparent 30%),
    linear-gradient(135deg,#071d4f 0%,#0b3478 58%,#071d4f 100%)!important;
  color:#fff!important;
}
.ef-shirt-process-section::before{
  content:"";
  position:absolute;
  inset:auto -8% -70px -8%;
  height:170px;
  background:linear-gradient(90deg,#168fc8 0%,#72b72a 32%,#f5c322 54%,#f47a20 74%,#d72574 100%);
  border-radius:50% 50% 0 0 / 72% 72% 0 0;
  transform:rotate(-2deg);
  opacity:.95;
}
.ef-shirt-bg-pixels span{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:4px;
  opacity:.58;
  animation:efPixelFloat 7s ease-in-out infinite;
}
.ef-shirt-bg-pixels span:nth-child(1){background:#168fc8;left:7%;top:18%;}
.ef-shirt-bg-pixels span:nth-child(2){background:#72b72a;left:17%;top:72%;animation-delay:.8s;}
.ef-shirt-bg-pixels span:nth-child(3){background:#f5c322;right:21%;top:14%;animation-delay:1.4s;}
.ef-shirt-bg-pixels span:nth-child(4){background:#f47a20;right:9%;top:48%;animation-delay:2s;}
.ef-shirt-bg-pixels span:nth-child(5){background:#d72574;right:15%;bottom:20%;animation-delay:2.7s;}
@keyframes efPixelFloat{
  0%,100%{transform:translateY(0) rotate(0deg);}
  50%{transform:translateY(-18px) rotate(10deg);}
}
.ef-shirt-shell{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);
  gap:34px;
  align-items:center;
}
.ef-shirt-copy{
  padding:40px;
  border-radius:24px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 30px 80px rgba(0,0,0,.22);
}
.ef-shirt-copy .ef-kicker{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  color:#071d4f;
  background:linear-gradient(135deg,#f5c322,#72b72a);
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:18px;
}
.ef-shirt-copy h3{
  color:#fff!important;
  font-size:clamp(34px,4.4vw,62px)!important;
  line-height:1!important;
  margin-bottom:18px!important;
}
.ef-shirt-copy p{
  color:rgba(255,255,255,.88)!important;
  font-size:18px!important;
  line-height:1.72!important;
  margin-bottom:24px!important;
}
.ef-shirt-button{
  color:#071d4f!important;
  background:#fff!important;
  border-radius:8px!important;
  box-shadow:0 18px 38px rgba(0,0,0,.24)!important;
}
.ef-shirt-button:hover{
  color:#071d4f!important;
  background:linear-gradient(135deg,#f5c322,#72b72a)!important;
}
.ef-shirt-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.ef-shirt-steps::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:50%;
  height:3px;
  background:linear-gradient(90deg,#168fc8,#72b72a,#f5c322,#f47a20,#d72574);
  opacity:.75;
  transform:translateY(-50%);
}
.ef-shirt-step{
  position:relative;
  min-height:300px;
  padding:24px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.95);
  color:#071d4f;
  box-shadow:0 30px 60px rgba(0,0,0,.20);
  transform:translateY(0);
  animation:efStepFloat 5s ease-in-out infinite;
}
.ef-shirt-step:nth-child(2){animation-delay:.5s;margin-top:34px;}
.ef-shirt-step:nth-child(3){animation-delay:1s;}
.ef-shirt-step:nth-child(4){animation-delay:1.5s;margin-top:34px;}
@keyframes efStepFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
}
.ef-shirt-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:14px;
  color:#fff;
  font-weight:900;
  background:#071d4f;
  margin-bottom:18px;
}
.ef-shirt-step h5{color:#071d4f!important;margin:14px 0 8px!important;font-weight:850!important;}
.ef-shirt-step p{color:#40506b!important;font-size:15px!important;line-height:1.55!important;margin:0!important;}
.ef-shirt-icon{
  position:relative;
  height:92px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(22,143,200,.14),rgba(114,183,42,.12));
  overflow:hidden;
}
.ef-shirt-icon::before,
.ef-shirt-icon::after,
.ef-shirt-icon span::before,
.ef-shirt-icon span::after{
  content:"";
  position:absolute;
  display:block;
}
.ef-shirt-icon-contact::before{width:42px;height:30px;border:4px solid #168fc8;border-radius:8px;left:50%;top:50%;transform:translate(-50%,-50%);}
.ef-shirt-icon-contact::after{width:18px;height:18px;border-left:4px solid #168fc8;border-bottom:4px solid #168fc8;left:50%;top:50%;transform:translate(-50%,-76%) rotate(-45deg);}
.ef-shirt-icon-design::before{width:54px;height:38px;border:4px solid #72b72a;border-radius:10px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-4deg);}
.ef-shirt-icon-design::after{width:28px;height:5px;background:#d72574;left:50%;top:50%;transform:translate(-35%,0) rotate(-28deg);border-radius:5px;}
.ef-shirt-icon-print::before{width:54px;height:64px;border:4px solid #f47a20;border-radius:14px 14px 8px 8px;left:50%;top:50%;transform:translate(-50%,-50%);}
.ef-shirt-icon-print::after{width:28px;height:20px;border:3px solid #f47a20;border-radius:0 0 12px 12px;left:50%;top:58%;transform:translateX(-50%);}
.ef-shirt-icon-pack::before{width:56px;height:42px;border:4px solid #f5c322;border-radius:8px;left:50%;top:54%;transform:translate(-50%,-50%);}
.ef-shirt-icon-pack::after{width:36px;height:4px;background:#f5c322;left:50%;top:43%;transform:translateX(-50%) rotate(-25deg);border-radius:4px;}
@media(max-width:991px){
  .ef-shirt-shell{grid-template-columns:1fr;}
  .ef-shirt-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ef-shirt-steps::before{display:none;}
  .ef-shirt-step:nth-child(n){margin-top:0;}
}
@media(max-width:575px){
  .ef-shirt-process-section{padding:70px 0!important;}
  .ef-shirt-copy{padding:28px 22px;}
  .ef-shirt-steps{grid-template-columns:1fr;}
  .ef-shirt-step{min-height:auto;}
}

/* Footer: Telefon optisch exakt wie Mail - kein Sonderhintergrund */
.footer-classic,
.footer-classic .footer-classic-main,
.footer-classic .footer-classic-aside,
.footer-classic .footer-classic-body,
.footer-classic .footer-classic-contacts-item,
.footer-classic .unit-body,
.footer-classic .phone,
.footer-classic .mail,
.footer-classic a.phone,
.footer-classic a.mail{
  background:transparent!important;
  box-shadow:none!important;
}
.footer-classic .phone,
.footer-classic .mail,
.footer-classic a.phone,
.footer-classic a.mail{
  color:#fff!important;
  text-decoration:none!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}
.footer-classic .phone:hover,
.footer-classic .mail:hover{color:#f5c322!important;}
