/*
========================================================
  NTERLIKATESEN THEME
  Author: Fotios Mitrakopoulos

  TABLE OF CONTENTS
  ─────────────────────────────────────────────────────
  reset & root
  body + html
  typography (h1-h6 only)
  logo colors
  nav
  nav scrolled
  hamburger
  mobile menu
  hero
  global sections
  about
  menu preview
  signature
  gallery mosaic + lightbox
  info section
  google translate
  footer
  scroll reveal
  full menu page
  menu 2 page
  menu 2 sticky bar
  home menu style 2
  google reviews
  responsive
  animation keyframes
  reduced motion
  ─────────────────────────────────────────────────────
*/

/*
  Theme Name: Nterlikatesen Theme
  Theme URI:  https://nterlikatesen.local
  Author:     Fotios Mitrakopoulos
  Version:    3.2
*/


/* =====================================================
   reset & root
===================================================== */

*,
*::before,
*::after {
  margin:     0;
  padding:    0;
  box-sizing: border-box;
}

:root {
  --font-body:    'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-heading: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-logo:    'Kalam', cursive;
  --font-latin-body: 'Avenir Next', 'Inter', 'Segoe UI', Arial, sans-serif;
  --font-latin-heading: 'Avenir Next', 'Montserrat', 'Segoe UI', Arial, sans-serif;

  --bg:       #FFFAF7;
  --peach:    #FFF0EB;
  --peach2:   #FFE4D6;
  --orange:   #F47B20;
  --orange-d: #D96510;
  --red:      #D42B2B;
  --purple:   #9B2FA0;
  --yellow:   #F0C800;
  --blue:     #3B7EC8;
  --cyan:     #6DC8E8;
  --green:    #1E9640;
  --dark:     #1A1A1A;
  --mid:      #555555;
  --muted:    #999999;
  --border:   #EAD9CE;

  /* shared transition — used inline per class, no group selector needed */
  --tr: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, border-color .24s ease, color .2s ease, background .2s ease;
}


/* =====================================================
   body + html
===================================================== */

html {
  scroll-behavior: smooth;
  overflow-x:      clip;
}

/* body — Google Translate adds top offset; top:0 overrides it */
body {
  background:   var(--bg);
  color:        var(--dark);
  font-family:  var(--font-body);
  overflow-x:   clip;
  top:          0;
}

body.site-translated {
  --font-body:    var(--font-latin-body);
  --font-heading: var(--font-latin-heading);
}

img {
  max-width: 100%;
  height:    auto;
}


/* =====================================================
   typography (h1-h6 only — individual classes carry their own font-family)
===================================================== */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
}

p,
li,
a,
button,
input,
textarea,
select {
  font-family: var(--font-body);
}


/* =====================================================
   logo colors (c1–c13)
===================================================== */

.c1  { color: #D86A2B; }
.c2  { color: #5A4A45; }
.c3  { color: #3E6FB6; }
.c4  { color: #D63B8C; }
.c5  { color: #C79B1D; }
.c6  { color: #7A7468; }
.c7  { color: #C6284B; }
.c8  { color: #E03A73; }
.c9  { color: #4DA7C7; }
.c10 { color: #3E9B8F; }
.c11 { color: #5A9A46; }
.c12 { color: #2E7F7A; }
.c13 { color: #7E9E2F; }


/* =====================================================
   nav
===================================================== */

nav {
  position:        fixed;
  top:             0;
  left:            0;
  right:           0;
  z-index:         100;
  display:         flex;
  align-items:     center;
  justify-content: flex-start;
  padding:         0.9rem 5%;
  background:      rgba(255,250,247,.97);
  backdrop-filter: blur(12px);
  border-bottom:   2px solid var(--peach2);
  transition:      box-shadow .3s;
}

.nav-logo {
  text-decoration: none;
  display:         flex;
  flex-direction:  column;
  line-height:     1;
}

/* logo-text and logo-sub — Kalam font lives here, not in a separate group */
.logo-text {
  font-family:    var(--font-logo);
  display:        flex;
  align-items:    center;
  font-size:      2rem;
  font-weight:    700;
  letter-spacing: -0.06em;
}

.logo-sub {
  font-family:    var(--font-logo);
  font-size:      0.7rem;
  color:          var(--muted);
  letter-spacing: 0.5px;
  margin-top:     -2px;
  text-align:     center;
}

.logo-text span {
  display:    inline-block;
  transition: transform .18s ease;
}

.nav-logo:hover .logo-text span,
.menu-page-logo:hover .logo-text span {
  transform: translateY(-2px);
}

.nav-links {
  display:     flex;
  gap:         clamp(.7rem,1vw,1.15rem);
  list-style:  none;
  align-items: center;
  margin-left: auto;
}

.nav-links > li {
  display:     flex;
  align-items: center;
}

.nav-links a {
  color:           var(--mid);
  text-decoration: none;
  font-size:       0.88rem;
  font-weight:     800;
  letter-spacing:  0.03em;
  transition:      color .2s, background .2s, border-color .2s, transform .2s, box-shadow .2s;
  white-space:     nowrap;
}

.nav-links a:hover { color: var(--orange); }

.nav-links > li:nth-child(1) > a { color: #D86A2B; }
.nav-links > li:nth-child(2) > a { color: #D63B8C; }
.nav-links > li:nth-child(3) > a { color: #3E6FB6; }
.nav-links > li:nth-child(4) > a { color: #3E9B8F; }
.nav-links > li:nth-child(5) > a { color: #C6284B; }
.nav-links > li:nth-child(6) > a { color: #5A9A46; }

.nav-links > li:nth-child(-n+6) > a:hover {
  color: var(--dark);
}

.nav-links .lang-current,
.nav-links a.nav-cta {
  min-height:      40px;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  border-radius:   999px;
  font-size:       .82rem;
  line-height:     1;
  white-space:     nowrap;
}

.nav-links .lang-current {
  gap:          .38rem;
  padding:      0 .95rem;
  background:   rgba(255,255,255,.72);
  border-color: rgba(216,106,43,.24);
  color:        #5A4A45;
}

.nav-links .lang-current:hover,
.nav-links .lang-dropdown.open .lang-current {
  background:   #fff;
  border-color: rgba(216,106,43,.44);
}

.nav-links a.nav-cta {
  gap:          .42rem;
  padding:      0 1.05rem;
  background:   var(--peach);
  border:       1.5px solid rgba(244,123,32,.38);
  color:        var(--orange-d);
  box-shadow:   inset 0 1px 0 rgba(255,255,255,.72);
}

.nav-cta-icon {
  width:          1rem;
  height:         1rem;
  fill:           none;
  stroke:         currentColor;
  stroke-width:   2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex:           0 0 auto;
}

.nav-cta:hover {
  background:   var(--orange);
  border-color: var(--orange);
  color:        #fff;
  transform:    translateY(-2px);
  box-shadow:   0 8px 20px rgba(244,123,32,.22);
}


/* =====================================================
   nav scrolled
===================================================== */

#navbar.scrolled {
  padding:             0.48rem 5%;
  background:          rgba(255,250,247,.99);
  box-shadow:          0 2px 28px rgba(244,123,32,.13);
  border-bottom-color: var(--orange);
}

#navbar.scrolled .logo-text { font-size: 1.35rem; }
#navbar.scrolled .logo-sub  { display: block; font-size: .58rem; margin-top: -3px; }


/* mobile language globe — hidden on desktop */
.mob-lang { display: none; }

/* nav-right wrapper (mob-lang + hamburger) — invisible on desktop since both children are hidden */
.nav-right {
  display:     flex;
  align-items: center;
  gap:         6px;
  margin-left: 0;
}


/* =====================================================
   hamburger
===================================================== */

.hamburger {
  display:        none;
  flex-direction: column;
  gap:            5px;
  cursor:         pointer;
  background:     none;
  border:         none;
  padding:        .4rem;
}

.hamburger span {
  display:       block;
  width:         24px;
  height:        2.5px;
  background:    var(--orange);
  border-radius: 2px;
  transition:    .3s;
}


/* =====================================================
   mobile menu
===================================================== */

.mob-menu {
  display:         none;
  position:        fixed;
  inset:           0;
  background:      var(--bg);
  z-index:         200;
  flex-direction:  column;
  align-items:     center;
  justify-content: center;
  gap:             2rem;
}

.mob-menu.open { display: flex; }

.mob-menu a {
  font-family:     var(--font-heading);
  font-size:       2.2rem;
  color:           var(--dark);
  text-decoration: none;
  transition:      color .2s;
}

.mob-menu a:nth-of-type(1) { color: var(--orange); }
.mob-menu a:nth-of-type(2) { color: var(--red); }
.mob-menu a:nth-of-type(3) { color: var(--blue); }
.mob-menu a:nth-of-type(4) { color: var(--green); }
.mob-menu a:nth-of-type(5) { color: #D63B8C; }
.mob-menu a:nth-of-type(6) { color: #3E9B8F; }
.mob-menu a:hover          { opacity: .75; }

.mob-close {
  position:    absolute;
  top:         1.5rem;
  right:       5%;
  background:  none;
  border:      none;
  font-size:   1.8rem;
  cursor:      pointer;
  color:       var(--muted);
  font-family: var(--font-body);
}


/* =====================================================
   hero
===================================================== */

.hero {
  position:    relative;
  min-height:  100vh;
  display:     flex;
  align-items: center;
  overflow:    hidden;
}

.hero-bg {
  position:            absolute;
  inset:               0;
  background-size:     cover;
  background-position: center;
  background-repeat:   no-repeat;
}

.hero-ovl {
  position:   absolute;
  inset:      0;
  background: linear-gradient(105deg,rgba(255,250,247,.96) 38%,rgba(255,240,235,.7) 65%,rgba(255,240,235,.2) 100%);
}

.hero-stripe {
  position:   absolute;
  top:        0; left: 0; right: 0;
  height:     5px;
  background: linear-gradient(90deg,
    var(--orange) 0%,  var(--orange) 14%,
    var(--purple) 14%, var(--purple) 28%,
    var(--yellow) 28%, var(--yellow) 42%,
    var(--blue)   42%, var(--blue)   57%,
    var(--red)    57%, var(--red)    71%,
    var(--cyan)   71%, var(--cyan)   85%,
    var(--green)  85%, var(--green)  100%
  );
}

.hero-cnt {
  position:  relative;
  z-index:   2;
  padding:   0 8%;
  width:     100%;
  animation: fadeUp .8s ease both;
}

.hero-eyebrow {
  display:        inline-flex;
  align-items:    center;
  gap:            .6rem;
  background:     var(--peach2);
  border:         2px solid var(--border);
  color:          var(--orange);
  font-size:      .7rem;
  font-weight:    800;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding:        .4rem 1rem;
  border-radius:  50px;
  margin-bottom:  1.8rem;
}

.hero h1 {
  font-size:     clamp(3rem,8vw,6rem);
  line-height:   1.05;
  margin-bottom: 1.2rem;
  color:         var(--dark);
  max-width:     900px;
}

.hero h1 span { color: var(--orange); }
.hero h1 em   { color: var(--red); font-style: normal; }

.hero-desc {
  font-size:     1.05rem;
  color:         var(--mid);
  line-height:   1.8;
  margin-bottom: 2.2rem;
  max-width:     460px;
  font-weight:   600;
}

.hero-btns {
  display:       flex;
  gap:           1rem;
  flex-wrap:     wrap;
  margin-bottom: 3rem;
}

.btn-main {
  background:      var(--orange);
  color:           #fff;
  padding:         .9rem 2rem;
  border-radius:   50px;
  font-weight:     800;
  font-size:       .9rem;
  letter-spacing:  .5px;
  text-decoration: none;
  border:          none;
  cursor:          pointer;
  display:         inline-flex;
  align-items:     center;
  gap:             .5rem;
  transition:      var(--tr);
}

.btn-main:hover { background: var(--orange-d); transform: translateY(-3px); }

.btn-sec {
  background:      transparent;
  color:           var(--dark);
  padding:         .9rem 2rem;
  border-radius:   50px;
  font-weight:     800;
  font-size:       .9rem;
  letter-spacing:  .5px;
  text-decoration: none;
  border:          2px solid var(--border);
  transition:      var(--tr);
  text-align: center;
}

.btn-sec:hover { border-color: var(--orange); color: var(--orange); transform: translateY(-3px); }

.hero-pills { display: flex; gap: .6rem; flex-wrap: wrap; }

.pill {
  background:    #fff;
  border:        1.5px solid var(--border);
  font-size:     .75rem;
  font-weight:   700;
  padding:       .3rem .85rem;
  border-radius: 50px;
  color:         var(--mid);
}

.pill.p-o { border-color: var(--orange); color: var(--orange); }
.pill.p-r { border-color: var(--red);    color: var(--red); }
.pill.p-g { border-color: var(--green);  color: var(--green); }

.hero-card {
  position:      absolute;
  bottom:        3rem;
  right:         6%;
  background:    #fff;
  border:        2px solid var(--border);
  border-radius: 20px;
  padding:       1.5rem 2rem;
  display:       flex;
  gap:           2rem;
  animation:     fadeUp .9s .2s ease both;
}

.hc-stat { text-align: center; }

.hc-num {
  font-family: var(--font-heading);
  font-size:   2.2rem;
  font-weight: 700;
  line-height: 1;
  color:       var(--orange);
}

.hc-lbl {
  font-size:      .7rem;
  font-weight:    700;
  color:          var(--muted);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top:     .2rem;
}


/* =====================================================
   global sections
===================================================== */

section { padding: 5.5rem 8%; }

.lbl {
  font-size:      .65rem;
  font-weight:    800;
  letter-spacing: 4px;
  text-transform: uppercase;
  color:          var(--orange);
  margin-bottom:  .8rem;
  display:        flex;
  align-items:    center;
  gap:            .5rem;
}

.lbl::before { content: ''; display: block; width: 20px; height: 2px; background: var(--orange); }

.stitle {
  font-family:   var(--font-heading);
  font-size:     clamp(2rem,4vw,3.2rem);
  line-height:   1.1;
  margin-bottom: 1.2rem;
  color:         var(--dark);
}

.stitle span { color: var(--orange); }
.stitle em   { color: var(--red); font-style: normal; }

.section-intro { color: var(--mid); font-size: 1rem; font-weight: 600; margin-bottom: 2rem; }

.menu-full-link-clean {
  position:        relative;
  display:         inline-flex;
  align-items:     center;
  gap:             .7rem;
  text-decoration: none;
  color:           var(--dark);
  font-weight:     900;
  font-size:       .95rem;
  letter-spacing:  .02em;
  padding-bottom:  .35rem;
  transition:      var(--tr);
}

.menu-full-link-clean::before { content: '→'; color: var(--orange); font-size: 1rem; transition: .25s; }

.menu-full-link-clean::after {
  content:          '';
  position:         absolute;
  left:             0; bottom: 0;
  width:            100%; height: 2px;
  background:       var(--orange);
  transform-origin: left;
  transition:       .25s;
}

.menu-full-link-clean:hover               { color: var(--orange); transform: translateY(-3px); }
.menu-full-link-clean:hover::before       { transform: translateX(4px); }
.menu-full-link-clean:hover::after        { transform: scaleX(.55); }


/* =====================================================
   about
===================================================== */

.about-sect { background: var(--peach); }

.about-grid {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   5rem;
  align-items:           center;
}

.about-imgs { position: relative; height: 500px; }

.img-a {
  position:            absolute;
  left: 0; top: 0;
  width:               72%;
  height:              370px;
  border-radius:       20px;
  border:              4px solid #fff;
  background-size:     cover;
  background-position: center;
}

.img-b {
  position:            absolute;
  right: 0; bottom: 0;
  width:               50%;
  height:              230px;
  border-radius:       16px;
  border:              4px solid #fff;
  background-size:     cover;
  background-position: center;
}

.img-badge {
  position:        absolute;
  top:             -1.2rem;
  right:           8%;
  background:      var(--orange);
  color:           #fff;
  font-family:     var(--font-heading);
  font-size:       1rem;
  font-weight:     700;
  width:           90px;
  height:          90px;
  border-radius:   50%;
  display:         flex;
  flex-direction:  column;
  align-items:     center;
  justify-content: center;
  line-height:     1.3;
  text-align:      center;
  border:          3px solid #fff;
}

.about-text p { color: var(--mid); line-height: 1.9; margin-bottom: 1.1rem; font-size: 1rem; font-weight: 600; }

.divider-dots { display: flex; gap: 6px; margin: 1.5rem 0; }
.divider-dots span { width: 8px; height: 8px; border-radius: 50%; }

.facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 2rem; }

.fact {
  background:    #fff;
  border:        1.5px solid var(--border);
  border-radius: 16px;
  padding:       1.2rem 1rem;
  text-align:    center;
  transition:    .2s;
}

.fact:hover { transform: translateY(-3px); border-color: var(--orange); }

.fact-n {
  font-family: var(--font-heading);
  font-size:   2rem;
  font-weight: 700;
  color:       var(--orange);
  line-height: 1;
}

.fact-n.fact-n-red   { color: var(--red); }
.fact-n.fact-n-green { color: var(--green); }

.fact-l { font-size: .72rem; font-weight: 700; color: var(--muted); letter-spacing: 1px; text-transform: uppercase; margin-top: .3rem; }

.about-content { }


/* =====================================================
   menu preview 1
===================================================== */

/* Menu 1 homepage preview is disabled. The active homepage catalogue is home menu style 2. */


/* =====================================================
   signature
===================================================== */

.sig-sect { background: #fff; }

.sig-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 1.5rem; margin-top: 2.5rem; }

.sig-card {
  border-radius: 20px;
  padding:       2rem 1.5rem;
  text-align:    center;
  border:        2px solid var(--border);
  transition:    var(--tr);
}

.sig-card:hover { transform: translateY(-5px); }

.sig-card:nth-child(1) { background: rgba(244,123,32,.07); border-color: rgba(244,123,32,.3); }
.sig-card:nth-child(2) { background: rgba(212,43,43,.07);  border-color: rgba(212,43,43,.3); }
.sig-card:nth-child(3) { background: rgba(59,126,200,.07); border-color: rgba(59,126,200,.3); }
.sig-card:nth-child(4) { background: rgba(30,150,64,.07);  border-color: rgba(30,150,64,.3); }
.sig-card:nth-child(5) { background: rgba(155,47,160,.07); border-color: rgba(155,47,160,.3); }
.sig-card:nth-child(6) { background: rgba(240,200,0,.07);  border-color: rgba(240,200,0,.3); }
.sig-card:nth-child(7) { background: rgba(109,200,232,.07);border-color: rgba(109,200,232,.3); }
.sig-card:nth-child(8) { background: rgba(244,123,32,.07); border-color: rgba(244,123,32,.3); }

.sig-icon { font-size: 2.8rem; margin-bottom: .8rem; display: block; }

.sig-name {
  font-family:   var(--font-heading);
  font-size:     1.3rem;
  font-weight:   700;
  margin-bottom: .4rem;
}

.sig-card:nth-child(1) .sig-name { color: var(--orange); }
.sig-card:nth-child(2) .sig-name { color: var(--red); }
.sig-card:nth-child(3) .sig-name { color: var(--blue); }
.sig-card:nth-child(4) .sig-name { color: var(--green); }
.sig-card:nth-child(5) .sig-name { color: var(--purple); }
.sig-card:nth-child(6) .sig-name { color: var(--yellow); }
.sig-card:nth-child(7) .sig-name { color: var(--cyan); }
.sig-card:nth-child(8) .sig-name { color: var(--orange); }

.sig-desc { font-size: .82rem; color: var(--muted); font-weight: 600; line-height: 1.6; }

.sig-img {
  width:         88px; height: 88px;
  border-radius: 50%;
  overflow:      hidden;
  margin:        0 auto 1rem;
  border:        3px solid #fff;
  box-shadow:    0 8px 24px rgba(0,0,0,.08);
  background:    var(--peach2);
}

.sig-img img { width: 100%; height: 100%; object-fit: cover; display: block; }


/* =====================================================
   gallery mosaic + lightbox
===================================================== */

.gal-sect { background: #fff; }

.gallery-mosaic {
  display:               grid;
  grid-template-columns: repeat(12,1fr);
  grid-auto-rows:        240px;
}

.gallery-item {
  padding:       0; border: 0; background: none;
  cursor:        pointer;
  overflow:      hidden;
  border-radius: 20px;
  border:        3px solid #fff;
  transition:    var(--tr);
}

.gallery-item:nth-child(1) { grid-column: span 5; grid-row: span 2; }
.gallery-item:nth-child(2) { grid-column: span 4; }
.gallery-item:nth-child(3) { grid-column: span 3; }
.gallery-item:nth-child(4) { grid-column: span 3; }
.gallery-item:nth-child(5) { grid-column: span 4; }

.gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: .45s; }

.gallery-item:hover img { transform: scale(1.08); }

.gallery-lightbox {
  position:        fixed; inset: 0;
  background:      rgba(0,0,0,.88);
  z-index:         9999;
  display:         none;
  align-items:     center;
  justify-content: center;
  padding:         2rem;
}

.gallery-lightbox.open { display: flex; }

.gallery-lightbox img {
  max-width: 88vw; max-height: 84vh;
  object-fit: contain;
  border-radius: 20px;
  box-shadow: 0 20px 70px rgba(0,0,0,.35);
}

.gl-close {
  position: absolute; top: 1.5rem; right: 2rem;
  background: #fff; border: 0;
  width: 44px; height: 44px;
  border-radius: 50%; font-size: 2rem; line-height: 1; cursor: pointer;
}

.gl-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: #fff; border: 0;
  width: 52px; height: 52px;
  border-radius: 50%; font-size: 3rem; line-height: .8; cursor: pointer;
}

.gl-prev { left: 2rem; }
.gl-next { right: 2rem; }


/* =====================================================
   info section
===================================================== */

.info-sect-new { background: #fff; padding: 5.5rem 8%; }

.info-head { margin-bottom: 2.5rem; }

.info-cards { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 1.5rem; }

/* Single .info-card block — position:relative + overflow:hidden merged here */
.info-card {
  position:      relative;
  overflow:      hidden;
  background:    #fff;
  border:        1.5px solid var(--border);
  border-radius: 24px;
  padding:       2rem;
  transition:    var(--tr);
}

.info-card:hover { transform: translateY(-4px); border-color: var(--orange); }

.info-card::after {
  content:    '';
  position:   absolute;
  top: 0; left: 0; right: 0;
  height:     5px;
  background: linear-gradient(90deg,#D86A2B,#D63B8C,#4DA7C7,#5A9A46);
}

.info-card > * { position: relative; z-index: 1; }

.info-main { background: linear-gradient(135deg,#fff 0%,var(--peach) 100%); }

.info-icon { font-size: 2rem; margin-bottom: 1rem; }

.info-card h3 {
  font-family:   var(--font-heading);
  font-size:     1.8rem;
  margin-bottom: 1rem;
  color:         var(--dark);
}

.info-card p { color: var(--mid); line-height: 1.8; font-weight: 600; margin-bottom: 1rem; }

.info-link { display: block; color: var(--mid); text-decoration: none; font-weight: 800; margin-bottom: .5rem; }
.info-link:hover { color: var(--orange); }

.info-btn { display: inline-flex; margin-top: 1rem; background: var(--orange); color: #fff; text-decoration: none; font-weight: 800; padding: .8rem 1.2rem; border-radius: 50px; }

.hours-list { list-style: none; }

.hours-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--border); color: var(--mid); font-size: .9rem; }
.hours-list li:last-child { border-bottom: none; }
.hours-list span           { font-weight: 700; }
.hours-list strong         { color: var(--orange); white-space: nowrap; }

.map-wrap { margin-top: 1.5rem; border-radius: 18px; overflow: hidden; border: 2px solid var(--border); }
.map-wrap iframe { display: block; }

.order-card { background: #fff; border-color: var(--border); }
.order-card h3 { color: var(--dark); }
.order-card p  { color: var(--mid); }

.order-phone {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; margin-top: 1.2rem;
  background: var(--orange); color: #fff;
  text-decoration: none; font-weight: 900;
  padding: .9rem 1rem; border-radius: 999px;
}

.delivery-logos { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: 1rem; }

.delivery-logos a {
  background:      var(--bg);
  border:          1.5px solid var(--border);
  border-radius:   18px;
  padding:         1rem;
  display:         flex;
  align-items:     center;
  justify-content: center;
  transition:      var(--tr);
}

.delivery-logos a:hover { transform: translateY(-3px); border-color: var(--orange); }

.delivery-logos img { max-width: 110px; max-height: 42px; object-fit: contain; display: block; }


/* =====================================================
   google translate
===================================================== */

#google_translate_element { position: absolute; opacity: 0; pointer-events: none; }

.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.skiptranslate,
.goog-te-gadget-icon { display: none; }

.goog-te-gadget       { font-size: 0; }
.goog-tooltip         { display: none; }
.goog-text-highlight  { background: none; box-shadow: none; }

.lang-dropdown { position: relative; }

.lang-current {
  background: #fff; border: 1.5px solid var(--border);
  color: var(--mid); font-size: .78rem; font-weight: 900;
  padding: .45rem .8rem; border-radius: 999px; cursor: pointer;
}

.lang-menu {
  position: absolute; top: calc(100% + .6rem); right: 0;
  background: #fff; border: 1.5px solid var(--border);
  border-radius: 16px; padding: .45rem;
  min-width: 170px; box-shadow: 0 16px 40px rgba(0,0,0,.12);
  display: none; z-index: 999;
}

.lang-dropdown.open .lang-menu { display: flex; flex-direction: column; gap: .25rem; }

.lang-menu button {
  background: transparent; border: 0;
  text-align: left; padding: .6rem .75rem; border-radius: 12px;
  font-weight: 800; color: var(--mid); cursor: pointer;
}

.lang-menu button:hover { background: var(--peach); color: var(--orange); }

.lang-switcher { display: flex; gap: .4rem; align-items: center; }

.lang-switcher button {
  border: 1.5px solid var(--border); background: #fff; color: var(--mid);
  font-size: .72rem; font-weight: 900; padding: .38rem .55rem;
  border-radius: 999px; cursor: pointer; transition: .2s;
}

.lang-switcher button:hover { border-color: var(--orange); color: var(--orange); transform: translateY(-1px); }


/* =====================================================
   footer
===================================================== */

.site-footer {
  position:   relative;
  overflow:   hidden;
  background: linear-gradient(135deg,#17110F 0%,#221713 58%,#15100E 100%);
  color:      #fff;
}

.site-footer::before {
  content: '';
  display: block;
  height:  6px;
  background: linear-gradient(90deg,#D86A2B,#D63B8C,#C79B1D,#3E6FB6,#3E9B8F,#5A9A46);
}

.footer-inner {
  width:                 100%;
  max-width:             1480px;
  margin:                0 auto;
  display:               grid;
  grid-template-columns: minmax(280px,1.35fr) .72fr .82fr .82fr;
  gap:                   clamp(1.8rem,3vw,3.3rem);
  align-items:           flex-start;
}

.footer-brand,
.footer-nav,
.footer-order,
.footer-social { min-width: 0; }

.footer-brand .flogo {
  display:         inline-flex;
  flex-direction:  column;
  text-decoration: none;
}

.footer-brand .logo-text {
  justify-content: flex-start;
  font-size:       2.25rem;
}

.footer-brand .logo-sub {
  color:      rgba(255,255,255,.68);
  font-size:  .78rem;
  text-align: left;
}

.footer-text {
  margin-top:  1.2rem;
  color:       rgba(255,255,255,.72);
  line-height: 1.75;
  max-width:   420px;
  font-weight: 750;
}

.footer-badges {
  display:   flex;
  flex-wrap: wrap;
  gap:       .55rem;
  margin-top: 1.35rem;
}

.footer-badges span {
  display:       inline-flex;
  align-items:   center;
  min-height:    30px;
  padding:       0 .82rem;
  border-radius: 999px;
  background:    rgba(255,255,255,.08);
  border:        1px solid rgba(255,255,255,.14);
  color:         rgba(255,255,255,.82);
  font-size:     .76rem;
  font-weight:   900;
}

.footer-nav,
.footer-order,
.footer-social {
  display:        flex;
  flex-direction: column;
  gap:            .7rem;
}

.footer-nav h4,
.footer-order h4,
.footer-social h4 {
  color:         #fff;
  font-size:     .92rem;
  font-weight:   900;
  margin-bottom: .4rem;
}

.footer-nav a,
.footer-contact a,
.footer-contact span,
.footer-order p {
  color:           rgba(255,255,255,.72);
  text-decoration: none;
  font-size:       .92rem;
  line-height:     1.55;
  font-weight:     800;
}

.footer-nav a {
  width:      fit-content;
  transition: color .2s, transform .2s;
}

.footer-nav a:nth-of-type(1) { color: #E08A4B; }
.footer-nav a:nth-of-type(2) { color: #E05A9D; }
.footer-nav a:nth-of-type(3) { color: #75A0DD; }
.footer-nav a:nth-of-type(4) { color: #62B8AC; }
.footer-nav a:nth-of-type(5) { color: #E25370; }
.footer-nav a:nth-of-type(6) { color: #83B86D; }

.footer-nav a:hover,
.footer-contact a:hover {
  color:     #fff;
  transform: translateX(3px);
}

.footer-call,
.footer-menu-link {
  min-height:      44px;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  gap:             .55rem;
  width:           fit-content;
  border-radius:   999px;
  padding:         0 1.15rem;
  text-decoration: none;
  font-size:       .9rem;
  font-weight:     900;
  transition:      transform .2s, background .2s, border-color .2s, color .2s, box-shadow .2s;
}

.footer-call {
  margin-top:   .35rem;
  background:   var(--orange);
  color:        #fff;
  box-shadow:   0 12px 30px rgba(244,123,32,.25);
}

.footer-call svg {
  width:          1rem;
  height:         1rem;
  fill:           none;
  stroke:         currentColor;
  stroke-width:   2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.footer-call:hover {
  background: var(--orange-d);
  transform:  translateY(-2px);
}

.footer-menu-link {
  color:        #fff;
  border:       1.5px solid rgba(255,255,255,.18);
  background:   rgba(255,255,255,.06);
}

.footer-menu-link:hover {
  border-color: rgba(255,255,255,.34);
  background:   rgba(255,255,255,.12);
  transform:    translateY(-2px);
}

.footer-contact {
  display:        flex;
  flex-direction: column;
  gap:            .35rem;
  margin-bottom:  .7rem;
}

.footer-social .fsocial {
  display:   flex;
  flex-wrap: wrap;
  gap:       .55rem;
}

.footer-social .fsocial a {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  min-height:      36px;
  padding:         0 .9rem;
  border-radius:   999px;
  background:      rgba(255,255,255,.08);
  border:          1px solid rgba(255,255,255,.14);
  color:           #fff;
  text-decoration: none;
  font-size:       .84rem;
  font-weight:     900;
  transition:      transform .2s, background .2s, border-color .2s;
}

.footer-social .fsocial a:hover {
  background:   rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.30);
  transform:    translateY(-2px);
}

.footer-bottom {
  grid-column:     1 / -1;
  margin-top:      .8rem;
  padding-top:     1.7rem;
  border-top:      1px solid rgba(255,255,255,.12);
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  gap:             1rem;
}

.fcopy,
.footer-dev {
  color:       rgba(255,255,255,.58);
  font-size:   .86rem;
  font-weight: 800;
}

.footer-dev a {
  color:           #E08A4B;
  text-decoration: none;
  font-weight:     950;
}

.footer-dev a:hover { color: #fff; }


/* =====================================================
   scroll reveal
===================================================== */

.reveal { opacity: 0; transform: translateY(34px); transition: opacity .75s ease, transform .75s ease; }

.reveal.visible { opacity: 1; transform: translateY(0); }


/* Menu 1 full-page template styles are disabled. The public menu redirects to menu 2. */

.quick-price-input { max-width: 90px; border: 1px solid #ddd; border-radius: 8px; padding: 6px 8px; font-weight: 800; color: #f47b20; }


/* =====================================================
   menu 2 page
===================================================== */

body.page-template-page-menu-2 nav,
body:has(.menu2-page) nav { display: none; }

body.page-template-page-menu-2,
body:has(.menu2-page) { background: #F3E1CA; }

body.page-template-page-menu-2 .menu2-page,
.menu2-page {
  padding:    1.7rem 0 5rem;
  background:
    radial-gradient(circle at top left,    rgba(216,106,43,.10), transparent 28%),
    radial-gradient(circle at bottom right, rgba(62,155,143,.09), transparent 26%),
    #F3E1CA;
}

body.page-template-page-menu-2 .menu-page-brand,
.menu2-page .menu-page-brand {
  display:        flex; flex-direction: column;
  align-items:    center; text-align: center;
  margin-bottom:  2rem; padding: 0 5%;
}

body.page-template-page-menu-2 .menu-page-logo,
.menu2-page .menu-page-logo {
  display:         inline-flex; flex-direction: column;
  align-items:     center; text-decoration: none;
}

body.page-template-page-menu-2 .menu-page-logo .logo-text,
.menu2-page .menu-page-logo .logo-text { justify-content: center; font-size: clamp(2.4rem,4vw,3.1rem); line-height: .95; }

body.page-template-page-menu-2 .menu-page-logo .logo-sub,
.menu2-page .menu-page-logo .logo-sub { font-size: .9rem; margin-top: -3px; text-align: center; }

.menu2-top-controls {
  margin: 1.6rem auto 0;
  display: flex; gap: .55rem; align-items: center; justify-content: center;
}

.menu2-lang-btn {
  flex:            0 0 150px; width: 150px;
  height:          50px; min-height: 50px; max-height: 50px;
  display:         flex; align-items: center; justify-content: center;
  gap:             .4rem; padding: 0 1rem 0 1.6rem;
  border-radius:   999px; border: 1.5px solid transparent;
  font-size:       .82rem; font-weight: 800; letter-spacing: .02em;
  cursor:          pointer; white-space: nowrap; overflow: hidden;
  transition:      transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease, background .2s ease;
  position:        relative; padding-right: 1.6rem;
  background:      rgba(255,255,255,.6); color: #5A4A45;
  border-color:    rgba(216,106,43,.22); backdrop-filter: blur(10px);
  box-shadow:      0 4px 14px rgba(90,74,69,.07), inset 0 1px 0 rgba(255,255,255,.8);
}

.menu2-lang-btn::after {
  content: '›'; position: absolute; right: .75rem; top: 50%;
  transform: translateY(-50%) rotate(90deg);
  font-size: 1rem; color: #B3876B; opacity: .7;
}

.menu2-lang-full {
  display: inline;
}

.menu2-lang-icon {
  display: none;
  line-height: 1;
}

.menu2-lang-btn:hover {
  background:   rgba(255,255,255,.85); border-color: rgba(216,106,43,.45);
  transform:    translateY(-2px);
  box-shadow:   0 8px 22px rgba(90,74,69,.10), inset 0 1px 0 rgba(255,255,255,.9);
}

.menu2-cat-btn {
  flex:           0 0 150px; width: 150px;
  height:         50px; min-height: 50px; max-height: 50px;
  display:        flex; align-items: center; justify-content: center;
  gap:            .4rem; padding: 0 1rem;
  border-radius:  999px; border: 1.5px solid transparent;
  font-size:      .82rem; font-weight: 800; letter-spacing: .02em;
  cursor:         pointer; white-space: nowrap; overflow: hidden;
  transition:     transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease, background .2s ease;
  background:     linear-gradient(135deg,#D86A2B 0%,#C6284B 100%);
  color:          #fff; border-color: transparent;
  box-shadow:     0 6px 20px rgba(216,106,43,.35), inset 0 1px 0 rgba(255,255,255,.18);
}

.menu2-cat-btn::before { content: '≡'; font-size: 1.2rem; line-height: 1; }

.menu2-cat-lines {
  display: none;
}

.menu2-cat-label {
  display: inline;
}

.menu2-cat-btn:hover {
  background: linear-gradient(135deg,#C6284B 0%,#D86A2B 100%);
  transform:  translateY(-2px);
  box-shadow: 0 10px 28px rgba(216,106,43,.45), inset 0 1px 0 rgba(255,255,255,.2);
}

body.page-template-page-menu-2 .menu2-category-dropdown,
.menu2-page .menu2-category-dropdown {
  display: none; flex-basis: 100%; width: 100%;
  margin: 1.25rem auto 2.5rem; padding: 0;
  background: transparent; border: 0; box-shadow: none;
  position: relative; top: auto; z-index: 6;
  flex-wrap: wrap; justify-content: center; gap: 1rem;
}

body.page-template-page-menu-2 .menu2-category-dropdown.open,
.menu2-page .menu2-category-dropdown.open { display: flex; animation: menuPopoverIn .24s cubic-bezier(.2,.8,.2,1) both; }

body.page-template-page-menu-2 .menu2-category-dropdown a,
.menu2-page .menu2-category-dropdown a {
  position: relative; isolation: isolate; flex: 0 0 auto;
  padding: .76rem 1.45rem; background: transparent; border: 0;
  color: #fff; font-family: var(--font-heading);
  font-size: 1.05rem; font-weight: 700; text-decoration: none;
  transform: rotate(-1deg); transition: transform .18s ease, filter .18s ease;
}

/* brush shape — shared by dropdown links, category h2, home tabs.
   inset .1rem -.8rem for .home-menu2-tab (slightly wider) is handled via the tab's own ::before override below */
body.page-template-page-menu-2 .menu2-category-dropdown a::before,
.menu2-page .menu2-category-dropdown a::before,
.menu2-category h2::before {
  content: ''; position: absolute; inset: .08rem -.75rem; z-index: -1;
  background: #D86A2B; border-radius: 4px;
  transform: skewX(-7deg) rotate(-1deg);
  clip-path: polygon(0% 20%,10% 9%,25% 14%,40% 7%,56% 12%,73% 6%,91% 13%,100% 23%,96% 52%,100% 80%,86% 91%,68% 85%,53% 94%,36% 87%,18% 93%,3% 82%,8% 50%);
  transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
}

/* color cycle */
.menu2-page .menu2-category-dropdown a:nth-child(1)::before, .menu2-category:nth-child(1) h2::before, .home-menu2-tab:nth-child(1)::before { background: #D86A2B; }
.menu2-page .menu2-category-dropdown a:nth-child(2)::before, .menu2-category:nth-child(2) h2::before, .home-menu2-tab:nth-child(2)::before { background: #D63B8C; }
.menu2-page .menu2-category-dropdown a:nth-child(3)::before, .menu2-category:nth-child(3) h2::before, .home-menu2-tab:nth-child(3)::before { background: #3E6FB6; }
.menu2-page .menu2-category-dropdown a:nth-child(4)::before, .menu2-category:nth-child(4) h2::before, .home-menu2-tab:nth-child(4)::before { background: #3E9B8F; }
.menu2-page .menu2-category-dropdown a:nth-child(5)::before, .menu2-category:nth-child(5) h2::before, .home-menu2-tab:nth-child(5)::before { background: #5A9A46; }
.menu2-page .menu2-category-dropdown a:nth-child(6)::before, .menu2-category:nth-child(6) h2::before, .home-menu2-tab:nth-child(6)::before { background: #C6284B; }
.menu2-page .menu2-category-dropdown a:nth-child(7)::before, .menu2-category:nth-child(7) h2::before, .home-menu2-tab:nth-child(7)::before { background: #E03A73; }
.menu2-page .menu2-category-dropdown a:nth-child(8)::before, .menu2-category:nth-child(8) h2::before, .home-menu2-tab:nth-child(8)::before { background: #C79B1D; }

.menu2-page .menu2-category-dropdown a:hover,
.home-menu2-tab:hover,
.home-menu2-tab.active { transform: rotate(0deg) translateY(-2px); }

.menu2-page .menu2-category-dropdown a:hover::before,
.home-menu2-tab:hover::before,
.home-menu2-tab.active::before { filter: saturate(1.15) brightness(.97); box-shadow: 0 10px 24px rgba(90,74,69,.14); }

.menu2-wrap { max-width: 1400px; margin: 0 auto; padding: 0 4%; columns: 2 560px; column-gap: 2.4rem; }

.menu2-category { display: inline-block; width: 100%; break-inside: avoid; margin: 0 0 1.65rem; background: transparent; scroll-margin-top: 120px; }

.menu2-category h2 {
  font-family: var(--font-heading);
  position: relative; isolation: isolate;
  display: inline-flex; margin: 0 0 1rem; padding: .72rem 1.85rem;
  color: #fff; font-size: 1.55rem; font-weight: 700; transform: rotate(-1.5deg);
}

.menu2-grid { display: flex; flex-direction: column; gap: .52rem; }

.menu2-item {
  position:              relative;
  display:               grid;
  grid-template-columns: 74px minmax(0,1fr);
  gap:                   .9rem; align-items: start;
  padding:               .95rem 1rem;
  background:            rgba(255,250,243,.82);
  border:                1px solid rgba(255,255,255,.65);
  border-radius:         18px;
  box-shadow:            0 5px 16px rgba(90,74,69,.045);
  transition:            transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, border-color .22s ease;
}

.menu2-item:hover { transform: translateY(-4px) rotate(-.25deg); border-color: rgba(216,106,43,.28); box-shadow: 0 16px 36px rgba(90,74,69,.11); }

.menu2-item.is-signature { padding-top: 1rem; background: #FFF0DF; border: 1px solid rgba(216,106,43,.24); }

.menu2-item:not(:has(.menu2-img)) { grid-template-columns: 1fr; }
.menu2-item:not(:has(.menu2-img)) .menu2-ribbon { left: .82rem; }

.menu2-img { width: 74px; height: 74px; overflow: hidden; border: 2px solid #fff; border-radius: 16px; box-shadow: 0 5px 14px rgba(0,0,0,.08); }

.menu2-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }

.menu2-item:hover .menu2-img img { transform: scale(1.08); }

.menu2-content { min-width: 0; }

.menu2-top { display: grid; grid-template-columns: 1fr auto; gap: .75rem; align-items: start; }

.menu2-top h3 { font-family: var(--font-heading); margin: 0; color: #2F2722; font-size: 1.15rem; line-height: 1.25; font-weight: 900; }

.menu2-top strong { color: #C6284B; font-size: 1.15rem; line-height: 1.2; font-weight: 900; white-space: nowrap; }

.menu2-content p { margin: .28rem 0 0; color: #74655F; font-size: .88rem; line-height: 1.45; font-weight: 700; }

.menu2-ribbon {
  position: absolute; top: -9px; left: 90px; z-index: 4;
  background: #D63B8C; color: #fff;
  font-size: .55rem; font-weight: 900; padding: .3rem .62rem;
  border-radius: 999px; box-shadow: 0 7px 16px rgba(90,74,69,.12);
}


/* =====================================================
   menu 2 sticky bar
===================================================== */

body.menu2-scrolled .menu-page-brand {
  position:        sticky; top: 0; z-index: 90;
  flex-direction:  row; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: 1rem;
  margin: 0; padding: .55rem 5%;
  background:      rgba(243,225,202,.98); backdrop-filter: blur(14px);
  border-bottom:   1.5px solid rgba(216,106,43,.18);
  box-shadow:      0 8px 28px rgba(90,74,69,.10);
  text-align:      left; overflow: visible;
}

body.menu2-scrolled .menu-page-logo            { align-items: flex-start; }
body.menu2-scrolled .menu-page-logo .logo-text { font-size: 1.6rem; }
body.menu2-scrolled .menu-page-logo .logo-sub  { display: block; font-size: .58rem; margin-top: -3px; text-align: left; }

body.menu2-scrolled .menu2-top-controls { margin: 0; gap: .5rem; align-items: center; justify-content: flex-end; }

body.menu2-scrolled .menu2-lang-btn,
body.menu2-scrolled .menu2-cat-btn { flex: 0 0 145px; width: 145px; height: 42px; min-height: 42px; padding: 0 .9rem; font-size: .78rem; }

body.menu2-scrolled .menu2-category-dropdown {
  position: relative; left: auto; top: auto; transform: none;
  flex-basis: 100%; width: 100%; margin: 0; padding: .65rem 0 .5rem;
  background: transparent; border: 0; box-shadow: none; display: none;
  flex-wrap: wrap; justify-content: center; gap: .65rem 1rem;
  border-top: 1px solid rgba(216,106,43,.12);
}

body.menu2-scrolled .menu2-category-dropdown.open { display: flex; animation: menuPopoverIn .24s cubic-bezier(.2,.8,.2,1) both; }

body.menu2-scrolled .menu2-category-dropdown a { padding: .6rem 1.1rem; font-size: .92rem; }


/* =====================================================
   home menu style 2
===================================================== */

.home-menu2-sect {
  background: var(--peach); padding: 7rem 7%;
  position: relative; overflow: hidden;
}

.home-menu2-sect::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(circle at top left,    rgba(216,106,43,.10), transparent 30%),
    radial-gradient(circle at bottom right, rgba(62,155,143,.10), transparent 28%);
}

.home-menu2-sect > * { position: relative; z-index: 1; }

/* All three share the same width/max-width — declared once each with those properties */
.home-menu2-head {
  width: 100%; max-width: 1550px; margin: 0 auto 2.4rem;
  display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
}

.home-menu2-tabs {
  width: 100%; max-width: 1550px; margin: 0 auto 3rem;
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.2rem 2rem;
}

.home-menu2-tab {
  font-family: var(--font-heading);
  position:    relative; isolation: isolate;
  background:  transparent; border: 0; color: #fff;
  font-size:   1.2rem; font-weight: 700; padding: .9rem 1.8rem;
  cursor:      pointer; transform: rotate(-1deg);
  transition:  transform .2s cubic-bezier(.2,.8,.2,1), filter .2s ease;
}

/* home-menu2-tab::before — same brush shape, slightly wider inset than dropdown/h2 */
.home-menu2-tab::before {
  content: ''; position: absolute; inset: .1rem -.8rem; z-index: -1;
  background: #D86A2B; border-radius: 4px;
  transform: skewX(-7deg) rotate(-1deg);
  clip-path: polygon(0% 20%,10% 9%,25% 14%,40% 7%,56% 12%,73% 6%,91% 13%,100% 23%,96% 52%,100% 80%,86% 91%,68% 85%,53% 94%,36% 87%,18% 93%,3% 82%,8% 50%);
  transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
}

.home-menu2-panel        { display: none; }
.home-menu2-panel.active { display: block; animation: menuPanelIn .28s ease both; }

.home-menu2-list {
  width: 100%; max-width: 1550px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(2,minmax(620px,1fr)); gap: 1.3rem;
}

.home-menu2-item {
  position:              relative;
  display:               grid;
  grid-template-columns: 92px minmax(0,1fr);
  gap:                   1.2rem; align-items: start;
  min-height:            128px; padding: 1.2rem 1.25rem;
  background:            rgba(255,250,243,.86);
  border:                1px solid rgba(255,255,255,.7);
  border-radius:         24px;
  box-shadow:            0 6px 18px rgba(90,74,69,.05);
  transition:            transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, border-color .24s ease, background .24s ease;
}

.home-menu2-item::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit;
  background: linear-gradient(120deg,rgba(255,255,255,.35),transparent 38%);
  opacity: 0; pointer-events: none; transition: opacity .25s ease;
}

.home-menu2-item:hover { transform: translateY(-7px) rotate(-.25deg); border-color: rgba(216,106,43,.30); background: rgba(255,252,247,.95); box-shadow: 0 18px 42px rgba(90,74,69,.13); }

.home-menu2-item:hover::after { opacity: 1; }

.home-menu2-item.is-signature { padding-top: 1.2rem; background: #FFF0DF; border: 1px solid rgba(216,106,43,.24); }

.home-menu2-item:not(:has(.home-menu2-img))                    { grid-template-columns: 1fr; }
.home-menu2-item:not(:has(.home-menu2-img)) .home-menu2-ribbon { left: 1rem; }

.home-menu2-img { width: 92px; height: 92px; overflow: hidden; border: 2px solid #fff; border-radius: 18px; box-shadow: 0 5px 14px rgba(0,0,0,.08); }

.home-menu2-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .38s ease; }

.home-menu2-item:hover .home-menu2-img img { transform: scale(1.08); }

.home-menu2-content { min-width: 0; }

.home-menu2-top { display: grid; grid-template-columns: 1fr auto; gap: .9rem; align-items: start; }

.home-menu2-top h3     { font-family: var(--font-heading); margin: 0; color: #2F2722; font-size: 1.45rem; line-height: 1.15; font-weight: 900; }

.home-menu2-top strong { color: #C6284B; font-size: 1.55rem; line-height: 1.2; font-weight: 900; white-space: nowrap; }

.home-menu2-content p,
.home-menu2-item p { margin: .45rem 0 0; color: #74655F; font-size: 1rem; line-height: 1.6; font-weight: 700; }

.home-menu2-ribbon {
  position: absolute; top: -9px; left: 106px; z-index: 4;
  background: #D63B8C; color: #fff;
  font-size: .7rem; font-weight: 900; padding: .42rem .8rem;
  border-radius: 999px; box-shadow: 0 7px 16px rgba(90,74,69,.12);
}


/* =====================================================
   google reviews
===================================================== */

.reviews-sect { background: var(--peach); padding: 5.5rem 8%; }

.reviews-head { width: 100%; margin: 0 0 2.5rem; text-align: left; }

.reviews-head .lbl { justify-content: flex-start; }

/* Single .reviews-summary block */
.reviews-summary {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  gap:             .65rem;
  margin-top:      1rem;
  width:           100%;
  text-align:      center;
  background:      transparent;
  border:          0;
  padding:         0;
  color:           var(--mid);
  font-weight:     900;
}

.reviews-stars { color: #F0C800; letter-spacing: 1px; }

.reviews-slider-wrap { width: 100%; position: relative; }

/* Single .reviews-slider — desktop grid */
.reviews-slider {
  width:                 100%;
  display:               grid;
  grid-template-columns: repeat(6,1fr);
  gap:                   1.15rem;
  overflow:              visible;
  padding:               .2rem 0 0;
  scroll-snap-type:      none;
}

.reviews-arrow { display: none; }

.review-card {
  position:       relative;
  min-height:     310px;
  padding:        1.65rem;
  display:        flex;
  flex-direction: column;
  background:     #fff;
  border:         1.5px solid var(--border);
  border-radius:  26px;
  box-shadow:     0 16px 42px rgba(90,74,69,.06);
  transition:     transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.review-card:nth-child(1), .review-card:nth-child(2), .review-card:nth-child(3) { grid-column: span 2; }
.review-card:nth-child(4) { grid-column: 2 / span 2; }
.review-card:nth-child(5) { grid-column: 4 / span 2; }

.review-card:hover { transform: translateY(-6px) rotate(-.18deg); border-color: rgba(244,123,32,.38); box-shadow: 0 22px 55px rgba(90,74,69,.11); }

.review-top { display: flex; align-items: flex-start; gap: .9rem; margin-bottom: 1rem; }

.review-avatar {
  width: 58px; height: 58px; border-radius: 50%; overflow: hidden;
  background: linear-gradient(135deg,var(--orange),var(--red));
  color: #fff; border: 3px solid #fff; box-shadow: 0 8px 22px rgba(0,0,0,.08);
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 auto; font-weight: 900;
}

.review-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }

.review-author { color: var(--dark); font-size: 1.05rem; font-weight: 900; line-height: 1.2; }

.review-time { margin-top: .28rem; color: var(--muted); font-size: .76rem; font-weight: 800; line-height: 1.35; }

.review-rating { color: #F0C800; letter-spacing: 1px; font-size: 1.18rem; margin: .15rem 0 1rem; }

.review-text { color: var(--dark); font-size: .96rem; line-height: 1.75; font-weight: 700; flex: 1; }

.review-text:empty { display: none; }

.review-source {
  margin-top: auto; padding-top: 1.2rem;
  display: flex; align-items: center; gap: .55rem;
  color: var(--orange); font-size: .72rem; font-weight: 900;
  letter-spacing: 1px; text-transform: uppercase;
}

.review-source::before {
  content: 'G'; width: 24px; height: 24px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; background: #fff; color: #4285F4;
  border: 1px solid rgba(66,133,244,.22); font-size: .86rem; font-weight: 900;
}

/* Single .reviews-bottom block */
.reviews-bottom { width: 100%; margin: 2.4rem 0 0; display: flex; justify-content: center; }

.reviews-google-btn {
  background: var(--orange); color: #fff;
  padding: .9rem 2rem; border-radius: 50px;
  font-weight: 800; font-size: .9rem; letter-spacing: .5px;
  text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
}

.reviews-google-btn:hover { background: var(--orange-d); transform: translateY(-3px); }


/* =====================================================
   responsive
===================================================== */

@media (max-width: 1280px) {
  section           { padding-left: 6%; padding-right: 6%; }
  .sig-grid         { grid-template-columns: repeat(4,1fr); }
  .info-cards       { grid-template-columns: 1fr 1fr; }
  .order-card       { grid-column: 1 / -1; }
  .home-menu2-list  { grid-template-columns: repeat(2,minmax(420px,1fr)); }
  .home-menu2-item  { grid-template-columns: 78px minmax(0,1fr); min-height: 112px; padding: 1rem; }
  .home-menu2-img   { width: 78px; height: 78px; }
  .home-menu2-top h3     { font-size: 1.2rem; }
  .home-menu2-top strong { font-size: 1.25rem; }
  .home-menu2-content p,
  .home-menu2-item p     { font-size: .9rem; }
  .home-menu2-ribbon     { left: 92px; }
}

@media (min-width: 1600px) {
  .home-menu2-head,
  .home-menu2-tabs,
  .home-menu2-list { max-width: 1700px; }
  .home-menu2-list { grid-template-columns: repeat(2,minmax(720px,1fr)); }
}

@media (max-width: 960px) {
  section      { padding: 4.5rem 5%; }
  .nav-links   { display: none; }
  .nav-right   { margin-left: auto; }
  .hamburger   { display: flex; }

  /* mobile language globe — same size/style as hamburger */
  .mob-lang { display: block; position: relative; }

  .mob-lang-btn,
  .hamburger {
    width:           40px;
    height:          40px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    border-radius:   8px;
    border:          1.5px solid var(--border);
    background:      var(--peach);
    cursor:          pointer;
    transition:      background .2s, border-color .2s;
    padding:         0;
  }

  .mob-lang-btn { font-size: 1.2rem; line-height: 1; }

  .hamburger { flex-direction: column; gap: 5px; }

  .mob-lang-btn:hover,
  .mob-lang.open .mob-lang-btn,
  .hamburger:hover { background: var(--peach2); border-color: var(--orange); }

  /* dropdown: opens downward, right-aligned */
  .mob-lang .lang-menu { top: calc(100% + .5rem); right: 0; left: auto; }

  .hero        { min-height: 88vh; }
  .hero-cnt    { padding: 0 6%; }
  .hero-card   { display: none; }

  .about-grid  { grid-template-columns: 1fr; gap: 3rem; }
  .about-imgs  { height: 340px; }
  .img-b       { display: none; }
  .facts       { grid-template-columns: repeat(3,1fr); }

  .sig-grid     { grid-template-columns: repeat(3,1fr); }
  .info-cards   { grid-template-columns: 1fr; }

  .gallery-mosaic { grid-template-columns: repeat(2,1fr); grid-auto-rows: 260px; }
  .gallery-item   { grid-column: span 1; grid-row: span 1; }
  .gl-arrow       { width: 42px; height: 42px; font-size: 2.3rem; }
  .gl-prev        { left: .8rem; }
  .gl-next        { right: .8rem; }

  footer { grid-template-columns: 1fr; text-align: center; }
  .footer-brand .logo-text { justify-content: center; }
  .footer-brand .logo-sub  { text-align: center; }
  .footer-text             { margin-inline: auto; }
  .footer-bottom           { flex-direction: column; text-align: center; }

  .menu2-page .menu-page-brand {
    position: sticky; top: 0; z-index: 95;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: .5rem; margin: 0 0 1.4rem; padding: .65rem 5%;
    background: transparent; overflow: visible; text-align: left;
  }

  .menu2-page .menu-page-logo            { align-items: flex-start; }
  .menu2-page .menu-page-logo .logo-text { font-size: 1.85rem; }
  .menu2-page .menu-page-logo .logo-sub  { display: block; font-size: .62rem; margin-top: -3px; text-align: left; }
  .menu2-top-controls                    { margin: .8rem auto 0; gap: .5rem; justify-content: center; }

  .menu2-lang-btn,
  .menu2-cat-btn { flex: 0 0 140px; width: 140px; height: 46px; min-height: 46px; font-size: .78rem; padding: 0 .9rem; border-radius: 999px; }

  .menu2-page .menu2-category-dropdown {
    position: relative; left: auto; top: auto; transform: none;
    flex-basis: 100%; width: 100%; margin: 0; padding: .65rem 0 .5rem;
    background: transparent; border: 0; box-shadow: none; display: none;
    flex-direction: row; flex-wrap: wrap; justify-content: center; gap: .6rem 2rem;
    border-top: 1px solid rgba(216,106,43,.12); z-index: auto;
  }

  .menu2-page .menu2-category-dropdown.open { display: flex; animation: menuPopoverIn .24s cubic-bezier(.2,.8,.2,1) both; }
  .menu2-page .menu2-category-dropdown a    { margin: 0; padding: .6rem 1rem; font-size: .88rem; transform: rotate(-1deg); }

  .menu2-wrap     { columns: 1; max-width: 680px; }
  .menu2-category { scroll-margin-top: 160px; }

  body.menu2-scrolled .menu2-lang-btn,
  body.menu2-scrolled .menu2-cat-btn { flex: 0 0 46px; width: 46px; height: 46px; min-height: 46px; max-height: 46px; padding: 0; border-radius: 50%; font-size: 0; letter-spacing: 0; line-height: 46px; }

  body.menu2-scrolled .menu2-lang-btn::before { content: '🌐'; font-size: 1.3rem; line-height: 1; display: block; width: 100%; text-align: center; }
  body.menu2-scrolled .menu2-lang-btn::after  { display: none; }
  body.menu2-scrolled .menu2-cat-btn::before  { content: '≡'; font-size: 1.6rem; line-height: 1; display: block; width: 100%; text-align: center; margin: 0; }

  .reviews-sect   { padding: 4.8rem 5%; }
  .reviews-head   { margin-bottom: 2rem; }

  /* slider — one card at a time */
  .reviews-slider {
    display:               grid;
    grid-auto-flow:        column;
    grid-auto-columns:     100%;          /* exactly 1 card fills the container */
    grid-template-columns: none;
    gap:                   1rem;
    overflow-x:            auto;
    scroll-snap-type:      x mandatory;
    scroll-behavior:       smooth;
    padding:               .3rem 0 1.2rem;
    scrollbar-width:       none;
  }

  .reviews-slider::-webkit-scrollbar { display: none; }

  .review-card,
  .review-card:nth-child(1),
  .review-card:nth-child(2),
  .review-card:nth-child(3),
  .review-card:nth-child(4),
  .review-card:nth-child(5) {
    grid-column:       auto;
    scroll-snap-align: start;
    min-height:        280px;
  }

  /* arrows — overlay on left/right of slider */
  .reviews-slider-wrap { position: relative; }

  .reviews-arrow {
    display:         flex;
    align-items:     center;
    justify-content: center;
    position:        absolute;
    top:             42%;
    transform:       translateY(-50%);
    width:           44px;
    height:          44px;
    border-radius:   50%;
    background:      rgba(255,255,255,.96);
    border:          1.5px solid var(--border);
    font-size:       1.6rem;
    line-height:     1;
    cursor:          pointer;
    z-index:         10;
    box-shadow:      0 4px 16px rgba(0,0,0,.10);
    color:           var(--dark);
    transition:      background .2s, border-color .2s, color .2s, transform .2s;
  }

  .reviews-arrow:hover {
    background:   var(--orange);
    border-color: var(--orange);
    color:        #fff;
    transform:    translateY(-50%) scale(1.08);
  }

  .reviews-prev { left:  -4px; }
  .reviews-next { right: -4px; }

  /* dot indicators (injected by JS) */
  .reviews-dots {
    display:         flex;
    justify-content: center;
    gap:             7px;
    margin-top:      .4rem;
  }

  .reviews-dot {
    width:         8px;
    height:        8px;
    border-radius: 50%;
    background:    var(--border);
    border:        none;
    padding:       0;
    cursor:        pointer;
    transition:    background .2s, transform .2s;
  }

  .reviews-dot.active {
    background: var(--orange);
    transform:  scale(1.3);
  }

  .reviews-bottom { margin-top: 1.6rem; }

  .home-menu2-sect  { padding: 4.5rem 5%; }
  .home-menu2-list  { grid-template-columns: 1fr; max-width: 680px; }
  .home-menu2-tabs  { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 2rem; max-width: 520px; overflow: visible; padding: .9rem .5rem 1rem; margin-inline: auto; }

  .home-menu2-tab   { flex: 0 0 auto; margin: 0; font-size: .95rem; padding: .68rem 1.2rem; }
  .home-menu2-tab:nth-child(odd)  { transform: rotate(-1deg); }
  .home-menu2-tab:nth-child(even) { transform: rotate(1deg); }
  .home-menu2-tab.active,
  .home-menu2-tab:hover  { transform: rotate(0deg) translateY(-2px); }

  .home-menu2-item  { grid-template-columns: 64px minmax(0,1fr); min-height: auto; padding: .85rem .9rem; border-radius: 18px; }
  .home-menu2-img   { width: 64px; height: 64px; border-radius: 14px; }
  .home-menu2-top h3     { font-size: 1rem; }
  .home-menu2-top strong { font-size: 1rem; }
  .home-menu2-content p,
  .home-menu2-item p     { font-size: .8rem; line-height: 1.45; }
  .home-menu2-ribbon     { left: 78px; font-size: .55rem; padding: .3rem .62rem; }
}

@media (max-width: 600px) {
  section   { padding: 4rem 5%; }
  nav       { padding: .75rem 5%; }
  .hero     { min-height: 92vh; }
  .hero h1  { font-size: clamp(2.7rem,14vw,4.1rem); }
  .hero-desc { font-size: .95rem; }
  .hero-btns { flex-direction: column; align-items: center; width: 100%; }
  .btn-main,
  .btn-sec   { width: min(100%, 360px); justify-content: center; }

  .facts       { grid-template-columns: 1fr 1fr; }
  .sig-grid    { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .sig-card    { padding: 1.4rem 1rem; }

  .gallery-mosaic { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .delivery-logos { grid-template-columns: 1fr; }
  footer          { padding: 3rem 5% 2rem; }

  body.page-template-page-menu-2 .menu2-page,
  .menu2-page    { padding: 0 0 4rem; }

  .menu2-page .menu-page-brand              { margin: 0; padding: .6rem 4%; }
  .menu2-page .menu-page-logo .logo-text    { font-size: 1.55rem; }
  .menu2-lang-btn, .menu2-cat-btn           { flex: 0 0 130px; width: 130px; height: 44px; min-height: 44px; font-size: .72rem; padding: 0 .75rem; }
  .menu2-page .menu2-category-dropdown a   { font-size: .8rem; padding: .55rem .85rem; }
  .menu2-category h2                       { font-size: 1.48rem; padding: .68rem 1.65rem; }
  .menu2-item  { grid-template-columns: 60px minmax(0,1fr); padding: .78rem; }
  .menu2-img   { width: 60px; height: 60px; }
  .menu2-top h3,
  .menu2-top strong { font-size: .95rem; }
  .menu2-content p  { font-size: .78rem; }
  .menu2-ribbon     { left: 72px; font-size: .5rem; }

  .reviews-sect    { padding: 4rem 5%; }
  .review-card     { min-height: 285px; padding: 1.35rem; border-radius: 22px; }
  .review-avatar   { width: 52px; height: 52px; }
  .review-author   { font-size: .98rem; }
  .review-text     { font-size: .9rem; }
  .reviews-google-btn { width: 100%; }

  .home-menu2-sect { padding: 4rem 5%; }
  .home-menu2-list { gap: .7rem; }
  .home-menu2-item { grid-template-columns: 54px minmax(0,1fr); padding: .75rem; }
  .home-menu2-img  { width: 54px; height: 54px; }
  .home-menu2-top h3,
  .home-menu2-top strong { font-size: .9rem; }
  .home-menu2-content p,
  .home-menu2-item p     { font-size: .74rem; }
  .home-menu2-ribbon     { left: 66px; font-size: .5rem; }
}

@media (max-width: 480px) {
  .home-menu2-tabs { max-width: 360px; gap: .65rem 2rem; }
  .home-menu2-tab  { font-size: .86rem; padding: .62rem 1rem; }
}

@media (max-width: 380px) {
  .hero h1   { font-size: 2.55rem; }
  .stitle    { font-size: 2rem; }
  .facts,
  .sig-grid  { grid-template-columns: 1fr; }

  .menu2-lang-btn,
  .menu2-cat-btn { flex: 0 0 48px; width: 48px; height: 48px; padding: 0; border-radius: 50%; font-size: 0; gap: 0; }

  .menu2-lang-btn::before { content: '🌐'; font-size: 1.3rem; line-height: 1; }
  .menu2-lang-btn::after  { display: none; }
  .menu2-cat-btn::before  { content: '≡'; font-size: 1.5rem; line-height: 1; margin: 0; }
}


/* =====================================================
   animation keyframes
===================================================== */

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes menuPopoverIn {
  from { opacity: 0; transform: translateY(-8px) scale(.98); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}

@keyframes menuPanelIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* =====================================================
   reduced motion
===================================================== */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration:        .01ms;
    animation-iteration-count: 1;
    scroll-behavior:           auto;
    transition-duration:       .01ms;
  }
}

/* =====================================================
   menu 2 final responsive polish
===================================================== */

.menu2-category {
  margin-bottom: .9rem;
  padding: 10px 0rem;
}

.menu2-category h2 {
  margin-bottom: .65rem;
}

.menu2-grid {
  gap: .45rem;
}

.menu2-top h3,
.menu2-content p {
  overflow-wrap: anywhere;
}

.menu2-top strong {
  white-space: nowrap;
}

.menu2-top-controls {
  align-items: center;
  display: grid;
  gap: .9rem;
  grid-template-columns: repeat(2, minmax(0, 150px));
  justify-content: center;
  max-width: 330px;
  width: 100%;
}

.menu2-top-controls .lang-dropdown {
  min-width: 0;
  width: 100%;
}

.menu2-lang-btn,
.menu2-cat-btn {
  flex: none;
  height: 50px;
  line-height: 1;
  margin: 0;
  max-height: 50px;
  min-height: 50px;
  min-width: 0;
  width: 100%;
}

.menu2-page .menu2-category-dropdown {
  flex-basis: 100%;
  gap: 2rem;
  order: 3;
  width: 100%;
}

.menu2-page .menu2-category-dropdown a {
  line-height: 1.1;
  max-width: 100%;
  text-align: center;
  white-space: normal;
}

.menu2-page .menu2-category-dropdown > font {
  display: contents;
}

.menu2-page .menu2-category-dropdown a.menu2-empty-translation {
  display: none;
}

@media (max-width: 768px) {
  .menu2-page .menu-page-brand {
    align-items: center;
    background: rgba(243,225,202,.94);
    backdrop-filter: blur(14px);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0 0 1.2rem;
    padding: .85rem 1rem 1rem;
    position: sticky;
    text-align: center;
    top: 0;
    z-index: 95;
  }

  .menu2-page .menu-page-logo {
    align-items: center;
    min-width: 0;
  }

  .menu2-page .menu-page-logo .logo-text {
    font-size: clamp(2.2rem, 11vw, 3rem);
    justify-content: center;
  }

  .menu2-page .menu-page-logo .logo-sub {
    display: block;
    font-size: .82rem;
    margin-top: -.15rem;
  }

  .menu2-top-controls {
    gap: .9rem;
    grid-template-columns: repeat(2, minmax(0, 150px));
    margin: 0 auto;
    max-width: 336px;
  }

  .menu2-lang-btn,
  .menu2-cat-btn {
    border-radius: 999px;
    font-size: .78rem;
    height: 50px;
    max-height: 50px;
    min-height: 50px;
    padding: 0 .9rem;
  }

  .menu2-wrap {
    columns: 1;
    max-width: 680px;
    padding: 0 1rem;
  }

  .menu2-category {
    margin-bottom: .85rem;
    scroll-margin-top: 155px;
  }

  .menu2-category h2 {
    font-size: 1.45rem;
    margin-bottom: .6rem;
  }

  .menu2-item {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .menu2-page .menu2-category-dropdown {
    border-top: 1px solid rgba(216,106,43,.14);
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .65rem 2rem;
    justify-content: center;
    margin: .15rem 0 0;
    padding: .8rem 0 .15rem;
  }

  .menu2-page .menu2-category-dropdown.open {
    align-items: center;
    display: flex;
  }

  .menu2-page .menu2-category-dropdown a {
    flex: 0 1 auto;
    font-size: .95rem;
    padding: .6rem 1.15rem;
    white-space: nowrap;
  }

  body.site-translated .menu2-page .menu2-category-dropdown a {
    font-size: clamp(.78rem, 3.2vw, .95rem);
    max-width: calc(100vw - 2rem);
    overflow-wrap: normal;
  }

  body.menu2-scrolled .menu-page-brand {
    align-items: center;
    display: grid;
    gap: .65rem .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0;
    padding: .55rem .9rem;
    text-align: left;
  }

  body.menu2-scrolled .menu-page-logo {
    align-items: flex-start;
  }

  body.menu2-scrolled .menu-page-logo .logo-text {
    font-size: clamp(1.3rem, 5vw, 1.55rem);
    justify-content: flex-start;
  }

  body.menu2-scrolled .menu-page-logo .logo-sub {
    display: block;
    font-size: .54rem;
    margin-top: -2px;
    text-align: left;
  }

  body.menu2-scrolled .menu2-top-controls {
    gap: 6px;
    grid-template-columns: repeat(2, 40px);
    justify-content: end;
    margin: 0;
    max-width: none;
    width: auto;
  }

  body.menu2-scrolled .menu2-top-controls .lang-dropdown {
    width: 40px;
  }

  body.menu2-scrolled .menu2-lang-btn,
  body.menu2-scrolled .menu2-cat-btn {
    align-items: center;
    background: var(--peach);
    border: 1.5px solid var(--border);
    border-radius: 8px;
    box-shadow: none;
    cursor: pointer;
    display: flex;
    flex: none;
    height: 40px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    max-height: 40px;
    min-height: 40px;
    min-width: 0;
    padding: 0;
    position: relative;
    transition: background .2s, border-color .2s;
    width: 40px;
  }

  body.menu2-scrolled .menu2-lang-btn:hover,
  body.menu2-scrolled .lang-dropdown.open .menu2-lang-btn,
  body.menu2-scrolled .menu2-cat-btn:hover {
    background: var(--peach2);
    border-color: var(--orange);
  }

  body.menu2-scrolled .menu2-lang-btn {
    font-size: 1.2rem;
  }

  body.menu2-scrolled .menu2-lang-btn::before {
    content: none;
  }

  body.menu2-scrolled .menu2-lang-btn::after {
    display: none;
  }

  body.menu2-scrolled .menu2-lang-full {
    display: none;
  }

  body.menu2-scrolled .menu2-lang-icon {
    align-items: center;
    display: flex;
    height: 1.25rem;
    justify-content: center;
    line-height: 1;
    width: 1.25rem;
  }

  body.menu2-scrolled .menu2-lang-icon img.emoji {
    display: block;
    height: 1.2rem;
    margin: 0;
    width: 1.2rem;
  }

  body.menu2-scrolled .menu2-cat-btn {
    color: var(--orange);
    flex-direction: column;
    font-size: 0;
    gap: 5px;
  }

  body.menu2-scrolled .menu2-cat-btn::before {
    content: none;
  }

  body.menu2-scrolled .menu2-cat-lines {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  body.menu2-scrolled .menu2-cat-lines span {
    background: var(--orange);
    border-radius: 2px;
    display: block;
    height: 2.5px;
    transition: .3s;
    width: 24px;
  }

  body.menu2-scrolled .menu2-cat-label {
    display: none;
  }

  body.menu2-scrolled .menu2-category-dropdown {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .65rem .75rem;
    grid-column: 1 / -1;
    justify-content: center;
    margin: 0;
    padding-top: .75rem;
  }
}

@media (max-width: 420px) {
  .menu2-page .menu-page-brand {
    padding-inline: .85rem;
  }

  .menu2-page .menu-page-logo .logo-text {
    font-size: clamp(2rem, 10vw, 2.45rem);
  }

  .menu2-top-controls {
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 322px;
  }

  .menu2-lang-btn,
  .menu2-cat-btn {
    font-size: .74rem;
    height: 48px;
    max-height: 48px;
    min-height: 48px;
    padding: 0 .72rem;
  }

  body:not(.menu2-scrolled) .menu2-lang-btn {
    padding-right: 1.45rem;
    position: relative;
  }

  body:not(.menu2-scrolled) .menu2-lang-btn::before {
    content: none;
  }

  body:not(.menu2-scrolled) .menu2-lang-btn::after {
    color: #B3876B;
    content: '›';
    display: block;
    font-size: 1rem;
    opacity: .7;
    position: absolute;
    right: .65rem;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
  }

  body:not(.menu2-scrolled) .menu2-cat-btn::before {
    background: none;
    content: '≡';
    display: inline;
    font-size: 1.2rem;
    height: auto;
    margin: 0;
    width: auto;
  }

  body.menu2-scrolled .menu-page-logo .logo-text {
    font-size: clamp(1.15rem, 4.9vw, 1.42rem);
  }
}

/* =====================================================
   final production polish — footer, mobile menu, Manrope
   Added before server upload to stabilize responsive layout.
===================================================== */

/* ---------- Footer layout reset / premium finish ---------- */
.site-footer {
  isolation: isolate;
  margin-top: 0;
}

.footer-inner {
  padding-top: clamp(3.4rem, 5vw, 5rem);
  padding-bottom: 2rem;
}

.footer-brand,
.footer-nav,
.footer-order,
.footer-social {
  position: relative;
}

.footer-nav,
.footer-order,
.footer-social {
  padding: 1.15rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.footer-nav h4,
.footer-order h4,
.footer-social h4 {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .55rem;
}

.footer-nav h4::before,
.footer-order h4::before,
.footer-social h4::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(244,123,32,.12);
}

.footer-brand .flogo {
  width: fit-content;
}

.footer-badges {
  align-items: center;
}

.footer-call,
.footer-menu-link {
  width: 100%;
  max-width: 230px;
}

.footer-social .fsocial a {
  min-width: 110px;
}

.footer-bottom {
  margin-top: clamp(1.4rem, 3vw, 2.4rem);
}

/* ---------- Desktop/tablet footer responsive fix ---------- */
@media (max-width: 1180px) {
  .footer-inner {
    grid-template-columns: 1.25fr 1fr;
  }

  .footer-bottom {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .footer-inner {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 3.2rem 5% 1.8rem;
    text-align: center;
  }

  .footer-brand,
  .footer-nav,
  .footer-order,
  .footer-social {
    align-items: center;
  }

  .footer-brand .flogo,
  .footer-badges,
  .footer-social .fsocial {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-brand .logo-text {
    justify-content: center;
    font-size: clamp(2rem, 11vw, 2.65rem);
  }

  .footer-brand .logo-sub {
    text-align: center;
  }

  .footer-text {
    margin-left: auto;
    margin-right: auto;
    max-width: 34rem;
  }

  .footer-nav a,
  .footer-contact a,
  .footer-contact span,
  .footer-order p {
    width: 100%;
    text-align: center;
  }

  .footer-nav a:hover,
  .footer-contact a:hover {
    transform: translateY(-1px);
  }

  .footer-call,
  .footer-menu-link {
    max-width: 320px;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 420px) {
  .footer-inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .footer-nav,
  .footer-order,
  .footer-social {
    border-radius: 18px;
    padding: 1rem;
  }
}

/* ---------- Header/mobile menu stabilization ---------- */
@media (max-width: 960px) {
  .site-nav {
    min-height: 72px;
  }

  .nav-logo {
    min-width: 0;
  }

  .nav-right {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .mob-menu {
    padding: 5rem 1.25rem 2rem;
  }

  .mob-menu a {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
    line-height: 1.1;
    text-align: center;
  }
}

/* ---------- Full menu page: make rules impossible to leak into homepage ---------- */
body:not(.page-template-page-menu-2) .menu2-category-dropdown:not(.open) {
  display: none;
}

.menu2-page .menu2-category-dropdown:not(.open) {
  display: none;
}

@media (max-width: 768px) {
  .menu2-page .menu-page-brand {
    width: 100%;
  }

  .menu2-page .menu2-category-dropdown.open {
    display: flex;
    max-height: min(52vh, 420px);
    overflow-y: auto;
  }

  .menu2-wrap {
    width: 100%;
  }
}



