/* NAHWERK production website logos — centralized to avoid per-page markup drift. */
.top .brand,
.home-reference .top .brand{
  display:block!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  flex:0 0 46px!important;
  background:transparent center/contain no-repeat url("logos/stewaro-icon.svg")!important;
}

.top .brand .mark,
.top .brand .brandtext,
.home-reference .top .brand .mark,
.home-reference .top .brand .brandtext{
  display:none!important;
}

.footer .brand{
  display:block!important;
  width:clamp(175px,16vw,220px)!important;
  height:52px!important;
  min-width:0!important;
  margin:0 0 10px!important;
  background:none!important;
}

.footer .brand .mark,
.footer .brand .brandtext{
  display:none!important;
}

.senior-product .footer{
  background:#020202!important;
  border-top-color:#262626!important;
}

@media(max-width:620px){
  .top .brand,
  .home-reference .top .brand{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex-basis:42px!important;
  }
  .footer .brand{
    width:185px!important;
    height:46px!important;
  }
}

/*
 * ANMELDEN — one canonical composition.
 * Prime and Senioren share the exact same geometry; only theme + portrait differ.
 */
@media (min-width:901px){
  html body.login-image-page main{
    position:relative!important;
    isolation:isolate!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:clamp(34px,4.8vw,72px)!important;
    row-gap:clamp(14px,2vh,22px)!important;
    align-content:center!important;
    min-height:calc(100svh - 78px)!important;
    box-sizing:border-box!important;
    padding:clamp(24px,3.6vh,40px) max(20px,calc((100vw - 1240px)/2))!important;
    overflow:hidden!important;
  }

  html body.login-image-page:not(.senior-product):not([data-product="senioren"]) main{
    background:
      radial-gradient(720px 520px at 88% 20%,rgba(38,76,155,.16),transparent 66%),
      radial-gradient(620px 460px at 4% 78%,rgba(90,20,28,.06),transparent 72%),
      linear-gradient(180deg,#05080d 0%,#08111c 52%,#05080c 100%)!important;
  }

  html body.login-image-page.senior-product main,
  html body.login-image-page[data-product="senioren"] main{
    background:
      radial-gradient(720px 520px at 88% 20%,rgba(193,151,67,.16),transparent 66%),
      radial-gradient(620px 460px at 4% 78%,rgba(255,255,255,.58),transparent 72%),
      linear-gradient(180deg,#fbf8f1 0%,#f4eee2 54%,#eee4d2 100%)!important;
  }

  html body.login-image-page main::after{
    content:""!important;
    display:block!important;
    grid-column:2!important;
    grid-row:1 / span 2!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    min-height:min(600px,calc(100svh - 126px))!important;
    max-height:640px!important;
    border-radius:28px!important;
    overflow:hidden!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
  }

  html body.login-image-page:not(.senior-product):not([data-product="senioren"]) main::after{
    border:1px solid rgba(212,175,55,.30)!important;
    background-color:#05070b!important;
    background-image:none!important;
    background-position:center 18%!important;
    box-shadow:0 30px 80px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.025)!important;
  }

  html body.login-image-page.senior-product main::after,
  html body.login-image-page[data-product="senioren"] main::after{
    border:1px solid rgba(151,115,43,.22)!important;
    background-color:#e8dfd2!important;
    background-image:url("lifestyle/senior-woman-overview.webp")!important;
    background-position:55% 50%!important;
    box-shadow:0 30px 80px rgba(69,50,20,.16),inset 0 1px 0 rgba(255,255,255,.52)!important;
  }

  html body.login-image-page main > .hero{
    grid-column:1!important;
    grid-row:1!important;
    min-height:0!important;
    padding:0!important;
    display:block!important;
    align-self:end!important;
    background:transparent!important;
    border:0!important;
    overflow:visible!important;
  }

  html body.login-image-page main > .hero::after,
  html body.login-image-page main > .hero::before{
    display:none!important;
    content:none!important;
  }

  html body.login-image-page main > .hero > .wrap,
  html body.login-image-page main > .section > .wrap{
    width:100%!important;
    max-width:590px!important;
    margin:0!important;
    padding:0!important;
  }

  html body.login-image-page main > .hero .eyebrow,
  html body.login-image-page main > .hero h1,
  html body.login-image-page main > .hero p{
    width:auto!important;
    max-width:590px!important;
  }

  html body.login-image-page main > .hero h1{
    margin:8px 0 12px!important;
    font-size:clamp(2.7rem,4vw,4.35rem)!important;
    line-height:1.01!important;
    letter-spacing:-.048em!important;
  }

  html body.login-image-page:not(.senior-product):not([data-product="senioren"]) main > .hero h1{
    color:#fff!important;
  }
  html body.login-image-page.senior-product main > .hero h1,
  html body.login-image-page[data-product="senioren"] main > .hero h1{
    color:#1b1915!important;
    text-shadow:none!important;
  }

  html body.login-image-page main > .hero p{
    margin:0!important;
    font-size:clamp(1rem,1.25vw,1.12rem)!important;
    line-height:1.52!important;
  }
  html body.login-image-page:not(.senior-product):not([data-product="senioren"]) main > .hero p{
    color:#c9c9c5!important;
  }
  html body.login-image-page.senior-product main > .hero p,
  html body.login-image-page[data-product="senioren"] main > .hero p{
    color:#655f55!important;
  }

  html body.login-image-page main > .section{
    grid-column:1!important;
    grid-row:2!important;
    align-self:start!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    content-visibility:visible!important;
    contain-intrinsic-size:auto!important;
  }

  html body.login-image-page .loginwrap{
    width:100%!important;
    max-width:590px!important;
    margin:0!important;
    padding:0!important;
  }

  html body.login-image-page .logincard{
    width:100%!important;
    max-width:590px!important;
    margin:0!important;
    padding:clamp(21px,2.2vw,27px)!important;
    border-radius:20px!important;
  }

  html body.login-image-page:not(.senior-product):not([data-product="senioren"]) .logincard{
    border-color:rgba(212,175,55,.18)!important;
    background:
      radial-gradient(circle at 100% 0%,rgba(34,72,144,.12),transparent 42%),
      radial-gradient(circle at 0% 100%,rgba(110,26,32,.035),transparent 52%),
      linear-gradient(145deg,#0b1119,#080d14)!important;
    box-shadow:0 22px 58px rgba(0,0,0,.33),inset 0 1px 0 rgba(255,255,255,.025)!important;
  }

  html body.login-image-page.senior-product .logincard,
  html body.login-image-page[data-product="senioren"] .logincard{
    border:1px solid rgba(112,87,39,.16)!important;
    background:rgba(255,255,255,.86)!important;
    box-shadow:0 22px 58px rgba(65,49,22,.11),inset 0 1px 0 rgba(255,255,255,.9)!important;
    color:#1f1c17!important;
  }

  html body.login-image-page .logincard > h2{
    margin:0 0 16px!important;
    font-size:27px!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
  }
  html body.login-image-page.senior-product .logincard > h2,
  html body.login-image-page[data-product="senioren"] .logincard > h2{
    color:#1b1915!important;
  }

  html body.login-image-page .logincard .field{
    margin-bottom:13px!important;
  }
  html body.login-image-page .logincard .field label{
    display:block!important;
    margin-bottom:6px!important;
    font-size:13px!important;
    line-height:1.35!important;
  }
  html body.login-image-page.senior-product .logincard .field label,
  html body.login-image-page[data-product="senioren"] .logincard .field label{
    color:#29251f!important;
  }

  html body.login-image-page .logincard .field input{
    min-height:48px!important;
    box-sizing:border-box!important;
    padding-top:11px!important;
    padding-bottom:11px!important;
  }
  html body.login-image-page.senior-product .logincard .field input,
  html body.login-image-page[data-product="senioren"] .logincard .field input{
    border:1px solid rgba(90,72,40,.20)!important;
    background:#fff!important;
    color:#1f1c17!important;
  }

  html body.login-image-page #loginSubmit{
    width:100%!important;
    min-height:48px!important;
    margin-top:1px!important;
  }
  html body.login-image-page.senior-product #loginSubmit,
  html body.login-image-page[data-product="senioren"] #loginSubmit{
    background:linear-gradient(135deg,#e2c071,#c99d43)!important;
    border-color:rgba(132,96,30,.25)!important;
    color:#1d1810!important;
  }

  html body.login-image-page .logincard .split{
    margin-top:12px!important;
    gap:8px 14px!important;
  }
  html body.login-image-page.senior-product .logincard .split .tiny,
  html body.login-image-page[data-product="senioren"] .logincard .split .tiny{
    color:#6f675b!important;
  }

  /* If locale-boot already composed the senior login, keep the same visual geometry. */
  html body.login-image-page.senior-product.nw-senior-login-composed main > .hero,
  html body.login-image-page[data-product="senioren"].nw-senior-login-composed main > .hero{
    grid-row:1 / span 2!important;
    align-self:center!important;
  }
  html body.login-image-page.senior-product.nw-senior-login-composed .nw-senior-login-copy,
  html body.login-image-page[data-product="senioren"].nw-senior-login-composed .nw-senior-login-copy{
    width:100%!important;
    max-width:590px!important;
  }
  html body.login-image-page.senior-product.nw-senior-login-composed .nw-senior-login-copy .logincard,
  html body.login-image-page[data-product="senioren"].nw-senior-login-composed .nw-senior-login-copy .logincard{
    margin-top:clamp(14px,2vh,22px)!important;
  }
  html body.login-image-page.senior-product.nw-senior-login-composed .nw-senior-login-portrait,
  html body.login-image-page[data-product="senioren"].nw-senior-login-composed .nw-senior-login-portrait{
    display:none!important;
  }

  @media (max-height:800px){
    html body.login-image-page main{
      padding-top:20px!important;
      padding-bottom:20px!important;
      row-gap:12px!important;
    }
    html body.login-image-page main::after{
      min-height:calc(100svh - 118px)!important;
      max-height:610px!important;
    }
    html body.login-image-page main > .hero h1{
      font-size:clamp(2.55rem,3.7vw,3.55rem)!important;
      margin-top:6px!important;
      margin-bottom:9px!important;
    }
    html body.login-image-page main > .hero p{
      font-size:1rem!important;
      line-height:1.45!important;
    }
    html body.login-image-page .logincard{
      padding:20px 22px!important;
    }
    html body.login-image-page .logincard > h2{
      margin-bottom:13px!important;
      font-size:25px!important;
    }
    html body.login-image-page .logincard .field{
      margin-bottom:11px!important;
    }
  }
}

/* Mobile/tablet: same order as Prime — copy, portrait, login. */
@media (max-width:900px){
  html body.login-image-page main{
    display:block!important;
    overflow-x:hidden!important;
  }
  html body.login-image-page:not(.senior-product):not([data-product="senioren"]) main{
    background:
      radial-gradient(620px 440px at 90% 4%,rgba(38,76,155,.15),transparent 67%),
      linear-gradient(180deg,#05080d 0%,#08111c 54%,#05080c 100%)!important;
  }
  html body.login-image-page.senior-product main,
  html body.login-image-page[data-product="senioren"] main{
    background:
      radial-gradient(620px 440px at 90% 4%,rgba(193,151,67,.14),transparent 67%),
      linear-gradient(180deg,#fbf8f1 0%,#f4eee2 54%,#eee4d2 100%)!important;
  }
  html body.login-image-page main::after{
    display:none!important;
    content:none!important;
  }
  html body.login-image-page main > .hero{
    display:block!important;
    min-height:0!important;
    padding:42px 0 0!important;
    background:transparent!important;
    border:0!important;
  }
  html body.login-image-page main > .hero > .wrap{
    width:min(calc(100% - 40px),720px)!important;
    max-width:720px!important;
    margin:0 auto!important;
    padding:0!important;
  }
  html body.login-image-page main > .hero h1{
    margin:8px 0 12px!important;
    font-size:clamp(2.45rem,11vw,3.35rem)!important;
    line-height:1.02!important;
  }
  html body.login-image-page main > .hero p{
    margin:0!important;
    font-size:1rem!important;
    line-height:1.5!important;
  }
  html body.login-image-page main > .hero::after{
    content:""!important;
    display:block!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:min(calc(100% - 40px),520px)!important;
    aspect-ratio:1155 / 1362!important;
    margin:28px auto 0!important;
    border-radius:24px!important;
    overflow:hidden!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    opacity:1!important;
  }
  html body.login-image-page:not(.senior-product):not([data-product="senioren"]) main > .hero::after{
    border:1px solid rgba(212,175,55,.26)!important;
    background-color:#05070b!important;
    background-image:none!important;
    background-position:center 18%!important;
    box-shadow:0 24px 60px rgba(0,0,0,.34)!important;
  }
  html body.login-image-page.senior-product main > .hero::after,
  html body.login-image-page[data-product="senioren"] main > .hero::after{
    border:1px solid rgba(151,115,43,.22)!important;
    background-color:#e8dfd2!important;
    background-image:url("lifestyle/senior-woman-overview.webp")!important;
    background-position:55% 50%!important;
    box-shadow:0 24px 60px rgba(69,50,20,.14)!important;
  }
  html body.login-image-page main > .section{
    display:block!important;
    padding:24px 0 48px!important;
    background:transparent!important;
    border:0!important;
    content-visibility:visible!important;
  }
  html body.login-image-page main > .section > .wrap{
    width:min(calc(100% - 40px),590px)!important;
    max-width:590px!important;
    margin:0 auto!important;
    padding:0!important;
  }
  html body.login-image-page .logincard{
    width:100%!important;
    max-width:590px!important;
    margin:0!important;
    padding:22px!important;
    border-radius:18px!important;
  }

  /* Composed senior fallback: show text, then generated portrait, then card without overlaps. */
  html body.login-image-page.senior-product.nw-senior-login-composed main > .hero::after,
  html body.login-image-page[data-product="senioren"].nw-senior-login-composed main > .hero::after{
    display:none!important;
    content:none!important;
  }
  html body.login-image-page.senior-product.nw-senior-login-composed .nw-senior-login-copy,
  html body.login-image-page[data-product="senioren"].nw-senior-login-composed .nw-senior-login-copy{
    width:100%!important;
    max-width:590px!important;
  }
  html body.login-image-page.senior-product.nw-senior-login-composed .nw-senior-login-portrait,
  html body.login-image-page[data-product="senioren"].nw-senior-login-composed .nw-senior-login-portrait{
    display:block!important;
    position:relative!important;
    width:min(100%,520px)!important;
    max-width:520px!important;
    margin:28px auto 0!important;
    aspect-ratio:1155 / 1362!important;
    transform:none!important;
    border-radius:24px!important;
    overflow:hidden!important;
    order:2!important;
  }
  html body.login-image-page.senior-product.nw-senior-login-composed .nw-senior-login-copy .logincard,
  html body.login-image-page[data-product="senioren"].nw-senior-login-composed .nw-senior-login-copy .logincard{
    margin-top:24px!important;
  }
}

@media (max-width:390px){
  html body.login-image-page main > .hero{
    padding-top:32px!important;
  }
  html body.login-image-page main > .hero::after{
    width:calc(100% - 32px)!important;
    margin-top:22px!important;
    border-radius:20px!important;
  }
  html body.login-image-page main > .section{
    padding-top:20px!important;
  }
  html body.login-image-page .logincard{
    padding:19px!important;
  }
  html body.login-image-page .logincard .split{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

/* Senior login stays light, including header controls. */
html body.login-image-page.senior-product,
html body.login-image-page[data-product="senioren"]{
  background:#f7f3ea!important;
  color:#1b1915!important;
  color-scheme:light!important;
}
html body.login-image-page.senior-product .top,
html body.login-image-page[data-product="senioren"] .top{
  background:rgba(250,247,239,.97)!important;
  border-bottom-color:rgba(112,87,39,.16)!important;
  box-shadow:0 1px 0 rgba(112,87,39,.06),0 18px 48px rgba(69,50,20,.06)!important;
}
html body.login-image-page.senior-product .nav-toggle,
html body.login-image-page[data-product="senioren"] .nav-toggle,
html body.login-image-page.senior-product .nw-language-button,
html body.login-image-page[data-product="senioren"] .nw-language-button{
  background:#eee8dc!important;
  border-color:rgba(42,35,23,.18)!important;
  color:#4d463d!important;
}

/* Anmelden navigation safety at laptop widths: avoid clipped desktop links. */
@media (min-width:1181px) and (max-width:1390px){
  html body.login-image-page .top .nav{
    position:relative;
    min-height:76px;
    gap:18px;
  }
  html body.login-image-page .top .nav-toggle{
    display:block;
    flex:0 0 auto;
    margin-left:auto;
  }
  html body.login-image-page .top .links{
    display:none;
    position:absolute;
    z-index:100;
    top:calc(100% - 1px);
    left:20px;
    right:20px;
    width:auto;
    max-height:calc(100vh - 90px);
    overflow-y:auto;
    padding:12px;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:4px;
    white-space:normal;
    text-align:left;
    background:rgba(12,12,10,.98);
    border:1px solid #353535;
    border-radius:0 0 18px 18px;
    box-shadow:0 24px 70px rgba(0,0,0,.28);
  }
  html body.login-image-page .top .links.is-open{
    display:flex;
  }
  html body.login-image-page .top .links a,
  html body.login-image-page .top .links .auth-link{
    min-height:52px;
    padding:13px 16px!important;
    border-radius:8px;
  }
  html body.login-image-page.senior-product .top .links,
  html body.login-image-page[data-product="senioren"] .top .links{
    background:rgba(247,243,234,.99)!important;
    border-color:rgba(112,87,39,.22)!important;
    color:#353128!important;
  }
}


/* GLOBAL_COMPACT_HEADER_V1_20260924
 * One compact topbar geometry across all pages.
 * Header-only: no page content/layout behavior changes.
 */
html body .top .nav,
html body .home-reference .top .nav,
html body.login-image-page .top .nav{
  min-height:62px!important;
  padding-top:4px!important;
  padding-bottom:4px!important;
}

@media(max-width:1180px){
  html body .top .nav,
  html body .home-reference .top .nav,
  html body.login-image-page .top .nav{
    min-height:58px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
  }
}

@media(max-width:620px){
  html body .top .nav,
  html body .home-reference .top .nav,
  html body.login-image-page .top .nav{
    min-height:56px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
  }
}


/* STEWARO_HEADER_COMPAT_V1 */
html body .top .brand,
html body .home-reference .top .brand{
  display:flex!important;align-items:center!important;width:auto!important;height:auto!important;min-width:0!important;flex:0 0 auto!important;gap:11px!important;background:none!important;
}
html body .top .brand .mark,
html body .top .brand .mark.nahwerk-mark,
html body .home-reference .top .brand .mark,
html body .home-reference .top .brand .mark.nahwerk-mark{
  display:block!important;width:38px!important;height:38px!important;flex:0 0 38px!important;background:transparent center/contain no-repeat url("logos/stewaro-icon.svg")!important;
}
html body .top .brand .brandtext,
html body .home-reference .top .brand .brandtext{display:block!important}
html body .top .brandtext strong{display:block!important;font-size:0!important}
html body .top .brandtext strong:before{content:""!important;display:block!important;font-family:Baskerville,"Iowan Old Style",Georgia,serif!important;font-size:19px!important;font-weight:600!important;letter-spacing:.18em!important;margin-right:-.18em!important;color:#b98931!important}
html body .top .brandtext span{display:none!important}
html body .top{background:rgba(255,255,255,.965)!important;border-bottom:1px solid rgba(19,37,29,.13)!important;color:#173126!important;box-shadow:0 10px 34px rgba(26,40,32,.055)!important}
html body.login-image-page main::after,
html body.login-image-page main>.hero::after,
html body.login-image-page .hero::after{content:none!important;display:none!important;background:none!important;background-image:none!important}


/* STEWARO_FOOTER_COMPAT_V1 */
html body .footer .brand{
  display:flex!important;align-items:center!important;width:auto!important;height:auto!important;min-width:0!important;gap:11px!important;background:none!important;
}
html body .footer .brand .mark,
html body .footer .brand .mark.nahwerk-mark{
  display:block!important;width:38px!important;height:38px!important;flex:0 0 38px!important;background:transparent center/contain no-repeat url("logos/stewaro-icon.svg")!important;
}
html body .footer .brand .brandtext{display:block!important}
html body .footer .brandtext strong{display:block!important;font-size:0!important}
html body .footer .brandtext strong:before{content:""!important;display:block!important;font-family:Baskerville,"Iowan Old Style",Georgia,serif!important;font-size:18px!important;font-weight:600!important;letter-spacing:.18em!important;color:#d7b65e!important}
html body .footer .brandtext span{display:none!important}


/* STEWARO_CANONICAL_WORDMARK_GUARD_20260928 */
/* Compatibility only: the active STEWARO layer owns visible gold rendering. */
html body .top .brand .brandtext,
html body .home-reference .top .brand .brandtext{
  background:linear-gradient(112deg,#c6a65f 0%,#dcc489 18%,#f2e3bb 33%,#d2b16a 46%,#fff6dc 51%,#d5b66f 57%,#ead8a8 72%,#caaa64 100%)!important;
  background-size:260% 100%!important;
  background-position:50% 50%!important;
  -webkit-mask:url("/assets/logos/stewaro-wordmark.svg") center/contain no-repeat!important;
  mask:url("/assets/logos/stewaro-wordmark.svg") center/contain no-repeat!important;
  filter:none!important;
}
html body .top .brandtext strong::before,
html body .top .brandtext strong::after,
html body .home-reference .top .brandtext strong::before,
html body .home-reference .top .brandtext strong::after{
  content:none!important;display:none!important;animation:none!important;background:none!important;
}
