/* ALFA E-learning — portail apprenant. Reprend les variables du thème ALFA Base. */
.alfa-el-main { box-sizing: border-box; width: 100%; max-width: 760px; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem) 1rem 4rem; flex: 1; }
.alfa-el-main.is-wide { max-width: 1200px; }
.alfa-el-main h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.15; margin: .25rem 0 1rem; }
.alfa-el-topnav { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; align-items: center; justify-content: flex-end; font-size: .92rem; margin-bottom: 1rem; }
.alfa-el-topnav a, .alfa-el-topnav button { color: var(--wp--preset--color--muted, #55607a); text-decoration: none; font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.alfa-el-topnav a:hover, .alfa-el-topnav button:hover { color: var(--wp--preset--color--primary, #2a4bff); text-decoration: underline; }
.alfa-el-topnav form { margin: 0; }
.alfa-el-notice { padding: .85rem 1rem; border-radius: var(--wp--custom--radius--small, 8px); font-weight: 600; background: var(--wp--preset--color--surface, #f4f6fc); border-left: 4px solid var(--wp--preset--color--primary, #2a4bff); }
.alfa-el-notice.is-success { border-color: #1f8a4c; } .alfa-el-notice.is-error { border-color: #c62828; }
.alfa-el-meta { color: var(--wp--preset--color--muted, #55607a); font-size: .92rem; margin: .35rem 0; }
.alfa-el-help { color: var(--wp--preset--color--muted, #55607a); font-size: .85rem; margin-top: -.5rem; }
.alfa-el-crumb { font-size: .9rem; margin: 0; } .alfa-el-crumb a { color: var(--wp--preset--color--muted, #55607a); }

/* Formulaires */
.alfa-el-auth { max-width: 460px; margin: 0 auto; }
.alfa-el-form p { margin: 0 0 1rem; }
.alfa-el-form label { display: block; font-weight: 600; margin-bottom: .3rem; }
.alfa-el-form input[type="text"], .alfa-el-form input[type="email"], .alfa-el-form input[type="password"], .alfa-el-form input:not([type]), .alfa-el-form select, .alfa-el-main input.alfa-el-code {
	width: 100%; box-sizing: border-box; font: inherit; padding: .7rem .85rem; border: 1.5px solid var(--wp--preset--color--border, #e2e6f0);
	border-radius: var(--wp--custom--radius--small, 8px); background: var(--wp--preset--color--base, #fff); color: var(--wp--preset--color--contrast, #0e1430);
}
.alfa-el-form input:focus { outline: 3px solid color-mix(in srgb, var(--wp--preset--color--primary, #2a4bff) 30%, transparent); border-color: var(--wp--preset--color--primary, #2a4bff); }
.alfa-el-form input:disabled { opacity: .7; }
.alfa-el-form.is-inline { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.alfa-el-form.is-inline input { flex: 1 1 220px; width: auto; }
.alfa-el-main .alfa-el-code { text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.alfa-el-check label { display: flex; gap: .55rem; align-items: flex-start; font-weight: 400; }
.alfa-el-check input { margin-top: .3rem; }
.alfa-el-links { font-size: .92rem; text-align: center; }
.alfa-el-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 0 1rem; }
.alfa-el-btn2 { display: inline-block; padding: .6rem 1.1rem; border-radius: var(--wp--custom--radius--button, 999px); border: 1.5px solid currentColor; color: var(--wp--preset--color--primary, #2a4bff); font-weight: 700; text-decoration: none; background: none; font: inherit; cursor: pointer; }
.alfa-el-main .wp-element-button:disabled, .alfa-el-btn2:disabled { opacity: .45; cursor: not-allowed; }

/* Tableau de bord */
.alfa-el-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 1.5rem; margin: 1.5rem 0 2.5rem; }
.alfa-el-card { display: flex; flex-direction: column; overflow: hidden; background: var(--wp--custom--card--background, #fff); border: var(--wp--custom--card--border, 1px solid #e2e6f0); border-radius: var(--wp--custom--radius--medium, 16px); box-shadow: var(--wp--custom--card--shadow, none); }
.alfa-el-card.is-off { opacity: .65; }
.alfa-el-card-media { aspect-ratio: 16 / 9; background: var(--wp--preset--color--surface, #f4f6fc); overflow: hidden; }
.alfa-el-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.alfa-el-ph { display: block; height: 100%; background: radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--wp--preset--color--accent, #ffb547) 50%, transparent), transparent 45%), linear-gradient(135deg, var(--wp--preset--color--primary, #2a4bff), var(--wp--preset--color--secondary, #0b1b4d)); }
.alfa-el-card-body { padding: 1.25rem 1.4rem 1.4rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.alfa-el-card-body h2 { font-size: 1.25rem; margin: 0 0 .4rem; line-height: 1.25; }
.alfa-el-actions { margin: auto 0 0; padding-top: .6rem; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.alfa-el-bar { height: .55rem; border-radius: 999px; background: color-mix(in srgb, var(--wp--preset--color--primary, #2a4bff) 12%, transparent); overflow: hidden; }
.alfa-el-bar span { display: block; height: 100%; border-radius: inherit; background: var(--wp--preset--color--primary, #2a4bff); transition: width .6s ease; }
.alfa-el-codebox { padding: 1.25rem 1.4rem; border-radius: var(--wp--custom--radius--medium, 16px); background: var(--wp--preset--color--surface, #f4f6fc); }
.alfa-el-codebox h2 { font-size: 1.1rem; margin: 0 0 .75rem; }
.alfa-el-summary { margin: 1rem 0 1.5rem; }
.alfa-el-done { font-weight: 700; color: #1f8a4c; }

/* Sommaire */
.alfa-el-outline ol { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .2rem; }
.alfa-el-outline li > a, .alfa-el-outline li > span { display: flex; gap: .6rem; align-items: center; padding: .5rem .65rem; border-radius: var(--wp--custom--radius--small, 8px); text-decoration: none; color: var(--wp--preset--color--contrast, #0e1430); }
.alfa-el-outline li > a:hover { background: var(--wp--preset--color--surface, #f4f6fc); }
.alfa-el-outline li.is-current > a { background: color-mix(in srgb, var(--wp--preset--color--primary, #2a4bff) 12%, transparent); font-weight: 700; }
.alfa-el-outline li.is-locked > span { color: var(--wp--preset--color--muted, #55607a); opacity: .75; }
.alfa-el-chap { margin: 1rem 0 .35rem; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--muted, #55607a); }
.alfa-el-dot { flex: none; width: 1.1rem; height: 1.1rem; border-radius: 50%; border: 2px solid var(--wp--preset--color--border, #c9cfdd); box-sizing: border-box; }
.alfa-el-dot.is-done { background: #1f8a4c; border-color: #1f8a4c; box-shadow: inset 0 0 0 3px var(--wp--preset--color--base, #fff); }
.alfa-el-dot.is-open { border-color: var(--wp--preset--color--primary, #2a4bff); }
.alfa-el-dot.is-locked { border-style: dashed; }

/* Leçon */
.alfa-el-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.alfa-el-side { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow: auto; padding-right: .25rem; }
.alfa-el-side-title { font-weight: 800; margin: 0 0 .6rem; } .alfa-el-side-title a { color: inherit; text-decoration: none; }
.alfa-el-side .alfa-el-bar { margin-bottom: 1rem; }
.alfa-el-lesson { min-width: 0; max-width: 760px; }
.alfa-el-bloc { margin: 0 0 1.75rem; }
.alfa-el-bloc figure { margin: 0; } .alfa-el-bloc img { max-width: 100%; height: auto; border-radius: var(--wp--custom--radius--small, 8px); }
.alfa-el-bloc figcaption, .alfa-el-caption { font-size: .88rem; color: var(--wp--preset--color--muted, #55607a); margin-top: .4rem; }
.alfa-el-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--wp--custom--radius--medium, 16px); overflow: hidden; background: #000; }
.alfa-el-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.alfa-el-bloc video { width: 100%; border-radius: var(--wp--custom--radius--medium, 16px); background: #000; }
.alfa-el-bloc audio { width: 100%; }
.alfa-el-file, .alfa-el-link { display: flex; gap: .85rem; align-items: center; padding: .9rem 1.1rem; border: 1px solid var(--wp--preset--color--border, #e2e6f0); border-radius: var(--wp--custom--radius--small, 8px); text-decoration: none; color: var(--wp--preset--color--contrast, #0e1430); background: var(--wp--preset--color--base, #fff); }
.alfa-el-file:hover, .alfa-el-link:hover { border-color: var(--wp--preset--color--primary, #2a4bff); }
.alfa-el-link { flex-direction: column; align-items: flex-start; gap: .2rem; } .alfa-el-link span { color: var(--wp--preset--color--muted, #55607a); font-size: .92rem; }
.alfa-el-ext { flex: none; padding: .2rem .45rem; border-radius: 6px; font-size: .72rem; font-weight: 800; background: var(--wp--preset--color--secondary, #0b1b4d); color: #fff; }
.alfa-el-size { margin-left: auto; font-size: .85rem; color: var(--wp--preset--color--muted, #55607a); }
.alfa-el-box { padding: 1rem 1.25rem; border-radius: var(--wp--custom--radius--small, 8px); border-left: 5px solid var(--wp--preset--color--primary, #2a4bff); background: color-mix(in srgb, var(--wp--preset--color--primary, #2a4bff) 7%, transparent); }
.alfa-el-box.is-astuce { border-color: #1f8a4c; background: color-mix(in srgb, #1f8a4c 8%, transparent); }
.alfa-el-box.is-attention { border-color: #c62828; background: color-mix(in srgb, #c62828 7%, transparent); }
.alfa-el-box.is-important { border-color: #b26a00; background: color-mix(in srgb, #f6b400 14%, transparent); }
.alfa-el-box-title { font-weight: 800; margin: 0 0 .4rem; }
.alfa-el-box p:last-child { margin-bottom: 0; }
.alfa-el-bloc blockquote { margin: 0; padding: .25rem 0 .25rem 1rem; border-left: 3px solid var(--wp--preset--color--border, #e2e6f0); color: var(--wp--preset--color--muted, #55607a); font-style: italic; }

/* Quiz */
.alfa-el-quiz { padding: clamp(1rem, 3vw, 1.75rem); border-radius: var(--wp--custom--radius--medium, 16px); background: var(--wp--preset--color--surface, #f4f6fc); scroll-margin-top: 2rem; }
.alfa-el-quiz h2 { margin-top: 0; font-size: 1.35rem; }
.alfa-el-quiz-rules { color: var(--wp--preset--color--muted, #55607a); font-size: .9rem; }
.alfa-el-question { border: 0; padding: 0; margin: 0 0 1.4rem; }
.alfa-el-question legend { font-weight: 700; margin-bottom: .6rem; line-height: 1.4; }
.alfa-el-question small { font-weight: 400; color: var(--wp--preset--color--muted, #55607a); }
.alfa-el-qn { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--wp--preset--color--primary, #2a4bff); color: #fff; font-size: .85rem; margin-right: .3rem; }
.alfa-el-question label { display: flex; gap: .65rem; align-items: flex-start; padding: .65rem .85rem; margin-bottom: .4rem; border-radius: var(--wp--custom--radius--small, 8px); background: var(--wp--preset--color--base, #fff); border: 1.5px solid var(--wp--preset--color--border, #e2e6f0); cursor: pointer; }
.alfa-el-question label:has(input:checked) { border-color: var(--wp--preset--color--primary, #2a4bff); background: color-mix(in srgb, var(--wp--preset--color--primary, #2a4bff) 6%, var(--wp--preset--color--base, #fff)); }
.alfa-el-question input { margin-top: .25rem; flex: none; }
.alfa-el-quiz-result { padding: .9rem 1.1rem; border-radius: var(--wp--custom--radius--small, 8px); margin-bottom: 1rem; background: var(--wp--preset--color--base, #fff); border-left: 5px solid #c62828; }
.alfa-el-quiz-result.is-ok { border-color: #1f8a4c; }
.alfa-el-correction { padding-left: 1.2rem; }
.alfa-el-correction > li { margin-bottom: 1rem; }
.alfa-el-correction .alfa-el-q { font-weight: 700; margin: 0 0 .35rem; }
.alfa-el-correction > li.is-ok .alfa-el-q::after { content: " ✓"; color: #1f8a4c; } .alfa-el-correction > li.is-ko .alfa-el-q::after { content: " ✗"; color: #c62828; }
.alfa-el-correction ul { margin: 0; padding-left: 1rem; } .alfa-el-correction ul li.is-right { color: #1f8a4c; font-weight: 600; } .alfa-el-correction ul li.is-wrong { color: #c62828; text-decoration: line-through; }
.alfa-el-tag { font-size: .75rem; padding: .05rem .4rem; border-radius: 4px; background: color-mix(in srgb, #1f8a4c 15%, transparent); text-decoration: none; }
.alfa-el-expl { margin: .4rem 0 0; padding: .5rem .75rem; border-radius: 6px; background: var(--wp--preset--color--base, #fff); font-size: .92rem; }
.alfa-el-lesson-foot { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--border, #e2e6f0); }
.alfa-el-pager { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; font-weight: 600; }
.alfa-el-pager a { text-decoration: none; } .alfa-el-pager .is-next { margin-left: auto; text-align: right; }
.alfa-el-dl { display: grid; gap: .5rem; } .alfa-el-dl div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--wp--preset--color--border, #e2e6f0); padding: .4rem 0; } .alfa-el-dl dt { font-weight: 700; } .alfa-el-dl dd { margin: 0; text-align: right; }
@media (max-width: 900px) {
	.alfa-el-layout { grid-template-columns: 1fr; }
	.alfa-el-side { position: static; max-height: none; order: 2; }
}

/* Catalogue et fiche publique */
.alfa-el-price { margin: 0; font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--wp--preset--color--primary, #2a4bff); }
.alfa-el-price.is-big { font-size: 1.6rem; letter-spacing: 0; text-transform: none; color: var(--wp--preset--color--contrast, #0e1430); margin-bottom: .75rem; }
.alfa-el-catalogue h3 { font-size: 1.2rem; margin: .2rem 0 .3rem; line-height: 1.25; }
.alfa-el-catalogue h3 a { color: inherit; text-decoration: none; } .alfa-el-catalogue h3 a:hover { color: var(--wp--preset--color--primary, #2a4bff); }
.alfa-el-catalogue p { margin: 0; }
.alfa-el-sheet { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 2.5rem; align-items: start; margin-top: 2rem; }
.alfa-el-sheet-main { grid-column: 1; grid-row: 1; min-width: 0; }
.alfa-el-buy { grid-column: 2; grid-row: 1; position: sticky; top: 1.5rem; padding: 1.5rem; border-radius: var(--wp--custom--radius--medium, 16px); background: var(--wp--custom--card--background, #fff); border: var(--wp--custom--card--border, 1px solid #e2e6f0); box-shadow: var(--wp--custom--card--shadow, 0 10px 30px rgba(14, 20, 48, .08)); }
.alfa-el-buy p { margin: 0 0 .75rem; } .alfa-el-buy form { margin: 0 0 .75rem; }
.alfa-el-buy .wp-element-button { width: 100%; text-align: center; box-sizing: border-box; }
.alfa-el-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: .75rem; margin: 0 0 2rem; }
.alfa-el-facts div { padding: .9rem 1rem; border-radius: var(--wp--custom--radius--small, 8px); background: var(--wp--preset--color--surface, #f4f6fc); }
.alfa-el-facts dt { font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--wp--preset--color--muted, #55607a); margin-bottom: .25rem; }
.alfa-el-facts dd { margin: 0; font-weight: 600; }
.alfa-el-programme h3 { font-size: 1.05rem; margin: 1.25rem 0 .5rem; }
.alfa-el-programme ol { margin: 0; padding-left: 1.3rem; display: grid; gap: .35rem; }
@media (max-width: 900px) {
	.alfa-el-sheet { grid-template-columns: 1fr; }
	.alfa-el-buy { grid-column: 1; grid-row: auto; position: static; }
	.alfa-el-sheet-main { grid-row: auto; }
}
.alfa-ec-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; } /* Champ piège à robots : invisible pour les personnes. */

/* Offres : parcours et pass */
.alfa-el-offres { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 1.25rem; }
.alfa-el-offre { display: flex; flex-direction: column; gap: .5rem; padding: 1.4rem 1.4rem 1.5rem; border: 1px solid var(--wp--preset--color--border, #e2e6f0); border-radius: var(--wp--custom--radius--medium, 14px); background: var(--wp--preset--color--base, #fff); }
.alfa-el-offre.is-pass { border: 2px solid var(--wp--preset--color--primary, #2a4bff); box-shadow: 0 12px 34px rgba(15, 23, 42, .08); }
.alfa-el-offre h3 { margin: 0; }
.alfa-el-offre p { margin: 0; }
.alfa-el-offre-type { font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--custom--primary-text, var(--wp--preset--color--primary, #2a4bff)); }
.alfa-el-offre-prix strong { font-size: 1.8rem; line-height: 1.1; }
.alfa-el-offre-valeur { color: var(--wp--preset--color--muted, #55607a); font-size: .9rem; margin: .15rem 0 0; }
.alfa-el-upsell .alfa-el-offre-valeur { font-size: inherit; }
.alfa-el-offre ul { margin: .25rem 0 .5rem; padding-left: 1.1rem; }
.alfa-el-offre .wp-element-button { margin-top: auto; }
.alfa-el-offre > p:last-child { margin-top: auto; padding-top: .5rem; }
.alfa-el-upsell { margin-top: 1rem; padding: .9rem 1rem; border-radius: var(--wp--custom--radius--small, 8px); background: color-mix(in srgb, var(--wp--preset--color--primary, #2a4bff) 7%, var(--wp--preset--color--base, #fff)); display: flex; flex-direction: column; gap: .6rem; font-size: .93rem; }
.alfa-el-upsell p { margin: 0; }
.alfa-el-upsell-k { font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

/* Accord avant paiement (accès immédiat, renonciation à la rétractation) */
.alfa-el-buy { margin: .5rem 0 0; }
.alfa-el-consent { margin: 0 0 .6rem; font-size: .9rem; line-height: 1.45; }
.alfa-el-consent label { display: flex; gap: .55rem; align-items: flex-start; cursor: pointer; }
.alfa-el-consent input { flex: none; width: 1.15rem; height: 1.15rem; margin-top: .12rem; accent-color: var(--wp--preset--color--primary, #2a4bff); }

/* Ajouter une formation (Mes formations). */
.alfa-el-more { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--wp--preset--color--border, #e2e6f0); scroll-margin-top: 6rem; }
.alfa-el-more > h2 { margin-top: 0; }
.alfa-el-more .alfa-el-offres { margin-bottom: 2rem; }
