/* No Show Media – Footer Modul. Alle Selektoren unter .nsm-footer gescopt. */

.nsm-footer{
  --purple:#7F37CA;
  --purple-deep:#7F30D6;
  --purple-ink:#170526;
  --yellow:#FFDE32;
  --orange:#FFC240;
  --white:#ffffff;
  --ink:#140320;
  --maxw:1280px;
  --ease:cubic-bezier(.22,1,.36,1);
  font-family:'Archivo',system-ui,sans-serif;
  color:#fff;
  background:var(--purple-ink);
  /* Full-Bleed: volle Breite unabhängig vom Elementor-Container */
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.nsm-footer *{box-sizing:border-box;}
.nsm-footer h1,.nsm-footer h2,.nsm-footer h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;line-height:.92;letter-spacing:.005em;}
.nsm-footer a{color:inherit;text-decoration:none;}
.nsm-footer .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

/* smoke */
.nsm-footer .smoke{position:absolute;inset:auto -8% -20% -8%;height:80%;top:auto;z-index:1;pointer-events:none;filter:url(#smokef) blur(7px);opacity:.5;mix-blend-mode:screen;}
.nsm-footer .plume{position:absolute;border-radius:50%;filter:blur(26px);will-change:transform,opacity;}
.nsm-footer .plume.p1{width:560px;height:560px;left:-4%;bottom:-22%;background:radial-gradient(circle,rgba(127,55,202,.95),rgba(127,48,214,.28) 46%,transparent 70%);animation:smoke1 26s ease-in-out infinite;}
.nsm-footer .plume.p2{width:440px;height:440px;left:34%;bottom:-28%;background:radial-gradient(circle,rgba(127,48,214,.85),rgba(127,55,202,.22) 48%,transparent 72%);animation:smoke2 32s ease-in-out infinite;}
.nsm-footer .plume.p3{width:500px;height:500px;right:2%;bottom:-24%;background:radial-gradient(circle,rgba(151,86,224,.8),rgba(127,48,214,.2) 48%,transparent 72%);animation:smoke3 29s ease-in-out infinite;}
@media(prefers-reduced-motion:reduce){.nsm-footer .smoke{filter:blur(34px);}.nsm-footer .plume{animation:none!important;}}

/* logo */
.nsm-footer .logo{font-family:'Anton',sans-serif;text-transform:uppercase;color:var(--white);font-size:24px;letter-spacing:.02em;display:flex;align-items:center;gap:9px;}
.nsm-footer .logo b{color:var(--yellow);font-weight:400;}
.nsm-footer .logo .dot{width:11px;height:11px;border-radius:50%;background:var(--orange);display:inline-block;}

/* footer shell */
.nsm-footer .footer{background:var(--purple-ink);color:#fff;padding:0 0 30px;position:relative;overflow:hidden;}
.nsm-footer .footer .wrap{position:relative;z-index:2;}

/* newsletter band */
.nsm-footer .foot-news{border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:2;}
.nsm-footer .foot-news .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:56px;padding-bottom:50px;flex-wrap:wrap;}
.nsm-footer .foot-news h3{font-size:clamp(30px,4vw,52px);max-width:560px;}
.nsm-footer .foot-news h3 .y{color:var(--yellow);}
.nsm-footer .news-form{display:flex;gap:12px;flex-wrap:wrap;min-width:300px;flex:1;max-width:440px;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;}
.nsm-footer .news-form input{flex:1;min-width:200px;border:2px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);border-radius:100px;padding:15px 22px;font-family:inherit;font-size:15px;font-weight:500;color:#fff;transition:border-color .2s,box-shadow .2s;}
.nsm-footer .news-form input::placeholder{color:rgba(255,255,255,.5);}
.nsm-footer .news-form input:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 4px rgba(255,222,50,.14);}
.nsm-footer .news-form button{background:var(--yellow);color:var(--purple-ink);border:0;border-radius:100px;padding:15px 26px;font-family:inherit;font-weight:800;font-size:15px;cursor:pointer;transition:transform .25s var(--ease),background .2s;white-space:nowrap;}
.nsm-footer .news-form button:hover{transform:translateY(-2px);background:var(--orange);}
.nsm-footer .news-ok{color:var(--yellow);font-weight:700;font-size:15px;display:none;align-items:center;gap:8px;}
.nsm-footer .news-ok.show{display:flex;}
.nsm-footer .foot-news-head{max-width:560px;}
.nsm-footer .foot-news-sub{margin-top:14px;color:rgba(255,255,255,.68);font-size:15.5px;line-height:1.55;font-weight:500;}
.nsm-footer .foot-news-form{min-width:300px;flex:1;max-width:460px;}
.nsm-footer .foot-news-form .news-form{max-width:none;min-width:0;width:100%;}
.nsm-footer .news-fine{margin-top:12px;color:rgba(255,255,255,.46);font-size:12.5px;line-height:1.5;font-weight:500;}
.nsm-footer .news-fine a{color:rgba(255,255,255,.72);text-decoration:underline;text-underline-offset:2px;}
.nsm-footer .news-fine a:hover{color:var(--yellow);}

/* columns */
.nsm-footer .foot-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-top:62px;padding-bottom:20px;}
.nsm-footer .foot-brand .logo{font-size:24px;margin-bottom:18px;}
.nsm-footer .foot-brand p{color:rgba(255,255,255,.66);font-size:15px;line-height:1.6;font-weight:500;max-width:330px;margin-bottom:24px;}
.nsm-footer .foot-socials{display:flex;gap:10px;flex-wrap:wrap;}
.nsm-footer .foot-socials a{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(255,255,255,.18);color:rgba(255,255,255,.82);padding:9px 16px;border-radius:100px;font-weight:700;font-size:13.5px;transition:all .2s var(--ease);}
.nsm-footer .foot-socials a:hover{border-color:var(--yellow);color:var(--purple-ink);background:var(--yellow);transform:translateY(-2px);}
.nsm-footer .foot-col h4{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.14em;color:var(--yellow);margin-bottom:20px;}
.nsm-footer .foot-col ul{list-style:none;display:flex;flex-direction:column;gap:13px;margin:0;padding:0;}
.nsm-footer .foot-col a{color:rgba(255,255,255,.72);font-weight:600;font-size:15px;transition:color .2s,padding-left .2s;display:inline-block;}
.nsm-footer .foot-col a:hover{color:var(--yellow);padding-left:5px;}
.nsm-footer .foot-contact .ci{color:var(--yellow);font-weight:800;margin-right:8px;}
.nsm-footer .foot-contact li{color:rgba(255,255,255,.72);font-weight:600;font-size:15px;line-height:1.5;}
.nsm-footer .foot-contact a{display:inline;}

/* big wordmark */
.nsm-footer .foot-big{position:relative;margin-top:40px;font-family:'Anton',sans-serif;font-size:clamp(60px,16vw,250px);line-height:.86;text-transform:uppercase;letter-spacing:.01em;}
.nsm-footer .foot-big::after{content:"";position:absolute;inset:-30% -10%;z-index:-1;background:radial-gradient(60% 80% at 30% 60%,rgba(127,48,214,.45),transparent 70%);filter:blur(40px);}
.nsm-footer .foot-big .y{color:var(--yellow);}
.nsm-footer .foot-big .o{-webkit-text-stroke:2px var(--orange);color:transparent;}

.nsm-footer .foot-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14);flex-wrap:wrap;}
.nsm-footer .foot-row.no-big{margin-top:40px;}
.nsm-footer .foot-links{display:flex;gap:26px;flex-wrap:wrap;}
.nsm-footer .foot-links a{color:rgba(255,255,255,.72);font-weight:600;font-size:14.5px;transition:color .2s;}
.nsm-footer .foot-links a:hover{color:var(--yellow);}
.nsm-footer .foot-copy{color:rgba(255,255,255,.5);font-size:14px;font-weight:500;}

@media(max-width:960px){
  .nsm-footer .foot-cols{grid-template-columns:1fr 1fr;gap:36px 30px;}
  .nsm-footer .foot-brand{grid-column:1/-1;}
}
@media(max-width:680px){
  .nsm-footer .wrap{padding:0 20px;}
  .nsm-footer .foot-cols{grid-template-columns:1fr;}
  .nsm-footer .foot-news .wrap{flex-direction:column;align-items:flex-start;}
  .nsm-footer .news-form{max-width:none;width:100%;}
  .nsm-footer .foot-row{flex-direction:column;align-items:flex-start;gap:16px;}
}
/* ===== Fluent Forms Newsletter im Footer ans Markendesign angleichen ===== */
.nsm-footer .news-form form,
.nsm-footer .news-form .frm-fluent-form,
.nsm-footer .news-form .fluentform{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;}
.nsm-footer .news-form .fluentform{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;}
.nsm-footer .news-form .ff-t-container,
.nsm-footer .news-form .ff-el-group{flex:1 1 200px;margin:0!important;}
.nsm-footer .news-form .ff_submit_btn_wrapper{flex:0 0 auto;margin:0!important;}
.nsm-footer .news-form .ff-el-input--label{display:none;}
.nsm-footer .news-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.nsm-footer .news-form .ff-el-form-control{
  width:100%;border:2px solid rgba(255,255,255,.2)!important;background:rgba(255,255,255,.05)!important;
  border-radius:100px!important;padding:15px 22px!important;font-family:inherit;font-size:15px;font-weight:500;color:#fff!important;height:auto!important;box-shadow:none!important;
}
.nsm-footer .news-form input::placeholder{color:rgba(255,255,255,.5);}
.nsm-footer .news-form input:focus,
.nsm-footer .news-form .ff-el-form-control:focus{outline:none;border-color:var(--yellow)!important;box-shadow:0 0 0 4px rgba(255,222,50,.14)!important;}
.nsm-footer .news-form button[type=submit],
.nsm-footer .news-form .ff-btn-submit{
  background:var(--yellow)!important;color:var(--purple-ink)!important;border:0!important;border-radius:100px!important;
  padding:15px 26px!important;font-family:inherit;font-weight:800;font-size:15px;cursor:pointer;white-space:nowrap;transition:transform .25s,background .2s;
}
.nsm-footer .news-form button[type=submit]:hover,
.nsm-footer .news-form .ff-btn-submit:hover{background:var(--orange)!important;transform:translateY(-2px);}
.nsm-footer .news-form .ff-message-success,
.nsm-footer .news-form .ff-el-is-error .error{color:var(--yellow);font-weight:700;}
/* Fluent-Forms Newsletter – Abstände enger, kompakt wie das Original */
.nsm-footer .news-form .ff-message-success,
.nsm-footer .news-form .ff-el-progress,
.nsm-footer .news-form .ff-el-group.ff-el-form-check{margin:0!important;}
.nsm-footer .news-form .ff-message-success:empty{display:none!important;}
.nsm-footer .news-form .frm-fluent-form,
.nsm-footer .news-form .fluentform{margin:0!important;padding:0!important;}
.nsm-footer .foot-news-form .news-form{margin-bottom:0!important;}
.nsm-footer .news-form .ff-el-input--content{margin:0!important;}
/* Fluent Forms Newsletter – FF-Grid in eine kompakte Zeile zwingen (nicht auseinanderziehen) */
.nsm-footer .foot-news-form{max-width:460px;}
.nsm-footer .news-form,
.nsm-footer .news-form .fluent_form_wrapper{width:100%;max-width:100%;}
.nsm-footer .news-form .frm-fluent-form,
.nsm-footer .news-form .fluentform{display:flex!important;flex-wrap:wrap;gap:12px!important;align-items:flex-start;width:100%;max-width:100%;}
.nsm-footer .news-form .ff-t-container{display:flex!important;flex:1 1 180px;flex-wrap:wrap;gap:12px!important;grid-template-columns:none!important;width:auto!important;min-width:0;margin:0!important;}
.nsm-footer .news-form .ff-t-cell,
.nsm-footer .news-form .ff-el-group{flex:1 1 180px;width:auto!important;min-width:0;max-width:100%;margin:0!important;padding:0!important;}
.nsm-footer .news-form .ff_submit_btn_wrapper,
.nsm-footer .news-form .ff-t-cell.ff_submit_btn_wrapper{flex:0 0 auto!important;}
/* Fluent Forms 2-Spalten-Zeile: 50/50-Split aufheben – E-Mail füllt, Button passt sich an */
.nsm-footer .news-form .ff-t-container.ff-column-container{display:flex!important;gap:12px!important;grid-template-columns:none!important;align-items:flex-start!important;width:100%;}
.nsm-footer .news-form .ff-t-cell{padding:0!important;min-width:0!important;}
.nsm-footer .news-form .ff-t-cell.ff-t-column-1{flex:1 1 auto!important;flex-basis:auto!important;}
.nsm-footer .news-form .ff-t-cell.ff-t-column-2{flex:0 0 auto!important;flex-basis:auto!important;}
.nsm-footer .news-form .ff-btn-submit,
.nsm-footer .news-form .wpf_has_custom_css.ff-btn-submit{min-width:0!important;width:auto!important;}
.nsm-footer .news-form .ff-el-group{margin:0!important;}
/* Newsletter-Band: Formular + Feinprint zusammenhalten (keine Lücke, egal wie hoch die Spalte) */
.nsm-footer .foot-news-form{display:flex;flex-direction:column;justify-content:flex-start;}
.nsm-footer .foot-news-form > .news-form{margin-bottom:0!important;}
.nsm-footer .foot-news-form > .news-fine{margin-top:14px!important;}
.nsm-footer .news-form .ff-errors-in-stack:empty{display:none!important;}
.nsm-footer .news-form .ff-errors-in-stack{margin:0!important;}
/* Newsletter: FF-Rest-Höhe unter der Eingabezeile entfernen (Fehler-/Submit-Container) */
.nsm-footer .news-form .ff-step-body,
.nsm-footer .news-form .ff-step-container,
.nsm-footer .news-form .ff-t-container.ff-column-container{margin-bottom:0!important;}
.nsm-footer .news-form .ff_submit_btn_wrapper{align-self:flex-start;margin:0!important;padding:0!important;}
.nsm-footer .news-form .ff-el-group:last-child,
.nsm-footer .news-form .frm-fluent-form > *:last-child{margin-bottom:0!important;}
.nsm-footer .news-form .ff-errors-in-stack:empty{display:none!important;}
.nsm-footer .news-form .ff-errors-in-stack{margin:0!important;}
.nsm-footer .news-form .ff-message-success{margin:8px 0 0!important;}
