/* Landing, catalog si pagina cursului (v4). Completari peste profesio.css, doar ce lipseste. */

/* ---------- comun ---------- */
body.lnd [hidden], body.cat [hidden], body.crs [hidden] { display: none !important; }
body.lnd span.av, body.cat span.av, body.crs span.av { color: var(--bg); }
.lnd-fav, .crs-fav { border: 1px solid var(--ink); flex: none; }
.lnd-fav[aria-pressed="true"] i, .crs-fav[aria-pressed="true"] i { color: #e11d48; }

/* Imagini responsive ({% v4img %}): <picture> nu creeaza cutie, <img> ramane copilul layout-ului. */
picture.pic { display: contents; }

/* ---------- landing ---------- */
.lnd .bxv-s { padding-left: 12px; }
.lnd-serial { flex: 1; min-width: 0; border: 0; background: transparent; font: 600 14px var(--font); color: var(--ink); padding: 6px 0; }
.lnd-serial:focus { outline: none; }
.bxv-s:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-s); }
.bxv-b { border: 0; cursor: pointer; min-height: 32px; }
.lnd-pio { background: rgba(255, 255, 255, .08); color: #cfe3f2; border: 0; cursor: pointer; font: 700 12px var(--font); min-height: 32px; }
.lnd-pio:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.lnd-heat { grid-template-columns: 96px repeat(5, 1fr); margin-top: 10px; color: #cfe3f2; }
.lnd-heat > .xs { text-align: center; color: #9fb7cc; }
.lnd-heat > .sm { align-self: center; }
.lnd-heat .c { min-height: 30px; }
.lnd-heat .h0 { background: #173a55; }
.lnd-heat .h1 { background: #1b6a96; }
.lnd-heat .h2 { background: #38bdf8; }
.lnd-note { color: #9fb7cc; text-align: center; margin-top: 16px; }
.lnd-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 340px)); gap: 18px; justify-content: center; }
.lnd-faq { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 48px; }
.lnd .marquee:focus-within .mq { animation-play-state: paused; }
@media (max-width: 900px) {
  .lnd-heat { grid-template-columns: 72px repeat(5, 1fr); font-size: 11px; }
}
@media (max-width: 420px) {
  .lnd-heat > .xs { font-size: 10px; }
  .lnd-faq { grid-template-columns: 1fr; gap: 24px; }
}

/* ---------- catalog ---------- */
.fopt { display: flex; gap: 10px; align-items: center; padding: 6px 0; min-height: 36px; font-size: 14px; color: var(--text); }
.fopt:hover { text-decoration: none; color: var(--ink); }
.fopt > .bi { font-size: 17px; color: var(--muted); }
.fopt.on { font-weight: 700; color: var(--ink); }
.fopt.on > .bi { color: var(--ink); }
.fopt .stars i { font-size: 11px; }
.cat .row > .hscroll { flex: 1 1 100%; min-width: 0; }
.cat .catalog > * { min-width: 0; }
.cat-view { display: inline-flex; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.cat-view .ib { border-radius: 0; width: 40px; height: 40px; font-size: 17px; color: var(--muted); }
.cat-view .ib.on { background: var(--soft); color: var(--ink); }
.cat-fbtn { display: none; }
.cat-grid { margin-top: 18px; }
.cat-more, .cat-pager { margin-top: 28px; justify-content: center; text-align: center; }
.cat-pager .chip { min-width: 44px; justify-content: center; }
.cat .empty h2 { font-size: 20px; color: var(--ink); }
.cat .lrow h3 { font-size: 17px; }
.cat .lrow img { height: auto; align-self: start; }
@media (max-width: 900px) {
  .cat-fbtn { display: inline-flex; }
  .fbox.open { display: grid; padding: 4px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--card); margin-bottom: 8px; }
  .cat-bar { gap: 10px; }
}
@media (max-width: 520px) {
  .cat-bar > .row:last-child { width: 100%; flex-wrap: wrap; }
  .cat-bar label { flex: 1; }
  .cat-bar select { flex: 1; width: 100% !important; }
  .cat-bar label > .muted { display: none; }
}

/* Pagina de categorie: firimituri si intro scurt deasupra filtrelor. */
.cat-crumbs { margin-bottom: 10px; color: var(--muted); }
.cat-crumbs a { color: var(--blue-t); }
.cat-intro { margin-top: 10px; max-width: 760px; font-size: 16px; color: var(--muted); }

/* ---------- pagina cursului ---------- */
.crs-prev { padding-top: 16px; padding-bottom: 16px; }
.crs-meta { color: #c7d2ea; }
.crs-meta span { display: inline-flex; gap: 6px; align-items: center; }
.dhead nav a { color: #7dd3fc; }
.les .t { display: grid; gap: 2px; }
.crs-lt { font-weight: 500; }
.crs-pv { color: var(--muted); }
.crs-desc p + p { margin-top: 10px; }
.crs-desc, .crs-desc p { font-size: 16px; }
.crs-ul { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
.crs-iname { font-size: 18px; color: var(--blue-t); }
.crs-logo { object-fit: cover; background: var(--soft); }
.crs-rev { max-width: 640px; }
.crs-stars { display: inline-flex; gap: 2px; }
.crs-stars button { width: 40px; height: 40px; border: 0; background: transparent; cursor: pointer; font-size: 22px; color: var(--line); border-radius: 8px; }
.crs-stars button.on { color: var(--star); }
.crs-stars button:focus-visible { outline: 2px solid var(--blue); }
.crs-rel { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.crs-rel .pop-card { display: none !important; }
.crs-kw { gap: 8px; }
.crs-kw .chip { min-height: 34px; font-size: 13px; }
.crs-pvbtn { display: block; width: 100%; padding: 0; border: 0; background: #000; }
.crs-pvimg { cursor: default; }
.crs-pvimg::after { display: none; }
.crs-cta { align-items: flex-start; }
.crs-cta .crs-fav { width: 52px; height: 52px; border-radius: 8px; }
.enroll-zone { flex: 1; min-width: 0; display: grid; gap: 8px; }
.enroll-note { text-align: center; }
.mcta .enroll-zone { flex: 0 1 auto; max-width: 62%; }
.mcta .enroll-zone .btn { min-height: 46px; padding: 0 18px; font-size: 15px; width: auto; }
.mcta .enroll-note { display: none; }
.crs-dlg { width: min(900px, calc(100vw - 24px)); }
.crs-media { background: #000; aspect-ratio: 16 / 9; }
.crs-media video, .crs-media iframe { width: 100%; height: 100%; border: 0; display: block; }
/* Bara fixa de jos (.mcta) sub 1000px: spatiul ei sta pe subsol, nu pe body (R-11:
   fara banda alba sub footer), iar Pio si „inapoi sus" urca deasupra ei (R-00). */
@media (max-width: 1000px) {
  body.crs .ft { padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
  body.crs .ga-pf { --pfb: 84px; }
  body.crs .totop { bottom: 156px; }
}
/* Avatarul fara poza (instructor/organizatie): initiale pe albastrul marcii, nu disc negru (R-11b). */
body.crs span.av.crs-av { background: var(--blue); color: #fff; font-size: 34px; letter-spacing: .02em; }
@media (max-width: 640px) { body.crs .av.xl.crs-av, body.crs .av.xl.crs-logo { width: 80px; height: 80px; font-size: 26px; } }

/* ---------- paginile de eroare (400/403/404/500) ---------- */
.errp { min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; background: radial-gradient(900px 380px at 50% -10%, var(--tint), var(--bg) 70%); text-align: center; }
.errp .box { display: grid; gap: 16px; justify-items: center; max-width: 560px; }
.errp .code { font-size: clamp(64px, 12vw, 120px); font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.errp h1 { font-size: clamp(24px, 3vw, 32px); }
.errp p { color: var(--muted); font-size: 16px; }

/* Testimoniale: autorul aliniat jos, carduri egale; sub 6 recenzii, grila centrata (nu banda). */
.lnd .quote{grid-template-rows:1fr auto;align-content:stretch}
.lnd .quote p{margin:0}
.lnd .lnd-quotes{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),360px));justify-content:center;gap:18px}

/* Dialogul de previzualizare video: cinematic, intunecat, cu lectiile gratuite si CTA. */
dialog.pvd{width:min(1040px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:22px;background:#0b111a;color:#e9eefb;box-shadow:0 40px 120px rgba(0,0,0,.55);overflow:hidden}
dialog.pvd::backdrop{background:rgba(5,10,18,.78);backdrop-filter:blur(8px)}
.pvd-in{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"h h" "m l" "f f";max-height:calc(100dvh - 24px)}
.pvd-h{grid-area:h;display:flex;align-items:center;gap:16px;padding:16px 16px 14px 24px}
.pvd-ht{flex:1;min-width:0;display:grid;gap:2px}.pvd-ht .over{color:#7dd3fc}.pvd-ht h2{font-size:clamp(17px,2vw,21px);letter-spacing:-.01em;color:#fff;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvd-x{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#fff;font-size:16px;display:grid;place-items:center;cursor:pointer}.pvd-x:hover{background:rgba(255,255,255,.16)}
.pvd-media{grid-area:m;margin:0 0 0 16px;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:16/9;align-self:start}
.pvd-media video,.pvd-media iframe{display:block;width:100%;height:100%;border:0;background:#000;object-fit:contain}
.pvd-list{grid-area:l;display:grid;align-content:start;gap:4px;padding:0 16px;overflow:auto}
.pvd-list:not(:has(.pvd-les)){display:none}
.pvd-in:not(:has(.pvd-les)){grid-template-columns:minmax(0,1fr);grid-template-areas:"h" "m" "f"}
.pvd-in:not(:has(.pvd-les)) .pvd-media{margin:0 16px}
.pvd-lh{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9fb7cc;padding:4px 4px 8px}
.pvd-les{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;color:#e9eefb;text-decoration:none}.pvd-les:hover{background:rgba(255,255,255,.06);color:#fff}
.pvd-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(56,189,248,.14);color:#7dd3fc}
.pvd-lt{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.3}.pvd-d{flex:none;font-size:12px;color:#9fb7cc}
.pvd-f{grid-area:f;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;margin-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.pvd-meta{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.pvd-meta b{font-size:20px;color:#fff}.pvd-meta span{font-size:14px;color:#cfdbe8}.pvd-meta i{color:#f59e0b}
@media (max-width:820px){.pvd-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"h" "m" "l" "f";overflow:auto}.pvd-media{margin:0}.pvd-list{padding:12px 12px 0;overflow:visible}.pvd-h{padding:12px 12px 12px 18px}.pvd-f{padding:14px 18px}dialog.pvd{border-radius:18px}}

/* Contrast AA pentru nota cu stele pe fundal deschis (R-19): #9a5a0c in tema luminoasa. */
:root { --gold-aa: #9a5a0c; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --gold-aa: #f5b544; } }
:root[data-theme="dark"] { --gold-aa: #f5b544; }
body.lnd .stars, body.cat .stars, body.crs .stars { color: var(--gold-aa); }
body.crs .dhead .stars { color: #f6c35b; }

/* Tinte de atingere >= 44px pe telefon (R-17), pe paginile acestui fisier. */
@media (max-width: 640px) {
  body.lnd .btn.s, body.cat .btn.s, body.crs .btn.s, body.cat .chip, body.crs .chip, body.lnd .chip { min-height: 44px; }
  body.lnd .fq summary, body.crs .fq summary, body.cat .fbox summary { min-height: 44px; align-items: center; }
  body.lnd .ft-cols div, body.cat .ft-cols div, body.crs .ft-cols div { gap: 0; }
  body.lnd .ft-cols a, body.cat .ft-cols a, body.crs .ft-cols a { display: block; padding-block: 11px; }
  body.crs .crs-kw .chip { min-height: 44px; }
}
/* RI-09: firimiturile din pagina cursului, tinte de 44px pe telefon */
@media (max-width:760px){body.crs nav[aria-label="Firimituri"] a{display:inline-flex;align-items:center;min-height:44px}}
/* EDITOR-CURS: „Distribuie” din pagina cursului, tinta de 44px pe mobil */
@media (max-width:760px){.linkbtn[data-copy]{min-height:44px;display:inline-flex;align-items:center;gap:4px}}
/* Audit final SEO r1: tinte de conversie >= 44px pe telefon (seria pe landing, „Previzualizare"
   si „Pentru echipa ta?" pe curs, comutatorul lista/grila si „Sterge filtrele" in catalog). */
@media (max-width:640px){
  .lnd-serial,.bxv-b{min-height:44px}
  body.crs .les>a.sm,body.crs .linkbtn[data-copy]~a{display:inline-flex;align-items:center;min-height:44px}
  .cat-view .ib{width:44px;height:44px}
  .cat-bar a.sm{display:inline-flex;align-items:center;min-height:44px}
}
/* 404: cautare in catalog si legaturi utile (fara script). */
.errp-s{display:flex;gap:8px;width:100%;max-width:440px}
.errp-s .in{flex:1;min-width:0}
.errp-l{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:15px}
.errp-l a{display:inline-flex;align-items:center;min-height:44px}
/* Legatura spre pagina categoriei, sub fiecare fila din „Alege de unde incepi". */
.lnd-catl{text-align:center;margin-top:16px}
.lnd-catl a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700}
