/* Ven y Revive – Núcleo: WhatsApp, tarjeta de donación, redes y formulario */
.vyr-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Redes */
.vyr-social{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none}
.vyr-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid currentColor;color:inherit;text-decoration:none;transition:background-color .2s,color .2s,transform .2s}
.vyr-social a:hover{background:var(--vyr-bright,#08B828);border-color:var(--vyr-bright,#08B828);color:#04301a;transform:translateY(-2px)}
.vyr-social a:focus-visible{outline:3px solid var(--vyr-yellow,#F8D800);outline-offset:2px}

/* WhatsApp flotante */
.vyr-wa{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;gap:.6rem;text-decoration:none}
.vyr-wa__btn{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#1faa59;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .25s ease,box-shadow .25s ease;animation:vyr-pulse 3.2s ease-out 1.5s infinite}
.vyr-wa__tip{background:#fff;color:#14301f;font:600 .9rem/1 system-ui,sans-serif;padding:.65rem .9rem;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.18);opacity:0;transform:translateX(8px);pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap}
.vyr-wa:hover .vyr-wa__btn{transform:scale(1.08) rotate(-6deg);box-shadow:0 10px 24px rgba(0,0,0,.3)}
.vyr-wa:hover .vyr-wa__tip,.vyr-wa:focus-visible .vyr-wa__tip{opacity:1;transform:none}
.vyr-wa:focus-visible{outline:3px solid var(--vyr-dark,#006028);outline-offset:4px;border-radius:999px}
@keyframes vyr-pulse{0%{box-shadow:0 6px 18px rgba(0,0,0,.25),0 0 0 0 rgba(31,170,89,.55)}70%,100%{box-shadow:0 6px 18px rgba(0,0,0,.25),0 0 0 18px rgba(31,170,89,0)}}
@media (max-width:640px){.vyr-wa__tip{display:none}.vyr-wa__btn{width:54px;height:54px}}
@media (prefers-reduced-motion:reduce){.vyr-wa__btn{animation:none;transition:none}.vyr-wa__tip{transition:none}}
@media print{.vyr-wa{display:none}}

/* Tarjeta bancaria */
.vyr-bank{background:#fff;color:#14301f;border-radius:20px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 1px 0 rgba(0,0,0,.04),0 18px 40px -18px rgba(0,40,20,.45);border:1px solid rgba(0,96,40,.18);max-width:34rem}
.vyr-bank__kind{margin:0 0 1.1rem;font-weight:700;color:var(--vyr-dark,#006028);font-size:1.05rem}
.vyr-bank__label{margin:0;font-size:.95rem;color:#3b5546}
.vyr-bank__number{margin:.15rem 0 1.1rem;font-size:clamp(1.9rem,7.6vw,2.9rem);font-weight:800;line-height:1.1;letter-spacing:.07em;font-variant-numeric:tabular-nums;color:var(--vyr-dark,#006028);white-space:nowrap;user-select:all}
.vyr-bank__meta{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:0 0 1.25rem}
.vyr-bank__meta div{min-width:0}
.vyr-bank__meta dt{font-size:.85rem;color:#3b5546}
.vyr-bank__meta dd{margin:0;font-weight:700}
.vyr-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.75rem 1.4rem;border:2px solid var(--vyr-dark,#006028);border-radius:999px;background:var(--vyr-dark,#006028);color:#fff;font-weight:700;font-size:1rem;line-height:1.2;font-family:inherit;cursor:pointer;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.vyr-btn:hover{background:#004a1f;border-color:#004a1f}
.vyr-btn:focus-visible{outline:3px solid var(--vyr-yellow,#F8D800);outline-offset:3px}
.vyr-btn.is-copied{background:var(--vyr-bright,#08B828);border-color:var(--vyr-bright,#08B828);color:#04301a}
.vyr-bank__status{min-height:1.4em;margin:.6rem 0 0;font-weight:600;color:var(--vyr-dark,#006028)}
.vyr-bank__note{margin:.9rem 0 0;padding-top:.9rem;border-top:1px dashed rgba(0,96,40,.3);font-size:.95rem;color:#2c4636}

/* Formulario de contacto */
.vyr-form{display:grid;gap:1.1rem;max-width:40rem}
.vyr-form label,.vyr-form legend{display:block;font-weight:700;margin-bottom:.35rem}
.vyr-form .vyr-opt{font-weight:400;color:#4a6254}
.vyr-form input[type=text],.vyr-form input[type=email],.vyr-form input[type=tel],.vyr-form select,.vyr-form textarea{width:100%;padding:.8rem .95rem;font:inherit;color:#14301f;background:#fff;border:1.5px solid #8aa596;border-radius:12px}
.vyr-form textarea{min-height:9rem;resize:vertical}
.vyr-form input:focus,.vyr-form select:focus,.vyr-form textarea:focus{outline:3px solid var(--vyr-yellow,#F8D800);outline-offset:1px;border-color:var(--vyr-dark,#006028)}
.vyr-form .vyr-check{display:flex;gap:.7rem;align-items:flex-start;font-weight:400}
.vyr-form .vyr-check input{width:1.3rem;height:1.3rem;margin-top:.2rem;accent-color:var(--vyr-dark,#006028);flex:none}
.vyr-form .vyr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vyr-alert{padding:1rem 1.2rem;border-radius:12px;border-left:6px solid;margin:0 0 1.2rem;max-width:40rem}
.vyr-alert--ok{background:#e7f6e8;border-color:var(--vyr-dark,#006028);color:#0b3a1c}
.vyr-alert--error{background:#fdeceb;border-color:#b3261e;color:#5c1410}
.vyr-alert ul{margin:.4rem 0 0 1.2rem;padding:0}
