:root{
  --mw-blue:#062760;--mw-blue-2:#0b4bb3;--mw-green:#247a08;--mw-green-2:#2f990d;--mw-light:#f5f9ff;--mw-border:#d8e4f2;--mw-text:#071b45;--mw-muted:#4e5f7c;--mw-orange:#f59e0b;
}
.mw-signup-page{font-family:Inter,Arial,sans-serif;color:var(--mw-text);background:linear-gradient(180deg,#fff 0%,#f7fbff 78%,#fff 100%);min-height:100vh}.mw-signup-header{max-width:1220px;margin:0 auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--mw-border)}.mw-signup-logo{width:230px;height:auto}.mw-secure-top{display:flex;align-items:center;gap:10px;color:var(--mw-blue);font-weight:700}.mw-signup-layout{max-width:1220px;margin:0 auto;padding:38px 28px 28px;display:grid;grid-template-columns:1fr 0.9fr;gap:42px}.mw-kicker{display:inline-flex;align-items:center;gap:10px;border:1px solid #b7d89e;background:#f2faed;color:var(--mw-green);font-weight:900;border-radius:10px;padding:10px 16px;text-transform:uppercase;letter-spacing:.02em}.mw-signup-copy h1{font-size:48px;line-height:1.06;margin:24px 0 22px;color:var(--mw-blue);font-weight:900}.mw-signup-copy h1 strong,.mw-signup-copy h1 em{color:var(--mw-green);font-style:normal}.mw-signup-copy p{font-size:19px;line-height:1.55;margin:18px 0;color:var(--mw-text)}.mw-value-card{display:inline-flex;align-items:center;gap:18px;background:#f7fbef;border:1px solid #d4e7b8;border-radius:11px;padding:18px 26px;margin:8px 0 10px;box-shadow:0 8px 22px rgba(6,39,96,.06)}.mw-value-card strong{font-size:26px;color:var(--mw-green)}.mw-decision-note,.mw-experience-box{display:flex;gap:18px;align-items:flex-start;border:1px solid #bfd0ee;background:#fff;border-radius:14px;padding:18px 22px;margin:26px 0;box-shadow:0 12px 28px rgba(6,39,96,.07)}.mw-decision-note h2,.mw-experience-box h2{font-size:17px;margin:0 0 6px;color:var(--mw-blue);font-weight:900}.mw-decision-note p,.mw-experience-box p{font-size:15px;line-height:1.5;margin:0}.mw-benefits-title{font-size:22px;margin:28px 0 14px;color:var(--mw-blue);font-weight:900}.mw-benefits{display:grid;gap:0}.mw-benefit{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--mw-border)}.mw-benefit h3{font-size:17px;margin:0 0 6px;color:var(--mw-blue);font-weight:900}.mw-benefit p{font-size:15px;margin:0;line-height:1.42;color:var(--mw-text)}.mw-mini-reassurance{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#eef6ff;border:1px solid #b7cbed;border-radius:10px;padding:12px;margin:24px 0}.mw-mini-reassurance span{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--mw-blue);font-size:13px}.mw-form-card{background:#fff;border:1px solid var(--mw-border);border-radius:22px;padding:34px;box-shadow:0 16px 42px rgba(6,39,96,.13)}.mw-form-card h2{text-align:center;color:var(--mw-blue);font-size:34px;line-height:1.1;margin:0 0 10px;font-weight:900}.mw-form-intro{text-align:center;font-size:18px;line-height:1.45;color:var(--mw-muted);margin:0 0 28px}.mw-form-section{border-top:1px solid var(--mw-border);padding-top:25px;margin-top:26px}.mw-form-section:first-of-type{border-top:0;padding-top:0}.mw-form-section-title{display:flex;align-items:center;gap:14px;margin-bottom:20px}.mw-form-section-title h3{font-size:21px;color:var(--mw-blue);margin:0;font-weight:900}label{display:block;font-size:14px;font-weight:800;color:var(--mw-blue);margin:14px 0 8px}label em{color:#d61f1f;font-style:normal}input,select{width:100%;box-sizing:border-box;border:1px solid #bdcbe1;border-radius:8px;min-height:50px;padding:0 16px;font-size:16px;color:var(--mw-text);background:#fff}input:focus,select:focus{outline:3px solid rgba(47,153,13,.14);border-color:var(--mw-green)}.mw-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mw-privacy-note,.mw-offer-reminder{display:flex;align-items:center;gap:16px;border-radius:10px;padding:16px 18px;margin:20px 0}.mw-privacy-note{background:#f3fbec;border:1px solid #bddba8;color:#2b5e1c}.mw-offer-reminder{background:#fff9e7;border:1px solid #f2ce74;color:var(--mw-blue);flex-wrap:wrap}.mw-offer-reminder strong{font-weight:900}.mw-offer-reminder span:last-child{color:var(--mw-green);font-weight:900}.mw-form-checks{list-style:none;margin:12px 0 20px;padding:0;display:grid;gap:8px}.mw-form-checks li{position:relative;padding-left:28px;color:var(--mw-text);font-weight:600}.mw-form-checks li:before{content:'✓';position:absolute;left:0;color:var(--mw-green);font-weight:900}.mw-captcha-placeholder{width:320px;max-width:100%;height:76px;border:1px solid #c9d3e2;border-radius:6px;background:#fafafa;display:flex;align-items:center;justify-content:center;color:#6d778c;margin:16px 0}.mw-submit{border:0;width:100%;min-height:58px;border-radius:10px;background:linear-gradient(135deg,#1b780a,#44a911);color:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 12px 26px rgba(36,122,8,.28);display:flex;align-items:center;justify-content:center;gap:12px}.mw-arrow{font-size:31px;line-height:1}.mw-legal{text-align:center;color:var(--mw-muted);font-size:13px!important}.mw-legal a{color:var(--mw-blue-2);font-weight:800}.mw-signup-footer{background:linear-gradient(135deg,#001b4d,#073677);color:#fff;margin-top:24px;padding:24px calc((100vw - 1220px)/2 + 28px);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mw-signup-footer div{display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto;gap:2px 16px;align-items:center}.mw-signup-footer .mw-svg{grid-row:1/3}.mw-signup-footer strong{font-size:20px}.mw-signup-footer span:last-child{font-size:15px;opacity:.92}.mw-svg{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;background:currentColor;mask:center/contain no-repeat;-webkit-mask:center/contain no-repeat;color:var(--mw-green)}.mw-gift{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20 7h-2.18A3 3 0 0 0 12 5.9A3 3 0 0 0 6.18 7H4a2 2 0 0 0-2 2v3h2v8h16v-8h2V9a2 2 0 0 0-2-2ZM9 5a1 1 0 0 1 1 1v1H8a1 1 0 0 1 1-2Zm6 0a1 1 0 0 1 1 2h-2V6a1 1 0 0 1 1-1ZM4 9h7v3H4V9Zm2 5h5v4H6v-4Zm12 4h-5v-4h5v4Zm2-6h-7V9h7v3Z'/%3E%3C/svg%3E")}.mw-tag{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m21 11.7-9.3 9.3a2.4 2.4 0 0 1-3.4 0L3 15.7a2.4 2.4 0 0 1 0-3.4L12.3 3H21v8.7ZM16.5 8A1.5 1.5 0 1 0 16.5 5a1.5 1.5 0 0 0 0 3Z'/%3E%3C/svg%3E")}.mw-brain{color:var(--mw-blue);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 3a4 4 0 0 0-4 4v1a4 4 0 0 0-1 7.7V17a4 4 0 0 0 7 2.65V3.14A4.04 4.04 0 0 0 9 3Zm6 0c-.7 0-1.38.18-2 .5v16.15A4 4 0 0 0 20 17v-1.3A4 4 0 0 0 19 8V7a4 4 0 0 0-4-4Z'/%3E%3C/svg%3E")}.mw-people,.mw-user{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 12a5 5 0 1 0-5-5a5 5 0 0 0 5 5Zm0 2c-4.4 0-8 2.2-8 5v2h16v-2c0-2.8-3.6-5-8-5Z'/%3E%3C/svg%3E")}.mw-growth,.mw-chart{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 20h16v2H2V4h2v16Zm2-2V9h4v9H6Zm6 0V5h4v13h-4Zm6 0v-7h4v7h-4Z'/%3E%3C/svg%3E")}.mw-star{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m12 2 3.1 6.3 7 .9-5.1 4.9 1.2 6.9L12 17.8 5.8 21 7 14.1 1.9 9.2l7-.9L12 2Z'/%3E%3C/svg%3E")}.mw-shield{color:var(--mw-blue);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2 4 5v6c0 5.5 3.4 10.4 8 11 4.6-.6 8-5.5 8-11V5l-8-3Zm-1 14-4-4 1.4-1.4L11 13.2l5.6-5.6L18 9l-7 7Z'/%3E%3C/svg%3E")}.mw-no{color:var(--mw-blue);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 0 20a10 10 0 0 0 0-20Zm6.3 10a6.2 6.2 0 0 1-1.2 3.7L8.3 6.9A6.3 6.3 0 0 1 18.3 12ZM5.7 12a6.2 6.2 0 0 1 1.2-3.7l8.8 8.8A6.3 6.3 0 0 1 5.7 12Z'/%3E%3C/svg%3E")}.mw-clock{color:var(--mw-blue);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 1a11 11 0 1 0 11 11A11 11 0 0 0 12 1Zm1 12h5v-2h-4V6h-2v7Z'/%3E%3C/svg%3E")}.mw-handshake{color:var(--mw-blue);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m11.5 6 1.4 1.4-3.2 3.2a2 2 0 0 0 2.8 2.8l2.2-2.2 4.3 4.3a2 2 0 0 1-2.8 2.8l-.6-.6-.7.7a2 2 0 0 1-2.8 0l-.7-.7-.7.7a2 2 0 0 1-2.8 0L3 13.5V7h4.5l1.6-1a2 2 0 0 1 2.4 0Zm4.5 0 1.5 1H21v6.5l-1.6 1.6-4.7-4.7-2.9 2.9-.7-.7 4.9-4.9L16 6Z'/%3E%3C/svg%3E")}.mw-building{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 22V2h12v20h-2v-4h-4v4H4Zm3-16h2v2H7V6Zm5 0h2v2h-2V6ZM7 10h2v2H7v-2Zm5 0h2v2h-2v-2Zm-5 4h2v2H7v-2Zm13-4h-3v12h5V12a2 2 0 0 0-2-2Z'/%3E%3C/svg%3E")}.mw-lock{color:var(--mw-blue);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M17 9V7a5 5 0 0 0-10 0v2H5v13h14V9h-2Zm-8 0V7a3 3 0 0 1 6 0v2H9Z'/%3E%3C/svg%3E")}
@media(max-width:980px){.mw-signup-layout{grid-template-columns:1fr}.mw-signup-copy h1{font-size:38px}.mw-signup-footer{grid-template-columns:1fr}.mw-mini-reassurance{grid-template-columns:1fr}.mw-signup-header{align-items:flex-start;gap:20px;flex-direction:column}.mw-signup-logo{width:190px}}@media(max-width:620px){.mw-signup-layout{padding:24px 16px}.mw-form-card{padding:24px 18px}.mw-two-cols{grid-template-columns:1fr}.mw-signup-copy h1{font-size:32px}.mw-signup-copy p{font-size:16px}.mw-value-card strong{font-size:20px}.mw-benefit{grid-template-columns:48px 1fr}.mw-signup-footer{padding:24px 16px}}


/* ==========================================================
   Compatibilité avec le vrai formulaire Symfony entreprise
   ========================================================== */

.mw-signup-page {
    width: 100%;
}

.mw-signup-page .alert {
    max-width: 1220px;
    margin: 16px auto 0;
}

.mw-form-card .form-group,
.mw-form-card .mb-3 {
    margin-bottom: 14px;
}

.mw-form-card label.required:after {
    content: " *";
    color: #d61f1f;
}

.mw-form-card input[type="file"] {
    padding: 12px 14px;
    height: auto;
    min-height: 50px;
}

.mw-form-card .form-error-message,
.mw-form-card .invalid-feedback,
.mw-form-card .form-errors {
    color: #d61f1f;
    font-size: 13px;
    margin-top: 5px;
}

.mw-gestionnaire-form {
    display: grid;
    gap: 0;
}

.mw-gestionnaire-form > div {
    margin-bottom: 14px;
}

.mw-gestionnaire-form .form-row,
.mw-gestionnaire-form .row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.mw-captcha-wrap {
    margin: 16px 0;
}

.mw-signup-header {
    background: #fff;
}

.mw-signup-page label {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: var(--mw-blue);
    margin: 14px 0 8px;
}

.mw-signup-page input,
.mw-signup-page select,
.mw-signup-page textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #bdcbe1;
    border-radius: 8px;
    min-height: 50px;
    padding: 0 16px;
    font-size: 16px;
    color: var(--mw-text);
    background: #fff;
}

.mw-signup-page textarea {
    padding-top: 12px;
    min-height: 90px;
}

.mw-signup-page input:focus,
.mw-signup-page select:focus,
.mw-signup-page textarea:focus {
    outline: 3px solid rgba(47,153,13,.14);
    border-color: var(--mw-green);
}

.mw-signup-logo {
    object-fit: contain;
}

@media (min-width: 981px) {
    .mw-signup-layout {
        grid-template-columns: minmax(0, 1fr) 560px;
        gap: 42px;
        align-items: start;
    }

    .mw-form-card {
        position: sticky;
        top: 18px;
    }
}

@media (max-width: 620px) {
    .mw-gestionnaire-form .form-row,
    .mw-gestionnaire-form .row {
        grid-template-columns: 1fr;
    }
}



/* ==========================================================
   Ajustements après test réel
   - supprime l'effet de page trop descendue;
   - rapproche la maquette de la capture cible;
   - corrige le rendu des sous-champs d'adresse Symfony.
   ========================================================== */

.mw-signup-page {
    margin-top: 0;
}

.mw-signup-header {
    max-width: 1180px;
    padding: 22px 24px;
}

.mw-signup-logo {
    width: 210px;
}

.mw-signup-layout {
    max-width: 1180px;
    padding: 32px 24px 26px;
    grid-template-columns: minmax(0, 1fr) 540px;
    gap: 38px;
}

.mw-signup-copy h1 {
    font-size: 42px;
    line-height: 1.05;
    margin: 22px 0 20px;
}

.mw-value-card {
    padding: 16px 24px;
}

.mw-value-card strong {
    font-size: 23px;
}

.mw-signup-copy p {
    font-size: 17px;
    line-height: 1.5;
}

.mw-form-card {
    padding: 30px 32px;
}

.mw-form-card h2 {
    font-size: 30px;
}

.mw-form-intro {
    font-size: 16px;
}

/* Le champ adresse est un sous-formulaire composé.
   On ne veut pas un gros label externe + les labels internes. */
.mw-form-card fieldset,
.mw-form-card .form-group {
    border: 0;
}

.mw-form-card legend {
    display: none;
}

/* Les sous-champs d'adresse doivent s'afficher comme les autres champs. */
.mw-form-card #entreprise_adresse > div,
.mw-form-card [id$="_adresse"] > div {
    margin-bottom: 14px;
}

/* Si le FormType génère un wrapper pour adresse, on enlève la marge visuelle du label externe. */
.mw-form-card .mw-form-section > .form-group > label:first-child {
    margin-top: 8px;
}

/* Pour éviter que le formulaire ait l'air décalé trop bas. */
.mw-form-section {
    margin-top: 22px;
    padding-top: 22px;
}

.mw-form-section:first-of-type {
    margin-top: 0;
    padding-top: 0;
}

/* ReCaptcha réel plus proche de la maquette. */
.mw-captcha-wrap {
    margin: 14px 0;
}

/* Le formulaire original peut générer des champs imbriqués dans gestionnaire. */
.mw-gestionnaire-form > div > div {
    margin-bottom: 14px;
}

/* Les champs désalignés hérités de Bootstrap ne doivent pas casser la carte. */
.mw-form-card .row {
    margin-left: 0;
    margin-right: 0;
}

.mw-form-card .row > [class*="col"] {
    padding-left: 0;
    padding-right: 0;
}



/* ==========================================================
   Ajustements V3 - Inscription entreprise
   Objectif :
   - rapprocher la page du visuel fourni;
   - élargir la zone utile;
   - réduire l'effet de page trop centrée;
   - rapprocher le contenu du haut;
   - éviter que la carte formulaire paraisse trop isolée.
   ========================================================== */

.mw-signup-page {
    background: linear-gradient(180deg,#fff 0%,#f7fbff 80%,#fff 100%);
}

/* Le header interne de la page doit être plus large et moins bas. */
.mw-signup-header {
    max-width: 1320px;
    padding: 18px 24px 20px;
}

.mw-signup-logo {
    width: 190px;
}

.mw-secure-top {
    font-size: 15px;
}

/* La page était trop centrée et trop étroite. */
.mw-signup-layout {
    max-width: 1320px;
    padding: 24px 24px 24px;
    grid-template-columns: minmax(0, 1fr) 500px;
    gap: 44px;
    align-items: start;
}

/* Colonne gauche un peu plus compacte. */
.mw-kicker {
    padding: 9px 15px;
    font-size: 14px;
}

.mw-signup-copy h1 {
    font-size: 40px;
    line-height: 1.04;
    margin: 18px 0 18px;
}

.mw-value-card {
    padding: 14px 22px;
    margin: 6px 0 8px;
}

.mw-value-card strong {
    font-size: 22px;
}

.mw-signup-copy p {
    font-size: 16px;
    line-height: 1.48;
    margin: 16px 0;
}

.mw-decision-note,
.mw-experience-box {
    margin: 22px 0;
    padding: 16px 20px;
}

.mw-benefits-title {
    margin: 24px 0 12px;
}

.mw-benefit {
    padding: 14px 0;
}

.mw-mini-reassurance {
    margin: 20px 0;
}

/* Formulaire plus proche du visuel : légèrement plus compact. */
.mw-form-card {
    padding: 28px 30px;
    border-radius: 20px;
}

.mw-form-card h2 {
    font-size: 28px;
    line-height: 1.08;
}

.mw-form-intro {
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 24px;
}

.mw-form-section {
    margin-top: 20px;
    padding-top: 20px;
}

.mw-form-section-title {
    margin-bottom: 16px;
}

.mw-form-section-title h3 {
    font-size: 19px;
}

.mw-signup-page label {
    font-size: 13px;
    margin: 12px 0 7px;
}

.mw-signup-page input,
.mw-signup-page select,
.mw-signup-page textarea {
    min-height: 46px;
    font-size: 15px;
}

/* L'adresse réelle contient plusieurs champs; on garde un rendu plus serré. */
.mw-form-card [id$="_adresse"] > div,
.mw-form-card #entreprise_adresse > div {
    margin-bottom: 12px;
}

/* Footer plus proche de la largeur du contenu. */
.mw-signup-footer {
    margin-top: 20px;
    padding-left: calc((100vw - 1320px)/2 + 24px);
    padding-right: calc((100vw - 1320px)/2 + 24px);
}

/* Sur écrans larges, la carte ne doit pas coller au haut du navigateur pendant le test. */
@media (min-width: 981px) {
    .mw-form-card {
        position: static;
    }
}

/* Écrans moyens */
@media(max-width: 1180px) {
    .mw-signup-layout {
        grid-template-columns: 1fr;
        max-width: 900px;
    }

    .mw-form-card {
        max-width: 640px;
        margin: 0 auto;
        width: 100%;
    }

    .mw-signup-header {
        max-width: 900px;
    }
}

/* Mobile */
@media(max-width:620px) {
    .mw-signup-header {
        padding: 18px 16px;
    }

    .mw-signup-layout {
        padding: 22px 16px;
    }

    .mw-signup-copy h1 {
        font-size: 32px;
    }

    .mw-form-card {
        padding: 22px 16px;
    }
}
