/* === ALAP === */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  /* Közös */
  --krem:         #f7f3ee;
  --feher:        #ffffff;
  --szurke-sotet: #2e2a26;
  --szurke-kozep: #6b6460;
  --szurke-vilag: #e8e3de;

  /* Horgolt – terrakotta vonal */
  --horgolt-fo:      #b5603a;
  --horgolt-halvany: #f5e8e0;
  --horgolt-kozep:   #d4845f;

  /* Lámpa – olajzöld vonal */
  --lampa-fo:      #4a7060;
  --lampa-halvany: #e2eeea;
  --lampa-kozep:   #6a9585;

  --betus-cim:  'Georgia', 'Times New Roman', serif;
  --betus-test: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;

  --arnyek:       0 2px 12px rgba(46,42,38,0.10);
  --arnyek-hover: 0 6px 24px rgba(46,42,38,0.18);
  --atmeneti:     all 0.22s ease;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--betus-test);
  background: var(--krem);
  color: var(--szurke-sotet);
  font-size: 17px;
  line-height: 1.7;
}

.keret {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

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

/* === NAVIGÁCIÓ === */
.nav {
  background: var(--feher);
  border-bottom: 2px solid var(--szurke-vilag);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 8px rgba(46,42,38,0.07);
}

.nav-belso {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
}

.logo {
  font-family: var(--betus-cim);
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--szurke-sotet);
  letter-spacing: 0.04em;
  font-style: italic;
}

.nav-linkek {
  list-style: none;
  display: flex;
  gap: 28px;
}

.nav-linkek a {
  color: var(--szurke-kozep);
  font-size: 1rem;
  font-weight: 500;
  padding: 4px 0;
  border-bottom: 2px solid transparent;
  transition: var(--atmeneti);
}

/* Horgolt oldalon terrakotta aktív */
.horgolt-oldal .nav-linkek a:hover,
.horgolt-oldal .nav-linkek a.aktiv {
  color: var(--horgolt-fo);
  border-bottom-color: var(--horgolt-fo);
}

/* Lámpa oldalon zöld aktív */
.lampa-oldal .nav-linkek a:hover,
.lampa-oldal .nav-linkek a.aktiv {
  color: var(--lampa-fo);
  border-bottom-color: var(--lampa-fo);
}

/* Főoldalon semleges */
.fooldal .nav-linkek a:hover,
.fooldal .nav-linkek a.aktiv {
  color: var(--szurke-sotet);
  border-bottom-color: var(--szurke-sotet);
}

/* === FŐOLDAL HERO === */
.fooldal-hero {
  background: var(--feher);
  padding: 80px 24px 72px;
  text-align: center;
  border-bottom: 1px solid var(--szurke-vilag);
}

.hero-belso {
  max-width: 680px;
  margin: 0 auto;
}

.hero-felso {
  font-size: 0.9rem;
  color: var(--szurke-kozep);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.fooldal-hero h1 {
  font-family: var(--betus-cim);
  font-size: clamp(2.2rem, 5vw, 3.2rem);
  line-height: 1.2;
  color: var(--szurke-sotet);
  margin-bottom: 20px;
  font-style: italic;
}

.hero-also {
  font-size: 1.05rem;
  color: var(--szurke-kozep);
  line-height: 1.75;
}

/* === KAPUK (főoldal) === */
.kapuk {
  padding: 64px 0 72px;
}

.kapuk .keret {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.kapu {
  display: block;
  border-radius: 16px;
  padding: 48px 40px;
  text-decoration: none;
  transition: var(--atmeneti);
  box-shadow: var(--arnyek);
}

.kapu:hover {
  transform: translateY(-5px);
  box-shadow: var(--arnyek-hover);
  text-decoration: none;
}

.kapu-horgolt {
  background: var(--horgolt-halvany);
  border-top: 5px solid var(--horgolt-fo);
}

.kapu-lampa {
  background: var(--lampa-halvany);
  border-top: 5px solid var(--lampa-fo);
}

.kapu-ikon {
  font-size: 2.8rem;
  display: block;
  margin-bottom: 16px;
}

.kapu h2 {
  font-family: var(--betus-cim);
  font-size: 1.6rem;
  color: var(--szurke-sotet);
  margin-bottom: 12px;
  font-style: italic;
}

.kapu p {
  font-size: 1rem;
  color: var(--szurke-kozep);
  line-height: 1.65;
  margin-bottom: 24px;
}

.kapu-gomb {
  display: inline-block;
  font-size: 0.95rem;
  font-weight: 600;
}

.kapu-horgolt .kapu-gomb { color: var(--horgolt-fo); }
.kapu-lampa .kapu-gomb  { color: var(--lampa-fo); }

/* === FŐOLDAL INFO SÁV === */
.fooldal-info {
  background: var(--feher);
  border-top: 1px solid var(--szurke-vilag);
  padding: 28px 0;
  text-align: center;
}

.info-szoveg {
  color: var(--szurke-kozep);
  font-size: 1rem;
}

.info-szoveg a {
  color: var(--horgolt-fo);
  text-decoration: underline;
}

/* === ALOLDAL HERO === */
.aloldal-hero {
  padding: 72px 24px 64px;
  text-align: center;
  border-bottom: 1px solid var(--szurke-vilag);
}

.horgolt-hero {
  background: linear-gradient(160deg, var(--feher) 0%, var(--horgolt-halvany) 100%);
}

.lampa-hero {
  background: linear-gradient(160deg, var(--feher) 0%, var(--lampa-halvany) 100%);
}

.aloldal-hero h1 {
  font-family: var(--betus-cim);
  font-size: clamp(2rem, 4.5vw, 3rem);
  line-height: 1.22;
  color: var(--szurke-sotet);
  margin-bottom: 20px;
  font-style: italic;
}

.horgolt-hero .hero-felso { color: var(--horgolt-fo); }
.lampa-hero  .hero-felso  { color: var(--lampa-fo); }

/* === GALÉRIA === */
.galeria {
  padding: 72px 0 80px;
}

.galeria h2 {
  font-family: var(--betus-cim);
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--szurke-sotet);
  text-align: center;
  margin-bottom: 8px;
  font-style: italic;
}

.alcim {
  text-align: center;
  color: var(--szurke-kozep);
  font-size: 0.93rem;
  margin-bottom: 44px;
}

.kep-racs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;
}

.kep-keret {
  position: relative;
  background: var(--feher);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--arnyek);
  cursor: pointer;
  transition: var(--atmeneti);
}

.kep-keret:hover {
  transform: translateY(-4px);
  box-shadow: var(--arnyek-hover);
}

.kep-keret img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
  background: var(--szurke-vilag);
  min-height: 210px;
}

.kep-felirat {
  padding: 12px 16px;
  font-size: 0.91rem;
  font-weight: 600;
  color: var(--szurke-sotet);
}

.horgolt-oldal .kep-felirat { border-top: 3px solid var(--horgolt-fo); }
.lampa-oldal  .kep-felirat  { border-top: 3px solid var(--lampa-fo); }

/* === KAPCSOLAT === */
.kapcsolat {
  padding: 0 0 80px;
}

.kapcsolat-doboz {
  max-width: 580px;
  margin: 0 auto;
  border-radius: 16px;
  padding: 48px 52px;
  text-align: center;
  box-shadow: var(--arnyek);
}

.horgolt-kapcsolat {
  background: var(--horgolt-halvany);
  border-top: 5px solid var(--horgolt-fo);
}

.lampa-kapcsolat {
  background: var(--lampa-halvany);
  border-top: 5px solid var(--lampa-fo);
}

.kapcsolat-doboz h2 {
  font-family: var(--betus-cim);
  font-size: 1.5rem;
  color: var(--szurke-sotet);
  margin-bottom: 14px;
  font-style: italic;
}

.kapcsolat-doboz p {
  color: var(--szurke-kozep);
  margin-bottom: 28px;
  line-height: 1.65;
}

.elerh-sor {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 14px;
  font-size: 1.05rem;
  font-weight: 600;
}

.horgolt-kapcsolat .elerh-sor a { color: var(--horgolt-fo); }
.lampa-kapcsolat  .elerh-sor a  { color: var(--lampa-fo); }

.elerh-sor a:hover { text-decoration: underline; }

.kapcsolat-info {
  font-size: 0.88rem;
  color: var(--szurke-kozep);
  margin-top: 20px;
  margin-bottom: 0 !important;
  font-style: italic;
}

/* === LIGHTBOX === */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(20,18,16,0.93);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 24px;
  cursor: zoom-out;
}

.lightbox.nyitva { display: flex; }

.lightbox img {
  max-width: min(90vw, 900px);
  max-height: 78vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 8px 48px rgba(0,0,0,0.6);
  cursor: default;
}

#lightbox-felirat {
  margin-top: 16px;
  color: #c8c0b8;
  font-size: 1rem;
  text-align: center;
}

.lightbox-zar {
  position: absolute;
  top: 20px;
  right: 28px;
  background: none;
  border: none;
  color: #c8c0b8;
  font-size: 2rem;
  cursor: pointer;
  padding: 4px 10px;
  border-radius: 6px;
  transition: var(--atmeneti);
}

.lightbox-zar:hover {
  background: rgba(255,255,255,0.12);
  color: var(--feher);
}

/* === LÁBLÉC === */
.labléc {
  background: var(--szurke-sotet);
  color: #a09890;
  text-align: center;
  padding: 40px 24px;
}

.kis {
  font-size: 0.88rem;
  margin-top: 8px;
  opacity: 0.7;
}

/* === RESZPONZÍV === */
@media (max-width: 700px) {
  .kapuk .keret {
    grid-template-columns: 1fr;
  }

  .kapu {
    padding: 36px 28px;
  }

  .nav-belso {
    height: auto;
    padding: 14px 20px;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
  }

  .kep-racs {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .kep-keret img {
    height: 155px;
    min-height: 155px;
  }

  .kapcsolat-doboz {
    padding: 32px 24px;
  }
}

/* === AKADÁLYMENTESSÉG === */
:focus-visible {
  outline: 3px solid var(--horgolt-fo);
  outline-offset: 3px;
  border-radius: 4px;
}

.lampa-oldal :focus-visible {
  outline-color: var(--lampa-fo);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition: none !important;
    animation: none !important;
  }
  html { scroll-behavior: auto; }
}
