/* === Overlay-Basis (scoped) — identisch wie oben ================= */
.rwsw-backdrop[hidden]{display:none!important}
.rwsw-backdrop{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(0,0,0,.45);backdrop-filter:blur(2px)}
.rwsw-wrap{position:relative;width:min(920px,calc(100vw - 32px));max-height:min(80vh,900px);background:rgba(12,14,18,.92);color:#e9eef5;border-radius:16px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px rgba(0,0,0,.45);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;transform:translateY(6px) scale(.985);opacity:0;transition:transform .22s ease,opacity .22s ease}
.rwsw-backdrop[data-open="1"] .rwsw-wrap{transform:none;opacity:1}
.rwsw-head,.rwsw-foot{padding:14px 18px;background:linear-gradient(to bottom,rgba(255,255,255,.04),rgba(255,255,255,.02))}
.rwsw-title{margin:0 0 8px;font-size:20px;font-weight:1000;letter-spacing:.6px;background:linear-gradient(135deg,#7a5c12,#f2d675);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 1px rgba(0,0,0,.85),0 8px 22px rgba(201,162,39,.22)}
.rwsw-body{padding:16px 18px 18px;overflow:auto;-ms-overflow-style:none;scrollbar-width:none}
.rwsw-body::-webkit-scrollbar{display:none}
.rwsw-body h3,.rwsw-body h4{margin:0 0 8px;font-weight:1000;letter-spacing:.6px;background:linear-gradient(135deg,#7a5c12,#f2d675);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 1px rgba(0,0,0,.85),0 8px 22px rgba(201,162,39,.22)}
.rwsw-body h3{font-size:20px}
.rwsw-body h4{font-size:15px;margin-top:16px}
.rwsw-close{position:absolute;top:8px;right:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:transform .12s ease,background .12s ease}
.rwsw-close:hover{background:rgba(255,255,255,.12);transform:scale(1.04)}
.rwsw-close:active{transform:scale(.98)}
.rwsw-btn{appearance:none;border:2px solid rgba(201,162,39,.28);cursor:pointer;padding:14px 30px;border-radius:999px;font-weight:900;letter-spacing:.2px;background:linear-gradient(135deg,#f2d675,#c9a227);color:#1a1402;box-shadow:0 0 0 1px rgba(201,162,39,.14) inset,0 6px 20px rgba(201,162,39,.22);transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}
.rwsw-btn:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 0 0 1px rgba(201,162,39,.18) inset,0 10px 26px rgba(201,162,39,.28)}
.rwsw-body a{color:#f2d675;text-decoration:underline;text-underline-offset:2px}
.rwsw-figure{margin:0 0 12px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.rwsw-figure img{display:block;width:100%;height:auto;object-fit:cover}
.rwsw-figure figcaption{font-size:12px;opacity:.75;padding:8px 10px;background:rgba(255,255,255,.06)}
body.rwsw-lock{overflow:hidden}
@media (max-width:520px){.rwsw-wrap{width:calc(100vw - 20px);max-height:85vh}.rwsw-title{font-size:18px}}
/* === Widget-spezifisch (Form) =================================== */
.kontakt{display:grid;gap:10px}
.kontakt .row{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.kontakt label{display:grid;gap:6px;font-weight:700}
.kontakt input,.kontakt textarea{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px;outline:none}
.kontakt input::placeholder,.kontakt textarea::placeholder{opacity:.6}
.kontakt input:focus,.kontakt textarea:focus{border-color:#7a5c12;box-shadow:0 0 0 2px rgba(201,162,39,.25)}
.kontakt .row.end{justify-items:end}
@media (max-width:520px){.kontakt .row{grid-template-columns:1fr}}
/* == HEADLINES: Solid Gold, wie der Button ===================== */
.rwsw-title,
.rwsw-body h1,
.rwsw-body h2,
.rwsw-body h3,
.rwsw-body h4{
  background: none !important;
  -webkit-background-clip: initial !important;
  color: #f2d675 !important;          /* Button-Gold */
  -webkit-text-fill-color: #f2d675 !important;
  text-shadow:
    0 1px 0 rgba(0,0,0,.65),
    0 8px 18px rgba(0,0,0,.35);        /* dunkle Kontur/Glow für Kontrast */
  letter-spacing: .6px;
  font-weight: 1000;
}

.rwsw-body h3{ font-size: 20px; }
.rwsw-body h4{ font-size: 15px; margin-top: 16px; }

/* Karten-Titel (falls vorhanden) – ebenfalls Gold */
.card h4{ color: #f2d675 !important; text-shadow: 0 1px 0 rgba(0,0,0,.6); }

/* === 3-Grid-Layout für das bestehende Widget =================== */
.kontakt-layout{
  display:grid;
  grid-template-columns: 2fr 1fr; /* links groß, rechts schmal */
  grid-template-rows: auto 1fr;   /* rechts oben/unten */
  gap:16px;
  align-items:start;
}
.kontakt-layout .kontakt{ grid-column:1 / 2; grid-row:1 / 3; }
.kontakt-layout .pane{
  grid-column:2 / 3;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 12px 14px;
}
.pane--addr{ grid-row:1 / 2; }
.pane--privacy{ grid-row:2 / 3; }
.pane h4{ margin:0 0 8px; }
/* E-Mail- und Datenschutz-Link -- Absprache mit dem User: "nimm unser gelb dann hebt sich das vom
   rest ab" statt des Browser-Standard-Blau. */
.pane a{ color:#f2d675; text-decoration:underline; text-underline-offset:2px; }
.pane a:hover{ color:#fff; }

/* DSGVO */
.chk{ display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; margin:6px 0 10px; }
.chk input[type="checkbox"]{ width:18px; height:18px; margin-top:2px; }

/* Honeypot: fuer Menschen unsichtbar/nicht fokussierbar, aber im DOM vorhanden (kein display:none, manche Bots ueberspringen das) */
.hp-field{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* Responsive */
@media (max-width: 920px){
  .kontakt-layout{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
  }
  .kontakt-layout .kontakt{ grid-column:1; grid-row:1; }
  .pane--addr{ grid-column:1; grid-row:2; }
  .pane--privacy{ grid-column:1; grid-row:3; }
}
