/* Stimmungsbild KI – Design für WPForms (Formular-CSS-Klasse: nc-w) */
div.wpforms-container-full.nc-w .wpforms-form{
  --blau:#2a5a8c; --denim:#dce6f0; --coral:#d92622; --coral2:#f6312c; --text:#28292d; --bg:#faf9f5;
  --serif:"Newsreader",Georgia,"Times New Roman",serif; --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --mono:"Courier Prime","Courier New",monospace;
  position:relative; max-width:680px; margin:0 auto; padding:1.4rem 1.5rem 1.6rem; background:var(--bg);
  border:1px solid var(--denim); border-radius:22px; box-shadow:0 18px 50px -24px rgba(42,90,140,.45);
  font-family:var(--sans); color:var(--text); overflow:hidden;
  font-size:0; line-height:0; /* blendet den losen Text 'Bitte aktiviere JavaScript' aus, falls ein Plugin das noscript-Tag entfernt */
}
div.wpforms-container-full.nc-w .wpforms-form > *{font-size:1rem; line-height:1.5}
.nc-w .wpforms-error-noscript{display:none!important}
.nc-w *{box-sizing:border-box}
/* Seiten-Animation */
.nc-w .wpforms-page{animation:nc-in .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes nc-in{from{opacity:0;transform:translateX(40px)}}
/* Fortschritt */
.nc-w .wpforms-page-indicator{margin-bottom:1.2rem}
.nc-w .wpforms-page-indicator-page-progress-wrap{height:6px!important; border-radius:3px; background:var(--denim)!important; overflow:hidden}
.nc-w .wpforms-page-indicator-page-progress{height:6px!important; border-radius:3px; background:linear-gradient(90deg,var(--blau),var(--coral))!important; transition:width .6s cubic-bezier(.2,.8,.2,1)!important}
.nc-w .wpforms-page-indicator-steps{font-family:var(--mono); font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--coral)!important}
/* Frage */
.nc-w .wpforms-field{padding:0 0 .4rem!important}
.nc-w .wpforms-field-label{font-family:var(--serif)!important; font-weight:500!important; font-size:clamp(1.4rem,4.2vw,1.8rem)!important; line-height:1.2!important; color:var(--text)!important; margin:0 0 .35rem!important}
.nc-w .wpforms-field-description{color:var(--blau)!important; font-size:.95rem!important; margin:0 0 .8rem!important}
.nc-w .wpforms-required-label{color:var(--coral)!important}
/* Antwortkarten */
.nc-w .wpforms-field-radio ul,.nc-w .wpforms-field-checkbox ul{display:grid!important; gap:.55rem; margin:.5rem 0!important; padding:0!important; counter-reset:o}
.nc-w .wpforms-field-radio ul li,.nc-w .wpforms-field-checkbox ul li{position:relative; overflow:visible; list-style:none; margin:0!important; padding:0!important; width:100%!important; float:none!important}
.nc-w ul li input[type=radio],.nc-w ul li input[type=checkbox]{position:absolute!important; opacity:0; width:1px; height:1px; left:0; top:0; margin:0}
.nc-w ul li label.wpforms-field-label-inline{counter-increment:o; display:flex!important; align-items:center; gap:.8rem; width:100%; margin:0!important; padding:.8rem 1rem!important; font-family:var(--sans)!important; font-size:1rem!important; font-weight:400!important; line-height:1.4!important; color:var(--text)!important; background:#fff; border:1.5px solid var(--denim); border-radius:14px; cursor:pointer; transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}
.nc-w ul li label.wpforms-field-label-inline::before{content:counter(o); flex:none; width:1.7rem; height:1.7rem; border-radius:8px; background:var(--denim); color:var(--blau); font:700 .85rem/1.7rem var(--mono); text-align:center; transition:all .2s}
.nc-w ul li:hover label.wpforms-field-label-inline{transform:translateY(-2px); border-color:var(--blau); box-shadow:0 8px 18px -12px rgba(42,90,140,.6)}
.nc-w ul li.nc-sel label.wpforms-field-label-inline{border-color:var(--coral); background:#fff5f4; transform:scale(1.015); animation:nc-pop .4s cubic-bezier(.3,1.6,.5,1)}
.nc-w ul li.nc-sel label.wpforms-field-label-inline::before{content:"✓"; background:var(--coral); color:#fff}
.nc-w ul li input:focus-visible + label{outline:3px solid var(--blau); outline-offset:2px}
.nc-w .nc-single.nc-has-sel ul li:not(.nc-sel) label.wpforms-field-label-inline{opacity:.55}
@keyframes nc-pop{0%{transform:scale(.97)}60%{transform:scale(1.04)}100%{transform:scale(1.015)}}
.nc-spark{position:absolute; width:8px; height:8px; border-radius:50%; pointer-events:none; z-index:20; animation:nc-spark .7s ease-out forwards}
@keyframes nc-spark{to{transform:translate(var(--dx),var(--dy)) scale(.2); opacity:0}}
.nc-echo{min-height:1.5rem; margin:.2rem 0 .3rem; font-family:var(--serif); font-style:italic; color:var(--blau); opacity:0; transform:translateY(6px); transition:all .35s}
.nc-echo.on{opacity:1; transform:none}
/* Ergänzungsfeld: erst per Klick (nur wenn JS läuft) */
.nc-w.nc-js .nc-note{display:none}
.nc-w.nc-js .nc-note.nc-open{display:block; animation:nc-in .35s ease both}
.nc-toggle{display:inline-block; background:#fff; border:1.5px dashed var(--blau); border-radius:999px; padding:.4rem .9rem; margin:.4rem 0 .6rem; font:inherit; font-size:.9rem; color:var(--blau); cursor:pointer; transition:background .2s,transform .15s}
.nc-toggle:hover{background:var(--denim); transform:translateY(-1px)}
.nc-w .wpforms-page-next.nc-ready{animation:nc-ready 1s ease 1}
@keyframes nc-ready{30%{transform:scale(1.08)}60%{transform:scale(.97)}}
.nc-w textarea{width:100%!important; max-width:100%!important; font:inherit; background:#fff; border:1.5px solid var(--denim); border-radius:12px; padding:.7rem .85rem}
.nc-w textarea:focus{outline:none; border-color:var(--blau); box-shadow:0 0 0 3px rgba(42,90,140,.18)}
/* Buttons */
.nc-w .wpforms-page-button,.nc-w button.wpforms-submit{font:inherit!important; font-weight:600!important; border:0!important; border-radius:999px!important; padding:.8rem 1.5rem!important; background:var(--coral)!important; color:#fff!important; cursor:pointer; box-shadow:0 10px 22px -12px rgba(217,38,34,.9); transition:transform .15s,background .2s}
.nc-w .wpforms-page-button:hover,.nc-w button.wpforms-submit:hover{background:var(--coral2)!important; transform:translateY(-2px)}
.nc-w .wpforms-page-prev{background:#fff!important; color:var(--blau)!important; border:1.5px solid var(--denim)!important; box-shadow:none!important}
.nc-w .wpforms-page-button:focus-visible,.nc-w button.wpforms-submit:focus-visible{outline:3px solid var(--blau); outline-offset:2px}
.nc-w .wpforms-field-container{margin-bottom:.4rem}
.nc-w.nc-shake{animation:nc-shake .4s}
@keyframes nc-shake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
/* WPForms-Antispam-/Pflichtfehler */
.nc-w label.wpforms-error{color:var(--coral)!important; font-size:.9rem!important}
/* Bestätigung + Teilen */
.wpforms-confirmation-container-full{max-width:680px; margin:0 auto; background:var(--denim,#dce6f0)!important; border:0!important; border-radius:22px; color:#28292d; padding:1.6rem!important; font-family:"DM Sans",system-ui,sans-serif; position:relative; overflow:hidden}
.wpforms-confirmation-container-full p{font-family:"Newsreader",Georgia,serif; font-size:1.3rem; margin:0 0 .8rem}
.nc-share{display:flex; flex-wrap:wrap; gap:.5rem; margin:.8rem 0 .2rem}
.wpforms-confirmation-container-full p.nc-share-title{font:700 .8rem/1.4 "Courier Prime","Courier New",monospace; letter-spacing:.08em; text-transform:uppercase; color:#d92622; margin:1rem 0 0}
.nc-btn{font:inherit; font-size:.9rem; font-weight:600; border:1.5px solid #fff; border-radius:999px; padding:.6rem 1.1rem; cursor:pointer; background:#fff; color:#2a5a8c; transition:transform .15s}
.nc-btn:hover{transform:translateY(-2px)}
.nc-btn.li{background:#0a66c2; border-color:#0a66c2; color:#fff}
/* Zähler [nc_umfrage_zaehler] */
.nc-zaehler{display:flex; gap:1.2rem; align-items:center; max-width:680px; margin:1rem auto; padding:1rem 1.1rem; background:#fff; border:1px solid #dce6f0; border-radius:16px; font-family:"DM Sans",system-ui,sans-serif; color:#28292d}
.nc-zaehler p{margin:0; font-size:.95rem}
.nc-z-ring{position:relative; width:110px; height:110px; flex:none}
.nc-z-ring svg{width:100%; height:100%; transform:rotate(-90deg)}
.nc-z-ring circle{fill:none; stroke-width:9; stroke-linecap:round}
.nc-z-ring .bg{stroke:#dce6f0}
.nc-z-ring .fg{stroke:#d92622; stroke-dasharray:339.3; transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1)}
.nc-z-num{position:absolute; inset:0; display:grid; place-content:center; text-align:center; font-family:"Newsreader",Georgia,serif; font-size:1.8rem; line-height:1}
.nc-z-num small{font:.7rem "DM Sans",system-ui,sans-serif; color:#2a5a8c; margin-top:.2rem}
@media (max-width:520px){div.wpforms-container-full.nc-w .wpforms-form{padding:1.1rem 1rem 1.2rem}.nc-zaehler{flex-direction:column;text-align:center}}
@media (prefers-reduced-motion:reduce){.nc-w *,.nc-w{animation-duration:.01ms!important; transition-duration:.01ms!important}}
.nc-w .wpforms-field-pagebreak{margin-top:1rem}

/* ---- v2: Skala, Limit-Hinweis, Texte, Sperre, Anfrage-Formular ---- */
.nc-w ul li input[type=text],.nc-w input[type=text].wpforms-field-medium,.nc-w input[type=email]{width:100%!important; max-width:100%!important; font:inherit; font-size:1rem; background:#fff; border:1.5px solid var(--denim); border-radius:12px; padding:.7rem .85rem}
.nc-w input[type=text]:focus,.nc-w input[type=email]:focus{outline:none; border-color:var(--blau); box-shadow:0 0 0 3px rgba(42,90,140,.18)}
.nc-limit-msg{margin:.2rem 0 .4rem; padding:.5rem .8rem; border-radius:10px; background:#fff5f4; color:var(--coral); font-size:.9rem; opacity:0; max-height:0; overflow:hidden; transition:all .3s}
.nc-limit-msg.on{opacity:1; max-height:4rem}
.nc-w .wpforms-field-html h3{font-family:var(--serif); font-weight:500; font-size:1.4rem; line-height:1.25; margin:.2rem 0 .8rem; color:var(--text)}
.nc-w .nc-privacy{font-size:.85rem; line-height:1.5; color:#5a5d66; margin:.4rem 0}
.nc-w .nc-privacy a{color:var(--blau)}
/* Skala 1-5: mobil große vertikale Karten, ab 640 px horizontal */
.nc-w .nc-scale ul li label.wpforms-field-label-inline::before{display:none}
.nc-w .nc-scale label .nc-n{flex:none; width:2.2rem; height:2.2rem; border-radius:10px; background:var(--denim); color:var(--blau); font:700 1.1rem/2.2rem var(--serif); text-align:center; transition:all .2s}
.nc-w .nc-scale li.nc-sel label .nc-n{background:var(--coral); color:#fff}
.nc-w .nc-scale label{min-height:3.6rem}
@media (min-width:640px){
  .nc-w .nc-scale ul{grid-template-columns:repeat(5,1fr)}
  .nc-w .nc-scale ul li label.wpforms-field-label-inline{flex-direction:column; justify-content:center; text-align:center; gap:.4rem; min-height:6rem; padding:.8rem .4rem!important; font-size:.88rem!important}
}
.nc-locked{max-width:680px; margin:0 auto; padding:1.4rem 1.5rem; background:#dce6f0; border-radius:22px; text-align:center; font-family:"DM Sans",system-ui,sans-serif; color:#28292d}
.nc-locked p{margin:0 0 .8rem; font-family:"Newsreader",Georgia,serif; font-size:1.3rem}
.nc-lead-wrap{max-width:680px; margin:1.5rem auto}
.nc-lead-wrap{display:none}
.nc-lead-wrap.nc-show{display:block}

/* v3: Fortschritt nur als 'Frage x von y', Titel ausblenden */
.nc-w .wpforms-page-indicator-page-title,.nc-w .wpforms-page-indicator-page-title-sep{display:none!important}
.nc-w .wpforms-page-indicator-steps{font-size:.85rem!important}

/* v3.1: Weiter/Zurück sauber auf einer Linie */
.nc-w .wpforms-pagebreak-left,.nc-w .wpforms-pagebreak-right,.nc-w .wpforms-pagebreak-center{display:flex!important; align-items:center; gap:.75rem; flex-wrap:wrap}
.nc-w .wpforms-page-button-group{display:inline-flex; align-items:center}
.nc-w .wpforms-page-button{display:inline-flex!important; align-items:center; justify-content:center; line-height:1.2!important; min-height:2.9rem; margin:0!important}

/* v3.1: Video-Spalte so hoch wie der Umfrage-Block.
   Spalten-Block: Klasse nc-video-row, die Video-Spalte: nc-video-col. */
.nc-video-row{align-items:stretch!important}
.nc-video-col{position:relative; min-height:320px}
.nc-video-col .wp-block-video{position:absolute; inset:0; margin:0}
.nc-video-col video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:22px; display:block}
.nc-vbtn{position:absolute; right:.8rem; bottom:.8rem; z-index:3; font:600 .8rem/1 "DM Sans",system-ui,sans-serif; color:#fff; background:rgba(40,41,45,.65); border:0; border-radius:999px; padding:.5rem .8rem; cursor:pointer}
.nc-vbtn:hover{background:rgba(40,41,45,.85)}
.nc-vbtn:focus-visible{outline:3px solid #fff; outline-offset:2px}
@media (max-width:781px){.nc-video-col{min-height:360px}}

/* v3.2: LinkedIn-Profilkarte [nc_linkedin] */
.nc-li{display:flex; gap:1.1rem; align-items:center; max-width:520px; margin:1rem 0; padding:1.1rem 1.2rem; background:#faf9f5; border:1px solid #dce6f0; border-radius:18px; font-family:"DM Sans",system-ui,sans-serif; color:#28292d}
.nc-li-photo{flex:none; width:72px; height:72px; border-radius:50%; background:#2a5a8c; color:#fff; display:grid; place-items:center; overflow:hidden; font:500 1.5rem "Newsreader",Georgia,serif}
.nc-li-photo img{width:100%; height:100%; object-fit:cover; display:block}
.nc-li-body{display:flex; flex-direction:column; gap:.15rem; min-width:0}
.nc-li-body strong{font:500 1.25rem/1.25 "Newsreader",Georgia,serif}
.nc-li-body span{font-size:.92rem; color:#5a5d66; margin-bottom:.5rem}
.nc-li-body .nc-btn{align-self:flex-start; text-decoration:none; display:inline-block; color:#fff}
@media (max-width:480px){.nc-li{flex-direction:column; text-align:center}.nc-li-body .nc-btn{align-self:center}}
