/* ════════════════════════════════════════════
   SOSTIENICI (hub) — Scope .oasi-c-sostienici · sez. rossa
   ════════════════════════════════════════════ */
.oasi-c-sostienici *, .oasi-c-sostienici *::before, .oasi-c-sostienici *::after { box-sizing: border-box; margin: 0; padding: 0; }
.oasi-c-sostienici {
  --_t: var(--oasi-font-title, 'Fraunces', Georgia, serif);
  --_b: var(--oasi-font-body, 'Mulish', system-ui, sans-serif);
  --_cont: var(--oasi-container, 1200px); --_text: 860px;
  --_ink: var(--oasi-text, #17202e); --_mut: var(--oasi-text-muted, #52607a);
  --_cta: var(--oasi-cta, #c0392b); --_ctad: var(--oasi-sez-sostieni-700, #a22a1e);
  --_blu: var(--oasi-blu, #143258); --_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-sostienici .oasi-wrap  { max-width: var(--_cont); margin-inline: auto; padding-inline: clamp(1.25rem, 5vw, 3rem); }
.oasi-c-sostienici .oasi-wrapt { max-width: var(--_text); margin-inline: auto; padding-inline: clamp(1.25rem, 5vw, 3rem); }

/* INTRO */
.oasi-c-sostienici .os-intro { padding-block: clamp(2.5rem, 5vw, 3.5rem) clamp(1rem, 2vw, 1.5rem); text-align: center; }
.oasi-c-sostienici .os-intro h2 { font-family: var(--_t); font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 600; line-height: 1.2; color: var(--_ink); max-width: 20ch; margin: 0 auto .7rem; text-wrap: balance; }
.oasi-c-sostienici .os-intro h2 em { font-style: italic; color: var(--_cta); }
.oasi-c-sostienici .os-intro p { font-family: var(--_b); color: var(--_mut); font-size: 1.05rem; max-width: 54ch; margin: 0 auto 1rem; }
.oasi-c-sostienici .os-trust { display: inline-flex; flex-wrap: wrap; gap: .5rem 1.2rem; justify-content: center; font-family: var(--_b); font-size: .85rem; color: var(--_mut); }
.oasi-c-sostienici .os-trust span { display: inline-flex; align-items: center; gap: .4em; }
.oasi-c-sostienici .os-trust svg { color: var(--_cta); }

/* WAYS */
.oasi-c-sostienici .os-ways { padding-block: clamp(2rem, 4vw, 3rem) clamp(3rem, 6vw, 5rem); display: grid; gap: 1.5rem; }
.oasi-c-sostienici .os-way { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem 2rem; align-items: center; background: #fff; border: 1px solid var(--_bd); border-top: 4px solid var(--_cta); border-radius: var(--oasi-radius-xl, 18px); padding: clamp(1.6rem, 3vw, 2.2rem); transition: box-shadow var(--_dur) var(--_ease), transform var(--_dur) var(--_ease); }
.oasi-c-sostienici .os-way:hover { box-shadow: var(--oasi-shadow-2, 0 18px 44px rgba(20,40,70,.12)); transform: translateY(-3px); }
.oasi-c-sostienici .os-way__kind { 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) 10%, transparent); padding: .25em .75em; border-radius: var(--oasi-radius-pill, 999px); margin-bottom: .7rem; }
.oasi-c-sostienici .os-way__t { font-family: var(--_t); font-size: clamp(1.4rem, 2.5vw, 1.9rem); font-weight: 600; line-height: 1.15; color: var(--_ink); margin-bottom: .5rem; }
.oasi-c-sostienici .os-way__d { font-family: var(--_b); color: var(--_mut); font-size: 1rem; line-height: 1.6; max-width: 60ch; }
.oasi-c-sostienici .os-way__cf { margin-top: .7rem; font-family: var(--_b); font-size: .9rem; color: var(--_ink); }
.oasi-c-sostienici .os-way__cf b { font-family: var(--_t); background: var(--_alt); padding: .2em .6em; border-radius: 8px; letter-spacing: .02em; }
.oasi-c-sostienici .os-way__b { align-self: center; flex-shrink: 0; display: inline-flex; align-items: center; gap: .5em; padding: .9em 1.8em; background: var(--_cta); color: #fff; font-family: var(--_b); font-weight: 800; font-size: .88rem; border-radius: var(--oasi-radius-pill, 999px); text-decoration: none; white-space: nowrap; transition: background var(--_dur) var(--_ease), transform var(--_dur) var(--_ease); }
.oasi-c-sostienici .os-way__b svg { transition: transform var(--_dur) var(--_ease); }
.oasi-c-sostienici .os-way__b:hover { background: var(--_ctad); transform: translateY(-2px); }
.oasi-c-sostienici .os-way__b:hover svg { transform: translateX(3px); }
.oasi-c-sostienici .os-way__b:focus-visible { outline: 3px solid var(--_cta); outline-offset: 3px; }

/* BILANCIO */
.oasi-c-sostienici .os-bil { background: var(--_blu); color: #fff; }
.oasi-c-sostienici .os-bil__in { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; padding-block: clamp(2rem, 4vw, 2.8rem); }
.oasi-c-sostienici .os-bil__t { font-family: var(--_t); font-size: clamp(1.2rem, 2.2vw, 1.5rem); font-weight: 600; max-width: 34ch; }
.oasi-c-sostienici .os-bil__b { flex-shrink: 0; display: inline-flex; align-items: center; gap: .5em; padding: .8em 1.6em; background: #fff; color: var(--_blu); font-family: var(--_b); font-weight: 800; font-size: .85rem; border-radius: var(--oasi-radius-pill, 999px); text-decoration: none; transition: transform var(--_dur) var(--_ease); }
.oasi-c-sostienici .os-bil__b svg { transition: transform var(--_dur) var(--_ease); }
.oasi-c-sostienici .os-bil__b:hover { transform: translateY(-2px); }
.oasi-c-sostienici .os-bil__b:hover svg { transform: translateX(3px); }

@media (max-width: 720px) { .oasi-c-sostienici .os-way { grid-template-columns: 1fr; } .oasi-c-sostienici .os-way__b { justify-self: start; } }
@media (prefers-reduced-motion: reduce) { .oasi-c-sostienici * { transition: none !important; } }
