/* JAG V2 — inscription : mise en page autonome et séparation particulier / pro */

.jag-registration-body {
    margin: 0;
    background: #f4f6f1;
    color: #20251d;
}

.jag-registration-shell {
    width: min(1120px, calc(100% - 32px));
    margin: 32px auto;
}

.jag-registration-card {
    box-sizing: border-box;
    width: 100%;
    padding: 30px;
    border: 1px solid #dbe1d5;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(35, 47, 24, .08);
}

.jag-account-login-brand {
    display: inline-flex;
    align-items: center;
    margin-bottom: 24px;
    text-decoration: none;
}

.jag-account-login-logo {
    display: block;
    width: auto;
    max-width: 230px;
    max-height: 82px;
}

.jag-account-login-heading {
    margin-bottom: 24px;
}

.jag-account-login-heading > span {
    display: inline-block;
    margin-bottom: 8px;
    color: #486f0b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.jag-account-login-heading h1 {
    margin: 0 0 10px;
    font-size: clamp(28px, 4vw, 38px);
    line-height: 1.12;
}

.jag-account-login-heading p {
    max-width: 800px;
    margin: 0;
    color: #657064;
    line-height: 1.55;
}

/* Honeypot anti-robot : ne doit jamais être visible par un utilisateur. */
.jag-registration-honeypot {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.jag-account-form {
    display: grid;
    gap: 20px;
}

.jag-registration-section {
    box-sizing: border-box;
    padding: 22px;
    border: 1px solid #dfe5da;
    border-radius: 13px;
    background: #fff;
}

.jag-registration-section-heading {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin-bottom: 18px;
    padding-bottom: 13px;
    border-bottom: 1px solid #e7ebe3;
}

.jag-registration-section-heading strong {
    font-size: 17px;
    color: #20251d;
}

.jag-registration-section-heading span {
    color: #727b70;
    font-size: 13px;
}

.jag-registration-account-types {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.jag-registration-choice {
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 94px;
    padding: 17px;
    border: 2px solid #dfe5da;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.jag-registration-choice:hover,
.jag-registration-choice:has(input:checked) {
    border-color: #8ab632;
    background: #f6faed;
    box-shadow: 0 0 0 3px rgba(138, 182, 50, .08);
}

.jag-registration-choice input[type="radio"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: #7ca728;
}

.jag-registration-choice span {
    display: grid;
    gap: 4px;
}

.jag-registration-choice strong {
    font-size: 16px;
}

.jag-registration-choice small {
    color: #677064;
    font-size: 13px;
    line-height: 1.45;
}

.jag-account-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.jag-account-field {
    min-width: 0;
}

.jag-account-field-span-2 {
    grid-column: 1 / -1;
}

.jag-account-field label {
    display: block;
    margin-bottom: 7px;
    color: #30372e;
    font-size: 13px;
    font-weight: 700;
}

.jag-account-field label small {
    color: #737b70;
    font-weight: 400;
}

.jag-account-required {
    color: #b33225;
}

.jag-account-field input,
.jag-account-field select,
.jag-account-field textarea {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #cfd7c9;
    border-radius: 9px;
    background: #fff;
    color: #20251d;
    font: inherit;
    outline: none;
}

.jag-account-field input:focus,
.jag-account-field select:focus,
.jag-account-field textarea:focus {
    border-color: #83ad31;
    box-shadow: 0 0 0 3px rgba(131, 173, 49, .12);
}

.jag-account-field input[readonly] {
    background: #f4f6f1;
    color: #626b60;
}

.jag-account-field > span {
    display: block;
    margin-top: 6px;
    color: #758073;
    font-size: 12px;
    line-height: 1.4;
}

/* La partie entreprise est totalement absente du flux pour un particulier. */
.jag-registration-professional {
    display: none !important;
}

.jag-registration-professional.is-visible {
    display: block !important;
    border-color: #a8c874;
    background: #fbfdf7;
    box-shadow: inset 4px 0 0 #87b237;
}

.jag-registration-terms {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
}

.jag-registration-terms input {
    margin-top: 4px;
    accent-color: #7ca728;
}

.jag-registration-validation-note {
    display: grid;
    gap: 4px;
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 10px;
    background: #f3f7ea;
    color: #3d4c30;
}

.jag-account-btn-full {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 50px;
    border: 0;
    border-radius: 9px;
    background: #82ad2f;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
}

.jag-account-btn-full:hover {
    background: #719a27;
}

.jag-account-login-note {
    margin: 22px 0 0;
    text-align: center;
    color: #687166;
}

.jag-account-login-note a {
    color: #557d16;
    font-weight: 700;
}

.jag-account-alert {
    margin-bottom: 20px;
    padding: 14px 16px;
    border-radius: 10px;
}

.jag-account-alert.is-danger {
    border: 1px solid #ecc1bd;
    background: #fff3f2;
    color: #8c271f;
}

@media (max-width: 760px) {
    .jag-registration-shell {
        width: min(100% - 20px, 1120px);
        margin: 10px auto 22px;
    }

    .jag-registration-card {
        padding: 18px;
        border-radius: 12px;
    }

    .jag-registration-account-types,
    .jag-account-grid-2 {
        grid-template-columns: 1fr;
    }

    .jag-account-field-span-2 {
        grid-column: auto;
    }

    .jag-registration-section {
        padding: 16px;
    }

    .jag-registration-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}
