/* Zona de membri — folosește tokenii din assets/css/app.css (culori, fonturi,
   .btn) și adaugă doar ce e specific acestei zone: login, dashboard, player. */

body.academie {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  /* Cardurile editoriale ale site-ului principal au colțuri aproape drepte
     (4px) — potrivit acolo, dar prea tăios pentru o zonă de produs (carduri
     de program, formulare). Aici, doar în Academie, rotunjim puțin mai mult. */
  --r: 14px;
  /* Paginile astea sunt scurte, fără derularea lungă a site-ului principal —
     păstrăm direct palierul luminos, cald, cu puțină adâncime, nu fundalul
     negru de pornire al paginii principale (acolo are sens doar fiindcă se
     deschide spre lumină pe măsură ce aluneci în jos). */
  background:
    radial-gradient(1100px 560px at 12% -12%, rgb(232 181 98 / 0.18), transparent 60%),
    var(--crem);
}
/* .btn (din app.css) are display:inline-flex cu aceeași specificitate ca
   [hidden], așa că fără asta un buton .btn marcat hidden tot rămânea vizibil. */
.academie [hidden] { display: none !important; }

.ac-bara {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 0.5rem;
  gap: 1rem;
  padding: 1.125rem clamp(1.25rem, 4vw, 2.5rem);
  background: rgb(252 249 242 / 0.6);
  backdrop-filter: blur(10px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  border-bottom: 1px solid var(--card-linie);
}
.ac-bara__nume { font-family: var(--display); font-size: 1.25rem; font-weight: 500; white-space: nowrap; }
.ac-bara__nume a {
  display: inline-flex; align-items: center; gap: 0.4rem;
  text-decoration: none; color: var(--text);
  padding: 0.5rem 1rem 0.5rem 0.75rem;
  border: 1.5px solid var(--card-linie);
  border-radius: 999px;
  background: rgb(255 255 255 / 0.55);
  transition: color 0.25s var(--usor), border-color 0.25s var(--usor), background 0.25s var(--usor);
}
.ac-bara__nume a:hover, .ac-bara__nume a:active {
  color: var(--aur-premium, var(--accent));
  border-color: var(--aur-premium, var(--accent));
  background: rgb(201 166 107 / 0.1);
}
.ac-bara__nume a svg { width: 15px; height: 15px; flex: none; color: var(--aur-premium, var(--accent)); }
.ac-bara__dreapta { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; row-gap: 0.4rem; gap: 1.5rem; font-size: 0.9375rem; color: var(--text-bland); }
.ac-bara__dreapta button { font: inherit; }

/* ---------- Antet premium (curs.html / program.html) — negru, cu aur ---------- */
.ac-bara-premium {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #F8F6F1;
  border-bottom: 1px solid #E5DFD5;
  padding-top: calc(0.75rem + env(safe-area-inset-top));
}
.ac-bara-premium__meniu, .ac-bara-premium__cont {
  flex: none; width: 2.25rem; height: 2.25rem; border-radius: 50%; border: 0;
  background: none; color: #252525; display: grid; place-items: center; cursor: pointer;
  -webkit-tap-highlight-color: transparent; text-decoration: none;
}
.ac-bara-premium__meniu:hover, .ac-bara-premium__cont:hover { color: #C9A66B; }
.ac-bara-premium__meniu svg, .ac-bara-premium__cont svg { width: 20px; height: 20px; }
.ac-bara-premium__marca {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 0.5rem;
  text-decoration: none; min-width: 0;
}
.ac-bara-premium__lotus { flex: none; width: 1.5rem; height: 1.5rem; color: #C9A66B; }
.ac-bara-premium__lotus svg, .ac-bara-premium__lotus img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ac-bara-premium__texte { display: flex; flex-direction: column; align-items: center; line-height: 1.15; min-width: 0; }
.ac-bara-premium__texte strong {
  font-family: var(--display); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em;
  color: #C9A66B; white-space: nowrap;
}
.ac-bara-premium__texte span { font-size: 0.75rem; color: #66645F; white-space: nowrap; }

/* Sertar simplu de navigare, deschis din meniul hamburger */
.ac-drawer-fundal {
  position: fixed; inset: 0; z-index: 40; background: rgb(14 21 18 / 0.5);
  opacity: 0; transition: opacity 0.22s var(--usor);
}
.ac-drawer-fundal--vizibil { opacity: 1; }
.ac-drawer-simplu {
  position: fixed; top: 0; bottom: 0; left: 0; z-index: 41; width: min(16rem, 80vw);
  background: #F8F6F1; border-right: 1px solid #E5DFD5; display: flex; flex-direction: column; gap: 0.25rem;
  padding: calc(1.25rem + env(safe-area-inset-top)) 1.1rem 1.25rem;
  transform: translateX(-100%); transition: transform 0.25s var(--usor);
}
.ac-drawer-simplu--deschis { transform: translateX(0); }
.ac-drawer-simplu a, .ac-drawer-simplu button {
  display: block; width: 100%; text-align: left; padding: 0.75rem 0.6rem; border-radius: 8px;
  color: #252525; text-decoration: none; font: inherit; font-size: 0.9375rem; background: none; border: 0; cursor: pointer;
}
.ac-drawer-simplu a:hover, .ac-drawer-simplu button:hover { background: rgb(201 166 107 / 0.12); color: #C9A66B; }
.ac-drawer-cta {
  margin-top: 0.4rem; text-align: center !important; font-weight: 700;
  background: linear-gradient(160deg, #e6c88a, #C9A66B) !important; color: #252525 !important;
}
.ac-drawer-cta:hover { background: linear-gradient(160deg, #e6c88a, #C9A66B) !important; color: #252525 !important; filter: brightness(1.05); }

/* Imaginea mare, pe toată lățimea — Protocolul celor 13 Chakre */
.ac-bara__dreapta a, .ac-bara__dreapta button {
  color: var(--text-bland); background: none; border: 0; cursor: pointer; text-decoration: none;
  white-space: nowrap;
  transition: color 0.25s var(--usor);
}
.ac-bara__dreapta a:hover, .ac-bara__dreapta button:hover { color: var(--text); }
.ac-bara__dreapta a.ac-buton-cont {
  background: linear-gradient(160deg, #e6c88a, #C9A66B); color: #252525; font-weight: 700;
}
.ac-bara__dreapta a.ac-buton-cont:hover { color: #252525; filter: brightness(1.05); }
.ac-buton-cont { padding: 0.5rem 1rem; font-size: 0.875rem; }
@media (max-width: 480px) {
  .ac-bara { padding: 0.85rem 1rem; gap: 0.5rem; }
  .ac-bara__nume { font-size: 1.0625rem; }
  .ac-bara__nume a svg { width: 13px; height: 13px; }
  .ac-bara__dreapta { gap: 0.6rem; font-size: 0.8125rem; }
  .ac-buton-cont { padding: 0.4rem 0.7rem; font-size: 0.8125rem; }
}
@media (max-width: 360px) {
  .ac-bara__nume { font-size: 0.9375rem; }
  .ac-bara__dreapta { font-size: 0.75rem; gap: 0.45rem; }
  .ac-buton-cont { padding: 0.35rem 0.55rem; font-size: 0.75rem; }
}
.ac-bara__dreapta a.btn, .ac-bara__dreapta a.btn--sec { text-decoration: none; }

.ac-cadru { flex: 1; padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 2.5rem); }
.ac-cadru--ingust { max-width: 440px; margin: auto; width: 100%; }
.ac-cadru--larg { max-width: 1080px; margin-inline: auto; width: 100%; }

/* --- Titlu + subtitlu de secțiune (catalogul Academiei) ---
   Trei trepte de culoare/greutate, ca ochiul să parcurgă singur ierarhia:
   titlu (cerneală, cel mai greu) → subtitlu (auriu, vocea de brand) →
   explicație (verde-cenușiu, cea mai discretă). */
.ac-titlu-principal { margin: 0.5rem 0 0.375rem; }
.ac-titlu-curs {
  text-align: center; max-width: 42rem; margin: 0.5rem auto 1.75rem;
  font-size: clamp(1.75rem, 1.35rem + 2vw, 2.625rem); line-height: 1.18;
  font-weight: 600; color: var(--aur-premium, var(--accent)); filter: none;
}
.ac-subtitlu {
  font-family: var(--display); font-weight: 500; color: var(--aur-premium, var(--accent));
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); line-height: 1.2;
  margin: 0 0 1.375rem;
}
.ac-explicatie { max-width: 65ch; }
.ac-explicatie + .ac-explicatie { margin-top: 1rem; }

/* Fiecare secțiune a catalogului (Programe, Resurse gratuite) e despărțită
   printr-o linie subțire — separă vizual blocurile, nu doar prin spațiu gol. */
.ac-sectiune-cap { margin-top: 3.25rem; padding-top: 2.25rem; border-top: 1px solid var(--linie); }
.ac-sectiune-cap h2 {
  font-family: var(--display); font-weight: 500; font-style: normal;
  font-size: clamp(1.5rem, 1.3rem + 0.7vw, 1.875rem);
  color: var(--aur-premium, var(--accent)); margin-bottom: 0.625rem;
}

/* --- Login --- */
.ac-login {
  background: var(--card);
  border: 1px solid var(--card-linie);
  border-radius: var(--r);
  padding: clamp(1.75rem, 2.5vw, 2.75rem);
  box-shadow: 0 1px 0 rgb(255 255 255 / 0.5) inset, 0 30px 70px -40px rgb(111 74 15 / 0.35);
}
.ac-login h1 { font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem); margin-bottom: 0.5rem; }
.ac-login p.ac-sub { color: var(--text-bland); margin-bottom: 2rem; }
.ac-camp { display: block; margin-bottom: 1.25rem; }
.ac-camp span { display: block; font-size: 0.875rem; color: var(--text-bland); margin-bottom: 0.4rem; }
.ac-camp input {
  width: 100%; padding: 0.875rem 1rem; border-radius: var(--r, 4px);
  border: 1.5px solid rgb(20 32 26 / 0.28); background: #fff; color: var(--text);
  font: inherit; font-size: 1rem;
  box-shadow: 0 1px 2px rgb(20 32 26 / 0.06) inset;
}
.ac-camp input::placeholder { color: rgb(20 32 26 / 0.35); }
.ac-camp input:focus-visible { outline: 2px solid var(--accent); border-color: var(--accent); }
.ac-camp-tel { display: flex; gap: 0.5rem; }
.ac-prefix {
  flex: none; width: 7.5rem; padding: 0.875rem 0.5rem; border-radius: var(--r, 4px);
  border: 1.5px solid rgb(20 32 26 / 0.28); background: #fff; color: var(--text);
  font: inherit; font-size: 0.9375rem;
}
.ac-camp-tel input { flex: 1; min-width: 0; }
.ac-eroare { color: #a23b2e; font-size: 0.9375rem; margin-bottom: 1rem; min-height: 1.3em; }
.ac-login button[type="submit"] { width: 100%; justify-content: center; margin-top: 0.5rem; }

/* CTA-urile principale din Academie (Intră, Creează cont, Cumpără acum,
   Marchează ca finalizată) rămân cele mai grele vizual din pagină. */
.academie .btn--mare { padding: 1.1875rem 2rem; font-size: 1.0625rem; }
.academie .btn:disabled { opacity: 0.4; cursor: default; pointer-events: none; }

/* --- Dashboard: carduri de program --- */
.ac-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1.75rem;
  margin-top: 1.5rem;
}
.ac-card {
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  overflow: hidden; display: flex; flex-direction: column; position: relative;
  box-shadow: 0 20px 45px -30px rgb(111 74 15 / 0.25);
  transition: border-color 0.4s var(--usor), transform 0.4s var(--usor), box-shadow 0.4s var(--usor);
}
.ac-card:hover { border-color: var(--accent); transform: translateY(-3px); box-shadow: 0 26px 60px -34px rgb(138 95 22 / 0.35); }
.ac-card__cover-zona { position: relative; }
.ac-card__cover { aspect-ratio: 16/9; background: var(--sky-2); object-fit: contain; object-position: center; width: 100%; display: block; }
.ac-card__body { padding: 1.375rem; display: flex; flex-direction: column; gap: 0.75rem; flex: 1; }
.ac-card__titlu { font-family: var(--display); font-size: 1.3125rem; line-height: 1.2; }
.ac-card__sub { color: var(--text-bland); font-size: 0.9375rem; line-height: 1.5; flex: 1; }
.ac-bara-progres { height: 6px; border-radius: 99px; background: var(--card-linie); overflow: hidden; }
.ac-bara-progres > i { display: block; height: 100%; background: var(--accent); border-radius: inherit; }
.ac-card__procent { font-size: 0.8125rem; color: var(--text-bland); }
.ac-gol { color: var(--text-bland); padding: 2rem 0; }

/* Etichetă de stare — diferențiază clar ce e gratuit, ce costă și ce ai
   deja deblocat, oriunde apare (card de catalog, card propriu, rând de
   resursă). O singură componentă, trei sensuri, aceleași culori peste tot. */
.ac-stare {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.01em;
  padding: 0.3rem 0.7rem; border-radius: 99px; border: 1px solid transparent;
  white-space: nowrap;
}
.ac-stare--libera { background: rgb(111 138 109 / 0.14); color: #3d6b45; border-color: rgb(111 138 109 / 0.3); }
.ac-stare--plata { background: rgb(232 181 98 / 0.16); color: var(--aur-premium, var(--accent)); border-color: rgb(232 181 98 / 0.4); }
.ac-stare--blocata { background: rgb(20 32 26 / 0.05); color: var(--text-sters); border-color: var(--card-linie); }
.ac-stare--finalizat { background: rgb(111 138 109 / 0.16); color: #3d6b45; }
.ac-stare--progres { background: rgb(232 181 98 / 0.16); color: var(--aur-premium, var(--accent)); }
.ac-stare--neinceput { background: rgb(20 32 26 / 0.05); color: var(--text-sters); }
.ac-stare svg { width: 11px; height: 11px; }
.ac-card__eticheta { position: absolute; top: 0.75rem; left: 0.75rem; box-shadow: 0 6px 16px -6px rgb(20 32 26 / 0.35); }

/* --- Resurse gratuite (catalog public + listă membru) --- */
.ac-resursa-rand {
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  padding: 1rem 1.125rem; margin-bottom: 0.75rem;
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  transition: border-color 0.3s var(--usor), transform 0.3s var(--usor);
}
.ac-resursa-rand:hover { border-color: var(--accent); transform: translateY(-2px); }
.ac-resursa-rand__ico {
  flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%;
  background: rgb(232 181 98 / 0.14); color: var(--aur-premium, var(--accent));
  display: grid; place-items: center;
}
.ac-resursa-rand__ico svg { width: 19px; height: 19px; }
.ac-resursa-rand__body { flex: 1 1 14rem; min-width: 0; }
.ac-resursa-rand__titlu { font-weight: 600; }
.ac-resursa-rand__desc { color: var(--text-bland); font-size: 0.9375rem; margin-top: 0.15rem; }
.ac-resursa-rand .btn--sec { flex: none; margin-left: auto; padding: 0.5rem 1rem; font-size: 0.8125rem; }
.ac-galerie-rand { width: 100%; display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.25rem; }
.ac-galerie-rand__poza { width: 5.5rem; height: 5.5rem; object-fit: cover; border-radius: 10px; display: block; transition: transform 0.25s var(--usor); }
.ac-galerie-rand__poza:hover { transform: scale(1.05); }

.ac-lectii a.blocata { color: var(--text-sters); }
.ac-lacat { opacity: 0.75; display: inline-flex; }
.ac-lacat svg { width: 14px; height: 14px; }
.ac-blocare {
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  padding: 2.25rem 1.5rem; text-align: center; margin-bottom: 1.25rem;
  box-shadow: 0 0 0 1px rgb(232 181 98 / 0.25), 0 26px 60px -34px rgb(138 95 22 / 0.4);
}
.ac-blocare__ico {
  width: 3rem; height: 3rem; margin: 0 auto 1rem; border-radius: 50%;
  background: rgb(232 181 98 / 0.14); color: var(--aur-premium, var(--accent));
  display: grid; place-items: center;
}
.ac-blocare__ico svg { width: 22px; height: 22px; }
.ac-blocare p { margin-bottom: 1.25rem; color: var(--text-bland); }
.ac-blocare .canale-ac { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }

/* --- Player de curs (layout tip Kajabi: player + listă în același cadru,
   acțiuni + materiale dedesubt, pe două coloane care urmează proporția
   cadrului) --- */
.ac-curs { display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 1.75rem; row-gap: 1.75rem; }
.ac-curs-frame {
  grid-column: 1 / -1; min-width: 0;
  display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 1.75rem; align-items: start;
  background: linear-gradient(165deg, var(--sky-1), var(--sky-0));
  border-radius: calc(var(--r) + 8px);
  padding: 1.5rem;
  box-shadow: 0 30px 70px -30px rgb(8 14 12 / 0.55);
  /* bulă de temă întunecată: reutilizează exact tokenii de dark-mode ai
     site-ului, ca playerul să arate premium fără culori inventate. */
  --text: #f4efe4; --text-bland: #c3cdc0; --text-sters: #8d9a8c;
  --linie: rgb(244 239 228 / 0.14); --card: rgb(244 239 228 / 0.07); --card-linie: rgb(244 239 228 / 0.12);
  --accent: #e8b562;
  color: var(--text);
}
.ac-curs-actiuni { grid-column: 1; min-width: 0; }
.ac-curs-descarcari { grid-column: 2; min-width: 0; }

/* Protocolul celor 13 Chakre — restul paginii e deschisă, ivoriu/auriu, dar
   Georgiana preferă playerul în continuare închis la culoare (ca o scenă de
   teatru) — rămâne pe paleta întunecată implicită din .ac-curs-frame, nu se
   suprascrie aici. Doar eticheta de deasupra videoclipului (mai jos) rămâne
   aurie, fiindcă acolo era problema de lizibilitate. */
.ac-tema-ivoriu .ac-whatsapp-lectie {
  background: linear-gradient(160deg, #e6c88a, #C9A66B); border: 0; color: #252525;
  padding: 0.55rem 0.9rem; border-radius: 999px;
  box-shadow: 0 12px 28px -12px rgb(150 96 14 / 0.5);
}
.ac-tema-ivoriu .ac-whatsapp-lectie:hover {
  background: linear-gradient(160deg, #e6c88a, #C9A66B); filter: brightness(1.05);
  box-shadow: 0 14px 32px -10px rgb(150 96 14 / 0.55); transform: scale(1.03);
}
.ac-tema-ivoriu .ac-whatsapp-lectie__rand {
  font-family: "Manrope", sans-serif; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.01em;
}
.ac-tema-ivoriu .ac-whatsapp-lectie__lacat { color: #252525; opacity: 0.85; }

.ac-sidebar {
  border-left: 1px solid var(--linie); padding-left: 1.5rem; margin-left: 0.25rem;
  display: flex; flex-direction: column; min-height: 0; min-width: 0;
}
.ac-sidebar__cap { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; padding-bottom: 0.85rem; margin-bottom: 0.6rem; border-bottom: 1px solid var(--linie); }
.ac-sidebar__cap strong { font-family: var(--display); font-size: 1.1875rem; }
.ac-sidebar__cap span { font-size: 0.8125rem; color: var(--text-sters); flex: none; }
.ac-sidebar-scroll { overflow-y: auto; max-height: min(calc(100svh - 14rem), 27rem); }
.ac-modul-eticheta { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-sters); margin: 0.85rem 0 0.4rem; }
.ac-modul-eticheta:first-child { margin-top: 0; }
.ac-lectii { list-style: none; margin: 0 0 0.5rem; padding: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.ac-lectii a {
  display: flex; align-items: center; gap: 0.65rem; text-decoration: none; color: var(--text-bland);
  padding: 0.5rem; border-radius: 10px; font-size: 0.9375rem;
  border: 1px solid transparent; transition: background 0.2s var(--usor), border-color 0.2s var(--usor);
}
.ac-lectii a:hover { background: var(--card); }
.ac-lectii a.activa { background: var(--card); color: var(--text); font-weight: 600; border-color: var(--accent); }
.ac-lectii__thumb {
  flex: none; width: 4.25rem; height: 2.625rem; border-radius: 6px; object-fit: cover; background: var(--sky-2);
  display: grid; place-items: center; color: var(--text-sters);
}
.ac-lectii__thumb svg { width: 16px; height: 16px; }
.ac-lectii__titlu { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-tick { width: 16px; height: 16px; flex: none; border-radius: 50%; border: 1.5px solid var(--card-linie); }
.ac-tick.bifat { background: var(--accent); border-color: var(--accent); }
.ac-sidebar-comuta { display: none; }

.ac-principal { padding-right: 0; min-width: 0; }
.ac-scena { position: relative; aspect-ratio: 16/9; width: 100%; border-radius: var(--r); overflow: hidden; background: linear-gradient(160deg, var(--sky-2), var(--sky-1)); }
.ac-player-video { width: 100%; height: 100%; }
.ac-player-video iframe { width: 100%; height: 100%; border: 0; display: block; }
.ac-player-video video { width: 100%; height: 100%; display: block; background: #000; }
.ac-copertă-video { position: absolute; inset: 0; display: grid; place-items: center; }
.ac-copertă-video img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.ac-copertă-video__substituent { color: var(--text-sters); }
.ac-copertă-video__substituent svg { width: 34px; height: 34px; }
.ac-curand { position: absolute; left: 0.85rem; bottom: 0.85rem; background: rgb(8 14 12 / 0.65); color: #f4efe4; font-size: 0.75rem; padding: 0.35rem 0.75rem; border-radius: 999px; }
.ac-player-colt {
  position: absolute; left: 0.85rem; right: 0.85rem; bottom: 0.85rem; z-index: 2;
  display: flex; align-items: center; justify-content: space-between; gap: 0.65rem;
}
.ac-buton-play {
  position: relative; overflow: hidden;
  width: 3rem; height: 3rem; border-radius: 50%; flex: none; cursor: pointer;
  background: #0c1512; border: 1.5px solid var(--accent); color: var(--accent);
  display: grid; place-items: center;
  box-shadow: 0 14px 32px -12px rgb(0 0 0 / 0.75), 0 0 0 1px rgb(0 0 0 / 0.35), 0 0 0 0 rgb(232 196 104 / 0.55);
  transition: transform 0.25s var(--usor), background 0.25s var(--usor), box-shadow 0.25s var(--usor);
  animation: ac-sclipire-play 2.6s ease-out infinite;
}
.ac-buton-play::after {
  content: ""; position: absolute; inset: -2px; border-radius: 50%; pointer-events: none;
  background: linear-gradient(115deg, transparent 30%, rgb(255 255 255 / 0.85) 48%, transparent 66%);
  background-size: 300% 300%; background-position: -40% -40%;
  animation: ac-sclipire-licar 2.6s ease-in-out infinite;
}
.ac-buton-play:hover {
  transform: scale(1.08); background: var(--accent); color: #1a1206;
  box-shadow: 0 16px 36px -10px rgb(0 0 0 / 0.8), 0 0 0 1px var(--accent);
  animation-play-state: paused;
}
.ac-buton-play:hover::after { animation-play-state: paused; }
@keyframes ac-sclipire-play {
  0% { box-shadow: 0 14px 32px -12px rgb(0 0 0 / 0.75), 0 0 0 1px rgb(0 0 0 / 0.35), 0 0 0 0 rgb(232 196 104 / 0.55); }
  70% { box-shadow: 0 14px 32px -12px rgb(0 0 0 / 0.75), 0 0 0 1px rgb(0 0 0 / 0.35), 0 0 0 14px rgb(232 196 104 / 0); }
  100% { box-shadow: 0 14px 32px -12px rgb(0 0 0 / 0.75), 0 0 0 1px rgb(0 0 0 / 0.35), 0 0 0 0 rgb(232 196 104 / 0); }
}
@keyframes ac-sclipire-licar {
  0%, 45% { background-position: -40% -40%; }
  75% { background-position: 140% 140%; }
  100% { background-position: 140% 140%; }
}
@media (prefers-reduced-motion: reduce) {
  .ac-buton-play, .ac-buton-play::after { animation: none; }
}
.ac-buton-play svg { width: 18px; height: 18px; margin-left: 2px; }
.ac-durata-clip { background: #0c1512; border: 1px solid rgb(244 239 228 / 0.18); color: #f4efe4; font-size: 0.8125rem; font-variant-numeric: tabular-nums; padding: 0.35rem 0.7rem; border-radius: 999px; }
.ac-whatsapp-lectie {
  position: absolute; left: 0.85rem; top: 0.85rem; z-index: 2;
  display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem;
  background: #0c1512; border: 1.5px solid var(--accent);
  color: var(--accent); text-decoration: none; white-space: nowrap;
  padding: 0.4rem 0.65rem; border-radius: 0.5rem;
  box-shadow: 0 14px 32px -12px rgb(0 0 0 / 0.75), 0 0 0 1px rgb(0 0 0 / 0.35);
  transition: transform 0.25s var(--usor), background 0.25s var(--usor), box-shadow 0.25s var(--usor);
}
.ac-whatsapp-lectie:hover { transform: scale(1.04); background: #141f1a; box-shadow: 0 16px 36px -10px rgb(0 0 0 / 0.8), 0 0 0 1px var(--accent); }
.ac-whatsapp-lectie__rand { display: inline-flex; align-items: center; gap: 0.3rem; font-weight: 700; font-size: 0.6875rem; letter-spacing: 0.01em; }
.ac-whatsapp-lectie__rand svg { width: 13px; height: 13px; flex: none; }
.ac-whatsapp-lectie__lacat { display: inline-flex; opacity: 0.8; }
.ac-whatsapp-lectie__lacat svg { width: 11px; height: 11px; }
.ac-whatsapp-lectie__ico { color: #25d366; }

.ac-marcheaza-mare { display: flex; width: 100%; justify-content: center; margin: 1.5rem 0 1.5rem; }
.ac-marcheaza-mare.facuta { background: var(--card); color: var(--text-bland); border: 1px solid var(--card-linie); box-shadow: none; }

.ac-navigare-lectii { display: flex; align-items: stretch; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.ac-nav-card {
  display: flex; align-items: center; gap: 0.85rem; width: 18rem; max-width: 100%;
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  padding: 0.65rem 0.85rem; cursor: pointer; text-align: left; color: var(--text);
  transition: border-color 0.25s var(--usor), transform 0.25s var(--usor);
}
.ac-nav-card:hover:not(:disabled) { border-color: var(--accent); transform: translateY(-2px); }
.ac-nav-card:disabled { opacity: 0.3; cursor: default; }
.ac-nav-card__info { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.ac-nav-card__eticheta { font-size: 0.8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--accent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-nav-card__titlu { font-weight: 600; font-size: 0.9375rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-nav-card__thumb { width: 3rem; height: 3rem; border-radius: 8px; object-fit: cover; flex: none; background: var(--sky-2); }
.ac-nav-card__sageata { flex: none; display: inline-flex; color: var(--text-sters); opacity: 0.6; }
.ac-nav-card__sageata svg { width: 14px; height: 14px; }
.ac-program-finalizat { color: var(--text-bland); font-size: 0.9375rem; display: flex; align-items: center; gap: 0.6rem; }
.ac-program-finalizat a { color: var(--accent); }

.ac-lectie-scurta { color: var(--text-bland); font-size: 1.0625rem; margin: 0.75rem 0 1rem; }
.ac-lectie-detaliata { color: var(--text-bland); line-height: 1.65; white-space: pre-line; margin-bottom: 1.5rem; }
.ac-lectie-blocata { display: flex; align-items: center; gap: 0.6rem; color: var(--text-sters); font-size: 0.9375rem; margin-bottom: 1.5rem; }
.ac-lectie-blocata a { color: var(--accent); }

.ac-player-audio { background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r); padding: 1.25rem; margin-bottom: 1.25rem; }
.ac-audio-rand { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.ac-audio-rand button {
  background: var(--card-linie); border: 0; color: var(--text); width: 38px; height: 38px;
  border-radius: 50%; cursor: pointer; display: grid; place-items: center; flex: none;
  transition: background 0.25s var(--usor), color 0.25s var(--usor);
}
.ac-audio-rand button:hover { background: var(--accent); color: #1a1206; }
.ac-audio-rand button.activ { background: var(--accent); color: #1a1206; }
.ac-audio-rand button svg { width: 15px; height: 15px; }
.ac-audio-rand select { background: var(--card); color: var(--text); border: 1px solid var(--card-linie); border-radius: 6px; padding: 0.3rem 0.5rem; }
.ac-audio-bara { flex: 1; min-width: 140px; }
.ac-audio-timp { font-size: 0.8125rem; color: var(--text-bland); font-variant-numeric: tabular-nums; }

.ac-curs-descarcari h3 { font-family: var(--display); font-size: 1.1875rem; margin-bottom: 0.85rem; color: var(--aur-premium, var(--accent)); }
.ac-materiale-lectie { display: flex; flex-direction: column; gap: 0.6rem; }
.ac-materiale-lectie a { justify-content: flex-start; }

@media (max-width: 860px) {
  .ac-curs { grid-template-columns: 1fr; row-gap: 1.25rem; }
  .ac-curs-frame { grid-template-columns: 1fr; padding: 1rem; }
  .ac-curs-actiuni, .ac-curs-descarcari { grid-column: 1; }
  .ac-sidebar { border-left: 0; border-top: 1px solid var(--linie); padding-left: 0; margin-left: 0; padding-top: 1rem; margin-top: 1.25rem; }
  .ac-sidebar-scroll { max-height: 16rem; } /* cât să încapă 4 lecții fără derulare, pe telefon */
  .ac-sidebar.ac-sidebar--extinsa .ac-sidebar-scroll { max-height: none; }
  .ac-sidebar-comuta { display: block; width: 100%; margin-top: 0.6rem; }
  .ac-navigare-lectii { flex-wrap: nowrap; gap: 0.5rem; }
  .ac-nav-card { width: 0; flex: 1 1 0; padding: 0.5rem 0.6rem; gap: 0.5rem; }
  .ac-nav-card__thumb { width: 2.25rem; height: 2.25rem; }
  .ac-nav-card__sageata svg { width: 12px; height: 12px; }
  .ac-nav-card__eticheta { font-size: 0.625rem; letter-spacing: 0.02em; }
  .ac-nav-card__titlu { font-size: 0.8125rem; }
}

/* --- Admin --- */
.ac-admin-meniu {
  display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem;
  padding: 0.75rem 1.5rem; background: var(--card); border-bottom: 1px solid var(--card-linie);
  position: sticky; top: 0; z-index: 5;
}
.ac-admin-meniu a {
  font-size: 0.8125rem; letter-spacing: 0.02em; text-transform: uppercase;
  color: var(--text-bland); text-decoration: none; white-space: nowrap;
}
.ac-admin-meniu a:hover { color: var(--aur-premium, var(--accent)); }
@media (max-width: 640px) {
  .ac-admin-meniu { padding: 0.6rem 1rem; gap: 0.3rem 0.9rem; overflow-x: auto; flex-wrap: nowrap; }
}
.ac-bara-selectie {
  display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap;
  background: rgb(181 69 47 / 0.08); border: 1px solid rgb(181 69 47 / 0.3); border-radius: var(--r);
  padding: 0.6rem 0.9rem; margin-bottom: 0.85rem; font-size: 0.875rem;
}
.ac-tabel input[type="checkbox"] { width: 1.05rem; height: 1.05rem; cursor: pointer; }
.ac-admin-sectiune {
  margin-bottom: 2rem;
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  box-shadow: 0 20px 45px -32px rgb(111 74 15 / 0.2);
}
.ac-admin-sectiune h2 { font-family: var(--display); font-size: 1.375rem; color: var(--aur-premium, var(--accent)); font-weight: 400; }
/* Capul fiecărei secțiuni e și butonul care o restrânge — același tipar
   vizual (iconiță, rotație) ca la module/lecții, ca panoul să se simtă
   dintr-o singură bucată, nu ca trei componente diferite lipite. */
.ac-acordeon-cap {
  display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
  width: 100%; background: none; border: 0; padding: 0; margin: 0 0 1rem;
  cursor: pointer; text-align: left; font: inherit; color: inherit; -webkit-tap-highlight-color: transparent;
}
.ac-acordeon-cap h2 { margin: 0; transition: color 0.25s var(--usor); }
.ac-acordeon-cap:hover h2 { color: var(--accent); }
.ac-acordeon-cap:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 6px; }
.ac-acordeon-chevron {
  flex: none; display: inline-flex; color: var(--aur-premium, var(--accent));
  transform: rotate(90deg); transition: transform 0.25s var(--usor);
}
.ac-acordeon-chevron svg { width: 15px; height: 15px; }
.ac-admin-sectiune--inchis .ac-acordeon-cap { margin-bottom: 0; }
.ac-admin-sectiune--inchis .ac-acordeon-chevron { transform: rotate(0deg); }
.ac-admin-sectiune--inchis .ac-acordeon-corp { display: none; }
.ac-tabel { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.ac-tabel th, .ac-tabel td { text-align: left; padding: 0.6rem 0.5rem; border-bottom: 1px solid var(--linie); white-space: nowrap; }
/* Orice tabel (static sau construit din JS, ca „Programe și cursanți") poate
   avea mai multe coloane decât încap pe un telefon — mai bine derulează
   lateral doar tabelul, în cadrul lui, decât să împingă toată pagina în
   lateral (bug raportat: „Resurse media iese din pagină"), și decât să rupă
   cuvinte scurte din antet litera-cu-literă. */
.ac-acordeon-corp, .ac-tabel-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ac-form-inline { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: end; margin-bottom: 1rem; }
.ac-form-inline input, .ac-form-inline select { padding: 0.6rem 0.75rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; }
.ac-chip { display: inline-flex; align-items: center; gap: 0.3rem; background: var(--card-linie); border-radius: 99px; padding: 0.2rem 0.6rem; font-size: 0.8125rem; margin: 0.15rem; }
.ac-chip button { background: none; border: 0; color: inherit; cursor: pointer; font-size: 0.9375rem; line-height: 1; }

/* --- Utilizatori Academie (sistem centralizat) --- */
.ac-stats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: 0.75rem; margin-bottom: 1.25rem; }
.ac-stat-card { border: 1px solid var(--card-linie); border-radius: var(--r); padding: 0.75rem 0.9rem; background: rgb(252 249 242 / 0.5); display: flex; flex-direction: column; gap: 0.2rem; }
.ac-stat-card strong { font-family: var(--display); font-size: 1.375rem; color: var(--aur-premium, var(--accent)); font-weight: 400; }
.ac-stat-card span { font-size: 0.75rem; color: var(--text-bland); }
.ac-filtre-utilizatori { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; margin-bottom: 1rem; }
.ac-filtre-utilizatori input[type="search"], .ac-filtre-utilizatori select { padding: 0.5rem 0.7rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; }
.ac-filtre-utilizatori label { display: flex; align-items: center; gap: 0.35rem; font-size: 0.8125rem; color: var(--text-bland); white-space: nowrap; }
.ac-profil-bloc { padding: 0.9rem 0; border-bottom: 1px solid var(--card-linie); }
.ac-profil-bloc:last-child { border-bottom: 0; }
.ac-profil-bloc h4 { font-family: var(--display); font-weight: 400; font-size: 1rem; color: var(--aur-premium, var(--accent)); margin-bottom: 0.5rem; }
.ac-profil-bloc textarea { font: inherit; padding: 0.5rem 0.7rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); }
.ac-profil-bloc input[type="text"], .ac-profil-bloc input:not([type]) { padding: 0.5rem 0.7rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; width: 100%; max-width: 20rem; }
.ac-program-card-admin { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; padding: 0.6rem 0; border-top: 1px dashed var(--card-linie); font-size: 0.875rem; }
.ac-program-card-admin:first-of-type { border-top: 0; }
.ac-program-card-admin > strong { min-width: 10rem; }
.ac-lectii-individuale { display: flex; flex-direction: column; max-height: 16rem; overflow-y: auto; padding: 0.2rem 0.75rem; background: var(--card); border-radius: 6px; }
.ac-lectii-individuale label { border-bottom: 1px solid var(--card-linie); }
.ac-lectii-individuale label:last-child { border-bottom: 0; }
.ac-lectii-individuale input[type="checkbox"] { width: 1.25rem; height: 1.25rem; flex: none; }

/* ---------- Secțiunea de preț — Protocolul celor 13 Chakre ---------- */
/* O singură ofertă (acces complet, 333 €) — titlul, subtitlul și cardul de
   preț sunt text/HTML real, nu o imagine, ca prețul să poată fi schimbat
   oricând (ex. o reducere temporară) fără să mai fie nevoie de o imagine nouă. */
.ac-hero-protocol { margin-bottom: 1.25rem; }

.ac-hero-protocol__corp { padding: 0; text-align: center; }
.ac-hero-protocol__are-acces { color: #4d7a3c; font-weight: 600; font-size: 0.9375rem; margin: 1rem 0 0; }

.ac-hero-protocol__bloc { width: 100%; max-width: 30rem; margin: 0 auto; }
/* h2.-prefixat, nu doar .ac-hero-protocol__titlu: pagina are deja o regulă
   generală `[data-lum="lumina"] h2 { color: var(--aur-premium) }`, cu
   specificitate mai mare decât o singură clasă — fără tag-ul h2 aici,
   titlul ieșea auriu peste tot, nu violet. */
h2.ac-hero-protocol__titlu {
  margin: 0 0 0.5rem; text-align: center; text-transform: uppercase;
  font-family: "Playfair Display", var(--display), serif; font-weight: 900;
  font-size: clamp(1.375rem, 1rem + 1.8vw, 2rem); line-height: 1.3; color: #1b0a3d;
}
.ac-hero-protocol__titlu-aur { color: #c9973a; }
.ac-hero-protocol__subtitlu-mare { margin: 0 0 1.25rem; text-align: center; color: var(--text-bland); font-size: 0.9375rem; }

.ac-oferta-unica {
  display: flex; align-items: center; gap: 1rem; width: 100%;
  padding: 1.1rem 1.25rem; border: 0; border-radius: 16px; cursor: pointer;
  background: linear-gradient(160deg, #e6c88a, #C9A66B); color: #252525; text-align: left;
  font: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent;
  box-shadow: 0 16px 36px -20px rgb(150 96 14 / 0.45);
}
.ac-oferta-unica:hover { filter: brightness(1.04); }
.ac-oferta-unica__iconita { flex: none; width: 2.5rem; height: 2.5rem; }
.ac-oferta-unica__iconita svg, .ac-oferta-unica__iconita img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ac-oferta-unica__texte { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.2rem; }
.ac-oferta-unica__texte strong {
  font-family: "Playfair Display", var(--display), serif; font-weight: 900;
  font-size: clamp(1.0625rem, 0.95rem + 0.5vw, 1.1875rem); letter-spacing: 0.01em;
  color: #252525; white-space: nowrap;
}
.ac-oferta-unica__texte > span {
  font-family: "Manrope", sans-serif; font-size: 0.75rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase; color: rgb(37 37 37 / 0.65);
}
.ac-oferta-unica__sageata {
  flex: none; width: 2.125rem; height: 2.125rem; border-radius: 50%;
  border: 1.5px solid rgb(37 37 37 / 0.35); display: grid; place-items: center; color: #252525;
}
.ac-oferta-unica__sageata svg { width: 1rem; height: 1rem; }

.ac-hero-protocol__nota {
  display: flex; align-items: center; justify-content: center; gap: 0.3rem;
  margin: 0.75rem 0 0; font-size: 0.75rem; color: var(--text-sters, var(--text-bland));
}
.ac-hero-protocol__nota svg { width: 0.875rem; height: 0.875rem; flex: none; }

/* Asistență pentru plăți — opțiunea „Am plătit" rămâne funcțională, dar
   discretă: nu mai e un al doilea buton de ofertă, cu același preț. */
.ac-asistenta-plata {
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
  width: 100%; max-width: 24rem; margin: 0.85rem auto 0;
  padding: 0.6rem 0.9rem; border-radius: 999px; background: transparent;
  border: 1px solid var(--card-linie); color: var(--text-bland);
  font-size: 0.8125rem; font-weight: 600; cursor: pointer;
}
.ac-asistenta-plata svg { width: 1rem; height: 1rem; flex: none; }
.ac-asistenta-plata:hover { border-color: var(--accent); color: var(--accent); }

.ac-acces-dropdown { margin-bottom: 0.6rem; border: 1px solid var(--card-linie); border-radius: 8px; overflow: hidden; }
.ac-acces-dropdown summary {
  display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 0.3rem 0.75rem;
  padding: 0.65rem 0.9rem; cursor: pointer; list-style: none; font-size: 0.9375rem;
  background: var(--card);
}
.ac-acces-dropdown summary::-webkit-details-marker { display: none; }
.ac-acces-dropdown summary::after {
  content: "▾"; margin-left: auto; color: var(--text-sters); transition: transform 0.2s var(--usor);
}
.ac-acces-dropdown[open] summary::after { transform: rotate(180deg); }
.ac-acces-dropdown__titlu { font-weight: 600; }
.ac-acces-dropdown__stare { font-size: 0.8125rem; color: var(--text-bland); margin-left: auto; }
.ac-acces-dropdown__corp { padding: 0.75rem 0.9rem 0.9rem; }
.ac-acces-dropdown__actiuni { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.6rem; }
@media (max-width: 520px) {
  .ac-acces-dropdown__actiuni { flex-direction: column; align-items: stretch; }
  .ac-acces-dropdown__actiuni .btn { width: 100%; }
}
.ac-badge { display: inline-flex; padding: 0.15rem 0.55rem; border-radius: 99px; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.02em; }
.ac-badge--activ { background: rgb(111 163 90 / 0.18); color: #4d7a3c; }
.ac-badge--inactiv { background: rgb(181 69 47 / 0.14); color: #b5452f; }
.ac-plati-istoric { flex-basis: 100%; display: flex; flex-direction: column; gap: 0.2rem; margin-top: 0.4rem; padding: 0.5rem 0.75rem; background: var(--card); border-radius: 6px; }
.ac-plata-rand { display: flex; gap: 0.75rem; flex-wrap: wrap; font-size: 0.78125rem; color: var(--text-bland); }
.ac-progres-rand { margin: 0.9rem 0; }
.ac-progres-nume { font-size: 0.85rem; font-weight: 600; color: var(--text); margin-bottom: 0.3rem; overflow-wrap: anywhere; }
.ac-progres-bara { position: relative; height: 1.5rem; border-radius: 99px; background: var(--card); overflow: hidden; border: 1px solid var(--card-linie); }
.ac-progres-bara__umplere { height: 100%; background: var(--accent); width: 0%; transition: width 0.2s ease; }
.ac-progres-bara__text { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 600; color: var(--text); }
.ac-progres-detaliu { font-size: 0.78125rem; color: var(--text-bland); margin-top: 0.3rem; overflow-wrap: anywhere; }
/* Modul — antet pliabil (acordeon), ca un program cu multe lecții să nu
   devină o listă nesfârșită: implicit, doar modulele scurte (≤4 lecții)
   pornesc deschise. */
.ac-modul-admin { border: 1px solid var(--card-linie); border-radius: var(--r); padding: 0; margin-bottom: 1rem; background: rgb(252 249 242 / 0.5); overflow: hidden; }
.ac-modul-admin__cap {
  display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
  padding: 0.85rem 1rem; cursor: pointer; user-select: none;
}
.ac-modul-admin__cap:hover { background: rgb(232 181 98 / 0.08); }
.ac-modul-admin__cap:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ac-modul-admin__chevron {
  flex: none; display: inline-flex; color: var(--aur-premium, var(--accent));
  transform: rotate(90deg); transition: transform 0.25s var(--usor, ease);
}
.ac-modul-admin__chevron svg { width: 13px; height: 13px; }
.ac-modul-admin--inchis .ac-modul-admin__chevron { transform: rotate(0deg); }
.ac-modul-admin__cap strong { font-size: 1.0625rem; }
.ac-modul-admin__numar {
  font-size: 0.75rem; color: var(--text-sters); background: var(--card-linie);
  border-radius: 99px; padding: 0.15rem 0.6rem; flex: none;
}
.ac-modul-admin__actiuni { display: flex; align-items: center; gap: 0.35rem; margin-left: auto; flex-wrap: wrap; }
.ac-modul-admin__corp { padding: 0 1rem 1rem; border-top: 1px solid var(--card-linie); }
.ac-modul-admin__corp > .ac-lectie-admin:first-child { margin-top: 0.85rem; }

/* Lecție — un bloc complet și pliabil: închis arată doar titlul și, discret,
   ce tipuri de materiale are; deschis arată tot (titlu editabil, video/audio/
   PDF, descriere, materiale suplimentare), ca o singură chakră să fie
   administrată dintr-un singur loc, fără pagini separate. */
.ac-lectie-admin {
  border: 1px solid var(--card-linie); border-radius: 10px;
  margin-bottom: 0.65rem; background: rgb(255 253 246 / 0.65); overflow: hidden;
}
.ac-lectie-admin__cap {
  display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
  padding: 0.65rem 0.85rem; cursor: pointer; user-select: none;
}
.ac-lectie-admin__cap:hover { background: rgb(232 181 98 / 0.08); }
.ac-lectie-admin__cap:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ac-lectie-admin__chevron {
  flex: none; display: inline-flex; color: var(--aur-premium, var(--accent));
  transform: rotate(90deg); transition: transform 0.25s var(--usor, ease);
}
.ac-lectie-admin__chevron svg { width: 12px; height: 12px; }
.ac-lectie-admin--inchis .ac-lectie-admin__chevron { transform: rotate(0deg); }
.ac-lectie-admin__nr {
  flex: none; width: 1.625rem; height: 1.625rem; display: inline-flex; align-items: center;
  justify-content: center; border-radius: 50%; background: var(--card-linie);
  font-size: 0.75rem; font-weight: 700; color: var(--text-bland);
}
.ac-lectie-admin__titlu-text { font-weight: 600; }
.ac-lectie-admin__titlu { flex: 1 1 13rem; min-width: 0; font-weight: 600; padding: 0.45rem 0.65rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; }
.ac-lectie-admin__indicii { display: flex; align-items: center; gap: 0.3rem; color: var(--text-sters); }
.ac-lectie-admin__indicii svg { width: 13px; height: 13px; }
.ac-lectie-admin__actiuni { display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; font-size: 0.8125rem; margin-left: auto; }
.ac-lectie-admin__corp { padding: 0 0.85rem 0.85rem; }
.ac-lectie-admin__campuri { display: flex; gap: 0.6rem; flex-wrap: wrap; margin-top: 0.6rem; }
.ac-lectie-admin__campuri label { flex: 1 1 10.5rem; display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.75rem; color: var(--text-sters); }
.ac-lectie-admin__campuri input { padding: 0.45rem 0.6rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; font-size: 0.875rem; }
.ac-lectie-admin__descriere {
  display: block; width: 100%; margin-top: 0.6rem; padding: 0.45rem 0.6rem; border-radius: 6px;
  border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; font-size: 0.875rem; resize: vertical;
}
.ac-lectie-admin__incarcare {
  margin-top: 0.6rem; padding-top: 0.55rem; border-top: 1px dashed var(--card-linie);
  display: flex; gap: 0.75rem; flex-wrap: wrap; align-items: center; font-size: 0.8125rem; color: var(--text-bland);
}
.ac-lectie-admin__imagine-mica { width: 2.5rem; height: 2.5rem; object-fit: cover; border-radius: 6px; flex: none; }

/* Materiale suplimentare — listă liberă de titlu+link, pe lângă PDF-ul unic */
.ac-materiale-admin { margin-top: 0.65rem; padding-top: 0.6rem; border-top: 1px dashed var(--card-linie); }
.ac-materiale-admin__eticheta { font-size: 0.75rem; color: var(--text-sters); display: block; margin-bottom: 0.4rem; }
.ac-materiale-admin__rand { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.4rem; align-items: center; }
.ac-materiale-admin__rand input { flex: 1 1 10rem; padding: 0.4rem 0.55rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; font-size: 0.8125rem; }

@media (max-width: 560px) {
  .ac-lectie-admin__actiuni { margin-left: 0; }
  .ac-modul-admin__actiuni { margin-left: 0; width: 100%; }
}

/* --- Banner de instalare (PWA) — apare peste orice pagină din Academie,
   discret, jos pe ecran; dispare 30 de zile dacă e închis. --- */
.ac-pwa-banner {
  position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 40;
  max-width: 26rem; margin: 0 auto;
  display: flex; align-items: stretch; gap: 0.5rem;
}
.ac-pwa-banner__principal {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 0.6rem;
  background: var(--aur-premium, var(--accent)); color: #241705; border: 0; border-radius: var(--r);
  padding: 0.95rem 1.25rem; font: inherit; font-weight: 600; font-size: 0.9375rem; cursor: pointer;
  box-shadow: 0 20px 45px -18px rgb(111 74 15 / 0.5); -webkit-tap-highlight-color: transparent;
}
.ac-pwa-banner__principal:hover { filter: brightness(1.05); }
.ac-pwa-banner__ico { flex: none; display: inline-flex; }
.ac-pwa-banner__ico svg { width: 20px; height: 20px; }
.ac-pwa-banner__inchide {
  flex: none; background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  color: var(--text-bland); cursor: pointer; width: 3rem; font-size: 1.0625rem; line-height: 1;
  -webkit-tap-highlight-color: transparent;
}
.ac-pwa-banner__inchide:hover { color: var(--text); }

.ac-pwa-modal-fundal {
  position: fixed; inset: 0; z-index: 50; background: rgb(14 21 18 / 0.55);
  display: flex; align-items: flex-end; justify-content: center; padding: 1rem;
}
.ac-pwa-modal {
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  padding: 1.5rem; max-width: 26rem; width: 100%;
  box-shadow: 0 30px 70px -30px rgb(8 14 12 / 0.55);
}
.ac-pwa-modal h3 { font-family: var(--display); font-weight: 500; font-size: 1.125rem; margin-bottom: 0.9rem; }
.ac-pwa-modal ol { list-style: decimal; margin: 0 0 1.25rem; padding-left: 1.25rem; }
.ac-pwa-modal li { margin-bottom: 0.6rem; color: var(--text-bland); font-size: 0.9375rem; }
.ac-pwa-modal li b { color: var(--text); }
