/*
Theme Name:   Versatile-v2 Child
Template:     versatile-shop-master
Version: 	  0.1.1
*/

@media (max-width: 575.98px) {
  .product-section__grid--mobile-1 > .product-section__item {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .product-section__grid--mobile-2 > .product-section__item {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (max-width: 767.98px) {
  .product-section--showcase.bg-light .pd-block {
    --cl-text: var(--cl-light-text);
  }

  .product-section--showcase.bg-secondary .pd-block {
    --cl-text: var(--cl-secondary-text);
  }

  .product-section--showcase.bg-tertiary .pd-block {
    --cl-text: var(--cl-tertiary-text);
  }

  .product-section--showcase .section__heading {
    gap: 1.2rem;
  }

  .product-section--showcase .section__heading .subtitle {
    margin-bottom: 0.8rem;
  }

  .product-section--showcase .product-section__grid {
    --space-grid: 0.75rem;
    row-gap: 2.4rem;
  }

  .product-section--showcase .pd-block {
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
  }

  .product-section--showcase .pd-block__image {
    margin-bottom: 1.4rem;
    padding-bottom: 78%;
    border-radius: var(--br-small);
  }

  .product-section--showcase .pd-block__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "heading heading"
      "subtitle subtitle"
      "price price"
      "stock stock"
      "delivery cta";
    column-gap: 1rem;
    align-items: end;
  }

  .product-section--showcase .pd-block__heading {
    grid-area: heading;
    margin-bottom: 0;
  }

  .product-section--showcase .pd-block__title.h5 {
    margin-bottom: 0;
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    line-height: 1.15;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }

  .product-section--showcase .pd-block__content > .text-small.fw-5.opacity-80 {
    grid-area: subtitle;
    margin-bottom: 0;
    opacity: 1;
    font-size: 1.2rem;
  }

  .product-section--showcase .pd-block__content > .price {
    grid-area: price;
    margin-bottom: 0;
    margin-top: 1rem;
  }

  .product-section--showcase .pd-block__content > .stock {
    grid-area: stock;
    margin-bottom: 0;
    color: var(--cl-green) !important;
    font-size: 1.2rem;
  }

  .product-section--showcase .pd-block__content > .stock * {
    color: inherit !important;
  }

  .product-section--showcase .pd-block__content > .text-small.m-b--none {
    grid-area: delivery;
    margin-bottom: 0;
    max-width: 20rem;
    font-size: 1.2rem;
  }

  .product-section--showcase .pd-block .price-gap {
    gap: 0.4rem;
    flex-wrap: wrap;
  }

  .product-section--showcase .pd-block .btn {
    --cl-text: var(--cl-primary-text);
    grid-area: cta;
    align-self: end;
    justify-self: end;
    width: 4.8rem;
    min-width: 3.8rem;
    height: 3.8rem;
    aspect-ratio: 1;
    margin-top: 0;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 0;
    border-radius: 0.8rem !important;
    background-color: var(--cl-primary) !important;
    color: var(--cl-primary-text) !important;
  }

  .product-section--showcase .pd-block .btn i {
    left: 50%;
    right: auto;
    top: 50%;
    font-size: 1rem;
    opacity: 1;
    transform: translate3d(-50%, -50%, 0);
    display: block !important;
    color: inherit !important;
  }

  .product-section--showcase .pd-block .btn i:last-child {
    display: none;
  }

  .pd-block__label.sale {
     margin-top: -1.6rem;
     font-size: 1.2rem;
     left: 0.5rem;
  }
}

@media (max-width: 767.98px) {
  /* Give text-focused pages a bit more breathing room on mobile. */
  body.page section.text > .container,
  body.page section > .container.container--small,
  body.single-post section > .container.container--small,
  body.single-vacancies section > .container.container--small {
    padding-right: calc(var(--space-container) + 1rem);
    padding-left: calc(var(--space-container) + 1rem);
  }
}

.topbar-languages {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 13.2rem;
  row-gap: 0.8rem;
  flex-wrap: wrap;
}

.topbar-languages li {
  margin: 0;
}

.nav__top .topbar-languages li + li {
  margin-left: 1.2rem;
}

.topbar-language {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.95rem;
  border-radius: 999px;
  line-height: 1;
  opacity: 0.85;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.topbar-language:hover {
  opacity: 1;
  transform: translateY(-1px);
}

.topbar-language.is-current {
  opacity: 1;
  font-weight: 700;
}

.topbar-language__flag {
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-size: 1.9rem;
  line-height: 1;
}

.topbar-language__label {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (max-width: 575.98px) {
  .topbar-languages {
    column-gap: 0.8rem;
    row-gap: 0.6rem;
  }

  .nav__top .topbar-languages li + li {
    margin-left: 0.8rem;
  }

  .topbar-language {
    padding: 0.4rem 0.75rem;
  }
}

.reviews-block {
  overflow: visible;
}

.reviews-block .container {
  overflow: visible;
}

.reviews-block__heading {
  align-items: flex-start;
  margin-bottom: 2rem;
}

.reviews-block__copy .subtitle {
  margin-bottom: 1.2rem;
  font-size: clamp(1.6rem, 1.5vw, 2.2rem);
  line-height: 1.2;
}

.reviews-block__copy h2 {
  font-size: clamp(4rem, 5.8vw, 5.8rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
}

.reviews-block__slider-shell {
  position: relative;
}

.reviews-block__slider {
  width: 100%;
}

.reviews-block__viewport {
  overflow: hidden;
}

.reviews-block__track {
  display: flex;
  align-items: stretch;
  gap: 2.4rem;
  transition: transform 0.45s ease;
  will-change: transform;
}

.reviews-block__track--static {
  flex-wrap: wrap;
}

.reviews-block__track--static .reviews-block__slide {
  flex: 1 1 calc(33.333% - 1.6rem);
  min-width: 0;
}

.reviews-block__slide {
  min-width: calc((100% - 4.8rem) / 3);
  flex: 0 0 calc((100% - 4.8rem) / 3);
  display: flex;
}

.reviews-block .review-card {
  width: 100%;
  min-height: clamp(22rem, 22vw, 33rem);
  padding: clamp(2.4rem, 2.4vw, 3.6rem);
  justify-content: flex-start;
  border-radius: 1rem;
  box-shadow: 0 0rem 0rem rgba(17, 24, 39, 0.08);
  background: rgb(243 243 243);
}

.reviews-block .review-card__author {
  margin-top: auto;
  padding-top: 2.4rem;
}

.reviews-block .rating {
  margin: 0;
  gap: 1rem;
}

.reviews-block .rating svg {
  width: 10.8rem;
  height: auto;
  flex: 0 0 auto;
}

.reviews-block .rating svg rect {
  width: var(--rating);
}

.reviews-block .review-card__rating {
  font-size: clamp(1.5rem, 1.4vw, 1.9rem);
  line-height: 1;
}

.reviews-block .review-card__text {
  margin-top: 2.4rem;
  font-size: clamp(1.5rem, 1.2vw, 1.8rem);
  line-height: 1.6;
}

.reviews-block__controls {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  margin-bottom: clamp(2.4rem, 2vw, 4.8rem);
}

.reviews-block__arrow {
  width: 5rem;
  height: 5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2rem 5rem rgba(17, 24, 39, 0.12);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.reviews-block__arrow i {
  color: #111827;
}

.reviews-block__arrow:disabled {
  opacity: 0.45;
  cursor: default;
  transform: none;
}

@media (hover: hover) {
  .reviews-block__arrow:not(:disabled):hover {
    transform: translateY(-0.2rem);
    box-shadow: 0 2.4rem 5.6rem rgba(17, 24, 39, 0.14);
  }
}

@media (max-width: 767.98px) {
  .reviews-block__heading {
    margin-bottom: 4rem;
  }

  .reviews-block__copy h2 {
    font-size: clamp(3.2rem, 11vw, 4.4rem);
  }

  .reviews-block__track {
    gap: 1.6rem;
  }

  .reviews-block__track--static .reviews-block__slide {
    flex-basis: 100%;
  }

  .reviews-block__slide {
    min-width: 84%;
    flex-basis: 84%;
  }

  .reviews-block .review-card {
    min-height: auto;
    padding: 2.4rem 2rem 2.8rem;
    border-radius: 2.8rem;
  }

  .reviews-block .review-card__author {
    padding-top: 2rem;
    font-size: 1.9rem;
  }

  .reviews-block .rating {
    gap: 1rem;
  }

  .reviews-block .rating svg {
    width: 10rem;
  }

  .reviews-block .review-card__rating {
    font-size: 1.7rem;
  }

  .reviews-block .review-card__text {
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .reviews-block__controls {
    gap: 1.2rem;
    margin-bottom: 2.4rem;
  }

  .reviews-block__arrow {
    width: 5.8rem;
    height: 5.8rem;
  }

  .reviews-block__arrow i {
    font-size: 1.9rem;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .reviews-block__slide {
    min-width: calc((100% - 2.4rem) / 2);
    flex-basis: calc((100% - 2.4rem) / 2);
  }

  .reviews-block__track--static .reviews-block__slide {
    flex-basis: calc((100% - 2.4rem) / 2);
  }
}

@media (pointer:none), (pointer:coarse), (hover:none) {
  .sticky-bar {
    bottom: calc(1.25em + 7rem);
  }
}
