/* Couleurs espagnoles confinées à l'écran Espagnol du thème existant. */
.spx {color:#243147;max-width:1040px;margin:0 auto}
.spx *{box-sizing:border-box}
.spx-hero{background:linear-gradient(115deg,#a82e42,#d1444c);border:1px solid #f2b9a2;border-radius:22px;padding:22px 20px;color:#fff;margin:4px 0 17px;position:relative;overflow:hidden}
.spx-hero:after{content:"";position:absolute;width:170px;height:170px;border:24px solid #ffd75d25;border-radius:50%;right:-66px;top:-80px;pointer-events:none}
.spx-hero h2{font-weight:900;font-size:clamp(23px,5vw,32px);color:#fff;line-height:1.2;margin:10px 0 8px}
.spx-hero p{font-size:14px;color:#fff0e8;max-width:590px;line-height:1.5;margin:0}
.spx-flag{display:inline-block;vertical-align:middle;width:33px;height:22px;background:linear-gradient(to bottom,#c72939 0 25%,#ffdc54 25% 75%,#c72939 75%);border-radius:3px;border:1px solid #fff7;margin-right:9px}
.spx-kicker{font-size:10px;font-weight:900;letter-spacing:.11em;color:#ffe8ab}
.spx-back{border:0!important;box-shadow:none!important;background:transparent!important;color:#a42c44!important;font-size:13px;font-weight:850;padding:9px 0 15px;cursor:pointer}
.spx-subheading{font-size:19px;font-weight:850;color:#253653;margin:12px 0}
.spx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spx-card{display:block;width:100%;background:#fff;border:1px solid #eadcdd;border-radius:18px;text-align:left;padding:16px;min-height:150px;cursor:pointer;color:#283449;box-shadow:0 3px 10px #1b24400a}
.spx-card strong{display:block;font-size:16px;color:#802d45;line-height:1.35}
.spx-card p{font-size:13px;line-height:1.5;color:#647085;margin:8px 0}
.spx-card small{color:#ab344d;font-weight:850;font-size:12px}
.spx-icon{display:grid;place-items:center;background:#fff1be;border-radius:12px;width:44px;height:44px;font-weight:900;font-size:23px;color:#a32b41;margin-bottom:10px}
.spx-note{font-size:12px;color:#718097;margin:16px 0}
.spx-search{background:#fff;border:1px solid #e6c3c8;border-radius:13px;padding:11px 14px;display:flex;align-items:center;gap:10px;color:#b33a52}
.spx-search input{color:#23324b;background:transparent;outline:none;border:0;width:100%;min-height:28px;font-size:14px}
.spx-results{background:#fffaf1;border:1px solid #f2ddbb;border-radius:12px;padding:12px;margin:8px 0 13px}
.spx-results[hidden]{display:none}
.spx-results p{font-size:13px;color:#4c5262;margin:5px 0}
.spx-hit{display:block;width:100%;text-align:left;border:0;background:#fff;color:#742941;border-radius:10px;padding:12px;margin:6px 0;cursor:pointer}
.spx-hit strong,.spx-hit small{display:block}
.spx-hit small{color:#667388;font-size:12px;margin-top:4px}
.spx-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid #e7dce0;border-radius:14px;padding:14px;margin:9px 0;color:#243147;cursor:pointer}
.spx-row>span:nth-child(2){min-width:0;flex:1}
.spx-row strong{color:#7c3044;font-size:15px;display:block;line-height:1.35}
.spx-row small{font-size:12px;color:#617087;display:block;margin-top:5px;line-height:1.5}
.spx-chip{min-width:38px;width:38px;height:38px;display:grid;place-items:center;background:#fff0c2;color:#9b3546;font-weight:900;border-radius:11px;font-size:17px}
.spx-panel{background:#fff;border:1px solid #e7e2ea;border-radius:17px;padding:17px;margin:12px 0}
.spx-panel h3{font-size:18px;color:#752d45;font-weight:850;margin:0 0 10px}
.spx-panel p{font-size:14px;line-height:1.62;color:#48566a}
.spx-label{display:inline-block;background:#fff0be;color:#802d43;font-size:11px;font-weight:900;letter-spacing:.045em;border-radius:20px;padding:6px 9px;margin-bottom:10px}
.spx-example{border-left:4px solid #e5b72f;background:#fff5d5;color:#553b44;padding:12px;border-radius:0 11px 11px 0;font-size:14px;line-height:1.6}
.spx-words{border-collapse:collapse;width:100%;font-size:13px}
.spx-words td,.spx-words th{padding:10px 5px;border-bottom:1px solid #f0e9ed;text-align:left;line-height:1.4}
.spx-words td:first-child{color:#8d2943;font-weight:750}
.spx-option{background:#fff;border:1px solid #dedde8;border-radius:12px;width:100%;text-align:left;margin:7px 0;padding:12px;color:#25344c;font-size:14px;cursor:pointer}
.spx-option.selected{background:#fff6de;border:2px solid #b9364f;padding:11px}
.spx-option:disabled{cursor:default;opacity:.88}
.spx-button{border:0;border-radius:11px;background:#b7334b;color:#fff;font-weight:850;font-size:13px;padding:12px 15px;margin:6px 8px 6px 0;cursor:pointer}
.spx-button.subtle{background:#fff0ba;color:#793145}
.spx-button:disabled{opacity:.45;cursor:default}
.spx-button[hidden]{display:none}
.spx-feedback{background:#fff7e5;border:1px solid #f1dab1;border-radius:13px;padding:13px;margin:14px 0;color:#4a4350}
.spx-feedback strong{color:#8a2d45}
.spx-feedback p{margin:5px 0}
@media(max-width:520px){.spx-grid{grid-template-columns:1fr}.spx-card{min-height:0;display:grid;grid-template-columns:44px 1fr;gap:4px 11px;padding:13px}.spx-card .spx-icon{grid-row:span 3;margin:0}.spx-card p{margin:0}.spx-card small{grid-column:2}.spx-hero{padding:20px 16px}}

/* Aide aux consignes : mêmes cartes que le reste du classeur, espagnol seulement. */
.spx-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.spx-guide{background:#fffaf0;border:1px solid #f1e1c7;border-radius:12px;padding:12px}
.spx-guide strong{display:block;font-size:14px;color:#9b3047;line-height:1.5}
.spx-guide-fr{font-size:13px;font-weight:800;color:#364256;margin-top:5px}
.spx-guide small{display:block;font-size:12px;color:#5d6c80;line-height:1.55;margin-top:6px}
.spx-instruction{padding:14px;margin:0 0 18px;border:1px solid #f0d6a3;border-radius:14px;background:#fff9e8}
.spx-instruction .spx-label{margin-bottom:6px}
.spx-instruction-es{font-weight:900;color:#942e43!important;font-size:16px!important;margin:5px 0 7px}
.spx-instruction-fr{font-size:14px!important;color:#2f4159!important;margin:6px 0 10px}
.spx-help-button{border:1px solid #e6ca8d;border-radius:10px;background:#fff;color:#8a3348;padding:10px;font-size:12px;font-weight:850;cursor:pointer}
.spx-action{margin:10px 0 0!important;background:#fff;border-left:3px solid #e6b937;border-radius:0 8px 8px 0;padding:10px;color:#3f5064!important;font-size:13px!important}
.spx-action[hidden]{display:none}
@media(max-width:520px){.spx-guide-list{grid-template-columns:1fr}}

/* Transcriptions et explications des vrais énoncés ENT : propres à Espagnol. */
.spx-ent-list{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0}
.spx-ent-item{border:1px solid #e9dfd8;border-radius:13px;background:#fffaf4;padding:13px 14px}
.spx-ent-item .spx-ent-spanish{font-size:15px;font-weight:850;color:#8d2a43;line-height:1.55;margin:0 0 6px}
.spx-ent-item .spx-ent-french{font-size:14px;line-height:1.55;color:#233753;margin:0 0 7px}
.spx-ent-item .spx-ent-action{background:#fff;border-left:3px solid #e7bd39;border-radius:0 7px 7px 0;padding:8px;font-size:13px;line-height:1.55;color:#45576a;margin:0 0 7px}
.spx-ent-item .spx-ent-source{display:block;font-size:11px;line-height:1.45;color:#677487}
.spx-ent-disclaimer{font-size:12px!important;line-height:1.5;color:#6d7890!important}

/* Photo manuscrite originale en pièce jointe sécurisée : style espagnol local. */
.tim-letter-panel{border-color:#efd9aa}
.tim-letter-panel .tim-letter-frame{border:1px solid #eedfca;border-radius:13px;background:#fffaf0;padding:12px;margin:12px 0}
.tim-letter-original{display:block;max-width:100%;width:auto;height:auto;max-height:1100px;object-fit:contain;margin:0 auto 13px;border-radius:8px;border:1px solid #ddd2cc;background:white}
.tim-letter-status{font-size:13px;color:#54647a;line-height:1.5}
.tim-letter-preview{display:flex;flex-direction:column;align-items:center}
.tim-letter-download{display:inline-flex;text-decoration:none!important}
.tim-letter-upload{padding:12px;border:1px solid #e6dcce;border-radius:12px;background:#fffdf7}
.tim-letter-upload summary{cursor:pointer;color:#833246;font-weight:850;font-size:14px}
.tim-letter-upload input[type=file]{width:100%;max-width:100%;display:block;background:#fff;color:#25314b;font-size:13px;margin:12px 0;padding:9px;border:1px solid #d9dce5;border-radius:9px}
.tim-letter-upload .spx-button:disabled{opacity:.4;cursor:default}

/* Atelier de lecture de la lettre manuscrite, visible uniquement dans Espagnol L05. */
.tim-letter-workshop{margin-top:18px;border-top:1px solid #eadac6;padding-top:15px}
.tim-letter-workshop h3{color:#8e3345;margin:2px 0 9px;font-size:18px}
.tim-letter-workshop>p{font-size:13px;line-height:1.55;color:#536278}
.tim-letter-lesson{background:#fffdf7;border:1px solid #ecddc6;border-radius:12px;margin:10px 0;padding:10px 12px;color:#273b55}
.tim-letter-lesson summary{font-weight:850;font-size:14px;color:#842e44;cursor:pointer;padding:4px 0}
.tim-letter-lesson .tim-letter-es{font-size:14px;color:#83334a;font-weight:750;line-height:1.5}
.tim-letter-lesson .tim-letter-fr{font-size:13px;color:#2f4660;line-height:1.55}
.tim-letter-lesson .tim-letter-why{border-left:3px solid #e5bd3d;padding:8px 10px;border-radius:0 8px 8px 0;background:#fff5dc;font-size:13px;color:#48566b;line-height:1.5}
.tim-letter-method,.tim-letter-handwriting{padding:13px 14px;border:1px solid #ebd7d1;border-radius:14px;background:#fffaf4;margin-top:13px}
.tim-letter-handwriting{background:#fffdf4;border-color:#efdaa5}
.tim-letter-method h4,.tim-letter-handwriting h4{margin:0 0 11px;color:#823046;font-size:15px}
.tim-letter-method p,.tim-letter-handwriting p{margin:7px 0;color:#435266;font-size:13px;line-height:1.6}
.tim-letter-disclaimer{font-size:12px!important;color:#6f7d8d!important}

/* Bouton d'écoute des mots/phrases espagnoles, uniquement dans la matière Espagnol. */
.spx-listen{display:inline-flex!important;align-items:center;justify-content:center;border:1px solid #e9d9a9!important;border-radius:10px!important;background:#fff2c9!important;color:#84354a!important;font-size:15px!important;min-height:35px;min-width:40px;padding:5px 8px!important;cursor:pointer!important;vertical-align:middle;margin:3px 0 3px 5px;line-height:1.2!important;box-shadow:none!important}
.spx-listen:focus-visible{outline:3px solid #b9304c!important;outline-offset:2px}
.spx-listen:hover{background:#ffe8a3!important}
.spx-words td:first-child{vertical-align:middle}
.spx-words .spx-listen{float:right}

/* Inventaire lisible des cours, exercices ENT recensés et entraînements indépendants. */
.spx-metrics{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:11px 0 2px;color:#5c667a;font-size:11.5px;line-height:1.4;text-align:left}
.spx-metrics>span{display:block;padding-left:11px;position:relative;font-weight:650}
.spx-metrics>span:before{content:"•";position:absolute;left:0;color:#b13d50}
.spx-card .spx-metrics{border-top:1px solid #f0e6e5;padding-top:9px;font-size:11.5px}
.spx-card .spx-metrics>span:last-child,.spx-row .spx-metrics>span:last-child{color:#93354b;font-weight:850}
.spx-chapter-overview{background:#fffaf0;border:1px solid #ebdcc3;border-radius:11px;padding:11px 13px;color:#6f3b4b;font-size:12px;line-height:1.6;margin:5px 0 15px}
.spx-chapter-overview .spx-metrics{margin:0}
.spx-lesson-item{background:#fff;border:1px solid #e7dce0;border-radius:15px;margin:10px 0;overflow:hidden}
.spx-lesson-item>.spx-row{border:0;margin:0;border-radius:0}
.spx-lesson-item .spx-metrics{border-top:1px solid #f0e4e3;padding-top:7px;margin-top:9px}
.spx-easy-shortcut{display:block!important;width:100%;border:0!important;border-top:1px solid #efd79b!important;background:#fff4d8!important;text-align:left!important;color:#91344b!important;padding:12px 17px!important;font-size:13px!important;font-weight:900!important;cursor:pointer!important;border-radius:0!important;line-height:1.4!important}
.spx-easy-shortcut:hover{background:#ffe8ba!important}
.spx-easy-lesson{border:2px solid #efcc6b;border-radius:16px;background:#fffaf0;overflow:hidden;margin:9px 0 16px;color:#25314a}
.spx-easy-lesson summary{cursor:pointer;background:#fff0bc;color:#7d3045;font-size:15px;font-weight:900;padding:16px 18px;list-style:revert}
.spx-easy-lesson summary span{display:block;font-size:12px;font-weight:600;color:#6d4550;padding:5px 0 0 18px}
.spx-easy-content{padding:15px 19px 18px}
.spx-easy-content h3{margin:0 0 8px;color:#783049;font-size:18px}
.spx-easy-content h4{font-size:14px;margin:14px 0 8px;color:#77364b}
.spx-easy-content p,.spx-easy-content li{font-size:14px;color:#405169;line-height:1.65}
.spx-easy-content ol{margin:7px 0 14px;padding-left:22px}
.spx-easy-content li{margin:7px 0}
@media(max-width:520px){.spx-card>.spx-metrics{grid-column:2;align-items:flex-start;margin:5px 0 0;padding-top:7px}.spx-card{min-height:auto}.spx-lesson-item .spx-row{padding:12px}.spx-easy-shortcut{padding:12px!important}}

/* Les initiales ont été remplacées par des pictogrammes vectoriels cohérents. */
.spx-icon .spx-topic-svg{display:block;width:27px;height:27px;color:#a32b41;flex:none}
.spx-card:hover .spx-topic-svg{transform:scale(1.07);transition:transform .15s ease}
@media (prefers-reduced-motion:reduce){.spx-card:hover .spx-topic-svg{transform:none;transition:none}}

/* Sous-leçons : cinq accès directs clairs et indépendants, sans intitulé répété. */
.spx-lesson-intro{display:flex;align-items:flex-start;gap:14px;padding:16px 17px 10px;background:#fff}
.spx-lesson-copy{flex:1;min-width:0}
.spx-lesson-copy h4{margin:1px 0 7px;font-size:17px;line-height:1.35;color:#812f47;font-weight:850}
.spx-lesson-copy p{margin:0;color:#586b84;font-size:13.5px;line-height:1.55}
.spx-lesson-intro .spx-chip{margin-top:4px;flex-shrink:0}
.spx-lesson-intro .spx-metrics{border-top:1px solid #f0e4e3;padding-top:8px;margin:10px 0 0}
.spx-lesson-intro .spx-metrics>span{font-size:12px}
.spx-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 14px 15px;border-top:1px solid #f1e5e5}
.spx-quick-link{display:flex!important;align-items:center;justify-content:center;min-height:44px;padding:9px 10px!important;border-radius:11px!important;border:1px solid #ebd8dc!important;background:#fff8f5!important;color:#8e3049!important;font-weight:800!important;font-size:12.5px!important;line-height:1.35!important;text-align:center!important;cursor:pointer!important;box-shadow:none!important;white-space:normal}
.spx-quick-link.spx-quick-easy{background:#fff0bd!important;border-color:#efcf77!important;color:#793344!important}
.spx-quick-link:hover{background:#ffe8df!important}
.spx-quick-link.spx-quick-easy:hover{background:#ffe39d!important}
.spx-quick-link:focus-visible{outline:3px solid #aa3150!important;outline-offset:2px}
.spx-panel,.spx-ent-translations,.spx-easy-lesson{scroll-margin-top:130px}
@media(max-width:520px){.spx-lesson-intro{padding:14px 12px 11px;gap:11px}.spx-lesson-copy h4{font-size:16px}.spx-lesson-intro .spx-metrics>span{font-size:11.5px}.spx-quick-links{padding:11px 12px 14px;gap:8px}.spx-quick-link{font-size:12px!important;min-height:45px}}

/* Trois niveaux d'enseignement bien séparés : cours ENT, leçon simplifiée, aide ciblée. */
.spx-quick-link.spx-quick-help{background:#eef5ff!important;border-color:#cbdcf3!important;color:#31547e!important}
.spx-quick-link.spx-quick-help:hover{background:#e0eeff!important}
.spx-practice-page,.spx-simplified-page,.spx-personal-help{scroll-margin-top:118px}
.spx-simplified-page h4{font-size:15px;color:#753447;margin:16px 0 9px}
.spx-simple-steps{margin:10px 0 16px;padding-left:23px}
.spx-simple-steps li{font-size:14px;color:#41536e;line-height:1.65;padding-left:4px;margin:9px 0}
.spx-sibling-nav{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.spx-sibling-nav .spx-button{margin:2px 0;flex:1;min-width:135px}
.spx-help-choices{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0 17px}
.spx-help-prompt{display:block;width:100%;text-align:left;background:#fff4df!important;color:#7c3046!important;border:1px solid #efd4a3!important;border-radius:11px!important;padding:13px!important;font-size:14px!important;font-weight:750!important;line-height:1.5!important;cursor:pointer!important}
.spx-help-prompt:hover{background:#ffebc3!important}
.spx-help-label{font-size:14px;color:#293a57;font-weight:850;display:block;margin:8px 0}
#spx-help-input{display:block;min-height:100px;width:100%;box-sizing:border-box;background:white!important;border:1px solid #d8d8e0!important;border-radius:12px!important;padding:12px!important;color:#253149!important;line-height:1.55!important;font-size:15px!important;resize:vertical}
#spx-help-input:focus-visible{outline:3px solid #edc852!important;outline-offset:1px}
.spx-help-answer{margin-top:12px;padding:15px;background:#f2f8ff;border-left:4px solid #557ac1;border-radius:0 12px 12px 0;color:#293a53;font-size:14px;line-height:1.65}
.spx-help-answer strong{color:#2e567f}
.spx-help-answer p{font-size:14px;line-height:1.6;color:#394a61}
.spx-help-answer .spx-example{margin:10px 0 0}
.spx-practice-page .spx-row{min-height:65px}
@media(max-width:520px){.spx-sibling-nav{display:grid;grid-template-columns:1fr 1fr}.spx-sibling-nav .spx-button{min-width:0;margin:0;font-size:12px}.spx-help-prompt{font-size:13px!important;padding:11px!important}.spx-simplified-page{padding:15px}}

/* Exercices espagnols : 5 QCM + 5 réponses rédigées ; une seule validation. */
.spx-training-status{font-size:15px;font-weight:850;color:#793f51;margin:8px 0 10px}
.spx-training-track{width:100%;height:10px;border-radius:10px;background:#e7e9ef;overflow:hidden;margin-bottom:18px}
.spx-training-track>span{display:block;height:100%;border-radius:10px;background:#2d9663}
.spx-training-group-title{font-size:16px;color:#823044;margin:20px 0 10px}
.spx-training-item{display:grid!important;grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;padding:11px 12px!important;margin:8px 0!important;background:#fff!important;color:#293b54!important;border:1px solid #eadde2!important;border-radius:13px!important;text-align:left!important;box-shadow:none!important;min-height:65px;cursor:pointer!important}
.spx-training-item.is-done{background:#f0f9f4!important;border-color:#b3ddc5!important}
.spx-training-item:disabled{opacity:.7;cursor:not-allowed!important}
.spx-training-state{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff0bd;color:#8c3b50;font-weight:900}
.spx-training-item.is-done .spx-training-state{background:#cdeedb;color:#176f42}
.spx-training-item strong,.spx-training-item small{display:block;line-height:1.4}
.spx-training-item strong{font-size:14px;color:#283b54}
.spx-training-item small{font-size:12px;color:#60738b;padding-top:3px}
.spx-training-warning{border:1px solid #e2c5a3;background:#fff2db;color:#7e4f22;font-size:13px;line-height:1.6;border-radius:11px;padding:12px;margin:12px 0}
.spx-training-reminder{background:#fff4dd;padding:11px 13px;border-radius:10px;border:1px solid #edd9ad;font-size:13px;color:#684a3d}
.spx-training-question{border:1px solid #e6dfe1;border-radius:14px;padding:13px;margin:14px 0;background:#fff}
.spx-training-question legend{padding:0 7px;color:#88364d;font-weight:900;font-size:13px}
.spx-training-question>p{font-size:15px;color:#293b54;line-height:1.6;margin:5px 0 12px}
.spx-training-options{display:grid;gap:8px}
.spx-training-options label{display:flex;gap:9px;align-items:flex-start;border:1px solid #e0dce5;background:#f9fbfd;border-radius:10px;padding:10px;color:#35465a;cursor:pointer;font-size:14px}
.spx-training-options label:has(input:checked){border-color:#ba4962;background:#fff1db}
.spx-training-options input{accent-color:#b13e57;margin-top:4px;flex:none}
.spx-training-text{display:block!important;width:100%!important;box-sizing:border-box;background:#fff!important;color:#263752!important;border:1px solid #aebacb!important;border-radius:10px!important;padding:12px!important;font-size:15px!important;min-height:47px}
.spx-training-text:focus-visible{outline:3px solid #d8aa48!important;outline-offset:1px}
.spx-training-score{display:inline-block;font-size:17px;font-weight:950;color:#155c3a;background:#e6f7eb;border-radius:10px;padding:11px 14px}
.spx-training-back{background:transparent!important;border:1px solid #e9dddf!important;border-radius:10px!important;color:#81394b!important;padding:11px!important;font-size:13px!important;font-weight:850!important;margin-bottom:15px;cursor:pointer}
.spx-training-correction{border:1px solid #e7dce0;border-radius:12px;padding:13px;margin:13px 0;background:#fff}
.spx-training-correction.good{border-left:4px solid #2b955f}
.spx-training-correction.bad{border-left:4px solid #dc9c48}
.spx-training-correction h4{color:#783749;margin:0 0 9px;font-size:14px}
.spx-training-correction p{color:#344761;font-size:13px;line-height:1.55;margin:6px 0}
.spx-parent-progress h3{font-size:18px}
.spx-parent-chapter{padding:10px;border:1px solid #e2e4eb;background:#f8fafc;border-radius:10px;margin:7px 0}
.spx-parent-chapter summary{font-weight:800;color:#27394f;cursor:pointer}
.spx-parent-result{padding:9px;background:#fff;border:1px solid #e1e5eb;border-radius:9px;margin:9px 0}
.spx-parent-result summary{color:#34614c;font-size:13px}
.spx-parent-result p{font-size:12px;line-height:1.5;padding:7px 0;border-bottom:1px solid #eee}
@media(max-width:520px){.spx-training-item{grid-template-columns:36px minmax(0,1fr) 14px}.spx-training-state{width:34px;height:34px}.spx-training-question{padding:11px}.spx-training-item strong{font-size:13px}}
