.mvv-open-modal,.mvv-modal{
  --mvv-primary:#2f6b4f;
  --mvv-secondary:#2f7594;
  --mvv-accent:#c78a34;
  --mvv-ink:var(--e-global-color-text,#233129);
  --mvv-paper:#fff;
  --mvv-soft:#f5f8f6;
  --mvv-line:#d9e3dc;
}

.mvv-wrap,.mvv-thanks{
  --mvv-primary:#2f6b4f;
  --mvv-secondary:#2f7594;
  --mvv-accent:#c78a34;
  --mvv-ink:var(--e-global-color-text,#233129);
  --mvv-paper:#fff;
  --mvv-soft:#f5f8f6;
  --mvv-line:#d9e3dc;
  font:inherit;color:inherit;max-width:940px;margin:0 auto;
}
.mvv-wrap *,.mvv-thanks *{box-sizing:border-box}
.mvv-banner{position:relative;overflow:hidden;display:flex;gap:1rem;align-items:flex-start;border:1px solid var(--mvv-line);border-radius:22px;padding:clamp(20px,4vw,34px);margin:0 0 18px;background:linear-gradient(135deg,#e5f4eb 0%,#f7fbf9 48%,#e6f3f8 100%);box-shadow:0 12px 38px rgba(31,64,45,.08)}
.mvv-banner:after{content:"";position:absolute;width:250px;height:250px;border:34px solid rgba(46,111,136,.07);border-radius:50%;right:-135px;bottom:-170px}
.mvv-banner__icon{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;font-size:1.8rem;line-height:1;background:var(--mvv-primary);color:#fff;box-shadow:0 7px 18px rgba(49,93,70,.18)}
.mvv-banner strong{display:block;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.12;color:var(--mvv-ink);max-width:720px}
.mvv-banner p{margin:.65rem 0 0;max-width:720px;line-height:1.55;color:#46564d}
.mvv-eyebrow,.mvv-step-kicker{display:block;font-size:.72rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--mvv-secondary);margin-bottom:.45rem}

.mvv-form{position:relative;background:var(--mvv-paper);border:1px solid var(--mvv-line);border-radius:22px;box-shadow:0 14px 44px rgba(26,55,39,.07);overflow:visible}
.mvv-progress{position:sticky;top:10px;z-index:4;background:rgba(255,255,255,.96);backdrop-filter:blur(9px);border-bottom:1px solid var(--mvv-line);border-radius:22px 22px 0 0;padding:16px 22px 13px}
.admin-bar .mvv-progress{top:42px}
.mvv-progress__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.mvv-progress__text{font-size:.79rem;font-weight:800;letter-spacing:.03em;color:var(--mvv-secondary)}
.mvv-progress__title{font-size:.9rem;color:var(--mvv-ink)}
.mvv-progress__bar{height:7px;background:#e6ece8;border-radius:99px;overflow:hidden}
.mvv-progress__bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--mvv-primary),var(--mvv-secondary));border-radius:99px;transition:width .35s ease}
.mvv-stepper{display:grid;grid-template-columns:repeat(var(--mvv-step-count,4),1fr);gap:4px;list-style:none;padding:0;margin:10px 0 0}
.mvv-stepper li{position:relative;text-align:center;color:#7b8880;font-size:.72rem;font-weight:700;padding-top:26px;line-height:1.15}
.mvv-stepper li:before{content:attr(data-number);position:absolute;top:0;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e7ece8;color:#68766e;font-size:.68rem;font-weight:900;z-index:2;transition:.2s}
.mvv-stepper li:after{content:"";position:absolute;top:10px;left:-50%;width:100%;height:2px;background:#e7ece8;z-index:1}
.mvv-stepper li:first-child:after{display:none}
.mvv-stepper li.is-done,.mvv-stepper li.is-current{color:var(--mvv-primary)}
.mvv-stepper li.is-done:before{content:"✓";background:var(--mvv-primary);color:#fff}
.mvv-stepper li.is-current:before{background:var(--mvv-secondary);color:#fff;box-shadow:0 0 0 5px rgba(46,111,136,.10)}
.mvv-stepper li.is-done:after,.mvv-stepper li.is-current:after{background:var(--mvv-primary)}

.mvv-step{padding:clamp(22px,4vw,40px);animation:mvv-slide-in .28s ease both;min-height:420px}
.mvv-step[hidden]{display:none!important}
@keyframes mvv-slide-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
.mvv-step h2,.mvv-thanks h2{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.1;margin:0 0 .45rem;color:var(--mvv-ink)}
.mvv-help,.mvv-form small{color:#67756d}.mvv-help{font-size:1rem;line-height:1.5;margin:0 0 1.4rem}
.mvv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.mvv-form label,.mvv-form fieldset,.mvv-visit-form label{display:block;margin:0 0 1rem}
.mvv-form label>span:not(.mvv-step-kicker){color:var(--mvv-accent)}
.mvv-form input[type=text],.mvv-form input[type=email],.mvv-form input[type=tel],.mvv-form input:not([type]),.mvv-form select,.mvv-form textarea,.mvv-visit-form textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--mvv-ink);background:#fff;border:1px solid #bdc9c1;border-radius:12px;padding:.78rem .86rem;margin-top:.36rem;outline:none;transition:border-color .18s,box-shadow .18s,transform .18s}
.mvv-form input:focus,.mvv-form select:focus,.mvv-form textarea:focus,.mvv-visit-form textarea:focus{border-color:var(--mvv-secondary);box-shadow:0 0 0 4px rgba(46,111,136,.10)}
.mvv-form fieldset{border:0;padding:0}.mvv-form legend{font-weight:800;margin-bottom:.72rem;color:var(--mvv-ink)}
.mvv-check,.mvv-choice{position:relative;display:flex!important;gap:.64rem;align-items:flex-start;padding:.78rem .82rem!important;border:1px solid var(--mvv-line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}
.mvv-check:hover,.mvv-choice:hover{border-color:#abc0b2;transform:translateY(-1px);box-shadow:0 5px 14px rgba(31,64,45,.05)}
.mvv-check input,.mvv-choice input{margin-top:.2rem;accent-color:var(--mvv-primary);transform:scale(1.06)}
.mvv-check.is-selected,.mvv-choice.is-selected,.mvv-check:has(input:checked),.mvv-choice:has(input:checked){background:linear-gradient(135deg,#e9f6ee,#edf6fa);border-color:#72aa8a;box-shadow:inset 0 0 0 1px rgba(49,93,70,.08)}
.mvv-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem;margin-bottom:1.15rem}
.mvv-highlight{border:1px dashed var(--mvv-secondary)!important;background:#f2f8fb!important}
.mvv-opportunity-group{border-top:1px solid var(--mvv-line)!important;padding-top:1rem!important;margin-top:1.2rem!important}
.mvv-opportunity-group legend{font-size:1.06rem}
.mvv-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.7rem;padding-top:1rem;border-top:1px solid #edf1ee}
.mvv-actions button,.mvv-open-modal,.mvv-visit-form button{font:inherit;cursor:pointer;border-radius:11px;padding:.78rem 1.1rem;font-weight:800;transition:transform .15s,box-shadow .15s}
.mvv-actions .elementor-button,.mvv-submit,.mvv-next,.mvv-open-modal,.mvv-visit-form button{border:0;background:linear-gradient(110deg,var(--mvv-primary),var(--mvv-secondary));color:#fff;box-shadow:0 7px 18px rgba(49,93,70,.16)}
.mvv-actions .elementor-button:hover,.mvv-submit:hover,.mvv-next:hover,.mvv-open-modal:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(49,93,70,.22)}
/* Production modal trigger: keep the label visible even when placed inside Elementor/theme containers. */
.mvv-open-modal{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:132px!important;min-height:44px!important;background:linear-gradient(110deg,var(--mvv-primary,#2f6b4f),var(--mvv-secondary,#2f7594))!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;font-size:1rem!important;line-height:1.2!important;text-decoration:none!important;opacity:1!important;visibility:visible!important}
.mvv-open-modal:hover,.mvv-open-modal:focus{color:#fff!important;background:linear-gradient(110deg,var(--mvv-primary,#2f6b4f),var(--mvv-secondary,#2f7594))!important}
.mvv-back{background:#fff;border:1px solid #aebcb3;color:var(--mvv-ink)}
.mvv-form-message{margin:0 clamp(22px,4vw,40px) 24px;padding:0;font-weight:700;color:#8a2d2d;min-height:1.2em}
.mvv-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.mvv-mode-compact .mvv-banner{padding:18px 20px;border-radius:16px}.mvv-mode-compact .mvv-banner strong{font-size:1.35rem}.mvv-mode-compact .mvv-step{min-height:0;padding:24px}.mvv-mode-compact .mvv-form{border-radius:16px}.mvv-mode-compact .mvv-progress{border-radius:16px 16px 0 0}

.mvv-modal[hidden]{display:none!important}.mvv-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:1rem}.mvv-modal__backdrop{position:absolute;inset:0;background:rgba(10,25,18,.64);backdrop-filter:blur(3px)}.mvv-modal__panel{position:relative;background:#f8faf9;color:var(--mvv-ink);width:min(960px,96vw);max-height:94vh;overflow:auto;border-radius:22px;padding:1.15rem;box-shadow:0 25px 80px rgba(0,0,0,.28)}.mvv-modal__close{position:sticky;float:right;top:0;z-index:8;border:1px solid #d5ded8;background:#fff;color:var(--mvv-ink,#233129);-webkit-text-fill-color:var(--mvv-ink,#233129);font-size:1.55rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:grid;place-items:center}.mvv-modal-open{overflow:hidden}

.mvv-visit{border-top:1px solid var(--mvv-line);padding-top:1.25rem}.mvv-next-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.mvv-secondary-link{display:inline-block;margin-top:.5rem}.mvv-thanks{background:#fff;border:1px solid var(--mvv-line);border-radius:22px;padding:clamp(20px,4vw,34px);box-shadow:0 14px 44px rgba(26,55,39,.07)}.mvv-thanks .mvv-banner{box-shadow:none}

@media(max-width:700px){
 .mvv-grid,.mvv-choice-grid{grid-template-columns:1fr}.mvv-modal__panel{padding:.7rem}.mvv-banner{border-radius:16px}.mvv-step{padding:22px 18px;min-height:0}.mvv-progress{padding:13px 16px}.mvv-stepper li{font-size:.64rem}.mvv-stepper li span{display:none}.mvv-form-message{margin-left:18px;margin-right:18px}.mvv-progress__title{display:none}
}
@media(prefers-reduced-motion:reduce){.mvv-progress__bar span,.mvv-step,.mvv-check,.mvv-choice{animation:none;transition:none}}

/* Elementor: The Commons → Volunteer — Count Me In */
.mvv-elementor-volunteer-button{display:flex;width:100%}
.mvv-elementor-volunteer-button--align-left{justify-content:flex-start}
.mvv-elementor-volunteer-button--align-center{justify-content:center}
.mvv-elementor-volunteer-button--align-right{justify-content:flex-end}
.mvv-elementor-volunteer-button--full .mvv-open-modal{width:100%!important}

/* Mirrors the simple white pill call-to-action used on the current home page. */
.mvv-elementor-volunteer-button--home-pill .mvv-open-modal{
  min-width:220px!important;
  min-height:44px!important;
  padding:.65rem 2rem!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  background-image:none!important;
  color:#202020!important;
  -webkit-text-fill-color:#202020!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
.mvv-elementor-volunteer-button--home-pill .mvv-open-modal:hover,
.mvv-elementor-volunteer-button--home-pill .mvv-open-modal:focus{
  background:#fff!important;
  background-image:none!important;
  color:#202020!important;
  -webkit-text-fill-color:#202020!important;
  transform:translateY(-1px)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.14)!important;
}

/* The existing Minnesota Valley gradient remains available as a second preset. */
.mvv-elementor-volunteer-button--brand .mvv-open-modal{
  border-radius:11px!important;
  text-transform:none!important;
}
