/* EduSprijin – Fișe la engleză. Toate regulile sunt prefixate cu .ese- ca să nu intre în conflict cu tema. */
.ese-app, .ese-vel {
  --ese-navy: #0b2a56; --ese-green: #5aa02c; --ese-green-d: #46841f; --ese-orange: #f7861a; --ese-red: #c81e2d;
  --ese-ink: #16223d; --ese-mut: #5b6785; --ese-line: #dde5d8;
  --ese-main: #f28a3c; --ese-light: #feeada; --ese-soft: #fff6ee;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.5; color: var(--ese-ink);
}
.ese-app.ese-t-6 { --ese-main: #3888e8; --ese-light: #dbeafd; --ese-soft: #eff6ff; }
.ese-app *, .ese-vel * { box-sizing: border-box; }
.ese-app { max-width: 980px; margin: 24px auto; background: #fff; border: 4px solid var(--ese-main); border-radius: 26px; overflow: hidden;
  box-shadow: 0 10px 34px rgba(11, 42, 86, .10); }
.ese-app button, .ese-app input, .ese-vel button { font: inherit; letter-spacing: normal; text-transform: none; }

/* antet */
.ese-head { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 16px 24px; background: var(--ese-soft); border-bottom: 3px solid var(--ese-light); }
.ese-brand { display: flex; align-items: center; gap: 12px; color: inherit; }
.ese-logo { display: block; width: 62px; height: 62px; flex: none; }
.ese-logo svg { width: 100%; height: 100%; display: block; }
.ese-brand b { display: block; font-size: 1.65rem; line-height: 1; color: var(--ese-navy); letter-spacing: -.5px; }
.ese-brand b i { font-style: normal; color: var(--ese-green); }
.ese-titlu { flex: 1; min-width: 220px; }
.ese-titlu h2 { margin: 0; padding: 0; font-size: 1.3rem; line-height: 1.25; color: var(--ese-navy); border: 0; }
.ese-titlu p { margin: 2px 0 0; color: var(--ese-mut); font-size: .92rem; }

/* formular */
.ese-form { padding: 8px 24px 20px; }
.ese-grup { border: 0; margin: 0; padding: 14px 0 6px; min-width: 0; }
.ese-grup legend { padding: 0; font-weight: 700; color: var(--ese-navy); font-size: 1rem; margin-bottom: 8px; float: none; width: auto; }
.ese-rand { display: flex; flex-wrap: wrap; gap: 8px; }
.ese-opt { border: 2px solid var(--ese-light); background: #fff; color: var(--ese-ink); border-radius: 14px; padding: 9px 16px; cursor: pointer; font-weight: 600; box-shadow: none; }
.ese-opt:hover:not(:disabled) { border-color: var(--ese-main); }
.ese-opt.ese-mare { padding: 12px 26px; font-size: 1.15rem; min-width: 130px; }
.ese-opt.ese-on { background: var(--ese-main); border-color: var(--ese-main); color: #fff; }
.ese-opt:disabled, .ese-card:disabled { opacity: .45; cursor: not-allowed; }
.ese-nota { margin: 6px 0 0; color: var(--ese-mut); font-size: .86rem; }
.ese-carduri { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (max-width: 720px) { .ese-carduri { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { .ese-carduri { grid-template-columns: 1fr; } }
.ese-card { display: grid; gap: 2px; justify-items: center; text-align: center; border: 2px solid var(--ese-light); background: #fff; border-radius: 16px; padding: 10px 8px 12px; cursor: pointer; color: var(--ese-ink); box-shadow: none; }
.ese-card:hover:not(:disabled) { border-color: var(--ese-main); }
.ese-card.ese-on { border-color: var(--ese-main); background: var(--ese-soft); box-shadow: 0 0 0 2px var(--ese-main) inset; }
.ese-pict { display: block; width: 100px; height: 40px; color: var(--ese-main); }
.ese-pict svg { width: 100%; height: 100%; display: block; }
.ese-cn { font-weight: 700; font-size: .95rem; }
.ese-cd { font-size: .78rem; color: var(--ese-mut); }
.ese-acts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
@media (max-width: 760px) { .ese-acts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { .ese-acts { grid-template-columns: 1fr; } }
.ese-act { display: grid; gap: 2px; align-content: center; text-align: center; border: 2px solid var(--ese-light); background: #fff; border-radius: 16px; padding: 12px 10px; cursor: pointer; color: var(--ese-ink); box-shadow: none; }
.ese-act:hover { border-color: var(--ese-main); }
.ese-act.ese-on { background: var(--ese-main); border-color: var(--ese-main); color: #fff; }
.ese-act.ese-on .ese-cd { color: rgba(255, 255, 255, .92); }
.ese-act:focus-visible { outline: 3px solid rgba(90, 160, 44, .45); outline-offset: 2px; }
.ese-campuri select { display: block; width: 100%; margin-top: 4px; padding: 9px 12px; border: 2px solid var(--ese-light); border-radius: 12px; background: #fff; color: var(--ese-ink); }
.ese-campuri { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .ese-campuri { grid-template-columns: 1fr; } }
.ese-campuri label { display: block; font-size: .85rem; font-weight: 600; color: var(--ese-mut); }
.ese-campuri input { display: block; width: 100%; margin-top: 4px; padding: 9px 12px; border: 2px solid var(--ese-light); border-radius: 12px; background: #fff; color: var(--ese-ink); }
.ese-campuri input:focus, .ese-opt:focus-visible, .ese-card:focus-visible, .ese-btn:focus-visible { outline: 3px solid rgba(90, 160, 44, .45); outline-offset: 2px; }
.ese-btn { display: inline-block; border: 2px solid #cdd8c6; background: #fff; color: var(--ese-navy) !important; border-radius: 12px; padding: 10px 18px; font-weight: 700; cursor: pointer; text-decoration: none !important; box-shadow: none; }
.ese-btn:hover { border-color: var(--ese-green); }
.ese-prim { background: var(--ese-green); border-color: var(--ese-green); color: #fff !important; }
.ese-prim:hover { background: var(--ese-green-d); border-color: var(--ese-green-d); }
.ese-gen { display: block; width: 100%; margin-top: 18px; padding: 14px; font-size: 1.15rem; border-radius: 16px; }
.ese-gen:disabled { opacity: .6; cursor: progress; }

/* subsol */
.ese-foot { background: var(--ese-light); padding: 14px 24px 16px; font-size: .85rem; color: #33405f; }
.ese-foot p { margin: 2px 0; }

.ese-raporteaza { color: var(--ese-mut) !important; font-size: .82rem; text-decoration: underline !important; cursor: pointer; background: none; border: 0; box-shadow: none !important; }
.ese-raporteaza:hover { color: var(--ese-navy) !important; }
.ese-raporteaza-mod { align-self: center; margin-left: 4px; }
.ese-foot .ese-versiune { margin-top: 6px; font-size: .75rem; color: var(--ese-mut); }

/* ferestre centrate */
body.ese-blocat { overflow: hidden; }
.ese-vel { position: fixed; inset: 0; z-index: 999999; background: rgba(11, 42, 86, .55); display: flex; align-items: center; justify-content: center; padding: 16px; }
.ese-modal { background: #fff; border-radius: 20px; padding: 26px 28px 22px; width: min(480px, 100%); text-align: center; box-shadow: 0 20px 56px rgba(0, 0, 0, .32); animation: ese-apare .18s ease-out; }
.ese-modal h3 { margin: 0 0 6px; padding: 0; font-size: 1.2rem; color: var(--ese-navy); }
.ese-modal p { margin: 6px 0 16px; color: var(--ese-ink); }
.ese-mesaj { min-height: 2.6em; color: var(--ese-mut) !important; font-size: .92rem; }
.ese-bara { height: 14px; background: #eef5e8; border: 1px solid var(--ese-line); border-radius: 999px; overflow: hidden; }
.ese-bara i { display: block; height: 100%; width: 0; border-radius: 999px; background: linear-gradient(90deg, #5aa02c, #fbbf0e, #f7861a); background-size: 200% 100%; transition: width .15s ease; animation: ese-curge 1.2s linear infinite; }
.ese-proc { margin-top: 8px; font-weight: 700; color: var(--ese-navy); font-variant-numeric: tabular-nums; }
.ese-ico { width: 58px; height: 58px; margin: 0 auto 12px; border-radius: 50%; color: #fff; font-size: 1.9rem; font-weight: 700; display: flex; align-items: center; justify-content: center; background: var(--ese-green); }
.ese-ico-eroare { background: var(--ese-red); }
.ese-dlg-btn { display: flex; justify-content: center; gap: 10px; }
.ese-prev { width: min(980px, 100%); height: min(90vh, 900px); display: flex; flex-direction: column; padding: 16px 18px 18px; text-align: left; }
.ese-prev-cap { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.ese-prev-cap h3 { margin: 0; }
.ese-prev-btn { display: flex; gap: 8px; flex-wrap: wrap; }
.ese-cadru { flex: 1; width: 100%; border: 1px solid var(--ese-line); border-radius: 10px; min-height: 0; background: #f3f5f2; }
.ese-fara-prev { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: 2px dashed var(--ese-line); border-radius: 12px; padding: 24px; color: var(--ese-mut); }
@keyframes ese-apare { from { transform: translateY(8px) scale(.96); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ese-curge { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .ese-modal, .ese-bara i { animation: none; transition: none; } }
.ese-sim { font-size: 1.35em; font-weight: 800; line-height: 1; }
.ese-cap-eq { font-size: 2rem; font-weight: 800; text-align: center; margin: 8px 0 12px; color: var(--ese-ink); }
.ese-cap-rand { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 1.3rem; font-weight: 700; margin-bottom: 6px; }
.ese-cap-inp { width: 6.5rem; font-size: 1.3rem; text-align: center; padding: 8px; border: 2px solid var(--ese-light); border-radius: 12px; }
.ese-cap-msg { min-height: 1.4em; text-align: center; color: #b32d2e; margin: 4px 0 10px; }
.ese-raporteaza-mod { margin-left: 0; margin-right: 8px; }
.ese-rap-text, .ese-rap-inp { width: 100%; box-sizing: border-box; font: inherit; padding: 10px; border: 2px solid var(--ese-light); border-radius: 12px; margin-bottom: 8px; }
.ese-rap-capcana { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ese-rap { text-align: left; }
.ese-prev-btn { align-items: center; }

/* engleză: carduri de lecții pe două coloane, text mai mic în descriere */
.ese-acts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (max-width: 560px) { .ese-acts { grid-template-columns: 1fr; } }
.ese-act { text-align: left; justify-items: start; }
.ese-act .ese-cd { line-height: 1.3; }
.ese-carduri { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 440px) { .ese-carduri { grid-template-columns: 1fr; } }
.ese-ts { display: flex; justify-content: center; min-height: 70px; margin: 8px 0; }

.ese-raporteaza { color: var(--ese-mut) !important; font-size: .82rem; text-decoration: underline !important; cursor: pointer; background: none; border: 0; box-shadow: none !important; padding: 0; }
.ese-raporteaza:hover { color: var(--ese-navy) !important; }
.ese-raporteaza-mod { align-self: center; margin-right: 8px; }
.ese-rap-text, .ese-rap-inp { width: 100%; box-sizing: border-box; font: inherit; padding: 10px; border: 2px solid var(--ese-light); border-radius: 12px; margin-bottom: 8px; }
.ese-rap-capcana { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ese-rap { text-align: left; }

/* Traseul alegerilor (clasa › tipul › lecția) */
.ese-trasa { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; padding: 10px 24px; background: var(--ese-soft); border-bottom: 1px solid var(--ese-light); font-size: 15px; }
.ese-trasa-e { color: #5b6783; font-weight: 600; margin-right: 4px; }
.ese-sep { color: #8a94a8; }
.ese-pas { border: 0; background: none; padding: 4px 8px; border-radius: 8px; font: inherit; font-weight: 700; color: #1b2137; cursor: pointer; text-decoration: underline; text-decoration-color: var(--ese-main); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ese-pas:hover, .ese-pas:focus-visible { background: var(--ese-light); }
.ese-pas:focus-visible { outline: 3px solid var(--ese-main); outline-offset: 1px; }
@media print { .ese-trasa { display: none; } }
