/* Viewfinder Datenschutz – Banner, Dialog, Platzhalter. Übernimmt die Farben und Schriften des Viewfinder-Themes (dunkel). */
.vf-ds,.vf-ds-dialog,.vf-ds-float,.vf-embed{
  --vf-ds-accent:var(--wp--preset--color--film,#f2b134);
  --vf-ds-accent-dark:var(--wp--preset--color--film,#f2b134);
  --vf-ds-on-accent:var(--wp--preset--color--ink,#121417);
  --vf-ds-bg:var(--wp--preset--color--surface,#1b1e22);
  --vf-ds-ink:var(--wp--preset--color--paper,#ebe8e2);
  --vf-ds-muted:var(--wp--preset--color--muted,#a0a5ab);
  --vf-ds-line:var(--wp--preset--color--line,#2c3137);
  --vf-ds-soft:var(--wp--preset--color--ink,#121417);
  font-family:var(--wp--preset--font-family--body,system-ui,sans-serif);
  color:var(--vf-ds-ink);box-sizing:border-box;
}
.vf-ds *,.vf-ds-dialog *,.vf-embed *{box-sizing:border-box}
.vf-btn{font:inherit;font-size:.9375rem;font-weight:600;letter-spacing:.02em;min-height:46px;padding:.65rem 1.25rem;border:1px solid var(--vf-ds-ink);background:transparent;color:var(--vf-ds-ink);cursor:pointer;border-radius:2px}
.vf-btn:hover{border-color:var(--vf-ds-accent);color:var(--vf-ds-accent)}
.vf-btn--primary{background:var(--vf-ds-accent);border-color:var(--vf-ds-accent);color:var(--vf-ds-on-accent)}
.vf-btn--primary:hover{filter:brightness(1.1);background:var(--vf-ds-accent);color:var(--vf-ds-on-accent)}
.vf-btn--ghost{background:transparent}
.vf-btn:focus-visible,.vf-ds a:focus-visible,.vf-ds-dialog a:focus-visible,.vf-ds-float:focus-visible,.vf-ds-dialog__close:focus-visible,.vf-ds-dialog summary:focus-visible{outline:3px solid var(--vf-ds-accent);outline-offset:2px}

.vf-ds{position:fixed;z-index:99990;left:0;right:0;bottom:0;background:var(--vf-ds-bg);border-top:3px solid var(--vf-ds-accent);box-shadow:0 -8px 30px rgba(0,0,0,.5);max-height:90vh;overflow:auto}
.vf-ds--center{top:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);border:0}
.vf-ds--center .vf-ds__inner{background:var(--vf-ds-bg);border-top:4px solid var(--vf-ds-accent);max-width:640px}
.vf-ds__inner{max-width:1200px;margin:0 auto;padding:1.25rem 1.25rem 1.5rem}
.vf-ds__title{font-family:var(--wp--preset--font-family--heading,Georgia,serif);font-size:1.35rem;margin:0 0 .4rem;color:var(--vf-ds-ink)}
.vf-ds__text{margin:0 0 .5rem;font-size:1rem;line-height:1.55;max-width:60rem}
.vf-ds__links{margin:0 0 1rem;font-size:.9rem;display:flex;gap:1rem;flex-wrap:wrap}
.vf-ds__links a{color:var(--vf-ds-accent-dark);text-decoration:underline}
.vf-ds__actions{display:flex;gap:.75rem;flex-wrap:wrap}
@media(max-width:600px){.vf-ds__actions{flex-direction:column}.vf-ds__actions .vf-btn{width:100%}.vf-ds__title{font-size:1.15rem}}

.vf-ds-dialog{border:0;padding:0;max-width:760px;width:calc(100% - 2rem);max-height:90vh;background:var(--vf-ds-bg);color:var(--vf-ds-ink);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.vf-ds-dialog::backdrop{background:rgba(0,0,0,.6)}
.vf-ds-dialog__box{display:flex;flex-direction:column;max-height:90vh}
.vf-ds-dialog__head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--vf-ds-line);border-top:4px solid var(--vf-ds-accent)}
.vf-ds-dialog__head h2{margin:0;font-family:var(--wp--preset--font-family--heading,Georgia,serif);font-size:1.3rem}
.vf-ds-dialog__close{background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;min-width:44px;min-height:44px;color:var(--vf-ds-ink)}
.vf-ds-dialog__body{padding:1rem 1.25rem;overflow:auto;flex:1 1 auto;font-size:.95rem;line-height:1.55}
.vf-ds-dialog__foot{display:flex;gap:.75rem;flex-wrap:wrap;padding:1rem 1.25rem;border-top:1px solid var(--vf-ds-line);background:var(--vf-ds-soft)}
@media(max-width:600px){.vf-ds-dialog__foot{flex-direction:column}.vf-ds-dialog__foot .vf-btn{width:100%}}
.vf-ds__cat{padding:.9rem 0;border-top:1px solid var(--vf-ds-line)}
.vf-ds__cat p{margin:.3rem 0}
.vf-ds__cathead{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.vf-ds__always{font-size:.8rem;font-weight:700;color:var(--vf-ds-muted);text-transform:uppercase;letter-spacing:.08em}
.vf-ds__switch{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:700;font-size:1.05rem;min-height:44px}
.vf-ds__switch input{position:absolute;opacity:0;width:1px;height:1px}
.vf-ds__slider{position:relative;width:46px;height:26px;background:#4a5057;border-radius:26px;flex:0 0 46px;transition:background .15s}
.vf-ds__slider:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--vf-ds-ink);transition:transform .15s}
.vf-ds__switch input:checked+.vf-ds__slider{background:var(--vf-ds-accent)}
.vf-ds__switch input:checked+.vf-ds__slider:after{background:var(--vf-ds-on-accent)}
.vf-ds__switch input:checked+.vf-ds__slider:after{transform:translateX(20px)}
.vf-ds__switch input:disabled+.vf-ds__slider{opacity:.55}
.vf-ds__switch input:focus-visible+.vf-ds__slider{outline:3px solid var(--vf-ds-ink);outline-offset:2px}
.vf-ds-dialog details{margin-top:.4rem}
.vf-ds-dialog summary{cursor:pointer;font-weight:700;color:var(--vf-ds-accent-dark);min-height:32px}
.vf-ds__svc{margin:.75rem 0;padding:.75rem;background:var(--vf-ds-soft);border:1px solid var(--vf-ds-line)}
.vf-ds__svc p{margin:.25rem 0;font-size:.9rem}
.vf-ds__prov{color:var(--vf-ds-muted)}
.vf-ds__tblwrap{overflow-x:auto}
.vf-ds__tbl{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:.4rem}
.vf-ds__tbl th,.vf-ds__tbl td{border:1px solid var(--vf-ds-line);padding:.4rem .5rem;text-align:left;vertical-align:top;background:transparent}
.vf-ds__tbl th{background:var(--vf-ds-line);color:var(--vf-ds-ink)}

.vf-ds-float{position:fixed;z-index:99980;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.35rem .8rem;background:var(--vf-ds-bg);border:1px solid var(--vf-ds-line);border-radius:2px;color:var(--vf-ds-ink);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.45)}
.vf-ds-float:hover{border-color:var(--vf-ds-accent);color:var(--vf-ds-accent)}

.vf-embed{position:relative;width:100%;aspect-ratio:var(--vf-w,16)/var(--vf-h,9);min-height:220px;background:var(--vf-ds-soft);border:1px solid var(--vf-ds-line);overflow:hidden;margin:0 auto 1rem}
.vf-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vf-embed.is-loaded{background:none;border:0}
.vf-embed__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;text-align:center;overflow:auto}
.vf-embed__ph p{margin:0;max-width:34rem;font-size:.95rem;line-height:1.5}
.vf-embed__btns{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.vf-embed .vf-btn{min-height:44px;padding:.5rem 1rem;font-size:.875rem}

.vf-ds-table-wrap{overflow-x:auto;margin:.5rem 0 1.25rem}
.vf-ds-table{width:100%;border-collapse:collapse;font-size:.95rem}
.vf-ds-table th,.vf-ds-table td{border:1px solid var(--wp--preset--color--line,#2c3137);padding:.5rem .7rem;text-align:left;vertical-align:top}
.vf-ds-table th{background:var(--wp--preset--color--surface,#1b1e22);color:var(--wp--preset--color--paper,#ebe8e2)}
@media(max-width:600px){
  .vf-ds-table thead{display:none}
  .vf-ds-table tr{display:block;margin-bottom:.75rem;border:1px solid var(--wp--preset--color--line,#2c3137)}
  .vf-ds-table td{display:block;border:0;border-bottom:1px solid var(--wp--preset--color--line,#2c3137)}
  .vf-ds-table td:before{content:attr(data-label)": ";font-weight:700}
}
.vf-ds-status{font-weight:700}
@media (prefers-reduced-motion:reduce){.vf-ds__slider,.vf-ds__slider:after{transition:none}}
