/* Oggi színek — csak ott írunk felül, ahol szükséges; a Webflow alap megmarad */
:root {
  --oggi-green: #1b5c30;
  --oggi-green-dark: #154a28;
  --oggi-red: #a9262b;
  /* korábban #f4efe6 — halvány off-white */
  --oggi-bg-soft: #f7f6f4;
  --oggi-bg-gray: #f2f5f7;
  --oggi-text: #1e293b;
  --oggi-accent: #ffcd57;
  --oggi-white: #ffffff;
  /* Webflow eredeti rózsaszín — bézsre cserélve (látható „pink” sávok) */
  --beppe-pink: #e5d9cc;
}

/* Ne írjuk felül a teljes oldal hátterét és betűkészletét — a Pizza Beppe / Webflow CSS marad */

html,
body {
  margin: 0 !important;
  overflow-x: hidden;
}

body {
  padding-top: 0 !important;
}

.c-page-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  /* Webflow alap overflow:hidden letiltja a position:sticky fejlécet */
  overflow: visible !important;
}

.langswitch {
  display: none !important;
}

.c-logo {
  max-height: 80px;
  width: auto;
  object-fit: contain;
  /* PNG-ben lévő #f3d8e0 → meleg bézs (pontos színhez cseréld a logó fájlt) */
  filter: hue-rotate(22deg) saturate(0.48) brightness(0.94) contrast(1.05);
}

.c-menu-bg {
  background: var(--oggi-bg-soft) !important;
}

/* Fehér fejléc — a lágy háttér ne a menüsávba menjen */
.c-nav,
.c-nav .c-menu-bg,
.c-nav .c-container-nav {
  background-color: var(--oggi-white) !important;
}

.c-nav .c-container-nav {
  min-height: 92px;
  /* több lélegzőhely a logó (és a hamburger) fölött */
  padding-top: max(1.5rem, env(safe-area-inset-top, 0px)) !important;
  padding-bottom: 1rem !important;
  box-sizing: border-box;
}

/*
 * Ragadós fejléc — z-index NEM lehet nagyobb, mint a teljes képernyős .c-menu (998),
 * különben a menü a fejléc mögé kerül. A menüt felül kell hozni.
 */
.c-nav {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  left: 0;
  right: 0;
  z-index: 1000 !important;
  width: 100%;
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-bottom: 1px solid rgba(27, 92, 48, 0.08);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

/* Teljes képernyős menü minden mási felett (fejléc, alsó CTA sáv) */
.c-menu {
  z-index: 10060 !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.c-fixed {
  z-index: 990 !important;
}

/* Eltávolított bal alsó jelölőgrafika után a CTA-k maradjanak jobbra */
.c-fixed-container {
  justify-content: flex-end !important;
}

/* Menü: két oszlop kiegyensúlyozása (eredeti: üres 1–3. oszlop) */
@media screen and (min-width: 992px) {
  #w-node-_2053da8e-6b3d-d2a8-d907-b1e80bc99a08-0bc99a04 {
    grid-area: 1 / 2 / 2 / 5 !important;
  }

  #w-node-_2053da8e-6b3d-d2a8-d907-b1e80bc99a1b-0bc99a04 {
    grid-area: 1 / 5 / 2 / 8 !important;
  }

  .c-menu .c-grid-7.is--menu {
    align-items: start;
  }

  .c-menu-links__wrp {
    justify-content: flex-start !important;
    padding-top: 0.5rem;
  }

  .c-menu-items__wrp {
    justify-content: flex-start !important;
    padding-top: 0.5rem;
  }
}

/* Menü szövegméretek — kevésbé ordító nagy linkek */
.c-menu .c-title-menu {
  font-size: clamp(1.25rem, 2.8vw, 1.85rem) !important;
  line-height: 1.2 !important;
}

.c-menu .c-menu-title__wrp {
  padding-top: 0.65rem !important;
  padding-bottom: 0.65rem !important;
}

.c-menu .c-container-menu {
  padding-top: clamp(7rem, 14vh, 10rem) !important;
}

/* Jobb oldali off-white panel — csak nagy képernyőn keskeny sáv; mobilon a Webflow 100%-a érvényesül */
.c-menu .c-menu-bg {
  background-color: var(--oggi-bg-soft) !important;
}

@media screen and (min-width: 992px) {
  .c-menu .c-menu-bg {
    width: 78% !important;
  }
}

/* Mobil / tablet: teljes szélességű panel, komfortos térköz, notch biztonság */
@media screen and (max-width: 991px) {
  .c-menu {
    min-height: 100dvh;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .c-menu .c-menu-bg {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    inset: 0 !important;
  }

  .c-menu .c-container-menu {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding-top: max(5.25rem, calc(env(safe-area-inset-top, 0px) + 4.25rem)) !important;
    padding-left: max(1.25rem, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(1.25rem, env(safe-area-inset-right, 0px)) !important;
    padding-bottom: max(2rem, env(safe-area-inset-bottom, 0px)) !important;
  }

  .c-menu .c-grid-7.is--menu {
    grid-row-gap: 1.25rem;
    align-content: start;
  }

  .c-menu .c-menu-links__wrp {
    width: 100%;
    max-width: 28rem;
  }

  .c-menu .c-title-menu {
    font-size: clamp(1.35rem, 4.2vw, 1.65rem) !important;
  }

  .c-menu .c-menu-title__wrp {
    padding-top: 0.7rem !important;
    padding-bottom: 0.7rem !important;
    -webkit-tap-highlight-color: transparent;
  }

  .c-nav .c-menu-button {
    background-color: var(--oggi-green) !important;
  }
}

/* Hamburger: élek nélkül (sarkok 0) */
.c-nav .c-menu-button {
  border-radius: 0 !important;
}

/* Nyitott menü: háttér oldal ne görgessen (html.oggi-menu-open + body lock a scripttel) */
html.oggi-menu-open {
  overflow: hidden !important;
}

body.oggi-menu-open {
  position: fixed;
  width: 100%;
  overflow: hidden !important;
}

.c-title-menu,
.c-btn {
  color: var(--oggi-text) !important;
}

.c-btn-line {
  background-color: var(--oggi-green) !important;
}

.c-btn-form {
  background-color: var(--oggi-green) !important;
  color: var(--oggi-white) !important;
}

.c-btn-2.is--dark {
  background: var(--oggi-green) !important;
  color: var(--oggi-white) !important;
}

.c-btn-cta {
  background: var(--oggi-green) !important;
  color: var(--oggi-white) !important;
  border: none !important;
}

.c-btn-cta.is--order {
  background: var(--oggi-red) !important;
}

.c-section.is--bg-off-white,
.c-section-divider.is--bg-off-white {
  background-color: var(--oggi-bg-soft) !important;
}

.c-section.is--insta.is--bg-off-white {
  background: var(--oggi-bg-gray) !important;
}

.c-intro.is--bg-black {
  background-color: var(--oggi-red) !important;
}

/* Horgony: a ragadós fejléc ne takarja a Kapcsolat címet */
#kapcsolat {
  scroll-margin-top: 6.5rem;
}

.c-intro.is--bg-black .is--txt-white {
  color: var(--oggi-white) !important;
}

.c-intro.is--bg-black .c-btn-line.is--bg-white {
  background-color: var(--oggi-accent) !important;
}

.c-slide-txt {
  color: rgba(255, 255, 255, 0.92) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.c-footer {
  background-color: var(--oggi-green-dark) !important;
}

.c-footer .is--txt-white,
.c-footer .c-p01 {
  color: rgba(255, 255, 255, 0.95) !important;
}

.c-btn-form.is--white {
  background: var(--oggi-accent) !important;
  color: var(--oggi-text) !important;
}

.web-credits {
  opacity: 0.6;
}

.oggi-subh2 {
  display: block;
  margin-top: 0.35em;
  font-size: 0.85em;
  font-weight: 600;
  color: var(--oggi-green);
}

.c-news-tag {
  background: var(--oggi-green) !important;
  color: var(--oggi-white) !important;
}

.w-slider-arrow-left,
.w-slider-arrow-right,
.w-slider-nav {
  filter: none;
}

.oggi-reviews {
  padding-top: 4rem;
  padding-bottom: 4rem;
  background: var(--oggi-white);
}

.oggi-reviews-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  margin-bottom: 2rem;
  text-align: center;
}

.oggi-review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
}

.oggi-review {
  margin: 0;
  padding: 1.5rem;
  background: var(--oggi-bg-soft);
  border-left: 4px solid var(--oggi-green);
  border-radius: 0 8px 8px 0;
}

.oggi-review-author {
  display: block;
  margin-top: 1rem;
  font-style: normal;
  font-weight: 600;
  color: var(--oggi-green);
  font-size: 0.9rem;
}

.oggi-hours {
  line-height: 1.6;
}

/* Adatkezelési tájékoztató (statikus oldal) */
.oggi-legal-page {
  max-width: 42rem;
  padding-bottom: 4rem;
}

.oggi-legal-meta {
  margin-bottom: 1.75rem !important;
  opacity: 0.88;
}

.oggi-legal-h2 {
  font-size: clamp(1.15rem, 2.4vw, 1.35rem);
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: 0.65rem;
  color: var(--oggi-green);
  line-height: 1.3;
}

.oggi-legal-page .c-h1-big + .oggi-legal-meta {
  margin-top: -0.25rem;
}

.oggi-legal-list {
  margin: 0.5rem 0 1rem;
  padding-left: 1.35rem;
  line-height: 1.65;
  color: var(--oggi-text);
}

.oggi-legal-list li {
  margin-bottom: 0.35rem;
}

.oggi-legal-page .c-p01 a {
  color: var(--oggi-green);
  font-weight: 600;
  text-underline-offset: 2px;
}

.c-cl__wrp.w-dyn-list {
  display: none !important;
}

/*
 * Pizza dekor: a Webflow .c-container + .c-grid-7 elrendezés változatlan.
 * A kép abszolút, jobbra, részben a viewporton kívül (mint a referencia).
 */
.oggi-pizza-showcase {
  position: relative;
  /* meleg bézs (a --beppe-pink Webflow token) */
  background-color: var(--beppe-pink) !important;
  overflow: hidden;
  min-height: min(72vh, 680px);
}

.oggi-pizza-showcase > .c-container {
  position: relative;
  z-index: 2;
}

.oggi-pizza-showcase__visual {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(56vw, 760px);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  pointer-events: none;
  z-index: 1;
}

.oggi-pizza-showcase__img-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
}

.oggi-pizza-scroll {
  width: min(130vw, 820px);
  height: auto;
  max-height: min(88vh, 760px);
  object-fit: contain;
  display: block;
  margin-right: -14%;
  transform-origin: 50% 50%;
  will-change: transform;
  filter: drop-shadow(0 16px 48px rgba(0, 0, 0, 0.07));
}

@media (prefers-reduced-motion: reduce) {
  .oggi-pizza-scroll {
    will-change: auto;
  }
}

@media screen and (max-width: 991px) {
  .oggi-pizza-showcase {
    min-height: unset;
    overflow-x: clip;
    overflow-y: visible;
    display: flex;
    flex-direction: column;
  }

  /* A kép a DOM-ban a gombok után következik — relatív pozíció: a gombok alá kerül */
  .oggi-pizza-showcase__visual {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-top: 1.5rem;
    padding: 0 0 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    z-index: 1;
  }

  .oggi-pizza-showcase__img-wrap {
    justify-content: center;
    width: 100%;
  }

  .oggi-pizza-scroll {
    width: min(88vw, 400px);
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
    max-height: min(48vh, 380px);
  }
}
