/* Design repris des tokens de dbl-auto-evaluation (eval.css), préfixe dbta- propre à ce plugin. */
.dbta{
    --g:#1abf7e; --gd:#0f7c5a; --pale:#e8f5ef; --ink:#1a202c; --gray:#718096; --border:#e2f5ec;
    font-family: inherit;
}
.dbta *, .dbta *::before, .dbta *::after{ box-sizing: border-box; }

.dbta-eyebrow{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.14em; color:var(--g); text-transform:uppercase; margin-bottom:8px; }
.dbta-h1{ font-size:1.6rem; font-weight:800; margin:0 0 8px; color:var(--ink); }
.dbta-h2{ font-size:1.15rem; font-weight:800; margin:0 0 12px; color:var(--ink); }
.dbta-lead{ color:var(--gray); font-size:.92rem; max-width:56ch; margin:0 0 28px; line-height:1.6; }
.dbta-body-text{ font-size:.9rem; color:var(--gray); line-height:1.7; margin:0 0 18px; }

/* Grille du catalogue */
.dbta-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.dbta-card{
    border:1px solid var(--border); border-radius:18px; padding:22px;
    box-shadow:0 4px 20px rgba(0,0,0,.05); display:flex; flex-direction:column; gap:10px;
}
.dbta-subj-tag{
    align-self:flex-start; font-size:.68rem; font-weight:800; letter-spacing:.06em;
    padding:4px 10px; border-radius:100px; text-transform:uppercase;
}
.dbta-subj-math  { color:#1d5fc4; background:#eaf2fe; }
.dbta-subj-logic { color:#5636c2; background:#f1ecfe; }
.dbta-subj-phys  { color:#9a5c10; background:#fdf1e0; }
.dbta-subj-cult  { color:#b5343c; background:#fceaec; }
.dbta-card h3{ font-size:1.05rem; font-weight:800; margin:0; color:var(--ink); }
.dbta-desc{ font-size:.85rem; color:var(--gray); line-height:1.55; margin:0; }
.dbta-meta-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:auto; padding-top:4px; }
.dbta-pill{ font-size:.72rem; font-weight:700; color:var(--gd); background:var(--pale); padding:4px 10px; border-radius:100px; }
.dbta-price-row{ display:flex; align-items:baseline; gap:8px; font-size:.85rem; }
.dbta-price-row strong{ font-size:1.05rem; color:var(--ink); }
.dbta-price-row span{ color:var(--gray); font-size:.76rem; }

/* Boutons */
.dbta-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    border-radius:12px; font-weight:800; cursor:pointer; text-decoration:none;
    border:2px solid transparent; font-size:.92rem; padding:12px 18px; letter-spacing:.01em;
}
.dbta-btn-primary{ background:linear-gradient(135deg,var(--g),var(--gd)); color:#fff !important; box-shadow:0 4px 16px rgba(26,191,126,.35); }
.dbta-btn-secondary{ background:#fff; color:var(--ink) !important; border-color:var(--g); }
.dbta-btn-block{ width:100%; }
.dbta-btn-row{ display:flex; gap:12px; }
.dbta-btn-row .dbta-btn{ flex:1; }

/* Cartes formulaire (inscription / présentation / test) */
.dbta-form-card{ border:1px solid var(--border); border-radius:20px; padding:28px; box-shadow:0 8px 32px rgba(26,191,126,.09); }
.dbta-optional-note{
    background:#f7fbf9; border:1px dashed #b2dfc9; border-radius:10px; padding:9px 14px;
    font-size:.78rem; color:#4a5568; margin-bottom:20px;
}
.dbta-field-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:22px; }
.dbta-field label{ display:block; font-size:.78rem; font-weight:700; color:var(--ink); margin-bottom:6px; }
.dbta-field label .dbta-opt-note{ font-weight:400; color:var(--gray); text-transform:none; letter-spacing:0; }
.dbta-field input{
    width:100%; border:1.5px solid #e1e5ec; border-radius:10px; padding:10px 12px;
    font-size:.88rem; font-family:inherit; color:var(--ink);
}
.dbta-field input:focus{ outline:none; border-color:var(--g); }
.dbta-field input:disabled{ background:#f7f9fb; color:#9aa5b1; }

.dbta-access-choice{ display:flex; gap:10px; margin-bottom:16px; }
.dbta-access-choice label{
    flex:1; display:flex; align-items:center; gap:8px; border:1.5px solid #e1e5ec;
    border-radius:12px; padding:12px 14px; font-size:.86rem; font-weight:700; cursor:pointer;
    color:var(--gray);
}
.dbta-access-choice input{ accent-color:var(--g); }
.dbta-access-choice label.dbta-active{ border-color:var(--g); background:var(--pale); color:var(--ink); }

.dbta-access-panel{ display:none; border:1.5px solid var(--border); border-radius:14px; padding:16px; margin-bottom:20px; background:#fbfefc; }
.dbta-access-panel.dbta-on{ display:block; }
.dbta-stripe-mock{ border:1px solid #e1e5ec; border-radius:10px; padding:14px; background:#fff; }
.dbta-stripe-mock .dbta-row{ display:flex; gap:10px; margin-top:10px; }
.dbta-stripe-mock .dbta-row .dbta-field{ flex:1; }
.dbta-stripe-badge{
    display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;
    font-size:.7rem; color:#8792a2; letter-spacing:.02em; gap:8px; flex-wrap:wrap;
}
.dbta-stripe-badge b{ color:#635bff; font-weight:800; }
.dbta-mock-flag{
    font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
    color:#a0aec0; background:#f3f5f7; padding:3px 8px; border-radius:6px;
}
.dbta-redirect-note{ text-align:center; font-size:.76rem; color:var(--gray); margin-top:10px; }

/* Présentation */
/* Bloc de confirmation du test choisi (page Inscription) — distinct du
   récap en pills juste en dessous, pour que l'étudiant ne se trompe pas. */
.dbta-selected-block{ margin-bottom:16px; }
.dbta-selected-label{ font-size:.78rem; color:var(--gray); margin:0 0 4px; }
.dbta-selected-title{ font-size:1.05rem; font-weight:800; color:var(--ink); margin:0; line-height:1.5; }
.dbta-selected-title .dbta-selected-desc{ font-weight:400; color:var(--gray); font-size:.92rem; }

.dbta-recap-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.dbta-notice{
    color:#92400e; background:#fffbeb; border:1px solid #fcd34d; border-radius:10px;
    padding:12px 16px; margin-bottom:22px; font-size:.86rem; line-height:1.65;
}
.dbta-notice div + div{ margin-top:4px; }
.dbta-fine-note{ text-align:center; font-size:.78rem; color:var(--gray); margin-top:12px; }

/* QCM */
.dbta-qcm-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.dbta-qcm-head-right{ display:flex; align-items:center; gap:10px; }
.dbta-timer-badge{ font-size:.78rem; font-weight:800; color:#fff; background:linear-gradient(135deg,var(--g),var(--gd)); padding:6px 12px; border-radius:100px; }
.dbta-page-badge{ font-size:.78rem; font-weight:700; color:var(--gray); }
.dbta-progress-bar{ height:7px; background:var(--pale); border-radius:100px; overflow:hidden; margin-bottom:8px; }
.dbta-progress-fill{ height:100%; background:linear-gradient(90deg,var(--g),var(--gd)); border-radius:100px; }
.dbta-content-flag{ text-align:center; font-size:.72rem; color:#a0aec0; margin:0 0 20px; }

/* Bloc de 4 questions — grille de cartes (comme .quiz-questions-grid dans
   dbl-quiz : auto-fit/minmax assez large pour ne jamais écraser un énoncé
   long ; chaque question garde ses options en 1 colonne, jamais re-découpées
   en sous-grille — c'est ça qui rendait le rendu précédent "chargé"). */
.dbta-q-page-hidden{ display:none; }
.dbta-q-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(360px, 1fr));
    gap:18px;
    align-items:start;
    margin-bottom:8px;
}
.dbta-q-block{
    padding:20px; border:1px solid #e7ebee; border-radius:12px; background:#fff;
    box-shadow:0 1px 3px rgba(15,23,42,.04);
}
.dbta-q-num{ font-size:.7rem; font-weight:800; color:var(--g); letter-spacing:.06em; margin-bottom:6px; display:block; }
.dbta-q-text{ font-size:.95rem; font-weight:650; color:var(--ink); margin:0 0 14px; line-height:1.5; }
.dbta-opts{ display:flex; flex-direction:column; gap:4px; }
.dbta-opt{
    display:flex; align-items:flex-start; gap:10px; padding:9px 10px;
    border-radius:8px; font-size:.87rem; color:var(--ink); cursor:pointer;
    transition:background .12s ease;
}
.dbta-opt:hover{ background:var(--pale); }
.dbta-opt.dbta-sel{ background:#d8f5e9; }
.dbta-letter{
    flex-shrink:0; width:22px; height:22px; border-radius:50%; background:#f0f4f8;
    display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.72rem;
    margin-top:1px;
}
.dbta-opt.dbta-sel .dbta-letter{ background:var(--g); color:#fff; }
.dbta-qcm-foot{ text-align:center; margin-top:8px; }

/* Résultat */
.dbta-resultat-card{ text-align:center; }
.dbta-status-badge{ font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:4px 10px; border-radius:100px; }
.dbta-status-provisoire{ color:#92400e; background:#fffbeb; }
.dbta-status-certifie{ color:var(--gd); background:var(--pale); }
.dbta-score-block{ margin:24px 0; }
.dbta-score-num{ font-size:clamp(2.4rem,7vw,3.4rem); font-weight:900; color:var(--gd); line-height:1; }
.dbta-score-total{ font-size:1.2rem; font-weight:700; color:var(--gray); }
.dbta-score-mention{ font-size:1rem; font-weight:700; color:var(--ink); margin-top:6px; }
.dbta-dossier-box{
    margin-top:20px; padding:14px 16px; border-radius:12px; background:#f7fbf9;
    border:1px dashed #b2dfc9; font-size:.86rem; color:var(--ink); text-align:left;
}
.dbta-dossier-box p{ margin:8px 0 0; font-size:.78rem; color:var(--gray); }

/* Reconnexion : bouton + popup */
.dbta-inscription-foot{ margin-top:18px; text-align:center; }
.dbta-reco-trigger{ background:none; border:none; color:var(--gd); font-weight:700; font-size:.86rem; text-decoration:underline; cursor:pointer; padding:6px; }
.dbta-reco-trigger:hover, .dbta-reco-trigger:focus-visible{ color:#fff !important; }
.dbta-modal{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; }
.dbta-modal[hidden]{ display:none; }
.dbta-modal-backdrop{ position:absolute; inset:0; background:rgba(26,32,44,.45); }
.dbta-modal-panel{
    position:relative; background:#fff; border-radius:18px; padding:28px;
    width:min(92vw, 420px); box-shadow:0 24px 64px rgba(0,0,0,.25);
}
.dbta-modal-close{
    position:absolute; top:14px; right:14px; width:28px; height:28px; border-radius:50%;
    border:none; background:#f0f2f5; color:#4a5568; cursor:pointer; font-size:.8rem;
}
.dbta-field-spaced{ margin-bottom:14px; }

@media (max-width:720px){
    .dbta-grid, .dbta-field-grid{ grid-template-columns:1fr; }
    .dbta-btn-row{ flex-direction:column; }
}
