/**
 * Simulateur de franchise — styles.
 *
 * Repris VERBATIM de rdv-tunnel.css (sous-ensemble du bloc « assurance » de
 * l'étape 2) SANS y toucher ni en dépendre. Mêmes classes, mêmes valeurs :
 * .sos-rdv-step, .sos-rdv-step__title, .sos-rdv-combo*, .sos-rdv-encart*,
 * .sos-rdv-franchise*. store-locator.css n'est jamais chargé par ce plugin.
 *
 * Tokens --sos-* redéclarés en :root, comme le fait rdv-tunnel.css, pour rester
 * autonome. var(..., fallback) partout pour cohabiter sans heurt avec le tunnel
 * si les deux feuilles sont présentes sur une même page.
 *
 * Seul ajout par rapport au sous-ensemble d'origine : --sos-elev-3 est déclaré
 * ici (valeur de store-locator.css) car rdv-tunnel.css l'utilise sans fallback
 * pour l'ombre de .sos-rdv-combo__list et ne le déclare pas — chargée seule,
 * l'ombre disparaîtrait. Imperfection d'origine signalée, corrigée côté simulateur.
 */

:root {
    --sos-blue:        #21326A;
    --sos-blue-deep:   #0E1A45;
    --sos-yellow:      #FFCC2B;
    --sos-yellow-deep: #E5B500;
    --sos-bg:          #F6F8FC;
    --sos-surface-1:   #FFFFFF;
    --sos-text:        #21326A;
    --sos-text-soft:   #5A6E8C;
    --sos-text-muted:  #8B96AE;
    --sos-border:      rgba(33, 50, 106, 0.10);
    --sos-border-strong: rgba(33, 50, 106, 0.18);
    --sos-success:     #1FA76F;
    --sos-r-sm:        12px;
    --sos-r-md:        16px;
    --sos-r-lg:        20px;
    --sos-r-pill:      999px;
    --sos-elev-2:
        0 1px 2px rgba(33, 50, 106, 0.04),
        0 4px 8px rgba(33, 50, 106, 0.06),
        0 8px 16px rgba(33, 50, 106, 0.04);
    --sos-elev-3:
        0 1px 2px rgba(33, 50, 106, 0.04),
        0 4px 8px rgba(33, 50, 106, 0.06),
        0 12px 24px rgba(33, 50, 106, 0.08),
        0 24px 48px rgba(33, 50, 106, 0.06);
    --sos-ease:        cubic-bezier(0.4, 0, 0.2, 1);
}

.sos-simulateur-franchise,
.sos-simulateur-franchise * {
    box-sizing: border-box;
}

.sos-simulateur-franchise {
    font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--sos-text, #21326A);
}

/* Cartouche (repris de .sos-rdv-step) */
.sos-rdv-step {
    background: var(--sos-surface-1, #FFFFFF);
    border: 1px solid var(--sos-border, rgba(33, 50, 106, 0.10));
    border-radius: var(--sos-r-lg, 20px);
    box-shadow: var(--sos-elev-2);
    padding: 28px 24px;
}

.sos-rdv-step__title {
    margin: 0 0 8px;
    font-family: 'Outfit', 'Poppins', system-ui, sans-serif;
    font-size: 22px;
    font-weight: 900;
    color: var(--sos-text, #21326A);
}
/* Filet jaune sous les titres (DA standard). */
.sos-rdv-step__title::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin-top: 8px;
    background: var(--sos-yellow, #FFCC2B);
    border-radius: 2px;
}

/* Champ de saisie du combobox (repris de .sos-rdv-field__input, .sos-rdv-combo__input) */
.sos-rdv-combo__input {
    width: 100%;
    padding: 12px 14px;
    font: inherit;
    color: var(--sos-text, #21326A);
    background: var(--sos-bg, #F6F8FC);
    border: 1px solid var(--sos-border-strong, rgba(33, 50, 106, 0.18));
    border-radius: var(--sos-r-sm, 12px);
}
.sos-rdv-combo__input:focus {
    outline: none;
    border-color: var(--sos-blue, #21326A);
    box-shadow: 0 0 0 3px rgba(33, 50, 106, 0.10);
}

/* Combobox assureur (liste filtrable) */
.sos-rdv-combo {
    position: relative;
}
.sos-rdv-combo__list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 20;
    max-height: 260px;
    overflow-y: auto;
    margin: 0;
    padding: 4px;
    list-style: none;
    background: var(--sos-surface-1, #FFFFFF);
    border: 1px solid var(--sos-border-strong, rgba(33, 50, 106, 0.18));
    border-radius: var(--sos-r-md, 16px);
    box-shadow: var(--sos-elev-3);
}
.sos-rdv-combo__opt {
    padding: 10px 12px;
    border-radius: var(--sos-r-sm, 12px);
    cursor: pointer;
    color: var(--sos-text, #21326A);
    font-size: 15px;
}
.sos-rdv-combo__opt.is-active {
    background: var(--sos-blue-soft, #ECF0F8);
}
.sos-rdv-combo__opt.is-other {
    margin-top: 4px;
    border-top: 1px solid var(--sos-border, rgba(33, 50, 106, 0.10));
    font-weight: 600;
    color: var(--sos-blue, #21326A);
}

/* Encart de prise en charge */
.sos-rdv-encart {
    margin-top: 14px;
    padding: 14px 18px;
    border-radius: var(--sos-r-md, 16px);
    font-size: 14px;
    line-height: 1.5;
}
.sos-rdv-encart--green {
    background: var(--sos-success-bg, rgba(31, 167, 111, 0.10));
    color: var(--sos-success, #1FA76F);
    font-weight: 600;
}
.sos-rdv-encart--warning {
    background: var(--sos-warning-bg, rgba(232, 156, 43, 0.12));
    color: var(--sos-warning, #E89C2B);
    font-weight: 600;
}
.sos-rdv-encart--neutral {
    background: var(--sos-bg-deep, #EEF2F8);
    color: var(--sos-text-soft, #5A6E8C);
}

/* Réassurance « 0 € de franchise » : callout positif affiché systématiquement
   sous l'encart assureur, quelle que soit la compagnie. */
.sos-rdv-franchise {
    margin-top: 12px;
    padding: 14px 18px;
    border-radius: var(--sos-r-md, 16px);
    background: var(--sos-success-bg, rgba(31, 167, 111, 0.10));
    border: 1px solid var(--sos-success, #1FA76F);
}
.sos-rdv-franchise__title {
    margin: 0 0 4px;
    font-weight: 800;
    font-size: 15px;
    color: var(--sos-success, #1FA76F);
}
.sos-rdv-franchise__body {
    margin: 0 0 4px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--sos-text, #22326A);
}
.sos-rdv-franchise__punch {
    margin: 0;
    font-weight: 800;
    font-size: 16px;
    color: var(--sos-success, #1FA76F);
}
