

/* FONT */
@font-face {  
  font-family: "circular";
  src: url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-book.eot");
  src: url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-book.eot?#iefix") format("embedded-opentype"), url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-book.woff2") format("woff2"), url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
  
@font-face {
  font-family: "circular-bold";
  src: url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-bold.eot");
  src: url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-bold.eot?#iefix") format("embedded-opentype"), url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-bold.woff2") format("woff2"), url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-bold.woff") format("woff");
  font-weight: 600;
  font-style: bold;
}

/* BASE */

* {
  margin: 0;
  padding: 0;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  font-family: 'circular', sans-serif;
  color: #3E3E3E;
  font-size: 16px;
  min-height: 100vh;
  background-repeat: no-repeat;
  position: relative;
  line-height: 1.2 !important;
  text-rendering: geometricPrecision;
}

@media (max-width: 992px) {
  .container, .container-md, .container-sm {
    max-width: unset;
  }
}
/* styles.css */
:root {
  --orange: #FF4D00;
  --orange-dark: #e44400;
  --orange-light: #F78D78;
  --sand: #F4F5EB;
  --dark-gray: #4A4A4A;
  --green-dark: #465A58;
  --green-light: #ABBCB1;
}
.color-gray-1 { color: #F4F4F4; }
.color-gray-2 { color: #949393; }
.color-gray-3 { color: #4A4A4A; }
.color-white { color: white; } 
.color-black { color: var(--dark-gray); }
/* Utilities */
.circled-icon {
  aspect-ratio: 1;
  border-radius: 50%;
  place-content: center;
  display: grid; 
}
.mh-2 {
  height: 2rem;
  &.circled-icon {
    aspect-ratio: 1;
    border-radius: 50%;
    place-content: center;
    display: grid;
  }
}
.mh-3 {
  height: 3rem;
  &.circled-icon {
    aspect-ratio: 1;
    border-radius: 50%;
    place-content: center;
    display: grid;
  }
}
.mh-4 {
  height: 4rem;
  &.circled-icon {
    aspect-ratio: 1;
    border-radius: 50%;
    place-content: center;
    display: grid;
  }
}
.mh-8 {
  min-height: 8rem;
  &.circled-icon {
    aspect-ratio: 1;
    border-radius: 50%;
  }
}
.mh-16 {
  min-height: 16rem;
}
.h-100 {
  height: 100%;
}
.py-6 {
  padding-block: 6rem;
}
.py-7 {
  padding-block: 7rem;
}
.py-8 {
  padding-block: 8rem;
}

.pt-6 {
  padding-top: 6rem;
}
.pt-7 {
  padding-top: 7rem;
}
.pt-8 {
  padding-top: 8rem;
}

.pb-2 {
  padding-bottom: 2rem !important;
}
.pb-3 {
  padding-bottom: 3rem !important;
}
.pb-4 {
  padding-bottom: 4rem !important;
}
.pb-5 {
  padding-bottom: 5rem !important;
}
.pb-6 {
  padding-bottom: 6rem;
}
.pb-7 {
  padding-bottom: 7rem;
}
.pb-8 {
  padding-bottom: 8rem;
}

.flip-horizontal {
  transform: rotate(180deg) !important;
}

.bold {
  font-weight: bold;
}

body {
  font-family: 'circular', sans-serif;
}
.text-body {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 100;
  text-rendering: geometricPrecision;
}
.text-caption {
  font-size: .8rem;
  line-height: 1.6;
  font-weight: 100;
  text-rendering: geometricPrecision;
}

.bg-orange {
  background-color: var(--orange);
}
.bg-orange-light {
  background-color: var(--orange-light);
}
.bg-orange-light {
  background-color: var(--orange-light);
}
.bg-sand {
  background-color: var(--sand);
}
.text-orange {
 color: var(--orange);
}
.text-black {
  color: var(--dark-gray) !important;
 }
.bg-black {
  background-color: var(--dark-gray) !important;
}
.bg-gray {
  background-color: #F4F4F4;
}
.bg-green-light {
  background-color: var(--green-light);
  color: white;
}
.bg-green-dark {
  background-color: var(--green-dark);
  color: white;
}
.btn {
  border-radius: 8rem;
}
.btn-outline-primary {
  border-color: var(--orange) !important;
  color: var(--orange);
}
.btn:hover {
    background-color: #465A58 !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:focus-visible,
.btn-outline-primary:active {
  border-color: var(--orange) !important;
  background-color: var(--orange) !important;
  color: white;
}
.btn-orange {
  background-color: var(--orange);
  color: white;
}

.btn-orange:hover {
  background-color: var(--orange);
  color: white;
  opacity: .5 !important;
}
.btn-orange:focus-visible {
  background-color: var(--orange);
  color: white;
  opacity: .5 !important;
}
.btn-full-width
.btn.p-4 {
  font-size: 1.25rem;
  padding-inline: 4rem !important;
}
.btn.p-3 {
  font-size: 1.25rem;
  padding-inline: 3rem !important;
}
.btn.p-2 {
  font-size: 1.25rem;
  padding-inline: 2rem !important;
}
.btn.p-1 {
  font-size: 1.25rem;
  padding-inline: 1rem !important;
}
.px-4 {
  padding-inline: 4rem;
}
.px-3 {
  padding-inline: 3rem; 
}
.px-2 {
  padding-inline: 2rem;
}
.px-1 {
  padding-inline: 1rem;
}
.py-4 {
  padding-block: 4rem;
}
.py-3 {
  padding-block: 3rem; 
}
.py-2 {
  padding-block: 2rem;
}
.py-1 {
  padding-block: 1rem;
}
.italic {
  font-style: italic;
}
.hero {
  .content {
    padding-block: 2rem;
  }
  h1 {
    font-size: 78px;
    margin-top: 20%;
 
    span {
      display: block;
      font-size: 9rem;
      line-height: 6rem;
    }
  }
  .btn{
    font-size: 1.5rem;
  }
}

.image_container {
  background-color: #D6E5E2;
  border-radius: 2rem;
  position: relative;
  display: flex !important;
  align-items: flex-end;
  /* overflow-x: hidden; */
  justify-content: center;
  img {
    position: relative;
    min-width: 100%;
    height: 110%;
    object-fit: cover;
  }
}

@media screen and (min-width: 980px){
  .image_container {
    background-color: #D6E5E2;
    border-radius: 2rem;
    position: relative;
    overflow: visible;
    img {
      position: absolute;
      min-width: 110%;
      bottom: 0;
      right: 0;
    }
  }
}
@media screen and (max-width: 768px){
  .hero {
    padding-top: 2rem !important;
    h1 {
margin:0; font-size: 60px;}
  }
  .image_container {
    overflow: visible;
    position: relative; 
    img {
      position: relative !important; 
      width: auto;
      min-width: unset;
      max-width: 100%;
      /* height: unset; */
    }
  }
}
.slick-track {
  display: flex !important;
}

.slick-slide {
  height: inherit !important;
}

.promociones {
  padding-top: 6rem !important; 
  .slider-counter {
    margin-bottom: 1rem;
    .icon--arrow {
      width: 40px;
      cursor: pointer;
    }
    .icon--arrow:hover {
      svg {
        transform: scale(1.1);
      }
    }
  }
  .slide {
    .content {
      height: 100%;
      border-radius: 1rem;
      margin-inline: .5rem !important;
      .marca {
        flex-wrap: wrap-reverse;
        .h3 {
          flex-shrink: 0;
          max-width: 150px;
        }
        .logo-marca {
          border-radius: .8rem;
          max-width: 130px;
          max-height: 130px;
          flex-shrink: 1;
        }
      }
      .listado-promociones {
        border-top: 2px solid white;
        margin-top: 1.5rem;
        padding-top: 1.5rem;
        gap: 1.25ch;
        .button {
          width: fit-content;
          padding-inline: 2rem;
        }
        .bullet {
          gap: .5rem;
          .description {
            margin: 0;
            font-weight: 100;
            text-rendering: geometricPrecision;
          }
        }
        strong {
          font-weight: 600;
          text-rendering: geometricprecision;
        }
      }
      .condiciones {
        margin-top: 1.5rem;
        padding-top: 1.5rem; 
        border-top: 2px solid white;
        font-size: 10px;
        p {
          margin: 0;
        }
      }
    }
  }
}
.promociones:has(.slick-cloned) .slick-current {
  .content {
    background-color: var(--orange);
    color: white;
    .button {
      background-color: var(--sand);
      color: var(--orange);
      width: fit-content;
      padding-inline: 2rem;
    }
    .icon--arrow {
      background-color: white;
      color: var(--orange);
      fill: var(--orange);
      svg {
        color: var(--orange);
        fill: var(--orange);
      }
    }
  }
}

.promociones:not(:has(.slick-cloned)) .slider-counter {
  display: none !important;
}

.chip-icon {
  border-radius: 10px;
  padding: 3px 6px;
  display: grid;
  object-position: center;
  margin-top: 1px;
  width: max-content;
  svg {
    width: 10px;
    height: unset;
  }
}
.products {
  .d-flex {
    gap: 1rem;
  }
  .card + .card {
    margin-top: 1rem;
  }
  .col-md-6 + .col-md-6:has(.card .card-body.open) {
    .card {
      height: 100%;
    }
  }
  .row:has(.col-md-6.open + .col-md-6.open) {
    .card {
      height: 100%;
    }
  }
  .product-item {
    flex: 1 1 calc(50% - 1rem);
    text-align: center;
    border-radius: 48px;
    .h2 {
      margin-bottom: 0;
    }
  }
}
.card {
  border-radius: 40px;
  border: 0;
  /* min-height: 100%; */
  img {
    border-radius: 24px;
    /* aspect-ratio: 6/3; */
  }
  .link {
    font-size: 1.25rem;
    font-weight: bold;
    text-decoration: none;
    color: inherit;
  }
  .card-title {
    font-size: 1.8rem;
    /* font-weight: bold; */
    letter-spacing: 1%;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: center;
    width: 100%;
  }
  .link {
    border-top: 1px solid lightgray;
  }
  .card-body {
    padding-inline: 0;
    overflow: hidden;
    padding-bottom: 0;
  }
  .card-body.open {
    padding-bottom: 1rem;
  }
  .card-text {
    font-size: 1.25rem;
    max-width: 480px;
    display: none;
  }
  .card-body.open .card-text {
    display: block;
  }
  .card-text.bold {
    font-weight: 600;
  }
}

.card:hover .fa-chevron-up {
  transform: rotate(15deg);
}
.card:hover .card-body.open .fa-chevron-up {
  transform: rotate(165deg);
}


section.saber-mas {
  .btn{
    font-size: 1.5rem;
  }
}
footer {
  .banregio_coparmex {
    img {
      height: 50px;
    }
  }
}
footer p {
  margin: 0;
}

footer .social-icons a {
  color: white;
  margin: 0 0.5rem;
  font-size: 1.5rem;
}







/* FORM MODAL */

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background-color: rgba(0,0,0,0.5);
  pointer-events: none;
  transition: all 0.3s ease-in-out;
  z-index: 10;
}

#overlay.activate {
  opacity: 1;
  pointer-events: all;
}

.modal-custom {
  width: 100%;
  background: #fff;
  color: #000;
  border-radius: 15px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  text-align: center;
  z-index: 100;
  transition: all 0.5 ease-in-out;
}

.modal-custom.activate {
  transform: translate(-50%, -50%) scale(1);
  padding: 0px 5px 0px 5px;
}

.card-content {
  width: 100%;
  height: 100%;
  padding: 10px 0px;
  border-radius: 15px;
  position: relative;
  overflow-x: hidden;
  overflow-y: scroll;
  background-color: #fff;
  z-index: 1000;
}

.form-construrama-tpv {
  display: none;
}

.form-construrama-tpv.show {
  display: flex;
}

@media screen and (min-width: 700px) {
  .card-content {
    max-width: 700px;
  }
  .modal-custom {
    width: 700px;
    padding: 30px 30px;
  }
}
@media screen and (max-width: 768px) {
  .modal-custom {
    width: calc(100% - 2rem);
  }
}


form h3 {
  font-family: 'circular';
}

input.rfc {
  text-transform: uppercase;
}

.form-btn:disabled {
  cursor: default;
  background-color: #c3cfe3;
}

.formulario__checkbox {
  accent-color: #f06c15;
}

.formulario__grupo-input {
 position: relative;
}

.formulario__label {
  display: block;
  cursor: pointer;
}

.formulario__input {
 width: 100%;
 background: #fff;
 border: 3px solid transparent;
 border-radius: 3px;
 height: 45px;
 line-height: 45px;
 padding: 0 40px 0 10px;
}

.info-icon {
  position: absolute;
  right: 10px;
  bottom: 0px;
  z-index: 2000;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  padding: 11px;
}

.info-box {
  position: relative;
  z-index: 2000;
  display: none;
  width: 200px;
  margin-top: 5px;
  font-size: 0.8rem;
  line-height: 1.4em;
  border-radius: 5px;
  background-color: rgba(0,0,0,0.8);
  color: #fff;
  content: attr(title);
}

.info-box.show {
  display: block;
}
select.form-select {
  padding: .563rem 2.25rem .375rem .75rem;
}
.currencyinput {
  position: relative;
}

.currencyinput > p {
  color: grey;
  font-size: 14px;
  position: absolute;
  display: block;
  transform: translate(0, -50%);
  top: 50%;
  pointer-events: none;
  width: 25px;
  text-align: center;
  font-style: normal;
  margin-left: 10px;
}

.currencyinput > input {
  padding-left: 25px;
  padding-right: 0;
}

.formulario__validacion-estado {
 position: absolute;
 right: 10px;
 bottom: 11px;
 z-index: 200;
 font-size: 16px;
 opacity: 0;
}
.formulario__validacion-estado svg {
  width: 10px;
  height: 10px;
}

select + .formulario__validacion-estado {
  right: 32px;
}

.formulario__grupo-correcto .formulario__validacion-estado {
  color: #119200;
 opacity: 1;
}

.formulario__grupo-incorrecto .formulario__validacion-estado {
 color: #bb2929;
 opacity: 1;
}


.formulario__input-error {
 font-size: 12px;
 margin-bottom: 0;
 padding-top: 10px;
 display: none;
}

.formulario__input-error-activo {
 display: block;
}

.formulario__mensaje {
 height: 45px;
 line-height: 45px;
 background: #F66060;
 padding: 0 15px;
 border-radius: 3px;
 display: none;
}

.formulario__mensaje p b {
  font-family: 'book';
  font-size: 14px;
}

.formulario__mensaje-activo {
 display: block;
}

.formulario__mensaje-exito {
  display: none;
}

.formulario__mensaje-exito-activo {
  display: block;
}

.form-btn {
  font-family: book;
  cursor: pointer;
  color: #fff;
  background-color: #FF8000;
  border: none;
  border-radius: 54px;
  padding: 3px 30px;
  outline: none;
  font-size: 20px;
}

.form label {
  color:#000;
}

.close-modal {
  border: none;
  outline: none;
  background-color: transparent;
  color: #000;
  font-size: 40px;
  width: 40px;
  height: 40px;
}

.card-header {
  background-color: transparent !important;
  border: none !important;
}

.card-content p,
.card-content option,
.card-content select,
.card-content input::placeholder {
  font-family: book;
  text-align: left;
}

.card-content input::placeholder,
.card-content option,
.card-content select {
  font-size: 14px;
  color: gray;
}

/* TERMINOS  */
#term {
  cursor: pointer;
  font-size: 16px;
  color: #fff;
}

.terms {
  background-color: #ff671d;
  border-bottom: 1px solid #fff;
}

.terms-description {
  max-height: 0;
  font-size: 16px;
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  transition: all 0.6s ease;
}

.terms-description.active {
  visibility: visible;
  max-height: 100%;
  opacity: 1;
  padding-top: 5px;
}

.terms-description p {
  font-family: 'book', sans-serif;
 color: #fff;
 font-size: 13px;
}

.bold {
  font-family: 'bold', sans-serif;
}

.leyendas {
font-family: 'book', sans-serif;
 color: #fff;
 font-size: 13px;
}
.card-body.open .fa-chevron-up {
  transform: rotate(180deg);
}
.fa-chevron-up {
  background-color: #ff671d;
  transition: all 0.3s ease;
  border-radius: 3rem;
  padding: 10px;
  width: 36px;
  height: 36px;
  display: grid;
  place-content: center;
  font-size: 20px;
  color: white;
  cursor: pointer;
}
@media (max-width: 768px) {
  .products .product-item {
      flex: 1 1 calc(50% - 1rem);
  }
  .card {
    border-radius: 24px;
    padding: 1rem !important;
  }
  .card img {
    border-radius: 16px;
  }
  .fa-chevron-up {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }
  .card {
    .card-text {
      font-size: 1.2rem;
    }
  }
  footer {
    & .banregio_coparmex {
      img {
        height: auto;
        width: 100%;
        margin-bottom: 1rem;
      }
    }
  }
}


@media screen and (min-width:765px) {
  .scroll-y {
    position: absolute;
    right: 0.5rem;
    padding-right: 0;
    padding-bottom: 1.5rem;
    height: 100%;
  }
}


@media (min-width: 992px) {
  .container, .container-lg, .container-md, .container-sm {
      max-width: 1200px;
  }
}