@font-face {
  font-family: 'DINNextW1G-Regular';
  src: url('../fonts/DINNextW1G-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-family: 'DINNextW1G-Regular', sans-serif;
}

@font-face {
  font-family: 'DINNextW1G-Bold';
  src: url('../fonts/DINNextW1G-Bold.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-family: 'DINNextW1G-Bold', sans-serif;
}

:root{
  --bg: #fbf1cf;
  --text: #111;
}

.infoConfirmacion{
  font-size: 24px;
  font-family: 'DINNextW1G-Bold', sans-serif !important;
}



.log{
  color: #E3273B;
  font-weight: bolder;
  font-size: 10px;
}

body{
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  font-family: 'DINNextW1G-Regular', sans-serif !important;
}

.page{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.hero{
  padding-top: 56px;
  padding-bottom: 24px;
  flex: 1; /* aire en medio */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero .stack{
  width: min(520px, 92vw);
  text-align: center;
}

.img-taco-chilango{ 
  width: 260px; 
  max-width: 78%; 
  height: auto; 
}
.img-edicion{ 
  width: 160px; 
  max-width: 60%; 
  height: auto; 
  margin-top: 10px; 
}
.img-taco-icon{ 
  width: 140px; 
  max-width: 55%; 
  height: auto; 
  margin: 14px 0 22px;
}
.img-bandita{ 
  width: 420px; 
  max-width: 50%; 
  height: auto; 
  margin: 8px 0 14px; 
}

/* FORM */
.form-control, .form-select{
  border-radius: 14px;
  /* padding: 12px 14px; */
  padding: 6px 14px;
  border: 1px solid rgba(0,0,0,.15);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(2px);
}

.btn-main{
  border-radius: 14px;
  padding: 12px 16px;
  font-weight: 700;
  border: 0;
}

/* FOOTER */
.footer{
  padding: 16px 0 18px;
}

.footer-top{
  display: flex;
  align-items: center;
  gap: 22px;
  position: relative;
}

.footer-left img{ 
  height: 74px; 
  width: auto; 
}
.footer-right img{ 
  height: 46px; 
  width: auto; 
}
.footer-left, .footer-right{
  position: relative;
  z-index: 2;
  background: var(--bg);
  padding: 0 12px;
}

.footer-sponsors img{
  height: 60px;
  width: auto;
  opacity: .95;
  max-width: 100%;
}

.logo-capital{
  max-height: 40px;
}

.logo-paladar{
  max-height:25px;
}

.footer-top::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 8px;
  background: #E3273B;
  z-index: 1;
}

.footer-line{
  flex: 1 1 auto;
  min-width: 120px;
  align-self: center;
}

.footer-sponsors{
  margin-top: 18px;
}

.footer-sponsors-carousel{
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.footer-sponsors-viewport{
  width: 100%;
  overflow: hidden;
  padding: 0 44px;
}

.footer-sponsors-track{
  display: flex;
  align-items: center;
  gap: 20px;
  transition: transform .45s ease;
  will-change: transform;
}

.sponsor-item{
  flex: 0 0 calc((100% - 80px) / 5);
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sponsors-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: #E3273B;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.sponsors-nav:disabled{
  opacity: .45;
}

.sponsors-prev{
  left: 0;
}

.sponsors-next{
  right: 0;
}

@media (max-width: 992px){
  .sponsor-item{
    flex-basis: calc((100% - 40px) / 3);
  }
}

@media (max-width: 576px){
  .hero{ 
    padding-top: 38px; 
  }
  .footer-top{
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }
  .footer-top::before{
    display: none;
  }
  .footer-line{
    width: 100%;
    max-width: 360px;
    height: 8px;
    background: #E3273B;
  }
  .footer-left, .footer-right{ 
    display: flex; 
    justify-content: center; 
  }
  .footer-left img{ 
    height: 66px; 
  }
  .footer-right img{ 
    height: 42px; 
  }
  .footer-sponsors-viewport{
    padding: 0 38px;
  }
  .footer-sponsors-track{
    gap: 14px;
  }
  .sponsor-item{
    flex-basis: calc((100% - 14px) / 2);
  }
  .sponsors-nav{
    width: 30px;
    height: 30px;
    font-size: 20px;
  }
}

@media (max-width: 420px){
  .footer-sponsors-viewport{
    padding: 0 34px;
  }
  .footer-sponsors img{
    height: 48px;
  }
}

@media (prefers-reduced-motion: reduce){
  .footer-sponsors-track{
    transition: none;
  }
}
