/* ============================================
   "Koji nivo vam je potreban" (cilj → CEFR nivo)
   templates/part/level-requirements.twig
   ============================================ */

.level-requirements .lr-head {
  max-width: 820px;
}

.level-requirements .lr-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.125rem;
  padding: 0.4375rem 1rem;
  border-radius: 100px;
  background-color: var(--pink-faint);
  color: var(--orange-dark);
  font-family: var(--h-font), system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.2;
}

.level-requirements .lr-eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 3px rgba(255, 115, 25, 0.18);
}

.level-requirements .lr-lead {
  color: var(--grey-clay);
  font-size: 1.12rem;
}

/* ============================================
   Grupa (jedna zemlja = jedna tabela)
   ============================================ */

.level-requirements .lr-group-head {
  margin-bottom: 1rem;
}

.level-requirements .lr-group-title {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.375rem;
  color: var(--blvck);
  font-size: 1.35rem;
  font-weight: 800;
}

.level-requirements .lr-group-title::before {
  content: "";
  width: 6px;
  height: 1.4em;
  border-radius: 100px;
  background-color: var(--orange-dark);
}

.level-requirements .lr-group-intro {
  margin-bottom: 0;
  color: var(--grey-clay);
  font-size: 0.98rem;
  line-height: 1.65;
}

/* Horizontalno klizanje ostaje UNUTAR tabele — stranica se ne sme pomerati
   vodoravno. Na uskom ekranu tabela ionako prelazi u kartice, pa se ovo vidi
   samo u uskom tabletnom opsegu. */
.level-requirements .lr-table-wrap {
  border: 1px solid var(--grey-solomon);
  border-radius: 20px;
  background-color: var(--white);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.level-requirements .lr-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: 0.94rem;
}

.level-requirements .lr-table thead th {
  padding: 0.9375rem 1.125rem;
  border-bottom: 1px solid var(--grey-solomon);
  background-color: var(--grey-faint);
  color: var(--grey-olive);
  font-family: var(--h-font), system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
}

.level-requirements .lr-table tbody tr + tr th,
.level-requirements .lr-table tbody tr + tr td {
  border-top: 1px solid var(--grey-solomon);
}

.level-requirements .lr-table tbody th,
.level-requirements .lr-table tbody td {
  padding: 1.0625rem 1.125rem;
  color: var(--grey-clay);
  line-height: 1.6;
  text-align: left;
  vertical-align: top;
}

.level-requirements .lr-table tbody th {
  font-weight: 400;
}

/* Širine kolona MORAJU ostati u min-width upitu. Kad su stajale bez njega,
   `td:nth-child(2)` je zbog pseudo-klase bio specifičniji od `width: auto` iz
   mobilnog bloka, pa je kolona sa nivoima i u kartičnom prikazu ostajala na
   14% — oznake B1 i B2 su se slagale jedna ispod druge, a duži linkovi
   izlazili iz ekrana. */
@media (min-width: 992px) {
  .level-requirements .lr-table tbody th {
    width: 22%;
  }

  .level-requirements .lr-table tbody td:nth-child(2) {
    width: 14%;
  }
}

.level-requirements .lr-goal {
  display: block;
  color: var(--blvck);
  font-family: var(--h-font), system-ui, sans-serif;
  font-weight: 800;
  font-size: 1rem;
  line-height: 1.3;
}

.level-requirements .lr-subgoal {
  display: block;
  margin-top: 0.1875rem;
  color: var(--grey-clay);
  font-size: 0.84rem;
  line-height: 1.35;
}

/* ============================================
   Oznake nivoa
   ============================================ */

.level-requirements .lr-levels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.level-requirements .lr-level {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.6875rem;
  border: 1px solid var(--orange-blight);
  border-radius: 100px;
  background-color: var(--pink-faint);
  color: var(--orange-dark);
  font-family: var(--h-font), system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.9rem;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

@media (hover: hover) {
  .level-requirements a.lr-level:hover {
    border-color: var(--orange-dark);
    background-color: var(--orange-dark);
    color: var(--white);
  }
}

.level-requirements .lr-level-plain {
  border-color: var(--grey-light);
  background-color: var(--grey-faint);
  color: var(--grey-olive);
}

.level-requirements .lr-level-note {
  display: block;
  margin-top: 0.4375rem;
  color: var(--grey-clay);
  font-size: 0.8rem;
  line-height: 1.35;
}

.level-requirements .lr-table a:not(.lr-level) {
  color: var(--red-flame);
  font-weight: 700;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   Disclaimer + dugmad
   ============================================ */

.level-requirements .lr-disclaimer {
  max-width: 900px;
  margin: 1.5rem auto 0;
  color: var(--grey-clay);
  font-size: 0.84rem;
  line-height: 1.6;
  text-align: center;
}

.level-requirements .lr-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.level-requirements .lr-cta {
  display: inline-flex;
  align-items: center;
  padding: 0.75rem 1.5rem;
  border-radius: 100px;
  color: var(--white);
  font-family: var(--h-font), system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  transition: filter 0.2s ease;
}

@media (hover: hover) {
  .level-requirements .lr-cta:hover {
    color: var(--white);
    filter: brightness(0.93);
  }
}

/* ============================================
   Responsive — red postaje kartica
   ============================================ */

@media (max-width: 991.98px) {
  /* Zaglavlje se sklanja, a ulogu kolone preuzima data-label uz svaku ćeliju.
     Skrivanje je `position: absolute`, ne `display: none` — traka zaglavlja
     ostaje u stablu pristupačnosti i u onome što čitaju alati za izvlačenje
     sadržaja. */
  .level-requirements .lr-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .level-requirements .lr-table-wrap {
    border: 0;
    border-radius: 0;
    background-color: transparent;
    overflow-x: visible;
  }

  .level-requirements .lr-table,
  .level-requirements .lr-table tbody,
  .level-requirements .lr-table tbody tr,
  .level-requirements .lr-table tbody th,
  .level-requirements .lr-table tbody td {
    display: block;
    width: auto;
  }

  /* Kartica je siva, ne bela: sekcija je na beloj podlozi, pa bi belo na belom
     ostavilo samo tanku liniju da nosi razdvajanje. */
  .level-requirements .lr-table tbody tr {
    margin-bottom: 1rem;
    border: 1px solid var(--grey-solomon);
    border-radius: 18px;
    background-color: var(--grey-faint);
    padding: 0.5rem 0.25rem;
  }

  .level-requirements .lr-table tbody tr:last-child {
    margin-bottom: 0;
  }

  .level-requirements .lr-table tbody tr + tr th,
  .level-requirements .lr-table tbody tr + tr td {
    border-top: 0;
  }

  .level-requirements .lr-table tbody th,
  .level-requirements .lr-table tbody td {
    padding: 0.625rem 1rem;
  }

  .level-requirements .lr-table tbody td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.25rem;
    color: var(--grey-olive);
    font-family: var(--h-font), system-ui, sans-serif;
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .level-requirements .lr-table tbody th + td,
  .level-requirements .lr-table tbody td + td {
    border-top: 1px dashed var(--grey-solomon);
  }
}

@media (max-width: 575.98px) {
  .level-requirements .lr-group-title {
    font-size: 1.2rem;
  }

  .level-requirements .lr-actions .lr-cta {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .level-requirements .lr-cta {
    transition: none;
  }
}
