.public-partner-toast{
  position:fixed;
  right:clamp(18px,2.5vw,32px);
  top:clamp(16px,2vw,24px);
  z-index:120;
  max-width:min(420px,calc(100vw - 36px));
  padding:1rem 1.1rem;
  border-radius:16px;
  border:1px solid rgba(11,44,65,.12);
  background:rgba(255,253,248,.97);
  color:#0b2c41;
  box-shadow:0 18px 54px rgba(11,44,65,.16);
  backdrop-filter:blur(12px);
}
.public-partner-toast.is-success{border-color:rgba(72,134,93,.24)}
.public-partner-toast.is-error{border-color:rgba(156,72,72,.24)}

.public-partner-modal[hidden]{display:none !important;}
.public-partner-modal{
  position:fixed;
  inset:0;
  z-index:160;
  display:grid;
  place-items:center;
  padding:clamp(16px,3vw,32px);
}
.public-partner-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(6,27,42,.58);
  backdrop-filter:blur(6px);
}
.public-partner-modal__dialog{
  position:relative;
  z-index:1;
  width:min(760px,100%);
  max-height:calc(100svh - 32px);
  overflow:auto;
  padding:clamp(1.35rem,3vw,2rem);
  border-radius:24px;
  border:1px solid rgba(11,44,65,.10);
  background:linear-gradient(180deg,#fffdf8 0%,#fbf9f6 100%);
  box-shadow:0 28px 88px rgba(6,27,42,.24);
}
.public-partner-modal__close{
  position:absolute;
  top:12px;
  right:12px;
  width:42px;
  height:42px;
  border:1px solid rgba(11,44,65,.12);
  border-radius:999px;
  background:#fff;
  color:#0b2c41;
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
}
.public-partner-modal__head{margin-bottom:1.25rem;padding-right:3rem;}
.public-partner-modal__eyebrow{
  margin:0 0 .45rem;
  color:#a88246;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:900;
}
.public-partner-modal__head h2{
  margin:0 0 .75rem;
  color:#0b2c41;
  font-size:clamp(1.9rem,3.2vw,2.8rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.public-partner-modal__head p{
  margin:0;
  color:rgba(11,44,65,.64);
  line-height:1.65;
}
.public-partner-modal__form{display:grid;gap:1rem;}
.public-partner-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.public-partner-modal__form label{display:grid;gap:.45rem;}
.public-partner-modal__form span{
  color:rgba(11,44,65,.58);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:850;
}
.public-partner-modal__form input,
.public-partner-modal__form textarea{
  width:100%;
  border:1px solid rgba(11,44,65,.14);
  border-radius:16px;
  padding:.86rem .95rem;
  background:#fff;
  color:#0b2c41;
  font:inherit;
  resize:vertical;
  outline:none;
}
.public-partner-modal__form input:focus,
.public-partner-modal__form textarea:focus{
  border-color:rgba(198,165,112,.72);
  box-shadow:0 0 0 3px rgba(198,165,112,.14);
}
.public-partner-form-check{
  display:flex !important;
  align-items:flex-start;
  gap:.8rem;
}
.public-partner-form-check input{
  width:18px;
  height:18px;
  margin-top:.15rem;
  flex:0 0 auto;
}
.public-partner-form-check span{
  font-size:.95rem !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:500 !important;
  line-height:1.6;
  color:rgba(11,44,65,.68) !important;
}
.public-partner-form-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.public-partner-modal__actions{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:.35rem;
}
.public-partner-button[type="button"],
.public-partner-button[type="submit"]{cursor:pointer;}
body.public-partner-modal-open{overflow:hidden;}

@media(max-width:760px){
  .public-partner-form-grid{grid-template-columns:1fr;}
  .public-partner-modal__dialog{padding:1rem;border-radius:20px;}
  .public-partner-modal__actions{display:grid;grid-template-columns:1fr;}
  .public-partner-modal__actions .public-partner-button{width:100%;}
  .public-partner-toast{left:18px;right:18px;max-width:none;}
}


.public-partner-toast{display:flex;align-items:flex-start;justify-content:flex-start;gap:.9rem;}
.public-partner-toast.is-hiding{opacity:0;transform:translateY(-8px);transition:opacity .22s ease, transform .22s ease;}


/* V3 – AJAX Kontaktformular */
.public-partner-button[disabled]{opacity:.72;cursor:wait;}


/* V4 – Inline-Fehler im Popup statt Toast im Hintergrund */
.public-partner-modal__status{padding:.9rem 1rem;border-radius:16px;border:1px solid rgba(156,72,72,.22);background:rgba(173,87,87,.08);color:#7a2e2e;display:grid;gap:.35rem;}
.public-partner-modal__status[hidden]{display:none !important;}
.public-partner-modal__status strong{font-size:.98rem;color:#7a2e2e;}
.public-partner-modal__status p{margin:0;line-height:1.6;color:#7a2e2e;}
.public-partner-modal__status a{color:#0b2c41;font-weight:700;}
