/* Bonchidai Étlap — SAJÁT, stabil 3D lapozó (v1.13.5). Nincs külső könyvtár.
   A lapok FIX méretű dobozok (overflow:hidden) -> semmi nem lóg ki alul, nincs
   szürke, nincs villanás. A méret mérsékelt, nagy monitoron is elfér.
   Háttér NINCS: a szakasz hátterét az Elementor adja. A könyv nyitva indul. */
.be-wrap{
  --paper:#f4ead4; --ink:#3d2a14; --ink-soft:#8d6f3f;
  --head:#5c3a1a; --accent:#8d4530; --gold:#a88245;
  background:transparent; padding:0;
  font-family:"Inter",-apple-system,sans-serif;
}

/* ---- Színpad + földi árnyék ---- */
.be-stage{ display:flex; justify-content:center; position:relative; padding:14px 0 8px; }
/* A könyv saját, lágy árnyéka grounol — külön színpad-árnyék nem kell (nincs dupla). */
.be-stage::after{ display:none; }

/* ---- A könyv: FIX arány, perspektíva, "vastag könyv" árnyék ---- */
.be-book{ position:relative; z-index:1; margin:0 auto; }
.be-wrap.is-ready .be-book{
  perspective:1800px; perspective-origin:50% 40%;
  border-radius:6px;
  /* Letisztult: NINCS rátett vastagság-csík; csak egy lágy, meleg árnyék grounol. */
  box-shadow:0 18px 34px -18px rgba(45,28,12,.38), 0 40px 64px -34px rgba(0,0,0,.35);
}
/* A könyv MÉRETÉT a book.js számolja (a képernyőhöz igazítva, hogy alatta a
   lapozó gombok is elférjenek). Az alábbi csak tartalék az inicializálásig. */
.be-wrap.is-ready[data-view="2"] .be-book{ width:min(820px, calc(100vw - 40px)); aspect-ratio:100 / 66; }
/* 1 lapos (mobil): FIX, képernyő-magasságú lap (a magasságot a book.js állítja) —
   a hosszú kategória több lapra tördel, nincs óriás görgethető lap. */
.be-wrap.is-ready[data-view="1"] .be-book{ width:min(460px, calc(100vw - 20px)); }

/* ---- Nyitott oldalpár ---- */
.be-spread{ position:relative; display:flex; width:100%; height:100%; will-change:transform,opacity; }
/* Gerinc-árnyék középen (2 lapos nézet) */
.be-wrap.is-ready[data-view="2"] .be-spread::after{
  content:""; position:absolute; left:50%; top:0; bottom:0; width:44px; transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(60,40,20,.05) 30%,rgba(60,40,20,.18) 50%,rgba(60,40,20,.05) 70%,transparent);
  pointer-events:none; z-index:3;
}
.be-slot{ position:relative; height:100%; overflow:hidden; }
.be-wrap.is-ready[data-view="2"] .be-slot{ width:50%; }
.be-wrap.is-ready[data-view="1"] .be-slot--left{ width:100%; }
/* Lekerekített külső sarkok (a lapblokk overflow:hidden miatt a papírt is vágja) */
.be-wrap.is-ready[data-view="2"] .be-slot--left{ border-radius:6px 0 0 6px; }
.be-wrap.is-ready[data-view="2"] .be-slot--right{ border-radius:0 6px 6px 0; }
.be-wrap.is-ready[data-view="1"] .be-slot--left{ border-radius:6px; }
.be-slot > .be-page{ position:absolute; inset:0; width:100%; height:100%; }
/* 1 lapos (mobil): FIX magasságú lap (mint az asztali, csak egy oldal). A book.js
   tördel, így semmi nem vágódik le és nincs óriás görgethető lap. */
.be-wrap.is-ready[data-view="1"] .be-spread{ height:100%; }
.be-wrap.is-ready[data-view="1"] .be-slot{ height:100%; overflow:hidden; }
.be-wrap.is-ready[data-view="1"] .be-slot > .be-page{ position:absolute; inset:0; height:100%; }
.be-wrap.is-ready[data-view="1"] .be-page__inner{ height:100%; }

/* ---- A forduló lap (overlay) ---- */
.be-flip{
  position:absolute; top:0; height:100%; width:50%; display:none; z-index:6;
  transform-style:preserve-3d; backface-visibility:hidden;
}
.be-wrap.is-ready[data-view="1"] .be-flip{ display:none !important; } /* mobilon csúsztatás megy */
.be-flip__face{ position:absolute; inset:0; overflow:hidden; background:var(--paper); backface-visibility:hidden; box-shadow:0 0 34px rgba(0,0,0,.18); }
.be-flip__face > .be-page{ position:absolute; inset:0; width:100%; height:100%; }
.be-flip__shade{ position:absolute; inset:0; background:linear-gradient(to right,rgba(20,12,4,.32),rgba(20,12,4,0) 72%); opacity:0; pointer-events:none; }

/* ---- Egy lap (antik papír) ---- */
.be-page{
  position:relative; background:var(--paper);
  background-image:
    radial-gradient(ellipse at 50% 0,rgba(255,255,255,.5),transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
  box-shadow:inset 0 0 80px rgba(140,100,50,.18);
  overflow:hidden;
}
.be-page::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(ellipse at 50% 50%,transparent 58%,rgba(50,32,14,.16) 100%); }
.be-page__wm{ position:absolute; inset:0; z-index:0; pointer-events:none; background-position:center; background-repeat:no-repeat; background-size:56% auto; opacity:.16; }
.be-page__inner{ position:relative; z-index:1; padding:clamp(1.3rem,2.6vw,2.2rem) clamp(1.4rem,2.8vw,2.4rem); display:flex; flex-direction:column; height:100%; box-sizing:border-box; }
.be-page__title{ font-family:"Playfair Display",Georgia,serif; font-weight:500; font-variant:small-caps; font-size:clamp(1.35rem,2.4vw,1.9rem); color:var(--head); text-align:center; margin:0 0 .4rem; letter-spacing:.02em; line-height:1.1; }
.be-page__orn{ display:flex; align-items:center; justify-content:center; gap:7px; margin:0 0 1rem; }
.be-page__orn i{ width:44px; height:1px; background:var(--gold); opacity:.55; }
.be-page__orn i:nth-child(2){ width:5px; height:5px; background:var(--gold); transform:rotate(45deg); opacity:1; }
.be-page__photo{ display:block; margin:.2rem auto 1rem; max-width:min(300px,76%); max-height:170px; object-fit:contain; border-radius:4px; }

/* ---- Sorok: név … ár ---- */
.be-list{ flex:1; }
.be-row{ display:flex; align-items:baseline; justify-content:space-between; gap:1.3rem; padding:.5rem 0; }
.be-row + .be-row{ border-top:1px dotted rgba(92,58,26,.20); }
.be-row__name{ flex:1 1 auto; min-width:0; font-family:"Cormorant Garamond","Playfair Display",serif; font-size:1.08rem; color:var(--ink); line-height:1.3; }
.be-row__meta{ display:block; font-family:"Inter",sans-serif; font-size:.72rem; font-style:italic; color:var(--ink-soft); margin-top:.1rem; letter-spacing:.01em; }
.be-row__price{ flex:0 0 auto; font-family:"Playfair Display",serif; font-weight:600; font-size:1rem; color:var(--accent); white-space:nowrap; }
/* Az ár egy-egy része (pl. "üveg 6.000 Ft") sosem törik a részen belül. */
.be-price-part{ white-space:nowrap; }
.be-star{ color:var(--gold); font-size:.85em; }
.be-page__num{ margin-top:auto; text-align:center; padding-top:.8rem; font-family:"Playfair Display",serif; font-style:italic; font-size:.78rem; color:var(--gold); opacity:.7; }

/* ---- Folyamatos tördelés: egy lapon több kategória is lehet ---- */
/* A flow-lapon a tartalom felülről lefelé folyik (nincs flex-nyújtás), így a
   kis kategóriák egymás után elférnek ugyanazon a lapon. */
.be-page__inner.be-flow{ display:block; }
.be-flow .be-list{ display:block; }
/* Ha egy lapon több (kicsi) kategória osztozik, finom aranyvonal + térköz
   választja el őket, hogy tiszta és átlátható maradjon. */
.be-flow .be-cat:not(:first-child){ margin-top:1.5rem; padding-top:1.3rem; border-top:1px solid rgba(168,130,69,.35); }
.be-list--note{ text-align:center; margin-top:.3rem; }

/* ---- Záró lapok: allergén-lista + vendégtájékoztató ---- */
.be-lnum{ color:var(--accent); font-weight:700; margin-right:.25rem; }
.be-row--legend{ align-items:flex-start; }
.be-row--legend .be-row__name{ font-size:.96rem; line-height:1.34; }
.be-row--legend .be-row__meta{ font-style:normal; font-size:.72rem; color:var(--ink-soft); margin-top:.15rem; }
/* Vendégtájékoztató: középre zárt, elválasztó nélkül, kicsit levegősebben. */
.be-page--note .be-list{ justify-content:center; gap:.35rem; }
.be-row--note{ justify-content:center; text-align:center; padding:.35rem 0; }
.be-row--note + .be-row--note{ border-top:none; }
.be-row--note .be-row__name{ font-size:1.04rem; color:var(--head); }
.be-row--note .be-row__meta{ font-style:italic; font-size:.74rem; }

/* ---- Borító (bal oldali lap nyitva) ---- */
.be-page--cover{ background:#5c3a1a; box-shadow:inset 0 0 120px rgba(0,0,0,.4); }
.be-cover{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; height:100%; padding:2rem; box-sizing:border-box; }
.be-cover__script{ font-family:"Dancing Script",cursive; font-size:1.4rem; color:#d4a574; margin-bottom:.4rem; }
.be-cover__main{ font-family:"Playfair Display",serif; font-variant:small-caps; font-weight:400; font-size:clamp(2rem,4.4vw,3rem); color:#f4ead4; margin:0 0 .5rem; letter-spacing:.03em; }
.be-cover__div{ display:flex; align-items:center; gap:6px; margin:.7rem 0; }
.be-cover__div i{ width:52px; height:1px; background:#d4a574; opacity:.5; }
.be-cover__div i:nth-child(2){ width:5px; height:5px; background:#d4a574; transform:rotate(45deg); opacity:1; }
.be-cover__sub{ font-family:"Playfair Display",serif; font-style:italic; font-size:.95rem; color:rgba(244,234,212,.78); }
.be-cover__since{ font-size:.6rem; font-weight:600; letter-spacing:.32em; text-transform:uppercase; color:#d4a574; margin-top:1.3rem; }

/* ---- Záró lap (a borító színében): "Jó étvágyat!" ---- */
.be-endcover__msg{ font-family:"Playfair Display",Georgia,serif; font-variant:small-caps; font-weight:400; font-size:clamp(1.9rem,4.2vw,2.8rem); color:#f4ead4; letter-spacing:.03em; margin-top:.6rem; text-align:center; }

/* ---- Lapozó vezérlők ---- */
.be-controls{ display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:.5rem; user-select:none; }
.be-controls button{ background:var(--paper); border:1px solid #d4b98a; color:var(--head); padding:.55rem 1.1rem; border-radius:999px; font-size:.78rem; letter-spacing:.06em; cursor:pointer; transition:all .2s; }
/* Elegáns, meleg hover/klikk (SOHA nem sötét/piros): halvány krém + arany keret. */
.be-controls button:hover:not(:disabled),
.be-controls button:focus:not(:disabled),
.be-controls button:active:not(:disabled){ background:#ece0c2; color:var(--head); border-color:#bf9c52; box-shadow:none; outline:none; }
.be-controls button:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.be-controls button:disabled{ opacity:.4; cursor:default; }
.be-pageno{ color:var(--head); font-size:.8rem; font-family:"Playfair Display",serif; font-style:italic; min-width:6rem; text-align:center; background:rgba(244,234,212,.85); border-radius:999px; padding:.25rem .7rem; }

/* Ha egy nyelven nincs leírás/allergén, ne maradjon üres sor a név alatt. */
.be-row__meta:empty{ display:none; }

/* ---- Nyelvváltó (Magyar | English | Deutsch) a lapozó alatt ---- */
.be-lang{ display:flex; align-items:center; justify-content:center; gap:.4rem; margin-top:.9rem; user-select:none; }
.be-lang__btn{ background:transparent; border:1px solid #d4b98a; color:var(--ink-soft); padding:.32rem .85rem; border-radius:999px; font-family:"Inter",-apple-system,sans-serif; font-size:.72rem; letter-spacing:.04em; cursor:pointer; transition:all .18s; }
.be-lang__btn:hover{ background:#ece0c2; border-color:#bf9c52; color:var(--head); }
.be-lang__btn:focus{ outline:none; }
.be-lang__btn:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
/* Kiválasztott nyelv: meleg ARANY kitöltés — semmi bordó/piros. */
.be-lang__btn.is-active{ background:var(--gold); border-color:var(--gold); color:#fff; }

/* ---- TÉMA-FELÜLÍRÓ: a WordPress/Elementor gomb-stílusok (piros :active/:focus)
       végleges elnyomása. Erős szelektor + !important, hogy a téma ne szóljon bele. ---- */
.be-wrap .be-controls button,
.be-wrap .be-lang__btn{ -webkit-tap-highlight-color:transparent; }
.be-wrap .be-controls button:hover:not(:disabled),
.be-wrap .be-controls button:focus:not(:disabled),
.be-wrap .be-controls button:active:not(:disabled){ background:#ece0c2 !important; color:var(--head) !important; border-color:#bf9c52 !important; box-shadow:none !important; }
.be-wrap .be-lang__btn:hover,
.be-wrap .be-lang__btn:focus,
.be-wrap .be-lang__btn:active{ background:#ece0c2 !important; color:var(--head) !important; border-color:#bf9c52 !important; box-shadow:none !important; }
.be-wrap .be-lang__btn.is-active,
.be-wrap .be-lang__btn.is-active:hover,
.be-wrap .be-lang__btn.is-active:focus,
.be-wrap .be-lang__btn.is-active:active{ background:var(--gold) !important; border-color:var(--gold) !important; color:#fff !important; box-shadow:none !important; }
.be-wrap .be-controls button:focus-visible,
.be-wrap .be-lang__btn:focus-visible{ outline:2px solid var(--gold) !important; outline-offset:2px; }

/* ---- Egykattintásos PDF-letöltő gomb (FELÜL, az étlap fölött) — zöld stílus ---- */
.be-download{ display:flex; justify-content:center; margin:0 0 1rem; }
.be-pdf{ display:inline-flex; align-items:center; justify-content:center; background:#1a5b34; border:none; color:#fff; padding:.72rem 1.6rem; border-radius:8px; font-family:"Inter",-apple-system,sans-serif; font-size:.9rem; font-weight:700; letter-spacing:.01em; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.18); transition:background .2s, transform .1s; }
.be-pdf:hover:not(:disabled){ background:#134026; }
.be-pdf:active:not(:disabled){ transform:translateY(1px); }
.be-pdf:disabled{ opacity:.6; cursor:default; }

/* ---- JS nélkül / hiba esetén: a lapok egymás alatt, kártyaként ---- */
.be-wrap:not(.is-ready) .be-book,
.be-wrap.is-list .be-book{ display:flex; flex-direction:column; gap:1.25rem; max-width:620px; box-shadow:none; }
.be-wrap:not(.is-ready) .be-controls,
.be-wrap.is-list .be-controls{ display:none; }
.be-wrap:not(.is-ready) .be-page,
.be-wrap.is-list .be-page{ border-radius:4px; box-shadow:0 10px 30px rgba(0,0,0,.22), inset 0 0 80px rgba(140,100,50,.15); min-height:280px; display:flex; flex-direction:column; }

@media(max-width:560px){
  .be-row__name{ font-size:1.02rem; }
  .be-cover__main{ font-size:1.9rem; }
  /* Itallap/borlap mobilon: a névvel egy sorban, jobbra (mint az étlapon). A hosszú,
     kétrészes ár a "·"-nál törik (minden rész SAJÁT sorba, jobbra) — nem a részen
     belül. Egyrészes (rövid) ár változatlanul egy sorban marad. */
  .be-wrap[data-section="itallap"] .be-row__price,
  .be-wrap[data-section="borlap"] .be-row__price{ white-space:normal; font-size:.82rem; text-align:right; line-height:1.3; }
  .be-wrap[data-section="itallap"] .be-row__price .be-price-part,
  .be-wrap[data-section="borlap"] .be-row__price .be-price-part{ display:block; }
  .be-wrap[data-section="itallap"] .be-price-sep,
  .be-wrap[data-section="borlap"] .be-price-sep{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  .be-flip, .be-spread{ transition:none !important; }
}
