.immo-gp-form-wrap {
  font-family: var(--immo-font, Inter, system-ui, Segoe UI, Arial, sans-serif);
  background: radial-gradient(circle at 8% 0%, var(--immo-glow, rgba(56,91,237,.16)), transparent 28%), linear-gradient(135deg, var(--immo-surface, #fff), var(--immo-paper, #F3F5F9));
  border: 1px solid var(--immo-border, rgba(17,24,45,.12));
  border-radius: var(--immo-radius-panel, 28px);
  padding: clamp(24px, 4vw, 44px);
  box-shadow: var(--immo-shadow-soft, 0 18px 50px rgba(17,24,45,.08));
  color: var(--immo-navy, #11182D);
  position: relative;
  overflow: hidden;
}
.immo-gp-form-wrap:before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(42,70,183,.04) 1px, transparent 1px),linear-gradient(90deg,rgba(42,70,183,.04) 1px, transparent 1px); background-size:44px 44px; opacity:.45; }
.immo-gp-form-wrap > * { position:relative; z-index:1; }
.immo-gp-form h2 { margin-top: 0; color: var(--immo-navy, #11182D); letter-spacing: -.025em; font-size:clamp(1.6rem,3vw,2.35rem); }
.immo-gp-help { color: rgba(17,24,45,.72); max-width: 780px; line-height:1.65; }
.immo-gp-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.immo-gp-form label { display: flex; flex-direction: column; gap: 7px; font-weight: 650; font-size: .96rem; margin-bottom: 16px; }
.immo-gp-form input[type="text"], .immo-gp-form input[type="email"], .immo-gp-form input[type="tel"], .immo-gp-form select, .immo-gp-form textarea {
  width: 100%; border: 1px solid var(--immo-border, rgba(17,24,45,.12)); border-radius: 14px; padding: 12px 14px; background: rgba(255,255,255,.92); color: var(--immo-navy, #11182D); font: inherit; box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.immo-gp-form input:focus, .immo-gp-form select:focus, .immo-gp-form textarea:focus { outline:2px solid rgba(56,91,237,.25); border-color:var(--immo-accent,#385BED); }
.immo-gp-fieldset { border: 1px solid var(--immo-border, rgba(17,24,45,.12)); border-radius: 18px; padding: 16px 18px; margin: 0 0 18px; background: rgba(255,255,255,.72); backdrop-filter: blur(10px); }
.immo-gp-fieldset legend { font-weight: 750; padding: 0 6px; }
.immo-gp-fieldset label, .immo-gp-consent { display: block; font-weight: 520; }
.immo-gp-disclaimer { color: rgba(17,24,45,.66); font-size: .92rem; line-height:1.55; }
.immo-gp-submit { border: 0; border-radius: var(--immo-radius-button, 999px); background: linear-gradient(135deg,var(--immo-blue, #2A46B7), var(--immo-accent,#385BED)); color: #fff; padding: 14px 24px; font-weight: 760; cursor: pointer; min-height: 48px; box-shadow: 0 16px 34px rgba(42,70,183,.22); }
.immo-gp-submit:hover { transform: translateY(-1px); box-shadow: 0 18px 38px rgba(42,70,183,.28); }
.immo-gp-notice { border-radius: 16px; padding: 14px 16px; margin-bottom: 18px; border: 1px solid var(--immo-border, rgba(17,24,45,.12)); }
.immo-gp-notice-success { background: #eef8f1; }
.immo-gp-notice-error { background: #fff1f1; }
@media (max-width: 760px) { .immo-gp-grid { grid-template-columns: 1fr; } }

.immo-gp-cta{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;padding:.82rem 1.15rem;font-weight:650;text-decoration:none;border:1px solid var(--immo-border,rgba(17,24,45,.14));transition:transform .16s ease, box-shadow .16s ease, background .16s ease;}
.immo-gp-cta:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(17,24,45,.12);text-decoration:none;}
.immo-gp-cta-primary{background:var(--immo-blue,#2A46B7);color:#fff;border-color:var(--immo-blue,#2A46B7);}
.immo-gp-cta-secondary{background:#fff;color:var(--immo-navy,#11182D);}
.immo-gp-cta-quiet{background:transparent;color:var(--immo-blue,#2A46B7);}

/* v1.5.4 Wartelisten Visual Guard */
.immo-gp-waitlist-native{background:linear-gradient(135deg,#11182D 0%,#2A46B7 100%);color:#fff;border-radius:28px;padding:clamp(28px,5vw,64px);margin:32px 0;box-shadow:0 22px 60px rgba(17,24,45,.18);}
.immo-gp-waitlist-native h1,.immo-gp-waitlist-native h2,.immo-gp-waitlist-native h3{color:#fff;letter-spacing:-.02em;}
.immo-gp-waitlist-native p{color:rgba(255,255,255,.88);max-width:850px;}
.immo-gp-waitlist-native .wp-block-column{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:22px;backdrop-filter:blur(8px);}
.immo-gp-waitlist-native .wp-block-button__link{background:#fff;color:#11182D;border-radius:999px;font-weight:700;padding:13px 22px;text-decoration:none;}
.immo-gp-waitlist-native .immo-gp-form-wrap{background:#fff;color:#11182D;margin-top:18px;}
.immo-gp-waitlist-native .immo-gp-form-wrap p,.immo-gp-waitlist-native .immo-gp-form-wrap label{color:#11182D;}
@media(max-width:782px){.immo-gp-waitlist-native{border-radius:20px;padding:24px}.immo-gp-waitlist-native .wp-block-column{margin-bottom:14px}}
