.text-red {
  color: #cf152d;
}
.text-blue {
  color: #1d448b;
}
.text-white {
  color: #fff;
}
.text-yellow {
  color: #e7dd39;
}

/* @font-face {
  font-family: Pacho;
  font-weight: 700;
  src: url("/../font/Pacho/Pacho-ExtraBold.woff");
}
.font-pacho {
  font-family: "Pacho" !important;
} */

h1,
.h1 {
  font-size: 3rem;
  letter-spacing: -3px;
  font-weight: 700;
}
h2,
.h2 {
  font-size: 2rem;
  letter-spacing: -1px;
}
.text-big {
  font-size: 1.25rem;
}

.img-rounded {
  border-radius: 1rem;
}

.bg-blue {
  background-image: url("../../img/campaigns/bbq2025/blue-bg.png") !important;
  background-repeat: repeat !important;
  background-size: contain !important;
  position: relative;
  z-index: 0;
}
.bg-white {
  background-color: #fff;
}
.container-hero {
  display: grid;
}
.hero-image {
  grid-area: 1 / 1;
  margin: 0 -12px;
  /* background-image: url("/img/campaigns/bbq2026/hero-image.jpg"); */
}
.hero-content {
  grid-area: 1 / 1;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: end;
  flex-direction: column;
  padding: 0 1.5vw;
}

.text-shadow {
  text-shadow: 0px 8px 10px rgb(0 0 0 / 0.15);
}
.text-balance {
  text-wrap: balance;
}
/* .bg-gratar {margin-top:auto;} */
.bg-city-blue {
  position: absolute;
  z-index: -1;
  right: 50%;
  top: 50%;
}
.bg-city-blue-full {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: -9rem;
}
.bg-wall {
  background: url(/../img/campaigns/ncp2023/bg-wall.png) no-repeat center center;
  background-size: cover;
}
.bg-md-wall {
  background: url(/../img/campaigns/ncp2023/bg-wall.png) no-repeat center center;
  background-size: cover;
}
.bg-city {
  position: relative;
  min-height: 24rem;
}
.bg-city:before {
  content: "";
  position: absolute;
  background-size: 1640px;
  background-repeat: no-repeat;
  background-position: bottom;
  opacity: 0.75;
  background-image: url("/img/campaigns/bbq2026/cladire.png");
  inset: -4px 0;
  z-index: -1;
}

.bg-blue p,
.bg-blue span {
  color: #fff;
}

.btn {
  height: 44px;
  border-radius: 10px;
  padding: 0.6rem 2rem;
}
.btn-red {
  background: #cf152d;
  color: #fff;
}
.btn-red:hover {
  background: #bb2d3b;
  color: #fff;
}
.btn-blue {
  background: #1d448b;
  color: #fff;
}
.btn-blue:hover {
  background: hsl(219, 65%, 42%);
  color: #fff;
}
.btn-logo {
  display: inline-block;
  padding: 1rem;
  border-radius: 1rem;
}
.btn-logo img {
  width: 5rem;
}

.container-steps {
  padding: 2.5rem 0;
}
.container-step img {
  height: clamp(88px, 11vw, 128px);
  margin-left: auto;
  margin-right: auto;
}
.container-step {
  display: flex;
  align-items: center;
  position: relative;
}
.step-1 {
  width: 28%;
}
.step-2 {
  width: 33%;
}
.step-3 {
  width: 36%;
}
.step-1:before {
  content: url("/img/campaigns/bbq2026/arrow.svg");
  position: absolute;
  right: -5%;
  top: 40%;
  width: 20px;
}
.step-2:before {
  content: url("/img/campaigns/bbq2026/arrow.svg");
  position: absolute;
  right: -5%;
  top: 40%;
  width: 20px;
}

.element-doza {
  margin-left: -60px;
  margin-bottom: -58px;
  height: min(42vw, 50vw, 696px);
}
.element-title {
  width: 38%;
  margin-bottom: -15.7%;
}
.element-products {
  position: relative;
  top: 8rem;
}
.campaign .form-wrapper.noBg {
  background: none;
}
.form .custom-checkbox [type="checkbox"] + span:before {
  background-color: white;
}

.container-winners h2,
.container-winners p {
  color: #1d448b;
}

.pre-footer {
  height: 30vh;
  z-index: -1;
}

.container-city {
  background-image: url("../../img/campaigns/bbq2025/ilustratie-oras-sections.png");
  background-position: bottom -7rem center;
  background-repeat: no-repeat;
}

.img-md-rounded {
  border-radius: 1rem;
}

@media only screen and (min-width: 1920px) {
  h1,
  .h1 {
    font-size: 4rem;
  }
  h2,
  .h2 {
    font-size: 2.5rem;
  }
  .text-big {
    font-size: 1.5rem;
  }
  .container-steps p {
    font-size: 1.5rem;
  }
  .container-steps .step {
    font-size: 7rem;
  }
}

@media only screen and (max-width: 1920px) {
  .bg-city:before {
    right: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  h1,
  .h1 {
    font-size: 2rem;
  }
  h2,
  .h2 {
    font-size: 1.25rem;
  }
  .text-big {
    font-size: 1.25rem;
  }
  .element-doza {
    top: 20%;
  }
  .container-steps .step {
    font-size: 4rem;
  }
  .container-steps p {
    font-size: 1rem;
  }
}

@media only screen and (max-width: 767px) {
  .img-md-rounded {
    border-radius: 0;
  }

  .btn-red {
    padding: 0.6rem 1rem;
  }
  h1,
  .h1 {
    font-size: 3rem;
  }
  h2,
  .h2 {
    font-size: 2rem;
  }
  .text-big {
    font-size: 1.25rem;
  }
  .bg-city-blue {
    position: absolute;
    z-index: -1;
    right: 0;
    top: 10rem;
    width: 200vw;
    padding: 0;
    max-width: initial;
    left: 0rem;
  }
  .step-1,
  .step-2,
  .step-3 {
    width: 100%;
    img {
      max-width: 100%;
    }
  }
  .container-step {
    display: flex;
    align-items: start;
    position: relative;
    padding-left: 2rem;
    img {
      height: clamp(100px, 28vw, 128px);
      margin-left: 0;
    }
  }

  .container-steps .step {
    font-size: 6rem;
  }
  .container-steps p {
    font-size: 1.25rem;
  }
  .container-step {
    padding-right: 6rem;
  }
  .element-doza {
    width: 38vw;
    margin-left: -15%;
    margin-bottom: 0;
    padding-bottom: 15%;
    height: unset;
    max-width: unset;
  }
  .element-title {
    width: 100%;
    margin-bottom: -22%;
  }
  .step-1:before,
  .step-2:before {
    right: 3rem;
    rotate: 90deg;
  }
  .bg-md-wall {
    background-image: url("/img/campaigns/bbq2025/blue-bg.png");
    background-repeat: repeat;
    background-size: contain;
  }
  .container-winners .col-shops {
    color: #fff;
    padding: 2rem 3rem;
  }
  .container-winners .col-shops h2,
  .container-winners .col-shops p {
    color: #fff;
  }
  .campaign.ncp2025 {
    overflow: hidden;
  }
  .container-city .actions {
    padding-bottom: 10rem;
  }
  .bg-city-blue-full {
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: -17rem;
    width: 300vw;
    max-width: initial;
  }
  .pre-footer {
    height: 50vh;
  }
  .element-products {
    position: absolute;
    top: 33rem;
    left: 2rem;
  }
  .over-shadow {
    display: none;
  }
}

.campaign .section .owl-nav {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
}
.campaign .section .owl-nav button {
  display: flex;
  border-radius: 100%;
  width: 60px;
  height: 60px;
  color: #fff;
  background: var(--blue-light);
  justify-content: center;
  font-size: 50px;
  line-height: 1;
}
.campaign .section .owl-carousel {
  padding-bottom: 80px;
}
.campaign .section .owl-nav button span {
  margin: 0;
  display: block;
}
.campaign .section .owl-dots {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 70%;
  padding: 20px 0 27px;
  text-align: left;
}
.campaign .section .owl-dots button {
  width: 10%;
  margin-right: 2%;
  transition: all 300ms ease;
}
.campaign .section .owl-dots button span {
  width: 100%;
  margin: 0;
  height: 3px;
  background: var(--blue-light);
  transition: all 300ms ease;
}
.campaign .section .owl-dots button.active {
  width: 28%;
}
.campaign .section .owl-dots button.active span {
  background: var(--red);
}

.campaign .section .owl-stage {
  display: flex;
  flex-direction: row;
}
.campaign .section .owl-stage .owl-item .item {
  height: 100%;
}
.campaign .section.section-slider .owl-stage {
  display: block;
}
.campaign .section.section-slider .owl-stage .owl-item .item {
  height: auto;
  padding: 0 3px;
}
.campaign .section .prizes .owl-nav {
  position: static;
}

.campaign .section .prizes .owl-nav button {
  position: absolute;
  bottom: 10px;
}
.campaign .section .prizes .owl-nav button.owl-prev {
  left: 0;
}
.campaign .section .prizes .owl-nav button.owl-next {
  right: 0;
}

.campaign .section .prizes .owl-dots {
  width: auto;
  left: 55px;
  right: 55px;
  text-align: center;
  bottom: 12px;
}

.inputWrapper input {
  padding-right: 50px !important;
}
.inputWrapper {
  position: relative;
}
.inputWrapper #bonWrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 46px;
  padding: 3px;
  display: flex;
}

.inputWrapper #bonWrapper button {
  display: block;
  background: #fff;
  color: var(--grey-light);
  border: 2px solid var(--grey-light);
  text-align: center;
  width: 32px;
  min-width: 32px;
  height: 32px;
  line-height: 24px;
  font-size: 24px;
  font-weight: bold;
  border-radius: 100%;
  transition: all 300ms ease;
  padding: 0;
  margin: auto 5px auto auto;
}

.inputWrapper #bonWrapper .img {
  position: absolute;
  top: 100%;
  right: 0;
  width: 0;
  max-width: 90vw;
  opacity: 0;
  border: 0px solid var(--red);
  transition: all 300ms ease;
  margin-top: 10px;
  /* overflow: hidden; */
  z-index: 20;
  background: #fff;
}
.inputWrapper #bonWrapper .img img {
  border-radius: 10px;
  display: block;
  width: 100%;
}

.inputWrapper #bonWrapper .img:before {
  content: "";
  display: block;
  border: 0px solid transparent;
  border-bottom-color: var(--red);
  width: 20px;
  position: absolute;
  bottom: 100%;
  right: 90%;
  transition: all 300ms ease;
}

.inputWrapper #bonWrapper button:hover,
.inputWrapper #bonWrapper button:focus {
  color: var(--red);
  border: 2px solid var(--red);
}
.inputWrapper #bonWrapper button:hover + .img,
.inputWrapper #bonWrapper button:focus + .img {
  opacity: 1;
  width: 300px;
  max-width: 95vw;
  border: 2px solid var(--red);
  border-radius: 10px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05);
}
.inputWrapper #bonWrapper.metro button:hover + .img,
.inputWrapper #bonWrapper.metro button:focus + .img {
  width: 560px;
}

.inputWrapper #bonWrapper button:hover + .img:before,
.inputWrapper #bonWrapper button:focus + .img:before {
  border: 10px solid transparent;
  border-bottom-color: var(--red);
  right: 15px;
}

.inputFileWrapper {
  display: flex;
  background: #fff;
  border-radius: 10px;
  align-items: baseline;
  padding: 0px 20px;
  border: 1px solid rgba(45, 45, 45, 0.5);
}
.inputFileWrapper label {
  color: #606060;
  flex-shrink: 0;
}
.campaign .form-wrapper .inputFileWrapper input {
  width: unset;
  border: unset;
  display: inline-block;
  padding-inline: 16px 0;
  flex-grow: 1;
}
/* button[type=submit].is-loading */

/* HTML: <div class="loader"></div> */
.is-loading::before {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  width: 60px;
  aspect-ratio: 2.8;
  --_g: no-repeat radial-gradient(circle closest-side,#FFF 90%,#FFF0);
  background:
    var(--_g) 0%   50%,
    var(--_g) 50%  50%,
    var(--_g) 100% 50%;
  background-size: calc(100%/3) 50%;
  animation: l3 1s infinite linear;
}
@keyframes l3 {
    20%{background-position:0%   0%, 50%  50%,100%  50%}
    40%{background-position:0% 100%, 50%   0%,100%  50%}
    60%{background-position:0%  50%, 50% 100%,100%   0%}
    80%{background-position:0%  50%, 50%  50%,100% 100%}
}


@media only screen and (max-width: 577px) {
  .inputFileWrapper {
    flex-direction: column;
    padding: 0;
  }
  .inputFileWrapper label {
    padding: 6px 20px 0;
  }
  .inputFileWrapper input {
    max-width: 100%;
  }
}
