/* Iconițele materiilor (bibliotecă / imagine / text): mărimea vine din font-size. */
.lv-ico{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1;vertical-align:-.14em;flex:0 0 auto}
.lv-ico svg,.lv-ico img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:contain;margin:0!important;border-radius:0!important;box-shadow:none!important}
.lv-ico--mono{color:inherit}
.lv-ico--text{width:auto;height:auto}

/* Eticheta nivelului de dificultate: stele + nume, în culoarea nivelului. */
.lv-level{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:3px 11px 3px 9px;border-radius:999px;background:var(--lvl,#2FA866);color:var(--lvl-ink,#fff);font-size:14px;font-weight:800;line-height:1.25;white-space:nowrap;box-shadow:inset 0 -3px 0 rgba(0,0,0,.14)}
.lv-level-stars{letter-spacing:1px;font-size:.95em}

/* Grila de povești și placa de module. Totul e prefixat cu .avt- ca să nu se bată cu tema. */
.avt-wrap,.avt-hub{
  --avt-c:#1C82C4;
  --avt-ink:#173B4D;
  --avt-ink-soft:#4C6A79;
  --avt-line:#DDEAF2;
  --avt-sun:#FFC83D;
  --avt-font:"Baloo 2","Trebuchet MS","Segoe UI",system-ui,sans-serif;
  --avt-tint:#EAF5FC;
  --avt-tint:color-mix(in srgb,var(--avt-c) 12%,#fff);
  --avt-edge:color-mix(in srgb,var(--avt-c) 72%,#000);
  font-family:var(--avt-font);
  color:var(--avt-ink);
  -webkit-tap-highlight-color:transparent;
}
.avt-wrap *,.avt-wrap *::before,.avt-wrap *::after,.avt-hub *,.avt-hub *::before,.avt-hub *::after{box-sizing:border-box}

/* Iese din coloana îngustă de text a temei, ca grila să aibă loc pe desktop. */
.avt-wrap.avt-wrap,.avt-hub.avt-hub{
  --avt-w:min(1120px,calc(100vw - 32px));
  width:var(--avt-w);
  max-width:none!important;
  margin-top:24px;margin-bottom:40px;
  margin-left:calc(50% - var(--avt-w) / 2)!important;
  margin-right:0!important;
}

/* ---------- Antet ---------- */
.avt-hero{
  display:flex;align-items:center;gap:18px;
  padding:18px 22px;margin:0 0 18px;border-radius:26px;
  background:var(--avt-tint);
  border:3px solid color-mix(in srgb,var(--avt-c) 22%,#fff);
}
.avt-hero-emoji{
  flex:0 0 auto;display:grid;place-items:center;width:76px;height:76px;border-radius:24px;
  background:var(--avt-c);color:#fff;font-size:44px;line-height:1;
  box-shadow:inset 0 -6px 0 rgba(0,0,0,.16);
  animation:avt-wobble 4s ease-in-out infinite;
}
.avt-hero-title{margin:0;font-family:var(--avt-font);font-size:clamp(28px,5vw,42px);font-weight:800;line-height:1;color:var(--avt-ink)}
.avt-hero-desc{margin:4px 0 0;font-size:clamp(16px,2.2vw,19px);line-height:1.35;color:var(--avt-ink-soft);font-weight:600}
.avt-hero-count{margin:6px 0 0;display:inline-block;padding:2px 12px;border-radius:999px;background:#fff;font-size:15px;font-weight:700;color:var(--avt-edge)}
@keyframes avt-wobble{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg) translateY(-3px)}}

/* ---------- Filtre ---------- */
.avt-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.avt-chip{
  appearance:none;cursor:pointer;font:inherit;
  display:inline-flex;align-items:center;gap:6px;
  min-height:44px;padding:4px 18px;border-radius:999px;
  border:3px solid var(--avt-line);background:#fff;color:var(--avt-ink);
  font-size:17px;font-weight:700;line-height:1;
  box-shadow:0 4px 0 var(--avt-line);
  transition:transform .12s ease,box-shadow .12s ease,background .15s ease;
}
.avt-chip:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--avt-line)}
.avt-chip:active{transform:translateY(3px);box-shadow:0 1px 0 var(--avt-line)}
.avt-chip-stars{color:#F2A900;letter-spacing:-1px}
.avt-chip.is-active{background:var(--avt-c);border-color:var(--avt-edge);color:#fff;box-shadow:0 4px 0 var(--avt-edge)}
.avt-chip.is-active .avt-chip-stars{color:#FFE27A}
/* Filtrele de nivel au culoarea nivelului */
.avt-chip--level{border-color:var(--lvl);box-shadow:0 4px 0 var(--lvl)}
.avt-chip--level .avt-chip-stars{color:var(--lvl)}
.avt-chip--level:hover{box-shadow:0 6px 0 var(--lvl)}
.avt-chip--level.is-active{background:var(--lvl);border-color:var(--lvl);color:var(--lvl-ink);box-shadow:0 4px 0 color-mix(in srgb,var(--lvl) 70%,#000)}
.avt-chip--level.is-active .avt-chip-stars{color:var(--lvl-ink)}
.avt-chip:focus-visible,.avt-card-link:focus-visible,.avt-hub-tile a:focus-visible{outline:4px solid var(--avt-sun);outline-offset:3px}

/* ---------- Grila ---------- */
.avt-grid,.avt-hub{list-style:none;padding:0;margin:0}
.avt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.avt-card{margin:0;padding:0;animation:avt-pop .5s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i,0) * 70ms)}
.avt-card[hidden]{display:none}
@keyframes avt-pop{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}

.avt-card-link{
  display:flex;flex-direction:column;height:100%;
  text-decoration:none!important;color:inherit!important;
  background:#fff;border-radius:24px;overflow:hidden;
  border:3px solid color-mix(in srgb,var(--lvl,#DDEAF2) 45%,#fff);
  box-shadow:0 8px 0 var(--lvl,var(--avt-line));
  transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,border-color .18s ease;
}
.avt-card-link:hover{transform:translateY(-6px) rotate(-.6deg);border-color:var(--lvl,var(--avt-c));box-shadow:0 14px 0 var(--lvl,var(--avt-c))}
.avt-card-link:active{transform:translateY(3px);box-shadow:0 3px 0 var(--lvl,var(--avt-line))}

.avt-thumb{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--avt-tint)}
.avt-thumb-img{display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform .4s ease;margin:0!important;border-radius:0!important}
.avt-card-link:hover .avt-thumb-img{transform:scale(1.06)}

/* Thumbnail generat automat când povestea n-are imagine */
.avt-thumb-auto{
  position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(145deg,color-mix(in srgb,var(--avt-c) 55%,#fff),var(--avt-c));
  filter:hue-rotate(var(--hue,0deg));
}
.avt-thumb-bubble{position:absolute;border-radius:50%;background:rgba(255,255,255,.22)}
.avt-thumb-bubble.b1{width:58%;aspect-ratio:1;top:-18%;right:-14%}
.avt-thumb-bubble.b2{width:30%;aspect-ratio:1;bottom:-8%;left:-6%}
.avt-thumb-bubble.b3{width:12%;aspect-ratio:1;top:20%;left:16%;background:rgba(255,255,255,.4)}
.avt-thumb-emoji{position:relative;color:#fff;font-size:clamp(64px,9vw,84px);line-height:1;filter:drop-shadow(0 6px 0 rgba(0,0,0,.14));transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.avt-card-link:hover .avt-thumb-emoji{transform:scale(1.12) rotate(-8deg)}
.avt-thumb-letter{position:absolute;right:12px;bottom:4px;font-size:46px;font-weight:800;color:rgba(255,255,255,.55);line-height:1}

.avt-badge-age{
  position:absolute;left:10px;top:10px;padding:3px 11px;border-radius:999px;
  background:rgba(255,255,255,.94);color:var(--avt-ink);font-size:14px;font-weight:700;line-height:1.3;
  box-shadow:0 2px 0 rgba(0,0,0,.1);
}

.avt-card-body{flex:1;display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.avt-card-title{font-size:21px;font-weight:800;line-height:1.15;color:var(--avt-ink)}
.avt-card-desc{font-size:15.5px;line-height:1.35;color:var(--avt-ink-soft);font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.avt-card-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:8px}
.avt-card-module{margin-right:auto;display:inline-flex;align-items:center;gap:5px;font-size:15px;font-weight:800;color:var(--avt-c);line-height:1.2;min-width:0}
.avt-card-module .lv-ico{font-size:22px}
.avt-card-body .lv-level{margin-bottom:2px}
.avt-stars{font-size:20px;letter-spacing:1px;color:#F2A900;line-height:1}
.avt-play{
  display:inline-flex;align-items:center;gap:6px;
  min-height:42px;padding:2px 18px;border-radius:999px;
  background:var(--avt-c);color:#fff;font-size:17px;font-weight:800;
  box-shadow:inset 0 -4px 0 rgba(0,0,0,.18);
  transition:transform .15s ease;
}
.avt-card-link:hover .avt-play{transform:scale(1.06)}

.avt-empty,.avt-filter-empty{text-align:center;padding:40px 16px;border-radius:24px;background:var(--avt-tint);font-size:19px;font-weight:700;color:var(--avt-ink-soft)}
.avt-empty p{margin:6px 0 0}
.avt-empty-emoji{font-size:56px;display:block;color:var(--avt-c)}
.avt-filter-empty[hidden]{display:none}

/* ---------- Placa de module [aventura_hub] ---------- */
.avt-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.avt-hub-tile{margin:0;animation:avt-pop .5s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i,0) * 90ms)}
.avt-hub-tile a{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  min-height:190px;padding:22px;border-radius:28px;
  background:var(--avt-c);color:#fff!important;text-decoration:none!important;
  box-shadow:inset 0 -8px 0 rgba(0,0,0,.16),0 8px 0 color-mix(in srgb,var(--avt-c) 35%,#fff);
  transition:transform .18s cubic-bezier(.34,1.56,.64,1);
}
.avt-hub-tile a::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-50px;top:-60px;background:rgba(255,255,255,.16)}
.avt-hub-tile a:hover{transform:translateY(-6px) rotate(-1deg)}
.avt-hub-emoji{font-size:64px;line-height:1;margin-bottom:auto;color:#fff;filter:drop-shadow(0 5px 0 rgba(0,0,0,.15))}
.avt-hub-emoji .lv-ico--color,.avt-hub-emoji .lv-ico--image{padding:.12em;border-radius:.28em;background:rgba(255,255,255,.92);box-sizing:content-box;width:.8em;height:.8em}
.avt-hub-label{font-size:30px;font-weight:800;line-height:1.05;margin-top:14px}
.avt-hub-count{font-size:16px;font-weight:700;opacity:.9}

/* ---------- Mobil ---------- */
@media (max-width:600px){
  .avt-wrap.avt-wrap,.avt-hub.avt-hub{--avt-w:calc(100vw - 24px);margin-top:12px}
  .avt-hero{padding:14px;gap:14px;border-radius:22px}
  .avt-hero-emoji{width:60px;height:60px;font-size:34px;border-radius:18px}
  .avt-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
  .avt-card-link{border-radius:20px}
  .avt-card-body{padding:10px 12px 12px}
  .avt-card-title{font-size:18px}
  .avt-card-desc{display:none}
  .avt-stars{font-size:16px}
  .lv-level{font-size:12.5px;padding:2px 9px 2px 7px}
  .avt-card-module{font-size:13.5px}
  .avt-play{min-height:36px;padding:2px 12px;font-size:15px}
  .avt-badge-age{font-size:12.5px;left:8px;top:8px;padding:2px 9px}
  .avt-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;margin-inline:-2px;scrollbar-width:none}
  .avt-filters::-webkit-scrollbar{display:none}
  .avt-chip{flex:0 0 auto;font-size:16px}
  .avt-hub{grid-template-columns:1fr 1fr;gap:14px}
  .avt-hub-tile a{min-height:150px;padding:16px;border-radius:22px}
  .avt-hub-emoji{font-size:48px}
  .avt-hub-label{font-size:22px}
}
@media (max-width:360px){
  .avt-grid{grid-template-columns:1fr}
  .avt-hub{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .avt-card,.avt-hub-tile,.avt-hero-emoji{animation:none}
  .avt-card-link,.avt-card-link *,.avt-chip,.avt-hub-tile a{transition:none!important}
}

.lv-star-off{opacity:.38}
