/* Grekaful Header – Lovable-design WordPress port, Hello Theme / Elementor override */
:root{
  --gh-bg: rgba(10,10,12,.72);
  --gh-bg-solid:#0a0a0c;
  --gh-border: rgba(255,255,255,.08);
  --gh-fg:#f5f5f4;
  --gh-fg-muted: rgba(245,245,244,.62);
  --gh-gold:#c9a866;
  --gh-gold-fg:#0a0a0c;
  --gh-h:80px;
}

html body .gh-header,
html body .gh-header *{
  box-sizing:border-box !important;
  -webkit-tap-highlight-color:transparent !important;
}

body{ padding-top:var(--gh-h); }

html body .gh-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:999999 !important;
  width:100% !important;
  min-height:var(--gh-h) !important;
  background:var(--gh-bg) !important;
  background-color:rgba(10,10,12,.72) !important;
  background-image:none !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  border:0 !important;
  border-bottom:1px solid var(--gh-border) !important;
  box-shadow:none !important;
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif !important;
  color:var(--gh-fg) !important;
}

html body .gh-nav{
  max-width:1280px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 24px !important;
  height:var(--gh-h) !important;
  min-height:var(--gh-h) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}

@media (min-width:1024px){
  html body .gh-nav{ padding:0 40px !important; }
}

html body .gh-brand,
html body .gh-brand:visited,
html body .gh-brand:hover,
html body .gh-brand:focus,
html body .gh-brand:active{
  display:flex !important;
  align-items:center !important;
  flex:0 1 auto !important;
  gap:12px !important;
  min-width:0 !important;
  text-decoration:none !important;
  color:var(--gh-fg) !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  line-height:1 !important;
  box-shadow:none !important;
  outline:0 !important;
}

html body .gh-logo{
  height:48px !important;
  width:auto !important;
  min-width:auto !important;
  max-width:none !important;
  max-height:48px !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  display:block !important;
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}

html body .gh-brand-text{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
  line-height:1 !important;
  gap:0 !important;
  padding:0 !important;
  margin:0 !important;
}

html body .gh-title{
  display:block !important;
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-weight:500 !important;
  font-size:24px !important;
  line-height:1 !important;
  letter-spacing:.025em !important;
  text-transform:none !important;
  white-space:nowrap !important;
  color:var(--gh-fg) !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
}

html body .gh-tagline{
  display:block !important;
  font-family:'Inter', system-ui, sans-serif !important;
  font-weight:300 !important;
  font-size:10px !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.15em !important;
  white-space:nowrap !important;
  color:var(--gh-fg-muted) !important;
  background:transparent !important;
  padding:0 !important;
  margin:4px 0 0 !important;
}

html body .gh-menu-wrap{ display:none !important; }
@media (min-width:768px){
  html body .gh-menu-wrap{
    display:flex !important;
    flex:1 1 auto !important;
    justify-content:center !important;
    min-width:0 !important;
  }
}

html body .gh-menu{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:32px !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1 !important;
}

html body .gh-menu li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

html body .gh-menu a,
html body .gh-menu a:visited{
  color:rgba(245,245,244,.85) !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  text-decoration:none !important;
  box-shadow:none !important;
  outline:0 !important;
  transition:color .2s ease !important;
}

html body .gh-menu a:hover,
html body .gh-menu a:focus,
html body .gh-menu .gh-active > a,
html body .gh-menu .current-menu-item > a{
  color:var(--gh-gold) !important;
}

html body .gh-cta,
html body .gh-cta:visited,
html body .gh-cta:focus,
html body .gh-cta:active{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  width:auto !important;
  border:1px solid var(--gh-gold) !important;
  color:var(--gh-gold) !important;
  padding:10px 20px !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.25em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  transition:background-color .2s ease, color .2s ease !important;
}

html body .gh-cta:hover{
  background:var(--gh-gold) !important;
  background-color:var(--gh-gold) !important;
  color:var(--gh-gold-fg) !important;
}

html body .gh-cta--desktop{ display:none !important; }
@media (min-width:768px){
  html body .gh-cta--desktop{ display:inline-flex !important; }
}

/* Hamburger – erősített Elementor/Hello Theme override */
html body #grekaful-header .gh-toggle,
html body #grekaful-header button.gh-toggle,
html body #grekaful-header .gh-toggle:hover,
html body #grekaful-header .gh-toggle:focus,
html body #grekaful-header .gh-toggle:focus-visible,
html body #grekaful-header .gh-toggle:active,
html body #grekaful-header .gh-toggle[aria-expanded="true"]{
  display:inline-flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  gap:5px !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  max-width:44px !important;
  max-height:44px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid var(--gh-gold) !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  color:var(--gh-gold) !important;
  cursor:pointer !important;
  border-radius:0 8px 0 8px !important;
  box-shadow:none !important;
  text-shadow:none !important;
  outline:0 !important;
  filter:none !important;
  -webkit-tap-highlight-color:transparent !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  overflow:hidden !important;
  transform:none;
  transition:transform .2s ease !important;
}

html body #grekaful-header .gh-toggle::before,
html body #grekaful-header .gh-toggle::after{
  content:none !important;
  display:none !important;
  background:transparent !important;
}

html body #grekaful-header .gh-toggle:hover{ transform:scale(1.05) !important; }
html body #grekaful-header .gh-toggle:active{ transform:scale(.95) !important; }

html body #grekaful-header .gh-toggle-bar{
  width:20px !important;
  height:2px !important;
  min-height:2px !important;
  display:block !important;
  background:var(--gh-gold) !important;
  background-color:var(--gh-gold) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  padding:0 !important;
  margin:0 !important;
  transform-origin:center !important;
  transition:transform .3s ease, opacity .3s ease !important;
}

html body #grekaful-header .gh-toggle[aria-expanded="true"] .gh-toggle-bar:nth-child(1){ transform:translateY(7px) rotate(45deg) !important; }
html body #grekaful-header .gh-toggle[aria-expanded="true"] .gh-toggle-bar:nth-child(2){ opacity:0 !important; }
html body #grekaful-header .gh-toggle[aria-expanded="true"] .gh-toggle-bar:nth-child(3){ transform:translateY(-7px) rotate(-45deg) !important; }

@media (min-width:768px){
  html body #grekaful-header .gh-toggle,
  html body #grekaful-header button.gh-toggle{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

html body .gh-mobile{
  background:rgba(10,10,12,.96) !important;
  background-color:rgba(10,10,12,.96) !important;
  background-image:none !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  border-top:1px solid var(--gh-border) !important;
  overflow:hidden !important;
  box-shadow:none !important;
}

/* Animált nyitás/zárás – a JS .is-open osztályt kapcsol */
html body .gh-mobile{
  display:block !important;
  max-height:0 !important;
  opacity:0 !important;
  transform:translateY(-6px) !important;
  pointer-events:none !important;
  transition:max-height .42s cubic-bezier(.22,.61,.36,1), opacity .28s ease, transform .32s ease !important;
  will-change:max-height, opacity, transform;
}
html body .gh-mobile.is-open{
  max-height:80vh !important;
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}
html body .gh-mobile[hidden]{ display:block !important; }

/* A mobil menü pontjai külön-külön bejönnek */
html body .gh-mobile .gh-menu > li,
html body .gh-mobile .gh-cta,
html body .gh-mobile .gh-phone{
  opacity:0 !important;
  transform:translateY(8px) !important;
  transition:opacity .35s ease, transform .35s ease !important;
}
html body .gh-mobile.is-open .gh-menu > li,
html body .gh-mobile.is-open .gh-cta,
html body .gh-mobile.is-open .gh-phone{
  opacity:1 !important;
  transform:translateY(0) !important;
  transition-delay:.12s !important;
}
html body .gh-mobile.is-open .gh-menu > li:nth-child(1){ transition-delay:.08s !important; }
html body .gh-mobile.is-open .gh-menu > li:nth-child(2){ transition-delay:.14s !important; }
html body .gh-mobile.is-open .gh-menu > li:nth-child(3){ transition-delay:.20s !important; }
html body .gh-mobile.is-open .gh-menu > li:nth-child(4){ transition-delay:.26s !important; }
html body .gh-mobile.is-open .gh-menu > li:nth-child(5){ transition-delay:.32s !important; }
html body .gh-mobile.is-open .gh-menu > li:nth-child(6){ transition-delay:.38s !important; }
html body .gh-mobile.is-open .gh-cta{ transition-delay:.42s !important; }
html body .gh-mobile.is-open .gh-phone{ transition-delay:.48s !important; }

html body .gh-mobile-inner{
  max-width:1280px !important;
  margin:0 auto !important;
  padding:28px 24px 32px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:22px !important;
  font-size:15px !important;
}

html body .gh-mobile .gh-menu{
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:26px !important;
  font-size:17px !important;
}

html body .gh-mobile .gh-menu a{
  display:inline-block !important;
  padding:4px 0 !important;
  line-height:1.2 !important;
}

html body .gh-mobile .gh-cta{
  width:fit-content !important;
  margin-top:12px !important;
}

html body .gh-phone,
html body .gh-phone:visited,
html body .gh-phone:hover,
html body .gh-phone:focus,
html body .gh-phone:active{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  color:var(--gh-gold) !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  text-decoration:none !important;
  font-size:15px !important;
  line-height:1 !important;
  box-shadow:none !important;
}

@media (min-width:768px){
  html body .gh-mobile{ display:none !important; }
}

@media (max-width:380px){
  html body .gh-nav{ padding:0 18px !important; gap:14px !important; }
  html body .gh-logo{ height:44px !important; max-height:44px !important; }
  html body .gh-title{ font-size:21px !important; }
  html body .gh-tagline{ font-size:9px !important; letter-spacing:.12em !important; }
}
  /* ─── Horizontal overflow teljes megelőzés ──────────────── */
  html{overflow-x:hidden}
  body{overflow-x:hidden;max-width:100vw}

  @media (max-width:767px){
    html body .gh-header{overflow:hidden !important;max-width:100vw !important}
    html body .gh-nav{max-width:100% !important;overflow:hidden !important}
    html body .gh-brand{flex:0 1 auto !important;min-width:0 !important;overflow:hidden !important;max-width:calc(100% - 92px) !important}
    html body .gh-brand-text{min-width:0 !important;overflow:hidden !important}
    html body .gh-title{max-width:100% !important;overflow:hidden !important;text-overflow:ellipsis !important}
    html body .gh-tagline{display:none !important}
  }
  
  /* ─── WordPress / Hello Elementor oldalcím elrejtése ──────── */
  /* A téma által az Elementor tartalom elé kiírt page/post title */
  html body .entry-title,
  html body .page-title,
  html body .elementor-page-title,
  html body .elementor-page-title *,
  html body header.entry-header,
  html body .site-title,
  html body .site-description {
    display: none !important;
  }
  