/* digitalesbankkonto.de v263 – global UX/UI cleanup
   Scope: visual consistency only. No SEO copy, metadata, schema, URLs, affiliate links or functional markup is changed. */

:root{
  --dbk-navy:#123A63;
  --dbk-blue:#004BE4;
  --dbk-blue-dark:#0039ad;
  --dbk-text:#2B5274;
  --dbk-muted:#5d7890;
  --dbk-line:#dbe5ef;
  --dbk-soft:#f6f9fd;
  --dbk-soft-blue:#edf4ff;
  --dbk-white:#fff;
  --dbk-green:#087f5b;
  --dbk-radius:14px;
  --dbk-radius-sm:10px;
}

/* Base typography: calm, readable, consistent */
html{scroll-behavior:smooth}
body{
  color:var(--dbk-text)!important;
  background:#fff;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{
  color:var(--dbk-navy)!important;
  text-wrap:balance;
}
p,li,dd,dt,label,small{color:inherit}
main p,article p,.content p,.section p{line-height:1.68}

/* Header / navigation: one calm visual system, no bold menu type */
.nav{
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid var(--dbk-line)!important;
  box-shadow:none!important;
}
.nav-inner{
  max-width:1280px!important;
  min-height:68px!important;
  height:auto!important;
  padding:0 22px!important;
  gap:18px!important;
}
.nav-logo{display:flex!important;align-items:center!important;flex:0 0 auto!important}
.nav-logo img{height:32px!important;width:auto!important}
.nav-links{
  display:flex;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:3px!important;
}
.nav-links li{display:flex!important;align-items:center!important;list-style:none!important}
.nav-links a,
.nav a:not(.nav-cta),
.dbk-pro-utility a,
.dbk-pro-utility__trust{
  font-weight:400!important;
  font-synthesis:none!important;
}
.nav-links a{
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:8px 10px!important;
  border-radius:9px!important;
  color:var(--dbk-navy)!important;
  line-height:1.2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.nav-links a:hover,
.nav-links a:focus-visible{
  background:var(--dbk-soft-blue)!important;
  color:var(--dbk-blue)!important;
}
.dbk-pro-utility{box-shadow:none!important}
.dbk-pro-utility__inner{max-width:1280px!important;padding-left:22px!important;padding-right:22px!important}

/* Heroes: cleaner spacing and readable content; preserve every existing image/background */
.hero,.page-hero,.finder-hero{
  box-shadow:none!important;
}
.hero .wrap,.page-hero .wrap,.finder-hero .wrap{
  box-sizing:border-box;
}
.hero h1,.page-hero h1,.finder-hero h1{
  letter-spacing:-.035em!important;
}
.hero p,.page-hero p,.finder-hero p{
  color:var(--dbk-text)!important;
}

/* Cards / panels: reduce visual noise */
.card,
.info-box,
.answer-box,
.review-box,
.author-box,
.data-box,
.internal-link-hub,
.provider-card,
.rec-card,
.decision-card,
.usecase-card,
.finder-panel,
.finder-result-card,
.dbk-rank-card,
.dbk-ranking-cta,
.tarifrechner-box,
.tablewrap,
.compare-card,
.comparison-card{
  box-shadow:none!important;
  border-color:var(--dbk-line)!important;
}
.card,.provider-card,.rec-card,.decision-card,.usecase-card,.compare-card,.comparison-card{
  border-radius:var(--dbk-radius)!important;
}

/* Sections: consistent rhythm without hiding or reordering content */
section{scroll-margin-top:92px}
.section,
section.section{
  box-sizing:border-box;
}
.section + .section{border-top-color:#eef2f7}

/* Buttons and CTAs: consistent size, no oversized shadows */
.btn,
button,
input[type="submit"],
input[type="button"],
.rec-primary,.rec-secondary,
.btn-aff,.btn-aff-secondary,
.cta-link,
.finder-main-btn,
.finder-secondary-btn{
  font-family:inherit;
}
.btn,
.rec-primary,.rec-secondary,
.btn-aff,.btn-aff-secondary,
.finder-main-btn,.finder-secondary-btn{
  border-radius:10px!important;
  box-shadow:none!important;
}
.btn-primary,.btn.primary,.rec-primary,.btn-aff,.finder-main-btn{
  background:var(--dbk-blue)!important;
}
.btn-primary:hover,.btn.primary:hover,.rec-primary:hover,.btn-aff:hover,.finder-main-btn:hover{
  background:var(--dbk-blue-dark)!important;
}

/* Forms: larger touch targets and normal-weight field text */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea{
  min-height:48px;
  border-color:#cddaea!important;
  border-radius:10px!important;
  font-family:inherit!important;
  font-weight:400!important;
  color:var(--dbk-navy)!important;
  background-color:#fff;
  box-shadow:none!important;
}
textarea{min-height:112px;padding-top:12px!important;padding-bottom:12px!important}
input::placeholder,textarea::placeholder{color:#6d8498!important;font-weight:400!important;opacity:1}
select option{font-weight:400!important}
label{color:var(--dbk-navy)!important}

/* Tables: readable, restrained */
table{box-shadow:none!important}
th{
  color:var(--dbk-navy)!important;
  background:#f2f6fb!important;
}
th,td{border-color:#e3eaf2!important}

/* Disclosure / helper text: quieter but legible */
.adnote,.source-note,.dbk-compare-disclosure,.finder-note,.microcopy,.fineprint{
  color:var(--dbk-muted)!important;
  line-height:1.55!important;
}

/* Footer */
.footer,footer{
  box-shadow:none!important;
}
.footer a,footer a{font-weight:400}

/* Accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(0,75,228,.25)!important;
  outline-offset:2px!important;
}

/* Tablet */
@media(max-width:1100px){
  .nav-inner{padding:0 16px!important;gap:10px!important}
  .nav-links a{font-size:.88rem!important;padding:8px 7px!important}
}

/* Mobile-first cleanup */
@media(max-width:768px){
  .nav-inner{min-height:62px!important;padding:0 14px!important}
  .nav-logo img{height:29px!important}
  .hamburger,button.hamburger{
    min-width:44px!important;
    min-height:44px!important;
    box-shadow:none!important;
  }
  .nav-drawer{
    box-shadow:none!important;
    border-bottom:1px solid var(--dbk-line)!important;
    padding:8px 14px 16px!important;
  }
  .nav-drawer a{
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    padding:10px 12px!important;
    font-weight:400!important;
    font-synthesis:none!important;
    color:var(--dbk-navy)!important;
  }
  .wrap{padding-left:16px!important;padding-right:16px!important}
  .section{padding-top:34px!important;padding-bottom:34px!important}
  h1{font-size:clamp(2rem,10vw,2.7rem)!important;line-height:1.05!important}
  h2{font-size:clamp(1.45rem,7vw,2rem)!important;line-height:1.16!important}
  h3{line-height:1.3!important}
  .card,.info-box,.answer-box,.review-box,.author-box,.data-box,.provider-card,.rec-card,.decision-card,.usecase-card,.finder-panel,.dbk-rank-card,.tarifrechner-box{
    border-radius:12px!important;
  }
  input:not([type="checkbox"]):not([type="radio"]),select{min-height:52px}
  textarea{min-height:120px}
  .btn,.rec-primary,.rec-secondary,.btn-aff,.btn-aff-secondary,.finder-main-btn,.finder-secondary-btn{
    min-height:48px!important;
  }
  .tablewrap,.data-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
}


/* v266: kompakte Nutzer-Meldung zu Kontosperren direkt an Kontokarten */
.dbk-lock-report-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:7px 10px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.76rem;line-height:1.2;font-weight:500;margin-top:7px;white-space:nowrap}
.dbk-lock-report-badge::before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#ffedd5;color:#c2410c;font-size:.72rem;font-weight:700;flex:0 0 auto}
.dbk-lock-report-badge[data-count="0"]{background:#f8fafc;border-color:#e2e8f0;color:#64748b}
.dbk-lock-report-badge[data-count="0"]::before{content:"✓";background:#ecfdf5;color:#047857}
@media(max-width:640px){.dbk-lock-report-badge{font-size:.72rem;white-space:normal}}
