body .sfi-wrap{
    max-width:1040px;
    margin:28px auto;
    padding:16px;
    direction:rtl;
    font-family:var(--sfi-form-font-family, Tajawal, Tahoma, Arial, sans-serif);
    color:#1f2933;
    box-sizing:border-box;
}

@media (min-width:701px){
    body .sfi-wrap{
        max-width:1040px!important;
    }
}
.sfi-wrap *{box-sizing:border-box}
.sfi-hero{
    text-align:center;
    padding:8px 0 12px;
}
.sfi-date{
    display:inline-block;
    border:1px solid #e9e9e9;
    border-radius:999px;
    padding:11px 24px;
    color:#075c22;
    font-weight:900;
    background:#fff;
    box-shadow:0 8px 25px rgba(0,0,0,.04);
}
.sfi-hero h2{
    font-size:34px;
    line-height:1.45;
    margin:22px 0 8px;
    color:#141414;
    font-weight:900;
}
.sfi-hero h3{
    font-size:22px;
    line-height:1.6;
    margin:0 0 24px;
    color:#111;
    font-weight:900;
}
.sfi-tabs{
    display:flex;
    gap:14px;
    margin:18px 0 16px;
}
.sfi-tabs button{
    flex:1;
    min-height:72px;
    border:1.5px solid #8a6500;
    background:#fff;
    color:#7b5700;
    border-radius:20px;
    padding:18px;
    font-size:23px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 16px 35px rgba(0,0,0,.06);
    transition:.2s ease;
}
.sfi-tabs button.active{
    background:#075c22;
    color:#fff;
    border-color:#075c22;
}
.sfi-intro{
    border:1px solid #d6bd72;
    border-radius:20px;
    padding:24px 28px;
    line-height:2.15;
    font-size:18px;
    background:#fffefb;
    text-align:justify;
    box-shadow:0 18px 40px rgba(0,0,0,.04);
}
.sfi-socials{
    text-align:center;
    margin:18px 0 20px;
}
.sfi-socials a{
    display:inline-block;
    margin:6px;
    padding:13px 24px;
    border-radius:999px;
    text-decoration:none;
    font-size:20px;
    font-weight:900;
    background:#eaf7ff;
    color:#0d65b7;
    box-shadow:0 12px 24px rgba(13,101,183,.08);
}
.sfi-socials a:nth-child(2){
    background:#eafff1;
    color:#0b8c3a;
}
.sfi-counter{
    margin:22px 0;
    border:1px solid #d6bd72;
    border-radius:22px;
    padding:24px 28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#fff;
    box-shadow:0 18px 40px rgba(0,0,0,.05);
    position:relative;
    overflow:hidden;
}
.sfi-counter:before{
    content:"";
    position:absolute;
    top:16px;
    left:28px;
    right:28px;
    height:12px;
    border-radius:999px;
    background:linear-gradient(90deg,#0b6623 0%,#b58a23 35%,#eee 35%,#eee 100%);
    opacity:.95;
}
.sfi-counter > div{
    padding-top:22px;
}
.sfi-counter strong{
    display:block;
    color:#075c22;
    font-size:30px;
    line-height:1.2;
    font-weight:900;
}
.sfi-counter span{
    display:block;
    margin-top:8px;
    font-weight:900;
    color:#555;
}
.sfi-panel{
    border:1px solid #eee;
    border-radius:22px;
    padding:24px;
    background:#fff;
    box-shadow:0 16px 45px rgba(0,0,0,.05);
}
.sfi-doc{
    display:block;
    text-align:center;
    background:linear-gradient(90deg,#ffc400,#ff9700);
    padding:20px;
    border-radius:999px;
    color:#111;
    font-size:22px;
    font-weight:900;
    text-decoration:none;
    margin-bottom:20px;
}
.sfi-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.sfi-grid .full{grid-column:1/-1}
.sfi-form label{
    display:block;
    font-weight:900;
    color:#222;
}
.sfi-form input,.sfi-form select{
    width:100%;
    box-sizing:border-box;
    margin-top:8px;
    padding:15px 16px;
    border:1px solid #ddd;
    border-radius:14px;
    font-size:16px;
    background:#fff;
}
.sfi-form input:focus,.sfi-form select:focus{
    outline:none;
    border-color:#0b6623;
    box-shadow:0 0 0 3px rgba(11,102,35,.08);
}
.sfi-pledge{
    display:block;
    margin:20px 0;
    line-height:1.9;
    font-weight:800;
}
.sfi-pledge input{width:auto;margin-left:8px}
.sfi-submit{
    width:100%;
    background:#075c22;
    color:#fff;
    border:0;
    border-radius:16px;
    padding:17px;
    font-size:19px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(7,92,34,.2);
}
.sfi-submit:disabled{opacity:.65;cursor:not-allowed}
.sfi-msg{
    margin-top:14px;
    font-weight:900;
    color:#075c22;
}
.sfi-result{
    text-align:center;
    border:1px solid #d6bd72;
    border-radius:22px;
    padding:24px;
    margin-top:22px;
    background:#fffefb;
    box-shadow:0 16px 45px rgba(0,0,0,.05);
}
.sfi-card-preview{
    max-width:100%;
    border-radius:16px;
    box-shadow:0 12px 34px rgba(0,0,0,.15);
}
.sfi-actions{
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:16px;
}
.sfi-actions a,.sfi-actions button{
    background:#075c22;
    color:#fff;
    border:0;
    border-radius:999px;
    padding:13px 24px;
    text-decoration:none;
    font-weight:900;
    cursor:pointer;
}
.sfi-card{
    border:1px solid #d6bd72;
    border-radius:18px;
    padding:22px;
    background:#fff;
    text-align:center;
}
@media(max-width:700px){
    body .sfi-wrap{
        width:100%;
        max-width:100%;
        margin:6px auto;
        padding:6px 7px;
    }
    .sfi-hero{padding-top:0}
    .sfi-date{
        padding:9px 18px;
        font-size:15px;
    }
    .sfi-hero h2{
        font-size:28px;
        margin:18px 0 6px;
        line-height:1.4;
    }
    .sfi-hero h3{
        font-size:19px;
        margin-bottom:18px;
    }
    .sfi-tabs{
        gap:10px;
        margin:14px 0;
    }
    .sfi-tabs button{
        min-height:66px;
        font-size:21px;
        padding:14px 10px;
        border-radius:18px;
    }
    .sfi-intro{
        padding:18px 20px;
        font-size:18px;
        line-height:2.05;
        border-radius:19px;
    }
    .sfi-socials{
        margin:16px 0 18px;
        display:flex;
        gap:10px;
        justify-content:center;
    }
    .sfi-socials a{
        flex:1;
        margin:0;
        padding:12px 8px;
        font-size:19px;
        white-space:nowrap;
    }
    .sfi-counter{
        margin:20px 0;
        padding:22px 20px;
        border-radius:21px;
    }
    .sfi-counter:before{
        left:20px;
        right:20px;
        top:15px;
    }
    .sfi-counter strong{
        font-size:26px;
    }
    .sfi-panel{
        padding:14px;
        border-radius:21px;
    }
    .sfi-doc{
        font-size:20px;
        padding:17px;
    }
    .sfi-grid{
        grid-template-columns:1fr;
        gap:13px;
    }
    .sfi-form input,.sfi-form select{
        padding:14px;
        border-radius:13px;
    }
}

/* V2.0.2 settings-controlled intro and fields */
.sfi-intro{
    max-width:var(--sfi-intro-width,100%);
    max-height:var(--sfi-intro-max-height,220px);
    overflow-y:auto;
    margin-left:auto;
    margin-right:auto;
}
.sfi-field-hint{
    display:block;
    font-size:12px;
    color:#777;
    margin-top:6px;
    line-height:1.6;
    font-weight:600;
}
.sfi-file-control{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:8px;
}
.sfi-file-control input[type=file]{
    position:absolute;
    opacity:0;
    width:1px;
    height:1px;
    overflow:hidden;
}
.sfi-file-control span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 20px;
    border-radius:14px;
    background:#f4f1e8;
    border:1px solid #d6bd72;
    color:#075c22;
    font-weight:900;
    cursor:pointer;
}
.sfi-file-control input[type=file]:focus + span{
    outline:2px solid rgba(7,92,34,.25);
}

/* V2.1.0 enterprise form restoration */
.sfi-tabs button[data-tab="entity"].active,
.sfi-tabs button[data-tab="individual"]:not(.active){
    background:#7b4f00;color:#fff;border-color:#075c22;
}
.sfi-section-title{
    color:#075c22;font-size:26px;font-weight:900;margin:26px 0 14px;
    padding-bottom:10px;border-bottom:1px solid #eee;
}
.sfi-grid-3{grid-template-columns:repeat(3,1fr)}
.sfi-form textarea{
    width:100%;box-sizing:border-box;margin-top:8px;padding:15px 16px;
    border:1px solid #ddd;border-radius:14px;font-size:16px;background:#fff;resize:vertical;
}
.sfi-full-label{display:block;margin-top:18px;font-weight:900}
.sfi-checkbox-panel{margin:22px 0;padding:24px;border-radius:16px;background:#fafafa}
.sfi-checkbox-panel h4{margin:0 0 16px;font-size:18px;color:#111;font-weight:900}
.sfi-checkbox-panel label{display:inline-flex;align-items:center;gap:6px;min-width:150px;margin:10px 8px;font-weight:900}
.sfi-checkbox-panel input{width:auto}
.sfi-enterprise-entity-form .sfi-pledge{
    background:#f5fff7;border:1px solid #d7eadb;border-radius:12px;padding:16px;text-align:center;
}
@media(max-width:900px){.sfi-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sfi-grid-3{grid-template-columns:1fr}.sfi-section-title{font-size:23px}.sfi-checkbox-panel label{display:flex;min-width:auto}}

/* V2.1.2 Photo Studio + Conditional Fields */
.sfi-photo-studio{
    margin-top:12px;
    padding:14px;
    border:1px solid #d6bd72;
    border-radius:16px;
    background:#fffef7;
}
.sfi-photo-studio h4{
    margin:0 0 10px;
    color:#075c22;
    font-size:17px;
    font-weight:900;
}
.sfi-photo-studio canvas{
    display:block;
    max-width:100%;
    width:320px;
    height:320px;
    margin:0 auto 10px;
    border-radius:16px;
    background:#f7f7f7;
}
.sfi-studio-controls{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin:8px 0;
}
.sfi-studio-controls label{
    font-size:13px;
    color:#333;
}
.sfi-studio-controls input[type=range]{
    padding:0;
}
.sfi-apply-photo{
    width:100%;
    background:#075c22;
    color:#fff;
    border:0;
    border-radius:12px;
    padding:10px;
    font-weight:900;
    cursor:pointer;
}
.sfi-photo-ok{
    display:block;
    text-align:center;
    margin-top:8px;
    color:#075c22;
    font-weight:900;
}

/* V2.1.4 layout restoration */
.sfi-grid-2{
    grid-template-columns:1fr 1fr;
}
.sfi-affiliation-row{
    margin-top:16px;
}
.sfi-affiliation-row .sfi-affiliation-name-field{
    grid-column:auto !important;
}
.sfi-photo-full-row{
    margin-top:20px;
    display:block;
    width:100%;
}
.sfi-photo-full-row .sfi-photo-field{
    display:block;
    width:100%;
    padding:18px;
    border:1px solid #d6bd72;
    border-radius:16px;
    background:#fffef7;
}
.sfi-photo-note{
    display:block;
    width:fit-content;
    max-width:100%;
    margin:8px 0 10px auto;
    padding:10px 18px;
    border:1px solid #d6bd72;
    border-radius:12px;
    color:#075c22;
    background:#fff;
    font-weight:900;
}
.sfi-photo-full-row .sfi-file-control{
    max-width:360px;
}
@media(max-width:700px){
    .sfi-grid-2{grid-template-columns:1fr}
    .sfi-affiliation-row .sfi-affiliation-name-field{grid-column:1/-1 !important}
    .sfi-photo-full-row .sfi-file-control{max-width:100%}
}

/* V2.1.5 counters + layout fixes */
.sfi-counter{
    gap:18px;
    flex-wrap:wrap;
}
.sfi-progress-line{
    flex:0 0 100%;
    width:100%;
    height:12px;
    border-radius:999px;
    background:#eee;
    overflow:hidden;
    margin-bottom:2px;
}
.sfi-progress-line span{
    display:block;
    height:100%;
    width:0;
    border-radius:999px;
    background:linear-gradient(90deg,#075c22,#c99a24);
    transition:width .35s ease;
}
.sfi-counter:before{display:none !important}
.sfi-percent{
    font-style:normal;
    color:#075c22;
    margin-right:6px;
}
.sfi-affiliation-row.sfi-independent-row{
    grid-template-columns:1fr;
}
.sfi-affiliation-row.sfi-independent-row > label:first-child{
    max-width:100%;
}
.sfi-affiliation-row.sfi-dependent-row{
    grid-template-columns:1fr 1fr 1fr;
}
.sfi-affiliation-row.sfi-dependent-row .sfi-affiliation-name-field{
    grid-column:auto !important;
}
.sfi-entity-photo-field{
    grid-column:1/-1 !important;
    width:100%;
    padding:18px;
    border:1px solid #d6bd72;
    border-radius:16px;
    background:#fffef7;
}
.sfi-entity-photo-field .sfi-file-control{
    max-width:360px;
}
.sfi-entity-photo-field .sfi-photo-studio{
    max-width:420px;
    margin-right:0;
}
@media(max-width:700px){
    .sfi-affiliation-row.sfi-dependent-row{grid-template-columns:1fr}
    .sfi-entity-photo-field .sfi-file-control{max-width:100%}
}

/* V2.1.6 cleanup */
.sfi-photo-heading{display:block;margin:0 0 10px;color:#075c22;font-weight:900}
.sfi-entity-photo-field .sfi-photo-studio,.sfi-photo-full-row .sfi-photo-studio{width:100%;max-width:none;box-sizing:border-box}
.sfi-entity-photo-field .sfi-photo-studio canvas,.sfi-photo-full-row .sfi-photo-studio canvas{width:320px;max-width:100%}
.sfi-entity-photo-field .sfi-studio-controls,.sfi-photo-full-row .sfi-studio-controls{width:100%}
.sfi-card-preview{background:transparent!important}

/* V2.1.7 UI Polish + QR */
.sfi-wrap input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.sfi-wrap select,.sfi-wrap textarea{min-height:46px!important;padding:10px 14px!important;border-radius:12px!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.sfi-wrap textarea{min-height:86px!important}.sfi-wrap input:focus,.sfi-wrap select:focus,.sfi-wrap textarea:focus{border-color:#087432!important;box-shadow:0 0 0 3px rgba(8,116,50,.08)!important;outline:none!important}
.sfi-grid{gap:14px 16px!important}.sfi-form{padding:28px!important}.sfi-submit{min-height:50px;border-radius:14px!important}
.sfi-file-control-polished{display:flex!important;align-items:center;gap:0;width:100%;max-width:520px!important;border:0!important;background:transparent!important;padding:0!important}
.sfi-file-control-polished input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.sfi-file-proxy{flex:0 0 145px;height:44px;border:1px solid #c9a241;background:#075c22;color:#fff;border-radius:12px 0 0 12px;font-weight:900;cursor:pointer}
.sfi-file-name{flex:1;height:44px!important;min-height:44px!important;border-radius:0 12px 12px 0!important;border:1px solid #d6d6d6!important;border-left:0!important;background:#fff!important;color:#333}
.sfi-photo-studio{padding:14px!important}.sfi-photo-studio canvas{width:260px!important;height:260px!important}.sfi-studio-controls{gap:6px!important}
.sfi-verify-box{max-width:760px;margin:40px auto;padding:28px;border:1px solid #d6bd72;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.06)}.sfi-verify-box h2{color:#075c22;margin-top:0}.sfi-ok{color:#075c22;font-weight:900}.sfi-error{color:#b00020;font-weight:900}.sfi-verify-table{width:100%;border-collapse:collapse;margin-top:18px}.sfi-verify-table th,.sfi-verify-table td{border:1px solid #eee;padding:12px;text-align:right}.sfi-verify-table th{width:180px;background:#f8faf8}
@media(max-width:700px){.sfi-form{padding:18px!important}.sfi-file-control-polished{max-width:100%!important}.sfi-file-proxy{flex-basis:125px}}

/* V2.1.8 counters, tabs, result page, form polish */
.sfi-tabs button[data-tab="individual"]{background:var(--sfi-ind-in-bg)!important;color:var(--sfi-ind-in-text)!important;border-color:var(--sfi-ind-bg)!important}
.sfi-tabs button[data-tab="entity"]{background:var(--sfi-ent-in-bg)!important;color:var(--sfi-ent-in-text)!important;border-color:var(--sfi-ent-bg)!important}
.sfi-tabs button[data-tab="individual"].active{background:var(--sfi-ind-bg)!important;color:var(--sfi-ind-text)!important}
.sfi-tabs button[data-tab="entity"].active{background:var(--sfi-ent-bg)!important;color:var(--sfi-ent-text)!important}
.sfi-form-individual-box .sfi-form{background:var(--sfi-ind-form-bg)!important}
.sfi-form-entity-box .sfi-form{background:var(--sfi-ent-form-bg)!important}
.sfi-counter{gap:18px;flex-wrap:wrap;position:relative}
.sfi-progress-line{flex:0 0 100%;width:100%;height:12px;border-radius:999px;background:#eee;overflow:hidden;margin-bottom:2px;display:block!important}
.sfi-progress-line span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#075c22,#c99a24);transition:width .35s ease}
.sfi-percent{font-style:normal;color:#075c22;margin-right:6px}.sfi-counter:before{display:none!important}
.sfi-submit{margin-top:22px!important;min-height:50px!important;border-radius:14px!important}
.sfi-photo-full-row,.sfi-entity-photo-field{margin-bottom:20px!important}
.sfi-file-control-polished{display:flex!important;align-items:center;gap:8px;width:100%;max-width:520px!important;border:0!important;background:transparent!important;padding:0!important;direction:rtl}
.sfi-file-control-polished input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.sfi-file-proxy{flex:0 0 145px;height:44px;border:1px solid #c9a241;background:#075c22;color:#fff;border-radius:12px;font-weight:900;cursor:pointer}
.sfi-file-name{flex:1;height:44px!important;min-height:44px!important;border-radius:12px!important;border:1px solid #d6d6d6!important;background:#fff!important;color:#333}
.sfi-wrap input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),.sfi-wrap select{min-height:46px!important;padding:10px 14px!important;border-radius:12px!important}
.sfi-wrap textarea{min-height:86px!important;padding:10px 14px!important;border-radius:12px!important}
.sfi-wrap input:focus,.sfi-wrap select:focus,.sfi-wrap textarea:focus{border-color:#087432!important;box-shadow:0 0 0 3px rgba(8,116,50,.08)!important;outline:none!important}
@media(max-width:700px){.sfi-file-control-polished{max-width:100%!important;flex-direction:column;align-items:stretch}.sfi-file-proxy{flex:auto;width:100%}}

/* V2.1.9 Stable Recovery: full active container */
.sfi-wrap,.sfi-form-box,.sfi-counter,.sfi-intro{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}
.sfi-wrap.sfi-active-individual .sfi-form-box,
.sfi-wrap.sfi-active-individual .sfi-counter,
.sfi-wrap.sfi-active-individual .sfi-intro{
    background:var(--sfi-ind-container-bg)!important;
    border-color:var(--sfi-ind-container-border)!important;
}
.sfi-wrap.sfi-active-entity .sfi-form-box,
.sfi-wrap.sfi-active-entity .sfi-counter,
.sfi-wrap.sfi-active-entity .sfi-intro{
    background:var(--sfi-ent-container-bg)!important;
    border-color:var(--sfi-ent-container-border)!important;
}
.sfi-wrap.sfi-active-individual .sfi-section-title,
.sfi-wrap.sfi-active-individual .sfi-photo-heading,
.sfi-wrap.sfi-active-individual .sfi-photo-studio h4{color:var(--sfi-ind-accent)!important}
.sfi-wrap.sfi-active-entity .sfi-section-title,
.sfi-wrap.sfi-active-entity .sfi-photo-heading,
.sfi-wrap.sfi-active-entity .sfi-photo-studio h4{color:var(--sfi-ent-accent)!important}
.sfi-wrap.sfi-active-individual .sfi-submit,
.sfi-wrap.sfi-active-individual .sfi-apply-photo,
.sfi-wrap.sfi-active-individual .sfi-file-proxy{background:var(--sfi-ind-accent)!important}
.sfi-wrap.sfi-active-entity .sfi-submit,
.sfi-wrap.sfi-active-entity .sfi-apply-photo,
.sfi-wrap.sfi-active-entity .sfi-file-proxy{background:var(--sfi-ent-accent)!important}
.sfi-form-box{
    border:1px solid #d6bd72;
    border-radius:18px;
    padding:18px;
}
.sfi-form-box .sfi-form{
    box-shadow:none!important;
    border-color:rgba(0,0,0,.08)!important;
}
.sfi-photo-full-row .sfi-photo-field,.sfi-entity-photo-field{margin-bottom:18px!important}
.sfi-submit{margin-top:22px!important}

/* V2.1.10: make the full content container follow the active tab color */
.sfi-active-container{
    border:2px solid transparent;
    border-radius:22px;
    padding:22px;
    margin-top:18px;
    transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.sfi-wrap.sfi-active-individual .sfi-active-container{
    background:var(--sfi-ind-bg)!important;
    border-color:var(--sfi-ind-bg)!important;
    box-shadow:0 18px 45px rgba(7,92,34,.12);
}
.sfi-wrap.sfi-active-entity .sfi-active-container{
    background:var(--sfi-ent-bg)!important;
    border-color:var(--sfi-ent-bg)!important;
    box-shadow:0 18px 45px rgba(123,79,0,.14);
}
/* Inner cards stay readable while the surrounding container takes the active tab color */
.sfi-wrap.sfi-active-individual .sfi-active-container .sfi-intro,
.sfi-wrap.sfi-active-individual .sfi-active-container .sfi-counter,
.sfi-wrap.sfi-active-individual .sfi-active-container .sfi-form-box{
    background:var(--sfi-ind-container-bg)!important;
    border-color:var(--sfi-ind-container-border)!important;
}
.sfi-wrap.sfi-active-entity .sfi-active-container .sfi-intro,
.sfi-wrap.sfi-active-entity .sfi-active-container .sfi-counter,
.sfi-wrap.sfi-active-entity .sfi-active-container .sfi-form-box{
    background:var(--sfi-ent-container-bg)!important;
    border-color:var(--sfi-ent-container-border)!important;
}
.sfi-active-container .sfi-form-box{
    margin-top:18px;
}
@media(max-width:700px){
    .sfi-active-container{padding:12px;border-radius:18px}
}


/* V2.1.11 from stable: text and button color controls */
.sfi-intro{color:var(--sfi-intro-text)!important}
.sfi-intro h1,.sfi-intro h2,.sfi-intro h3,.sfi-intro strong,.sfi-intro b{color:var(--sfi-intro-title)!important}
.sfi-intro p,.sfi-intro div,.sfi-intro li,.sfi-intro span{color:var(--sfi-intro-text)!important}
.sfi-counter strong,.sfi-count,.sfi-goal{color:var(--sfi-counter-number)!important}
.sfi-counter span,.sfi-counter em,.sfi-count-label,.sfi-goal-label{color:var(--sfi-counter-label)!important}
.sfi-form label,.sfi-form .sfi-section-title{color:var(--sfi-form-label)!important}
.sfi-form input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.sfi-form select,.sfi-form textarea,.sfi-file-name{
    color:var(--sfi-form-text)!important;
    background:var(--sfi-input-bg)!important;
    border-color:var(--sfi-input-border)!important;
}
.sfi-field-hint,.sfi-form .description,.sfi-photo-note{color:var(--sfi-form-hint)!important}
.sfi-pledge{color:var(--sfi-pledge-text)!important}
.sfi-submit{color:var(--sfi-submit-text)!important}
.sfi-file-proxy,.sfi-apply-photo{color:var(--sfi-photo-button-text)!important}
.sfi-document-link,.sfi-doc-link,.sfi-pdf-link,.sfi-view-doc,.sfi-file-open,.sfi-wrap a[href$=".pdf"]{
    background:var(--sfi-doc-bg)!important;
    color:var(--sfi-doc-text)!important;
}
.sfi-social a[href*="whatsapp"],.sfi-social .whatsapp,.sfi-whatsapp-link,a.sfi-whatsapp-link{
    background:var(--sfi-wa-bg)!important;
    color:var(--sfi-wa-text)!important;
}
.sfi-social a[href*="facebook"],.sfi-social .facebook,.sfi-facebook-link,a.sfi-facebook-link{
    background:var(--sfi-fb-bg)!important;
    color:var(--sfi-fb-text)!important;
}
.sfi-result .sfi-actions a,.sfi-result .sfi-actions button{
    background:var(--sfi-result-bg)!important;
    color:var(--sfi-result-text)!important;
}
.sfi-active-container .sfi-intro{background:rgba(255,255,255,.88)!important}
.sfi-active-container .sfi-counter{background:rgba(255,255,255,.9)!important}


/* V2.1.12 counter start, progress colors, submit button background */
.sfi-progress-line{background:var(--sfi-progress-track)!important}
.sfi-progress-line span{background:linear-gradient(90deg,var(--sfi-progress-fill),var(--sfi-progress-fill-2))!important}
.sfi-wrap.sfi-active-individual .sfi-submit{background:var(--sfi-submit-bg-individual)!important;color:var(--sfi-submit-text)!important}
.sfi-wrap.sfi-active-entity .sfi-submit{background:var(--sfi-submit-bg-entity)!important;color:var(--sfi-submit-text)!important}


/* V2.1.13 Stable UI Polish */

/* 1) Counter direction: signatures on right, goal on left */
.sfi-counter-row,
.sfi-counter .sfi-counter-values,
.sfi-counter .sfi-counts{
    direction:rtl!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:space-between!important;
    align-items:flex-end!important;
    width:100%!important;
}
.sfi-counter-row > div:first-child,
.sfi-counter .sfi-counter-values > div:first-child,
.sfi-counter .sfi-counts > div:first-child{
    order:2!important;
    text-align:right!important;
}
.sfi-counter-row > div:last-child,
.sfi-counter .sfi-counter-values > div:last-child,
.sfi-counter .sfi-counts > div:last-child{
    order:1!important;
    text-align:left!important;
}
/* fallback for common direct children in current template */
.sfi-counter > div:not(.sfi-progress-line):has(.sfi-goal),
.sfi-counter > div:not(.sfi-progress-line):has(.sfi-count){
    direction:rtl!important;
}

/* 2) Progress bar colors from settings */
.sfi-progress-line{
    background:var(--sfi-progress-track,#eeeeee)!important;
    overflow:hidden!important;
    border-radius:999px!important;
}
.sfi-progress-line span,
.sfi-progress-line .sfi-progress-fill{
    display:block!important;
    height:100%!important;
    background:linear-gradient(90deg,var(--sfi-progress-fill,#c99a24),var(--sfi-progress-fill-2,#075c22))!important;
    border-radius:999px!important;
    min-width:0!important;
}

/* 3) Image upload field full width */
.sfi-photo-full-row,
.sfi-entity-photo-field,
.sfi-photo-field{
    width:100%!important;
    box-sizing:border-box!important;
}
.sfi-photo-full-row .sfi-file-control-polished,
.sfi-entity-photo-field .sfi-file-control-polished,
.sfi-photo-field .sfi-file-control-polished,
.sfi-file-control-polished{
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    box-sizing:border-box!important;
}
.sfi-file-control-polished .sfi-file-proxy{
    flex:0 0 145px!important;
    min-width:145px!important;
}
.sfi-file-control-polished .sfi-file-name{
    flex:1 1 auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0!important;
}

/* keep submit separated from previous field */
.sfi-submit{
    margin-top:24px!important;
}

/* small mobile adjustment */
@media(max-width:700px){
    .sfi-file-control-polished{
        gap:8px!important;
    }
    .sfi-file-control-polished .sfi-file-proxy{
        flex-basis:120px!important;
        min-width:120px!important;
    }
}





/* V2.1.22 Final counter execution + checkbox fix */
.sfi-counter-v22{
    box-sizing:border-box!important;
    width:100%!important;
    padding:26px 34px!important;
    border-radius:22px!important;
    border:1px solid rgba(0,0,0,.28)!important;
    background:rgba(0,0,0,.10)!important;
    box-shadow:inset 0 0 32px rgba(0,0,0,.12)!important;
    direction:rtl!important;
    overflow:hidden!important;
    min-height:0!important;
}
.sfi-counter-v22 .sfi-progress-line{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:20px!important;
    min-height:20px!important;
    margin:0 0 28px 0!important;
    border-radius:999px!important;
    overflow:hidden!important;
}
.sfi-counter-v22 .sfi-progress-fill{
    position:absolute!important;
    top:0!important;
    right:0!important;
    left:auto!important;
    height:100%!important;
    min-height:20px!important;
    border-radius:999px!important;
}
.sfi-counter-grid-v22{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:34px!important;
    width:100%!important;
    margin:0 0 22px 0!important;
    direction:rtl!important;
}
.sfi-counter-signatures-v22{
    grid-column:1!important;
    justify-self:start!important;
    text-align:right!important;
}
.sfi-counter-target-v22{
    grid-column:3!important;
    justify-self:end!important;
    text-align:left!important;
}
.sfi-counter-block-v22{
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    min-width:0!important;
    direction:rtl!important;
}
.sfi-counter-divider-v22{
    grid-column:2!important;
    width:1px!important;
    height:72px!important;
    background:rgba(255,255,255,.78)!important;
    justify-self:center!important;
}
.sfi-counter-icon-v22{
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    border-radius:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:30px!important;
    color:#f0b51d!important;
    background:rgba(0,0,0,.18)!important;
    border:2px solid #d6a31a!important;
}
.sfi-counter-copy-v22{
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
}
.sfi-counter-v22 .sfi-count,
.sfi-counter-v22 .sfi-goal{
    display:block!important;
    font-size:clamp(32px,3.4vw,44px)!important;
    line-height:1!important;
    font-weight:900!important;
    margin:0!important;
    padding:0!important;
    color:var(--sfi-counter-number,#fff)!important;
    white-space:nowrap!important;
}
.sfi-counter-v22 .sfi-count-label,
.sfi-counter-v22 .sfi-goal-label,
.sfi-counter-v22 .sfi-percent{
    display:inline!important;
    font-size:clamp(14px,1.2vw,18px)!important;
    line-height:1.2!important;
    font-weight:800!important;
    color:var(--sfi-counter-label,#fff)!important;
    white-space:nowrap!important;
}
.sfi-counter-v22 .sfi-counter-meta-row-v22{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:28px!important;
    width:100%!important;
    padding-top:18px!important;
    border-top:1px solid rgba(255,255,255,.48)!important;
    color:var(--sfi-counter-label,#fff)!important;
    font-weight:700!important;
    font-size:15px!important;
}
.sfi-counter-v22 .sfi-meta-item{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    white-space:nowrap!important;
}
.sfi-counter-v22 .sfi-meta-icon{
    color:#f0b51d!important;
    font-size:22px!important;
}
.sfi-counter-v22 .sfi-meta-sep{
    width:1px!important;
    height:28px!important;
    background:rgba(255,255,255,.55)!important;
}
.sfi-counter-v22.sfi-hide-meta-v22 .sfi-counter-meta-row-v22{display:none!important}
.sfi-counter-v22.sfi-hide-launch-v22 .sfi-meta-launch,
.sfi-counter-v22.sfi-hide-launch-v22 .sfi-meta-launch + .sfi-meta-sep{display:none!important}

/* Mobile: 8px real side gap + one row counter */
@media(max-width:700px){
    html,body{overflow-x:hidden!important}
    .sfi-wrap,
    body .sfi-wrap,
    .entry-content .sfi-wrap,
    .site-content .sfi-wrap,
    .page-content .sfi-wrap{
        width:calc(100vw - 16px)!important;
        max-width:calc(100vw - 16px)!important;
        margin-left:calc(50% - 50vw + 8px)!important;
        margin-right:calc(50% - 50vw + 8px)!important;
        padding-left:0!important;
        padding-right:0!important;
        box-sizing:border-box!important;
    }
    .sfi-active-container{
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:8px!important;
        border-radius:14px!important;
        box-sizing:border-box!important;
    }
    .sfi-counter-v22{
        padding:12px 9px!important;
        border-radius:14px!important;
    }
    .sfi-counter-v22 .sfi-progress-line{
        height:12px!important;
        min-height:12px!important;
        margin-bottom:14px!important;
    }
    .sfi-counter-v22 .sfi-progress-fill{min-height:12px!important}
    .sfi-counter-grid-v22{
        grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;
        column-gap:6px!important;
        margin-bottom:12px!important;
    }
    .sfi-counter-block-v22{
        gap:5px!important;
        flex-wrap:nowrap!important;
        overflow:hidden!important;
    }
    .sfi-counter-icon-v22{
        width:28px!important;
        height:28px!important;
        min-width:28px!important;
        font-size:14px!important;
        border-width:1.5px!important;
    }
    .sfi-counter-divider-v22{height:42px!important}
    .sfi-counter-v22 .sfi-count,
    .sfi-counter-v22 .sfi-goal{
        font-size:18px!important;
        letter-spacing:-.5px!important;
        white-space:nowrap!important;
    }
    .sfi-counter-v22 .sfi-count-label,
    .sfi-counter-v22 .sfi-goal-label,
    .sfi-counter-v22 .sfi-percent{
        font-size:9px!important;
        white-space:nowrap!important;
    }
    .sfi-counter-copy-v22{gap:3px!important;overflow:hidden!important}
    .sfi-counter-v22 .sfi-counter-meta-row-v22{
        gap:4px!important;
        padding-top:10px!important;
        font-size:8.8px!important;
        justify-content:space-between!important;
    }
    .sfi-counter-v22 .sfi-meta-item{
        gap:2px!important;
        min-width:0!important;
        flex:1 1 0!important;
        justify-content:center!important;
        white-space:normal!important;
        text-align:center!important;
    }
    .sfi-counter-v22 .sfi-meta-icon{font-size:12px!important}
    .sfi-counter-v22 .sfi-meta-sep{height:20px!important}
}


/* V2.1.27 unified button typography controls */
.sfi-wrap button,
.sfi-wrap .sfi-tabs button,
.sfi-wrap .sfi-doc,
.sfi-wrap .sfi-submit,
.sfi-wrap .sfi-file-proxy,
.sfi-wrap .sfi-apply-photo,
.sfi-wrap .sfi-socials a,
.sfi-wrap .sfi-result .sfi-actions a,
.sfi-wrap .sfi-result .sfi-actions button{
    font-family:var(--sfi-button-font-family)!important;
    font-size:var(--sfi-button-font-size)!important;
    font-weight:900!important;
}
.sfi-doc{background:var(--sfi-doc-bg)!important;color:var(--sfi-doc-text)!important}

/* V2.1.32 Mobile width + counter metadata polish */
@media (max-width:700px){
    .sfi-wrap,
    body .sfi-wrap,
    .entry-content .sfi-wrap,
    .site-content .sfi-wrap,
    .page-content .sfi-wrap{
        width:calc(100vw - 10px)!important;
        max-width:calc(100vw - 10px)!important;
        margin-left:calc(50% - 50vw + 5px)!important;
        margin-right:calc(50% - 50vw + 5px)!important;
        padding:0!important;
    }

    /* Reduce nested frames without changing desktop */
    .sfi-active-container{
        padding:5px!important;
        border-width:1px!important;
        border-radius:12px!important;
    }
    .sfi-active-container .sfi-form-box{
        margin-top:10px!important;
        padding:5px!important;
        border-width:1px!important;
        border-radius:12px!important;
    }
    .sfi-form-box .sfi-form,
    .sfi-form{
        padding:12px 9px!important;
        border-width:1px!important;
        border-radius:10px!important;
    }
    .sfi-intro{
        padding:14px 10px!important;
        border-radius:12px!important;
    }
    .sfi-doc{
        margin-left:0!important;
        margin-right:0!important;
        width:100%!important;
    }
    .sfi-photo-studio{
        padding-left:8px!important;
        padding-right:8px!important;
    }

    /* Make the information row readable on narrow screens */
    .sfi-counter-v22 .sfi-counter-meta-row-v22{
        gap:3px!important;
        padding-top:12px!important;
        font-size:10.5px!important;
        line-height:1.45!important;
        font-weight:900!important;
        color:var(--sfi-counter-number,#fff)!important;
    }
    .sfi-counter-v22 .sfi-meta-item,
    .sfi-counter-v22 .sfi-meta-text{
        color:var(--sfi-counter-number,#fff)!important;
        font-weight:900!important;
    }
    .sfi-counter-v22 .sfi-meta-icon{
        font-size:14px!important;
        flex:0 0 auto!important;
    }
    .sfi-counter-v22 .sfi-meta-sep{
        height:24px!important;
        background:rgba(255,255,255,.72)!important;
    }
}

/* V2.1.33 Mobile photo studio: flatten nested containers and preserve a true circle */
@media (max-width:700px){
    .sfi-photo-full-row{
        margin-top:14px!important;
        padding:0!important;
        width:100%!important;
    }
    .sfi-photo-full-row .sfi-photo-field,
    .sfi-entity-photo-field,
    .sfi-photo-field.sfi-entity-photo-field{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }
    .sfi-photo-full-row .sfi-photo-studio,
    .sfi-entity-photo-field .sfi-photo-studio,
    .sfi-photo-studio{
        width:100%!important;
        max-width:none!important;
        margin:12px 0 0!important;
        padding:8px 0 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }
    .sfi-photo-studio h4{
        margin:0 0 10px!important;
        text-align:center!important;
    }
    .sfi-photo-full-row .sfi-photo-studio canvas,
    .sfi-entity-photo-field .sfi-photo-studio canvas,
    .sfi-photo-studio canvas{
        display:block!important;
        width:min(100%,360px)!important;
        height:auto!important;
        aspect-ratio:1 / 1!important;
        margin:0 auto 12px!important;
        padding:0!important;
        border-radius:50%!important;
        object-fit:cover!important;
        box-sizing:border-box!important;
    }
    .sfi-photo-studio .sfi-studio-controls{
        width:100%!important;
        margin:6px 0 10px!important;
        padding:0 2px!important;
        gap:6px!important;
        box-sizing:border-box!important;
    }
    .sfi-photo-studio .sfi-studio-controls label,
    .sfi-photo-studio .sfi-studio-controls input[type=range],
    .sfi-photo-studio .sfi-apply-photo{
        width:100%!important;
        max-width:none!important;
        box-sizing:border-box!important;
    }
}


/* V2.1.34 Photo action buttons: compact upload control and configurable colors */
.sfi-wrap .sfi-file-proxy{
    background:var(--sfi-photo-upload-bg)!important;
    color:var(--sfi-photo-button-text)!important;
    min-height:40px!important;
    height:40px!important;
    padding:6px 16px!important;
    line-height:1.2!important;
    border-color:var(--sfi-photo-upload-bg)!important;
}
.sfi-wrap .sfi-apply-photo{
    background:var(--sfi-photo-apply-bg)!important;
    color:var(--sfi-photo-button-text)!important;
    min-height:42px!important;
    padding:8px 16px!important;
    line-height:1.25!important;
    border:0!important;
}
.sfi-wrap .sfi-file-proxy:hover,
.sfi-wrap .sfi-file-proxy:focus,
.sfi-wrap .sfi-apply-photo:hover,
.sfi-wrap .sfi-apply-photo:focus{
    filter:brightness(.92);
}
@media (max-width:700px){
    .sfi-wrap .sfi-file-proxy{
        min-height:38px!important;
        height:38px!important;
        padding:5px 12px!important;
    }
    .sfi-wrap .sfi-apply-photo{
        min-height:40px!important;
        padding:7px 12px!important;
    }
}

/* V2.1.35 Mobile photo buttons: strict compact height + independent configured colors */
.sfi-wrap.sfi-active-individual .sfi-file-proxy,
.sfi-wrap.sfi-active-entity .sfi-file-proxy,
.sfi-wrap .sfi-file-proxy{
    background:var(--sfi-photo-upload-bg)!important;
    border-color:var(--sfi-photo-upload-bg)!important;
    color:var(--sfi-photo-button-text)!important;
}
.sfi-wrap.sfi-active-individual .sfi-apply-photo,
.sfi-wrap.sfi-active-entity .sfi-apply-photo,
.sfi-wrap .sfi-apply-photo{
    background:var(--sfi-photo-apply-bg)!important;
    border-color:var(--sfi-photo-apply-bg)!important;
    color:var(--sfi-photo-button-text)!important;
}
@media (max-width:700px){
    .sfi-wrap .sfi-file-control-polished{
        display:grid!important;
        grid-template-columns:1fr!important;
        align-items:start!important;
        gap:8px!important;
        height:auto!important;
        min-height:0!important;
    }
    .sfi-wrap .sfi-file-control-polished .sfi-file-proxy,
    .sfi-wrap.sfi-active-individual .sfi-file-control-polished .sfi-file-proxy,
    .sfi-wrap.sfi-active-entity .sfi-file-control-polished .sfi-file-proxy{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        flex:none!important;
        width:100%!important;
        min-width:0!important;
        min-height:44px!important;
        height:44px!important;
        max-height:44px!important;
        padding:6px 12px!important;
        margin:0!important;
        line-height:1.15!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
        background:var(--sfi-photo-upload-bg)!important;
        border:1px solid var(--sfi-photo-upload-bg)!important;
        color:var(--sfi-photo-button-text)!important;
        border-radius:12px!important;
    }
    .sfi-wrap .sfi-file-control-polished .sfi-file-name{
        width:100%!important;
        height:44px!important;
        min-height:44px!important;
        max-height:44px!important;
        margin:0!important;
        box-sizing:border-box!important;
    }
    .sfi-wrap .sfi-photo-studio .sfi-apply-photo,
    .sfi-wrap.sfi-active-individual .sfi-photo-studio .sfi-apply-photo,
    .sfi-wrap.sfi-active-entity .sfi-photo-studio .sfi-apply-photo{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        min-height:46px!important;
        height:46px!important;
        max-height:46px!important;
        padding:7px 12px!important;
        margin:10px 0 0!important;
        line-height:1.15!important;
        box-sizing:border-box!important;
        background:var(--sfi-photo-apply-bg)!important;
        border:1px solid var(--sfi-photo-apply-bg)!important;
        color:var(--sfi-photo-button-text)!important;
        border-radius:12px!important;
    }
}


/* V2.1.38 complete form typography coverage */
.sfi-wrap,
.sfi-wrap *,
.sfi-wrap input,
.sfi-wrap select,
.sfi-wrap textarea,
.sfi-wrap label,
.sfi-wrap option,
.sfi-wrap .sfi-counter-v22,
.sfi-wrap .sfi-result{
    font-family:var(--sfi-form-font-family, Tajawal, Tahoma, Arial, sans-serif);
}
.sfi-wrap button,
.sfi-wrap .sfi-doc,
.sfi-wrap .sfi-submit,
.sfi-wrap .sfi-file-proxy,
.sfi-wrap .sfi-apply-photo,
.sfi-wrap .sfi-socials a,
.sfi-wrap .sfi-result .sfi-actions a,
.sfi-wrap .sfi-result .sfi-actions button{
    font-family:var(--sfi-button-font-family, var(--sfi-form-font-family, Tajawal, Tahoma, Arial, sans-serif))!important;
}

/* v2.1.40: clear feedback for entity form validation without changing layout */
.sfi-form .sfi-field-invalid{border-color:#c62828!important;box-shadow:0 0 0 2px rgba(198,40,40,.14)!important;}

/* v3 unified endorsement + participation */
.sfi-join-section{margin-top:24px;padding:22px;border:1px solid rgba(7,92,34,.18);border-radius:18px;background:rgba(255,255,255,.72)}
.sfi-join-section>h3{margin:0 0 6px;color:#075c22;font-size:24px}.sfi-join-section>p{margin:0 0 18px;color:#58645c}
.sfi-join-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sfi-join-card{position:relative;display:flex;flex-direction:column;gap:5px;padding:16px 48px 16px 16px;border:1px solid #d9e3db;border-radius:15px;background:#fff;cursor:pointer;transition:.2s}.sfi-join-card:hover{transform:translateY(-1px);border-color:#b68b19}.sfi-join-card input{position:absolute;opacity:0}.sfi-join-card .sfi-join-check{position:absolute;right:15px;top:17px;width:24px;height:24px;border-radius:7px;border:1px solid #c9d4cc;display:grid;place-items:center;color:transparent;background:#fff;font-weight:900}.sfi-join-card:has(input:checked){border-color:#075c22;box-shadow:0 0 0 2px rgba(7,92,34,.08)}.sfi-join-card:has(input:checked) .sfi-join-check,.sfi-join-card.is-base .sfi-join-check{background:#075c22;border-color:#075c22;color:#fff}.sfi-join-card.is-base{background:#f3fbf6}.sfi-join-card strong{font-size:17px;color:#173f27}.sfi-join-card small{color:#657168;line-height:1.6}
.sfi-join-dynamic{margin-top:18px}.sfi-join-panel,.sfi-shared-extra,.sfi-cv-shared{margin-top:14px;padding:18px;border-radius:15px;background:#fff;border:1px solid #e0e7e2}.sfi-join-panel h4,.sfi-shared-extra h4{margin:0 0 14px;color:#075c22;font-size:19px}.sfi-field-block{margin-top:14px}.sfi-field-block>span{display:block;font-weight:800;margin-bottom:8px}.sfi-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sfi-check-grid label{display:flex;gap:7px;align-items:center;border:1px solid #e0e6e1;padding:9px 10px;border-radius:10px;background:#fbfdfb}.sfi-check-grid input{width:auto!important}.sfi-wide{display:block;margin-top:14px}.sfi-wide textarea{width:100%}.sfi-membership-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.sfi-membership-cards label{display:flex;align-items:center;gap:8px;border:1px solid #dfe6e1;padding:12px;border-radius:12px;background:#fbfdfb}.sfi-membership-cards input{width:auto!important}.sfi-membership-cards small{margin-inline-start:auto;color:#8a6a12}.sfi-integration-warning{padding:12px;border-radius:10px;background:#fff5d8;color:#72530b;margin-bottom:12px}.sfi-integration-results{display:grid;gap:8px;margin:14px 0}.sfi-integration-result{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:10px;background:#f3f8f4}.sfi-integration-result.is-error{background:#fff1f1;color:#8c2222}.sfi-integration-result.is-ok{color:#075c22}
@media(max-width:700px){.sfi-join-cards,.sfi-membership-cards,.sfi-check-grid{grid-template-columns:1fr}.sfi-join-section{padding:14px}.sfi-join-card{padding:14px 44px 14px 12px}.sfi-integration-result{flex-direction:column}}
/* v3.1.1 — one-membership entry journey */
.sfi-join-cards-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:920px;margin-inline:auto}
.sfi-join-card input[type=radio]{width:22px;height:22px;accent-color:#075c22;flex:0 0 auto}
.sfi-join-card:has(input[type=radio]:checked){border-color:#0b6a2a;box-shadow:0 8px 24px rgba(7,92,34,.10);background:#f3fbf5}
.sfi-panel-note{margin:0 0 14px;color:#59665d;font-size:.94em}
.sfi-membership-single-note{display:flex;gap:8px;align-items:flex-start;flex-direction:column;margin-top:16px;padding:14px 16px;border:1px solid #d8e7dc;border-radius:14px;background:#f8fcf9;color:#23442d}
.sfi-membership-single-note strong{color:#075c22}
@media(max-width:760px){.sfi-join-cards-two{grid-template-columns:1fr!important}}

/* v3.2 unified membership journey */
.sfi-membership-journey{margin-top:20px;display:grid;gap:16px}
.sfi-journey-panel{background:#fff;border:1px solid rgba(7,92,34,.18);border-radius:18px;padding:20px;box-shadow:0 7px 22px rgba(0,0,0,.035)}
.sfi-journey-panel h4{margin:4px 0 12px;color:#075c22;font-size:22px}
.sfi-step-kicker{font-weight:900;color:#b98600;font-size:14px;margin-bottom:4px}
.sfi-covenant-scroll{max-height:360px;overflow:auto;border:1px solid #e4e8e3;background:#fbfcfa;border-radius:14px;padding:16px;line-height:1.9;color:#2f3b32}
.sfi-covenant-scroll h4{font-size:17px;margin-top:12px}.sfi-covenant-scroll ul{padding-right:22px}
.sfi-covenant-accept{display:flex!important;gap:10px;align-items:flex-start;margin-top:14px;padding:14px;border-radius:12px;background:#f0f8f2;color:#075c22}
.sfi-covenant-accept input{width:auto!important;margin-top:5px}.sfi-covenant-version{display:block;margin-top:7px;color:#7a827b}
.sfi-participation-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sfi-participation-choices>label{display:grid!important;grid-template-columns:auto 1fr;column-gap:10px;align-items:start;padding:14px;border:1px solid #dbe3dc;border-radius:14px;background:#fbfcfb}
.sfi-participation-choices input{width:auto!important;margin-top:4px}.sfi-participation-choices small{grid-column:2;color:#737b75;margin-top:3px}
.sfi-time-options,.sfi-financial-options{margin-top:16px;padding:16px;border:1px dashed #c9a241;border-radius:14px;background:#fffdf7}
.sfi-time-options h5,.sfi-financial-options h5{margin:0 0 10px;color:#075c22;font-size:17px}
.sfi-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.sfi-option-grid label{display:flex!important;gap:8px;align-items:center;border:1px solid #e3e3dd;border-radius:11px;padding:11px;background:#fff}.sfi-option-grid input{width:auto!important}
.sfi-financial-other{margin-top:12px}.sfi-membership-single-note{margin-top:14px}.sfi-membership-single-note span{display:block;margin-top:4px}
@media(max-width:700px){.sfi-participation-choices,.sfi-option-grid{grid-template-columns:1fr}.sfi-journey-panel{padding:14px}.sfi-covenant-scroll{max-height:300px}}
