
:root{
  --sd-bg:#050712;
  --sd-bg-2:#0a0f24;
  --sd-card:rgba(255,255,255,.075);
  --sd-card-strong:rgba(255,255,255,.12);
  --sd-line:rgba(255,255,255,.16);
  --sd-text:#ffffff;
  --sd-muted:rgba(255,255,255,.72);
  --sd-pink:#ff2bbd;
  --sd-cyan:#00d9ff;
  --sd-lime:#d7ff49;
  --sd-radius:28px;
  --sd-shadow:0 24px 80px rgba(0,0,0,.45);
  --sd-max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--sd-bg); color:var(--sd-text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.55; overflow-x:hidden;
}
body:before{content:"";position:fixed;inset:-20%;z-index:-4;background:radial-gradient(circle at 10% 10%,rgba(255,43,189,.18),transparent 28%),radial-gradient(circle at 90% 18%,rgba(0,217,255,.16),transparent 26%),radial-gradient(circle at 50% 100%,rgba(215,255,73,.10),transparent 25%),#050712;}
a{color:inherit}.sd-container{max-width:var(--sd-max);margin:0 auto;padding:0 24px}.sd-site-header{position:sticky;top:0;z-index:50;background:rgba(5,7,18,.76);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.sd-nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.sd-brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:900;letter-spacing:.02em}.sd-brand img{width:58px;height:58px;object-fit:contain;border-radius:50%;box-shadow:0 0 30px rgba(0,217,255,.2)}.sd-brand span{font-size:18px}.sd-menu{display:flex;align-items:center;gap:22px}.sd-menu a{text-decoration:none;color:rgba(255,255,255,.78);font-weight:750;font-size:14px}.sd-menu a:hover{color:#fff}.sd-button,.wp-block-button__link,.button,.button-primary{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;border:0!important;border-radius:999px!important;padding:14px 22px!important;font-weight:900!important;text-decoration:none!important;line-height:1!important;cursor:pointer;background:linear-gradient(135deg,var(--sd-pink),var(--sd-cyan))!important;color:#fff!important;box-shadow:0 18px 52px rgba(255,43,189,.22),0 12px 44px rgba(0,217,255,.16)!important;transition:.2s ease!important}.sd-button:hover,.button:hover,.button-primary:hover{transform:translateY(-2px);filter:saturate(1.14)}.sd-button--ghost{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:none!important}.sd-hero{position:relative;min-height:calc(100vh - 82px);display:grid;align-items:center;isolation:isolate;overflow:hidden;padding:74px 0}.sd-hero:before{content:"";position:absolute;inset:0;z-index:-3;background:url('../img/hero-bg.webp') center/cover no-repeat}.sd-hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,7,18,.95),rgba(5,7,18,.63) 52%,rgba(5,7,18,.88)),radial-gradient(circle at 72% 48%,rgba(0,217,255,.18),transparent 34%)}.sd-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(320px,.82fr);gap:46px;align-items:center}.sd-kicker{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.82);font-weight:850;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.sd-kicker:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--sd-lime);box-shadow:0 0 22px var(--sd-lime)}.sd-hero h1{font-size:clamp(48px,7vw,92px);line-height:.94;margin:24px 0 18px;letter-spacing:-.07em}.sd-gradient-text{background:linear-gradient(135deg,#fff 10%,#cbf8ff 38%,#ff9ee3 72%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}.sd-lead{font-size:clamp(18px,2vw,24px);color:var(--sd-muted);max-width:690px;margin:0 0 32px}.sd-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}.sd-trust{display:flex;gap:12px;flex-wrap:wrap}.sd-chip{padding:10px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.065);color:rgba(255,255,255,.78);font-size:13px;font-weight:780}.sd-logo-card{position:relative;border-radius:36px;padding:26px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.16);box-shadow:var(--sd-shadow);overflow:hidden}.sd-logo-card:before{content:"";position:absolute;inset:-80px;background:radial-gradient(circle at 30% 24%,rgba(255,43,189,.28),transparent 32%),radial-gradient(circle at 70% 80%,rgba(0,217,255,.24),transparent 34%);filter:blur(12px)}.sd-logo-card img{position:relative;width:100%;display:block;filter:drop-shadow(0 20px 36px rgba(0,0,0,.35))}.sd-section{padding:96px 0;position:relative}.sd-section--tight{padding:72px 0}.sd-section-header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}.sd-eyebrow{color:var(--sd-cyan);text-transform:uppercase;letter-spacing:.12em;font-weight:950;font-size:13px}.sd-section h2{font-size:clamp(34px,4.5vw,58px);line-height:1;margin:10px 0 0;letter-spacing:-.045em}.sd-section-header p{max-width:510px;color:var(--sd-muted);margin:0}.sd-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.sd-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.sd-card{position:relative;border-radius:var(--sd-radius);background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.045));border:1px solid var(--sd-line);box-shadow:0 16px 60px rgba(0,0,0,.22);overflow:hidden}.sd-card-body{padding:24px}.sd-card h3{font-size:24px;line-height:1.1;margin:0 0 10px}.sd-card p{color:var(--sd-muted);margin:0}.sd-card img,.sd-card svg{width:100%;display:block}.sd-card-media{height:230px;overflow:hidden;background:#0d1126}.sd-card-media img{height:100%;object-fit:cover}.sd-machine-card img,.sd-flavor-card img,.sd-accessory-card img{aspect-ratio:1.38/1;object-fit:cover}.sd-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:900;color:#fff;margin-bottom:12px}.sd-badge--pink{background:rgba(255,43,189,.16);border-color:rgba(255,43,189,.30)}.sd-badge--cyan{background:rgba(0,217,255,.14);border-color:rgba(0,217,255,.32)}.sd-badge--lime{background:rgba(215,255,73,.14);border-color:rgba(215,255,73,.30)}.sd-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;align-items:center}.sd-feature-list{display:grid;gap:14px;margin-top:22px}.sd-feature{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:20px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.12)}.sd-feature strong{display:block}.sd-feature span{color:var(--sd-muted);font-size:14px}.sd-check{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--sd-cyan),var(--sd-pink));font-weight:900}.sd-steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.sd-step{counter-increment:step;padding:22px;border-radius:24px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.065)}.sd-step:before{content:counter(step);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:#07101d;font-weight:950;margin-bottom:16px}.sd-step h3{margin:0 0 8px;font-size:20px}.sd-step p{margin:0;color:var(--sd-muted);font-size:14px}.sd-cta{padding:64px;border-radius:40px;background:linear-gradient(135deg,rgba(255,43,189,.22),rgba(0,217,255,.18)),rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);box-shadow:var(--sd-shadow);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.sd-cta h2{margin:0 0 12px}.sd-cta p{color:var(--sd-muted);margin:0}.sd-footer{padding:44px 0;border-top:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.72)}.sd-footer-grid{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.sd-footer a{color:#fff;text-decoration:none}.sd-booking-hero{padding:80px 0 38px;background:radial-gradient(circle at 12% 10%,rgba(255,43,189,.18),transparent 30%),radial-gradient(circle at 82% 12%,rgba(0,217,255,.16),transparent 28%)}.sd-booking-shell{padding:0 0 90px}.sd-booking-panel{max-width:1220px;margin:0 auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:32px;padding:24px;box-shadow:var(--sd-shadow)}
/* Booking plugin overrides */
.sd-booking-panel :where(.fbb-products,.fbb-addon-grid,.fbb-addons){color:#111}.sd-booking-panel :where(h1,h2,h3,h4){letter-spacing:-.02em}.sd-booking-panel input,.sd-booking-panel textarea,.sd-booking-panel select{border-radius:14px!important;border:1px solid rgba(255,255,255,.18)!important}.sd-booking-panel .fbb-card{border-radius:22px!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 14px 40px rgba(0,0,0,.12)!important}.sd-booking-panel .fbb-card.fbb-selected{border-color:#00d9ff!important;box-shadow:0 0 0 3px rgba(0,217,255,.25),0 20px 60px rgba(0,0,0,.18)!important}.sd-booking-panel .fbb-floating-price{border-radius:26px!important}.sd-booking-panel .fbb-more{border-radius:999px!important;background:#07101d!important;color:#fff!important}.sd-booking-panel .fbb-more{ -webkit-text-fill-color:#fff!important;}
@media(max-width:920px){.sd-nav{height:72px}.sd-menu{display:none}.sd-brand span{display:none}.sd-hero{padding:58px 0;min-height:auto}.sd-hero-grid,.sd-split,.sd-cta{grid-template-columns:1fr}.sd-logo-card{max-width:420px;margin:0 auto}.sd-section-header{display:block}.sd-section-header p{margin-top:16px}.sd-grid-3{grid-template-columns:1fr 1fr}.sd-steps{grid-template-columns:1fr 1fr}.sd-cta{padding:36px}.sd-card-media{height:190px}}
@media(max-width:620px){.sd-container{padding:0 18px}.sd-grid-3,.sd-grid-2,.sd-steps{grid-template-columns:1fr}.sd-hero h1{font-size:48px}.sd-lead{font-size:17px}.sd-section{padding:72px 0}.sd-logo-card{padding:16px;border-radius:28px}.sd-booking-panel{padding:12px;border-radius:24px}.sd-card-body{padding:20px}.sd-cta{padding:28px;border-radius:30px}.sd-button{width:100%}.sd-hero-actions{width:100%}.sd-hero-actions .sd-button{flex:1 1 100%}}

/* =========================================================
   Slushi Dealer Mobile Hero Fix v2.1
   Ziel: kein riesiger Leerraum oben/unten auf Handy.
   ========================================================= */
@media (max-width: 782px) {
  .sd-site-header{
    position: sticky;
    top: 0;
  }

  .sd-nav{
    height: 58px !important;
    gap: 10px !important;
  }

  .sd-brand{
    gap: 8px !important;
  }

  .sd-brand img{
    width: 42px !important;
    height: 42px !important;
  }

  .sd-brand span{
    display: inline !important;
    font-size: 14px !important;
    max-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .sd-menu{
    display: none !important;
  }

  .sd-hero{
    min-height: auto !important;
    height: auto !important;
    display: block !important;
    align-items: start !important;
    padding: 22px 0 34px !important;
    overflow: hidden !important;
  }

  .sd-hero:before{
    background-position: 63% top !important;
    opacity: .62;
    transform: scale(1.02);
  }

  .sd-hero:after{
    background:
      linear-gradient(180deg, rgba(5,7,18,.45) 0%, rgba(5,7,18,.78) 38%, rgba(5,7,18,.97) 100%),
      radial-gradient(circle at 84% 22%, rgba(0,217,255,.20), transparent 34%),
      radial-gradient(circle at 14% 70%, rgba(255,43,189,.18), transparent 32%) !important;
  }

  .sd-hero-grid{
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    align-items: stretch !important;
  }

  .sd-logo-card{
    order: -1;
    max-width: 190px !important;
    width: 190px !important;
    margin: 0 auto 2px !important;
    padding: 10px !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.08) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.30) !important;
  }

  .sd-logo-card img{
    max-height: 170px !important;
    object-fit: contain !important;
  }

  .sd-kicker{
    font-size: 10px !important;
    padding: 6px 10px !important;
    letter-spacing: .07em !important;
  }

  .sd-hero h1{
    font-size: clamp(34px, 10vw, 46px) !important;
    line-height: .98 !important;
    margin: 14px 0 10px !important;
    letter-spacing: -.055em !important;
  }

  .sd-lead{
    font-size: 15.5px !important;
    line-height: 1.45 !important;
    margin: 0 0 18px !important;
    max-width: 96% !important;
  }

  .sd-hero-actions{
    width: 100% !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
  }

  .sd-hero-actions .sd-button{
    width: 100% !important;
    min-height: 46px !important;
    padding: 13px 18px !important;
  }

  .sd-trust{
    gap: 8px !important;
  }

  .sd-chip{
    font-size: 11px !important;
    padding: 7px 10px !important;
  }

  .sd-section{
    padding: 54px 0 !important;
  }

  .sd-section--tight{
    padding: 44px 0 !important;
  }

  .sd-section h2{
    font-size: clamp(30px, 8vw, 42px) !important;
  }

  .sd-card-media{
    height: 170px !important;
  }
}

@media (max-width: 420px) {
  .sd-container{
    padding: 0 16px !important;
  }

  .sd-logo-card{
    max-width: 165px !important;
    width: 165px !important;
    padding: 8px !important;
  }

  .sd-logo-card img{
    max-height: 145px !important;
  }

  .sd-hero{
    padding-top: 18px !important;
    padding-bottom: 30px !important;
  }

  .sd-hero h1{
    font-size: 34px !important;
  }

  .sd-lead{
    font-size: 14.5px !important;
  }

  .sd-chip{
    font-size: 10.5px !important;
  }
}

/* WordPress Admin-Bar auf Mobile sauber berücksichtigen */
@media (max-width: 782px) {
  body.admin-bar .sd-site-header{
    top: 46px;
  }
}
@media (min-width: 783px) {
  body.admin-bar .sd-site-header{
    top: 32px;
  }
}

/* =========================================================
   Sticky Mobile Header + Menü v4
   ========================================================= */
.sd-mobile-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(255,255,255,.075);
  color:#fff;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  box-shadow:none;
}
.sd-mobile-toggle span{
  display:block;
  width:20px;
  height:2px;
  border-radius:999px;
  background:#fff;
  transition:.2s ease;
}
.sd-mobile-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.sd-mobile-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}
.sd-mobile-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}
.sd-mobile-menu{
  display:none;
}

@media(max-width:920px){
  .sd-site-header{
    position:sticky !important;
    top:0;
    z-index:999;
    background:rgba(5,7,18,.88) !important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .sd-nav{
    height:62px !important;
  }
  .sd-brand span{
    display:inline !important;
    font-size:16px !important;
  }
  .sd-menu{
    display:none !important;
  }
  .sd-mobile-toggle{
    display:flex !important;
    flex:0 0 auto;
  }
  .sd-mobile-menu{
    display:grid;
    position:absolute;
    left:12px;
    right:12px;
    top:calc(100% + 8px);
    z-index:998;
    padding:12px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:22px;
    background:rgba(5,7,18,.96);
    box-shadow:0 24px 80px rgba(0,0,0,.48);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    transition:.18s ease;
  }
  .sd-site-header.sd-menu-open .sd-mobile-menu{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  .sd-mobile-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    padding:12px 14px;
    border-radius:16px;
    color:#fff;
    text-decoration:none;
    font-weight:850;
    border:1px solid transparent;
  }
  .sd-mobile-menu a:hover,
  .sd-mobile-menu a:focus{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.12);
  }
  .sd-mobile-cta{
    margin-top:6px;
    background:linear-gradient(135deg,var(--sd-pink),var(--sd-cyan)) !important;
    box-shadow:0 14px 42px rgba(255,43,189,.18),0 12px 36px rgba(0,217,255,.14);
  }

  body.admin-bar .sd-site-header{
    top:46px;
  }
}

@media(max-width:420px){
  .sd-nav{
    height:58px !important;
  }
  .sd-brand img{
    width:40px !important;
    height:40px !important;
  }
  .sd-brand span{
    font-size:15px !important;
  }
  .sd-mobile-toggle{
    width:42px;
    height:42px;
  }
}

@media(min-width:783px){
  body.admin-bar .sd-site-header{
    top:32px;
  }
}

/* =========================================================
   Fixed Mobile Header v5
   Header bleibt auf Mobile immer ganz oben.
   ========================================================= */
@media(max-width:920px){
  .sd-site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:99999 !important;
    background:rgba(5,7,18,.94) !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
  }

  body.admin-bar .sd-site-header{
    top:0 !important;
  }

  body{
    padding-top:62px !important;
  }

  .sd-mobile-menu{
    top:calc(100% + 8px) !important;
  }

  .sd-hero{
    margin-top:0 !important;
  }

  .sd-booking-hero{
    margin-top:0 !important;
  }
}

@media(max-width:420px){
  body{
    padding-top:58px !important;
  }
}

