/* Τμήματα (single + archive) and Κατηγορίες Σπουδών taxonomy — reuses this stylesheet. */

.neo-ornament { min-height: 250px; padding-right: 24%; position: relative; }
.neo-ornament::after { bottom: 0; color: color-mix(in srgb, var(--neo-accent) 14%, transparent); content: "𝄞"; font-family: var(--neo-heading-font) !important; font-size: 210px; line-height: 1; position: absolute; right: 7%; }

/* Compact single-row name list: the locations row on the Τμήματα single. */
.neo-name-row { display: flex; flex-wrap: wrap; gap: 10px; }
.neo-name-row a { background: var(--neo-surface); border: 1px solid var(--neo-line); border-radius: 6px !important; color: var(--neo-primary); font-size: .85rem; padding: 10px 18px; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.neo-name-row a:hover { background: var(--neo-accent); border-color: var(--neo-accent); color: var(--neo-on-accent); }

/* Instruments taught: simple icon list (name + teacher + note), Τμήματα single.
   Same sol-key mark on every row — see the comment in render_instrument_list(). Two
   columns keep a long instrument roster from turning into one tall scroll. */
.neo-instrument-list { column-gap: 40px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; row-gap: 18px; }
.neo-instrument-list__item { align-items: flex-start; display: flex; gap: 16px; }
.neo-instrument-list__icon { color: var(--neo-accent); flex: 0 0 30px; font-family: var(--neo-heading-font) !important; font-size: 28px; line-height: 1; text-align: center; }
.neo-instrument-list h4 { font-family: var(--neo-body-font) !important; font-size: .95rem; font-weight: 400; margin-bottom: 4px; }
.neo-instrument-list__teacher { color: var(--neo-accent); font-family: var(--neo-accent-font) !important; font-size: .68rem; font-weight: 700; letter-spacing: .07em; margin-bottom: 4px; text-transform: uppercase; }
.neo-instrument-list__teacher a:hover { text-decoration: underline; }
.neo-instrument-list p { color: var(--neo-muted); font-size: .85rem; line-height: 1.55; margin: 0; }

/* Όργανα & Χώροι band: the instrument list then the locations list, stacked full
   width. The per-instrument teacher line now carries the roster, so there is no
   separate "Καθηγητές" name row and the band no longer needs its old two-column
   split. Spacing is left to the base .neo-group rules. The 780px heading clamp is
   dropped here so "Πού πραγματοποιούνται τα μαθήματα" stays on one line. */
.neo-group--basics .neo-section__heading { max-width: none; }

/* Equipment & provisions panel: 52px above the panel, distinct from the plain
   0px a first-of-type .neo-group section otherwise gets — a bordered soft-panel
   needs more air below the divider than a bare heading does. */
.neo-group--equipment > .neo-section { padding-top: 52px; }

@media (max-width: 560px) {
  .neo-name-row a { font-size: .8rem; padding: 8px 14px; }
  .neo-instrument-list { grid-template-columns: 1fr; }
}

.neo-study-categories { margin-bottom: 58px; }

.neo-category-grid { display: grid; gap: 14px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.neo-category-card { background: var(--neo-surface); border: 1px solid var(--neo-line); border-radius: 10px !important; display: grid; grid-template-columns: 72px 1fr auto; min-height: 94px; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.neo-category-card:hover { box-shadow: var(--neo-shadow); transform: translateY(-3px); }
.neo-category-card img, .neo-category-card__placeholder { height: 100%; object-fit: cover; width: 72px; }
.neo-category-card__placeholder { align-items: center; background: var(--neo-paper-deep); color: var(--neo-accent); display: flex; justify-content: center; }
.neo-category-card__placeholder svg { height: 28px; width: 28px; }
.neo-category-card > span:nth-child(2) { align-self: center; padding: 13px; }
.neo-category-card strong, .neo-category-card small { display: block; }
.neo-category-card strong { color: var(--neo-primary); font-family: var(--neo-heading-font) !important; font-weight: var(--e-global-typography-primary-font-weight, 500); line-height: 1.25; }
.neo-category-card small { color: var(--neo-muted); font-size: .7rem; margin-top: 5px; }
.neo-category-card > svg { align-self: center; margin-right: 12px; }

@media (max-width: 1100px) {
  .neo-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .neo-ornament { padding-right: 0; }
}

@media (max-width: 560px) {
  .neo-category-grid { grid-template-columns: 1fr; }
}
