    #rsrv-widget { all: initial; }
    #rsrv-widget, #rsrv-widget * { box-sizing: border-box; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial; }
    #rsrv-backdrop{ position: fixed; inset: 0; background: rgba(15,18,22,.55); backdrop-filter: blur(3px);
      display:none; align-items:center; justify-content:center; z-index: 9998; }
    #rsrv-backdrop.rs-open{ display:flex; }
    #rsrv-modal{ width:min(640px,calc(100vw - 32px)); background:#fff; color:#0a0a0a; border-radius:16px;
      box-shadow:0 10px 25px rgba(0,0,0,.25); transform: translateY(10px) scale(.98); opacity:0;
      transition: transform .18s ease, opacity .18s ease; overflow:hidden; }
    #rsrv-modal.rs-open{ transform: translateY(0) scale(1); opacity:1; }
    .rs-hd{ background:#0b0c10; color:#f7f7f7; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; }
    .rs-bd{ padding:18px; } .rs-g{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    @media (max-width:640px){ .rs-g{ grid-template-columns:1fr; } }
    label{ display:block; font-weight:600; font-size:13px; margin:6px 0; }
    input, select, textarea{ width:100%; border:1px solid #e5e7eb; border-radius:12px; padding:12px; font-size:14px; }
    input:focus, select:focus, textarea:focus{ border-color:#2dd4bf; box-shadow:0 0 0 4px rgba(45,212,191,.15); outline:0; }
    textarea{ min-height:88px; resize:vertical; }
    .rs-help{ font-size:12px; color:#6b7280; margin-top:4px; }
    .rs-ft{ padding:16px 18px; display:flex; gap:10px; justify-content:flex-end; border-top:1px solid #e5e7eb; }
    .rs-btn{ border:0; padding:12px 16px; border-radius:12px; font-weight:800; cursor:pointer; }
    .rs-btn.rs-ghost{ background:#f3f4f6; } .rs-btn.rs-primary{ background:#2dd4bf; color:#04221e; }
    .rs-status{ display:none; margin-top:8px; font-size:13px; }
    .rs-status.rs-show{ display:block; }
    .rs-ok{ color:#065f46; } .rs-err{ color:#ef4444; }
    .rs-req::after{ content:" *"; color:#ef4444; font-weight:900; }

    /* Checkbox + Text in einer Zeile */
    .rs-consent{ display:flex; gap:8px; align-items:center; margin-top:8px; }
    .rs-consent input{ width:16px; height:16px; }
