/* ==========================================
   LA PIAZZETTA – MENU TYPOGRAPHY TUNING
   Scope: /menu + shared public page banner
   Purpose: reduce oversized menu typography after first visual pass
========================================== */

body.page-menu .lp-menu-hero .hero-kicker,
body.page-gallery .lp-menu-hero .hero-kicker,
body.page-saisonkarte .lp-menu-hero .hero-kicker,
body.page-contact .lp-menu-hero .hero-kicker{
  display: block;
  margin-bottom: clamp(16px, 2.2vw, 28px);
  transform: translateY(-5px);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.18rem, 2vw, 1.7rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(247,244,238,0.86);
}

body.page-menu .lp-menu-hero__brand,
body.page-gallery .lp-menu-hero__brand,
body.page-saisonkarte .lp-menu-hero__brand,
body.page-contact .lp-menu-hero__brand{
  display: block;
  font-size: clamp(3.7rem, 7.4vw, 7.2rem);
  line-height: 1.02;
  margin-bottom: 0;
  transform: translateY(5px);
}

body.page-menu .lp-menu-hero h1{
  font-size: clamp(1.85rem, 3.2vw, 3.25rem);
}

body.page-menu .lp-menu-title-row h2,
body.page-gallery .lp-menu-title-row h2,
body.page-saisonkarte .lp-menu-title-row h2,
body.page-contact .lp-menu-title-row h2{
  font-size: clamp(2rem, 3.6vw, 3.45rem);
}

body.page-menu .lp-menu-intro p,
body.page-gallery .lp-menu-intro p,
body.page-saisonkarte .lp-menu-intro p,
body.page-contact .lp-menu-intro p{
  font-size: clamp(1.05rem, 1.55vw, 1.28rem);
  line-height: 1.55;
}

body.page-menu .lp-menu-sidebar h2{
  font-size: clamp(1.35rem, 1.8vw, 1.72rem);
}

body.page-menu .lp-menu-category-nav a{
  font-size: clamp(1.04rem, 1.25vw, 1.22rem);
}

body.page-menu .lp-menu-note{
  font-size: clamp(1rem, 1.25vw, 1.14rem);
}

body.page-menu .lp-menu-category-head h2{
  font-size: clamp(1.78rem, 2.75vw, 2.55rem);
}

body.page-menu .lp-menu-category-subtitle{
  font-size: 0.98rem;
  line-height: 1.65;
}

body.page-menu .lp-menu-item h3{
  font-size: clamp(1.18rem, 1.45vw, 1.46rem);
  line-height: 1.14;
  margin-bottom: 3px;
}

body.page-menu .lp-menu-item p{
  font-size: clamp(0.95rem, 1.08vw, 1.05rem);
  line-height: 1.42;
}

body.page-menu .lp-menu-item__price{
  font-size: clamp(1.08rem, 1.3vw, 1.24rem);
  line-height: 1.1;
}

body.page-menu .lp-menu-codes span{
  width: 16px;
  height: 16px;
  font-size: 0.58rem;
}

body.page-menu .lp-menu-allergy-footer a{
  font-size: clamp(1rem, 1.25vw, 1.14rem);
}

/* Compact menu rows */
body.page-menu .lp-menu-items-list{
  padding-top: clamp(14px, 2vw, 20px);
  padding-bottom: clamp(14px, 2vw, 20px);
}

body.page-menu .lp-menu-item{
  padding-top: 10px;
  padding-bottom: 10px;
  gap: 14px;
}

body.page-menu .lp-menu-item:first-child{
  padding-top: 0;
}

body.page-menu .lp-menu-item:last-child{
  padding-bottom: 0;
}

body.page-menu .lp-menu-codes{
  gap: 4px;
  margin-left: 6px;
}

@media (min-width: 768px) and (max-width: 991.98px){
  body.page-menu .lp-menu-items-list{
    padding-top: 18px;
    padding-bottom: 18px;
  }

  body.page-menu .lp-menu-item{
    padding-top: 10px;
    padding-bottom: 10px;
    gap: 14px;
  }
}

@media (max-width: 575.98px){
  body.page-menu .lp-menu-hero .hero-kicker,
  body.page-gallery .lp-menu-hero .hero-kicker,
  body.page-saisonkarte .lp-menu-hero .hero-kicker,
  body.page-contact .lp-menu-hero .hero-kicker{
    margin-bottom: 14px;
    transform: translateY(-3px);
    font-size: clamp(1rem, 4.8vw, 1.25rem);
    letter-spacing: 0.20em;
  }

  body.page-menu .lp-menu-hero__brand,
  body.page-gallery .lp-menu-hero__brand,
  body.page-saisonkarte .lp-menu-hero__brand,
  body.page-contact .lp-menu-hero__brand{
    font-size: clamp(3.4rem, 17vw, 5.2rem);
    line-height: 1.02;
    transform: translateY(3px);
  }

  body.page-menu .lp-menu-item h3{
    font-size: 1.28rem;
  }

  body.page-menu .lp-menu-item p{
    font-size: 0.98rem;
    line-height: 1.42;
  }

  body.page-menu .lp-menu-item__price{
    font-size: 1.16rem;
  }

  body.page-menu .lp-menu-item{
    padding-top: 11px;
    padding-bottom: 11px;
    gap: 6px;
  }
}
