/* Cashflow Profi Member Nav + WP-Members Login UI
 * Runtime-only presentation. Deactivate the plugin for a complete rollback.
 */

.cp-member-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 24px;
  font-size:14px;
  font-weight:600;
  line-height:1.3;
}
.cp-member-nav a{
  color:#6b7d87!important;
  text-decoration:none!important;
}
.cp-member-nav a:hover{
  color:#04878b!important;
}
.cp-member-nav-fallback{
  width:min(1080px,calc(100% - 36px));
  margin:24px auto 0;
}


/* Abo-Konto: klare, dezente Ruecknavigation im neuen Cashflow-Profi-Stil. */
body.page-id-456 .cp-member-nav,
body.page-id-27576 .cp-member-nav,
body.page-id-31952 .cp-member-nav,
body.page-id-43420 .cp-member-nav,
body.page-id-31927 .cp-member-nav{
  margin-bottom:18px;
}
body.page-id-456 .cp-member-nav__back,
body.page-id-27576 .cp-member-nav__back,
body.page-id-31952 .cp-member-nav__back,
body.page-id-43420 .cp-member-nav__back,
body.page-id-31927 .cp-member-nav__back{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 13px;
  border:1px solid #dbe8e6;
  border-radius:999px;
  background:#fff;
  color:#04878b!important;
  font-weight:800;
}
body.page-id-456 .cp-member-nav__back:hover,
body.page-id-27576 .cp-member-nav__back:hover,
body.page-id-31952 .cp-member-nav__back:hover,
body.page-id-43420 .cp-member-nav__back:hover,
body.page-id-31927 .cp-member-nav__back:hover{
  border-color:#bddbd8;
  background:#f2f8f7;
  color:#036f73!important;
}
body.page-id-456 .cp-member-nav-fallback{
  width:min(1080px,calc(100% - 48px));
  margin:24px auto 0;
}

/* Alte seitenlokale Navigation nur visuell ausblenden, sobald der zentrale Balken aktiv ist. */
body:has(.cp-member-nav) .cp-subhero > .wp-block-group:first-child:has(.cp-toplink),
body:has(.cp-member-nav) .cp-premium-hero > .wp-block-group:first-child:has(.cp-premium-toplink),
body:has(.cp-member-nav) .cp-free-logout{
  display:none!important;
}
body:has(.cp-member-nav) .cp-depot-nav .wp-block-button:has(a[href*="/premiumbereich/"]){
  display:none!important;
}
body:has(.cp-member-nav) .cp-archive-footer{
  display:none!important;
}

/* ---------- zentraler WP-Members Login ---------- */
body:has(.cp-member-login-shell) .page-header{
  display:none!important;
}
body:has(.cp-member-login-shell) #main #content-wrap{
  padding-top:0!important;
}
.cp-member-login-shell{
  box-sizing:border-box;
  width:min(760px,calc(100% - 32px));
  margin:42px auto 56px;
  color:#15212b;
  text-align:center;
}
.cp-member-login-shell *,
.cp-member-login-shell *::before,
.cp-member-login-shell *::after{
  box-sizing:border-box;
}
.cp-member-login-head{
  margin:0 auto 22px;
}
.cp-member-login-kicker{
  margin:0 0 9px!important;
  color:#04878b!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}
.cp-member-login-head h1{
  margin:0 0 8px!important;
  color:#15212b!important;
  font-size:40px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.02em;
}
.cp-member-login-copy{
  margin:0!important;
  color:#526671!important;
  font-size:17px!important;
  line-height:1.55!important;
}
.cp-member-login-form-wrap{
  width:min(100%,360px);
  margin:0 auto;
}
.cp-member-login-card,
.cp-member-login-form-wrap #wpmem_login{
  width:100%!important;
  margin:0!important;
  padding:34px 24px!important;
  border:1px solid #dbe8e6!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(21,33,43,.05)!important;
  text-align:left!important;
}
.cp-member-login-card fieldset,
.cp-member-login-form-wrap #wpmem_login fieldset{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.cp-member-login-card legend,
.cp-member-login-form-wrap #wpmem_login legend{
  width:100%!important;
  margin:0 0 18px!important;
  padding:0 0 8px!important;
  border-bottom:1px solid #e2e8e7!important;
  color:#15212b!important;
  font-size:21px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
.cp-member-login-card label,
.cp-member-login-form-wrap #wpmem_login label{
  color:#15212b!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:500!important;
}
.cp-member-login-card input[type="text"],
.cp-member-login-card input[type="email"],
.cp-member-login-card input[type="password"],
.cp-member-login-form-wrap #wpmem_login input[type="text"],
.cp-member-login-form-wrap #wpmem_login input[type="email"],
.cp-member-login-form-wrap #wpmem_login input[type="password"]{
  width:100%!important;
  min-height:44px!important;
  margin:4px 0 12px!important;
  padding:9px 11px!important;
  border:1px solid #cfd9d8!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#15212b!important;
  font-size:14px!important;
  line-height:1.4!important;
  box-shadow:none!important;
}
.cp-member-login-card input:focus,
.cp-member-login-form-wrap #wpmem_login input:focus{
  border-color:#04878b!important;
  outline:2px solid rgba(4,135,139,.12)!important;
  outline-offset:0!important;
}
.cp-member-login-card .button_div,
.cp-member-login-form-wrap #wpmem_login .button_div{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px 10px!important;
  margin-top:8px!important;
}
/* Submit immer als eigene erste Zeile; "Angemeldet bleiben" folgt darunter. */
.cp-member-login-card .button_div input[type="submit"],
.cp-member-login-card .button_div .cp-member-login-submit,
.cp-member-login-form-wrap #wpmem_login .button_div input[type="submit"]{
  order:-1!important;
  flex:0 0 100%!important;
  width:100%!important;
  margin:0 0 6px!important;
}
.cp-member-login-card .button_div input[type="checkbox"],
.cp-member-login-form-wrap #wpmem_login .button_div input[type="checkbox"]{
  flex:0 0 auto!important;
  margin:0!important;
}
.cp-member-login-card input[type="submit"],
.cp-member-login-card .cp-member-login-submit,
.cp-member-login-form-wrap #wpmem_login input[type="submit"]{
  width:auto!important;
  min-height:40px!important;
  margin:0!important;
  padding:9px 16px!important;
  border:1px solid #04878b!important;
  border-radius:0!important;
  background:#04878b!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.cp-member-login-card input[type="submit"]:hover,
.cp-member-login-form-wrap #wpmem_login input[type="submit"]:hover{
  border-color:#036f73!important;
  background:#036f73!important;
}
.cp-member-login-card .link-text,
.cp-member-login-form-wrap #wpmem_login .link-text{
  margin-top:12px!important;
  color:#15212b!important;
  font-size:13px!important;
  line-height:1.45!important;
  text-align:center!important;
}
.cp-member-login-card .link-text a,
.cp-member-login-form-wrap #wpmem_login .link-text a{
  color:#04878b!important;
  text-decoration:none!important;
}
.cp-member-login-card .link-text a:hover,
.cp-member-login-form-wrap #wpmem_login .link-text a:hover{
  color:#036f73!important;
  text-decoration:underline!important;
}

@media (max-width:781px){
  .cp-member-nav{
    margin-bottom:18px;
    font-size:13px;
  }
  .cp-member-nav-fallback{
    width:calc(100% - 20px);
    margin-top:16px;
  }
  .cp-member-login-shell{
    width:calc(100% - 20px);
    margin:28px auto 36px;
  }
  .cp-member-login-head{
    margin-bottom:18px;
  }
  .cp-member-login-head h1{
    font-size:30px!important;
  }
  .cp-member-login-copy{
    font-size:15px!important;
    line-height:1.5!important;
  }
  .cp-member-login-form-wrap{
    width:min(100%,360px);
  }
  .cp-member-login-card,
  .cp-member-login-form-wrap #wpmem_login{
    padding:26px 18px!important;
    border-radius:14px!important;
  }
}

@media (max-width:380px){
  .cp-member-login-head h1{
    font-size:28px!important;
  }
  .cp-member-login-copy{
    font-size:14px!important;
  }
}
