/* Shortcode-Gate */
.plz-gate {
        max-width: 520px;
        margin: 40px auto;
        padding: 24px;
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 10px;
}
.plz-gate h2 { margin-top: 0; }
.plz-gate__form { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; }
.plz-gate__form label { grid-column: 1 / -1; margin-bottom: 2px; }
#plz-input { padding: 10px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 16px; }
#plz-check-btn { padding: 10px 16px; border: 1px solid #334155; background:#334155; color:#fff; border-radius:6px; cursor:pointer; }
#plz-check-btn:hover { opacity:.95; }
.plz-gate__msg { min-height: 22px; margin-top: 10px; font-weight: 600; }
.plz-gate__msg.ok { color: #067a1f; }
.plz-gate__msg.fail { color: #a10f0f; }
.plz-gate__next { margin-top: 12px; }
.plz-gate__continue { display:inline-block; padding:10px 14px; border:1px solid #0f172a; border-radius:6px; text-decoration:none; }

/* Blockierendes Modal (Gate-Seite) */
.plz-modal-open { overflow: hidden; }
.plz-modal {
        position: fixed; inset: 0; z-index: 2147483647;
        display: grid; place-items: center;
}
.plz-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.50); }
.plz-modal__panel {
        position: relative; z-index: 1;
        width: min(92vw, 520px);
        background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
        padding: 24px; box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.plz-modal .plz-gate__form { display:grid; grid-template-columns: 1fr auto; gap: 8px; align-items:end; }
.plz-modal #plz-input-modal { padding: 10px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 16px; }
.plz-modal #plz-check-btn-modal { padding: 10px 16px; border: 1px solid #334155; background:#334155; color:#fff; border-radius: 6px; cursor:pointer; }
.plz-gate__msg.ok   { color: #067a1f; }
.plz-gate__msg.fail { color: #a10f0f; }

/* Badge oben links (nach Bestätigung) */
.plz-badge {
    position: absolute; top: 160px; left: 10px; z-index: 99999;
    background: #f07d00; color: #fff; border-radius: 8px;
    padding: 8px 10px; font-size: 14px; line-height: 1.2;
    box-shadow: 0 6px 20px rgba(0,0,0,.25);
    display: inline-flex; gap: 8px; align-items: center;
}
.plz-badge__btn {
    background: #fff; color: #0f172a; border: none; cursor: pointer;
    border-radius: 6px; padding: 4px 8px; font-size: 12px;
}
@media (max-width: 480px){
    .plz-badge { font-size: 13px; }
}
