/* ==========================================================================
   LAB5 WordPress Theme — main.css
   A prototípus styles.css-éből portolva + WP-specifikus kiegészítések.
   ========================================================================== */

/* ---------- Design tokens ---------- */
:root {
  --ink:       #1d1d1b;
  --ink-soft:  #6a6a66;
  --ink-faint: #a7a7a2;
  --line:      #e2e2dd;
  --canvas:    #ffffff;
  --accent:    #1d1d1b;
  --pad:       clamp(24px, 4vw, 64px);
  --cols:      repeat(3, 1fr);
  --gap:       8px;
  --font:      'Barlow', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body {
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
  padding: 0;
}

/* WP admin bar — tolja le a fixed/sticky elemeket */
.admin-bar .hdr { margin-top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .hdr { margin-top: 46px; }
}

/* ---------- WP alapértelmezett stílusok semlegesítése ---------- */
.site-main img { max-width: 100%; height: auto; }
.wp-caption { margin: 0; max-width: 100%; }
.wp-caption-text { font-size: 12px; color: var(--ink-faint); margin-top: 6px; }

/* ==========================================================================
   HEADER
   ========================================================================== */
/* Desktop: a topbar wrapper átlátszó (a social ikonok közvetlen flex-gyerekként
   viselkednek), a mobil HU|EN rejtve.
   A .nav__top prefix magasabb specificitást ad, hogy biztosan felülírja a
   .nav__lang { display:flex } szabályt. */
.nav__topbar              { display: contents; }
.nav__top .nav__lang--mob { display: none; }

.hdr { padding: 34px var(--pad) 26px; }
.hdr__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}

.logo { display: inline-flex; align-items: center; }
.logo__svg { height: 40px; width: auto; display: block; }

/* .nav most csak a felső sort (PORTFOLIO/IRODA + social) fogja, a logó mellett */
.nav { display: flex; align-items: center; }
.nav__top { display: flex; align-items: center; gap: 28px; }
.nav__socials { display: flex; gap: 10px; }

.soc {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--ink);
  display: grid;
  place-items: center;
  transition: background .2s, transform .2s;
}
.soc:hover { background: var(--accent); transform: translateY(-1px); }

.nav__primary {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0.06em;
  transition: color .2s;
}
.nav__primary.is-muted  { color: var(--ink-faint); font-weight: 400; }
.nav__primary.is-muted:hover { color: var(--ink); }
.nav__primary.is-active { color: var(--ink); }

/* .nav__bottom most teljes szélességű, önálló sor a logó+menü alatt.
   Jobbra igazítva (mint a desktop design), de a teljes header-szélességet
   használhatja — a logó nem korlátozza, ezért nem ugrál. */
.nav__bottom {
  display: flex; align-items: center; gap: 30px;
  justify-content: flex-end;
  margin-top: 16px;
}
.nav__cats   {
  display: flex; gap: 16px; min-width: 0;
  overflow-x: auto; scrollbar-width: none;
}
.nav__cats::-webkit-scrollbar { display: none; }

.cat {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
  transition: color .2s;
}
.cat:hover    { color: var(--ink); }
.cat.is-active { color: var(--ink); }

.nav__lang {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
}
.nav__lang a,
.nav__lang button {
  letter-spacing: 0.06em;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-faint);
}
.nav__lang a.is-on,
.nav__lang button.is-on { color: var(--ink); font-weight: 600; }
.nav__lang span { color: var(--line); }

/* ==========================================================================
   PORTFÓLIÓ RÁCS
   ========================================================================== */
.grid {
  display: grid;
  grid-template-columns: var(--cols);
  gap: var(--gap);
  padding: clamp(14px, 2vw, 26px) var(--pad) clamp(56px, 8vw, 110px);
}

.tile { position: relative; display: block; overflow: hidden; }
/* A JS-szel elrejtett csempék tényleg tűnjenek el (a .tile display:block-ot felülírja) */
.tile[hidden] { display: none !important; }

.tile__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: repeating-linear-gradient(135deg, #ededea 0 2px, #f6f6f3 2px 12px);
  display: grid;
  place-items: center;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.tile:hover .tile__media { transform: scale(1.04); }

.tile__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(65%);
  transition: filter .55s ease;
}
.tile:hover .tile__img { filter: grayscale(0%); }

.tile__ph {
  font-family: 'Space Grotesk', monospace;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: var(--ink-faint);
  background: rgba(255,255,255,0.82);
  padding: 5px 12px;
  text-align: center;
}

/* Hover-cím overlay */
.tile__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  padding: 22px;
  background: linear-gradient(0deg, rgba(20,20,18,.62) 0%, rgba(20,20,18,.05) 45%, transparent 70%);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.tile:hover .tile__overlay { opacity: 1; }

.tile__title {
  color: #fff;
  font-size: 13.6px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.25;
  transform: translateY(10px);
  opacity: 0;
  will-change: transform, opacity;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), opacity .45s ease;
}
.tile:hover .tile__title { transform: translateY(0); opacity: 1; }

/* Cím-alul variáns */
.title-below .tile { overflow: visible; }
.title-below .tile__overlay {
  position: static;
  opacity: 1;
  background: none;
  padding: 14px 0 0;
  display: block;
}
.title-below .tile__title {
  color: var(--ink);
  font-size: 12px;
  font-weight: 400;
  transform: none;
  opacity: 1;
  transition: color .2s;
}
.title-below .tile:hover .tile__title { color: var(--accent); }

/* ==========================================================================
   PROJEKT ALOLDAL
   ========================================================================== */
.proj-hero { padding: clamp(8px, 1.5vw, 18px) var(--pad) 0; }

/* Carousel */
.carousel {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  max-height: 80vh;
  overflow: hidden;
  background: #fff;
}
.carousel__track {
  display: flex;
  height: 100%;
  gap: 5px;   /* fehér elválasztó sáv a képek között */
  transition: transform .6s cubic-bezier(.5,.05,.2,1);
}
/* Egységes magasság, természetes szélesség — álló képnél a szomszéd becsúszik */
.carousel__slide {
  position: relative;
  flex: 0 0 auto;
  height: 100%;
  min-height: 0;   /* flex-elem ne nőjön a kép természetes magasságára */
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: repeating-linear-gradient(135deg, #ededea 0 2px, #f6f6f3 2px 12px);
}
.carousel__slide img { height: 100%; width: auto; max-width: none; display: block; }
.carousel__ph {
  font-family: 'Space Grotesk', monospace;
  font-size: 13px;
  letter-spacing: 0.05em;
  color: var(--ink-faint);
  background: rgba(255,255,255,0.85);
  padding: 6px 14px;
  text-align: center;
}

.carousel__arrow {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  background: none;
  color: rgba(255,255,255,0.4);
  display: flex;
  align-items: center;
  z-index: 3;
  opacity: 0;
  transition: opacity .3s, color .2s;
}
.carousel:hover .carousel__arrow     { opacity: 1; }
.carousel__arrow:hover               { color: rgba(255,255,255,0.9); }
.carousel__arrow.is-prev             { left: 0; justify-content: flex-start; padding-left: 16px; }
.carousel__arrow.is-next             { right: 0; justify-content: flex-end; padding-right: 16px; }
.carousel__arrow svg path            { stroke-width: 2; }

.carousel__counter                    { display: none; }

/* Filmstrip */
.carousel__filmstrip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 4;
}
.carousel__filmstrip-bar {
  height: 2px;
  background: rgba(255,255,255,0.35);
  transition: background .3s;
}
.carousel.is-hovered .carousel__filmstrip-bar { background: rgba(255,255,255,0.7); }

.carousel__thumbs {
  display: flex;
  gap: 4px;
  justify-content: center;
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  padding: 0 22px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0);
  transition: opacity .35s ease, transform .35s cubic-bezier(.2,.7,.2,1);
}
.carousel.is-hovered .carousel__thumbs {
  opacity: 1;
  transform: translateY(-4px);
  pointer-events: auto;
}
.carousel__thumb {
  width: 72px;
  height: 46px;
  flex-shrink: 0;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color .2s, transform .2s;
  background: rgba(255,255,255,0.15);
}
.carousel__thumb img          { width: 100%; height: 100%; object-fit: cover; display: block; }
.carousel__thumb-ph           { display: block; width: 100%; height: 100%; background: repeating-linear-gradient(135deg, rgba(255,255,255,.1) 0 1px, rgba(255,255,255,.05) 1px 6px); }
.carousel__thumb:hover        { border-color: rgba(255,255,255,0.6); transform: translateY(-2px); }
.carousel__thumb.is-on        { border-color: #fff; }

/* Projekt fejléc */
.proj-head {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: clamp(36px, 6vw, 96px);
  padding: clamp(36px, 5vw, 64px) var(--pad) clamp(20px, 3vw, 32px);
  align-items: start;
}
.proj-kicker {
  margin: 12px 0 22px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.proj-title {
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 32px;
  line-height: 1.1;
  text-wrap: balance;
}
.proj-lead {
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 46ch;
}

.proj-meta { display: flex; flex-direction: column; gap: 0; }
.proj-meta__row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 12px;
  padding: 4px 0;
  align-items: baseline;
}
.proj-meta__k { font-size: 14px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); }
.proj-meta__v { font-size: 14px; line-height: 1.45; color: var(--ink-soft); }

/* Projekt leírás (WP editor tartalma) */
.proj-body { padding: clamp(20px, 3vw, 40px) var(--pad); }
.proj-body p,
.proj-body__text p {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.68;
  color: var(--ink-soft);
}
.proj-body p:last-child,
.proj-body__text p:last-child { margin-bottom: 0; }

/* Credits */
.credits {
  margin: clamp(28px, 4vw, 52px) var(--pad) 0;
  border-top: 1px solid var(--ink);
}
.credits__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 0;
  text-align: left;
  cursor: pointer;
}
.credits__toggle-label {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
}
.credits__chevron {
  color: var(--ink-soft);
  display: grid;
  place-items: center;
  transition: transform .35s ease;
}
.credits.is-open .credits__chevron { transform: rotate(180deg); }

.credits__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .25s cubic-bezier(.4,0,.2,1);
}
.credits.is-open .credits__panel { grid-template-rows: 1fr; }
.credits__inner { overflow: hidden; min-height: 0; }

.credits__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  gap: clamp(18px, 2.4vw, 28px) clamp(36px, 6vw, 80px);
}
.credits.is-open .credits__grid { padding-bottom: clamp(20px, 3vw, 36px); }

/* Stacked: szerep felül, iroda | nevek alatta — nem csúszik szét hosszú névnél sem */
.credits__row { padding: 0; }
.credits__k {
  display: block;
  margin-bottom: 4px;
  font-size: 14px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink);
}
.credits__v {
  display: block;
  font-size: 14px; line-height: 1.45; color: var(--ink-soft);
}
.credits__office { color: var(--ink-soft); font-weight: 400; }
.credits__sep  { color: var(--line); }
.credits__spacer { height: clamp(48px, 6vw, 80px); }

/* Prev / Next */
.proj-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: clamp(56px, 8vw, 110px);
  border-top: 1px solid var(--line);
  background: var(--line);
}
.proj-nav__link {
  background: var(--canvas);
  padding: clamp(26px, 3vw, 44px) var(--pad);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: background .25s;
}
.proj-nav__link.is-next       { align-items: flex-end; text-align: right; }
.proj-nav__link:hover         { background: #faf9f6; }
.proj-nav__link.is-empty      { pointer-events: none; }
.proj-nav__dir  { font-size: 10.5px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-faint); }
.proj-nav__name { font-size: clamp(18px, 2vw, 26px); font-weight: 300; transition: color .2s; }
.proj-nav__link:hover .proj-nav__name { color: var(--accent); }

/* ==========================================================================
   IRODA ALOLDALAK
   ========================================================================== */
.iroda-page { padding: clamp(36px, 5vw, 64px) var(--pad) clamp(56px, 8vw, 100px); }

.iroda-split {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
.iroda-split.is-wide-img { grid-template-columns: 1fr 1.8fr; }

.iroda-title {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0 0 clamp(24px, 3vw, 40px);
}

.iroda-body           { font-size: 14px; color: var(--ink-soft); line-height: 1.68; }
.iroda-body p,
.iroda-body div       { margin: 0 0 18px; font-size: 14px; line-height: 1.68; color: var(--ink-soft); }
.iroda-body p:last-child,
.iroda-body div:last-child { margin-bottom: 0; }
.iroda-body h2, .iroda-body h3, .iroda-body h4 {
  font-size: 14px; font-weight: 500; line-height: 1.68;
  text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--ink); margin: 24px 0 0;
}
.iroda-body h5 {
  font-size: 14px; font-weight: 500; line-height: 1.68;
  text-transform: none; letter-spacing: 0;
  color: var(--ink); margin: 24px 0 0;
}
.iroda-body h2:first-child,
.iroda-body h3:first-child,
.iroda-body h4:first-child,
.iroda-body h5:first-child { margin-top: 0; }
.iroda-body ul, .iroda-body ol {
  padding-left: 0; margin: 0 0 18px; list-style-position: inside;
}
.iroda-body ul + ul,
.iroda-body ol + ol,
.iroda-body ul + ol,
.iroda-body ol + ul { margin-top: 0; }
.iroda-body li        { font-size: 14px; line-height: 1.68; color: var(--ink-soft); margin-bottom: 2px; }
.iroda-body strong    { font-weight: 600; color: var(--ink); }
.iroda-body a         { color: var(--ink); text-decoration: underline; }
.iroda-body a:hover   { color: var(--accent); }

.iroda-img            { width: 100%; display: block; object-fit: cover; }
.iroda-img.is-tall    { aspect-ratio: 3/4; }
.iroda-img.is-wide    { aspect-ratio: 16/9; }

/* Recept blokk (Profil) */
.iroda-recipe { margin-bottom: 28px; }
.iroda-recipe__row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  padding: 4px 0;
  align-items: baseline;
}
.iroda-recipe__k { font-size: 14px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); }
.iroda-recipe__v { font-size: 14px; color: var(--ink-soft); }

/* Csapat rács */
.team-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px 18px;
}
.team-card__photo {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
  background: repeating-linear-gradient(135deg, #ededea 0 2px, #f6f6f3 2px 12px);
  margin-bottom: 10px;
}
.team-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%);
  transition: filter .4s, opacity .4s;
}
.team-card__img--hover {
  opacity: 0;
}
.team-card:hover .team-card__img--main {
  opacity: 0;
}
.team-card:hover .team-card__img--hover {
  opacity: 1;
  filter: grayscale(0%);
}
.team-card:hover .team-card__img--main {
  filter: grayscale(0%);
}
.team-card__name        { font-size: 14px; font-weight: 500; color: var(--ink); margin-bottom: 3px; }
.team-card__role        { font-size: 12px; color: var(--ink-soft); line-height: 1.4; }

/* Díjak lista */
.awards-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(40px, 6vw, 80px); }
.award-item  { padding: 14px 0; border-top: 1px solid var(--line); }
.award-item:first-child,
.award-item:nth-child(2) { border-top: none; }
.award-project { font-size: 14px; font-weight: 500; color: var(--ink); line-height: 1.4; margin-bottom: 4px; }
.award-desc    { font-size: 14px; color: var(--ink-soft); line-height: 1.5; margin-bottom: 0; }
.award-note    { font-size: 14px; color: var(--ink-soft); line-height: 1.5; }
.award-link    { display: block; font-size: 14px; color: var(--ink-soft); line-height: 1.5; text-decoration: underline; transition: color .2s; }
.award-link a  { color: inherit; text-decoration: underline; }
.award-link:hover, .award-link a:hover { color: var(--ink); }

/* Ösztöndíj képrács */
.osztondij-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
}
.osztondij-grid__item {
  aspect-ratio: 3/2;
  overflow: hidden;
  background: repeating-linear-gradient(135deg, #ededea 0 2px, #f6f6f3 2px 12px);
}
.osztondij-grid__item.is-tall { aspect-ratio: 3/4; }
.osztondij-grid__item img     { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(20%); transition: filter .4s; }
.osztondij-grid__item:hover img { filter: grayscale(0%); }

/* Kapcsolat */
.kapcsolat-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
.kapcsolat-sections   { display: flex; flex-direction: column; gap: 0; }
.kapcsolat-section    { padding: 14px 0; border-top: 1px solid var(--line); }
.kapcsolat-section:last-child { border-bottom: 1px solid var(--line); }
.kapcsolat-section__title {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  margin-bottom: 8px;
}
.kapcsolat-section__body   { font-size: 14px; line-height: 1.7; color: var(--ink-soft); }
.kapcsolat-section__body a { color: var(--ink); transition: color .2s; }
.kapcsolat-section__body a:hover { color: var(--accent); }

.kapcsolat-map {
  width: 100%;
  aspect-ratio: 4/3;
  border: 1px solid var(--line);
  background: #f0efec;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kapcsolat-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
  filter: grayscale(100%);
}
.kapcsolat-map__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: var(--ink-soft);
  cursor: pointer;
  background: none;
  border: 1px solid var(--line);
  padding: 20px 32px;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: color .2s, border-color .2s;
}
.kapcsolat-map__btn:hover { color: var(--ink); border-color: var(--ink); }
.kapcsolat-map.is-loaded .kapcsolat-map__btn { display: none; }

/* Karrier */
.karrier-empty { font-size: 14px; font-weight: 500; color: var(--ink); margin-bottom: 14px; }

/* ==========================================================================
   ÖSZTÖNDÍJ
   ========================================================================== */
.osztondij-archive-grid { grid-template-columns: repeat(2, 1fr); }
/* Az iroda oldalon lévő rács szűkebb hasábban 1 oszlop */
.iroda-split .osztondij-archive-grid { grid-template-columns: 1fr; }

/* Hasáb cím (bal: kiírás, jobb: nyertes) */
.osztondij-header__cim {
  margin: 0 0 clamp(20px, 3vw, 32px);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--ink);
}

.osztondij-single {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  padding: clamp(36px, 5vw, 64px) var(--pad) clamp(56px, 8vw, 100px);
  align-items: start;
}
/* min-width: 0 nélkül a grid oszlop szélesebb lesz a tartalomnál (carousel blowout) */
.osztondij-single > * { min-width: 0; }

/* Az ösztöndíj carouselben minden slide 100% széles, cover-vágással —
   a filmszalag-viselkedés csak a portfólió aloldalon kell */
.osztondij-nyertes__foto .carousel__slide {
  flex: 0 0 100%;
}
.osztondij-nyertes__foto .carousel__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: unset;
}

/* Ösztöndíj szövegek — ugyanaz mint az iroda-body */
.osztondij-kiiras__szoveg,
.osztondij-nyertes__szoveg { word-break: break-word; overflow-wrap: break-word; }

/* Az iroda-body stílusok örökölnek — itt csak az egyedi felülírások */
.osztondij-kiiras__szoveg h1,
.osztondij-kiiras__szoveg h2,
.osztondij-kiiras__szoveg h3,
.osztondij-kiiras__szoveg h4,
.osztondij-kiiras__szoveg h5 {
  border: none !important; padding: 0 !important; background: none !important;
  color: var(--ink) !important;
}
.osztondij-kiiras__szoveg h5 {
  text-transform: none !important; letter-spacing: 0 !important;
}

/* Ha a szöveg <br> tagekkel van tördelve (nem <p>), adjunk margót — de li-n belül ne */
.osztondij-kiiras__szoveg br { display: block; margin-bottom: 14px; content: ''; }
.osztondij-kiiras__szoveg li br,
.osztondij-kiiras__szoveg li + br,
.iroda-body li br,
.iroda-body li + br { display: none; margin: 0; }

/* Üres bekezdések elrejtése (wpautop generálja listák után) */
.iroda-body p:empty,
.osztondij-kiiras__szoveg p:empty,
.osztondij-nyertes__szoveg p:empty { display: none; margin: 0; }

/* Nyertes */
.osztondij-nyertes__jelige { font-size: 20px; font-weight: 400; line-height: 1.3; margin: 0 0 16px; color: var(--ink-soft); }
.osztondij-nyertes__szoveg { margin-bottom: clamp(20px,3vw,36px); }
.osztondij-nyertes__foto   { margin-top: clamp(20px,3vw,36px); }

/* ==========================================================================
   RESZPONZÍV
   ========================================================================== */

/* Tablet */
@media (max-width: 980px) {
  .grid                { grid-template-columns: repeat(2, 1fr); }
  /* Kategóriák egy sorban maradnak, szükség esetén vízszintesen görgethetők */
  .nav__cats           {
    flex-wrap: nowrap;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    gap: 16px; scrollbar-width: none;
  }
  .nav__cats::-webkit-scrollbar { display: none; }
  .cat                 { white-space: nowrap; }
  .nav__bottom         { align-items: center; }
  .proj-head           { grid-template-columns: 1fr; }
  .credits__grid       { grid-template-columns: 1fr; }
  .team-grid           { grid-template-columns: repeat(4, 1fr); }
  .iroda-split,
  .iroda-split.is-wide-img { grid-template-columns: 1fr; }
  .kapcsolat-grid      { grid-template-columns: 1fr; }
  .osztondij-grid      { grid-template-columns: repeat(3, 1fr); }
}

/* ==========================================================================
   HEADER mobil elrendezés — 750px alatt (amikor a desktop nav már nem fér el)
   A logó alá rendeződik a menü, a social+HU|EN a logó mellé.
   ========================================================================== */
@media (max-width: 750px) {
  .hdr                 { padding: 16px var(--pad) 12px; }

  /* hdr__inner: logó + a felső menü egymás alatt; a topbar abszolút a logó sorába */
  .hdr__inner          { display: block; position: relative; }
  .logo                { display: inline-flex; margin-top: 5px; } /* a social gombok aljához igazítva */
  .logo__svg           { height: 30px; }   /* ~75% a 40px-ből */

  /* 1. sor: logó (bal) + [social ikonok | HU|EN] (jobb, abszolút) */
  .nav__topbar         {
    display: flex; align-items: center; gap: 14px;
    position: absolute; top: 8px; right: 0;
  }
  .nav__socials        { gap: 6px; }
  .soc                 { width: 24px; height: 24px; }
  .nav__top .nav__lang--mob { display: flex; font-size: 14px; }

  /* nav (PORTFOLIO/IRODA) a logó alatt */
  .nav                 { display: block; width: 100%; margin-top: 10px; }
  .nav__top            { flex-wrap: nowrap; gap: 18px; }
  .nav__primary        { font-size: 18px; }

  /* kategória sor — teljes szélesség, balról, görgethető; HU|EN itt rejtve */
  .nav__bottom         { justify-content: flex-start; margin-top: 12px; }
  .nav__bottom .nav__lang { display: none; }
  .nav__cats           { gap: 14px; width: 100%; padding-bottom: 2px; }
  .cat                 { white-space: nowrap; font-size: 12px; }

  /* Ösztöndíj hasábok egymás alá — bal (cím+kiírás), majd jobb (cím+nyertes) */
  .osztondij-single    { grid-template-columns: 1fr; }
}

/* Mobil — tartalmi átrendezés */
@media (max-width: 600px) {
  /* Portfólió rács */
  .grid                { grid-template-columns: 1fr; }

  /* Csapat */
  .team-grid           { grid-template-columns: repeat(2, 1fr); gap: 16px 12px; }

  /* Díjak */
  .awards-grid         { grid-template-columns: 1fr; }

  /* Projekt aloldal */
  .proj-head           { grid-template-columns: 1fr; padding-top: clamp(20px, 4vw, 36px); }
  .proj-title          { font-size: 22px; }
  .proj-lead           { font-size: 14px; }
  .proj-nav            { grid-template-columns: 1fr; }
  .proj-nav__link.is-next { align-items: flex-start; text-align: left; }

  /* Carousel — mobilon fix magasság, hogy a height:100% slide-ok stabilan számolódjanak */
  .carousel            { aspect-ratio: unset; height: 260px; max-height: 60vw; }
  .carousel__thumbs    { display: none; }

  /* Credits */
  .credits__grid       { grid-template-columns: 1fr; }

  /* Ösztöndíj */
  .osztondij-header__cim { font-size: 22px; }

  /* Iroda */
  .iroda-title         { font-size: 22px; }
  .kapcsolat-grid      { grid-template-columns: 1fr; }
}
