/* Nordwerk Version 28 – finale feste Darstellung */

.site-header{
  background:#0d0d0c!important;
}
.header-shell{
  width:calc(100% - 42px)!important;
  max-width:1880px!important;
}
.header-inner{
  display:grid!important;
  grid-template-columns:minmax(320px,420px) minmax(520px,1fr) auto!important;
  align-items:center!important;
  min-height:96px!important;
  gap:24px!important;
}
.brand-logo{
  width:390px!important;
  max-width:100%!important;
  height:78px!important;
}
.header-actions-v28{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  min-width:max-content!important;
}
.social-v28{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  color:#fff!important;
}
.social-v28 svg,.call-v28 svg{
  width:20px!important;
  height:20px!important;
  fill:currentColor!important;
}
.facebook-v28{background:#1877f2!important}
.instagram-v28{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af)!important}
.whatsapp-v28{background:#25d366!important}
.call-v28{
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:var(--accent)!important;
  color:#fff!important;
  white-space:nowrap!important;
}

/* Leistungen */
.services-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
.service-card{
  width:100%!important;
  min-width:0!important;
}
.service-card-body{
  min-height:250px!important;
  padding:26px 24px!important;
  overflow:hidden!important;
}
.service-card-body h2,
.service-card-body h3{
  font-size:clamp(1.28rem,1.35vw,1.62rem)!important;
  line-height:1.1!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  max-width:100%!important;
}
.service-card-body p{
  font-size:.97rem!important;
  line-height:1.55!important;
}

/* Bewertungen: immer nur eine Reihe */
.reviews-slider-shell{
  max-width:1240px!important;
  margin-inline:auto!important;
  position:relative!important;
}
.reviews-slider-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
}
.reviews-slider-track::-webkit-scrollbar{display:none!important}
.review-source-card{
  flex:0 0 calc((100% - 36px)/3)!important;
  width:calc((100% - 36px)/3)!important;
  min-height:290px!important;
  scroll-snap-align:start!important;
}
.reviews-slider-shell:not(.is-slider-active) .reviews-slider-track{
  justify-content:center!important;
  overflow:visible!important;
}
.reviews-slider-shell:not(.is-slider-active) .review-source-card{
  flex:0 1 calc((100% - 36px)/3)!important;
  max-width:390px!important;
}
.reviews-slider-shell.is-slider-active{
  padding:0 52px!important;
}
.reviews-slider-arrow{
  top:50%!important;
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#171717!important;
  color:#fff!important;
  border:1px solid #333!important;
}
.reviews-slider-prev{left:0!important}
.reviews-slider-next{right:0!important}

/* Footer */
.footer-v28{
  background:#050505!important;
  color:#fff!important;
}
.footer-main-v28{
  width:100%!important;
  padding:56px 32px 42px!important;
}
.footer-inner-v28{
  width:100%!important;
  max-width:1880px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(330px,1.35fr) minmax(170px,.7fr) minmax(280px,1fr) minmax(170px,.7fr) minmax(180px,.7fr)!important;
  gap:clamp(36px,4vw,82px)!important;
  align-items:start!important;
}
.footer-brand-v28 img{
  width:min(410px,100%)!important;
  max-height:108px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.footer-brand-v28 p{
  max-width:480px!important;
  color:#aaa!important;
  line-height:1.6!important;
}
.footer-social-v28{
  display:flex!important;
  gap:9px!important;
  margin-top:18px!important;
}
.footer-social-v28 a{
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  color:#fff!important;
  font-weight:900!important;
}
.footer-col-v28{
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  min-width:0!important;
}
.footer-col-v28 h3{
  margin:0 0 9px!important;
  font-size:1.05rem!important;
  color:#fff!important;
}
.footer-col-v28 a,.footer-col-v28 span{
  color:#aaa!important;
  font-size:.91rem!important;
  line-height:1.45!important;
}
.today-v28{
  margin-top:12px!important;
}
.today-v28>strong{
  display:inline-block!important;
  padding:6px 9px!important;
  border-radius:8px!important;
  font-size:.8rem!important;
}
.hours-mini-v28{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:3px 12px!important;
  margin-top:9px!important;
}
.hours-mini-v28 .opening-day{
  display:flex!important;
  justify-content:space-between!important;
  gap:8px!important;
  font-size:.72rem!important;
}
.footer-bottom-v28{
  min-height:62px!important;
  padding:0 32px!important;
  border-top:1px solid #222!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  color:#777!important;
  font-size:.86rem!important;
}
.footer-bottom-v28 a{
  text-align:right!important;
  color:#aaa!important;
}

/* Floating WhatsApp bleibt unten rechts */
.floating-whatsapp-circle{
  right:18px!important;
  bottom:18px!important;
}

/* Responsive */
@media(max-width:1250px){
  .header-inner{
    grid-template-columns:minmax(270px,330px) 1fr auto!important;
  }
  .brand-logo{width:315px!important}
  .call-v28{display:none!important}
  .footer-inner-v28{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .footer-brand-v28{grid-column:1/-1!important}
}
@media(max-width:900px){
  .header-actions-v28{display:none!important}
  .reviews-slider-shell.is-slider-active{padding:0!important}
  .review-source-card{
    flex-basis:calc((100% - 18px)/2)!important;
    width:calc((100% - 18px)/2)!important;
  }
  .footer-inner-v28{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:650px){
  .services-grid{grid-template-columns:1fr!important}
  .review-source-card{
    flex-basis:100%!important;
    width:100%!important;
  }
  .reviews-slider-arrow{display:none!important}
  .footer-main-v28{padding:42px 18px 30px!important}
  .footer-inner-v28{grid-template-columns:1fr!important}
  .footer-bottom-v28{
    grid-template-columns:1fr!important;
    gap:7px!important;
    text-align:center!important;
    padding:17px!important;
  }
  .footer-bottom-v28 a{text-align:center!important}
}


/* Version 29 – Footer wie gewünscht */
.footer-main-v29{
  padding:50px 0 38px!important;
}

.footer-inner-v29{
  width:calc(100% - 44px)!important;
  max-width:1900px!important;
  grid-template-columns:
    minmax(380px,1.5fr)
    minmax(220px,.78fr)
    minmax(220px,.78fr)
    minmax(190px,.7fr)
    minmax(190px,.7fr)!important;
  gap:clamp(42px,5vw,96px)!important;
}

.footer-brand-v29{
  margin-left:0!important;
  padding-left:0!important;
  max-width:540px!important;
}

.footer-brand-v29 img{
  width:min(430px,100%)!important;
  max-height:110px!important;
  object-position:left center!important;
  margin-left:0!important;
}

.footer-brand-v29 p{
  margin:14px 0 0!important;
  max-width:500px!important;
}

.footer-opening-v29{
  margin-top:24px!important;
}

.footer-opening-v29 h3{
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:1.02rem!important;
}

.footer-opening-status-v29{
  display:inline-flex!important;
  width:auto!important;
  padding:6px 10px!important;
  border-radius:8px!important;
  font-size:.8rem!important;
  margin-bottom:12px!important;
}

.footer-opening-list-v29{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5px 20px!important;
  max-width:500px!important;
}

.footer-opening-list-v29 .opening-day{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  font-size:.77rem!important;
  min-width:0!important;
}

.footer-opening-list-v29 .opening-day span{
  color:#929292!important;
}

.footer-opening-list-v29 .opening-day strong{
  color:#d4d4d4!important;
  font-weight:600!important;
  white-space:nowrap!important;
}

.footer-opening-list-v29 .opening-day.today span,
.footer-opening-list-v29 .opening-day.today strong{
  color:#fff!important;
  font-weight:800!important;
}

/* Kein grüner Punkt / kein Social-Icon unter dem Logo */
.footer-v29 .footer-social-v28,
.footer-v29 .footer-social-v29{
  display:none!important;
}

.footer-bottom-v29{
  width:100%!important;
}

@media(max-width:1350px){
  .footer-inner-v29{
    grid-template-columns:1.4fr 1fr 1fr!important;
  }

  .footer-brand-v29{
    grid-column:1/-1!important;
  }
}

@media(max-width:850px){
  .footer-inner-v29{
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr 1fr!important;
    gap:34px!important;
  }

  .footer-brand-v29{
    grid-column:1/-1!important;
  }
}

@media(max-width:620px){
  .footer-inner-v29{
    grid-template-columns:1fr!important;
  }

  .footer-opening-list-v29{
    grid-template-columns:1fr!important;
  }
}


/* Version 30 – kompakte Öffnungszeiten im Footer */
.footer-opening-v29{
  display:none!important;
}

.footer-opening-v30{
  margin-top:24px!important;
  max-width:360px!important;
}

.footer-opening-v30 h3{
  margin:0 0 9px!important;
  color:#fff!important;
  font-size:1rem!important;
}

.footer-opening-compact-v30{
  display:grid!important;
  gap:5px!important;
}

.footer-opening-compact-v30>div{
  display:grid!important;
  grid-template-columns:88px 1fr!important;
  gap:14px!important;
  align-items:center!important;
  min-height:21px!important;
}

.footer-opening-compact-v30 span{
  color:#969696!important;
  font-size:.8rem!important;
}

.footer-opening-compact-v30 strong{
  color:#d9d9d9!important;
  font-size:.82rem!important;
  font-weight:600!important;
  white-space:nowrap!important;
}

@media(max-width:620px){
  .footer-opening-v30{
    max-width:100%!important;
  }
}

.hero-dropzone{position:relative;margin:22px 0;padding:30px 20px;display:grid;place-items:center;gap:7px;text-align:center;border:2px dashed var(--line);border-radius:14px;background:var(--surface-2);transition:.18s}
.hero-dropzone.is-dragging{border-color:var(--accent);transform:scale(1.005)}
.hero-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.hero-dropzone-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff}
.hero-dropzone span,.hero-dropzone small{color:var(--muted)}
.hero-dropzone small.is-error{color:#c62828;font-weight:800}
.delete-media-check{display:flex;gap:8px;padding:11px 13px;border-radius:9px;background:#3a1818;color:#ffd7d7}
.hero-upload-note{margin:15px 0 20px;padding:13px 15px;border-left:4px solid var(--accent);background:var(--surface-2);color:var(--muted);line-height:1.55}


/* Version 33 – klarer Mehrfach-Bildupload im Admin */

.admin-gallery-upload{
  margin-top:18px;
  padding:18px;
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(280px,1.5fr) auto;
  align-items:center;
  gap:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.admin-gallery-upload-copy{display:grid;gap:4px}
.admin-gallery-upload-copy strong{font-size:1rem}
.admin-gallery-upload-copy span,.admin-upload-hint{color:var(--muted);font-size:.88rem;line-height:1.45}
.admin-file-picker{position:relative;display:flex;align-items:center;min-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden;cursor:pointer}
.admin-file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}
.admin-file-picker-button{align-self:stretch;display:flex;align-items:center;padding:0 15px;background:#171717;color:#fff;font-weight:800;white-space:nowrap}
.admin-file-picker-name{padding:0 14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-file-picker-name.is-error{color:#c62828;font-weight:800}
.admin-upload-button{min-width:155px;white-space:nowrap}
.admin-upload-button:disabled{opacity:.65;cursor:wait}
@media(max-width:900px){
  .admin-gallery-upload{grid-template-columns:1fr}
  .admin-upload-button{width:100%}
}


/* Version 35 – WhatsApp bleibt rechts, nur Admin-Link rückt nach links */
.floating-whatsapp-circle{
  right:18px!important;
  bottom:18px!important;
}
.footer-bottom-v28 .footer-admin-link{
  display:inline-block!important;
  justify-self:end!important;
  margin-right:76px!important;
  position:relative!important;
  z-index:2!important;
}
@media(max-width:620px){
  .floating-whatsapp-circle{right:10px!important;bottom:10px!important}
  .footer-bottom-v28 .footer-admin-link{
    margin-right:68px!important;
  }
}
