.sidra-content-page{--sidra-green:#126b45;--sidra-ink:#18352a;--sidra-soft:#eff8f3;color:#27352f;font-size:16px;line-height:1.72;margin:0 auto;max-width:1120px;padding-bottom:56px}.sidra-content-page .sidra-lead{color:#43574e;font-size:1.18rem;max-width:780px}.sidra-content-page h2{color:var(--sidra-ink);font-size:1.65rem;margin:42px 0 14px}.sidra-content-page h3{color:var(--sidra-ink);font-size:1.15rem;margin:24px 0 8px}.sidra-content-page a{color:var(--sidra-green)}.sidra-content-page .sidra-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0}.sidra-content-page .sidra-card{background:#fff;border:1px solid #dce9e2;border-radius:12px;padding:24px}.sidra-content-page .sidra-card h2,.sidra-content-page .sidra-card h3{margin-top:0}.sidra-content-page .sidra-steps{counter-reset:sidra-step;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:24px 0;padding:0}.sidra-content-page .sidra-steps li{background:var(--sidra-soft);border-radius:12px;padding:18px}.sidra-content-page .sidra-steps li:before{align-items:center;background:var(--sidra-green);border-radius:50%;color:#fff;content:counter(sidra-step);counter-increment:sidra-step;display:flex;font-weight:700;height:32px;justify-content:center;margin-bottom:12px;width:32px}.sidra-content-page .sidra-callout{background:#fff8e5;border-left:4px solid #d39b00;margin:26px 0;padding:18px 22px}.sidra-content-page .sidra-health{background:var(--sidra-soft);border-left:4px solid var(--sidra-green);margin:30px 0;padding:20px 24px}.sidra-content-page .sidra-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.sidra-content-page .sidra-button{background:var(--sidra-green);border-radius:6px;color:#fff!important;display:inline-block;font-weight:700;padding:12px 20px;text-decoration:none}.sidra-content-page .sidra-button--secondary{background:#fff;border:1px solid var(--sidra-green);color:var(--sidra-green)!important}.sidra-content-page details{border-bottom:1px solid #dce9e2;padding:16px 2px}.sidra-content-page summary{color:var(--sidra-ink);cursor:pointer;font-weight:700}.sidra-contact-form{background:#fff;border:1px solid #dce9e2;border-radius:14px;padding:28px}.sidra-form-grid{display:grid;gap:0 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.sidra-form-grid p{margin:0 0 18px}.sidra-form-grid__wide{grid-column:1/-1}.sidra-contact-form label{display:block;font-weight:700}.sidra-contact-form input:not([type=checkbox]),.sidra-contact-form select,.sidra-contact-form textarea{box-sizing:border-box;margin-top:6px;max-width:none;width:100%}.sidra-form-consent label{font-weight:400}.sidra-form-help{color:#5c6d65;font-size:.9rem}.sidra-honeypot{height:0;left:-10000px;overflow:hidden;position:absolute;width:0}.sidra-form-notice{border-radius:8px;margin:0 0 20px;padding:16px 18px}.sidra-form-notice--success{background:#e4f5ea;color:#145c31}.sidra-form-notice--error{background:#fbe7e7;color:#842525}@media(max-width:800px){.sidra-content-page .sidra-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.sidra-content-page{font-size:15px;padding-bottom:36px}.sidra-content-page .sidra-grid,.sidra-form-grid,.sidra-content-page .sidra-steps{grid-template-columns:1fr}.sidra-content-page .sidra-card,.sidra-contact-form{padding:20px 16px}.sidra-form-grid__wide{grid-column:auto}.sidra-content-page h2{font-size:1.4rem}}

/* Formulaire de contact — présentation éditoriale et états accessibles. */
.sidra-contact-form {
    background: #fff;
    border: 1px solid #d7e5dd;
    border-radius: 22px;
    box-shadow: 0 20px 55px rgba(18, 60, 50, .10);
    overflow: hidden;
    padding: 0;
    position: relative;
}

.sidra-contact-form::before {
    background: linear-gradient(90deg, #126b45, #219363 72%, #d5a23c);
    content: "";
    height: 5px;
    inset: 0 0 auto;
    position: absolute;
}

.sidra-contact-form__intro {
    align-items: center;
    background: linear-gradient(135deg, #f3f8f5, #eef7f1);
    border-bottom: 1px solid #dbe7e0;
    display: flex;
    gap: 28px;
    justify-content: space-between;
    padding: 34px 38px 30px;
}

.sidra-contact-form__intro > div {
    max-width: 650px;
}

.sidra-contact-form__eyebrow {
    color: #b97712;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.sidra-content-page .sidra-contact-form__intro h3 {
    color: #123c32;
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    line-height: 1.2;
    margin: 0 0 7px;
}

.sidra-contact-form__intro p {
    color: #52665d;
    line-height: 1.55;
    margin: 0;
}

.sidra-contact-form__badge {
    align-items: center;
    background: #fff;
    border: 1px solid #cfdfd6;
    border-radius: 999px;
    color: #24493a;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    padding: 9px 14px;
}

.sidra-contact-form__badge span {
    align-items: center;
    background: #dff1e7;
    border-radius: 50%;
    color: #126b45;
    display: inline-flex;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.sidra-contact-form .sidra-form-grid {
    gap: 22px 24px;
    padding: 34px 38px 12px;
}

.sidra-contact-form .sidra-form-grid p {
    margin: 0;
}

.sidra-contact-form label {
    color: #173b30;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: .01em;
}

.sidra-required {
    color: #b85c34;
}

.sidra-optional {
    color: #73837b;
    float: right;
    font-size: 12px;
    font-weight: 500;
}

.sidra-contact-form input:not([type=checkbox]),
.sidra-contact-form select,
.sidra-contact-form textarea {
    background: #fff;
    border: 1px solid #c8d8cf;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(18, 60, 50, .04) inset;
    color: #172d25;
    font: inherit;
    margin-top: 8px;
    max-width: none;
    min-height: 54px;
    padding: 13px 15px;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    width: 100%;
}

.sidra-contact-form select {
    cursor: pointer;
    padding-right: 38px;
}

.sidra-contact-form textarea {
    line-height: 1.55;
    min-height: 190px;
    resize: vertical;
}

.sidra-contact-form input:not([type=checkbox]):hover,
.sidra-contact-form select:hover,
.sidra-contact-form textarea:hover {
    border-color: #8caf9d;
}

.sidra-contact-form input:not([type=checkbox]):focus,
.sidra-contact-form select:focus,
.sidra-contact-form textarea:focus {
    background: #fcfffd;
    border-color: #16784b;
    box-shadow: 0 0 0 4px rgba(22, 120, 75, .13);
    outline: 0;
}

.sidra-contact-form input::placeholder,
.sidra-contact-form textarea::placeholder {
    color: #89968f;
    opacity: 1;
}

.sidra-contact-form .sidra-form-consent {
    background: #f5f8f6;
    border: 1px solid #dfe8e3;
    border-radius: 10px;
    margin: 10px 38px 0;
    padding: 15px 17px;
}

.sidra-contact-form .sidra-form-consent label {
    align-items: flex-start;
    color: #52635b;
    display: flex;
    font-size: 13px;
    font-weight: 500;
    gap: 10px;
    line-height: 1.55;
}

.sidra-contact-form .sidra-form-consent input {
    accent-color: #126b45;
    flex: 0 0 auto;
    height: 17px;
    margin: 2px 0 0;
    width: 17px;
}

.sidra-contact-form__actions {
    align-items: center;
    display: flex;
    gap: 22px;
    padding: 24px 38px 36px;
}

.sidra-contact-form__actions .sidra-button {
    align-items: center;
    background: #126b45 !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 24px rgba(18, 107, 69, .22);
    color: #fff !important;
    display: inline-flex;
    font-size: 15px;
    font-weight: 800;
    gap: 12px;
    justify-content: center;
    min-height: 54px;
    padding: 14px 22px !important;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.sidra-contact-form__actions .sidra-button:hover {
    background: #0d5939 !important;
    box-shadow: 0 13px 28px rgba(18, 107, 69, .28);
    transform: translateY(-1px);
}

.sidra-contact-form__actions .sidra-button:focus-visible {
    outline: 3px solid #d5a23c;
    outline-offset: 3px;
}

.sidra-contact-form .sidra-form-help {
    color: #65766e;
    flex: 1 1 auto;
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
    max-width: 560px;
}

@media (max-width: 720px) {
    .sidra-content-page #formulaire-contact,
    .sidra-contact-form {
        margin-left: 14px;
        margin-right: 14px;
    }

    .sidra-contact-form {
        border-radius: 16px;
    }

    .sidra-contact-form__intro {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        padding: 28px 22px 24px;
    }

    .sidra-contact-form__badge {
        border-radius: 10px;
        width: 100%;
    }

    .sidra-contact-form .sidra-form-grid {
        grid-template-columns: 1fr;
        padding: 26px 22px 10px;
    }

    .sidra-contact-form .sidra-form-grid__wide {
        grid-column: auto;
    }

    .sidra-contact-form .sidra-form-consent {
        margin-left: 22px;
        margin-right: 22px;
    }

    .sidra-contact-form__actions {
        align-items: stretch;
        flex-direction: column;
        padding: 22px 22px 28px;
    }

    .sidra-contact-form__actions .sidra-button {
        width: 100%;
    }
}
