/* vidflare · r19 — bento parejo (título 1 línea, descripción 2) y tarjeta DSGVO */

.vf-fx.is-v2 .vf-fx_t h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vf-fx.is-v2 .vf-fx_t p{min-height:3em;text-wrap:balance}          /* 2 líneas a 1,5 de interlínea */
@media (max-width:1180px){.vf-fx.is-v2 .vf-fx_t h3{white-space:normal;min-height:2.5em}.vf-fx.is-v2 .vf-fx_t p{min-height:4.5em}}
@media (max-width:767px){.vf-fx.is-v2 .vf-fx_t h3,.vf-fx.is-v2 .vf-fx_t p{min-height:0}}

/* ── DSGVO: los datos entran en la zona protegida (Frankfurt), se cifran y se quedan dentro; las tres garantías se confirman una a una ── */
.vf-dsg{display:flex;align-items:center;justify-content:center;gap:26px;width:100%;height:100%;padding:0 18px;--T:6s}
.vf-dsg_z{position:relative;flex:none;width:132px;height:132px;display:grid;place-items:center}
.vf-dsg_r{position:absolute;border-radius:50%}
.vf-dsg_r.is-1{inset:0;border:1.5px dashed rgba(120,66,224,.35);animation:vf-dsg-spin 28s linear infinite}
.vf-dsg_r.is-2{inset:22px;background:rgba(120,66,224,.08);box-shadow:inset 0 0 0 1.5px rgba(120,66,224,.3);animation:vf-dsg-pulse var(--T) ease-in-out infinite}
.vf-dsg_k{position:relative;z-index:2;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--vf-purple);box-shadow:0 10px 22px -8px rgba(120,66,224,.8);animation:vf-dsg-lock var(--T) cubic-bezier(.3,1.6,.5,1) infinite}
.vf-dsg_k svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vf-dsg_z em{position:absolute;left:50%;bottom:-9px;translate:-50% 0;padding:3px 9px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(10,14,22,.1);font:500 10px/1.3 var(--vf-mono);font-style:normal;white-space:nowrap;color:var(--vf-ink);z-index:3}
/* paquetes: salen de fuera en seis direcciones, cruzan el anillo (ahí pasan de gris a morado) y se funden en el candado */
.vf-dsg_p{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:3px;background:#9AA3B2;rotate:calc(var(--i)*60deg + 20deg);animation:vf-dsg-in var(--T) cubic-bezier(.5,0,.3,1) infinite;animation-delay:calc(var(--i)*-1s)}
@keyframes vf-dsg-in{0%{transform:translateX(92px) scale(.6);opacity:0;background:#9AA3B2}12%{opacity:1}45%{transform:translateX(52px) scale(1);background:#9AA3B2}55%{transform:translateX(44px) scale(1);background:var(--vf-purple);border-radius:50%}88%{opacity:1}100%{transform:translateX(6px) scale(.4);opacity:0;background:var(--vf-purple);border-radius:50%}}
@keyframes vf-dsg-spin{to{rotate:360deg}}
@keyframes vf-dsg-pulse{0%,100%{scale:1}50%{scale:1.05}}
@keyframes vf-dsg-lock{0%,82%,100%{scale:1}88%{scale:1.12}}
.vf-dsg ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.vf-dsg li{display:flex;align-items:center;gap:8px;padding:6px 11px 6px 7px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(10,14,22,.08);font:500 11px/1.2 var(--vf-mono);color:var(--vf-ink);white-space:nowrap;animation:vf-dsg-li var(--T) ease-out infinite;animation-delay:calc(var(--i)*.45s)}
.vf-dsg li svg{flex:none;width:16px;height:16px;padding:3px;border-radius:50%;background:#28C76F;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12;animation:vf-dsg-chk var(--T) ease-out infinite;animation-delay:calc(var(--i)*.45s)}
@keyframes vf-dsg-li{0%,6%{opacity:.45;translate:6px 0}16%,92%{opacity:1;translate:0 0}100%{opacity:.45;translate:6px 0}}
@keyframes vf-dsg-chk{0%,10%{stroke-dashoffset:12;background:#C9CED8}24%,92%{stroke-dashoffset:0;background:#28C76F}100%{stroke-dashoffset:12;background:#C9CED8}}
.vf-paused .vf-dsg *{animation-play-state:paused}
@media (max-width:420px){.vf-dsg{gap:14px}.vf-dsg_z{width:112px;height:112px}}
@media (prefers-reduced-motion:reduce){.vf-dsg *{animation:none!important}.vf-dsg_p{display:none}}
@media (max-width:1180px) and (min-width:768px){.vf-dsg{gap:12px;padding:0 10px}.vf-dsg_z{width:104px;height:104px}.vf-dsg_r.is-2{inset:16px}.vf-dsg li{padding:5px 9px 5px 6px;font-size:10px}}
