/* NMH Makes Heroes – Frontend. Keine externen Schriften/Ressourcen (DSGVO).
   Alle Schrift weiß (Seitenhintergrund schwarz); Blau nur für Flächen/Buttons/Balken. */
.nmh-wrap{--nmh-text:#fff;--nmh-accent:#0A68B0;--nmh-btn-text:#fff;--nmh-bg:#0F0C09;--nmh-card:#16110c;--nmh-field:#000;--nmh-line:#2a2a2a;background:var(--nmh-bg);color:var(--nmh-text);padding:clamp(16px,3vw,32px);font-family:Univers,"Univers Next","Univers LT Std","Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.55;box-sizing:border-box}
.nmh-wrap,.nmh-wrap *{box-sizing:border-box}
/* Theme-/Elementor-Farben überschreiben: alles weiß */
body .nmh-wrap.nmh-wrap,body .nmh-wrap.nmh-wrap *,body .nmh-wrap.nmh-wrap a:visited,body .nmh-wrap.nmh-wrap a:hover{color:var(--nmh-text)!important;-webkit-text-fill-color:var(--nmh-text)!important}
body .nmh-wrap.nmh-wrap .nmh-btn,body .nmh-wrap.nmh-wrap .nmh-rank,body .nmh-wrap.nmh-wrap a.nmh-btn{color:var(--nmh-btn-text)!important;-webkit-text-fill-color:var(--nmh-btn-text)!important}
.nmh-wrap.nmh-inline{display:inline-block;padding:.3em .7em}
.nmh-wrap a{text-decoration:underline;text-underline-offset:2px}
.nmh-wrap a:hover,.nmh-wrap a:focus{text-decoration-thickness:2px}
/* Überschriften: blaue Schrift auf weißem Kasten (wie „Rückblick 2025“) */
body .nmh-wrap.nmh-wrap .nmh-h,body .nmh-wrap.nmh-wrap .nmh-empty h3,body .nmh-wrap.nmh-wrap .nmh-empty p{color:var(--nmh-accent)!important;-webkit-text-fill-color:var(--nmh-accent)!important}
.nmh-h{display:inline-block;background:#fff;font-weight:800;font-size:clamp(20px,3vw,30px);padding:.15em .45em;margin:0 0 .8em;text-transform:uppercase;letter-spacing:.005em;line-height:1.15}
.nmh-h-s{font-size:clamp(16px,2.2vw,20px)}
h4.nmh-h{font-size:clamp(16px,2.2vw,20px)}
.nmh-small{font-size:.85em;font-weight:300;opacity:1}
.nmh-wrap ::placeholder{color:var(--nmh-text)!important;opacity:.7!important;opacity:1}
.nmh-notice{padding:12px 16px;margin:0 0 18px;border-left:5px solid;font-weight:600}
.nmh-ok{background:#0b2a44;border-color:#fff}
.nmh-err{background:#5a1616;border-color:#ff8a8a}
.nmh-hint{background:var(--nmh-card);border-left:5px solid var(--nmh-accent);padding:10px 14px;max-width:760px}
.nmh-login{position:relative;margin:34px 0 0;border:1px solid var(--nmh-line);border-top:4px solid var(--nmh-accent);background:var(--nmh-card)}
.nmh-login-in{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:clamp(18px,3vw,30px);align-items:start}
.nmh-login-t{margin:0 0 .5em;font-size:clamp(20px,2.6vw,26px);font-weight:800;text-transform:uppercase;line-height:1.2}
.nmh-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.nmh-steps li{display:flex;align-items:center;gap:12px;font-weight:600}
.nmh-steps span{flex:none;width:28px;height:28px;display:grid;place-items:center;background:var(--nmh-accent);font-weight:800}
.nmh-login .nmh-form{max-width:none}
.nmh-login-x{position:absolute;right:8px;top:6px;width:40px;height:40px;background:transparent;border:0;font-size:30px;line-height:1;cursor:pointer}
.nmh-login.is-modal{position:fixed;z-index:99999;inset:0;margin:0;border:0;background:rgba(0,0,0,.82);overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px}
.nmh-login.is-modal .nmh-login-in{position:relative;width:min(860px,100%);background:var(--nmh-card);border-top:4px solid var(--nmh-accent);box-shadow:0 20px 60px rgba(0,0,0,.6)}
html.nmh-lock{overflow:hidden}
@media(max-width:700px){.nmh-login-in{grid-template-columns:1fr;gap:18px}.nmh-login.is-modal{align-items:flex-start}}
.nmh-form{display:grid;gap:14px;max-width:640px}
.nmh-form label{display:grid;gap:6px;font-weight:700}
.nmh-fs{border:1px solid #3a3a3a;padding:16px;margin:0;display:grid;gap:14px;min-width:0}
.nmh-fs legend{font-weight:800;padding:0 8px;text-transform:uppercase;letter-spacing:.02em}
.nmh-form input[type=text],.nmh-form input[type=email],.nmh-form input[type=tel],.nmh-form input[type=password],.nmh-form select,.nmh-form textarea,.nmh-form input[type=file]{width:100%;padding:10px 12px;background:var(--nmh-field)!important;border:1px solid #8a8a8a;border-radius:0;font:inherit;font-weight:400}
/* Datei-Feld: heller Hintergrund, dunkle Schrift (bleibt lesbar) */
body .nmh-wrap.nmh-wrap .nmh-form input[type=file]{background:#fff!important;color:#000!important;-webkit-text-fill-color:#000!important;padding:8px}
.nmh-form input[type=file]::file-selector-button{background:var(--nmh-accent);color:#fff;-webkit-text-fill-color:#fff;border:0;padding:.6em 1em;margin-right:12px;font:inherit;font-weight:700;cursor:pointer}
/* Autofill: Browser färbt Felder sonst hell ein -> Hintergrund erzwingen, Schrift bleibt weiß */
.nmh-form input:-webkit-autofill,.nmh-form input:-webkit-autofill:hover,.nmh-form input:-webkit-autofill:focus,.nmh-form textarea:-webkit-autofill,.nmh-form select:-webkit-autofill{-webkit-text-fill-color:var(--nmh-text)!important;caret-color:var(--nmh-text);-webkit-box-shadow:0 0 0 1000px var(--nmh-field) inset!important;box-shadow:0 0 0 1000px var(--nmh-field) inset!important;transition:background-color 99999s ease-in-out 0s}
.nmh-form input:autofill{-webkit-text-fill-color:var(--nmh-text)!important;box-shadow:0 0 0 1000px var(--nmh-field) inset!important}
.nmh-form select option{background:var(--nmh-field)}
.nmh-form input:focus,.nmh-form select:focus,.nmh-form textarea:focus{outline:2px solid #fff;outline-offset:1px}
/* Checkboxen: groß, weißer Rahmen, blaue Füllung mit Haken */
.nmh-form .nmh-check{display:flex;gap:12px;align-items:flex-start;font-weight:400;cursor:pointer}
.nmh-form .nmh-check input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:none;width:24px;height:24px;margin:2px 0 0;border:2px solid var(--nmh-text);background:var(--nmh-field);border-radius:0;cursor:pointer;position:relative}
.nmh-form .nmh-check input[type=checkbox]:checked{background:var(--nmh-accent)}
.nmh-form .nmh-check input[type=checkbox]:checked::after{content:"";position:absolute;left:6px;top:1px;width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.nmh-form .nmh-check input[type=checkbox]:focus-visible{outline:2px solid #fff;outline-offset:2px}
.nmh-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nmh-btn,.nmh-wrap a.nmh-btn{display:inline-block;background:var(--nmh-accent)!important;border:0;border-radius:0;padding:.7em 1.3em;font:inherit;font-weight:800;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;cursor:pointer}
.nmh-btn:hover,.nmh-btn:focus{filter:brightness(1.15)}
.nmh-btn-ghost,.nmh-wrap .nmh-btn-ghost{background:transparent!important;border:2px solid var(--nmh-text);padding:.4em .9em}
.nmh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.nmh-card{position:relative;background:var(--nmh-card);border:1px solid var(--nmh-line);display:flex;flex-direction:column;overflow:hidden}
.nmh-card .nmh-img img{display:block;width:100%;height:200px;object-fit:cover}
.nmh-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.nmh-body h3{margin:0;font-size:1.2rem;font-weight:800;line-height:1.2}
.nmh-body h3 a{text-decoration:none}
.nmh-by{margin:0;font-weight:700;font-size:.9rem}
.nmh-body p{margin:0}
.nmh-vote{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.nmh-vote form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0}
.nmh-count strong{font-size:1.5em}
.nmh-voted{font-weight:800}
/* Stimmenbalken (Anteil der aktuell führenden Idee) */
.nmh-bar{height:12px;background:#2a2a2a;width:100%}
.nmh-bar span{display:block;height:100%;background:var(--nmh-accent);min-width:3px;transition:width .4s}
#nmh-idee-single .nmh-bar,.nmh-wrap>div>.nmh-bar{max-width:480px}
.nmh-rank{position:absolute;top:0;left:0;z-index:2;background:var(--nmh-accent);font-weight:800;font-size:1.4rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.nmh-sort a.on{font-weight:800}
.nmh-pager{margin-top:20px;display:flex;gap:18px}
.nmh-hero img{display:block;width:100%;max-width:760px;height:auto;margin:0 0 18px}
.nmh-single .nmh-text{max-width:760px;margin:0 0 20px}
.nmh-single .nmh-single-vote{max-width:480px;margin:0 0 24px}
/* Menüleiste */
.nmh-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:0 0 14px;border-bottom:1px solid var(--nmh-line)}
.nmh-nav .nmh-btn.on{outline:2px solid var(--nmh-text);outline-offset:2px}
.nmh-back{margin:24px 0 0}
.nmh-wrap img{max-width:100%;height:auto}
/* Mobil */
@media (max-width:782px){
  .nmh-wrap{padding:14px}
  .nmh-grid{grid-template-columns:1fr;gap:16px}
  .nmh-card .nmh-img img{height:180px}
  .nmh-h{font-size:clamp(18px,5.4vw,24px)}
  .nmh-form,.nmh-login,.nmh-hint{max-width:100%}
  .nmh-form input[type=text],.nmh-form input[type=email],.nmh-form input[type=tel],.nmh-form select,.nmh-form textarea,.nmh-form input[type=file]{font-size:16px;padding:12px}
  .nmh-fs{padding:12px}
  .nmh-btn,.nmh-wrap a.nmh-btn{min-height:46px;padding:.8em 1.1em}
  .nmh-nav .nmh-btn{flex:1 1 calc(50% - 10px);text-align:center}
  .nmh-form .nmh-btn{width:100%}
  .nmh-vote{flex-direction:column;align-items:stretch;gap:8px}
  .nmh-vote form{flex-direction:column;align-items:stretch}
  .nmh-vote .nmh-btn{width:100%;text-align:center}
  .nmh-form .nmh-check{gap:10px}
  .nmh-form .nmh-check input[type=checkbox]{width:28px;height:28px}
  .nmh-form .nmh-check input[type=checkbox]:checked::after{left:8px;top:2px}
  .nmh-back .nmh-btn{display:block;text-align:center}
  .nmh-pager{justify-content:space-between}
  .nmh-hero img{max-width:100%}
}
@media (max-width:420px){
  .nmh-nav .nmh-btn{flex:1 1 100%}
}

/* ---- v1.5 ---- */
.nmh-empty{background:#fff;padding:clamp(22px,4vw,44px);max-width:760px;font-family:Univers,"Univers Next","Univers LT Std","Helvetica Neue",Helvetica,Arial,sans-serif}
.nmh-empty h3{margin:0 0 12px;font-size:clamp(24px,4.2vw,40px);font-weight:800;line-height:1.1;text-transform:uppercase}
.nmh-empty p{margin:0 0 20px;font-size:clamp(16px,2vw,19px)}
.nmh-logo img{display:block;max-width:200px;max-height:110px;width:auto;height:auto;margin:0 0 14px;background:#fff;padding:8px}
.nmh-card{transition:transform .18s,border-color .18s,box-shadow .18s}
.nmh-card:hover,.nmh-card:focus-within{transform:translateY(-3px);border-color:var(--nmh-accent);box-shadow:0 8px 24px rgba(10,104,176,.25)}
.nmh-card .nmh-img{display:block;overflow:hidden}
.nmh-card .nmh-img img{transition:transform .35s}
.nmh-card:hover .nmh-img img{transform:scale(1.04)}
.nmh-wrap a:focus-visible,.nmh-wrap button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.nmh-sort{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px}
.nmh-sort a{display:inline-block;border:1px solid var(--nmh-line);padding:.3em .85em;text-decoration:none}
.nmh-sort a.on{background:var(--nmh-accent);border-color:var(--nmh-accent)}
.nmh-pager a{display:inline-block;border:1px solid var(--nmh-text);padding:.45em 1em;text-decoration:none;font-weight:700}
/* Teilen */
.nmh-share{margin:34px 0 0;padding:clamp(16px,3vw,26px);background:var(--nmh-card);border:1px solid var(--nmh-line);border-top:4px solid var(--nmh-accent);max-width:760px}
.nmh-share h4{margin:0 0 6px;font-size:1.05rem;font-weight:800;text-transform:uppercase}
.nmh-copy{display:flex;gap:10px;margin:14px 0}
.nmh-copy input{flex:1;min-width:0;padding:11px 12px;background:var(--nmh-field);border:1px solid #8a8a8a;border-radius:0;font:inherit}
.nmh-share-btns{display:flex;flex-wrap:wrap;gap:10px}
.nmh-share-btns [hidden]{display:none!important}
.nmh-story{display:flex;gap:22px;align-items:center;justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid var(--nmh-line)}
.nmh-story img{width:120px;height:auto;flex:none;border:1px solid var(--nmh-line)}
@media (max-width:782px){
  .nmh-copy{flex-direction:column}
  .nmh-share-btns .nmh-btn{flex:1 1 calc(50% - 10px);text-align:center}
  .nmh-story{flex-direction:column-reverse;align-items:stretch;text-align:left}
  .nmh-story img{width:140px}
  .nmh-story .nmh-btn{display:block;text-align:center}
}
@media (prefers-reduced-motion:reduce){.nmh-card,.nmh-card .nmh-img img{transition:none}.nmh-card:hover{transform:none}}

.nmh-rules{margin:0 0 18px;padding:12px 16px;background:var(--nmh-card);border-left:5px solid var(--nmh-accent);font-size:.92rem;max-width:760px}
.nmh-login .nmh-rules{margin:14px 0 0;background:transparent;border-left-width:4px;padding:6px 12px}

/* ---- v1.7: Einzelansicht ---- */
/* Doppelten Theme-Titel / Autor-Zeile ausblenden (Titel steht im Plugin) */
body.single-nmh_idee .entry-header,body.single-nmh_idee .page-header,body.single-nmh_idee h1.entry-title,body.single-nmh_idee .wp-block-post-title,body.single-nmh_idee .wp-block-post-author-name,body.single-nmh_idee .wp-block-post-author,body.single-nmh_idee .wp-block-post-date,body.single-nmh_idee .post-meta,body.single-nmh_idee .entry-meta,body.single-nmh_idee .elementor-widget-theme-post-title{display:none!important}
.nmh-sv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(22px,3.5vw,52px);align-items:start;margin:0 0 30px}
.nmh-title{margin:0 0 20px;font-size:clamp(26px,3.6vw,44px);font-weight:800;line-height:1.08;text-transform:uppercase;letter-spacing:.005em;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.nmh-single .nmh-hero img{width:100%;max-width:520px;height:auto;margin:0}
.nmh-sv-r .nmh-logo img{max-width:180px;max-height:100px;margin:0 0 16px}
.nmh-sv-r .nmh-by{margin:0 0 14px;font-size:.95rem}
.nmh-single .nmh-text{max-width:none;margin:0}
.nmh-single .nmh-text p{margin:0 0 1em;font-weight:300;font-size:1.05rem}
.nmh-single .nmh-single-vote{max-width:560px;margin:0 0 22px}
.nmh-sh{margin:0 0 6px;font-size:clamp(18px,2.2vw,24px);font-weight:800;text-transform:uppercase;line-height:1.15}
.nmh-share{max-width:none}
.nmh-share-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(20px,3vw,44px);align-items:start;margin-top:10px}
.nmh-share .nmh-story{margin:0;padding:0;border:0;display:flex;flex-direction:row;gap:18px;align-items:flex-start;justify-content:flex-start}
.nmh-share .nmh-story h4{margin:0 0 6px}
@media (max-width:782px){
  .nmh-sv{grid-template-columns:1fr;gap:18px}
  .nmh-single .nmh-hero img{max-width:100%}
  .nmh-share-in{grid-template-columns:1fr}
  .nmh-share .nmh-story{margin-top:10px;padding-top:18px;border-top:1px solid var(--nmh-line);flex-direction:column-reverse}
}

/* Breite des Containers (nicht des Bildschirms) entscheidet über ein-/zweispaltig */
.nmh-single{container-type:inline-size}
@container (max-width:760px){
  .nmh-sv{grid-template-columns:1fr;gap:18px}
  .nmh-single .nmh-hero img{max-width:100%}
  .nmh-share-in{grid-template-columns:1fr}
  .nmh-share .nmh-story{margin-top:10px;padding-top:18px;border-top:1px solid var(--nmh-line);flex-direction:column-reverse}
  .nmh-copy{flex-direction:column}
}
/* v1.7.1: weißen Theme-Rahmen um die Einzelansicht entfernen */
body.single-nmh_idee :has(> .nmh-single),body.single-nmh_idee :has(.nmh-single):not(.nmh-wrap):not(.nmh-wrap *){background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;border-radius:0!important}
body.single-nmh_idee article,body.single-nmh_idee .entry-content,body.single-nmh_idee .post,body.single-nmh_idee .hentry,body.single-nmh_idee .wp-block-post-content,body.single-nmh_idee .site-main,body.single-nmh_idee .content-area,body.single-nmh_idee .elementor-widget-theme-post-content,body.single-nmh_idee .elementor-widget-container,body.single-nmh_idee .e-con,body.single-nmh_idee .elementor-section,body.single-nmh_idee .elementor-column-wrap,body.single-nmh_idee .elementor-widget-wrap{background:transparent!important;box-shadow:none!important;border:0!important}
body.single-nmh_idee .nmh-single{max-width:100%}
