/* Define custom fonts */
@font-face {
    font-family: 'GillionLight';
    src: url('GillionLightDB.ttf') format('truetype');
}
@font-face {
    font-family: 'GillSansBold';
    src: url('Gill Sans MT.ttf') format('truetype');
}
@font-face {
    font-family: 'GillSansItalic';
    src: url('Gill Light SSi.ttf') format('truetype');
}
@font-face {
    font-family: 'MontserratLight';
    src: url('Montserrat-Light.ttf') format('truetype');
}
@font-face {
    font-family: 'GreatVibesReg';
    src: url('GreatVibes-Regular.ttf') format('truetype');
}

/* Title section full-width */
.title-section {
  text-align: center;
  margin-bottom: 30px;
}

/* Main layout for wide screens */
.main-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
  padding: 0 20px 0px 20px;
}

/* Content */
.content {
  max-width: 600px;
  flex: 1;
}

/* Logos */
.logos {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.logos img {
  width: 20vw; /* 20% of viewport width */
  height: 20vw; /* same as width (square image) */
  object-fit: contain; /* Prevent deformation to fit the square */
}

.footer-logo {
  text-align: center;
  width: 100%;
}

.footer-logo img {
  max-width: 100%;      /* can stretch across width */
  max-height: 10vh;     /* never taller than 10% of screen height */
  height: auto;         /* preserve aspect ratio */
  object-fit: contain;  /* scale neatly */
}


/* Responsive: narrow screens */
@media (max-width: 768px) {
  .hide-from-narrow-screens {
    display: none;
  }
  .main-wrapper {
    flex-direction: column; /* stack vertically */
    align-items: center;
  }

  /* Move left and right logos below content and merge into a 2-column grid */
  .left-logos, .right-logos {
    order: 1; /* after content */
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 20px;
  }

  .left-logos img, .right-logos img {
    max-width: 100px;
  }
}

/* Only for wide screens */
@media (min-width: 769px) {
  .left-logos,
  .right-logos {
    position: sticky;
    top: 10px; /* distance from top when scrolling */
  }
}

body {
    font-family: 'GillionLight', sans-serif;
    background-color: #FFFFD7; /* cheznadi_yellow */
    margin: 0.7cm;
    color: #000;
}

h1 {
    text-align: center;
    font-size: 6rem; /* Huge font size equivalent */
    font-family: 'GreatVibesReg';
    margin-bottom: 1.5rem;
}

h2 {
    text-align: center;
    font-size: 3rem;
    font-family: 'GreatVibesReg';
    max-width: 80%;
    margin: auto;
}

body {
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 0;
}

.euro-symbol {
    font-size: 1.45rem;
    font-family: 'MontserratLight', sans-serif;
    white-space: nowrap; /* Prevent price wrapping */
}

.small-euro-symbol {
    font-size: 1rem;
    font-family: 'MontserratLight', sans-serif;
    white-space: nowrap; /* Prevent price wrapping */
}

@media only screen and (max-width: 768px) {
    .hide-from-narrow-screens {
        display: none;
    }
    h1 {
        font-size: 3rem;
    }
    h2 {
        font-size: 2.5rem;
    }
    .euro-symbol {
        font-size: 1.2rem;
    }
    .small-euro-symbol {
        font-size: 0.9rem;
    }
    td {
        font-size: 0.8rem;
    }
}

@media only screen and (max-width: 480px) {
    .hide-from-narrow-screens {
        display: none;
    }
    h1 {
        font-size: 2.5rem;
    }
    h2 {
        font-size: 2rem;
    }
    .euro-symbol {
        font-size: 1rem;
    }
    .small-euro-symbol {
        font-size: 0.7rem;
    }
    td {
        font-size: 0.6rem;
    }
}

.dish-container {
    /* display: flex; */
    justify-content: space-between;
    margin-bottom: 1rem;
    width: 100%;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
}

.dish-name {
    font-size: 1.5rem;
    text-align: center;
}

.allergens {
    margin-left: 2rem;
    font-size: 1.2rem;
    font-style: italic;
}

.dish-price {
    font-size: 1.5rem;
    font-family: 'GillionLight';
    white-space: nowrap; /* Prevent price wrapping */
    margin-left: 30px;
}

td {
    padding-left: 3px;
}

h3 {
    color: #c9211eff;
    font-size: 2.5rem;
    margin: 3px;
}

h4 {
    color: #2a67adff;
    text-align: center;
    font-size: 2.0rem;
    margin: 3px;
}

.header-container {
    width: 100%;
    max-width: 800px;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

p {
    margin: 3px;
}

.item,.description {
    font-size: 1.2rem;
}

table {
    margin: auto;
}

