/* ============================================================
   quote.css — Modele « Devis » (form/quote). Layout de page, onglets de
   programme, sections conditionnelles, consultation, boxes reassurance.
   Les champs/alertes/honeypot/bouton viennent de ../form-common.css (.fm-*).
   ============================================================ */

.qf {
    background: var(--color-background, #f9f9f9);
    padding: var(--space-xl, 48px) 0 var(--space-xxl, 72px);
}
.qf-container {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 var(--space-md, 20px);
}

/* --- En-tete --- */
.qf-header { text-align: center; margin-bottom: var(--space-lg, 32px); }
.qf-title {
    font-size: var(--font-title, 36px);
    line-height: 1.15;
    color: var(--color-dark, #1f2937);
    margin: 0 0 var(--space-sm, 12px);
    font-weight: 800;
}
.qf-intro {
    font-size: var(--font-base, 16px);
    line-height: 1.7;
    color: var(--color-text-light, #4b5563);
    margin: 0 auto;
    max-width: 640px;
}

/* --- Onglets Adulte / Adolescent --- */
.qf-programs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm, 12px);
    margin-bottom: var(--space-md, 20px);
}
.qf-program-btn {
    appearance: none;
    cursor: pointer;
    font: inherit;
    font-size: var(--font-base, 16px);
    font-weight: 700;
    padding: 14px 10px;
    border-radius: var(--radius-lg, 12px);
    border: 2px solid var(--color-light-grey, #e5e7eb);
    background: var(--color-white, #fff);
    color: var(--color-text-light, #4b5563);
    transition: all .15s ease;
}
.qf-program-btn:hover { border-color: var(--color-primary, #3b82f6); color: var(--color-primary, #3b82f6); }
.qf-program-btn.is-active {
    background: var(--color-primary, #3b82f6);
    border-color: var(--color-primary, #3b82f6);
    color: #fff;
}

/* --- Carte formulaire --- */
.qf-card {
    background: var(--color-white, #fff);
    border: 1px solid var(--color-light-grey, #e5e7eb);
    border-radius: var(--radius-xl, 20px);
    box-shadow: var(--shadow-lg, 0 10px 30px rgba(0,0,0,.12));
    padding: var(--space-xl, 48px);
}
.qf-alert { margin-bottom: var(--space-lg, 32px); }

/* --- Sections conditionnelles : pilotees par [data-program] du <main> --- */
.qf-section { display: none; }
.qf[data-program="adult"] .qf-section[data-for="adult"],
.qf[data-program="teen"]  .qf-section[data-for="teen"] { display: grid; gap: var(--space-md, 20px); }
.qf-section + .qf-section { margin-top: var(--space-lg, 32px); }

.qf-h2 {
    font-size: var(--font-large, 20px);
    font-weight: 700;
    color: var(--color-dark, #1f2937);
    margin: 0 0 var(--space-xs, 8px);
    padding-bottom: var(--space-xs, 8px);
    border-bottom: 2px solid var(--color-primary-light, #eff6ff);
}

/* --- Consultation (bloc revele par le select Oui/Non) --- */
.qf-consult {
    background: var(--color-primary-light, #eff6ff);
    border-radius: var(--radius-md, 8px);
    padding: var(--space-md, 20px);
}
.qf-consult[hidden] { display: none; }
.qf-date-note {
    margin-top: var(--space-xxs, 4px);
    font-size: 13px;
    color: var(--color-text-light, #4b5563);
}

.qf-submit { justify-self: center; margin-top: var(--space-md, 20px); }

/* --- Boxes reassurance --- */
.qf-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-md, 20px);
    margin-top: var(--space-xl, 48px);
}
.qf-trust-item {
    background: var(--color-white, #fff);
    border: 1px solid var(--color-light-grey, #e5e7eb);
    border-radius: var(--radius-lg, 12px);
    box-shadow: var(--shadow-sm, 0 2px 6px rgba(0,0,0,.05));
    padding: var(--space-lg, 32px) var(--space-md, 20px);
    text-align: center;
}
.qf-trust-ic {
    width: 60px; height: 60px;
    margin: 0 auto var(--space-sm, 12px);
    display: grid; place-items: center;
    border-radius: 50%;
    background: var(--color-primary, #3b82f6);
    color: #fff;
}
.qf-trust-item h3 {
    font-size: var(--font-base, 16px);
    font-weight: 600;
    color: var(--color-dark, #1f2937);
    line-height: 1.5;
    margin: 0;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .qf-card { padding: var(--space-lg, 32px) var(--space-md, 20px); }
    .qf-title { font-size: 28px; }
    .qf-trust { grid-template-columns: 1fr; }
}
