/* ════════════════════════════════════════════
   EROGAZIONI A FAVORE DI PROGETTI — Scope .oasi-c-erog · sez. rossa
   ════════════════════════════════════════════ */
.oasi-c-erog *, .oasi-c-erog *::before, .oasi-c-erog *::after { box-sizing: border-box; margin: 0; padding: 0; }
.oasi-c-erog {
  --_t: var(--oasi-font-title, 'Fraunces', Georgia, serif);
  --_b: var(--oasi-font-body, 'Mulish', system-ui, sans-serif);
  --_cont: var(--oasi-container, 1200px);
  --_ink: var(--oasi-text, #17202e); --_mut: var(--oasi-text-muted, #52607a);
  --_cta: var(--oasi-cta, #c0392b); --_ctad: var(--oasi-sez-sostieni-700, #a22a1e);
  --_alt: var(--oasi-surface-alt, #eef2f7); --_bd: var(--oasi-border, rgba(20,40,70,.1));
  --_dur: var(--oasi-dur, .4s); --_ease: var(--oasi-ease, cubic-bezier(.2,.7,.2,1));
}
.oasi-c-erog .oasi-wrap { max-width: var(--_cont); margin-inline: auto; padding-inline: clamp(1.25rem, 5vw, 3rem); }

.oasi-c-erog .er-lead { padding-block: clamp(2.5rem, 5vw, 3.5rem) clamp(1rem, 2vw, 1.5rem); }
.oasi-c-erog .er-lead p { font-family: var(--_t); font-size: clamp(1.3rem, 2.4vw, 1.7rem); font-weight: 400; line-height: 1.5; color: var(--_ink); max-width: 32ch; text-wrap: pretty; }
.oasi-c-erog .er-lead b { color: var(--_cta); font-weight: 600; }

.oasi-c-erog .er-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(3rem, 6vw, 5rem); align-items: start; }
@media (max-width: 880px) { .oasi-c-erog .er-grid { grid-template-columns: 1fr; } }

.oasi-c-erog .er-col > h2 { font-family: var(--_t); font-size: clamp(1.4rem, 2.5vw, 1.8rem); font-weight: 600; color: var(--_ink); margin-bottom: 1.3rem; }
.oasi-c-erog .er-proj { padding: 1.4rem 0; border-top: 1px solid var(--_bd); }
.oasi-c-erog .er-proj:first-of-type { border-top: 0; padding-top: 0; }
.oasi-c-erog .er-proj__k { display: inline-block; font-family: var(--_b); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--_cta); background: color-mix(in srgb, var(--_cta) 9%, transparent); padding: .25em .75em; border-radius: var(--oasi-radius-pill, 999px); margin-bottom: .6rem; }
.oasi-c-erog .er-proj__t { font-family: var(--_t); font-size: 1.35rem; font-weight: 600; line-height: 1.2; color: var(--_ink); margin-bottom: .4rem; }
.oasi-c-erog .er-proj__d { font-family: var(--_b); color: var(--_mut); font-size: 1rem; line-height: 1.65; max-width: 58ch; }
.oasi-c-erog .er-proj__who { margin-top: .5rem; font-family: var(--_b); font-size: .9rem; color: var(--_ink); }
.oasi-c-erog .er-proj__who b { color: var(--_cta); font-weight: 700; }

.oasi-c-erog .er-panel { position: sticky; top: calc(var(--oasi-logo-h, 150px) + 70px); background: #fff; border: 1px solid var(--_bd); border-top: 4px solid var(--_cta); border-radius: var(--oasi-radius-xl, 18px); padding: clamp(1.5rem, 3vw, 2rem); box-shadow: var(--oasi-shadow-1, 0 10px 30px rgba(20,40,70,.07)); }
.oasi-c-erog .er-panel h2 { font-family: var(--_t); font-size: 1.35rem; font-weight: 600; color: var(--_ink); margin-bottom: 1rem; }
.oasi-c-erog .er-field { margin-bottom: .9rem; container-type: inline-size; container-name: er-field; }
.oasi-c-erog .er-field__l { font-family: var(--_b); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--_mut); margin-bottom: .2rem; }
.oasi-c-erog .er-field__v { font-family: var(--_b); font-size: 1rem; color: var(--_ink); font-weight: 600; }
.oasi-c-erog .er-iban {
  font-family: var(--_t);
  font-size: clamp(.62rem, 4.2cqi + .25rem, 1.05rem);
  letter-spacing: .02em;
  color: var(--_ink);
  background: var(--_alt);
  padding: .55rem .65rem;
  border-radius: 10px;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1.35;
}
@supports not (font-size: 1cqi) {
  .oasi-c-erog .er-iban { font-size: clamp(.62rem, 2.9vw, 1.05rem); }
}
@media (max-width: 420px) {
  .oasi-c-erog .er-iban { letter-spacing: 0; padding: .5rem .45rem; font-size: clamp(.58rem, 3.15vw, .85rem); }
}
.oasi-c-erog .er-hint { background: color-mix(in srgb, var(--_cta) 7%, transparent); border-radius: 10px; padding: .7rem .9rem; font-family: var(--_b); font-size: .88rem; color: var(--_ink); margin-top: .4rem; line-height: 1.5; }
.oasi-c-erog .er-hint b { color: var(--_cta); }
.oasi-c-erog .er-note { margin-top: 1rem; font-family: var(--_b); font-size: .82rem; color: var(--_mut); line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { .oasi-c-erog * { transition: none !important; } }
