.elan-cand-wrapper{
	--elan-navy:#203769;
	--elan-placeholder:#afafaf;
	--elan-green:#55b893;
	max-width:900px;margin:0 auto;font-family:inherit;
}
.elan-cand-wrapper *{box-sizing:border-box;}
.elan-cand-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;}
.elan-cand-span2{grid-column:1 / -1;}
.elan-cand-consent{grid-column:1 / -1;}
.elan-cand-field label{display:block;font-weight:700;color:var(--elan-navy);margin-bottom:8px;font-size:15px;}
.elan-cand-field .elan-cand-hint{font-weight:600;color:var(--elan-placeholder);}
.elan-cand-field .req{color:#d0335c;}
.elan-cand-field input[type=text],
.elan-cand-field input[type=email],
.elan-cand-field input[type=tel],
.elan-cand-field input[type=url],
.elan-cand-field input[type=date],
.elan-cand-field select,
.elan-cand-field textarea{
	width:100%;padding:12px 14px;border:1.5px solid var(--elan-navy);border-radius:8px;
	font-size:15px;color:var(--elan-navy);background:#fff;
}
.elan-cand-field textarea{resize:vertical;}
.elan-cand-field input::placeholder,
.elan-cand-field textarea::placeholder{color:var(--elan-placeholder);font-weight:600;}
.elan-cand-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23203769' d='M5 7l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.elan-cand-field select option[disabled][selected]{color:var(--elan-placeholder);}

/* Menu multi-select (cases à cocher) */
.elan-cand-multiselect{position:relative;}
.elementor-kit-7 button.elan-cand-multiselect-head , .elementor-kit-7 button.elan-cand-multiselect-head:hover , .elementor-kit-7 button.elan-cand-multiselect-head:focus{
	width:100%;text-align:left;padding:12px 14px;border-color:var(--elan-navy);border-radius:8px;
	background:#fff;color:var(--elan-navy);font-size:15px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;
}
.elan-cand-multiselect-head[data-elan-ms-summary-empty="1"] span{color:var(--elan-placeholder);}
.elan-cand-multiselect-panel{
	position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;background:#fff;
}
.elan-cand-checkbox{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;cursor:pointer;border-radius:6px;font-weight:400;color:var(--elan-navy);font-size:14px;}

.elan-cand-checkbox input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;

    flex:0 0 auto;
    width:32px;
    height:32px;
    margin:0;

    border:2px solid var(--elan-placeholder);
    border-radius:6px;
    background:#fff;

    display:grid;
    place-items:center;

    cursor:pointer;
    position:relative;
    overflow:hidden;

    transition:
        background-color .25s ease,
        border-color .25s ease,
        transform .15s ease,
        box-shadow .25s ease;
}

/* Animated background layer */
.elan-cand-checkbox input[type="checkbox"]::before{
    content:"";
    position:absolute;
    inset:3px;

    border-radius:4px;
    background:var(--elan-navy);

    transform:scale(0);
    opacity:0;

    transition:
        transform .28s cubic-bezier(.34,1.56,.64,1),
        opacity .18s ease;
}

/* Cleaner checkmark */
.elan-cand-checkbox input[type="checkbox"]::after{
    content:"";
    position:absolute;

    width:9px;
    height:17px;

    border:solid #fff;
    border-width:0 2px 2px 0;
    border-radius:1px;

    transform:
        translateY(-2px)
        rotate(45deg)
        scale(0);

    opacity:0;

    transition:
        transform .25s cubic-bezier(.34,1.56,.64,1) .06s,
        opacity .15s ease .06s;
}

.elan-cand-checkbox input[type="checkbox"]:checked{
    border-color:var(--elan-navy);
    background:var(--elan-navy);
}

.elan-cand-checkbox input[type="checkbox"]:checked::before{
    transform:scale(1);
    opacity:1;
}

.elan-cand-checkbox input[type="checkbox"]:checked::after{
    transform:
        translateY(-2px)
        rotate(45deg)
        scale(1);

    opacity:1;
}

/* Mouse press */
.elan-cand-checkbox input[type="checkbox"]:active{
    transform:scale(.88);
}

/* Hover */
.elan-cand-checkbox input[type="checkbox"]:hover{
    box-shadow:0 0 0 4px rgba(32,55,105,.08);
}

/* Keyboard accessibility */
.elan-cand-checkbox input[type="checkbox"]:focus-visible{
    outline:2px solid var(--elan-green);
    outline-offset:3px;
}

/* Disabled state */
.elan-cand-checkbox input[type="checkbox"]:disabled{
    opacity:.55;
    cursor:not-allowed;
}
.elan-cand-consent .elan-cand-checkbox{padding:0;}
label.elan-cand-checkbox{display: flex;align-items:center;}
.elan-cand-multiselect-panel .elan-cand-checkbox span{font-size:18px; color:#afafaf;}
.elan-cand-consent span {font-size: 15px;font-weight: 600; }
.elan-cand-consent .elan-cand-checkbox{align-items:flex-start;}
/* Upload CV */
.elan-cand-file{display:flex;align-items:center;gap:12px;border:2px solid var(--elan-navy);border-radius:8px;padding:8px 10px;}
label.elan-cand-file-btn{position:relative;background:#afafaf;color:#fff;margin-bottom:0;border-radius:6px;padding:8px 14px;cursor:pointer;white-space:nowrap;}
.elan-cand-file-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.elan-cand-file-name{color:var(--elan-placeholder);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.elan-cand-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}

.elan-cand-submit{text-align:center;margin-top:32px;}
.elan-cand-btn{
	background:#fff;border:2px solid var(--elan-green);color:var(--elan-navy);font-weight:700;
	padding:14px 36px;border-radius:999px;font-size:16px;cursor:pointer;transition:background .15s ease,color .15s ease;
}
.elan-cand-btn:hover{background:var(--elan-green);color:#fff;}
.elan-cand-btn:disabled{opacity:.6;cursor:not-allowed;}

.elan-cand-alert{border-radius:8px;padding:14px 18px;margin-bottom:20px;font-size:15px;font-weight:600;}
.elan-cand-alert[data-type="success"]{background:#e8f7f0;color:#1d6b4c;border:1.5px solid var(--elan-green);}
.elan-cand-alert[data-type="error"]{background:#fdecef;color:#b3123a;border:1.5px solid #d0335c;}
.elan-cand-field.elan-cand-invalid input,
.elan-cand-field.elan-cand-invalid select,
.elan-cand-field.elan-cand-invalid textarea,
.elan-cand-field.elan-cand-invalid .elan-cand-multiselect-head{border-color:#d0335c;}

.elan-cand-multiselect-head svg{
    transition:transform .3s ease;
    transform-origin:center;
}

.elan-cand-multiselect:has(
    .elan-cand-multiselect-panel:not([hidden])
) .elan-cand-multiselect-head svg{
    transform:rotate(180deg);
}

/* Mise en page Élan 3.0 */
.elan-cand-wrapper{max-width:1180px;padding:46px 42px;background:#fff;border-radius:32px;box-shadow:0 12px 38px rgba(22,40,79,.10)}
.elan-cand-grid{gap:26px 60px}.elan-cand-field>label{font-size:18px;margin-bottom:9px}
.elan-cand-field input[type=text],.elan-cand-field input[type=email],.elan-cand-field input[type=tel],.elan-cand-field input[type=url],.elan-cand-field input[type=date],.elan-cand-field textarea,.elan-cand-multiselect-head{min-height:56px;border:2px solid var(--elan-navy);border-radius:12px;padding:14px 18px;font-size:16px}
.elan-cand-multiselect-panel{border:0;border-radius:0 0 20px 20px;padding:10px 18px 18px;box-shadow:0 14px 28px rgba(32,55,105,.16)}
.elan-cand-checkbox{font-size:16px}
.elan-cand-consent{grid-column:auto}.elan-cand-submit{margin-top:38px}.elan-cand-btn{min-width:260px}

@media(max-width:900px){
	  .elan-cand-wrapper {
        padding:36px 20px;
    }

    .elan-cand-grid {
        grid-template-columns:1fr;
        gap:22px;
    }

    .elan-cand-span2,
    .elan-cand-consent {
        grid-column:1 / -1;
    }
}
@media (max-width:480px) {
    .elan-cand-wrapper {
        width:calc(100% - 20px);
        padding:24px 16px;
        border-radius:18px;
    }

    .elan-cand-field > label {
        font-size:16px;
    }

    .elan-cand-field input[type=text],
    .elan-cand-field input[type=email],
    .elan-cand-field input[type=tel],
    .elan-cand-field input[type=url],
    .elan-cand-field input[type=date],
    .elan-cand-field select,
    .elan-cand-field textarea,
    .elan-cand-multiselect-head {
        min-height:52px;
        padding:12px 14px;
        font-size:16px;
    }

    .elan-cand-file {
        flex-direction:column;
        align-items:stretch;
    }

    label.elan-cand-file-btn {
        width:100%;
        text-align:center;
    }

    .elan-cand-btn {
        width:100%;
        min-width:0;
    }
}