/* farsikids.com — shared styles, following the Web-Farsi palette */
:root{
  --navy:#1f3a5f; --blue:#2f6db5; --green:#2e8b57; --orange:#e07a2f;
  --line:#e4e9f0; --ink:#1c2733; --muted:#5b6b7b; --bg:#f6f8fb;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.7;
  font-family:-apple-system,'Segoe UI',system-ui,Helvetica,Arial,sans-serif}
body.rtl{direction:rtl;line-height:1.9;
  font-family:Vazirmatn,Vazir,Sahel,'Geeza Pro',Tahoma,system-ui,sans-serif}
a{text-decoration:none}
header{background:linear-gradient(225deg,var(--blue),var(--navy));color:#fff;padding:34px 18px}
header .wrap{max-width:900px;margin:0 auto;padding:0}
header .top{display:flex;justify-content:space-between;align-items:center;
  font-size:14px;font-weight:700;opacity:.92;margin-bottom:10px}
header .top a{color:#fff}
header h1{margin:6px 0 6px;font-size:32px;letter-spacing:.01em}
header .fa{font-family:Vazirmatn,'Geeza Pro',Tahoma,sans-serif;font-size:22px;
  opacity:.95;margin:0 0 8px;direction:rtl}
header p{margin:0;opacity:.92;font-size:16px}
.wrap{max-width:900px;margin:0 auto;padding:26px 18px 60px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(258px,1fr))}
/* Two-card rows: auto-fill would lay out three tracks at this width and leave an
   empty column, so the cards look narrow. Two explicit columns fill the row. */
.grid.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:640px){.grid.two{grid-template-columns:1fr}}
/* Cards in a two-up row stretch to equal height; pushing the button down with
   margin-top:auto lines the buttons up whatever length the text above runs to. */
.grid.two .card{display:flex;flex-direction:column}
.grid.two .card ul{margin-bottom:16px}
.grid.two .card .btn{margin-top:auto}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.card h3{margin:2px 0 4px;color:var(--navy);font-size:21px}
.card .sub{color:var(--muted);font-size:14px;margin-bottom:14px}
.card ul{margin:8px 0 14px;padding-inline-start:20px;color:#3a4757;font-size:14.5px}
.btn{display:inline-block;font-weight:700;font-size:15px;padding:11px 18px;
  border-radius:10px;margin:4px 0}
.btn.open{background:var(--green);color:#fff;width:100%;text-align:center}
.btn.view{background:#eef2f7;color:var(--navy);border:1.5px solid var(--line)}
.btn.buy{background:var(--orange);color:#fff;width:100%;text-align:center}
.btn.hero{background:#fff;color:var(--navy);padding:13px 26px;font-size:16px;
  margin-top:16px;box-shadow:0 4px 14px rgba(10,25,45,.22)}
.btn.hero:hover{background:#eef2f7}
.btn.wide{display:inline-block;background:var(--green);color:#fff;
  padding:13px 26px;font-size:16px}
.note{background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:16px 20px;margin:18px 0;color:var(--muted);font-size:14.5px}
.note strong{color:var(--ink)}
h2.sec{color:var(--navy);font-size:20px;margin:30px 0 12px;
  border-bottom:1px solid var(--line);padding-bottom:6px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
footer .stamp{display:block;margin-top:6px;font-size:12px;opacity:.75}
footer{color:var(--muted);font-size:13px;text-align:center;padding:28px 12px 40px}
footer a{color:var(--blue)}
@media (max-width:640px){header h1{font-size:26px}}

/* --- language tabs ------------------------------------------------ */
.langtabs{display:inline-flex;gap:0;border:1px solid rgba(255,255,255,.45);
  border-radius:9px;overflow:hidden;margin-bottom:2px}
.langtabs button{background:transparent;color:#fff;border:0;cursor:pointer;
  font:700 13px/1 inherit;padding:7px 13px;font-family:inherit}
.langtabs button.on{background:#fff;color:var(--navy)}
.langtabs button:not(.on):hover{background:rgba(255,255,255,.16)}
header .top{gap:12px}
/* the hero holds two buttons now */
.herorow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.herorow .btn{margin:0}
.btn.login{background:rgba(255,255,255,.14);color:#fff;
  border:1.5px solid rgba(255,255,255,.55);padding:13px 26px;font-size:16px}
.btn.login:hover{background:rgba(255,255,255,.24)}
body.rtl .card ul{padding-inline-start:20px}
/* The .fa line is a decorative Farsi subtitle above an English heading. In Farsi
   the h1 is already Farsi, so the line just repeats it — hide it there. */
body.rtl header .fa{display:none}

/* --- teacher progress tracker ------------------------------------- */
.psum h2{margin:0 0 12px}
.pcounts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.pc{display:flex;align-items:baseline;gap:6px;background:#f8fafc;border:1px solid var(--line);
  border-radius:9px;padding:7px 12px}
.pc b{font-size:19px;color:var(--navy);line-height:1}
.pc i{font-style:normal;font-size:12.5px;color:var(--muted)}
.pc-done b{color:var(--green)} .pc-issue b{color:#b3261e} .pc-opened b{color:var(--orange)}
.pbar{height:8px;background:#e9eef5;border-radius:99px;overflow:hidden;margin-bottom:14px}
.pbar span{display:block;height:100%;background:var(--green);width:0;transition:width .25s}
.pchips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
.pchip{min-width:30px;text-align:center;border-radius:7px;padding:5px 6px;font-size:12.5px;
  font-weight:700;border:1px solid var(--line);background:#fff;color:var(--muted)}
.pchip.s-opened{background:#fff3e6;border-color:#f0d6b4;color:#8a5a15}
.pchip.s-done{background:#e6f4ec;border-color:#bfe0cd;color:#1d6b41}
.pchip.s-issue{background:#fdecec;border-color:#f5c2c0;color:#b3261e}
.pmeta{font-size:12.5px;color:var(--muted);margin-bottom:12px}
.pactions{display:flex;gap:8px;flex-wrap:wrap}
.pactions button{font:700 13px/1 inherit;font-family:inherit;padding:9px 14px;border-radius:9px;
  border:1.5px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}
.pactions button:hover{background:#eef2f7}
.pwarn{margin:12px 0 0;font-size:12.5px;color:var(--muted);line-height:1.7}

.prog{display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:12px 22px;border-top:1px solid var(--line);background:#fbfcfe}
.pbtns{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.pb{font:700 12.5px/1 inherit;font-family:inherit;padding:8px 12px;border:0;background:#fff;
  color:var(--muted);cursor:pointer;border-inline-end:1px solid var(--line)}
.pb:last-child{border-inline-end:0}
.pb:hover{background:#eef2f7}
.pb.on{color:#fff}
.pb-opened.on{background:var(--orange)} .pb-done.on{background:var(--green)}
.pb-issue.on{background:#b3261e} .pb-none.on{background:var(--muted)}
.pnote{flex:1;min-width:180px;padding:8px 11px;font-size:13.5px;font-family:inherit;
  border:1.5px solid var(--line);border-radius:9px;color:var(--ink)}
.lesson[data-state="done"] .lhead{background:#f2f9f5}
.lesson[data-state="issue"] .lhead{background:#fdf3f3}
.lesson[data-state="opened"] .lhead{background:#fff9f2}
@media print{.prog .pbtns,.pactions{display:none}
  .pnote{border:0;border-bottom:1px solid #bbb;border-radius:0}
  .psum{break-inside:avoid}}
.pmode{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.pmode .plab{font-size:13px;color:var(--muted);font-weight:700}
.pmbtns{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.pm{font:700 13px/1 inherit;font-family:inherit;padding:9px 15px;border:0;background:#fff;
  color:var(--muted);cursor:pointer;border-inline-end:1px solid var(--line)}
.pm:last-child{border-inline-end:0}
.pm:hover{background:#eef2f7}
.pm.on{background:var(--blue);color:#fff}
.pchip{text-decoration:none}
.pchip:hover{border-color:var(--blue);color:var(--blue)}
@media print{.pmode{display:none}}
