/* ═══════════════════════════════════════════════
   EHDS Public Widget Styles
   All colors read from CSS custom properties
   injected by PHP — no hardcoded values here.
═══════════════════════════════════════════════ */

.ehds-widget *, .ehds-widget *::before, .ehds-widget *::after { box-sizing:border-box; margin:0; padding:0; }

/* ── Shared ──────────────────────────────────── */
.ehds-widget { font-family:var(--ff-sans); color:var(--c-text); width:100%; background:var(--c-light); overflow:hidden; }

/* ═══════════════════════════════════════════════
   VOLUNTEER WIDGET
═══════════════════════════════════════════════ */

/* Hero */
.ev2-hero { background:var(--c-bg2); padding:56px 52px 48px; position:relative; overflow:hidden; }
.ev2-hero::before { content:''; position:absolute; width:500px; height:500px; border-radius:50%; background:rgba(110,193,228,.06); top:-160px; right:-100px; pointer-events:none; }
.ev2-hero::after  { content:''; position:absolute; width:280px; height:280px; border-radius:50%; background:rgba(97,206,112,.07); bottom:-80px; left:-60px; pointer-events:none; }
.ev2-hero-inner  { position:relative; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:44px; flex-wrap:wrap; }
.ev2-hero-left   { flex:1; min-width:260px; }
.ev2-badge       { display:inline-block; background:rgba(110,193,228,.15); border:1px solid rgba(110,193,228,.35); color:var(--c-primary); font-family:var(--ff-sans); font-size:10px; font-weight:600; letter-spacing:2px; text-transform:uppercase; padding:5px 16px; border-radius:20px; margin-bottom:18px; }
.ev2-hero-title  { font-family:var(--ff-serif); font-size:38px; font-weight:700; color:var(--c-light); line-height:1.2; margin-bottom:16px; }
.ev2-hero-title em { font-style:italic; font-weight:300; color:var(--c-accent); }
.ev2-hero-sub    { font-family:var(--ff-sans); font-size:14px; font-weight:300; color:rgba(255,255,255,.65); line-height:1.75; max-width:440px; margin-bottom:32px; }
.ev2-stats       { display:flex; gap:10px; flex-wrap:wrap; }
.ev2-stat        { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:14px 20px; text-align:center; min-width:86px; }
.ev2-stat-num    { font-family:var(--ff-serif); font-size:27px; font-weight:700; color:var(--c-light); display:block; line-height:1; }
.ev2-stat-label  { font-family:var(--ff-sans); font-size:10px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.8px; margin-top:5px; display:block; }

.ev2-hero-right  { display:flex; flex-direction:column; gap:8px; min-width:210px; }
.ev2-roles-label { font-family:var(--ff-sans); font-size:10px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.35); margin-bottom:2px; }
.ev2-role-chip   { display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:10px 14px; transition:background .2s,border-color .2s; }
.ev2-role-chip:hover { background:rgba(255,255,255,.13); border-color:rgba(255,255,255,.25); }
.ev2-role-dot    { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.ev2-role-name   { font-family:var(--ff-sans); font-size:12px; font-weight:500; color:var(--c-light); }
.ev2-role-sub    { font-family:var(--ff-sans); font-size:10px; color:rgba(255,255,255,.45); margin-top:1px; }

/* ── Tabs ── */
.ev2-tabs-wrap    { background:var(--c-bg1); border-bottom:1px solid var(--c-grey); }
.ev2-tabs-eyebrow { padding:16px 52px 0; font-family:var(--ff-sans); font-size:10px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; color:var(--c-grey); }
.ev2-tabs         { display:flex; padding:10px 52px 0; gap:2px; overflow-x:auto; scrollbar-width:none; }
.ev2-tabs::-webkit-scrollbar { display:none; }

/* Base tab — reset ALL Elementor button styles */
.ev2-tabs button,
.ev2-tab {
  font-family:var(--ff-sans);
  font-size:13px;
  font-weight:500;
  color:var(--c-text);
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-bottom:3px solid transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:9px 18px 11px !important;
  cursor:pointer;
  white-space:nowrap;
  transition:color .18s, border-color .18s;
  margin-bottom:-1px;
  text-transform:none;
  letter-spacing:normal;
}

/* Hover state — green underline, no background */
.ev2-tabs button:hover,
.ev2-tab:hover {
  color:#2D8554 !important;
  background:transparent !important;
  background-color:transparent !important;
  border-bottom-color:#2D8554 !important;
  box-shadow:none !important;
}

/* Active/selected states — all unified to green underline */
.ev2-tabs button.t-primary,
.ev2-tabs button.t-accent,
.ev2-tabs button.t-donate,
.ev2-tabs button.t-secondary,
.ev2-tab.t-primary,
.ev2-tab.t-accent,
.ev2-tab.t-donate,
.ev2-tab.t-secondary {
  color:#2D8554 !important;
  border-bottom-color:#2D8554 !important;
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
}

/* Prevent Elementor :hover override on active tabs */
.ev2-tabs button.t-primary:hover,
.ev2-tabs button.t-accent:hover,
.ev2-tabs button.t-donate:hover,
.ev2-tabs button.t-secondary:hover,
.ev2-tab.t-primary:hover,
.ev2-tab.t-accent:hover,
.ev2-tab.t-donate:hover,
.ev2-tab.t-secondary:hover {
  color:#2D8554 !important;
  border-bottom-color:#2D8554 !important;
  background:transparent !important;
  background-color:transparent !important;
}

/* Tab panels */
.ev2-panel        { display:none; padding:22px 52px; }
.ev2-panel.active { display:flex; gap:24px; align-items:flex-start; flex-wrap:wrap; }
.ev2-panel-desc   { flex:1; min-width:220px; }
.ev2-panel-title  { font-family:var(--ff-serif); font-size:16px; font-weight:700; color:var(--c-dark); margin-bottom:8px; line-height:1.4; }
.ev2-panel-body   { font-family:var(--ff-sans); font-size:13px; font-weight:300; color:var(--c-text); line-height:1.75; }
.ev2-chips        { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.ev2-chip         { font-family:var(--ff-sans); font-size:11px; font-weight:500; padding:4px 12px; border-radius:20px; }
.ch-p { background:rgba(110,193,228,.15); color:#1a7299; }
.ch-a { background:rgba(97,206,112,.15);  color:var(--c-btn); }
.ch-d { background:rgba(204,32,32,.10);   color:var(--c-donate); }
.ch-s { background:rgba(84,89,95,.10);    color:var(--c-secondary); }
.ev2-panel-meta   { background:var(--c-light); border:1px solid var(--c-grey); border-radius:10px; padding:14px 18px; font-family:var(--ff-sans); font-size:12px; color:var(--c-text); line-height:1.7; min-width:170px; }
.ev2-panel-meta strong { display:block; font-size:13px; font-weight:600; color:var(--c-dark); margin-bottom:6px; }

/* ── Form ── */
.ev2-form-wrap  { padding:40px 52px 48px; background:var(--c-light); }
.ev2-form-title { font-family:var(--ff-serif); font-size:24px; font-weight:700; color:var(--c-dark); margin-bottom:6px; }
.ev2-form-sub   { font-family:var(--ff-sans); font-size:13px; font-weight:300; color:var(--c-text); margin-bottom:32px; line-height:1.7; }
.ev2-form       { display:flex; flex-direction:column; gap:24px; }
.ev2-fs-label   { font-family:var(--ff-sans); font-size:10px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--c-grey); padding-bottom:8px; border-bottom:1px solid var(--c-bg1); margin-bottom:14px; }
.ev2-row        { display:flex; gap:16px; flex-wrap:wrap; }
.ev2-field      { display:flex; flex-direction:column; gap:5px; flex:1; min-width:160px; }
.ev2-label      { font-family:var(--ff-sans); font-size:12px; font-weight:500; color:var(--c-secondary); }
.ev2-input,.ev2-select,.ev2-textarea { font-family:var(--ff-sans); font-size:13px; font-weight:300; color:var(--c-dark); background:var(--c-light); border:1px solid var(--c-grey); border-radius:8px; padding:0 14px; height:44px; width:100%; transition:border-color .2s,box-shadow .2s; appearance:none; -webkit-appearance:none; }
.ev2-textarea   { height:auto; padding:12px 14px; resize:vertical; min-height:88px; line-height:1.65; }
.ev2-select     { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B8C0CC' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:38px; cursor:pointer; }
.ev2-input:focus,.ev2-select:focus,.ev2-textarea:focus { outline:none; border-color:var(--c-primary); box-shadow:0 0 0 3px rgba(110,193,228,.18); }
.ev2-input.err,.ev2-select.err { border-color:var(--c-donate); }
.ev2-input::placeholder,.ev2-textarea::placeholder { color:var(--c-grey); }
.ev2-check-group { display:flex; flex-wrap:wrap; gap:8px; }
.ev2-check-pill  { display:flex; align-items:center; gap:8px; padding:8px 16px; border:1px solid var(--c-grey); border-radius:8px; cursor:pointer; font-family:var(--ff-sans); font-size:12px; color:var(--c-secondary); background:var(--c-light); transition:border-color .15s,background .15s; user-select:none; }
.ev2-check-pill:hover { border-color:var(--c-primary); }
.ev2-check-pill input[type=checkbox] { width:14px; height:14px; accent-color:var(--c-btn); cursor:pointer; flex-shrink:0; }
.ev2-check-pill.on { border-color:var(--c-btn); background:rgba(45,133,84,.08); color:var(--c-btn); font-weight:500; }
.ev2-avail-group { display:flex; flex-wrap:wrap; gap:8px; }
.ev2-avail-pill  { display:flex; align-items:center; gap:7px; padding:7px 16px; border:1px solid var(--c-grey); border-radius:20px; cursor:pointer; font-family:var(--ff-sans); font-size:12px; color:var(--c-secondary); background:var(--c-light); transition:all .15s; user-select:none; }
.ev2-avail-pill input[type=radio] { width:13px; height:13px; accent-color:var(--c-btn); cursor:pointer; }
.ev2-avail-pill.on { border-color:var(--c-accent); background:rgba(97,206,112,.10); color:var(--c-btn); font-weight:500; }
.ev2-consent { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; background:var(--c-bg1); border:1px solid var(--c-grey); border-radius:8px; }
.ev2-consent input[type=checkbox] { width:16px; height:16px; accent-color:var(--c-btn); margin-top:2px; flex-shrink:0; cursor:pointer; }
.ev2-consent-text { font-family:var(--ff-sans); font-size:12px; font-weight:300; color:var(--c-text); line-height:1.65; }
.ev2-consent-text a { color:var(--c-btn); text-decoration:underline; }
.ev2-ferr      { font-family:var(--ff-sans); font-size:11px; color:var(--c-donate); display:none; }
.ev2-ferr.show { display:block; }
.ev2-top-err   { background:rgba(204,32,32,.07); border:1px solid rgba(204,32,32,.3); border-radius:8px; padding:12px 16px; font-family:var(--ff-sans); font-size:13px; color:var(--c-donate); margin-bottom:16px; }
.ev2-submit-row { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }

/* Submit button — white text, green bg, Elementor-proof */
.ev2-btn {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:14px 30px !important;
  background:#2D8554 !important;
  background-color:#2D8554 !important;
  color:#ffffff !important;
  border:none !important;
  border-radius:8px !important;
  font-family:var(--ff-sans);
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s, transform .1s;
  box-shadow:none !important;
  text-decoration:none !important;
}
.ev2-btn:hover {
  background:#1e5c3a !important;
  background-color:#1e5c3a !important;
  color:#ffffff !important;
}
.ev2-btn:active  { transform:scale(.98); }
.ev2-btn:disabled { opacity:.6; cursor:not-allowed; }
.ev2-btn svg { width:16px; height:16px; stroke:#ffffff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ev2-submit-note { font-family:var(--ff-sans); font-size:12px; font-weight:300; color:var(--c-grey); line-height:1.6; }
.ev2-spin { width:16px; height:16px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:ehds-spin .7s linear infinite; }
@keyframes ehds-spin { to { transform:rotate(360deg); } }

/* ── Success ── */
.ev2-success { display:none; flex-direction:column; align-items:center; text-align:center; padding:60px 52px; gap:16px; background:var(--c-bg1); }
.ev2-success.show { display:flex; }
.ev2-success-ring { width:68px; height:68px; border-radius:50%; background:rgba(97,206,112,.15); border:2px solid var(--c-accent); display:flex; align-items:center; justify-content:center; }
.ev2-success-ring svg { width:28px; height:28px; stroke:var(--c-btn); fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.ev2-success-title { font-family:var(--ff-serif); font-size:28px; font-weight:700; color:var(--c-dark); }
.ev2-success-who   { font-family:var(--ff-sans); font-size:15px; font-weight:500; color:var(--c-btn); }
.ev2-success-body  { font-family:var(--ff-sans); font-size:14px; font-weight:300; color:var(--c-text); line-height:1.75; max-width:460px; }
.ev2-steps         { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:8px; }
.ev2-step          { background:var(--c-light); border:1px solid var(--c-grey); border-radius:10px; padding:14px 20px; font-family:var(--ff-sans); font-size:12px; color:var(--c-text); text-align:center; min-width:140px; }
.ev2-step strong   { display:block; font-size:13px; font-weight:600; color:var(--c-dark); margin-bottom:4px; }

/* ── Footer ── */
.ev2-footer      { background:var(--c-bg2); padding:16px 52px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.ev2-footer-text { font-family:var(--ff-sans); font-size:12px; font-weight:300; color:rgba(255,255,255,.45); }
.ev2-footer-text strong { font-weight:600; color:var(--c-accent); }
.ev2-footer-dots { display:flex; gap:6px; }

/* ═══════════════════════════════════════════════
   OPEN ROLES SECTION
═══════════════════════════════════════════════ */
.ev2-roles-section { background:var(--c-bg1); padding:40px 52px 36px; border-bottom:1px solid var(--c-grey); }
.ev2-roles-header  { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px; }
.ev2-roles-eyebrow { font-family:var(--ff-sans); font-size:10px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--c-grey); margin-bottom:4px; }
.ev2-roles-title   { font-family:var(--ff-serif); font-size:20px; font-weight:700; color:var(--c-dark); }
.ev2-roles-count   { text-align:center; background:var(--c-light); border:1px solid var(--c-grey); border-radius:10px; padding:10px 18px; min-width:80px; }
.ev2-roles-count-num   { font-family:var(--ff-serif); font-size:28px; font-weight:700; color:var(--c-btn); display:block; line-height:1; }
.ev2-roles-count-label { font-family:var(--ff-sans); font-size:10px; color:var(--c-grey); text-transform:uppercase; letter-spacing:.8px; }

/* Filter buttons — also reset Elementor button styles */
.ev2-roles-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.ev2-roles-filters button,
.ev2-rf-btn {
  font-family:var(--ff-sans);
  font-size:12px;
  font-weight:500;
  padding:6px 16px !important;
  border-radius:20px !important;
  border:1px solid var(--c-grey) !important;
  background:var(--c-light) !important;
  background-color:var(--c-light) !important;
  color:var(--c-secondary);
  cursor:pointer;
  transition:all .15s;
  box-shadow:none !important;
}
.ev2-roles-filters button:hover,
.ev2-rf-btn:hover {
  border-color:#2D8554 !important;
  color:#2D8554 !important;
  background:var(--c-light) !important;
  background-color:var(--c-light) !important;
}
.ev2-roles-filters button.active,
.ev2-rf-btn.active {
  background:#2D8554 !important;
  background-color:#2D8554 !important;
  border-color:#2D8554 !important;
  color:#ffffff !important;
}

/* Role cards grid */
.ev2-roles-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; margin-bottom:20px; }

.ev2-role-card {
  background:#edf7ee;
  border:1.5px solid rgba(45,133,84,.25);
  border-radius:12px;
  padding:18px;
  cursor:pointer;
  position:relative;
  transition:transform .15s, border-color .15s;
  overflow:hidden;
}
.ev2-role-card:hover  { transform:translateY(-2px); }
.ev2-role-card.selected { border-width:2px; }
.ev2-role-card.filtered-out { display:none; }

/* Color variants */
.ev2-role-card.rc-accent                              { background:#edf7ee; border-color:rgba(45,133,84,.25); }
.ev2-role-card.rc-accent:hover                        { border-color:#2D8554; }
.ev2-role-card.rc-accent.selected                     { border-color:#2D8554; }
.ev2-role-card.rc-accent .ev2-rc-dot                  { background:#61CE70; }
.ev2-role-card.rc-accent .ev2-rc-program              { color:#2D8554; }
.ev2-role-card.rc-accent .ev2-rc-spots                { color:#2D8554; border-color:rgba(45,133,84,.3); }
.ev2-role-card.rc-accent .ev2-rc-select-btn           { color:#2D8554; border-color:rgba(45,133,84,.3); }
.ev2-role-card.rc-accent:hover .ev2-rc-select-btn,
.ev2-role-card.rc-accent.selected .ev2-rc-select-btn  { background:#d8f0da; }

.ev2-role-card.rc-primary                             { background:#e8f4fc; border-color:rgba(110,193,228,.3); }
.ev2-role-card.rc-primary:hover                       { border-color:#6EC1E4; }
.ev2-role-card.rc-primary.selected                    { border-color:#6EC1E4; }
.ev2-role-card.rc-primary .ev2-rc-dot                 { background:#6EC1E4; }
.ev2-role-card.rc-primary .ev2-rc-program             { color:#1a7299; }
.ev2-role-card.rc-primary .ev2-rc-spots               { color:#1a7299; border-color:rgba(110,193,228,.35); }
.ev2-role-card.rc-primary .ev2-rc-select-btn          { color:#1a7299; border-color:rgba(110,193,228,.35); }
.ev2-role-card.rc-primary:hover .ev2-rc-select-btn,
.ev2-role-card.rc-primary.selected .ev2-rc-select-btn { background:#d0e9f7; }

.ev2-role-card.rc-donate                              { background:#fdf0f0; border-color:rgba(204,32,32,.2); }
.ev2-role-card.rc-donate:hover                        { border-color:#CC2020; }
.ev2-role-card.rc-donate.selected                     { border-color:#CC2020; }
.ev2-role-card.rc-donate .ev2-rc-dot                  { background:#CC2020; }
.ev2-role-card.rc-donate .ev2-rc-program              { color:#CC2020; }
.ev2-role-card.rc-donate .ev2-rc-spots                { color:#CC2020; border-color:rgba(204,32,32,.25); }
.ev2-role-card.rc-donate .ev2-rc-select-btn           { color:#CC2020; border-color:rgba(204,32,32,.25); }
.ev2-role-card.rc-donate:hover .ev2-rc-select-btn,
.ev2-role-card.rc-donate.selected .ev2-rc-select-btn  { background:#fde0e0; }

.ev2-role-card.rc-secondary                               { background:#f3f4f5; border-color:rgba(84,89,95,.2); }
.ev2-role-card.rc-secondary:hover                         { border-color:#54595F; }
.ev2-role-card.rc-secondary.selected                      { border-color:#54595F; }
.ev2-role-card.rc-secondary .ev2-rc-dot                   { background:#54595F; }
.ev2-role-card.rc-secondary .ev2-rc-program               { color:#54595F; }
.ev2-role-card.rc-secondary .ev2-rc-spots                 { color:#54595F; border-color:rgba(84,89,95,.25); }
.ev2-role-card.rc-secondary .ev2-rc-select-btn            { color:#54595F; border-color:rgba(84,89,95,.25); }
.ev2-role-card.rc-secondary:hover .ev2-rc-select-btn,
.ev2-role-card.rc-secondary.selected .ev2-rc-select-btn   { background:#e8e9ea; }

/* Card inner elements */
.ev2-rc-top       { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.ev2-rc-dot-wrap  { display:flex; align-items:center; gap:6px; }
.ev2-rc-dot       { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.ev2-rc-program   { font-family:var(--ff-sans); font-size:10px; font-weight:600; letter-spacing:.8px; text-transform:uppercase; }
.ev2-rc-spots     { font-family:var(--ff-sans); font-size:10px; font-weight:600; background:#fff; border-radius:20px; padding:2px 8px; border:1px solid #B8C0CC; }
.ev2-rc-title     { font-family:var(--ff-serif); font-size:15px; font-weight:700; color:#0D141A; margin-bottom:6px; line-height:1.3; }
.ev2-rc-desc      { font-family:var(--ff-sans); font-size:12px; font-weight:300; color:#7A7A7A; line-height:1.6; margin-bottom:10px; }
.ev2-rc-meta      { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.ev2-rc-meta-item { display:flex; align-items:center; gap:4px; font-family:var(--ff-sans); font-size:11px; color:#54595F; }
.ev2-rc-meta-item svg { flex-shrink:0; opacity:.6; }
.ev2-rc-skills    { font-family:var(--ff-sans); font-size:11px; color:#B8C0CC; font-style:italic; margin-bottom:12px; line-height:1.5; }
.ev2-rc-select-btn {
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 12px; border-radius:7px; background:#fff; border:1px solid #B8C0CC;
  font-family:var(--ff-sans); font-size:12px; font-weight:500;
  transition:background .15s;
}
.ev2-rc-selected-badge {
  display:none; position:absolute; top:12px; right:12px;
  background:#2D8554; color:#fff;
  font-family:var(--ff-sans); font-size:10px; font-weight:600;
  padding:3px 8px; border-radius:20px;
  align-items:center; gap:4px;
}
.ev2-role-card.selected .ev2-rc-selected-badge { display:flex; }
.ev2-role-card.selected .ev2-rc-select-label   { opacity:.5; }

/* Selected summary bar */
.ev2-selected-summary { background:#232A34; border-radius:10px; padding:16px 20px; margin-top:4px; }
.ev2-ss-inner  { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.ev2-ss-label  { font-family:var(--ff-sans); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:1.2px; color:rgba(255,255,255,.4); margin-bottom:3px; }
.ev2-ss-title  { font-family:var(--ff-serif); font-size:16px; font-weight:700; color:#fff; }
.ev2-ss-prog   { font-family:var(--ff-sans); font-size:12px; color:#61CE70; margin-top:2px; }
.ev2-ss-change {
  font-family:var(--ff-sans); font-size:12px; font-weight:500;
  padding:8px 18px !important; background:transparent !important;
  border:1px solid rgba(255,255,255,.25) !important; border-radius:7px !important;
  color:rgba(255,255,255,.7) !important; cursor:pointer; transition:all .15s;
  white-space:nowrap; box-shadow:none !important;
}
.ev2-ss-change:hover { background:rgba(255,255,255,.08) !important; color:#fff !important; }

/* ═══════════════════════════════════════════════
   NEWSLETTER WIDGET
═══════════════════════════════════════════════ */
.nl2             { font-family:var(--ff-sans); background:var(--c-light); border:1px solid var(--c-grey); border-radius:14px; overflow:hidden; max-width:660px; width:100%; }
.nl2-bar         { height:5px; background:linear-gradient(90deg,var(--c-btn) 0%,var(--c-accent) 50%,var(--c-primary) 100%); }
.nl2-head        { background:var(--c-bg1); padding:24px 28px 20px; display:flex; align-items:flex-start; gap:16px; }
.nl2-icon        { width:48px; height:48px; border-radius:12px; background:var(--c-btn); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nl2-icon svg    { width:22px; height:22px; stroke:#fff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.nl2-title       { font-family:var(--ff-serif); font-size:19px; font-weight:700; color:var(--c-dark); line-height:1.3; margin-bottom:5px; }
.nl2-sub         { font-family:var(--ff-sans); font-size:13px; font-weight:300; color:var(--c-text); line-height:1.65; }
.nl2-pills       { display:flex; flex-wrap:wrap; gap:6px; padding:14px 28px; border-bottom:1px solid var(--c-grey); }
.nl2-pill        { font-family:var(--ff-sans); font-size:11px; font-weight:500; padding:4px 12px; border-radius:20px; }
.np-a { background:rgba(97,206,112,.15);  color:var(--c-btn); }
.np-p { background:rgba(110,193,228,.15); color:#1a7299; }
.np-d { background:rgba(204,32,32,.10);   color:var(--c-donate); }
.np-s { background:rgba(84,89,95,.10);    color:var(--c-secondary); }
.nl2-body        { padding:24px 28px 28px; }
.nl2-form        { display:flex; flex-direction:column; gap:14px; }
.nl2-row         { display:flex; gap:12px; flex-wrap:wrap; }
.nl2-field       { display:flex; flex-direction:column; gap:5px; flex:1; min-width:140px; }
.nl2-label       { font-family:var(--ff-sans); font-size:12px; font-weight:500; color:var(--c-secondary); }
.nl2-input       { font-family:var(--ff-sans); font-size:13px; font-weight:300; color:var(--c-dark); background:var(--c-light); border:1px solid var(--c-grey); border-radius:8px; padding:0 14px; height:43px; width:100%; transition:border-color .2s,box-shadow .2s; }
.nl2-input:focus { outline:none; border-color:var(--c-primary); box-shadow:0 0 0 3px rgba(110,193,228,.18); }
.nl2-input.err   { border-color:var(--c-donate); }
.nl2-input::placeholder { color:var(--c-grey); }
.nl2-email-row   { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.nl2-email-row .nl2-field { flex:1; min-width:180px; }

/* Newsletter button — white text, Elementor-proof */
.nl2-btn {
  height:43px;
  padding:0 22px !important;
  background:#2D8554 !important;
  background-color:#2D8554 !important;
  color:#ffffff !important;
  border:none !important;
  border-radius:8px !important;
  font-family:var(--ff-sans);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:7px;
  transition:background .2s, transform .1s;
  box-shadow:none !important;
  text-decoration:none !important;
}
.nl2-btn:hover  { background:#1e5c3a !important; background-color:#1e5c3a !important; color:#ffffff !important; }
.nl2-btn:active { transform:scale(.98); }
.nl2-btn:disabled { opacity:.6; cursor:not-allowed; }
.nl2-btn svg    { width:14px; height:14px; stroke:#ffffff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.nl2-consent    { display:flex; align-items:flex-start; gap:10px; }
.nl2-consent input[type=checkbox] { width:15px; height:15px; accent-color:var(--c-btn); margin-top:2px; flex-shrink:0; cursor:pointer; }
.nl2-consent-text { font-family:var(--ff-sans); font-size:11px; font-weight:300; color:var(--c-text); line-height:1.65; }
.nl2-consent-text a { color:var(--c-btn); text-decoration:underline; }
.nl2-ferr       { font-family:var(--ff-sans); font-size:11px; color:var(--c-donate); }
.nl2-success    { flex-direction:column; align-items:center; text-align:center; padding:32px 28px; gap:10px; background:var(--c-bg1); }
.nl2-success-ring { width:52px; height:52px; border-radius:50%; background:rgba(97,206,112,.15); border:2px solid var(--c-accent); display:flex; align-items:center; justify-content:center; }
.nl2-success-ring svg { width:22px; height:22px; stroke:var(--c-btn); fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.nl2-success-title { font-family:var(--ff-serif); font-size:18px; font-weight:700; color:var(--c-dark); }
.nl2-success-body  { font-family:var(--ff-sans); font-size:13px; font-weight:300; color:var(--c-text); line-height:1.65; max-width:380px; }
.nl2-footer     { background:var(--c-bg2); padding:12px 28px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.nl2-footer-brand { font-family:var(--ff-sans); font-size:11px; font-weight:300; color:rgba(255,255,255,.45); }
.nl2-footer-brand strong { font-weight:600; color:var(--c-accent); }
.nl2-footer-note  { font-family:var(--ff-sans); font-size:10px; color:rgba(255,255,255,.3); }

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media (max-width:700px) {
  .ev2-hero        { padding:36px 24px 32px; }
  .ev2-hero-right  { display:none; }
  .ev2-hero-title  { font-size:27px; }
  .ev2-tabs-eyebrow,
  .ev2-tabs        { padding-left:24px; padding-right:24px; }
  .ev2-panel       { padding:18px 24px; }
  .ev2-form-wrap   { padding:30px 24px 40px; }
  .ev2-success     { padding:44px 24px; }
  .ev2-footer      { padding:14px 24px; }
  .ev2-row         { flex-direction:column; }
  .ev2-roles-section { padding:28px 24px 24px; }
  .ev2-roles-grid  { grid-template-columns:1fr; }
  .nl2-head,
  .nl2-pills,
  .nl2-body        { padding-left:20px; padding-right:20px; }
  .nl2-row,
  .nl2-email-row   { flex-direction:column; }
  .nl2-btn         { width:100%; justify-content:center; }
  .nl2-footer      { padding:12px 20px; flex-direction:column; text-align:center; }
}