/* ================================================================
   GÖCSEJ TIMBER — design system
   Astra Child + Elementor Pro stack.
   Ez a CSS adja a prémium kinézetet.
   Az Elementor adja a layoutot — ez a kettő nem keveredik.
   ================================================================ */

/* ----------------------------------------------------------------
   TOKENS — egyetlen helyen, mindenhol használható
   ---------------------------------------------------------------- */
:root {
  --bark:         #16110C;  /* sötét geszt — fő háttér */
  --bark-2:       #1E1710;  /* kicsit világosabb geszt — alt szekció */
  --heartwood:    #2C2118;  /* szíjács — kártya háttér */
  --honey:        #D29646;  /* akác geszt szín — akcentszín */
  --ember:        #B5701F;  /* sötétebb honey — hover */
  --sapwood:      #EFE7D7;  /* világos szíjács — fő szöveg */
  --sap-dim:      #B6AB95;  /* halványabb szíjács — másodlagos szöveg */
  --forest:       #5E6E47;  /* göcseji erdő zöld — success/confirm */
  --line:         rgba(239,231,215,.13);   /* finom elválasztó */
  --line-strong:  rgba(239,231,215,.28);   /* erősebb elválasztó */
  --ease:         cubic-bezier(.16,.84,.34,1);
  --hdr:          84px;
  --maxw:         1240px;
  --r-card:       16px;
  --r-btn:        40px;
}

/* ----------------------------------------------------------------
   RESET — csak ami az Astra felett kell
   ---------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
::selection { background: var(--honey); color: var(--bark); }

body {
  background-color: var(--bark) !important;
  color: var(--sapwood) !important;
  font-family: 'Inter', sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Film grain overlay — az egész oldal felett */
body::after {
  content: "";
  position: fixed; inset: 0; z-index: 9998;
  pointer-events: none; opacity: .05; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

a { color: inherit; }
img, svg { display: block; max-width: 100%; }

/* ----------------------------------------------------------------
   TIPOGRÁFIA — Bricolage + Inter + JetBrains Mono
   Az Elementor Typography beállítások ezeket az osztályokat használják
   ---------------------------------------------------------------- */
.gt-display,
.elementor-widget-heading .elementor-heading-title.gt-display {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: -.02em !important;
}
.gt-h1 .elementor-heading-title {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(2.9rem, 8vw, 7rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.025em !important;
  color: var(--sapwood) !important;
  max-width: 13ch;
}
.gt-h2 .elementor-heading-title {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.9rem, 4.4vw, 3.4rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.02em !important;
  color: var(--sapwood) !important;
}
.gt-h3 .elementor-heading-title {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.4rem !important;
  color: var(--sapwood) !important;
}

/* Em az Elementor heading title-ben = honey szín */
.elementor-heading-title em {
  font-style: normal;
  color: var(--honey);
}

.gt-body .elementor-widget-text-editor p,
.gt-body p {
  color: var(--sap-dim) !important;
  font-size: 1.04rem !important;
  line-height: 1.7 !important;
}
.gt-body strong { color: var(--sapwood) !important; font-weight: 600; }

.gt-sub .elementor-widget-text-editor p {
  color: var(--sap-dim) !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  line-height: 1.6 !important;
  max-width: 54ch;
}

.gt-idx {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .72rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--honey) !important;
}
.gt-idx .elementor-heading-title {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .72rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--honey) !important;
  font-weight: 400 !important;
}

.gt-mono {
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 400 !important;
}

/* ----------------------------------------------------------------
   GOMB — Elementor button widget felett
   ---------------------------------------------------------------- */
.gt-btn .elementor-button {
  background: var(--honey) !important;
  color: var(--bark) !important;
  border: 1px solid var(--honey) !important;
  border-radius: var(--r-btn) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .8rem !important;
  letter-spacing: .04em !important;
  font-weight: 500 !important;
  padding: 13px 26px !important;
  transition: background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease) !important;
  box-shadow: none !important;
}
.gt-btn .elementor-button:hover {
  background: transparent !important;
  color: var(--honey) !important;
  transform: translateY(-1px) !important;
}
.gt-btn--ghost .elementor-button {
  background: transparent !important;
  color: var(--sapwood) !important;
  border-color: var(--line-strong) !important;
}
.gt-btn--ghost .elementor-button:hover {
  border-color: var(--sapwood) !important;
  color: var(--sapwood) !important;
}

/* ----------------------------------------------------------------
   HEADER — Elementor Theme Builder header template
   ---------------------------------------------------------------- */
.gt-header-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--hdr);
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 32px;
  gap: 24px;
}

/* Sticky header scroll state (JS adja az is-scrolled osztályt) */
#ast-fixed-header,
.ast-primary-header-bar {
  transition: background .5s var(--ease), backdrop-filter .5s, border-color .5s !important;
  border-bottom: 1px solid transparent !important;
}
.gt-header-scrolled #ast-fixed-header,
.gt-header-scrolled .ast-primary-header-bar {
  background: rgba(22,17,12,.84) !important;
  backdrop-filter: blur(14px) !important;
  border-bottom-color: var(--line) !important;
}

/* Brand / logó */
.gt-brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.18rem !important;
  color: var(--sapwood) !important;
  text-decoration: none !important;
  flex-shrink: 0;
}
.gt-brand em  { font-style: normal; color: var(--honey); }
.gt-brand b   { font-weight: 700; }

/* Navigáció */
.gt-nav-list {
  display: flex !important;
  gap: 30px !important;
  list-style: none !important;
  margin: 0 !important; padding: 0 !important;
  justify-content: center;
  flex: 1;
}
.gt-nav-list a {
  font-size: .82rem !important;
  letter-spacing: .04em !important;
  color: var(--sap-dim) !important;
  text-decoration: none !important;
  transition: color .25s !important;
  position: relative;
  padding-bottom: 3px;
}
.gt-nav-list a::after {
  content: "";
  position: absolute; left: 0; bottom: -4px;
  height: 1px; width: 0;
  background: var(--honey);
  transition: width .3s var(--ease);
}
.gt-nav-list a:hover,
.gt-nav-list .current-menu-item > a { color: var(--sapwood) !important; }
.gt-nav-list a:hover::after,
.gt-nav-list .current-menu-item > a::after { width: 100%; }

/* Nyelvváltó */
.gt-lang {
  display: flex !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .72rem !important;
}
.gt-lang a, .gt-lang span {
  padding: 7px 11px !important;
  color: var(--sap-dim) !important;
  transition: .25s !important;
  text-decoration: none !important;
}
.gt-lang a.is-on, .gt-lang span.is-on,
.gt-lang a:hover { background: var(--honey) !important; color: var(--bark) !important; }

/* Header CTA gomb */
.gt-headcta .elementor-button {
  padding: 10px 18px !important;
  font-size: .74rem !important;
}

/* ----------------------------------------------------------------
   SZEKCIÓK — Elementor section/container felett
   ---------------------------------------------------------------- */

/* Alt háttér (sötétebb szekció) */
.gt-sec-alt {
  background-color: var(--bark-2) !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
}

/* Elválasztó vonal */
.gt-divider { border-color: var(--line) !important; }

/* ----------------------------------------------------------------
   HERO — HTML widget szekción belül
   ---------------------------------------------------------------- */
.gt-hero {
  position: relative;
  overflow: hidden;
  min-height: 92vh;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.gt-hero-bg {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
}
.gt-hero-bg::after {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(120% 90% at 78% 18%, rgba(210,150,70,.16), transparent 55%),
    linear-gradient(180deg, rgba(22,17,12,.5) 0%, var(--bark) 96%);
}
.gt-topo {
  position: absolute; inset: 0;
  width: 100%; height: 100%; opacity: .5;
}
.gt-hero-rings {
  position: absolute; right: -180px; top: -130px;
  width: 720px; height: 720px; opacity: .5;
  animation: gt-spin 140s linear infinite;
}
@keyframes gt-spin { to { transform: rotate(360deg); } }

/* Koordináta sor */
.gt-coord {
  display: flex;
  justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
  font-family: 'JetBrains Mono', monospace;
  font-size: .7rem; letter-spacing: .14em;
  color: var(--sap-dim);
  border-bottom: 1px solid var(--line);
  padding-bottom: 14px; margin-bottom: 36px;
}
.gt-coord i {
  display: inline-block;
  width: 6px; height: 6px;
  background: var(--honey); border-radius: 50%;
  margin-right: 8px; vertical-align: middle;
}

/* ----------------------------------------------------------------
   STAT SZALAG — HTML widget
   ---------------------------------------------------------------- */
.gt-strip {
  overflow: hidden;
  background: var(--bark-2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.gt-strip__track {
  display: flex;
  width: max-content;
  white-space: nowrap;
  animation: gt-slide 38s linear infinite;
}
.gt-strip:hover .gt-strip__track { animation-play-state: paused; }
@keyframes gt-slide { to { transform: translateX(-50%); } }
.gt-strip__item {
  display: inline-flex; align-items: center; gap: 14px;
  padding: 20px 36px;
  font-family: 'JetBrains Mono', monospace;
  font-size: .82rem; letter-spacing: .06em;
  color: var(--sap-dim);
  border-right: 1px solid var(--line);
}
.gt-strip__item b { color: var(--sapwood); font-weight: 500; }
.gt-strip__item u { color: var(--honey); text-decoration: none; font-size: 1.05rem; }

/* ----------------------------------------------------------------
   FOTÓ PLACEHOLDER — Elementor image widget helyett (amíg nincs kép)
   ---------------------------------------------------------------- */
.gt-photo-ph {
  position: relative;
  border-radius: var(--r-card);
  overflow: hidden;
  border: 1px solid var(--line);
  min-height: 460px;
  background:
    radial-gradient(70% 60% at 30% 20%, rgba(210,150,70,.14), transparent 60%),
    repeating-linear-gradient(118deg,
      #3a2a1c 0 14px, #33251a 14px 30px, #2b1f15 30px 47px);
}
.gt-photo-ph__tag {
  position: absolute; left: 16px; bottom: 16px;
  font-family: 'JetBrains Mono', monospace;
  font-size: .66rem; letter-spacing: .14em;
  color: var(--sapwood);
  background: rgba(22,17,12,.6); border: 1px solid var(--line-strong);
  padding: 6px 10px; border-radius: 30px; backdrop-filter: blur(4px);
}

/* ----------------------------------------------------------------
   KÁRTYÁK — Elementor container/column felett
   ---------------------------------------------------------------- */
.gt-card {
  background: var(--heartwood) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-card) !important;
  transition: transform .45s var(--ease), border-color .45s var(--ease) !important;
}
.gt-card:hover {
  transform: translateY(-4px) !important;
  border-color: var(--line-strong) !important;
}
.gt-card__num {
  font-family: 'JetBrains Mono', monospace;
  font-size: .7rem; letter-spacing: .12em;
  color: var(--honey); display: block; margin-bottom: 36px;
}
.gt-card__spec {
  border-top: 1px solid var(--line);
  padding-top: 16px;
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-top: 16px;
}
.gt-card__spec span {
  font-family: 'JetBrains Mono', monospace;
  font-size: .7rem; color: var(--sap-dim);
  border: 1px solid var(--line);
  padding: 5px 9px; border-radius: 6px;
}
.gt-card__spec b { color: var(--honey); font-weight: 400; }

/* ----------------------------------------------------------------
   SCANNER ANIMÁCIÓ — HTML widget
   ---------------------------------------------------------------- */
.gt-scanner {
  position: relative;
  border-radius: 18px;
  border: 1px solid var(--line-strong);
  overflow: hidden;
  min-height: 380px;
  aspect-ratio: 4 / 3;
  background: radial-gradient(60% 60% at 50% 45%, #2a1f15, #16110c);
}
.gt-scanner__rings {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
}
.gt-scanner__line {
  position: absolute; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--honey), transparent);
  box-shadow: 0 0 18px 2px rgba(210,150,70,.5);
  animation: gt-scan 3.4s var(--ease) infinite;
}
@keyframes gt-scan {
  0%   { top: 8%; }
  50%  { top: 92%; }
  100% { top: 8%; }
}
.gt-scanner__tag {
  position: absolute;
  font-family: 'JetBrains Mono', monospace;
  font-size: .62rem; letter-spacing: .1em;
}
.gt-scanner__tag--1 { top: 14%; left: 10%; color: var(--honey); }
.gt-scanner__tag--2 { bottom: 16%; right: 12%; color: var(--honey); }
.gt-scanner__tag--3 { top: 48%; right: 10%; color: var(--sap-dim); }

/* ----------------------------------------------------------------
   FOOTER — Elementor Theme Builder footer template
   ---------------------------------------------------------------- */
.gt-footer-wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 32px;
}
.gt-foot-bot {
  display: flex;
  justify-content: space-between; flex-wrap: wrap; gap: 14px;
  border-top: 1px solid var(--line); padding-top: 26px; margin-top: 46px;
  font-family: 'JetBrains Mono', monospace;
  font-size: .7rem; color: var(--sap-dim); letter-spacing: .06em;
}
.gt-foot-bot a { color: var(--sap-dim); transition: color .25s; }
.gt-foot-bot a:hover { color: var(--honey); }
.gt-foot-col h5 {
  font-family: 'JetBrains Mono', monospace;
  font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--honey); margin-bottom: 18px;
}
.gt-foot-col a,
.gt-foot-col p {
  display: block;
  color: var(--sap-dim) !important;
  font-size: .9rem; margin-bottom: 11px;
  transition: color .25s;
}
.gt-foot-col a:hover { color: var(--sapwood) !important; }

/* ----------------------------------------------------------------
   REVEAL ANIMÁCIÓ — scroll megjelenés
   JS adja az is-visible osztályt IntersectionObserver-rel
   ---------------------------------------------------------------- */
.gt-rv {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .9s var(--ease), transform .9s var(--ease);
}
.gt-rv.is-visible { opacity: 1; transform: none; }

/* ----------------------------------------------------------------
   ELEMENTOR GLOBÁLIS FELÜLÍRÁSOK
   Astra + Elementor alapértelmezett stílusok visszaszorítása
   ---------------------------------------------------------------- */
.elementor-section,
.e-con { background-color: transparent; }

/* Astra konténer szélesség felülírása */
.ast-container,
.ast-separate-container .ast-article-post,
.ast-plain-container { max-width: var(--maxw) !important; }

/* Elementor widget gap reset */
.elementor-widget:not(:last-child) { margin-bottom: 0; }

/* ----------------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------------- */
@media (max-width: 1024px) {
  .gt-nav-list { gap: 20px; }
}
@media (max-width: 768px) {
  :root { --hdr: 70px; }
  .gt-coord span:nth-child(2) { display: none; }
  .gt-scanner { aspect-ratio: auto; min-height: 280px; }
}
@media (max-width: 480px) {
  .gt-coord { font-size: .62rem; }
  .gt-strip__item { padding: 16px 24px; font-size: .74rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
  .gt-rv { opacity: 1 !important; transform: none !important; }
}
