
body {
  font-family: 'Raleway', sans-serif;
  color: #000;
  margin: 0;
  padding: 0;
  background-color: #fff;
}

html {
  scroll-behavior: smooth;
}


.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  width: 100%;
  height: 112px;
  top: 0;
  left: 0;
  transform: none;
  z-index: 10;
  background: transparent;
  padding: 0 80px;
  box-sizing: border-box;
}

.logo {
  width: 64px;
  height: 64px;
  margin-left: 0;
  flex-shrink: 0;
}

.nav-links {
  color: rgb(255, 255, 255);
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
  padding: 0;
  margin: 0;
}

.nav-links a {
  text-decoration: none;
  font-weight: 400;
  font-size: 24px;
  color: white;
}

.nav-links a:hover {
  color: #e10303;
}

.phone-btn a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 8px;
  border: 2px solid white;
  background: #9F0908;
  color: white;
  font-size: 24px;
  white-space: nowrap;
}

.phone-btn:hover a {
  background-color: #8e3332;
}




.phone-btn img {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}


.hero {
  background-image: url('../assets/img/1_hero/JPG/hero_bg.jpg');
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.hero-title {
  font-weight: 700;
  font-size: 96px;
  color: white;
  margin-top: -160px;
}

.hero-subtitle {
  font-weight: 400;
  font-size: 24px;
  color: white;
  margin-top: -80px;
}


.spacing-large { height: 120px; }
.spacing-small { height: 64px; }
.spacing-extra-small { height: 8px; }


.how-to-order h2 {
  font-weight: 700;
  font-size: 80px;
  color: #9F0908;
  text-align: center;
  margin: 0 auto 64px auto;
}
.order-images {
 
   display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto;
  padding: 0 24px;
  max-width:900px;
 
}


.order-images .order-item img {
  width: 128px;
  height: 128px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}


.order-images .order-item {
  flex: 0 0 128px;
  text-align: center;
}



.order-item { text-align: center; }

.order-item h3 {
  font-family: 'Economica', sans-serif;
  font-weight: 700;
  font-size: 56px;
  color: black;
  margin-top: 16px;
  margin-bottom: 120px;
}


#our-menu {
  background: url('../assets/img/3_section_our_menu/JPG/section_our_menu_bg.jpg') center/cover;
  padding: 120px 0;
  width: 100%;
}

#our-menu .container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

#our-menu .section-title {
  font-weight: 700;
  font-size: 80px;
  color: #9F0908;
  text-align: center;
  margin: 0 auto 80px auto;
}

.menu-item {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  column-gap: 100px;
  max-width: 1240px;
  margin: 0 auto;
}

.menu-item.left { margin-left: -80px; }

.menu-item.right {
  flex-direction: row-reverse;
  margin-top: 56px;
  margin-right: -20px;
}

.menu-item.right img { margin-right: -40px; }
.menu-item.left:nth-of-type(3) { margin-left: -60px; }

.menu-item img {
  width: 352px;
  height: 352px;
  object-fit: cover;
  flex: 0 0 352px;
}

.menu-text {
  display: flex;
  flex-direction: column;
  text-align: left;
  max-width: 460px;
  justify-content: center;
}

.menu-item-title {
  font-family: 'Economica', sans-serif;
  font-weight: 700;
  font-size: 56px;
  color: #000;
  margin-bottom: 20px;
}

.menu-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
  table-layout: fixed;
  margin-top: 8px;
}

.menu-table td {
  font-family: 'Raleway', sans-serif;
  font-weight: 700;
  font-size: 32px;
  color: #675E54;
  padding: 4px 0;
}

.menu-table td:first-child {
  width: 65%;
  text-align: left;
  padding-right: 40px;
}

.menu-table td.menu-price {
  width: 35%;
  text-align: right;
}

.spacing-after-menu {
  height: 120px; 
}



.find-us-at { text-align: center; }

.find-us-at h2 {
  font-weight: 700;
  font-size: 80px;
  color: #9F0908;
  margin: 0;
}

.find-us-at img { width: 24px; }

p {

 margin-bottom: 64px;
 font-size: 24px;
}


.map-container iframe {
  border: 0;
  width: 100%;
  height: 450px;
}


  footer {
  background-color: #111;
  margin: 0;
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px 160px;
  box-sizing: border-box;

}


.footer-logo-desktop {
  height: 44px;
  width: auto;
}

.footer-logo-mobile {
  display: none;
}




.social-icon {
  width: 40px;
  height: 40px;
  margin: 0 10px;
}


:target {
  scroll-margin-top: 120px;
}


@media (max-width: 1280px){

  

  .navbar {
    padding: 0 24px;
  }

  .logo {
    width: 64px;
    height: 64px;
  }

  .nav-links {
    width: auto;
    justify-content: center;
    
  }

  .phone-btn a {
    padding: 10px 20px;
    font-size: 20px;
    gap: 0;
  }

  .phone-btn img {
    margin-right: 0;
  }

  .hero-title {
    font-size: 72px;
    margin-top: -160px;
  }

  .hero-subtitle {
    font-size: 20px;
    margin-top: -60px;
    
  }

  .how-to-order h2 {
    font-size: 64px;
    height: 48px;
    margin: 0 auto 64px auto;
  }


  .order-item h3 {
    
    font-size: 32px;
    margin: 0;
  }

  .order-item {

  width: 112px; 
  display:flex;
  flex-direction:column;
  align-items:center;
          
}
  
 
  #our-menu .section-title {
    font-weight: 700;
    font-size: 64px;
    margin: 0px auto 42px auto;
  }


  #our-menu {

    padding-bottom:96px;

  }

  .order-images {
    display: flex;
    align-items:center;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0 24px;
    padding-bottom: 96px;
    
}

.spacing-small {
    height: 96px;
  }




.menu-item-title {
    
    font-size: 32px;
    
}

.menu-table td {
    
    font-size: 24px;
    
}

.menu-item.right {

  padding-bottom:32px;

}
.menu-item.left{

  padding-bottom: 32px;
}

  .menu-item.left,
  .menu-item.right,
  .menu-item.left:nth-of-type(3) {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .menu-item.right img {
    margin-right: 0 !important;
  }

  .menu-item img {
    width: 352px;
    height: 352px;
    flex: 0 0 352px;
    object-fit: contain;
  }
  .spacing-after-menu {
  height: 96px;
}




.find-us-at h2 {
    font-weight: 700;
    font-size: 64px;
    color: #9F0908;
    margin: 0;
    padding-bottom: 8px;
}

p {
    font-size: 20px;
    margin-bottom: 48px;
    
  
}

.spacing-small {
    height: 48px;
}


footer {
  
    padding: 20px 24px;
    height: 144px;
}

.spacing-large {
    height: 96px;
}


}


@media (max-width: 900px) {
  .hide-mobile {
    display: none;
  }

  .nav-links {
   
     width: 100%;
    justify-content: flex-start;   
    gap: 16px;



   
  }

  .nav-links a {
    font-size: 20px;
  }

  .phone-btn a {
    font-size: 18px;
    padding: 8px 12px;
    
  }

  .phone-btn{ 
    
    margin-left:auto; }



  .navbar {
    padding: 0 16px;          
  }


 
 
  .menu-item,
.menu-item img {
  margin-left: 0 !important;
  margin-right: 0 !important;
}


}



 @media (max-width: 767px) {

  .phone-btn a {
    font-size: 16px;
    padding: 5px 8px;
  }

  .phone-btn img {
    width: 16px;
    height: 16px;
  }

  .navbar {
    padding: 0 16px;
  }

  .logo {
    width: 40px;
    height: 40px;
  }

  .hero {
    gap: 8px;
  }

  .hero-title {
    font-size: clamp(32px, 8vw, 44px);
    white-space: nowrap;
    margin-bottom: -22px;
    line-height: 1.1;


  }

  .hero-subtitle {
    margin-top: 0;
    font-size: clamp(14px, 4vw, 16px);
    line-height: 1.2;
  }

  .how-to-order h2 {
    font-size: clamp(32px, 8vw, 40px);
    margin: 0 0 32px 0;
    text-align: center;
    line-height: 1.1;
    white-space: nowrap;
    


  }

  .order-images {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 16px;
    gap: 32px;
    margin: 0 auto;
    max-width: 900px;
  }

  .order-item {
    width: 112px;
    margin: 0;
    text-align: center;
  }

  .order-item img {
    width: 100%;
    max-width: 112px;
    height: auto;
    display: block;
    margin: 0 auto 8px auto;
  }

  .order-item h3 {
    font-size: 32px;
    padding-bottom: 0;
    margin: 0;
  }

 
  .spacing-after-toppings {
    height: 72px;
  
}


    #our-menu {
    
    padding-bottom: 72px;
  }

  #our-menu .section-title {
    font-weight: 700;
    font-size: clamp(32px, 7vw, 40px);
    margin: 0 0 40px 0;
    padding:0;
    text-align: center;
    line-height: 1.1;
 
  }

    #our-menu .container {
    padding: 0 16px; 
  }

  .menu-item.left,
  .menu-item.right,
  .menu-item.left:nth-of-type(3) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-direction: column;
  }

  .menu-item.right img {
    margin-right: 0 !important;
  }

  .menu-item {
    display: flex;
    flex-direction: column; 
    align-items: center;
    gap: 16px;
    margin: 0 auto 32px auto;
    
  }

  .menu-item img { 
  width: 100%;
  max-width: 343px;
  height: auto;
}


  

  .menu-item-title {
    font-size: 32px;
    margin-bottom: 8px;
  }

  .menu-table {
    border-spacing: 0 8px;
  }
  

  .menu-table td.menu-price {
    font-size: 24px;
    width: 90px;
    white-space: nowrap;
    text-align: right;
  }

  .menu-table td:first-child {
    padding-right: 12px;
    font-size: 24px;
  }

 
  .spacing-after-menu {
    height: 72px;
    background: white;
  }

  .menu-item:last-child {
  margin-bottom: 0;
}

  .find-us-at {
    
    text-align: center;


  }

  .find-us-at h2 {
    font-weight: 700;
    font-size: 40px;
    color: #9F0908;
    margin: 0 0 8px 0;
  }  
    .find-us-at p {
    margin: 0 0 40px 0;             
    font-size: 16px;   
    
    
  }


  footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 16px;
    height: 86px; 
    
  }

   .footer-logo-desktop {
    display: none;
  }

  .footer-logo-mobile {
    display: block;
    height: 40px;   
    width: auto;
  }


  .social-icon {
    width: 32px;
    height: 32px;
    margin: 0;
  }
 }












 





  

