/* --- Mobil nézet (1024px alatt) --- */
@media screen and (max-width: 1024px) {
  /* A desktop menü elrejtése */
  .site-header, .site-nav {
    display: none !important;
  }

  body {
    margin: 0;
    padding-top: 70px !important; /* hely a headernek */
  }

  /* Mobil header */
  .mobile-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background-color: #a47d63; /* a gombok színe */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* legfelső réteg */
    border-bottom: 1px solid #d6c2be;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
	font-size: 4.6rem !important;
  }


  /* Cím */
  .mobile-header .site-title {
    font-family: "Montserrat", sans-serif;
    font-size: 1.8rem;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
  }

  /* Menü gomb */
  .menu-toggle {
    position: absolute;
    left: 15px;
    background: none;
    border: none;
    color: #fff;
    font-size: 2.4rem;
    line-height: 1;
    cursor: pointer;
  }

  /* Menü tartalom */
  .mobile-nav {
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100vh - 60px);
    background-color: #ede3e1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9998;
  }

  .mobile-nav.active {
    display: flex;
  }

  .mobile-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
  }

  .mobile-nav li {
    margin: 1.5rem 0;
  }

  .mobile-nav a {
    text-decoration: none;
    font-size: 1.3rem;
    color: #5b3b34;
    font-weight: 500;
  }

  .mobile-nav a:hover,
  .mobile-nav a.active {
    color: #a47d63;
  }
  :root {
    /* a mobil fejléc valós magassága – ha a gombot/typót növeled, csak ezt írd át */
    --mh: 60px;
  }

  .mobile-header {
    height: var(--mh);
    line-height: var(--mh); /* optikai közép a címnek */
  }

  /* tartalom ne csússzon a header alá (iOS notch-ot is kíméljük) */
  body {
    padding-top: calc(var(--mh) + env(safe-area-inset-top, 0px)) !important;
  }

  /* a lenyíló menü pontosan a header alól induljon */
  .mobile-nav {
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    width: 100vw;
    position: fixed;
    background: var(--menu-bg, #d9c5bd);
    z-index: 9999;
    overflow-y: auto;
  }

  /* ha bármelyik hero-ra korábban került negatív/extra top, nullázzuk mobilon */
  .hero,
  .about-hero,
  .services-hero {
    margin-top: 0 !important;
  }
}

/* --- Desktop nézet (1025px+) --- */
@media screen and (min-width: 1025px) {
  .mobile-header {
    display: none !important;
  }

  .site-header {
    display: block !important;
  }
}

/* --- Globális mobil overflow fix --- */
@media (max-width: 1024px) {
  html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important; /* vízszintes kilógás tiltása */
  }

  * {
    box-sizing: border-box;
  }

  /* minden fő szekció maradjon a viewporton belül */
  section,
  header,
  footer {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }

  /* biztosan ne nyúljon túl a hero vagy overlay sem */
  .hero,
  .contact-hero,
  .services-hero {
    width: 100%;
   /* max-width: 100vw;*/
    overflow-x: hidden;
  }

  /* a Messenger gomb (floating button) is legyen biztonságos */
  .floating-messenger {
    right: 1rem;  /* ne legyen viewporton kívül */
    bottom: 1rem;
    position: fixed;
    z-index: 99999;
  }

  /* és a mobile header se lógjon ki */
  .mobile-header {
    /*width: 100vw;*/
    max-width: 100vw;
    left: 0;
    right: 0;
    box-sizing: border-box;
  }
}
@media (max-width: 1024px) {
  html, body {
    overflow-x: hidden !important;
    width: 100%;
    max-width: 100%;
  }

  * {
    box-sizing: border-box;
	
  }
  .container p {
    margin-bottom: 1rem;
    font-size: 1.4rem;
    color: #444;
	align-items: center;
	justify-content: center;
}
  
  .contact-item {
    font-size: 1.3rem;

}

.contact-item i {
    font-size: 2.5rem

}

  header, section, footer {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }

  /* ---- Hero szekciók fix ---- */
  .hero,
  .contact-hero,
  .services-hero {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .hero * ,
  .contact-hero *,
  .services-hero * {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
	font-size: 2.2rem;
	flex-direction: column;
  }

  /* ha a hero szövegnek van külön konténere */
  .hero-text,
  .contact-hero .text,
  .hero .text,
  .hero-content {
    width: 100%;
    max-width: 100%;
    padding: 0 1rem;
    box-sizing: border-box;
  }

  /* Messenger gomb fix pozicionálás */
  .floating-messenger {
    position: fixed !important;
    right: 1rem !important;
    bottom: 1rem !important;
    transform: none !important;
    z-index: 99999 !important;
  }

  /* Extra biztosíték a headerre is */
  .mobile-header {
    width: 100vw;
    max-width: 100vw;
    left: 0;
    right: 0;
  }
  

}
@media (max-width: 1024px) {
  .mobile-header {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    z-index: 10;
    background-color: #d9c5bd; /* ugyanaz a szín, mint az index header háttere */
    overflow-x: hidden;
  }

  .mobile-header .header-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    width: 100%;
    max-width: 100%;
    position: relative;
    overflow: hidden;
  }

  .menu-toggle {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 11;
    background: none;
    border: none;
    font-size: 2.4rem;
    line-height: 1;
    cursor: pointer;
    color: #fff; /* ha világos hátteren áll, akkor #5b3b34 */
  }

  .mobile-header .site-title {
    text-align: center;
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: #5b3b34;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
}
@media (max-width: 1024px) {
  .mobile-header {
    width: 100vw;
    max-width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    background-color: #d9c5bd; /* ugyanaz a szín, mint a gomboké */
    overflow-x: hidden;
  }

  .mobile-header .header-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    width: 100%;
    max-width: 100%;
    position: relative;
  }

  .menu-toggle {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 2.4rem;
    line-height: 1;
    cursor: pointer;
    color: #5b3b34; /* a logó színe */
  }

  .mobile-header .site-title {
    text-align: center;
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: #5b3b34;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

  /* Hero fix – ne csússzon a header mögé */
  .hero,
  .contact-hero,
  .about-hero,
  .services-hero {
    margin-top: 35px !important;
  }

  /* Menü overlay */
  .mobile-nav {
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    width: 100vw;
    position: fixed;
    background: var(--menu-bg, #d9c5bd);
    z-index: 9998;
    overflow-y: auto;
  }
}
@media (max-width: 1024px) {
  .about-hero {
    margin-top: 0px !important;
	margin-bottom: 15px !important;
  }
}

@media (max-width: 1024px) {
  .services-hero {
    margin-top: 0px !important;
  }
   .contact-hero {
    margin-top: 0px !important;
  }
    .gyik-hero {
    margin-top: 0px !important;
  }
}

/* --- Fix: egységes mobil header minden oldalon --- */
@media (max-width: 1024px) {
  header.mobile-header {
    height: 60px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    background-color: #d9c5bd !important;
    z-index: 9999 !important;
   font-size: 4.6rem;
  }

  .mobile-header .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 60px !important;
    width: 100% !important;
    position: relative !important;
  }

  .mobile-header .site-title {
    text-align: center !important;
    margin: 0 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 1rem ;
    font-weight: 600 !important;
    color: #5b3b34 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
  }

  .mobile-header .menu-toggle {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    font-size: 2.4rem !important;
    line-height: 1 !important;
    color: #5b3b34 !important;
    cursor: pointer !important;
  }
  
		  .floating-messenger {
    position: fixed;
    bottom: 100px;
    right: 30px;
    background-color: #0084ff;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    display: flex
;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s 
ease, box-shadow 0.3s 
ease;
    z-index: 1000;
}
    .floating-messenger img {
        width: 40px !important;
        height: 40px !important;
    }
	
.mobile-nav {
    position: fixed;
    inset: 0;                    /* top/right/bottom/left: 0 */
    background: #f6efed;         /* illeszd a palettádhoz */
    padding: 1rem 1.25rem;
    display: none;               /* alapból rejtve */
    flex-direction: column;      /* <<< egymás alatt */
    gap: 1rem;
    overflow-y: auto;
    z-index: 1000;
  }
  .mobile-nav.active {           /* JS ezt adja hozzá nyitáskor */
    display: flex;
  }

  /* Bezáró X gomb a jobb felső sarokban */
.mobile-nav-close {
  align-self: flex-end;
  position: static;
  width: 40px; height: 40px;
  padding: 0;
  border: 0; border-radius: 50%;
  background: rgba(0,0,0,.6);
  color: #fff;
  font-size: 1.6rem;   /* igény szerint */
  line-height: 1;      /* ne tolja el függőlegesen */
  display: inline-flex;
  align-items: center;  /* vertikális közép */
  justify-content: center; /* horizontális közép */
  cursor: pointer;
}

  /* A menüpontok biztosan oszlopban legyenek */
  .mobile-nav ul {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-direction: column;      /* <<< itt is oszlop */
    gap: 0rem;
  }
  .mobile-nav li { display: block; }
  .mobile-nav a {
    display: block;
    padding: .75rem 0;
    text-decoration: none;
    font-size: 1.1rem;
  }

  /* Amikor a mobil menü nyitva van, az asztali/nav ne törjön be mellé */
  .site-header .nav,
  .site-header .nav-list { display: none; }
  .nav-open .site-header .nav,
  .nav-open .site-header .nav-list { display: none; } /* ha body-ra teszel .nav-open-t */

}

