body:has(.ccv-module) .t4-main-body{padding-top:0!important;padding-bottom:0!important}
body:has(.ccv-module) .t4-main-body>.t4-section-inner,body:has(.ccv-module) .t4-main-body>.container,body:has(.ccv-module) .t4-main-body .container{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important}
.ccv-module{--red:#cb455c;--ink:#171527;--cream:#fbf5ed;--line:#e8ded8;min-height:100vh;background:var(--cream);color:#34292c;padding:54px 0 76px}
.ccv-shell{width:min(1480px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:390px minmax(0,1fr);gap:34px;align-items:start}
.ccv-side{position:sticky;top:24px;background:#171527;color:#fff;border-radius:24px;padding:42px 36px;min-height:620px;overflow:hidden}
.ccv-side:after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;border:48px solid rgba(203,69,92,.24);border-radius:50%}
.ccv-kicker,.ccv-step-label{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:#ffe8ec;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.09em}
.ccv-side h1{font-size:58px;line-height:.98;margin:22px 0 22px;color:#fff}.ccv-side>p{font-size:17px;line-height:1.65;color:#c8c5ce}
.ccv-mini-points{display:grid;gap:20px;margin-top:36px;position:relative;z-index:2}.ccv-mini-points>div{display:grid;grid-template-columns:42px 1fr;column-gap:12px}.ccv-mini-points span{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--red);font-weight:900}.ccv-mini-points strong{font-size:15px}.ccv-mini-points small{color:#aaa6b1;line-height:1.45;margin-top:3px}
.ccv-workspace{background:#fff;border-radius:24px;box-shadow:0 18px 60px rgba(39,25,25,.08);overflow:hidden}.ccv-workspace form{margin:0}.ccv-progress{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);background:#fff}.ccv-progress>div{padding:20px 28px;display:flex;align-items:center;gap:12px;color:#9b9494}.ccv-progress span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid #d8d0cc;font-weight:900}.ccv-progress .is-active{color:var(--red)}.ccv-progress .is-active span{background:var(--red);border-color:var(--red);color:#fff}
.ccv-step{display:none;padding:42px}.ccv-step.is-active{display:block}.ccv-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.ccv-section-head h2{font-size:38px;line-height:1.1;margin:10px 0 8px;color:var(--ink)}.ccv-section-head p{margin:0;color:#756e6c;font-size:16px;line-height:1.55}.ccv-opportunity-pill{white-space:nowrap;padding:8px 13px;border:1px solid #f0bdc7;border-radius:999px;color:var(--red);font-weight:800;font-size:12px}
.ccv-location-builder{display:grid;gap:14px}.ccv-location-row{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(0,1fr) 42px;gap:14px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fffafa}.ccv-row-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffe8ec;color:var(--red);font-weight:900;align-self:center}.ccv-location-row label,.ccv-preference-grid label,.ccv-fields label{font-weight:800;font-size:14px}.ccv-location-row select,.ccv-preference-grid select,.ccv-fields input,.ccv-fields textarea{width:100%;min-height:54px;margin-top:7px;border:1px solid #d9d3d0;border-radius:10px;background:#fff;padding:12px 14px}.ccv-fields textarea{min-height:140px;resize:vertical}.ccv-remove-location{width:38px;height:38px;border:0;border-radius:50%;background:#f5e0e4;color:#9b3347;font-size:24px;cursor:pointer;margin-bottom:7px}.ccv-add-location{margin:14px 0 26px;border:1px dashed #dba9b3;background:#fff8f9;color:var(--red);border-radius:10px;padding:12px 16px;font-weight:900;cursor:pointer}
.ccv-preference-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}.ccv-help-note,.ccv-privacy-note{margin-top:20px;border-radius:12px;padding:14px 16px;background:#f8f5f2;color:#6f6764;line-height:1.5;margin-bottom:20px}.ccv-help-note span{display:inline-flex;background:var(--ink);color:#fff;border-radius:999px;padding:3px 8px;margin-right:8px;font-size:12px;font-weight:900}.ccv-privacy-note span{color:#187a52;font-weight:900;margin-right:8px}
.ccv-primary,.ccv-secondary{min-height:58px;border:0;border-radius:10px;padding:0 28px;font-weight:900;text-transform:uppercase;cursor:pointer}.ccv-primary{width:100%;margin-top:28px;background:var(--red);color:#fff}.ccv-primary:disabled{opacity:.45;cursor:not-allowed}.ccv-secondary{background:#eee9e6;color:#352d2b}.ccv-actions{display:grid;grid-template-columns:170px 1fr;gap:14px}.ccv-actions .ccv-primary{margin-top:0}
.ccv-summary{margin:0 0 24px;padding:18px;border:1px solid #f0d1d7;border-radius:14px;background:#fff8f9;font-weight:800;line-height:1.6}.ccv-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:24px}.ccv-fields .is-wide{grid-column:1/-1}
.ccv-social-login{margin:20px 0 8px}.ccv-social-title{font-size:24px;font-weight:900}.ccv-social-login>p{color:#756e6c}.ccv-akeeba-login-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:14px}.ccv-akeeba-login-button{min-height:54px;border:1px solid #d7d2ce;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800}.ccv-authenticated-user{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0;padding:14px 16px;border:1px solid #dfe8e4;border-radius:10px;background:#f7fbf9}.ccv-authenticated-badge{padding:4px 8px;border-radius:999px;background:#dff3e6;color:#17643b;font-size:12px;font-weight:900;text-transform:uppercase}.ccv-authenticated-user span:last-child{color:#6e6a68}.ccv-message{padding:14px 16px;border-radius:10px;margin:16px 0}.ccv-message.is-error{display:block;background:#f9d7da;color:#8f2934}.ccv-message.is-success{display:block;background:#dff3e6;color:#17643b}
@media(max-width:1050px){.ccv-shell{grid-template-columns:1fr}.ccv-side{position:relative;top:auto;min-height:auto}.ccv-side h1{font-size:46px}.ccv-mini-points{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ccv-module{padding:26px 0}.ccv-shell{width:min(100% - 24px,1480px)}.ccv-step{padding:24px 18px}.ccv-location-row{grid-template-columns:36px 1fr}.ccv-location-row label{grid-column:2}.ccv-remove-location{grid-column:2}.ccv-preference-grid,.ccv-fields,.ccv-actions,.ccv-mini-points{grid-template-columns:1fr}.ccv-section-head{display:block}.ccv-opportunity-pill{display:inline-block;margin-top:12px}.ccv-fields .is-wide{grid-column:auto}}


/* 1.2.1 alignment, select breathing room, and mobile hardening */
.ccv-remove-location{
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    line-height:1!important;
    font-family:Arial,sans-serif!important;
    font-size:22px!important;
    font-weight:400!important;
    margin-bottom:0!important;
    align-self:center!important;
}
.ccv-location-row select,
.ccv-preference-grid select{
    appearance:none;
    -webkit-appearance:none;
    padding:12px 50px 12px 14px!important;
    background-color:#fff;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%2334292c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 18px center;
    background-size:17px;
}
@media(max-width:1050px){
    .ccv-shell{width:min(100% - 32px,1180px)}
    .ccv-workspace{width:100%}
}
@media(max-width:760px){
    .ccv-module{min-height:auto;padding:20px 0 32px}
    .ccv-shell{width:calc(100% - 20px);gap:16px}
    .ccv-side{padding:28px 22px;border-radius:18px}
    .ccv-side h1{font-size:39px}
    .ccv-workspace{border-radius:18px}
    .ccv-progress>div{padding:14px 12px;gap:8px;font-size:12px}
    .ccv-progress span{width:26px;height:26px}
    .ccv-section-head h2{font-size:30px}
    .ccv-location-row{position:relative;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:16px 14px}
    .ccv-location-row label{grid-column:2;width:100%}
    .ccv-remove-location{position:absolute;right:12px;top:12px;width:34px;height:34px;background:#f7e3e7}
    .ccv-location-row select,.ccv-preference-grid select{font-size:16px;padding-right:48px!important;background-position:right 16px center}
    .ccv-add-location{width:100%;text-align:center}
    .ccv-preference-grid{gap:12px}
    .ccv-fields input,.ccv-fields textarea{font-size:16px}
    .ccv-actions{gap:10px}
}
@media(max-width:420px){
    .ccv-side h1{font-size:34px}
    .ccv-step{padding:20px 14px}
    .ccv-progress strong{display:none}
    .ccv-progress>div{justify-content:center}
    .ccv-section-head h2{font-size:27px}
}

/* 1.2.6 privacy toggle */
.ccv-privacy-card{grid-column:1/-1;display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px!important;border:1px solid #eed7dc;border-radius:16px;background:linear-gradient(135deg,#fff,#fff8fa);min-height:86px}
.ccv-privacy-copy{display:grid;gap:5px}.ccv-privacy-copy strong{font-size:16px;color:#2d2024}.ccv-privacy-copy small{font-size:12px;line-height:1.5;color:#746b6d;font-weight:500}
.ccv-toggle{position:relative;display:block!important;flex:0 0 54px;width:54px;height:30px;cursor:pointer}.ccv-toggle input{position:absolute!important;opacity:0!important;pointer-events:none;width:1px!important;height:1px!important}.ccv-toggle span{display:block;width:54px;height:30px;border-radius:999px;background:#d7d9de;transition:.2s;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.ccv-toggle span:after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.22);transition:.2s}.ccv-toggle input:checked+span{background:#d94761}.ccv-toggle input:checked+span:after{transform:translateX(24px)}
@media(max-width:640px){.ccv-privacy-card{padding:15px!important}.ccv-privacy-copy strong{font-size:14px}}

.ccv-terms-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #e5dedb;border-radius:12px;background:#fff}
.ccv-terms-check{display:flex;align-items:center;gap:9px;margin:0;font-weight:600} .ccv-terms-check input{width:18px;height:18px;margin:0}
.ccv-terms-link{white-space:nowrap;font-size:13px}


/* 1.2.8 authenticated volunteer identity control */
.ccv-behalf-card{
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    margin:16px 0 6px;padding:16px 18px;border:1px solid #dce6e4;border-radius:14px;
    background:#f6fbfa;
}
.ccv-behalf-copy{display:grid;gap:4px}
.ccv-behalf-copy strong{font-size:15px;color:#263437}
.ccv-behalf-copy small{font-size:12px;line-height:1.45;color:#6b7778;font-weight:500}
.ccv-fields input.is-auth-locked{
    background:#f1f4f4!important;color:#6d7678!important;cursor:not-allowed!important;
    border-color:#dfe5e4!important;box-shadow:none!important;
}
@media(max-width:640px){.ccv-behalf-card{align-items:flex-start}}

.ccv-terms-summary{margin-top:8px;color:#6f6568;font-size:12px;line-height:1.5;max-width:760px}


/* 1.2.14 submission success panel */
.ccv-success-panel{
  min-height:620px;
  padding:70px 52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:linear-gradient(180deg,#fff 0%,#fff8f7 100%);
}
.ccv-success-panel[hidden]{display:none!important}
.ccv-success-icon{
  width:84px;height:84px;border-radius:50%;display:grid;place-items:center;
  background:#e8f7ef;color:#188451;font-size:38px;font-weight:900;
  box-shadow:0 0 0 12px rgba(24,132,81,.08);
}
.ccv-success-kicker{margin-top:28px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.1em}
.ccv-success-panel h2{margin:12px 0 10px;color:var(--ink);font-size:clamp(34px,4vw,54px);line-height:1.05}
.ccv-success-panel p{max-width:620px;margin:0;color:#746c6d;font-size:16px;line-height:1.7}
.ccv-success-new{width:min(420px,100%);margin-top:28px}
@media(max-width:760px){.ccv-success-panel{min-height:520px;padding:48px 20px}.ccv-success-icon{width:70px;height:70px;font-size:32px}}


/* 1.2.15 validation tooltip + exact social button artwork */
.ccv-info-tip{position:relative;display:inline-grid;place-items:center;width:22px;height:22px;margin-left:7px;border:1px solid #e4b9c3;border-radius:50%;background:#fff;color:#d94761;font-size:13px;font-weight:900;line-height:1;cursor:help;vertical-align:middle;padding:0}
.ccv-info-tip span[role="tooltip"]{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);z-index:40;width:260px;max-width:70vw;padding:10px 12px;border-radius:9px;background:#1d1f2b;color:#fff;font-size:12px;font-weight:600;line-height:1.45;text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:0;visibility:hidden;pointer-events:none;transition:.15s ease}
.ccv-info-tip span[role="tooltip"]:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1d1f2b}
.ccv-info-tip:hover span[role="tooltip"],.ccv-info-tip:focus span[role="tooltip"]{opacity:1;visibility:visible}
.ccv-location-row.is-duplicate{border-color:#d94761!important;box-shadow:0 0 0 2px rgba(217,71,97,.08)}
.ccv-location-row.is-duplicate [data-availability-select]{border-color:#d94761!important;box-shadow:0 0 0 2px rgba(217,71,97,.08)!important}
.ccv-akeeba-login-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;align-items:center!important}
.ccv-akeeba-login-button.ccv-provider-apple,.ccv-akeeba-login-button.ccv-provider-facebook,.ccv-akeeba-login-button.ccv-provider-google{min-height:64px!important;height:64px!important;padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;overflow:hidden!important;box-shadow:none!important;display:block!important}
.ccv-social-provider-art{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:fill!important;margin:0!important}
.ccv-akeeba-login-button.ccv-provider-apple:hover,.ccv-akeeba-login-button.ccv-provider-facebook:hover,.ccv-akeeba-login-button.ccv-provider-google:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(0,0,0,.10)!important}
@media(max-width:820px){.ccv-akeeba-login-row{grid-template-columns:1fr!important}.ccv-akeeba-login-button.ccv-provider-apple,.ccv-akeeba-login-button.ccv-provider-facebook,.ccv-akeeba-login-button.ccv-provider-google{height:60px!important;min-height:60px!important}}


/* 1.2.16 social artwork ratio fix */
.ccv-akeeba-login-button.ccv-provider-apple,.ccv-akeeba-login-button.ccv-provider-facebook,.ccv-akeeba-login-button.ccv-provider-google{
  min-height:0!important;height:auto!important;aspect-ratio:690/108!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;
}
.ccv-social-provider-art{
  display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;margin:0!important;
}
@media(max-width:820px){
 .ccv-akeeba-login-button.ccv-provider-apple,.ccv-akeeba-login-button.ccv-provider-facebook,.ccv-akeeba-login-button.ccv-provider-google{height:auto!important;min-height:0!important;aspect-ratio:690/108!important}
}

/* 1.2.17 tooltip visibility hardening */
.ccv-privacy-card,.ccv-privacy-copy,.ccv-privacy-copy strong{overflow:visible!important;position:relative!important}
.ccv-info-tip{overflow:visible!important;z-index:9999!important}
.ccv-info-tip span[role="tooltip"]{z-index:99999!important;bottom:auto!important;top:calc(100% + 9px)!important}
.ccv-info-tip span[role="tooltip"]:after{top:auto!important;bottom:100%!important;border-top-color:transparent!important;border-bottom-color:#1d1f2b!important}


/* 1.2.18 visible duplicate validation + behalf tooltip */
.ccv-duplicate-error{grid-column:2 / -2;margin-top:-3px;padding:10px 12px;border-radius:9px;background:#fff0f3;color:#b4233d;font-size:12px;font-weight:800;line-height:1.45}
.ccv-duplicate-error[hidden]{display:none!important}
.ccv-behalf-copy strong{display:flex;align-items:center;gap:4px;overflow:visible!important}
.ccv-behalf-card,.ccv-behalf-copy{overflow:visible!important}
@media(max-width:760px){.ccv-duplicate-error{grid-column:2;margin-top:0}}

/* 1.2.19 duplicate-row-only validation: only subsequent duplicate entries receive the error state. */

/* 1.2.20 — Campaigner blue brand accents. Duplicate/error and remove states remain red. */
.ccv-module{--red:#3633be!important}
.ccv-side:after{border-color:rgba(54,51,190,.22)!important}
.ccv-kicker,.ccv-step-label,.ccv-row-number{background:#efefff!important;color:#3633be!important}
.ccv-progress .is-active{color:#3633be!important}
.ccv-progress .is-active span,.ccv-mini-points span,.ccv-primary{background:#3633be!important;border-color:#3633be!important;color:#fff!important}
.ccv-opportunity-pill{border-color:#c9c8f4!important;color:#3633be!important}
.ccv-add-location{border-color:#b9b7ee!important;background:#f7f7ff!important;color:#3633be!important}
.ccv-toggle input:checked+span{background:#3633be!important}
.ccv-info-tip{color:#3633be!important;border-color:#c9c8f4!important}


/* 1.2.21 Each One-Reach One */
.ccv-behalf-kicker{display:inline-flex;width:max-content;font-size:12px;line-height:1;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:#eef7f2;color:#27724f}
.ccv-person-heading{margin:18px 0 10px;font-size:13px;font-weight:800;color:#263437}
.ccv-behalf-card:has([data-behalf-toggle]:checked){border-color:#b9dcc9;background:#f8fcfa}
.ccv-behalf-card:has([data-behalf-toggle]:checked) .ccv-behalf-kicker{background:#dff3e7}

/* 1.2.22 Each One-Reach One guest submissions */
.ccv-optional-pill{display:inline-flex;align-items:center;margin-left:7px;padding:3px 7px;border-radius:999px;background:#eef1f6;color:#667085;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.ccv-submitter-card{margin-top:4px;padding:18px;border:1px solid #d7def7;border-radius:14px;background:#f8f9ff;display:grid;gap:14px}
.ccv-submitter-card[hidden]{display:none!important}
.ccv-submitter-head{display:grid;gap:4px}.ccv-submitter-head strong{font-size:15px;color:#27324a}.ccv-submitter-head small{color:#6d7484;font-size:12px;line-height:1.5;font-weight:500}
.ccv-submitter-kicker{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;background:#ececff;color:#3633be;font-size:12px;line-height:1;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ccv-submitter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ccv-submitter-fields .is-wide{grid-column:1/-1}
.ccv-submitter-identity{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;border:1px solid #e1e5f3;border-radius:10px;background:#fff}.ccv-submitter-identity span{font-size:12px;color:#737b8c}.ccv-submitter-identity strong{font-size:13px;color:#27324a}.ccv-submitter-identity small{font-size:12px;color:#737b8c}
.ccv-proxy-consent{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:0!important;padding:12px 14px!important;border:1px solid #e5e7ef!important;border-radius:10px!important;background:#fff!important;font-size:12px!important;font-weight:700!important;line-height:1.5!important;color:#444b5c!important}.ccv-proxy-consent input{flex:0 0 auto!important;width:18px!important;height:18px!important;margin:1px 0 0!important}.ccv-proxy-consent>span{display:block!important;margin-top:18px!important}
@media(max-width:640px){.ccv-submitter-fields{grid-template-columns:1fr}.ccv-submitter-fields .is-wide{grid-column:auto}.ccv-submitter-card{padding:14px}}

/* 1.2.24 Each One-Reach One multiple volunteer builder */
.ccv-volunteer-person-builder{display:grid;gap:14px;margin-top:12px}
.ccv-volunteer-person-card{position:relative;padding:18px;border:1px solid #e1e4eb;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(30,40,60,.03)}
.ccv-volunteer-person-builder.is-eoro-mode .ccv-volunteer-person-card{border-color:#d9d8f3;background:#fbfbff}
.ccv-volunteer-person-card.is-submitted{border-color:#b9dec8;background:#f7fcf9}
.ccv-volunteer-person-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.ccv-volunteer-person-head[hidden]{display:none!important}
.ccv-volunteer-person-head>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ccv-volunteer-person-head strong{font-size:13px;color:#384152}
.ccv-volunteer-number{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#ececff;color:#3633be;font-size:12px;line-height:1;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.ccv-volunteer-person-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ccv-volunteer-person-fields label{font-weight:800;font-size:14px;color:#352f2d}
.ccv-volunteer-person-fields input{width:100%;min-height:54px;margin-top:7px;border:1px solid #d9d3d0;border-radius:10px;background:#fff;padding:12px 14px}
.ccv-volunteer-person-card.is-submitted input{background:#f2f7f4;color:#66736b}
.ccv-remove-volunteer{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid #ead4d9;border-radius:50%;background:#fff;color:#b34358;font-size:21px;line-height:1;cursor:pointer}
.ccv-remove-volunteer:hover{background:#fff3f5}
.ccv-remove-volunteer:disabled{opacity:.4;cursor:not-allowed}
.ccv-add-volunteer{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0 4px;padding:13px 16px;border:1px dashed #aaa8e7;border-radius:11px;background:#f8f8ff;color:#3633be;cursor:pointer}
.ccv-add-volunteer[hidden]{display:none!important}
.ccv-add-volunteer span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#3633be;color:#fff;font-size:20px;line-height:1}
.ccv-add-volunteer strong{font-size:13px;font-weight:900}
.ccv-add-volunteer:hover{border-color:#7976d6;background:#f2f2ff}
.ccv-person-status{margin-top:12px;padding:9px 11px;border-radius:8px;font-size:12px;font-weight:800}
.ccv-person-status[hidden]{display:none!important}
.ccv-person-status.is-success{background:#e8f7ee;color:#1d7045}
.ccv-person-status.is-error{background:#fff0f2;color:#b4233d}
.ccv-shared-details{margin-top:18px}
@media(max-width:760px){
  .ccv-volunteer-person-fields{grid-template-columns:1fr}
  .ccv-volunteer-person-card{padding:15px 13px}
  .ccv-volunteer-person-head{align-items:center}
}


/* 1.2.26 searchable Location dropdown + loading feedback */
.ccv-searchable-select{position:relative;width:100%;margin-top:7px;z-index:1}
.ccv-searchable-select.is-open{z-index:120}
.ccv-searchable-native{position:absolute!important;left:0!important;bottom:0!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;background:none!important}
.ccv-search-trigger{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 48px 12px 14px;border:1px solid #d9d3d0;border-radius:10px;background:#fff;color:#6f6865;font:inherit;font-size:14px;font-weight:500;line-height:1.35;text-align:left;cursor:pointer;position:relative;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.ccv-search-trigger.has-value{color:#34292c}
.ccv-search-trigger:hover{border-color:#bbb4b0}
.ccv-search-trigger:focus-visible,.ccv-searchable-select.is-open .ccv-search-trigger{outline:0;border-color:#7774d8;box-shadow:0 0 0 3px rgba(54,51,190,.10)}
.ccv-search-trigger.is-invalid{border-color:#d94761!important;box-shadow:0 0 0 3px rgba(217,71,97,.10)!important}
.ccv-search-chevron{position:absolute;right:18px;top:50%;width:10px;height:10px;border-right:2px solid #34292c;border-bottom:2px solid #34292c;transform:translateY(-68%) rotate(45deg);transition:transform .16s ease}
.ccv-searchable-select.is-open .ccv-search-chevron{transform:translateY(-30%) rotate(225deg)}
.ccv-search-panel{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:140;padding:10px;border:1px solid #d9d8e8;border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(29,29,50,.16)}
.ccv-search-panel[hidden]{display:none!important}
.ccv-search-box{position:relative;margin-bottom:8px}
.ccv-search-box input{width:100%;height:44px;border:1px solid #d9d8e8;border-radius:9px;background:#fafaff;padding:9px 12px 9px 39px;color:#29283a;font-size:14px;font-weight:500;outline:0}
.ccv-search-box input:focus{border-color:#7774d8;box-shadow:0 0 0 3px rgba(54,51,190,.09);background:#fff}
.ccv-search-icon{position:absolute;left:14px;top:50%;width:14px;height:14px;border:2px solid #7b7a91;border-radius:50%;transform:translateY(-55%);pointer-events:none}
.ccv-search-icon:after{content:"";position:absolute;width:6px;height:2px;background:#7b7a91;right:-5px;bottom:-2px;transform:rotate(45deg);border-radius:2px}
.ccv-search-options{max-height:250px;overflow:auto;overscroll-behavior:contain;padding:2px;scrollbar-width:thin}
.ccv-search-option{display:block;width:100%;min-height:42px;border:0;border-radius:8px;background:#fff;padding:10px 11px;color:#363542;font-size:13px;font-weight:600;line-height:1.35;text-align:left;cursor:pointer}
.ccv-search-option:hover,.ccv-search-option:focus-visible{outline:0;background:#f2f2ff;color:#3633be}
.ccv-search-option.is-selected{background:#ececff;color:#3633be;font-weight:800}
.ccv-search-empty{padding:18px 12px;text-align:center;color:#8a8995;font-size:13px;font-weight:600}
@media(max-width:760px){
 .ccv-searchable-select{margin-top:7px}
 .ccv-search-trigger{min-height:54px;font-size:16px;padding-right:46px}
 .ccv-search-panel{position:fixed;left:14px;right:14px;top:auto;bottom:14px;z-index:10000;max-height:min(62vh,480px);border-radius:16px;padding:12px;box-shadow:0 22px 70px rgba(20,20,35,.28)}
 .ccv-search-box input{height:48px;font-size:16px}
 .ccv-search-options{max-height:calc(min(62vh,480px) - 78px)}
 .ccv-search-option{min-height:46px;font-size:14px}
}


/* Location loading feedback: visible immediately while JS initializes the searchable control. */
.ccv-location-loader{position:relative;z-index:5;min-height:54px;margin-top:-54px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d9d3d0;border-radius:10px;background:#fff;color:#6f6865;font-size:13px;font-weight:700;pointer-events:none;opacity:1;transition:opacity .16s ease,visibility .16s ease}
.ccv-location-loader.is-ready{opacity:0;visibility:hidden}
.ccv-location-loader-spinner,.ccv-search-loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid #d7d6ef;border-top-color:#3633be;border-radius:50%;animation:ccvLocationSpin .72s linear infinite;flex:0 0 auto}
@keyframes ccvLocationSpin{to{transform:rotate(360deg)}}
.ccv-search-loading{min-height:112px;display:flex;align-items:center;justify-content:center;gap:10px;padding:22px 14px;color:#747286;font-size:13px;font-weight:700;text-align:center}
.ccv-search-loading-spinner{width:20px;height:20px}
@media (prefers-reduced-motion:reduce){.ccv-location-loader-spinner,.ccv-search-loading-spinner{animation-duration:1.4s}}


/* 1.2.29 always-visible lazy location search */
.ccv-location-search-field{position:relative;width:100%;margin-top:7px}
.ccv-location-search-input-wrap{position:relative;width:100%}
.ccv-location-search-input{width:100%!important;min-height:54px!important;padding:12px 46px 12px 42px!important;border:1px solid #d9d3d0!important;border-radius:10px!important;background:#fff!important;color:#34292c!important;font:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1.35!important;outline:0!important;box-shadow:none!important}
.ccv-location-search-input::placeholder{color:#77706d!important;opacity:1}
.ccv-location-search-input:hover{border-color:#bbb4b0!important}
.ccv-location-search-input:focus,.ccv-location-search-field.is-open .ccv-location-search-input{border-color:#7774d8!important;box-shadow:0 0 0 3px rgba(54,51,190,.10)!important}
.ccv-location-search-input.is-invalid{border-color:#d94761!important;box-shadow:0 0 0 3px rgba(217,71,97,.10)!important}
.ccv-location-search-input-wrap>.ccv-search-icon{left:16px;z-index:2}
.ccv-location-search-mini-spinner{position:absolute;right:15px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid #d7d6ef;border-top-color:#3633be;border-radius:50%;animation:ccvLocationSpin .72s linear infinite;pointer-events:none}
.ccv-location-inline-results{top:calc(100% + 7px)!important;padding:8px!important}
.ccv-location-inline-results .ccv-search-options{max-height:290px}
.ccv-location-search-field:not(.is-open) .ccv-location-inline-results{display:none!important}
@media(max-width:760px){.ccv-location-search-input{font-size:16px!important}.ccv-location-inline-results{position:fixed!important;left:14px!important;right:14px!important;top:auto!important;bottom:14px!important;z-index:10000!important;max-height:min(62vh,480px)!important}.ccv-location-inline-results .ccv-search-options{max-height:calc(min(62vh,480px) - 28px)!important}}


/* 1.2.32 — Party affiliation description + duplicate-volunteer popup */
.ccv-party-description{
  display:block;
  margin-top:8px;
  padding:10px 12px;
  border-radius:10px;
  background:#f8f5f2;
  color:#3633be!important;
  font-size:12px;
  font-weight:600;
  line-height:1.5;
}
.ccv-party-description[hidden]{display:none!important}
html.ccv-modal-open{overflow:hidden}
.ccv-alert-modal[hidden]{display:none!important}
.ccv-alert-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:20px;
}
.ccv-alert-backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,16,28,.58);
  backdrop-filter:blur(3px);
}
.ccv-alert-dialog{
  position:relative;
  z-index:1;
  width:min(430px,100%);
  padding:30px 28px 26px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 80px rgba(17,24,39,.28);
  text-align:center;
}
.ccv-alert-close{
  position:absolute;
  top:12px;
  right:14px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#f6f3f1;
  color:#4a403d;
  font-size:22px;
  cursor:pointer;
}
.ccv-alert-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin:0 auto 14px;
  border-radius:50%;
  background:#eeeaff;
  color:#3f37c9;
  font-size:24px;
  font-weight:900;
}
.ccv-alert-dialog h3{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.15;
}
.ccv-alert-dialog p{
  margin:0 auto 20px;
  max-width:340px;
  color:#6f6764;
  font-size:13px;
  line-height:1.6;
}
.ccv-alert-ok{min-width:120px}


/* 1.2.35 — EORO duplicate person QA */
.ccv-volunteer-person-fields input:invalid{scroll-margin-top:120px}

/* Candidate Volunteer 1.2.36 — reassignment option */
.ccv-reassignment-card{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:0!important;
    padding:16px 18px!important;
    border:1px solid #e5dedb!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#3f3a39!important;
    cursor:pointer!important;
}
.ccv-reassignment-card input{
    flex:0 0 auto!important;
    width:19px!important;
    height:19px!important;
    min-height:19px!important;
    margin:0!important;
    accent-color:#3633be;
    cursor:pointer!important;
}
.ccv-reassignment-copy{
    display:block!important;
    margin:0!important;
    line-height:1.45!important;
}
.ccv-reassignment-copy strong{
    display:block!important;
    font-size:14px!important;
    font-weight:700!important;
    color:#3f3a39!important;
}

/* 1.2.44 — Flexible volunteer geography: choose LGA, Ward or Polling Unit coverage first. */
.ccv-module .ccv-side h1{color:#fff!important}
.ccv-location-row--hierarchy{
  grid-template-columns:42px minmax(0,1fr) 42px;
  gap:16px;
  align-items:start;
}
.ccv-location-row--hierarchy .ccv-row-number{grid-column:1;grid-row:1/4;margin-top:49px}
.ccv-scope-block{grid-column:2;min-width:0}
.ccv-scope-title{display:block;margin:0 0 9px;font-size:14px;font-weight:800;color:#231d1b}
.ccv-scope-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ccv-scope-option{display:block!important;margin:0!important;font-size:inherit!important;font-weight:inherit!important;cursor:pointer}
.ccv-scope-option input{
  position:absolute!important;
  width:1px!important;height:1px!important;
  min-height:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ccv-scope-option>span{
  display:flex;
  min-height:72px;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  padding:11px 14px;
  border:1px solid #d9d3d0;
  border-radius:12px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.ccv-scope-option strong{display:block;font-size:13px;line-height:1.2;color:#1d1b20}
.ccv-scope-option small{display:block;font-size:11px;line-height:1.35;font-weight:600;color:#7f7773}
.ccv-scope-option:hover>span{border-color:#b9b6ff;background:#faf9ff}
.ccv-scope-option input:focus-visible+span{outline:2px solid #3633be;outline-offset:2px}
.ccv-scope-option input:checked+span{border-color:#3633be;background:#f4f3ff;box-shadow:0 0 0 1px #3633be inset}
.ccv-scope-option input:checked+span strong{color:#3633be}
.ccv-location-fields{
  grid-column:2;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  min-width:0;
}
.ccv-location-fields[hidden]{display:none!important}
.ccv-location-fields label[hidden]{display:none!important}
.ccv-location-fields label{font-weight:800;font-size:14px;min-width:0}
.ccv-location-fields select{width:100%;min-height:54px;margin-top:7px;border:1px solid #d9d3d0;border-radius:10px;background:#fff;padding:12px 14px}
.ccv-location-row--hierarchy .ccv-remove-location{grid-column:3;grid-row:1/4;align-self:center;margin:0}
.ccv-location-row--hierarchy .ccv-duplicate-error{grid-column:2}
.ccv-location-row--hierarchy select:disabled{background-color:#f4f4f6;color:#92949c;cursor:not-allowed}

@media(max-width:900px){
  .ccv-scope-options{grid-template-columns:1fr}
  .ccv-scope-option>span{min-height:58px}
  .ccv-location-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .ccv-location-row--hierarchy{grid-template-columns:34px minmax(0,1fr)}
  .ccv-location-row--hierarchy .ccv-row-number{grid-column:1;grid-row:1;margin-top:42px}
  .ccv-scope-block,.ccv-location-fields,.ccv-location-row--hierarchy .ccv-duplicate-error{grid-column:2}
  .ccv-location-row--hierarchy .ccv-remove-location{grid-column:2;grid-row:auto;justify-self:start}
  .ccv-location-fields{grid-template-columns:1fr}
}


/* 1.2.48 — thank-you actions + viewport-safe referral modal */
.ccv-success-panel .ccv-success-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  width:min(100%,620px)!important;
  margin:28px auto 0!important;
}
.ccv-success-panel .ccv-success-actions > *{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  margin:0!important;
  padding:14px 22px!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  font:800 14px/1.2 inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.ccv-success-panel .ccv-success-donate,
.ccv-success-panel .ccv-success-invite{
  border:1px solid #3633be!important;
  background:#3633be!important;
  color:#fff!important;
}
.ccv-success-panel .ccv-success-donate:hover,
.ccv-success-panel .ccv-success-invite:hover{
  background:#2f2ca9!important;
  color:#fff!important;
  text-decoration:none!important;
}
.ccv-success-panel .ccv-success-new{
  border:1px solid #e2ddd9!important;
  background:#f5f1ee!important;
  color:#241f22!important;
}

/* The modal is moved to <body> by JS so transforms/overflow on the module cannot offset it. */
body > .ccv-referral-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
  padding:24px!important;
  box-sizing:border-box!important;
}
body > .ccv-referral-modal[hidden]{display:none!important}
body > .ccv-referral-modal .ccv-referral-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(17,24,39,.68)!important;
  backdrop-filter:blur(3px);
}
body > .ccv-referral-modal .ccv-referral-dialog{
  position:relative!important;
  z-index:1!important;
  width:min(620px,calc(100vw - 40px))!important;
  max-height:calc(100dvh - 48px)!important;
  margin:0!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  background:#fffaf6!important;
  border-radius:20px!important;
  padding:34px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.3)!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
body > .ccv-referral-modal .ccv-referral-close{position:absolute!important;right:18px!important;top:16px!important;width:42px!important;height:42px!important;border:0!important;border-radius:50%!important;background:#f1ece8!important;font-size:28px!important;line-height:1!important;cursor:pointer!important}
body > .ccv-referral-modal .ccv-referral-badge{display:inline-flex!important;padding:6px 10px!important;border-radius:999px!important;background:#efefff!important;color:#3633be!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important}
body > .ccv-referral-modal .ccv-referral-dialog h3{margin:12px 0 8px!important;font-size:34px!important;line-height:1.1!important;color:#111827!important}
body > .ccv-referral-modal .ccv-referral-dialog>p{margin:0 0 20px!important;color:#6b7280!important;line-height:1.6!important}
body > .ccv-referral-modal .ccv-referral-dialog form{display:grid!important;gap:14px!important;margin:0!important}
body > .ccv-referral-modal .ccv-referral-dialog label{display:grid!important;gap:7px!important;margin:0!important;font-weight:800!important;color:#2f2226!important}
body > .ccv-referral-modal .ccv-referral-dialog input{width:100%!important;min-height:50px!important;margin:0!important;border:1px solid #d9dce1!important;border-radius:10px!important;padding:0 14px!important;box-sizing:border-box!important;font:inherit!important;background:#fff!important}
body > .ccv-referral-modal .ccv-referral-emails{display:grid!important;gap:10px!important}
body > .ccv-referral-modal .ccv-referral-email-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:end!important}
body > .ccv-referral-modal .ccv-referral-remove{height:50px!important;width:50px!important;border:1px solid #e5d9dc!important;border-radius:10px!important;background:#fff!important;color:#d94761!important;font-size:22px!important;cursor:pointer!important}
body > .ccv-referral-modal .ccv-referral-add{justify-self:start!important;border:0!important;background:transparent!important;color:#1f6873!important;font-weight:800!important;cursor:pointer!important;padding:3px 0!important}
body > .ccv-referral-modal .ccv-referral-help{display:block!important;margin-top:-8px!important;color:#7b7074!important}
body > .ccv-referral-modal .ccv-referral-send{min-height:54px!important;border:0!important;border-radius:10px!important;background:#3633be!important;color:#fff!important;font-weight:900!important;cursor:pointer!important}
body > .ccv-referral-modal .ccv-referral-message{padding:11px 13px!important;border-radius:9px!important}
body > .ccv-referral-modal .ccv-referral-message.is-success{background:#d1e7dd!important;color:#0f5132!important}
body > .ccv-referral-modal .ccv-referral-message.is-error{background:#f8d7da!important;color:#842029!important}
body > .ccv-referral-modal .ccv-terms-card,
body > .ccv-referral-modal .cju-terms-card,
body > .ccv-referral-modal .ccd-terms-card{display:none!important}
body > .ccv-referral-modal .ccv-referral-dialog input[aria-invalid="true"],
body > .ccv-referral-modal .ccv-referral-dialog input.is-duplicate{border-color:#dc3545!important;box-shadow:0 0 0 3px rgba(220,53,69,.12)!important}
html.ccv-referral-open,html.ccv-referral-open body{overflow:hidden!important}
@media(max-width:600px){
  body > .ccv-referral-modal{padding:12px!important;align-items:center!important}
  body > .ccv-referral-modal .ccv-referral-dialog{width:100%!important;max-height:calc(100dvh - 24px)!important;padding:28px 18px 22px!important;border-radius:16px!important}
  body > .ccv-referral-modal .ccv-referral-dialog h3{font-size:28px!important}
}
