
/* Traumstation Mega Menü NEU 1.0.0
   Komplett neu – keine Alt-Regeln.
*/

.tsmm-neu-root{
  position:relative;
  z-index:99990;
  font-family:Arial,Helvetica,sans-serif;
}

.tsmm-neu-root *{box-sizing:border-box}

.tsmm-neu-container{
  width:min(1140px,calc(100% - 48px));
  margin:0 auto;
}

.tsmm-neu-utility{
  height:38px;
  display:flex;
  align-items:center;
  background:#155f75;
  color:#fff;
  font-size:12px;
}

.tsmm-neu-utility .tsmm-neu-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.tsmm-neu-utility-right{
  display:flex;
  align-items:center;
  gap:34px;
}

.tsmm-neu-header{
  position:relative;
  background:#050505;
  color:#fff;
}

.tsmm-neu-mainrow{
  min-height:74px;
  display:flex;
  align-items:center;
  gap:24px;
}

.tsmm-neu-brand{
  display:flex;
  align-items:center;
  flex:0 0 190px;
  text-decoration:none;
  color:#fff;
}

.tsmm-neu-brand img{
  display:block;
  max-width:185px;
  max-height:60px;
  object-fit:contain;
}

.tsmm-neu-brand span{
  font-size:16px;
  font-weight:700;
  letter-spacing:.05em;
}

.tsmm-neu-desktop-nav{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:2px;
  margin-left:auto;
}

.tsmm-neu-desktop-nav>a,
.tsmm-neu-topbtn{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:74px;
  padding:0 13px;
  border:0;
  background:transparent;
  color:#fff;
  font:600 13px/1 Arial,Helvetica,sans-serif;
  text-decoration:none;
  cursor:pointer;
}

.tsmm-neu-desktop-nav>a:hover,
.tsmm-neu-topbtn:hover,
.tsmm-neu-topbtn.is-active{
  color:#d7edf4;
}

.tsmm-neu-topbtn.is-active::after{
  content:"";
  position:absolute;
  bottom:10px;
  width:11px;
  height:2px;
  background:#fff;
}

.tsmm-neu-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 17px;
  margin-left:12px;
  border:1px solid #8e8e8e;
  color:#fff;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}

.tsmm-neu-burger{display:none}

.tsmm-neu-mega{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:100010;
  pointer-events:none;
}

.tsmm-neu-mega.is-open{
  display:block;
  pointer-events:auto;
}

.tsmm-neu-mega-inner{
  width:min(1120px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:.85fr 1fr 1.1fr 2.1fr 1.15fr;
  gap:24px;
  min-height:350px;
  max-height:440px;
  overflow:auto;
  padding:25px 26px 28px;
  background:#040404;
  border:1px solid #1c1c1c;
  border-radius:0 0 7px 7px;
  box-shadow:0 20px 45px rgba(0,0,0,.42);
}

.tsmm-neu-col{
  min-width:0;
}

.tsmm-neu-col a{
  display:block;
  padding:5px 0;
  color:#fff;
  font-size:12px;
  line-height:1.25;
  text-decoration:none;
}

.tsmm-neu-col a:hover{
  text-decoration:underline;
}

.tsmm-neu-heading{
  margin:4px 0 14px;
  color:#fff;
  font-size:13px;
  font-weight:800;
}

.tsmm-neu-kicker{
  margin-top:23px;
  color:#809099;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

.tsmm-neu-all{
  padding-bottom:18px!important;
  margin-bottom:18px;
  border-bottom:1px solid #262626;
  font-weight:700;
}

.tsmm-neu-discover strong{
  display:block;
  font-size:12px;
}

.tsmm-neu-discover small{
  display:block;
  margin-top:2px;
  color:#8c989e;
  font-size:9px;
}

.tsmm-neu-advice-title{
  margin-top:20px;
}

.tsmm-neu-model-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 20px;
}

.tsmm-neu-model{
  padding:5px 0!important;
}

.tsmm-neu-feature{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  align-self:start;
  min-height:215px;
  background:#151515;
  border:1px solid #252525;
  border-radius:6px;
  color:#fff;
  text-decoration:none;
}

.tsmm-neu-feature-imgwrap{
  height:145px;
  overflow:hidden;
}

.tsmm-neu-feature-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.tsmm-neu-feature-placeholder{
  width:100%;
  height:100%;
  background:#171717;
}

.tsmm-neu-feature-copy{
  padding:11px 12px 13px;
  text-align:center;
}

.tsmm-neu-feature-copy small{
  display:block;
  color:#7f919a;
  font-size:8px;
  letter-spacing:.08em;
}

.tsmm-neu-feature-copy strong{
  display:block;
  margin-top:4px;
  font-size:14px;
}

.tsmm-neu-feature-copy span{
  display:block;
  margin-top:5px;
  font-size:10px;
}

.tsmm-neu-mobile-backdrop,
.tsmm-neu-mobile-drawer{
  display:none;
}

@media(max-width:980px){
  .tsmm-neu-utility{display:none}

  .tsmm-neu-container{
    width:100%;
    padding:0 18px;
  }

  .tsmm-neu-mainrow{
    min-height:72px;
    gap:12px;
  }

  .tsmm-neu-brand{
    flex:0 1 auto;
    max-width:115px;
  }

  .tsmm-neu-brand img{
    max-width:115px;
    max-height:48px;
  }

  .tsmm-neu-desktop-nav{display:none}

  .tsmm-neu-cta{
    margin-left:auto;
    min-height:40px;
    padding:0 14px;
    font-size:12px;
  }

  .tsmm-neu-burger{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:48px;
    height:48px;
    flex:0 0 48px;
    margin-left:4px;
    border:1px solid #343434;
    background:#050505;
    cursor:pointer;
    position:relative;
    z-index:100030;
  }

  .tsmm-neu-burger span{
    display:block;
    width:22px;
    height:2px;
    background:#fff;
    transition:.2s ease;
  }

  .tsmm-neu-burger.is-open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .tsmm-neu-burger.is-open span:nth-child(2){
    opacity:0;
  }
  .tsmm-neu-burger.is-open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  .tsmm-neu-mega{display:none!important}

  .tsmm-neu-mobile-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:100020;
    background:rgba(0,0,0,.58);
    opacity:0;
    visibility:hidden;
    transition:.22s ease;
  }

  .tsmm-neu-mobile-backdrop.is-open{
    opacity:1;
    visibility:visible;
  }

  .tsmm-neu-mobile-drawer{
    display:block;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:100025;
    width:min(88vw,390px);
    max-width:390px;
    overflow-y:auto;
    padding:0 24px 28px;
    background:#050505;
    color:#fff;
    transform:translateX(105%);
    transition:transform .24s ease;
    box-shadow:-16px 0 40px rgba(0,0,0,.35);
  }

  .tsmm-neu-mobile-drawer.is-open{
    transform:translateX(0);
  }

  .tsmm-neu-mobile-head{
    min-height:84px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid #202020;
  }

  .tsmm-neu-mobile-head strong{
    font-size:20px;
  }

  .tsmm-neu-close{
    width:44px;
    height:44px;
    border:1px solid #343434;
    background:#050505;
    color:#fff;
    font-size:30px;
    line-height:1;
    cursor:pointer;
  }

  .tsmm-neu-mobile-link,
  .tsmm-neu-mobile-trigger{
    width:100%;
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 4px;
    border:0;
    border-bottom:1px solid #202020;
    background:transparent;
    color:#fff;
    font:600 20px/1.2 Arial,Helvetica,sans-serif;
    text-decoration:none;
    text-align:left;
  }

  .tsmm-neu-mobile-trigger{
    cursor:pointer;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }

  .tsmm-neu-mobile-symbol{
    flex:0 0 26px;
    font-size:25px;
    font-weight:300;
    text-align:center;
  }

  .tsmm-neu-mobile-panel[hidden]{
    display:none!important;
  }

  .tsmm-neu-mobile-panel{
    padding:0 0 14px 12px;
    background:#090909;
  }

  .tsmm-neu-mobile-panel a{
    display:block;
    padding:12px 6px;
    border-bottom:1px solid #1b1b1b;
    color:#e9e9e9;
    font-size:15px;
    line-height:1.25;
    text-decoration:none;
  }

  .tsmm-neu-mobile-all{
    font-weight:700;
  }

  .tsmm-neu-mobile-title{
    padding:18px 6px 7px;
    color:#78878e;
    font-size:11px;
    font-weight:800;
    letter-spacing:.1em;
  }

  .tsmm-neu-mobile-cta{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:58px;
    margin-top:28px;
    padding:0 18px;
    background:#12647d;
    color:#fff;
    font-size:17px;
    font-weight:700;
    text-decoration:none;
  }

  body.tsmm-neu-lock{
    overflow:hidden!important;
  }
}


/* =========================================================
   v1.0.4 – etwas größere Menüschrift
   Nur Typografie, keine Änderung der Menütechnik.
   ========================================================= */
@media (min-width:981px){
  .tsmm-neu-desktop-nav>a,
  .tsmm-neu-topbtn{
    font-size:15px;
  }

  .tsmm-neu-col a{
    font-size:14px;
    line-height:1.35;
  }

  .tsmm-neu-heading{
    font-size:15px;
  }

  .tsmm-neu-kicker{
    font-size:11px;
  }

  .tsmm-neu-discover strong{
    font-size:14px;
  }

  .tsmm-neu-discover small{
    font-size:10px;
  }

  .tsmm-neu-feature-copy strong{
    font-size:15px;
  }

  .tsmm-neu-feature-copy span{
    font-size:11px;
  }
}

@media (max-width:980px){
  .tsmm-neu-mobile-link,
  .tsmm-neu-mobile-trigger{
    font-size:21px;
  }

  .tsmm-neu-mobile-panel a{
    font-size:16px;
  }

  .tsmm-neu-mobile-title{
    font-size:12px;
  }
}


/* =========================================================
   v1.0.5 – Whirlpool-Struktur wie Platinum-Aufteilung
   ========================================================= */
@media(min-width:981px){
  .tsmm-neu-mega-hot .tsmm-neu-mega-inner{
    grid-template-columns:1.15fr 1.15fr 1.15fr 2.6fr 1.15fr;
  }

  .tsmm-neu-mega-hot .tsmm-neu-heading{
    margin-bottom:15px;
  }

  .tsmm-neu-mega-hot .tsmm-neu-col>a{
    padding:7px 0;
  }
}

/* v1.0.6 */
@media(min-width:981px){
 .tsmm-neu-mega-more .tsmm-neu-mega-inner.tsmm-neu-more-inner{grid-template-columns:minmax(280px,400px);justify-content:end}
 .tsmm-neu-mega-more .tsmm-neu-col a{padding:8px 0}
}


/* =========================================================
   v1.0.7 – Mehr funktioniert auf Desktop und Handy
   ========================================================= */
@media(min-width:981px){
  .tsmm-neu-mega-more .tsmm-neu-mega-inner.tsmm-neu-more-inner{
    grid-template-columns:minmax(300px,420px)!important;
    justify-content:end!important;
    min-height:auto!important;
    max-height:none!important;
  }

  .tsmm-neu-mega-more .tsmm-neu-col a{
    padding:9px 0!important;
    font-size:14px!important;
  }
}

@media(min-width:981px){
 .tsmm-neu-mega-more .tsmm-neu-mega-inner.tsmm-neu-more-inner{grid-template-columns:minmax(330px,.75fr) minmax(560px,1.65fr)!important;gap:38px!important;align-items:stretch}
 .tsmm-neu-more-card{min-height:330px;border-radius:10px;background-size:cover;background-position:center;position:relative;overflow:hidden;display:flex!important;align-items:flex-end;text-decoration:none!important}
 .tsmm-neu-more-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.03) 65%)}
 .tsmm-neu-more-card>span{position:relative;z-index:1;padding:28px 32px;display:flex;flex-direction:column;gap:8px;color:#fff}
 .tsmm-neu-more-card strong{font-size:22px;color:#fff}.tsmm-neu-more-card small{font-size:14px;color:#fff}
}
