/* Datenschutzabfrage fuer Dr. Flex – alle Klassen absichtlich mit sg-df- praefixiert. */
.sg-df-backdrop[hidden], .sg-df-error[hidden] { display: none !important; }
.sg-df-backdrop { position: fixed; inset: 0; z-index: 2147483000; background: rgba(15, 25, 19, .58);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); display: flex; align-items: center;
  justify-content: center; box-sizing: border-box; padding: 16px; overflow-y: auto; }
.sg-df-dialog, .sg-df-dialog * { box-sizing: border-box; }
.sg-df-dialog { position: relative; width: 100%; max-width: 460px; max-height: calc(100dvh - 32px);
  overflow-y: auto; padding: 24px 25px 22px; border-radius: 12px; background: #fff;
  color: #29332b; border: 1px solid rgba(111, 141, 12, .23); box-shadow: 0 18px 60px rgba(0, 0, 0, .25);
  font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 1.55; text-align: left;
  letter-spacing: normal; }
.sg-df-dialog h2 { margin: 2px 28px 12px 0; font-family: inherit; font-weight: 700;
  font-size: 21px; line-height: 1.25; color: #6f8d0c; text-transform: none; }
.sg-df-dialog p { margin: 0 0 12px; font-size: 14px; line-height: 1.55; color: #29332b; }
.sg-df-dialog .sg-df-privacy { font-size: 13px; color: #4b554d; }
.sg-df-dialog a { color: #54700a; text-decoration: underline; font-weight: 600; }
.sg-df-dialog a:hover { color: #334807; }
.sg-df-icon { font-size: 26px; margin-bottom: 5px; line-height: 1.2; }
.sg-df-close { appearance: none; position: absolute; top: 9px; right: 11px; border: 0;
  background: transparent; color: #5d665e; font-size: 28px; line-height: 1; cursor: pointer;
  padding: 3px 8px; }
.sg-df-close:hover { color: #29332b; }
.sg-df-actions { display: flex; gap: 10px; margin-top: 20px; }
.sg-df-actions button { flex: 1 1 0; min-width: 0; padding: 11px 10px; font-size: 14px;
  line-height: 1.35; font-weight: 700; border-radius: 6px; cursor: pointer;
  font-family: inherit; transition: background-color .18s ease, border-color .18s ease; }
.sg-df-no { background: #f0f2ed; color: #32402e; border: 1px solid #d8dcd4; }
.sg-df-no:hover { background: #dfe5d9; }
.sg-df-yes { background: #6f8d0c; color: #fff; border: 1px solid #6f8d0c; }
.sg-df-yes:hover { background: #526c07; border-color: #526c07; }
.sg-df-dialog button:disabled { cursor: progress; opacity: .65; }
.sg-df-dialog :focus-visible { outline: 3px solid #6f8d0c; outline-offset: 3px; }
.sg-df-error { color: #9a2f1b !important; background: #fff6f3; padding: 9px 11px; border-radius: 5px; }
@media (max-width: 480px) {
  .sg-df-dialog { padding: 21px 19px 18px; }
  .sg-df-dialog h2 { font-size: 19px; }
  .sg-df-actions { flex-direction: column-reverse; }
  .sg-df-actions button { flex: 0 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .sg-df-actions button { transition: none; }
}
