/* GEANNE — Voie B : étude payante sans recontact (Stancer). Mobile d'abord. Charte « Proposition C » (v1.3). */

.voie-b-teaser {
    max-width: 450px;
    margin: 22px auto 0;
    padding-top: 16px;
    border-top: 1px dashed #DDDDD4;
    text-align: center;
}
.voie-b-teaser-question {
    margin: 0 0 6px;
    font-size: 14px;
    color: #6E6E68;
}
.voie-b-link {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 6px 4px !important;
    color: #000060 !important;
    font-size: 15px !important;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    line-height: 1.4;
    white-space: normal;
}
.voie-b-link:hover { color: #EF7A6C !important; }

.voie-b-panel {
    display: block;
    width: 100%;
    max-width: 450px !important;
    margin: 10px auto 0 !important;
    padding: 18px 16px;
    border: 0;
    border-radius: 10px;
    background: #FAFAF5;
    box-sizing: border-box;
    text-align: left;
}
.voie-b-title {
    margin: 0 0 10px;
    font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
    font-weight: 800;
    font-size: 18px;
    line-height: 1.3;
    color: #000060;
    text-align: center;
}
.voie-b-list {
    list-style: none !important;
    margin: 0 0 14px !important;
    padding-left: 0 !important;
    font-size: 15px;
    line-height: 1.5;
    color: #2C2C28;
}
.voie-b-list li { margin: 0 0 4px !important; padding: 0 !important; text-align: left; list-style: none !important; }
.voie-b-list li::before, .voie-b-list li::marker { content: none !important; display: none !important; }
.voie-b-teaser { max-width: 450px !important; margin-left: auto !important; margin-right: auto !important; }
.voie-b-panel .form-group { text-align: left; }
.voie-b-panel .contact-input { max-width: 100%; box-sizing: border-box; }
.voie-b-optional { font-weight: normal; color: #6E6E68; }
.voie-b-hint { display: block; font-size: 13px; color: #6E6E68; margin-top: 2px; font-style: normal; }

.voie-b-cgv {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 14px 0 6px;
    font-size: 14px;
    line-height: 1.45;
    color: #2C2C28;
    cursor: pointer;
}
.voie-b-cgv input[type="checkbox"] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    accent-color: #EF7A6C;
}
.voie-b-cgv a { color: #000060; text-decoration: underline; }

.voie-b-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
}
.voie-b-actions .btn-finish {
    width: 100%;
    max-width: 360px;
    padding-left: 16px !important;
    padding-right: 16px !important;
    white-space: normal;
    text-align: center !important;
    justify-content: center !important;
    line-height: 1.3 !important;
}
.voie-b-back { font-size: 14px !important; font-weight: normal; }
.voie-b-legal { margin: 14px 0 0; font-size: 12px; color: #6E6E68; font-style: normal; text-align: center; }

.voie-b-test-badge {
    margin: 0 0 10px;
    padding: 6px 10px;
    border-radius: 6px;
    background: #FBF1DC;
    color: #9A6B12;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

/* Fenêtre de paiement */
html.voie-b-modal-open, html.voie-b-modal-open body { overflow: hidden; }
.voie-b-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: stretch;
    justify-content: center;
}
.voie-b-modal[style*="display: none"] { display: none !important; }
.voie-b-modal-box {
    background: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.voie-b-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid #ECECE6;
    font-weight: 600;
    font-size: 15px;
    color: #000060;
}
.voie-b-modal-close {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 28px !important;
    line-height: 1;
    padding: 0 6px !important;
    cursor: pointer;
    color: #6E6E68 !important;
}
.voie-b-iframe {
    flex: 1 1 auto;
    width: 100%;
    min-height: 480px;
    border: 0;
}
.voie-b-verif {
    padding: 60px 20px;
    text-align: center;
    font-size: 16px;
    color: #2C2C28;
}
@media (min-width: 769px) {
    .voie-b-modal { align-items: center; }
    .voie-b-modal-box {
        width: 520px;
        height: auto;
        max-height: 92vh;
        border-radius: 12px;
    }
    .voie-b-iframe { height: 560px; flex: 0 0 auto; }
}

/* Bandeau de confirmation sur la page de résultats */
.voie-b-banner {
    padding: 18px 16px;
    margin: 20px 0;
    border-radius: 10px;
    background: #FDE9E6;
    color: #2C2C28;
}
.voie-b-banner h4 { margin: 0 0 8px; font-family: 'Manrope', 'Segoe UI', Arial, sans-serif; font-weight: 800; color: #000060; }
.voie-b-banner p { margin: 0 0 8px; }
.voie-b-banner-recu { font-size: 14px; }
.voie-b-banner-actions { margin: 10px 0; }
.voie-b-btn-secondaire {
    background: #fff !important;
    color: #000060 !important;
    border: 1.5px solid #000060 !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    font-size: 14px !important;
    font-weight: 600;
    cursor: pointer;
    box-shadow: none !important;
}
.voie-b-banner-label { font-size: 13px; margin-top: 12px !important; }
.voie-b-banner-link { display: flex; gap: 8px; flex-wrap: wrap; }
.voie-b-banner-link input {
    flex: 1 1 200px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #DDDDD4;
    border-radius: 6px;
    font-size: 13px;
    color: #2C2C28;
    background: #fff;
}
.voie-b-acces-erreur {
    max-width: 600px;
    margin: 20px auto;
    padding: 16px;
    border-radius: 10px;
    background: #FBF1DC;
    color: #9A6B12;
    text-align: center;
}

/* Bandeau voie B (proposition 2 du 08/11/2026) : deux volets « Conserver mon étude » / « En parler » */
.voie-b-cols { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 12px; }
.voie-b-col {
    flex: 1 1 280px;
    min-width: 0;
    background: #FFFFFF;
    border-radius: 10px;
    padding: 16px;
    box-sizing: border-box;
    color: #2C2C28;
}
.voie-b-col-rdv { background: #EEF1F7; }
.voie-b-col-title {
    font-family: 'Manrope', 'Segoe UI', Arial, sans-serif !important;
    font-weight: 800 !important;
    font-size: 17px !important;
    color: #000060 !important;
    margin: 0 0 6px !important;
}
.voie-b-col-text { font-size: 14px !important; line-height: 1.45; margin: 0 0 10px !important; }
.voie-b-btn {
    background: #FFFFFF !important;
    color: #000060 !important;
    border: 1.5px solid #000060 !important;
    border-radius: 6px !important;
    padding: 11px 16px !important;
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    cursor: pointer;
    white-space: nowrap;
}
.voie-b-btn:hover { background: #EEF1F7 !important; }
.voie-b-btn-plein { background: #000060 !important; color: #FFFFFF !important; }
.voie-b-btn-plein:hover { background: #1a1a7a !important; }
.voie-b-full { display: block !important; width: 100% !important; text-align: center; box-sizing: border-box; margin: 0 0 8px !important; }
.voie-b-copy-msg { display: block; font-size: 13px !important; color: #6E6E68 !important; min-height: 16px; margin: -2px 0 8px !important; line-height: 1.35; }
.voie-b-lien-cache { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.voie-b-lien-cache.voie-b-lien-visible {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    opacity: 1;
    margin: 0 0 8px;
    padding: 8px 10px;
    border: 1px solid #DDDDD4;
    border-radius: 6px;
    font-size: 13px;
    color: #2C2C28;
    background: #FAFAF5;
    box-sizing: border-box;
}
.voie-b-mail-row { display: flex; gap: 8px; margin-top: 4px; }
.voie-b-mail-row { min-width: 0; }
.voie-b-mail-row input {
    /* largeur intrinsèque réduite : sinon le champ (≈ 200 px par défaut) élargit la page sur mobile */
    flex: 1 1 60px !important;
    width: 60px !important;
    max-width: none !important;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #DDDDD4;
    border-radius: 6px;
    font-size: 14px;
    color: #2C2C28;
    background: #FFFFFF;
    box-sizing: border-box;
}
.voie-b-mail-row .voie-b-btn { flex: 0 0 auto; }
.voie-b-btn-rdv {
    display: inline-block;
    background: #000060 !important;
    color: #FFFFFF !important;
    padding: 12px 20px;
    border-radius: 6px;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.3;
    box-sizing: border-box;
}
.voie-b-btn-rdv:hover { background: #1a1a7a !important; }
.voie-b-rdv-tel { font-size: 13px !important; color: #6E6E68 !important; margin: 8px 0 0 !important; }
/* Anciens styles conservés pour compatibilité */
.voie-b-banner-link { display: flex; gap: 8px; flex-wrap: wrap; }
.voie-b-banner-link input { flex: 1 1 200px !important; width: auto !important; max-width: none !important; min-width: 0; padding: 8px 10px; border: 1px solid #DDDDD4; border-radius: 6px; font-size: 13px; color: #2C2C28; background: #FFFFFF; }

/* Choix de l'offre : deux cartes radio, aucune présélection depuis la v1.3.2 (la suite s'affiche après un clic).
   Règles renforcées (!important) : le thème applique ses propres marges aux label/span/input. */
.offre-choix {
    display: flex !important;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    max-width: 450px !important;
    margin: 0 auto 12px !important;
    padding: 0 !important;
    box-sizing: border-box;
}
.offre-card {
    display: block !important;
    position: relative;
    width: 100%;
    min-height: 0 !important;
    background: #FAFAF5;
    border: 2px solid transparent;
    border-radius: 10px;
    padding: 9px 12px 9px 38px !important;
    margin: 0 !important;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 1.3 !important;
    font-weight: normal !important;
    transition: border-color 150ms ease, background-color 150ms ease;
}
.offre-card:hover { border-color: #DDDDD4; }
.offre-card.offre-card-active { border-color: #EF7A6C; background: #FDE9E6; }
.offre-card input[type="radio"] {
    position: absolute !important;
    left: 12px !important;
    top: 11px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #EF7A6C;
}
.offre-card > span {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}
.offre-tag {
    display: inline-block !important;
    font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
    font-weight: 700 !important;
    font-size: .72rem !important;
    color: #2E7D5E;
    background: #E6F2EC;
    border-radius: 6px;
    padding: 1px 7px !important;
    margin: 0 0 2px !important;
    text-transform: none;
    letter-spacing: 0;
}
.offre-tag-bleu { color: #000060; background: #EEF1F7; }
.offre-titre {
    display: block !important;
    font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
    font-weight: 800 !important;
    font-size: .98rem !important;
    color: #000060;
    margin: 0 0 1px !important;
    padding-right: 76px !important;
}
.offre-desc {
    display: block !important;
    font-size: .84rem !important;
    line-height: 1.3 !important;
    color: #2C2C28;
    padding-right: 4px !important;
}
.offre-prix {
    position: absolute !important;
    right: 12px;
    top: 9px;
    font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
    font-weight: 800 !important;
    font-size: 1.05rem !important;
    color: #000060;
    white-space: nowrap;
}

/* v1.3.2 — wpautop/Elementor injecte des <br> et des <p> dans les cartes : on les neutralise (sinon lignes vides en trop). */
.offre-choix br,
.offre-choix > p,
.offre-card p:empty { display: none !important; }
.offre-card > span.offre-titre,
.offre-card > span.offre-desc { display: block !important; }
/* En attente de choix : invite discrète sous les cartes */
.offre-choix-invite {
    max-width: 450px;
    margin: -4px auto 12px !important;
    text-align: center;
    font-size: .85rem !important;
    color: #6E6E68;
}

/* v1.3.2 — Étape 13, coordonnées de la voie gratuite : bloc resserré pour que email, téléphone et consentement
   tiennent ensemble à l'écran après le clic sur la carte. wpautop insère un <br> entre chaque libellé et son champ. */
.step[data-step="13"] .form-group > br,
.step[data-step="13"] .form-group > p:empty,
.step[data-step="13"] .consent-card br { display: none !important; }
.step[data-step="13"] .form-group { margin-bottom: 12px !important; }
.step[data-step="13"] .form-group label { margin: 0 0 6px !important; padding: 0 !important; line-height: 1.3 !important; }
.step[data-step="13"] .form-group .contact-input { margin: 0 !important; }
.step[data-step="13"] .consent-card { margin-top: 6px !important; margin-bottom: 10px !important; padding-top: 14px !important; padding-bottom: 14px !important; }

/* v1.3.3 — Option B : alternatives sous « Voir mes résultats » (étude payante en autonomie, prise de rendez-vous).
   Boutons secondaires de la charte C : fond blanc, contour bleu, angles 6 px ; !important contre le thème. */
.offre-alternatives {
    width: 100%;
    max-width: 450px !important;
    margin: 6px auto 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}
.offre-alternatives br,
.offre-alternatives p:empty { display: none !important; }
.offre-alt-sep {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin: 4px 0 12px !important;
    padding: 0 !important;
    color: #6E6E68 !important;
    font-size: .9rem !important;
    line-height: 1 !important;
}
.offre-alt-sep::before,
.offre-alt-sep::after { content: ""; flex: 1 1 auto; height: 1px; background: #DDDDD4; }
.offre-alt-grid {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    margin: 0 !important;
    padding: 0 !important;
}
.offre-alt {
    display: block !important;
    position: relative;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: #FFFFFF !important;
    border: 2px solid #000060 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    box-sizing: border-box;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    font-family: inherit;
    font-weight: normal !important;
    line-height: 1.3 !important;
    color: #2C2C28 !important;
    cursor: pointer;
    transition: background-color 150ms ease;
}
.offre-alt:hover,
.offre-alt:focus { background: #EEF1F7 !important; color: #2C2C28 !important; outline: none; }
.offre-alt:focus-visible { outline: 3px solid #EF7A6C; outline-offset: 2px; }
.offre-alt > span { display: block !important; margin: 0 !important; padding: 0 !important; }
.offre-alt > span.offre-alt-tag {
    display: inline-block !important;
    font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
    font-weight: 700 !important;
    font-size: .72rem !important;
    color: #000060;
    background: #EEF1F7;
    border-radius: 6px;
    padding: 1px 7px !important;
    margin: 0 0 3px !important;
}
.offre-alt-rdv > span.offre-alt-tag { color: #2E7D5E; background: #E6F2EC; }
.offre-alt-titre {
    font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
    font-weight: 800 !important;
    font-size: 1rem !important;
    color: #000060;
}
.offre-alt-desc { font-size: .84rem !important; color: #2C2C28; margin-top: 2px !important; }
.offre-alt > span.offre-alt-cta {
    margin-top: 8px !important;
    padding: 9px 10px !important;
    background: #000060;
    color: #FFFFFF;
    border-radius: 6px;
    text-align: center;
    font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
    font-weight: 700 !important;
    font-size: .95rem !important;
    white-space: nowrap;
}
.offre-alt-tel {
    margin: 12px 0 0 !important;
    text-align: center;
    font-size: 1rem !important;
    color: #2C2C28;
}
.offre-alt-tel a { color: #000060 !important; font-weight: 700; text-decoration: none; font-size: 1.1rem; white-space: nowrap; }
/* Ordinateur et tablette : les deux alternatives côte à côte, de même hauteur */
@media (min-width: 700px) {
    .offre-alternatives { max-width: 640px !important; }
    .offre-alt-grid { flex-direction: row; align-items: stretch; }
    .offre-alt-grid > .offre-alt { flex: 1 1 0% !important; width: auto !important; min-width: 0 !important; max-width: none !important; display: flex !important; flex-direction: column; align-items: flex-start; }
    .offre-alt-grid > .offre-alt > span.offre-alt-cta { margin-top: auto !important; align-self: stretch; font-size: .9rem !important; padding-left: 6px !important; padding-right: 6px !important; }
    .offre-alt-grid > .offre-alt > span.offre-alt-desc { margin-bottom: 8px !important; }
}

/* v1.3.3 — Les trois mentions de réassurance sont placées juste sous « Voir mes résultats », avant la flèche « Précédent »
   (même rang d'ordre que le bouton dans .contact-nav-buttons, donc affichées dans l'ordre du source). */
.contact-nav-buttons .step13-reassurance {
    order: 1;
    display: flex; /* sans !important : le script masque cette ligne quand le panneau de paiement est ouvert */
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px 14px !important;
    width: 100%;
    max-width: 450px;
    margin: 0 !important;
    padding: 0 !important;
    font-size: .82rem !important;
    line-height: 1.3 !important;
    color: #6E6E68;
}
.contact-nav-buttons .step13-reassurance span { margin: 0 !important; padding: 0 !important; white-space: nowrap; }
.contact-nav-buttons .step13-reassurance br { display: none !important; }

