@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400..700;1,400..700&display=swap");
.form-group {
  margin-bottom: 1rem !important;
}
.form-group label {
  display: grid;
  grid-template-columns: fit-content(100%) 1fr;
  margin-bottom: 0.5rem;
}
.form-group label.form-label--required:after {
  content: "*";
  color: #dc3545;
  padding-left: 5px;
  grid-column: 2;
  grid-row: 1;
}
.form-group label .invalid-feedback {
  grid-column: 1/span 2;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #dc3545;
}
.form-group label .invalid-feedback > .d-block {
  display: flex !important;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
}
.form-group label .invalid-feedback .badge {
  color: #fff;
  background-color: #dc3545;
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control {
  border: 1px solid #ced4da;
  padding: 0.5rem 1.2rem;
  border-radius: 0.4rem;
  width: 100%;
  box-sizing: border-box;
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
}
.form-check {
  display: flex;
  gap: 1rem;
  justify-content: start;
  align-items: start;
}
.form-check:first-child {
  margin-bottom: 1rem;
}
.form-check input {
  margin: 0.6rem 0 0;
  width: 1.4rem;
  height: 1.4rem;
  border-color: #ced4da;
}
.form-check label {
  margin: 0;
  cursor: pointer;
}

select.form-control {
  -webkit-appearance: auto;
  appearance: auto;
}

html {
  font-size: 62.5%;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Cabin", sans-serif;
  font-weight: 700;
}

img {
  max-width: 100%;
  height: auto;
}

div, p, h1, h2, h3, h4, h5, h6, section, aside, ul, ol, li, input, textarea {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.btn {
  font-family: "Cabin", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.3rem;
  text-transform: uppercase;
  padding: 0.5rem 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.btn-none {
  padding-left: 0;
  padding-right: 0;
  border: none;
  outline: none;
}
.btn-none:focus, .btn-none.show {
  border: none;
  outline: none;
}
.btn-outline-warning {
  color: #2e2d2c;
}

.page__title {
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}
.page__title--sub {
  margin-bottom: 1.1rem;
}
.page__title--h1 {
  font-size: 3rem;
}
.page__title--h2 {
  font-size: 2.5rem;
}
.page__title--h3 {
  font-size: 2rem;
}
.page__title--h4 {
  font-size: 1.8rem;
}
.page__title--h5 {
  font-size: 1.6rem;
}

.table th {
  padding: 1rem;
  weight: 500;
}
.table td {
  padding: 1.3rem 1rem;
}
.table a {
  color: inherit;
}
.table thead th {
  font-family: "Cabin", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  text-transform: uppercase;
}
.table tfoot th {
  font-family: "Cabin", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  text-transform: uppercase;
}
.table tfoot tr:last-child td, .table tfoot tr:last-child th {
  border: none;
}
.table .actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.table .actions i {
  font-size: 1.6rem;
}
.table .actions img {
  height: 18px;
  width: auto;
}
.table--catalog-shopping {
  margin-bottom: 1.5rem;
}
.table--catalog-shopping td, .table--catalog-shopping th {
  border: none;
  padding: 1rem;
}
.table--catalog-shopping tbody tr td {
  vertical-align: middle;
}
.table--catalog-shopping tbody tr:nth-child(2n+1) td {
  background-color: #ffefc3;
}
.table--no-bg th, .table--no-bg td {
  background-color: transparent;
}

.card {
  border-color: #ffcb00;
  padding: 1.5rem;
  margin-bottom: 3rem;
}
.card-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
}
.card-title {
  font-family: "Cabin", sans-serif;
  font-size: 3rem;
}
.card .form-control {
  border: 1px solid #ffcb00;
  width: 100%;
}
.card .text-small {
  font-size: 1.2rem !important;
}
.card-block--with-icon {
  margin-bottom: 3rem;
  display: grid;
  grid-template-columns: 7rem 1fr;
  grid-column-gap: 2rem;
}
.card-block--with-icon:last-child {
  margin-bottom: 0;
}
.card-block--with-icon img {
  width: 7rem;
  height: auto;
}
.card-bonus .text-head {
  display: grid;
  grid-template-columns: 40% 1fr;
  align-items: center;
}
.card-bonus .text-head-thumb {
  text-align: center;
}
.card-bonus .text-head-thumb img {
  width: 70%;
  height: auto;
}

body {
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  line-height: 2.5rem;
  margin: 0;
  padding: 0;
  color: #2e2d2c;
}

a {
  color: inherit;
  text-decoration: none;
}

.main {
  width: 100%;
  max-width: 118rem;
  padding-left: 2rem;
  padding-right: 2rem;
  margin: auto;
}
.main--min-height {
  min-height: 57rem;
}

.page-custom-wrap {
  width: 100% !important;
  max-width: 1600px !important;
}

.cart-thumbnail {
  height: 70px;
  width: auto;
}

.ecom .info-page .page__title--h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.ecom .product-page {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}
.ecom .product-page .title {
  margin-bottom: 1rem;
}
.ecom .product-page .info {
  margin-bottom: 1rem;
  text-transform: uppercase;
  text-decoration: none;
  font-family: "Cabin", sans-serif;
  font-weight: 700;
}
.ecom .product-page .info--price {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ecom .product-page .info--price .price-text--original {
  text-decoration: line-through;
}
.ecom .product-page .info--price .price-text--discount {
  font-size: 30px;
}
.ecom .product-page hr {
  margin: 1.5rem 0;
  border-color: rgba(0, 0, 0, 0.4);
}
.ecom .product-page .form {
  width: 60%;
}
.ecom .product-page .form label {
  font-family: "Cabin", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}
.ecom .product-page .form-group--with-submit {
  display: flex;
  gap: 1rem;
}
.ecom .product-page .form-group--with-submit > * {
  flex-shrink: 0;
}
.ecom .product-page .form-group--with-submit input {
  flex: 1 1 auto;
}
.ecom-modal-cart .table-responsive {
  margin-bottom: 3rem;
}
.ecom-modal-cart .modal-body {
  padding: 3rem;
}
.ecom-modal-cart .modal-body img {
  border-radius: 0.4rem;
}
.ecom-modal-cart .modal-body .title {
  font-family: "Cabin", sans-serif;
  font-weight: 400;
}
.ecom-modal-cart .modal-body tbody td {
  vertical-align: middle;
  padding: 1rem;
}
.ecom-modal-cart .modal-body tfoot td, .ecom-modal-cart .modal-body tfoot th {
  border-bottom: none;
  padding-bottom: 0;
}
.ecom-modal-cart .cart-desc {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ecom-modal-cart .cart-desc * {
  text-transform: uppercase;
  text-align: center;
  font-family: "Cabin", sans-serif;
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 2.4rem;
}
.ecom-modal-cart .cart-desc--empty {
  padding: 5rem 0;
}
.ecom-modal-cart .cart-desc--empty * {
  text-transform: none;
  font-weight: 400;
}
.ecom .card .form-control {
  border-color: #ced4da;
}
.ecom .btn-more-menu .btn {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 0;
  margin: 0;
}
.ecom .btn-more-menu .btn span {
  display: block;
  width: 3.5rem;
  height: 2px;
  background-color: #000;
}
.ecom .btn-more-menu .dropdown-menu {
  background-color: #ffcb00;
  border-color: #ffcb00;
}
.ecom .btn-more-menu .dropdown-menu a {
  color: #fff;
  font-size: 1.8rem;
  padding: 0.5rem 1.5rem;
}
.ecom .btn-more-menu .dropdown-menu a:hover {
  background-color: inherit;
}
.ecom .btn-cart {
  position: relative;
  border: none;
  background-color: transparent;
}
.ecom .btn-cart .ecom-quantity-header {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  right: -0.7rem;
  top: -0.7rem;
  background-color: #ffcb00;
  color: #000;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  font-family: "Cabin", sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.3rem;
}
.ecom__faq-block {
  margin-bottom: 3rem;
}
.ecom__faq-item {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 1rem;
  margin-bottom: 1.5rem;
}
.ecom__faq-item-question {
  color: #989eaa;
  display: block;
  padding: 1.5rem;
  background-color: rgba(0, 0, 0, 0.03);
  font-family: "Cabin", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
}
.ecom__faq-item-answer {
  display: block;
  padding: 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.ecom__faq-item:has(.collapse.show) .ecom__faq-item-question {
  color: #2e2d2c;
}
.ecom .pagination .page-link {
  font-size: 1.5rem;
  padding: 0.5rem 1.5rem;
}

.header--menu-left .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header--menu-left .header__right {
  position: relative;
  right: unset;
  top: unset;
  padding-bottom: 0;
}

body.ecom_product .product-page {
  background-color: #fff;
}
body.ecom_product .product-page > div:last-child {
  padding: 20px;
  padding-left: 0;
}

.coupon-error {
  color: red;
}

.header-category-menu ul {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header-category-menu ul ul {
  display: none;
  position: absolute;
  left: 0;
  top: 35px;
  width: 200px;
  background-color: #ff0000;
  border-radius: 4px;
}
.header-category-menu ul ul a {
  color: #fff;
}
.header-category-menu ul > li {
  position: relative;
}
.header-category-menu ul > li > a {
  display: block;
  padding: 5px 10px;
  font-weight: 500;
}
.header-category-menu ul > li:hover ul {
  display: block;
}
.header-category-menu-mobile {
  display: none;
}

@media (max-width: 991.98px) {
  .ecom .product-page .form {
    width: 70%;
  }
}
@media (max-width: 767.98px) {
  .table-mobile--hide {
    display: none !important;
  }
  .table-mobile tr {
    display: flex;
    flex-direction: column;
  }
  .table-mobile tr td, .table-mobile tr th {
    display: grid;
    grid-template-columns: 35% 1fr;
    grid-column-gap: 1rem;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left !important;
  }
  .table-mobile tr td:before, .table-mobile tr th:before {
    content: attr(data-title) ": ";
    word-wrap: break-word;
  }
  .table-mobile tr td:last-child, .table-mobile tr th:last-child {
    border-bottom: none;
  }
  .table-mobile tr td.table-mobile--action, .table-mobile tr th.table-mobile--action {
    grid-template-columns: 1fr;
  }
  .table-mobile tr td.table-mobile--action:before, .table-mobile tr th.table-mobile--action:before {
    content: none;
  }
  .table-mobile tr:nth-child(2n-1) td {
    background-color: #eee;
  }
  .table-mobile tfoot tr td, .table-mobile tfoot tr th {
    grid-template-columns: 1fr fit-content(100%);
  }
  .table--cart .mobile-hide {
    display: none;
  }
  .table--cart tbody tr {
    display: grid;
    width: 100%;
    align-items: center;
    grid-template-columns: 50px 1fr 1fr;
    border-bottom: 1px solid rgb(222, 226, 230);
    padding-bottom: 10px;
  }
  .table--cart tbody tr td:first-child {
    grid-row: 2/span 1;
  }
  .table--cart tbody tr .td-product-name {
    grid-column: 1/span 3;
    padding-bottom: 0;
  }
  .table--cart tbody tr .td-price {
    text-align: right;
  }
  .table--cart tbody tr .td-with-header {
    display: flex;
    flex-direction: column;
  }
  .table--cart tbody tr .td-with-header:before {
    content: attr(data-header) "";
    display: inline-block;
    margin-bottom: 3px;
    text-transform: uppercase;
  }
  .table--cart tbody tr td {
    border: none;
  }
  .table--cart tfoot .td-with-header {
    display: grid;
    grid-template-columns: 1fr 100px;
  }
  .table--cart tfoot .td-with-header:before {
    content: attr(data-header) ":";
    display: inline-block;
    margin-bottom: 3px;
    text-transform: uppercase;
  }
  .table--checkout .mobile-hide {
    display: none;
  }
  .table--checkout tbody tr {
    display: grid;
    width: 100%;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid rgb(222, 226, 230);
    padding-bottom: 10px;
  }
  .table--checkout tbody tr .td-product-name {
    grid-column: 1/span 3;
    padding-bottom: 0;
  }
  .table--checkout tbody tr .td-price {
    text-align: right;
    justify-content: right;
  }
  .table--checkout tbody tr .td-category {
    grid-column: 1/span 3;
    grid-row: 3/span 1;
    padding-bottom: 0;
    padding-top: 0;
  }
  .table--checkout tbody tr .td-with-header {
    display: flex;
    gap: 5px;
  }
  .table--checkout tbody tr .td-with-header:before {
    content: attr(data-header) ":";
    display: inline-block;
    margin-bottom: 3px;
    text-transform: uppercase;
  }
  .table--checkout tbody tr td {
    border: none;
  }
  .table--checkout tfoot tr {
    display: grid;
    grid-template-columns: 1fr;
  }
  .table--checkout tfoot tr .td-foot-sum {
    grid-row: 1/span 1;
  }
  .table--checkout tfoot tr .td-with-header {
    display: flex;
    justify-content: right;
    gap: 15px;
  }
  .table--checkout tfoot tr .td-with-header:before {
    content: attr(data-header) "";
    display: inline-block;
    margin-bottom: 3px;
    text-transform: uppercase;
  }
  .table--checkout tfoot tr .td-foot-comment {
    overflow: hidden;
  }
  .table--checkout tfoot tr th {
    width: 100% !important;
    border: none !important;
  }
  .ecom .product-page {
    grid-template-columns: 1fr;
  }
  .ecom .product-page .form {
    width: 50%;
  }
  .ecom .category-page__products {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .lightbox-carousel .ratio-16x9 {
    --bs-aspect-ratio: 100%;
  }
}
@media (max-width: 575.98px) {
  .ecom .category-page__products {
    grid-template-columns: 1fr;
  }
  .ecom .product-page {
    grid-template-columns: 1fr;
  }
  .ecom .product-page .form {
    width: 100%;
  }
  body.ecom_product .product-page > div:last-child {
    padding: 20px;
  }
  .header-category-menu {
    display: none;
  }
  .header-category-menu-mobile {
    display: block;
  }
  .header-category-menu-mobile ul {
    padding-left: 20px;
    list-style-position: inside;
    list-style-type: disclosure-closed;
  }
  .header-category-menu-mobile ul li::marker {
    color: #fff;
  }
  .header-category-menu-mobile ul li a {
    padding-left: 5px !important;
  }
}