:root{
  --s4p-navy:#071b31;
  --s4p-blue:#075faf;
  --s4p-blue2:#1394ff;
  --s4p-bg:#f3f6fa;
  --s4p-card:#ffffff;
  --s4p-text:#101828;
  --s4p-muted:#667085;
  --s4p-line:rgba(16,24,40,.10);
  --s4p-shadow:0 18px 48px rgba(16,24,40,.10);
}

body{
  background:var(--s4p-bg)!important;
  color:var(--s4p-text)!important;
}

/* alles alte Mobile-Zeug endgültig killen */
.s4p-mobile-menu-toggle,
.s4p-bottom-nav,
.s4p-drawer,
.s4p-drawer__panel,
.s4p-bottom-menu{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Produktkarten Desktop */
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;
  gap:24px!important;
}

.woocommerce ul.products li.product{
  background:#fff!important;
  border:1px solid var(--s4p-line)!important;
  border-radius:26px!important;
  box-shadow:var(--s4p-shadow)!important;
  overflow:hidden!important;
  padding:0 0 18px!important;
  transition:.18s ease!important;
}

.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);
}

.woocommerce ul.products li.product img{
  height:280px!important;
  object-fit:contain!important;
  background:linear-gradient(180deg,#f8fafc,#eef4fb)!important;
  padding:24px!important;
  margin:0!important;
}

.woocommerce-loop-product__title{
  font-size:18px!important;
  line-height:1.25!important;
  padding:16px 18px 4px!important;
  min-height:70px!important;
}

.woocommerce ul.products li.product .price{
  padding:0 18px!important;
  font-size:20px!important;
  color:var(--s4p-blue)!important;
  font-weight:900!important;
}

.woocommerce ul.products li.product .button{
  margin:14px 18px 0!important;
  width:calc(100% - 36px)!important;
  min-height:46px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,var(--s4p-blue),var(--s4p-blue2))!important;
  color:#fff!important;
  font-weight:900!important;
}

/* Kategorie-Kopf */
.s4p-cat-hero{
  margin:0 0 24px!important;
  padding:30px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 85% 10%, rgba(19,148,255,.45), transparent 34%),
    linear-gradient(135deg,#071b31,#075faf)!important;
  color:#fff!important;
  box-shadow:0 24px 70px rgba(7,27,49,.25)!important;
}

.s4p-cat-hero span{
  display:inline-flex!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.15)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.s4p-cat-hero h1{
  color:#fff!important;
  font-size:42px!important;
  line-height:1!important;
  margin:14px 0 8px!important;
}

.s4p-cat-hero p{
  color:rgba(255,255,255,.86)!important;
  margin:0!important;
}

.s4p-cat-hero strong{
  display:inline-flex!important;
  margin-top:16px!important;
  padding:12px 16px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--s4p-blue)!important;
  font-weight:900!important;
}

/* MOBILE */
@media(max-width:768px){

  html,body{
    overflow-x:hidden!important;
    max-width:100%!important;
  }

  body{
    background:#f4f7fb!important;
    padding-bottom:0!important;
  }

  .topbar,
  .header__trust,
  .header__actions{
    display:none!important;
  }

  .site-header,
  .header{
    background:
      radial-gradient(circle at 95% 10%, rgba(34,151,255,.28), transparent 32%),
      linear-gradient(135deg,#071b31,#102d50)!important;
    border-radius:0 0 28px 28px!important;
    box-shadow:none!important;
    padding-bottom:16px!important;
  }

  .header__inner{
    display:block!important;
    padding:20px 16px 0!important;
  }

  .brand{
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    margin-bottom:16px!important;
  }

  .brand__mark{
    width:54px!important;
    height:54px!important;
    border-radius:17px!important;
  }

  .brand__title{
    font-size:30px!important;
    line-height:.95!important;
    letter-spacing:-.8px!important;
  }

  .brand__subtitle{
    font-size:12px!important;
    letter-spacing:2px!important;
    opacity:.78!important;
  }

  .header__search{
    width:100%!important;
    margin:0!important;
  }

  .search-form{
    display:flex!important;
    width:100%!important;
    border-radius:20px!important;
    background:#fff!important;
    padding:7px!important;
    box-shadow:0 14px 32px rgba(0,0,0,.18)!important;
  }

  .search-form input{
    min-width:0!important;
    min-height:46px!important;
    font-size:15px!important;
    border:0!important;
    padding:0 12px!important;
  }

  .search-form button{
    min-height:46px!important;
    border-radius:15px!important;
    padding:0 17px!important;
    font-size:16px!important;
    font-weight:900!important;
    background:linear-gradient(135deg,#126fe0,#25a7ff)!important;
    color:#fff!important;
  }

  /* Mobile Menü: normale horizontale Chips, kein Hover/Drawer */
  .navbar{
    display:block!important;
    position:relative!important;
    top:auto!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    padding:10px 12px 14px!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .navbar__links{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
  }

  .navbar__links > li{
    position:static!important;
  }

  .navbar__links > li > a{
    display:inline-flex!important;
    min-height:40px!important;
    align-items:center!important;
    border-radius:999px!important;
    padding:0 14px!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:850!important;
  }

  .mega-menu,
  .has-mega:hover .mega-menu,
  .has-mega:focus-within .mega-menu{
    display:none!important;
  }

  .hero-main{
    margin:18px 14px 22px!important;
    padding:26px 20px!important;
    min-height:0!important;
    border-radius:26px!important;
    background:
      radial-gradient(circle at 100% 0%, rgba(37,167,255,.32), transparent 35%),
      linear-gradient(135deg,#071b31,#064f90)!important;
    box-shadow:0 18px 44px rgba(7,27,49,.20)!important;
  }

  .hero-main h1{
    font-size:33px!important;
    line-height:1.04!important;
    letter-spacing:-1px!important;
  }

  .hero-main p{
    font-size:16px!important;
    line-height:1.48!important;
  }

  .hero-actions,
  .hero-badges{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .s4p-cat-hero{
    margin:16px 14px!important;
    padding:22px 20px!important;
    border-radius:24px!important;
  }

  .s4p-cat-hero h1{
    font-size:32px!important;
  }

  .woocommerce-result-count,
  .woocommerce-ordering{
    margin-left:14px!important;
    margin-right:14px!important;
    width:calc(100% - 28px)!important;
  }

  .woocommerce-ordering select{
    width:100%!important;
    height:46px!important;
    border-radius:16px!important;
    border:1px solid var(--s4p-line)!important;
    background:#fff!important;
    padding:0 14px!important;
  }

  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    padding:0 14px!important;
    margin-top:14px!important;
  }

  .woocommerce ul.products li.product{
    border-radius:20px!important;
    box-shadow:0 10px 26px rgba(16,24,40,.08)!important;
    padding-bottom:12px!important;
  }

  .woocommerce ul.products li.product img{
    height:155px!important;
    padding:12px!important;
  }

  .woocommerce-loop-product__title{
    font-size:14px!important;
    line-height:1.25!important;
    min-height:54px!important;
    padding:11px 12px 2px!important;
  }

  .woocommerce ul.products li.product .price{
    font-size:16px!important;
    padding:0 12px!important;
  }

  .woocommerce ul.products li.product .button{
    display:none!important;
  }
}

/* S4P Premium Homepage */
.s4p-home-premium{
  max-width:1280px;
  margin:0 auto;
  padding:34px 22px 70px;
}

.s4p-hero-premium{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:26px;
  min-height:560px;
  padding:46px;
  border-radius:42px;
  background:
    radial-gradient(circle at 88% 18%, rgba(37,167,255,.38), transparent 32%),
    radial-gradient(circle at 22% 86%, rgba(255,213,79,.16), transparent 28%),
    linear-gradient(135deg,#061a2f,#083f73 52%,#0b73d9);
  color:#fff;
  box-shadow:0 34px 90px rgba(7,27,49,.28);
  overflow:hidden;
  position:relative;
}

.s4p-hero-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:34px 34px;
  opacity:.22;
}

.s4p-hero-premium__content,
.s4p-hero-premium__panel{
  position:relative;
  z-index:1;
}

.s4p-kicker{
  display:inline-flex;
  padding:11px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.16);
  font-weight:900;
  margin-bottom:28px;
}

.s4p-hero-premium h1{
  max-width:820px;
  margin:0;
  font-size:72px;
  line-height:.95;
  letter-spacing:-3px;
  color:#fff;
}

.s4p-hero-premium p{
  max-width:680px;
  margin:28px 0 0;
  font-size:22px;
  line-height:1.45;
  color:rgba(255,255,255,.86);
}

.s4p-hero-actions{
  display:flex;
  gap:14px;
  margin-top:34px;
  flex-wrap:wrap;
}

.s4p-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 24px;
  border-radius:18px;
  font-weight:950;
  text-decoration:none;
  transition:.18s ease;
}

.s4p-btn:hover{
  transform:translateY(-2px);
}

.s4p-btn--primary{
  background:#fff;
  color:#07365f;
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}

.s4p-btn--ghost{
  background:rgba(255,255,255,.10);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}

.s4p-trust-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:34px;
}

.s4p-trust-row span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-weight:850;
}

.s4p-hero-premium__panel{
  align-self:end;
  display:grid;
  gap:14px;
}

.s4p-quick-card{
  display:block;
  padding:20px;
  border-radius:24px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(18px);
  color:#fff;
  text-decoration:none;
}

.s4p-quick-card strong{
  display:block;
  font-size:22px;
  color:#fff;
}

.s4p-quick-card span{
  display:block;
  color:rgba(255,255,255,.78);
  font-weight:800;
  margin-top:4px;
}

.s4p-quick-card--big{
  background:rgba(255,255,255,.18);
}

.s4p-section-head{
  margin:58px 0 22px;
}

.s4p-section-head span,
.s4p-brand-strip span{
  display:block;
  color:#64748b;
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:950;
  margin-bottom:8px;
}

.s4p-section-head h2,
.s4p-brand-strip h2{
  margin:0;
  font-size:42px;
  line-height:1.05;
  letter-spacing:-1.2px;
  color:#0f172a;
}

.s4p-section-head p,
.s4p-brand-strip p{
  margin:10px 0 0;
  color:#64748b;
  font-size:18px;
}

.s4p-category-grid-premium{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:18px;
}

.s4p-category-tile{
  min-height:230px;
  padding:26px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(15,23,42,.08);
  text-decoration:none;
  color:#0f172a;
  transition:.18s ease;
  position:relative;
  overflow:hidden;
}

.s4p-category-tile:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 70px rgba(15,23,42,.13);
}

.s4p-category-tile::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-55px;
  bottom:-65px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(11,93,169,.13),rgba(37,167,255,.28));
}

.s4p-category-tile--large{
  grid-row:span 2;
  min-height:478px;
  background:
    radial-gradient(circle at 90% 12%, rgba(37,167,255,.25), transparent 35%),
    linear-gradient(135deg,#081b30,#0b5da9);
  color:#fff;
}

.s4p-category-tile span{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#eef4fb;
  color:#0b5da9;
  font-weight:950;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.s4p-category-tile--large span{
  background:rgba(255,255,255,.14);
  color:#fff;
}

.s4p-category-tile h3{
  margin:18px 0 10px;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.7px;
  color:inherit;
}

.s4p-category-tile p{
  margin:0;
  color:inherit;
  opacity:.72;
  font-size:17px;
  line-height:1.45;
}

.s4p-mini-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.s4p-mini-grid a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:74px;
  padding:0 20px;
  border-radius:22px;
  background:#fff;
  color:#0f172a;
  text-decoration:none;
  font-weight:950;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 32px rgba(15,23,42,.06);
}

.s4p-mini-grid a::after{
  content:"→";
  color:#0b5da9;
}

.s4p-brand-strip{
  margin-top:58px;
  padding:34px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(15,23,42,.08);
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
}

.s4p-brand-strip .s4p-btn--primary{
  background:linear-gradient(135deg,#0b5da9,#25a7ff);
  color:#fff;
}

@media(max-width:900px){
  .s4p-home-premium{
    padding:18px 14px 48px;
  }

  .s4p-hero-premium{
    grid-template-columns:1fr;
    min-height:0;
    padding:30px 22px;
    border-radius:30px;
  }

  .s4p-hero-premium h1{
    font-size:42px;
    line-height:1.02;
    letter-spacing:-1.5px;
  }

  .s4p-hero-premium p{
    font-size:17px;
  }

  .s4p-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .s4p-trust-row{
    display:grid;
    grid-template-columns:1fr;
  }

  .s4p-category-grid-premium{
    grid-template-columns:1fr;
  }

  .s4p-category-tile,
  .s4p-category-tile--large{
    min-height:210px;
    grid-row:auto;
  }

  .s4p-section-head h2,
  .s4p-brand-strip h2{
    font-size:30px;
  }

  .s4p-mini-grid{
    grid-template-columns:1fr;
  }

  .s4p-brand-strip{
    display:block;
    padding:26px;
  }

  .s4p-brand-strip .s4p-btn{
    margin-top:18px;
    width:100%;
  }
}

/* ULTIMATE HOME OVERRIDE */
.s4p-ultimate-home{
  max-width:1320px;
  margin:0 auto;
  padding:38px 24px 80px;
}

.s4p-ultimate-hero{
  display:grid;
  grid-template-columns:1fr 520px;
  gap:34px;
  align-items:stretch;
  min-height:620px;
}

.s4p-ultimate-hero__text{
  padding:58px;
  border-radius:42px;
  background:
    radial-gradient(circle at 80% 20%, rgba(35,148,255,.25), transparent 34%),
    linear-gradient(135deg,#07101f,#082d52 48%,#0b5da9);
  color:#fff;
  box-shadow:0 34px 90px rgba(7,27,49,.25);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.s4p-label{
  width:max-content;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}

.s4p-ultimate-hero h1{
  margin:26px 0 0;
  max-width:780px;
  color:#fff;
  font-size:76px;
  line-height:.94;
  letter-spacing:-3px;
}

.s4p-ultimate-hero p{
  margin:28px 0 0;
  max-width:680px;
  color:rgba(255,255,255,.82);
  font-size:22px;
  line-height:1.45;
}

.s4p-ultimate-actions{
  display:flex;
  gap:14px;
  margin-top:38px;
}

.s4p-ultimate-actions a{
  min-height:56px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:#fff;
  color:#071b31;
  font-weight:950;
  text-decoration:none;
}

.s4p-ultimate-actions a+ a{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

.s4p-hero-products{
  display:grid;
  grid-template-rows:repeat(3,1fr);
  gap:18px;
}

.s4p-hero-products a{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:20px;
  align-items:center;
  padding:20px;
  border-radius:34px;
  background:#fff;
  box-shadow:0 18px 50px rgba(15,23,42,.10);
  text-decoration:none;
  color:#0f172a;
}

.s4p-hero-products img{
  width:170px;
  height:150px;
  object-fit:contain;
  background:#f6f9fc;
  border-radius:24px;
  padding:14px;
}

.s4p-hero-products strong{
  display:block;
  font-size:28px;
  line-height:1.05;
}

.s4p-hero-products span{
  display:block;
  margin-top:8px;
  color:#0b5da9;
  font-weight:900;
}

.s4p-shop-worlds{
  margin-top:34px;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:18px;
}

.world{
  min-height:250px;
  padding:30px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(15,23,42,.08);
  color:#0f172a;
  text-decoration:none;
  position:relative;
  overflow:hidden;
}

.world::after{
  content:"";
  position:absolute;
  right:-50px;
  bottom:-70px;
  width:220px;
  height:220px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(11,93,169,.12),rgba(37,167,255,.24));
}

.world-large{
  grid-row:span 2;
  min-height:520px;
  background:
    radial-gradient(circle at 90% 20%, rgba(37,167,255,.24), transparent 35%),
    linear-gradient(135deg,#081b30,#0b5da9);
  color:#fff;
}

.world span{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
  color:#0b5da9;
}

.world-large span{color:#fff;}

.world h2{
  margin:18px 0 0;
  max-width:420px;
  color:inherit;
  font-size:36px;
  line-height:1.05;
  letter-spacing:-1px;
}

.world p{
  margin-top:14px;
  max-width:440px;
  color:inherit;
  opacity:.75;
  font-size:18px;
}

.s4p-home-title{
  margin:64px 0 20px;
}

.s4p-home-title span{
  color:#64748b;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
}

.s4p-home-title h2{
  margin:8px 0 0;
  font-size:44px;
  line-height:1;
  letter-spacing:-1.5px;
}

.s4p-link-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.s4p-link-grid a{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 22px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 34px rgba(15,23,42,.06);
  color:#0f172a;
  text-decoration:none;
  font-weight:950;
}

.s4p-link-grid a::after{
  content:"→";
  color:#0b5da9;
}

@media(max-width:900px){
  .s4p-ultimate-home{
    padding:20px 14px 50px;
  }

  .s4p-ultimate-hero{
    grid-template-columns:1fr;
    min-height:0;
  }

  .s4p-ultimate-hero__text{
    padding:30px 22px;
    border-radius:30px;
  }

  .s4p-ultimate-hero h1{
    font-size:42px;
    letter-spacing:-1.4px;
    line-height:1;
  }

  .s4p-ultimate-hero p{
    font-size:17px;
  }

  .s4p-ultimate-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .s4p-hero-products{
    grid-template-rows:none;
  }

  .s4p-hero-products a{
    grid-template-columns:120px 1fr;
    border-radius:26px;
  }

  .s4p-hero-products img{
    width:120px;
    height:110px;
  }

  .s4p-hero-products strong{
    font-size:22px;
  }

  .s4p-shop-worlds,
  .s4p-link-grid{
    grid-template-columns:1fr;
  }

  .world,
  .world-large{
    min-height:220px;
    grid-row:auto;
  }

  .world h2,
  .s4p-home-title h2{
    font-size:30px;
  }
}
