/* Generic Soft — EU funding modal (opened by any [data-eu-link] element, see eu-modal.js) */
:root{
  --eu-ink:#111;--eu-muted:#666;--eu-border:#E5E3DF;--eu-off:#F5F4F1;--eu-blue:#1A4C9C;
  --eu-display:'Space Grotesk',system-ui,sans-serif;--eu-body:'Manrope',system-ui,sans-serif;
}

.eu-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(10,10,12,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.eu-modal.is-open{display:flex}
.eu-modal__card{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 40px);overflow:auto;
  background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.3);padding:28px;font-family:var(--eu-body);
  animation:euIn .22s ease-out}
@keyframes euIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.eu-modal__close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--eu-border);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--eu-ink);font-size:20px;line-height:1}
.eu-modal__close:hover{background:var(--eu-off)}
.eu-modal__logos{display:flex;align-items:center;gap:18px;margin-bottom:18px;padding-right:40px}
.eu-modal__logos img{height:30px;width:auto;display:block}
.eu-modal__title{font:800 24px/1.2 var(--eu-display);letter-spacing:-.02em;color:var(--eu-ink);margin:0 0 8px}
.eu-modal__text{font-size:14.5px;line-height:1.6;color:var(--eu-muted);margin:0 0 20px}
.eu-modal__list{display:grid;gap:10px}
.eu-modal__opt{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--eu-border);
  border-radius:14px;text-decoration:none;color:var(--eu-ink);transition:.2s}
.eu-modal__opt:hover,.eu-modal__opt:focus-visible{border-color:var(--eu-blue);background:#F3F6FC;color:var(--eu-blue);outline:none}
.eu-modal__opt-body{flex:1;min-width:0}
.eu-modal__opt-title{font:700 15.5px var(--eu-display)}
.eu-modal__opt-sub{font-size:13px;color:var(--eu-muted);margin-top:2px}
.eu-modal__opt svg{flex:none}
@media (max-width:480px){
  .eu-modal{padding:12px}
  .eu-modal__card{padding:22px 18px;border-radius:16px}
  .eu-modal__title{font-size:20px}
}
body.eu-modal-lock{overflow:hidden}
